You are on page 1of 8

ESAB - ESCOLA SUPERIOR ABERTA DO BRASIL

ANDR FERNANDO FAGGION

ARQUITETURA DE COMPUTADORES Resumo

Florianpolis, SC Janeiro de 2012

ESAB - ESCOLA SUPERIOR ABERTA DO BRASIL

ANDR FERNANDO FAGGION

ARQUITETURA DE COMPUTADORES Resumo Resumo para complementao de nota referente a disciplina de Arquitetura de Computadores do curso de especializao Lato Sensu em Engenharia de Sistemas.

Florianpolis, SC Janeiro de 2012 2

INTRODUO De forma muito rpida e irreversvel os computadores se tornaram parte indispensvel da vida dos seres humanos. Todas as atividades humanas hoje so afetadas de alguma forma pela utilizao de computadores, alterando de maneira significativa o trabalho e o comportamento das pessoas (principalmente com o advento da internet e sua influncia no relacionamento interpessoal). Diante disso, a evoluo dos computadores tornou-se essencial para atender a sempre crescente necessidade humana. E nesta necessidade crescente de evoluo computacional que surge a rea de Arquitetura de Computadores responsvel pelo estudo de todos os aspectos que impactam na evoluo dos computadores (desempenho, qualidade, aplicao dada aos computadores) bem como para definir os caminhos que os programadores de softwares devero seguir para escreverem seus sistemas de forma que sejam interpretados e executados pelos computadores. Este trabalho pretende apresentar de forma resumida e simplista os principais conceitos e componentes de um computador mostrando como os computadores so organizados baseados nos princpios arquiteturais que deram origem a arquitetura computacional atual. BREVE HISTRICO A histria dos computadores comeou a se escrita em 1623 com a criao da primeira calculadora mecnica. Nos meados do sculo XIX Charles Babbage concebeu o que seria o primeiro computador, um equipamento dotado de um dispositivo que efetuava somas com at 50 casas decimais e de outro dispositivo capaz de ler cartes perfurados com os nmeros e instrues de como proceder com estes nmeros. Alm disso, tambm imaginou um dispositivo para armazenar estes nmeros (que seria a memria do computador) e um dispositivo de sada para impresso dos resultados. Tudo isso com ajuda da matemtica Ada Augusta Byron, considerada ento a precursora do software. Posteriormente, Herman Hollerith desenvolveu um sistema de leitura de cartes perfurados que aumentava de dois para duzentos o nmero de dados processados por minuto. Os cartes de Hollerith foram utilizados at a dcada de 70 como sistema de entrada e sada dos dados. Da empresa fundada por Hollerith nasceria, mais tarde, a IBM. A partir destas ideias, J. Presper Eckert, John V. Mauchly e Herman H. Goldstine criaram o primeiro computador programvel universal, chamado de ENIAC (Eletronic Numerical Integrator Computer). Com capacidade de resolver cinco mil operaes por segundo, foi utilizado inicialmente pelo exrcito americano para suprir as necessidades de clculos mais precisos para trajetrias e alcance das novas armas desenvolvidas na segunda guerra mundial. O ENIAC possua aproximadamente 17.480 vlvulas de rdio, pesava 4 toneladas, media 30 metros de comprimento por 3 de largura e ocupava uma rea de 180m2. Em 1945 John Von Neumann, Doutor em Matemtica, pela Universidade de Budapeste, na Hungria, sugeriu o que se tornaria a base filosfica para projetos de computadores, em que, utilizando-se do sistema binrio, as instrues e dados fossem compiladas e armazenadas internamente no computador. 3

