Aula 2 — História da Computação
Apresentação
"Tudo é loucura ou sonho no começo. Nada do que o homem fez no mundo teve início de outra maneira — mas já tantos sonhos se realizaram que não temos o direito de duvidar de nenhum."
— Monteiro Lobato, Mundo da Lua, 1923
A necessidade de calcular é tão antiga quanto a civilização. Ossos marcados, tábuas de argila e papiros comprovam a prática da Matemática por diversos povos da antiguidade, e há registros de sistemas de contagem com pedras, entalhes em madeira, nós em cordas e pinturas em cavernas.
Esta aula percorre essa trajetória: os artefatos de cálculo anteriores ao computador, a passagem pelos computadores eletromecânicos e a evolução das máquinas eletrônicas, organizada em gerações. Ao final, tratamos dos supercomputadores e dos computadores projetados e construídos no Brasil.
A classificação por gerações enfatiza a tecnologia predominante em cada período. Ela não é rígida nem consensual — autores diferentes adotam recortes diferentes. Use as datas como referência aproximada, e a tecnologia como critério real de distinção.
Por que estudar isso em Organização de Computadores
Não se trata de decorar datas. As decisões estruturais que estudaremos no restante da disciplina — programa armazenado, separação entre CPU, memória e E/S, barramentos, hierarquia de memória, conjunto de instruções — foram inventadas em resposta a problemas concretos de projetos específicos. Conhecer o problema original torna a solução muito mais fácil de entender e de justificar.
Objetivos
Ao final desta aula você deve ser capaz de:
- Relacionar os principais artefatos de cálculo anteriores ao computador eletrônico e a contribuição de cada um.
- Explicar as contribuições de Boole e De Morgan e sua relação com os circuitos digitais.
- Distinguir as arquiteturas Harvard e von Neumann, identificando sua origem histórica (Mark I e relatório do EDVAC) e suas consequências estruturais.
- Caracterizar cada uma das seis gerações de computadores pela tecnologia de processamento, de memória principal e de armazenamento secundário.
- Descrever a evolução do processador, da memória e do armazenamento ao longo das gerações.
- Identificar os principais projetos de computadores desenvolvidos no Brasil e seu contexto (reserva de mercado, pesquisa acadêmica).
1. Primórdios da Computação
1.1 Do osso de Ishango ao ábaco
O Osso de Ishango é talvez o objeto matemático mais antigo conhecido. Datado de cerca de 20.000 a.C., encontrado no Congo, é um pequeno osso de 10 cm com três séries de entalhes agrupados e um cristal de quartzo em uma extremidade. Sua finalidade não é consensual — registro de ciclos lunares ou algum jogo aritmético —, mas sugere contagem.
O comércio motivou as primeiras "tábuas de contar", que deram origem ao ábaco. O registro escrito mais antigo é de Heródoto (480–425 a.C.), que menciona seu uso pelos egípcios; o exemplar mais antigo preservado é a tábua de Salamina, usada pelos babilônios por volta de 300 a.C. O ábaco como o conhecemos surgiu por volta do ano 1200 na China (suan pan), com variantes russa (stchoty, século XVII) e japonesa (soroban, por volta de 1600). Foi, durante séculos, o mais importante instrumento de cálculo da humanidade.
1.2 As calculadoras mecânicas
Pascalina (1642–1645). Blaise Pascal, aos 18 anos, construiu uma máquina capaz de somar e subtrair. Recebeu do rei da França o direito exclusivo de fabricá-la, mas nunca foi sucesso comercial: o custo de fabricação era alto demais para as técnicas da época. Cerca de 50 unidades foram construídas e oito sobrevivem.
O problema central de todas as calculadoras mecânicas era a propagação do "vai um": somar dígito a dígito da direita para a esquerda é simples, mas propagar automaticamente o transporte por engrenagens era mecanicamente difícil. Esse é o mesmo problema que reaparece, em versão eletrônica, no somador em cascata (ripple-carry) da ULA.
Anton Braun (1727). Mecânico e óptico da corte imperial em Viena, construiu para o imperador Carlos VI uma calculadora baseada nas rodas de pinos de Leibniz e Poleni. Ao contrário da máquina de madeira de Poleni, era menor, metálica e de acabamento fino: é considerada a primeira máquina de calcular mecânica de fácil operação.
Babbage (século XIX). Charles Babbage projetou a máquina analítica, capaz de executar as quatro operações, armazenar dados em uma memória e imprimir resultados. Suas semelhanças com o computador moderno são notáveis: leitura de dados de entrada, armazenamento, cálculo, saída e controle automático por instruções, incluindo desvios condicionais. A máquina nunca foi concluída em vida. Sua máquina diferencial, para tabular funções polinomiais, foi construída com sucesso em 1854 por George Scheutz; uma réplica foi finalizada em Londres em 2002, com 8.000 peças e 5 toneladas. Babbage é considerado por muitos o pai do computador.
1.3 Boole e De Morgan
George Boole (1815–1864), matemático inglês quase inteiramente autodidata, representou expressões lógicas em forma matemática nos trabalhos de 1847 e 1854. Na álgebra booleana, as expressões indicam valores lógicos — verdadeiro e falso, simbolizados por 1 e 0 — com três operações básicas:
- AND (conjunção):
x AND yvale 1 somente sex = y = 1. - OR (disjunção):
x OR yvale 0 somente sex = y = 0. - NOT (negação): inverte o valor.
A partir dessas primitivas, todos os elementos lógicos e aritméticos de um computador podem ser definidos, independentemente da complexidade.
Contemporâneo de Boole, Augustus De Morgan (1806–1871) formalizou as transformações que levam seu nome:
NOT (A AND B) = (NOT A) OR (NOT B)
NOT (A OR B) = (NOT A) AND (NOT B)
O renascimento dos estudos de lógica no século XIX deve-se quase inteiramente a esses dois autores — e é sobre esse alicerce que os circuitos digitais foram construídos, quase um século depois.
2. Computadores Eletromecânicos
2.1 O relé
Os primeiros computadores digitais, quase todos eletromecânicos, surgiram por volta da década de 1930. Foram viabilizados pelo relé: um eletroímã que, ao ser percorrido por corrente, movimenta uma armadura e abre ou fecha contatos elétricos. Isso permite controlar um circuito de alta tensão a partir de um circuito de comando de baixa tensão — e, mais importante para nós, implementar as funções lógicas de Boole com a melhor tecnologia disponível na época.
Com relés já era possível construir um somador completo: um circuito que soma um par de bits e propaga o "vai um" para o estágio à esquerda. Colocando somadores lado a lado, monta-se um somador da largura desejada — a mesma ideia usada hoje na ULA.
2.2 Konrad Zuse
Estudante de Engenharia Civil em Berlim, Konrad Zuse (1910–1995) patenteou em 1936 uma máquina de cálculo que operava em base dois e era controlada por um programa codificado em fita de papel. Concluída em 1938, a Z1 foi o primeiro computador programável baseado em números binários e ponto flutuante, com sistema de chaveamento binário — mas, predominantemente mecânica, era pouco confiável.
O Z2 teve a construção interrompida pela guerra; o Z3 foi construído com pequena ajuda do governo alemão; e o Z4, inteiramente a relés, foi o único a sobreviver aos bombardeios, chegando a ser alugado pela Escola Politécnica de Zurique em 1949. Em 1948 Zuse desenvolveu ainda a Plankalkül, citada como a primeira tentativa de criar uma linguagem algorítmica.
2.3 George Stibitz
George Stibitz (1904–1995) chegou aos computadores em 1937 estudando relés de telefonia, o que deu origem a um circuito somador binário controlado por relés. Seu Complex Computer, Model 1 tornou-se operacional em 1939 e foi demonstrado em 1940 com uso remoto entre New Hampshire e Nova York. A série evoluiu até o Model 5, inaugurado pela Força Aérea dos EUA em 1946: 10 toneladas, 300 m² e mais de 9.000 relés.
2.4 Mark I e a arquitetura Harvard
Concluído em 1944 por uma equipe da IBM liderada pelo professor Howard Aiken, da Universidade de Harvard, o Mark I (originalmente ASCC — Automatic Sequence Controlled Calculator) era eletromecânico: chaves, relés, cabos e embreagens. Tinha mais de 750.000 componentes, 80 km de fios, 16 m de comprimento, 2,5 m de altura e cerca de 5 toneladas — além de consumir vários quilos de gelo por dia para refrigeração. Somava dois números de 23 dígitos em 0,3 s, multiplicava em 4 s e dividia em 10 s.
Sua importância para esta disciplina é conceitual: o Mark I introduziu a arquitetura Harvard, em que instruções e dados ficam em memórias fisicamente separadas, com caminhos de acesso também separados. No Mark I, as instruções vinham de uma fita de papel perfurada de 24 bits de largura e os dados ficavam em contadores eletromecânicos.
Uma das primeiras programadoras do Mark I foi Grace Hopper (1906–1992), que encontrou uma traça morta presa na leitora de fita de papel. A palavra bug já era usada para descrever defeitos desde pelo menos 1889, mas Hopper foi a primeira a usar debugging para descrever a eliminação de falhas de programas.
3. Primeira Geração (1940–1952): Válvulas
3.1 Tecnologias
A primeira geração eletrônica é construída à base de válvulas (tubos de vácuo), com aplicação predominantemente científica e militar. A programação era feita em linguagem de máquina, e o armazenamento se dava em cartões perfurados e em memórias de linha de retardo de mercúrio.
A válvula controla o fluxo de corrente entre eletrodos em um tubo de vidro a vácuo. O diodo, o tipo mais simples, foi inventado em 1904 por John Ambrose Fleming; acrescentando grades de controle entre cátodo e ânodo, passa-se a controlar a corrente pela tensão aplicada às grades. As válvulas viabilizaram rádio, televisão, radar e os primeiros computadores, mas tinham problemas sérios: aquecimento excessivo e queima constante, alto consumo de energia e baixa velocidade em comparação com o que viria depois.
A memória de linha de retardo de mercúrio era um tubo cheio de mercúrio com um transdutor em cada extremidade: o sinal elétrico era convertido em pulso sonoro, percorria o mercúrio (bem mais devagar que a eletricidade), era reconvertido em eletricidade e reenviado à outra ponta. O atraso da propagação sonora é o que "armazenava" a informação.
3.2 ENIAC
John Atanasoff, do Iowa State College, é geralmente apontado como o primeiro a projetar uma calculadora eletrônica, iniciada em 1935 e abandonada em 1942 por conta da guerra. Em 1941 ele discutiu seus planos com o físico John Mauchly, que no ano seguinte foi para a Moore School da Universidade da Pensilvânia. Lá, Mauchly conheceu o engenheiro J. Presper Eckert e ambos enviaram ao governo norte-americano um relatório que resultou em contrato assinado em 1943.
Nasceu assim o ENIAC (Electronic Numerical Integrator and Computer), apresentado publicamente em 1946 e considerado o primeiro computador eletrônico de uso geral totalmente funcional: 18 mil válvulas, 500 mil conexões de solda, 30 toneladas e 180 m². Realizava cerca de 5.000 adições ou 300 multiplicações por segundo.
3.3 EDVAC e o programa armazenado
Em junho de 1944, o matemático John von Neumann, então consultor do Projeto Manhattan, tomou conhecimento do ENIAC e logo se tornou consultor do projeto — e, depois, do EDVAC. Em julho de 1945 publicou o Primeiro Rascunho do Relatório do Projeto EDVAC, com os elementos básicos de um computador baseado no conceito de programa armazenado:
- uma memória contendo dados e instruções;
- uma unidade de cálculo, capaz de realizar operações lógicas e aritméticas sobre os dados;
- uma unidade de controle, capaz de interpretar uma instrução retirada da memória e selecionar alternativas com base em resultados anteriores.
É um dos documentos mais influentes da história da computação. Vale, porém, um registro de justiça histórica: Mauchly e Eckert discutiam esses conceitos meses antes de von Neumann se juntar ao projeto, e praticamente não receberam crédito por eles.
| Harvard (Mark I) | von Neumann (EDVAC) | |
|---|---|---|
| Memórias | Separadas para instruções e dados | Uma única memória para ambos |
| Caminhos de acesso | Separados (busca de instrução e de dado simultâneas) | Compartilhados |
| Programa | Externo à memória de dados | Armazenado na mesma memória dos dados |
| Consequência | Mais paralelismo no acesso; mais hardware | Mais simples e flexível; o programa pode ser tratado como dado |
| Uso atual | Microcontroladores e caches L1 separadas | Modelo geral dos computadores de uso geral |
O gargalo de acesso único à memória no modelo von Neumann tem nome próprio — gargalo de von Neumann — e é a razão de boa parte da hierarquia de memória que estudaremos adiante.
3.4 UNIVAC I
Finalizado em 1951 e instalado no escritório de censo dos EUA, o UNIVAC I tinha 5.200 válvulas e relógio de 2,25 MHz. A memória era formada por 100 linhas de retardo de mercúrio de dez palavras, totalizando 1.000 palavras de 72 bits. Cada instrução tinha seis dígitos decimais (36 bits): dois para o código da função, um não usado e três para o endereço — duas instruções por palavra, executando primeiro a da esquerda. O conjunto incluía instruções aritméticas, de manuseio de registradores, de deslocamento e de entrada/saída. O armazenamento secundário eram fitas magnéticas lidas pelas unidades UNISERVO, com 1,5 MiB por fita e 12.800 caracteres por segundo.
4. Segunda Geração (1952–1964): Transistores
O transistor, inventado em 1947–1952 nos Laboratórios Bell, passou a ser em 1957 o dispositivo base da construção de computadores: aquecimento mínimo, consumo reduzido, maior confiabilidade e maior velocidade que a válvula. As máquinas ficaram menores, mais confiáveis e mais baratas, e as aplicações se estenderam dos campos científico e militar para os setores administrativo e gerencial. Surgem as linguagens de alto nível — Fortran, Algol e Cobol.
O FORTRAN, desenvolvido por uma equipe da IBM liderada por John Backus, era gravado em cartões perfurados e traduzido por um compilador para linguagem de máquina. Muitos programadores duvidavam que o código gerado pudesse competir com a codificação manual — ceticismo que desapareceu quando o compilador provou o contrário.
4.1 Memória de ferrite
A grande novidade de armazenamento foi a memória de núcleo magnético (ferrite): toroides de material magnético atravessados por três ou quatro fios. Cada núcleo guarda um bit conforme o sentido de sua magnetização (horário ou anti-horário), e pulsos de corrente nos fios definem esse sentido.
A leitura é feita escrevendo 0 e observando o fio sensor: se nada muda, o valor era 0; se uma corrente é induzida, o valor era 1. Ou seja, a leitura é destrutiva e exige reescrever o valor original em seguida — detalhe que voltará a aparecer no estudo das memórias dinâmicas. A memória de ferrite foi a forma predominante de memória de acesso aleatório por cerca de 20 anos (1955–1975).
Neste período foram fundadas a DEC (Digital Equipment Corporation) e a CDC (Control Data Corporation), e a fita magnética consolidou-se como armazenamento secundário: a UNISERVO do UNIVAC I, de 1951, foi o primeiro dispositivo de fita para um computador comercial.
4.2 PDP-1 e IBM 7000
O PDP-1 (DEC, 1959) usava palavras de 18 bits e 4.096 palavras de memória principal, expansível para 65.536. O ciclo de memória de núcleo era de 5 μs, de modo que a maioria das instruções aritméticas levava 10 μs — dois ciclos, um para buscar a instrução e outro para buscar o operando. Tinha 2.700 transistores e 3.000 diodos, e representava números negativos em complemento a um.
A série IBM 7000 reuniu os primeiros computadores transistorizados da IBM. Os modelos 7070/7072/7074 eram máquinas decimais, com palavra fixa de dez dígitos para dados e instruções, três acumuladores, um registrador de programa, um apontador de instruções e 99 registradores de índice. Destaque também para o modelo 7030 (Stretch), de 64 bits, o computador mais rápido do mundo entre 1961 e 1964.
5. Terceira Geração (1964–1971): Circuitos Integrados
O circuito integrado, inventado por Jack Kilby em 1958, encapsula em um único componente uma grande quantidade de resistores, capacitores, diodos e transistores. A miniaturização atingiu todos os circuitos do computador, inclusive a memória: o primeiro CI de memória semicondutora bipolar foi introduzido pela IBM em 1965, mas não conseguiu competir com o preço da memória de ferrite, que dominou até o final dos anos 1960. A substituição só veio com as memórias semicondutoras MOS, no início dos anos 1970.
Outra mudança decisiva foi o disco magnético. Em 1962 a IBM lançou a unidade 1311, do tamanho de uma máquina de lavar, com dois milhões de caracteres em um disk pack removível. Discos removíveis tornaram-se padrão e chegaram a 300 MB no início dos anos 1980. A partir desta geração, o disco magnético passa a ser o principal componente da memória secundária.
O software acompanhou: sistemas operacionais com processamento interativo, multiprogramação e compartilhamento de tempo (time sharing), e novas linguagens de alto nível (FORTRAN IV, COBOL, PASCAL, PL/1, BASIC, ALGOL-68).
5.1 IBM 1130 e IBM/360
O IBM 1130 (1965) era o computador mais barato da IBM, voltado a educação e engenharia: arquitetura de 16 bits, endereço de 15 bits (limitando a memória a 32.768 palavras), memória de 8 KiB a 64 KiB e ciclo entre 2,2 e 5,6 μs. Foi o primeiro produto a usar discos removíveis.
O IBM/360 (abril de 1964) é o computador mais emblemático da geração. Marcou o uso intensivo de circuitos integrados e, sobretudo, introduziu o conceito de modularidade: o comprador adquiria os módulos de que precisava e conectava periféricos conforme a necessidade. Foram vendidas mais de 30 mil unidades. No campo do software, o OS/360 foi um dos primeiros sistemas operacionais a exigir acesso direto a dispositivos de armazenamento, viabilizando execução simultânea de tarefas, compartilhamento de memória e emulação de outros computadores.
5.2 PDP-11 e o barramento único
Os minicomputadores — menores e mais acessíveis, mas ainda com capacidade para aplicações científicas e comerciais — surgem aqui. A série PDP-11 (DEC, 16 bits, décadas de 1970 e 1980) vendeu cerca de 600 mil unidades e teve papel central no desenvolvimento da linguagem C e do sistema Unix.
Para esta disciplina, sua contribuição mais importante é estrutural: o PDP-11 foi pioneiro em interconectar todos os elementos do sistema — processador, memória principal e periféricos — por um único barramento bidirecional e assíncrono, o Unibus. Com ele, dispositivos podiam trocar dados sem passar pela memória. Esse modelo influenciou a maioria dos computadores do final da década de 1970, inclusive a linha Intel x86.
Tecnicamente: arquitetura CISC de 16 bits, oito registradores de 16 bits (seis de uso geral, um de instruções e um apontador de instruções), unidade de controle não microprogramada nos primeiros modelos e microprogramada nos seguintes, ciclo em torno de 1,5 μs e memória máxima de 64 KiB, dos quais 8 KiB reservados a E/S.
5.3 CDC 6600
Lançado em 1964, o CDC 6600 foi o computador mais veloz do mundo até 1969 e é considerado por muitos o primeiro supercomputador. Arquitetura load/store com conjunto reduzido de instruções — precursora do RISC —, processava três milhões de instruções por segundo a 10 MHz, com refrigeração a freon. Tinha registradores especializados (oito de 60 bits para uso geral, oito de 18 bits para endereçamento, oito de 16 bits para incremento) e contava com dez processadores periféricos que cuidavam da E/S e de partes do sistema operacional, implementados virtualmente sobre o mesmo hardware com contextos separados — uma antecipação do multithreading atual.
6. Quarta Geração (1971–1980): VLSI e o Microprocessador
A quarta geração emprega circuitos com até 100.000 transistores em um único chip — a técnica VLSI (Very Large Scale Integration). Ela começa em 1971, quando a Intel lança o 4004, primeiro microprocessador, de 4 bits, destinado a calculadoras. Seguiram-se o 8008, o 8080 e o 8085, de 8 bits; a Motorola respondeu com o 6800 e a Zilog com o Z80.
É a época do computador pessoal. Memórias semicondutoras CMOS tornam-se padrão, o disquete barateia o armazenamento e surgem novas linguagens (Pascal, C, dBase) e as primeiras redes de dados. Também aparecem os computadores científicos com processamento vetorial (Cray, Thinking Machines), na faixa de 1 GFlops.
| Máquina | Ano | Destaques |
|---|---|---|
| Sinclair ZX80 | 1980 | Doméstico britânico por 99,95 libras; vídeo gerado pelo próprio processador (a tela apagava durante o processamento); ~100.000 unidades. Clonado no Brasil (TK80/TK82, NE Z80). |
| Apple I / II | 1976 / 1977 | Apple I: placa montada por US$ 666,66. Apple II: alta resolução gráfica e, sobretudo, a planilha VisiCalc, que abriu o mercado empresarial. |
| IBM 370 | 1970 | Sucessor do 360, com compatibilidade de software; processador microprogramado, memória inteiramente semicondutora, suporte a memória virtual. |
| VAX-11/780 | 1977 | 32 bits, 5 MHz, cache de 2 KiB, 16 registradores de 32 bits, 16 modos de endereçamento; instruções e operandos sem alinhamento obrigatório. |
7. Quinta Geração (1981–1990): ULSI, RISC e o PC
A integração passa de VLSI para ULSI (Ultra Large Scale Integration), com milhões de transistores por chip. A Intel anuncia o 80486, de 32 bits e mais de um milhão de transistores. Os microcomputadores pessoais se consolidam — IBM PC, Apple Macintosh, Commodore 64 — e ao fim da década passam de 100 milhões de unidades no mundo.
Surgem as primeiras versões de Windows e MacOS, que estabelecem janelas e ícones como padrão de interação e popularizam o mouse. O aumento da resolução de vídeo exigido pelas interfaces gráficas pressiona a demanda por memória.
Esta geração marca também o surgimento do RISC (Reduced Instruction Set Computer): simplificação dos circuitos por meio de uma revisão completa do conjunto de instruções e do transporte interno de dados. Estações de trabalho baseadas em RISC, quase sempre rodando Unix, tornam-se comuns nas universidades. A Sun lança em 1987 a primeira estação com microprocessador RISC (arquitetura SPARC, aberta), e o IEEE estabelece o padrão POSIX. No mesmo período difunde-se a rede local Ethernet.
| Máquina | Ano | Destaques |
|---|---|---|
| IBM PC | 1981 | Intel 8088 a 4,77 MHz, 16 KiB expansíveis a 256 KiB, disquete de 160 KiB, BIOS de 8 KiB. A IBM publicou toda a documentação dos circuitos — o que viabilizou os clones que acabariam tirando a própria IBM do mercado. |
| Macintosh 128K | 1984 | Motorola 68000 a 7,83 MHz, 128 KiB compartilhados com o controlador de vídeo (conflitos de acesso reduziam o desempenho em até 35%), tela de 512 × 342 pixels, disquete de 400 KiB. |
| Commodore 64 | 1982 | MOS 6510 de 8 bits, 64 KiB de RAM e 20 KiB de ROM, BASIC embutido, unidade de disquete com processador próprio; mais de 22 milhões de unidades. |
| Sun SPARCstation 1 | 1989 | Estação de trabalho RISC, Unix e X-Window, voltada a engenharia e computação gráfica. |
Quando desenvolvia o PC, a IBM pediu à Digital Research uma versão do CP/M para o Intel 8086. A Digital Research recusou as condições do acordo; a Microsoft aproveitou a oportunidade e forneceu o sistema operacional (o PC-DOS, derivado do 86-DOS que havia adquirido) e o BASIC. Em 1982 o MS-DOS passou a ser vendido também para compatíveis não IBM — decisão que tornou a Microsoft líder em software e praticamente eliminou a Digital Research do mercado.
8. Sexta Geração (1991–?): 64 bits, Paralelismo e Ubiquidade
A sexta geração se caracteriza pela consolidação dos microprocessadores RISC de 64 bits superescalares, com ponto flutuante integrado, e pela difusão dos dispositivos computacionais em todos os níveis da produção, do comércio e dos serviços.
Em 1991 a MIPS lança o R4000, primeiro microprocessador RISC de 64 bits. Em 1993 a Intel lança o Pentium, quinta geração da arquitetura x86 e último processador CISC "puro" da empresa: seu sucessor, o Pentium Pro (1995, arquitetura P6), passa a traduzir dinamicamente instruções IA-32 em micro-operações do tipo RISC, executadas em paralelo por um núcleo RISC interno. A distinção CISC/RISC, a partir daí, passa a ser mais de conjunto de instruções do que de implementação.
Outros marcos do período:
- Paralelismo. Clusters de microcomputadores convencionais substituem os processadores vetoriais; a programação paralela se torna um desafio de formação, com APIs como MPI, OpenMP, CUDA e OpenCL.
- Software. Linguagens orientadas a objeto (C++, Java) e o Linux (1991), que, junto ao projeto GNU, abre o código do sistema operacional.
- Gráficos. A demanda por vídeo e jogos leva ao processador especializado — a GPU.
- Armazenamento. Além do aumento de densidade dos discos rígidos, surgem os SSDs, baseados em memória Flash não volátil.
- Redes. Fibra óptica, internet como padrão mundial, WWW, navegadores, criptografia difundida, Wi-Fi, Bluetooth e WiMAX.
- Mobilidade. Dos PDAs dos anos 1990 ao iPhone (2007), que integra voz, dados e multimídia; notebooks e depois smartphones tornam a computação portátil.
- Embarcados. Microcontroladores baratos com memória e periféricos integrados popularizam plataformas como Arduino e Raspberry Pi, e consolidam a Internet das Coisas.
O Arduino Uno é uma plataforma de prototipagem eletrônica: microcontrolador ATmega328 (RISC de 8 bits, até 20 MIPS a 20 MHz, 32 registradores), com 32 KiB de Flash para o programa, 2 KiB de SRAM para variáveis e 1 KiB de EEPROM. Não roda sistema operacional.
O Raspberry Pi é um computador de placa única (SBC) completo: processador, memória, GPU, USB, HDMI e GPIO na mesma placa, rodando Linux. O Pi 3 B tem quatro núcleos ARMv8 a 1,2 GHz e 1 GiB; o Pi 4 B, quatro núcleos Cortex-A72 a 2,0 GHz e 2, 4 ou 8 GiB.
A distinção — microcontrolador com memória integrada versus computador de uso geral com sistema operacional — é exatamente a que estudaremos na organização do subsistema de memória.
9. Supercomputadores
Supercomputadores são máquinas de desempenho altíssimo, concebidas para grandes problemas científicos: previsão do tempo, pesquisa climática, exploração de petróleo, modelagem molecular, criptografia e simulações físicas. Seu desempenho é medido em Flops (operações de ponto flutuante por segundo), não em Mips.
| Máquina | Ano | Desempenho | Observação |
|---|---|---|---|
| CDC 6600 | 1964 | 3 MFlops | Considerado o primeiro supercomputador |
| Cray-1 | 1976 | 160 MFlops | Primeiro processador vetorial comercialmente bem-sucedido; formato em "C" para encurtar os fios |
| Cray-2 | 1985 | 1,9 GFlops | Quatro CPUs; primeiro a superar 1 GFlops |
| Intel ASCI Red | 1996 | 1,3 TFlops | Primeiro a superar 1 TFlops; construído com componentes comerciais (9.298 Pentium Pro) |
| IBM Roadrunner | 2008 | 1,026 PFlops | Primeiro a superar 1 PFlops; projeto híbrido (Opteron + PowerXCell) |
| Frontier | 2022–2023 | ~1,2 EFlops | Primeiro a superar 1 ExaFlops; 9.472 CPUs AMD e 37.888 GPUs MI250X, refrigeração líquida |
Três consequências estruturais merecem destaque:
- Energia e calor. Um supercomputador consome megawatts (o Tianhe-1A, 4,04 MW), quase tudo convertido em calor. O custo de alimentar e refrigerar é da ordem de milhões por ano, e o resfriamento é hoje o principal limitador de projeto.
- Software. Os sistemas operacionais personalizados deram lugar a variantes de Linux/Unix. Depurar e otimizar programas paralelos é difícil: o objetivo é evitar que qualquer processador fique ocioso esperando dados de outro nó.
- Custo e geopolítica. Um supercomputador top 10 custava cerca de 10 milhões de euros em meados dos anos 1990 e de 40 a 50 milhões em 2010. São financiados por governos, com estratégias de soberania nacional e aplicações de defesa. Em junho de 2023, os EUA tinham cinco das dez máquinas mais rápidas; o Brasil tinha nove computadores na lista dos 500 mais rápidos.
10. Computadores no Brasil
O Brasil tem um histórico relevante de computadores projetados e construídos no país, em nível acadêmico e comercial, incluindo hardware e sistemas operacionais completos com tecnologia nacional.
10.1 Protótipos acadêmicos pioneiros
- Zezinho (ITA, início dos anos 1960) — computador didático construído por quatro alunos do ITA com cerca de 1.500 transistores nacionais, revisado em 1963 por Valdemar Setzer. Tinha apenas oito posições de memória de 8 bits, cada bit implementado por um circuito biestável; a entrada de dados era feita encostando uma "caneta" aterrada em pontos de solda de um painel, e cada bit tinha uma lâmpada indicadora. Havia pouquíssimas instruções — a multiplicação era feita por somas sucessivas.
- Lourinha (IME/RJ, 1958–1960) — protótipo a válvulas com parte digital e parte analógica, capaz de simular sistemas de equações diferenciais em tempo real. Foi desmontado após a defesa do projeto.
- Patinho Feio (USP, 1971) — computador de 8 bits com circuitos integrados e 4 KiB de memória, desenvolvido no Laboratório de Sistemas Digitais com cerca de dez pós-graduandos. Um metro de altura, mais de 1.000 kg, 450 pastilhas de CI, relógio de 500 kHz, cerca de 3.000 blocos lógicos em 45 placas interligadas por wire-wrap.
10.2 Do G-10 à Cobra
O G-10 nasceu de um acordo de 1972 entre um Grupo de Trabalho Especial (Marinha e BNDE), a USP (hardware) e a PUC-Rio (software), e foi entregue em 1975. Sua característica principal é diretamente relevante para esta disciplina: barramento único de até 8 MB/s interligando processador, memórias e canais de E/S, à semelhança do PDP-11. Tinha processador de 20 MHz, oito registradores de uso geral, cerca de 100 instruções de 16 bits com unidade de controle microprogramada (típico das arquiteturas CISC da época), memória de 32 KiB (até 64 KiB) e até quatro canais de E/S (programados ou por DMA), cada um com até 16 controladores.
Reprojetado, o G-10 virou G-11 e, depois, a linha Cobra 500. A Cobra (Computadores Brasileiros S.A.), fundada em 1974, foi viabilizada pela política de reserva de mercado da Capre, que reservava minicomputadores, microcomputadores e periféricos a produtos de tecnologia nacional.
| Modelo | Ano | Observação |
|---|---|---|
| Cobra 700 / 400 | 1970s | Tecnologia importada (Ferranti Argus 700 e Sycor 440) |
| TD 200 / Cobra 300 | 1979 | Terminal inteligente e microcomputador com Intel 8080 |
| Cobra 305 | 1981 | Z80A, 64 KiB, disquete de 1 MiB |
| Cobra 530 | 1980 | Primeiro computador totalmente projetado, desenvolvido e industrializado no Brasil; UCP de 16 bits com pastilhas bit slice, sistema operacional SOD, compiladores Cobol e Fortran |
| Cobra 520 / 540 / 480 / 580 | 1982–1984 | Evoluções da linha, todas com o SOD |
| Linha X (X-10, X-20, X-30) | 1985–1989 | Processadores Motorola 68010/68020/68030 e o sistema SOX, baseado em Unix e desenvolvido no Brasil |
Com o fim da reserva de mercado em 1992, a Cobra tornou-se integradora de sistemas; hoje atua como BB Tecnologia e Serviços. Outras empresas do período — Scopus, Edisa, SID, Elebra, Microtec, Itautec, Prológica, Microsiga — tiveram destinos variados: incorporações, falências e, no caso da Microsiga, a transformação na atual TOTVS.
10.3 Projetos acadêmicos de arquitetura
- CPU de porte médio compatível com o PDP-11/70 (COPPE/UFRJ, a partir de meados dos anos 1970) — conjunto de instruções, registradores e barramentos de E/S compatíveis com o PDP-11/70, para reaproveitar sistema operacional e periféricos. Tinha ULA inteira e de ponto flutuante, unidade de controle microprogramada, cache de 8 KiB, memória de até 4 MiB, relógio de 25 MHz, 86 instruções e três níveis de privilégio (kernel, supervisor e usuário). Gerou diversas dissertações de mestrado entre 1978 e 1982.
- Pegasus-32X / Plurix (NCE/UFRJ, anos 1980) — família de supermicrocomputadores homogêneos e simétricos de 32 bits, com múltiplas UCPs Motorola 680XX em multiprocessamento, unidades de processamento periférico inteligentes, memória global e barramento VME (32 bits de dados, 24 de endereço, 6,7 MB/s). Desempenho de 1,1 MIPS (1 UCP) a 3 MIPS (4 UCPs). Contribuição maior: o Plurix, sistema operacional compatível com Unix desenvolvido integralmente com tecnologia nacional.
- Multiplus (NCE/UFRJ) — arquitetura modular de memória compartilhada distribuída, projetada para até 1.024 elementos processadores e 32 GiB de espaço de endereçamento, com clusters de até oito processadores em barramento duplo de 64 bits e rede multiestágios N-cubo invertida. Incluía o projeto de um microprocessador SPARC de 32 bits com pipeline de quatro estágios para multithreading, e o sistema operacional Mulplix, extensão do Plurix.
- NCP I (COPPE/UFRJ, operacional em 1991) — multicomputador com nós contendo dois elementos de processamento (um com memória privativa, outro com memória compartilhada). Protótipo de 16 nós: 800 MIPS e 960 MFlops de pico, 64 MiB de memória privativa e 128 MiB compartilhada, E/S de 40 MB/s e rede entre nós de 160 MB/s.
- NCP2 (COPPE/UFRJ, a partir de 1996) — multicomputador com memória compartilhada distribuída por software (SW-DSM), com suporte de hardware dedicado (controlador de protocolos com snooping de barramento e DMA), processadores PowerPC, Unix (AIX) e rede Myrinet.
Quadro-síntese das gerações
| Geração | Período | Processamento | Memória principal | Armazenamento secundário | Software |
|---|---|---|---|---|---|
| Eletromecânica | ~1930–1944 | Relés | Contadores eletromecânicos | Fita de papel perfurada | Programa externo (fita) |
| 1ª | 1940–1952 | Válvulas | Linha de retardo de mercúrio | Cartões e fita perfurada | Linguagem de máquina |
| 2ª | 1952–1964 | Transistores | Núcleo magnético (ferrite) | Fita magnética | Fortran, Algol, Cobol |
| 3ª | 1964–1971 | Circuitos integrados | Ferrite → semicondutora | Disco magnético removível | SO com multiprogramação e time sharing |
| 4ª | 1971–1980 | VLSI, microprocessador | Semicondutora CMOS | Disquete e disco rígido | Pascal, C; SO para micros |
| 5ª | 1981–1990 | ULSI, CISC de 32 bits e RISC | Semicondutora | Disco rígido | Interfaces gráficas, Unix, redes locais |
| 6ª | 1991–hoje | RISC de 64 bits, superescalar, multinúcleo, GPU | DDR, hierarquia com cache | SSD (Flash), nuvem | Linux, orientação a objetos, computação paralela |
Exercícios
Qual era o problema mecânico central das primeiras calculadoras, como a Pascalina, e qual é o equivalente eletrônico desse problema em um somador atual?
Quais foram as contribuições de Boole e De Morgan, e por que elas importam para o projeto de computadores?
Descreva a arquitetura Harvard e explique em que ela difere do modelo de von Neumann. Cite a máquina que originou cada uma.
Enuncie os três elementos básicos do computador de programa armazenado descritos no relatório do EDVAC e associe cada um a um componente estudado nesta disciplina.
Relacione as características do ENIAC e explique por que ele é considerado o primeiro computador eletrônico de uso geral totalmente funcional.
Explique o funcionamento da memória de núcleo magnético (ferrite) e diga por que sua leitura era destrutiva.
Qual foi a contribuição estrutural do PDP-11 que se tornou padrão nas arquiteturas seguintes?
Compare as tecnologias de processamento das seis gerações, indicando o dispositivo característico de cada uma.
Descreva a evolução da memória principal ao longo das gerações.
Descreva a evolução do armazenamento secundário ao longo das gerações.
Por que o Pentium Pro é um marco na discussão entre CISC e RISC?
Por que o desempenho de supercomputadores é medido em Flops e não em Mips? Cite as máquinas que quebraram as barreiras de 1 TFlops, 1 PFlops e 1 ExaFlops.
Relacione as características do projeto G-10 e explique sua relação com o PDP-11.
Por que o Cobra 530 é considerado um marco na história da computação no Brasil?
O que foram os projetos Pegasus/Plurix e Multiplus, e o que eles têm em comum do ponto de vista de arquitetura?
A IBM publicou a documentação completa dos circuitos do IBM PC. Analise essa decisão: que efeito ela teve sobre a plataforma e sobre a própria IBM?
Referências
Principais (essenciais)
-
SILVA, Gabriel Pereira da. Arquitetura e organização de computadores: uma introdução. Rio de Janeiro: LTC, 2024. Recurso online — Acervo Virtual. Número de chamada: Ac.5063593
- Aula 2 — História da Computação (texto de referência desta aula)
-
STALLINGS, William. Arquitetura e organização de computadores. São Paulo: Pearson Education, 2024. Número de chamada: Ac.132127
- Evolução histórica e desempenho dos computadores; arquitetura de von Neumann
Aprofundamento (opcionais)
-
DELGADO, José. Arquitetura de computadores. Rio de Janeiro: LTC, 2017. Recurso online — Acervo Virtual. Número de chamada: Ac.5013563
-
WEBER, Raul Fernando. Fundamentos de arquitetura de computadores. Porto Alegre: Bookman, 2012. Número de chamada: 004.2 W375fuf 4.ed.-2012 Ac.113940
-
ENGLANDER, Irv; TANAKA, Edson (Rev.). A arquitetura de hardware computacional, software de sistema e comunicação em rede: uma abordagem da tecnologia da informação. Rio de Janeiro: LTC, 2011. Número de chamada: 004.2 E58a Ac.133539
-
IFRAH, Georges. Os números: a história de uma grande invenção. (Referência histórica sobre o ábaco e os primeiros sistemas de contagem.)