Arquitetura do Computador O interior da máquina. O computador tal qual conhecemos derivou da busca da automatização de cálculos, sendo esta a base da sua arquitetura interna. Desde Babbage tem-se a pretensão de construir uma máquina automática e programável de cálculos - a máquina analítica . A partir desta concepção Von Neumann concebeu a arquitetura básica do computador que hoje conhecemos. Nos anos 1830, Babbage concebeu uma máquina que fizesse qualquer tipo de cálculo. A máquina analítica tinha a estrutura mostrada ao lado [HAY 78]. Haveria uma máquina para executar as operações - o engenho - e um local para armazenar os dados calculados - o armazém . Para realizar as equações, seriam entradas as operações no engenho e as variáveis no armazém, de onde o engenho pegaria durante a realização dos cálculos. As entradas e a saída dos resultados seriam na forma de cartões, do mesmo tipo utilizado em teares Jacquard. Babbage nunca terminaria esta máquina, porém sua proposta deu origem à arquitetura atual dos computadores. A arquitetura atual foi proposta nos anos 40 pelo matemático John Von Neumann, baseada na concepção de Babbage. De uma forma geral, Von Neumann conseguiu abstrair os principais componentes da máquina analítica, que seriam essenciais à construção do computador. O esquema básico desta arquitetura era o seguinte [KHA 84]: Há um sistema de relação com o mundo exterior e um processamento interno, com acesso à memória. Para relação exterior, há dispositivos de entrada e de saída, que fornecem dados ao processador. Este, escrevendo ou consultando a memória, passa os dados resultantes do processamento dos dispositivos de saída. Até a década de 80 a arquitetura geral dos computadores seguia este padrão. Como todo o dado de entrada deveria passar pelo processador, mesmo que não processado, isso causava um ponto de estagnação, chamado de gargalo de Von Neumann . A alternativa para este gargalo no processamento foi a criação de vias de acesso direto à memória, desimpedindo o processador de realizar toda a transferência dos dados de entrada e de saída à memória. Atualmente a arquitetura de computador como a definida por Von Neumann é hoje o padrão seguido na concepção de microprocessadores. Um esquema básico de arquitetura de microprocessador é mostrado na figura da próxima página. Este esquema funciona da seguinte forma: o programa contido na memória de programa aciona uma verificação de todo o conjunto. Nos computadores pessoais em geral, esta memória é chamada de BIOS (Basic Input Output System). O programa, que é transmitido através do barramento de dados é armazenado num dos registradores de dados , do qual passa as operações a serem executadas pela unidade lógico-aritmética (ULA), sob comando do módulo de tempo e controle . Provavelmente a primeira operação será um cálculo de endereço, que levará à colocação de um endereço num dos registradores de endereço . Então, através do barramento de endereços , o endereço solicitado é transmitido à memória de dados ou a um dispositivo de entrada e saída para verificação das condições de funcionamento. A memória ou os demais dispositivos retornam os resultados através do barramento de dados . Após feita a verificação dos componentes, parte para a leitura do sistema operacional, o qual deve estar numa memória secundária controlada por um dispositivo de entrada e saída. Então, um endereço enviado a um dispositivo de entrada e saída indica que este deve ler dados e enviá-los para a memória de dados. Neste caso, os dados são o programa do sistema operacional que, após o início de sua execução, irá continuamente gerenciar os componentes do computador. O sistema operacional, uma vez na memória de dados , terá seu código lido pelo programa residente na memória de programa , e será dado início à sua execução (sequencia registrador de dados-tempo e controle-ULA-registrador de endereços ). A partir daí segue sempre da mesma forma, lendo-se da memória de dados , executando-se o programa, sempre cadenciado pelo módulo de tempo e controle e calculado na ULA, e acessando-se novamente a memória ou algum dispositivo de entrada e saída. Descrevendo-se mais detalhadamente os módulos da arquitetura, tem-se aqueles que compõem o microprocessador (µP) [KHA 84] [TAU 84]: Tempo e Controle : contém o relógio do sistema, que dá a cadência das operações efetuadas; e gerencia a contagem do programa, que define qual instrução será executada a que tempo. Unidade Lógico-aritmética : realiza as operações matemáticas de soma e subtração binárias. É o centro do computador, uma vez que cálculos essenciais para endereçamento de memória e controle de periféricos são aqui realizados, além de cálculos complexos, utilizados nos programas do usuário, que são decompostos e efetuados. Registradores de Dados : é uma memória rápida, para armazenamento temporário dos dados que irão ser processados, ou resultados do processamento. Registradores de Endereços : como os de dados, armazenam temporariamente os endereços a serem acionados para efetivar uma operação. Estes endereços podem ser áreas de memória ou instruções aos dispositivos de entrada e saída. Como auxiliares na execução das tarefas do microprocessador, há ainda dois componentes importantes, os quais não poderiam de faltar numa arquitetura Von Neumann , a entrada/saída e a memória: Memória de Programa : armazena permanentemente o programa para inicialização dos módulos do sistema computacional. Memória de Dados : armazena temporariamente programas e dados do usuário, que serão ou foram processados. Dispositivos de Entrada e Saída : fazem a interface entre o processador e o usuário. São controladores da parte visível do computador: teclado, mouse, vídeo, drives, etc. Referências : [KHA 84] KHAMBATA, A. J. Microprocessadores/microcomputadores. Rio de Janeiro: Campus, 1984. [HAY 78] HAYES, J. P. Computer Architecture and Organization. New York: McGraw-Hill, 1978. [TAU 84] TAUB, H. Circuitos Digitais e Microprocessadores. São Paulo: McGraw-Hill, 1984.