ESTRUTURA BSICA DE UM COMPUTADOR A mquina proposta pro Von Neumann, e base de todos os computadores atuais, composta pelos seguintes componentes: Memria Principal, Unidade Central de Processamento (composta pela Unidade Lgica Aritmtica e pela Unidade de Controle) e dispositivos de entrada e sada. Memria Principal A memria de um computador serve para guardar programas e dados sob forma de uma representao binria (visto mais adiante). Suas principais caractersticas so: custo, tempo de acesso (tempo decorrido entre a entrada do dado e a sada da informao) e persistncia de armazenamento (tempo de permanncia da informao e volatilidade). Neste contexto as memrias podem ser classificadas como: y Memria principal: onde so armazenados os programas e dados do computador. So consideradas memrias volteis, pois a informao permanece apenas enquanto for necessria para a unidade de controle e processamento. controlada pelo sistema operacional. y Memria secundria: memrias que permitem armazenar uma maior quantidade de dados e instrues por mais tempo, pois no so volteis. O exemplo mais clssico deste tipo de memria o disco rgido. y Memria cache: memria de alta velocidade que serve para acelerar o processo de instrues dadas a memria principal pela UCP. Normalmente integrada aos processadores permite um incremento do desempenho de um programa de computador, visto que seu funcionamento baseia-se atravs da localidade temporal (probabilidade de um mesmo item ser referenciado novamente em um curso espao de tempo) e da localidade espacial (probabilidade de itens com endereos prximos serem referenciados em um curto espao de tempo). Tambm na memria cache so guardadas as ltimas posies de memria acessadas. Memria do tipo voltil. y Registradores: memria de alta velocidade localizada no interior da UCP. Permite o armazenamento de valores intermedirios ou informaes de comando utilizadas pelos programas. Os registradores podem ser visveis ao usurio (que armazenam as informaes que esto sendo processadas em um determinado instante e podem ser referenciados pela linguagem de mquina que a CPU executa) e registradores de controle e estado (empregados para controlar a operao da CPU e so usados para a transferncia de dados entre a CPU e a memria). Unidade Central de Processamento A Unidade Central de Processamento (UCP ou CPU) o componente responsvel pelo controle das operaes e execuo das instrues enviadas atravs dos dispositivos de entrada e sada. composta pelas: y Unidade lgica aritmtica: que, como o prprio nome diz, a parte da UCP responsvel pela execuo das operaes lgicas (e, ou, negao, entre outras) e aritmticas (soma, subtrao, multiplicao e diviso) do computador. 4

Unidade de controle: que gerencia todos os eventos associados operao do computador. Gera todos os sinais que controlam as operaes no exterior da UCP e as instrues para seu correto funcionamento.

Dispositivos de entrada e sada So dispositivos perifricos responsveis pela interao entre o usurio e o computador (teclado, mouse, monitor, impressora, etc.). atravs deles que os dados e instrues so disponibilizados para o computador e devolvidos depois de processados. A interface de entrada e sada realiza todos os controles necessrios para viabilizar o relacionamento entre os perifricos e o processador. Para tal so utilizados pelo menos um registrador de dados (que recebe os dados provenientes de um dispositivo de entrada ou para envio a um dispositivo de sada), um registrador de controle (que recebe os comandos para executar uma operao e enviar o resultado para um dispositivo de sada) e um registrador de estado (que veicula informaes gerais sobre uma operao de E/S, como a indicao de trmino da execuo ou da existncia de erros durante a operao). So utilizadas trs tcnicas principais para transferncia dos dados: y Polling: onde o processador controla toda a transferncia de dados entre a interface de E/S e a memria. Sua principal vantagem a simplicidade. No entanto o processador fica dedicado operao de entrada/sada, o que torna o processo ineficiente. y Interrupo: onde a interface de E/S fica responsvel pro notificar o processador quando um dado pode ser transferido. Requer suporte de hardware, pois a interface deve gerar um sinal de interrupo para notificar o processador quando uma operao foi concluda. y Acesso direto a memria (DMA): realizada atravs de um componente da interface de E/S chamado controlador de DMA. Este controlador de DMA que fica responsvel pela transferncia dos dados entre a memria e a interface de E/S. Com o controlador de DMA elimina-se o tempo de latncia de cada dado transferido, pois cada transferncia envolve apenas uma leitura de memria e uma escrita de interface de E/S. BARRAMENTOS So os caminhos pelos quais os dados trafegam dentro do computador. Usado para comunicaes, pode ser estabelecido entre dois ou mais elementos do computador. Tem como grande vantagem o fato de estabelecerem um padro de comunicao entre os dispositivos de E/S e o processador, permitindo que um sistema suporte diversos dispositivos de E/S diferentes. Os principais padres de barramento existentes so: y ISA Industry Standard Architecture: executa transferncias de dados de 8 e 16 bits. y EISA Extended Industry Standard Architecture: barramento de 32 bits que possibilita que mais de um processador compartilhe o barramento. y MCA MicroChannel Architecture: lanado pela IBM permite que as placas de expanso se identifiquem para o sistema evitando conflitos de hardware. 5

VESA Local Bus: Surgiu como uma opo para acomodar perifricos capazes de executar transferncias de dados de 32 bits. Foi uma alternativa boa e barata para melhoria da performance do sistema computacional como um todo. PCI - Peripheral Component Interconnect: permite transferncias de dados de 32 ou 64 bits, com o objetivo de maximizar a performance das placasme equipadas com os microprocessadores Pentium. AGP: Accelerated Graphic Port: Criado pela Intel para acelerar o trabalho das placas de vdeo, fazendo com que elas se comuniquem direto com a memria RAM atravs da Ponte barramento local barramento PCI. USB: Universal Serial Bus: fornece uma comunicao serial de 12 Mbps. Um nico ponto USB pode ser usado para conectar at 127 perifricos. Atende tambm as especificaes Plug & Play. Possui capacidade de fornecer energia para pequenos perifricos. Firewire (IEEE 1394): O firewire um barramento serial padro externamente rpido que suporta taxas de transferncias de dados de at 400 MBps. Ideal para dispositivos que necessitam altas taxas de transferncias em tempo real. Tambm atende as especificaes Plug & Play e possui capacidade de fornecer energia para pequenos perifricos.

PROGRAMAS DE COMPUTADOR Para realizar suas tarefas um computador precisa de instrues precisas sobre o que fazer. O conjunto destas instrues o que define um programa de computador. J o conjunto de ferramentas, regras de sintaxes, smbolos e cdigos que permitem escrever um programa de computador constitui uma linguagem de programao. A mais primitiva linguagem de computador a prpria linguagem de mquina, ou seja, a linguagem binria (formada por 0 e 1) que pode ser executada diretamente pelo hardware. Devido a complexidade em se escrever programas na forma binria, com o decorrer dos anos, as linguagens de programao foram evoluindo de forma a permitir mais simplicidade na escrita e no entendimento das instrues para o computador. Estas novas linguagens visam afastar o mximo possvel o programador do nvel da mquina. No entanto elevam o custo de desempenho do computador, uma vez que consomem mais ciclos de processamento e espao de memria. Representao de dados Independente da escolha da linguagem de programao a forma com os dados so entendidos pelo computador ocorre de forma eletrnica, ou seja, atravs de um valor de voltagem ou corrente. Desta forma, e como projetado por Von Neumann, os computadores so mquinas binrias, ou seja, toda informao convertida para um dgito binrio, conhecido por bit, que pode assumir os valores 0 e 1. Neste sentido surge tambm o conceito de byte (grupo ordenados de 8 bits). E, levando em considerao que se trata de um sistema binrio, ou seja, indicaes numricas na potncia de 2, temos tambm seus multiplicadores: Kbyte (1024 bytes), Mbyte (1.048.576 bytes), Gbyte (1.073.741.824 bytes), e assim por diante. 6

Alm de bits e bytes tambm temos o conceito de palavra que refere-se ao conjunto de 2 bytes (ou 16 bits). Uma palavra representa um dado ou uma instruo, que pode ser processada, armazenada ou transferida em uma nica operao. Representao da instruo Como j visto, a forma como as instrues, endereos e dados so entendveis pelo computador atravs da linguagem de mquina ( formada por cdigos binrios). Por esta razo os programas escritos em linguagem de alto nvel devem ser traduzidos para a linguagem de mquina antes de serem executados pelo computador. As operaes fundamentais de um computador so: matemticas, movimentao de dados, entrada/sada e controle. E para cada instruo deve haver um nico cdigo binrio que identifique o cdigo da operao (OPCODE) e zero, um ou mais operandos ( o campo da instruo cujo valor binrio sinaliza a localizao do dado que ser processado pela instruo durante a operao). Ciclos de instruo chamado de ciclo de instruo o processamento necessrio para a execuo de uma instruo, podendo ser resumido em dois passos bsicos: ciclo de busca e ciclo de execuo (busca instruo no endereo de memria principal, executa instruo, busca a prxima instruo, e assim por diante). Pipelining Pipelining uma forma de execuo de instrues anloga a linha de produo em srie de uma fbrica, ou seja, novas entradas so aceitas antes que ocorra a sada decorrente das entradas anteriores. Desta forma tambm permite-se que o processador possa sobrepor a execuo de diversas instrues de modo que mais instrues possam ser executadas no mesmo perodo de tempo. Como podem ocorrer overheads de transferncia de dados, o tempo de execuo de uma operao em pipelining ligeiramente maior que o tempo de execuo sem pipelining. Para controlar a transferncia de dados no modo de pipelining so utilizadas duas estratgicas bsicas: y Mtodo assncrono: atravs de sinais de handshaking, indica-se a disponibilidade de dados para o prximo estgio. y Mtodo sncrono: os estgios do pipeline so interconectados por registradores que armazenam os dados intermedirios durante a transferncia entre estgios. O mtodo assncrono permite maior velocidade de operao do pipeline. Entretanto, o mtodo sncrono mais adotado devido sua simplicidade.

CONCLUSO Como exposto na introduo deste trabalho, o objetivo foi passar de forma resumida aspectos gerais a respeito da matria de arquitetura de sistemas, sem esgotar o assunto ou cobrir toda sua integralidade. Desta forma pode-se ver que o assunto muito mais abrangente e complexo, valendo o estmulo a pesquisa aprofundada e constate sobre o tema. Principalmente 7

pelo fato das constantes e rpidas evolues pelo qual a tecnologia tem passado diariamente e que demandam a constante atualizao tecnolgica e o desenvolvimento de computadores cada vez mais evoludos afim de atender as demandas e necessidades da sociedade atual.

You might also like