Você está na página 1de 49

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/344620163

História do Computador

Preprint · October 2020

CITATIONS READS

0 5,509

2 authors:

José Antonio Dos Santos Borges Gabriel P. Silva


Federal University of Rio de Janeiro Federal University of Rio de Janeiro
50 PUBLICATIONS   101 CITATIONS    44 PUBLICATIONS   33 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

LabBCI View project

Musibraille View project

All content following this page was uploaded by Gabriel P. Silva on 13 October 2020.

The user has requested enhancement of the downloaded file.


2

Breve Histórico da Computaçã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

2.1
de nenhum.”

OS PRIMÓRDIOS DA COMPUTAÇÃO
FT – Monteiro Lobato, Mundo da Lua, 1923
RA
2.1.1 Ábaco
A necessidade de efetuar cálculos é tão antiga quanto os primórdios da civilização humana.
Existem diversos objetos, descobertos por arqueólogos e que atualmente estão em museus,
que comprovam a prática da Matemática por diversos povos da antiguidade (como ossos,
tábuas de argila e papiros), principalmente no continente africano. Há também diversas teorias
sobre os sistemas de contagem, como com pedras; lascas em madeiras, ossos e cavernas; nós em
D

cordas e a origem da contagem com os dedos, surgindo assim alguns sistemas de numeração,
entre eles, o sistema de numeração decimal.
Osso de Ishango ou Bastão de Ishango (Fig. 2.1) é tido como o objeto mais antigo da
Matemática, por ter uma aritmética concreta, e com isso, estudado com profundidade. O osso,
provavelmente, é de 20.000 anos a.C., no Paleolítico Superior, proveniente do vilarejo de mesmo
nome, que fica no Congo, na divisa com Uganda. É um pequeno osso petrificado, de apenas 10
cm de comprimento, com um cristal de quartzo em uma extremidade (provavelmente para
gravar, já que na época não existia a escrita) e que trazia três séries de entalhes agrupados.
Atualmente, o osso está no Instituto Real Belga de Ciências Naturais, em Bruxelas, na Bélgica.
Alguns arqueólogos dizem que os cálculos são referentes a um jogo aritmético, e outros dizem
ser referente ao calendário lunar.
O comércio com certeza foi um dos grandes motivadores para a elaboração das primeiras
”tábuas de contar”, que deram origem ao ábaco, utilizado por vários séculos em diversas
civilizações pelo mundo.
2. Breve Histórico da Computação 39

Figura 2.1 – Osso de Ishango

FT
RA
Fonte https://www.matematicaefacil.com.br/2016/07/matematica-continente-africano-osso-ishango.html
D

Ábaco é uma palavra latina na que tem suas origens na palavra grega abax ou abakon
(significando ”mesa” ou ”tabuleta”) o qual, por sua vez, se originou possivelmente da palavra
semítica abaq, que significa ”areia”. O registro escrito mais antigo, que sobreviveu até hoje,
sobre o ábaco é do historiador grego Heródoto (480-425 A.C.), que mencionou que os antigos
egípcios já faziam uso do ábaco. O exemplar sobrevivente mais velho das tábuas de contar é
a tábua de Salamina (que originalmente pensou-se ser um tabuleiro de jogo), usados pelos
babilônios aproximadamente em 300 A.C., e que foi descoberto em 1846 na ilha de Salamina,
na Grécia (IFRAH, 2009).
A tábua de contagem é então um pedaço de madeira, pedra ou metal com encaixes esculpi-
dos ou linhas pintadas entre as quais são movidos contas, seixos ou discos de metal, com a
finalidade de realizar cálculos.
O ábaco como conhecemos hoje em dia é um dispositivo normalmente de madeira, tendo
2. Breve Histórico da Computação 40

uma armação que contém varetas e contas deslizantes que podem correr livremente nestas
varetas. A Figura 2.2 mostra o exemplo de um ábaco chinês moderno. O ábaco, como nós
conhecemos hoje, apareceu aproximadamente no ano de 1200 na China; onde é chamado de
”suan pan”. O ábaco russo, inventado no século XVII e ainda com algum uso hoje, é chamado
”stchoty”, mas possui 10 contas em cada haste, sendo duas delas (a quinta e a sexta) de cores
diferenciadas, para faciltar a contagem. Em japonês, o ábaco é chamado ”soroban” e surgiu
aproximadamente no ano de 1600 (IFRAH, 2009).

Figura 2.2 – Ábaco Chinês Moderno

FT
RA
© 2016 Gabriel P. Silva

O Ábaco foi durante séculos o único e mais importante instrumento de cálculo utilizado
pela humanidade. Vários outros instrumentos surgiram depois e procuramos destacar a seguir
alguns dos mais relevantes.
D

2.1.2 Pascalina
Entre 1642 e 1645, Blaise Pascal (1623–1662), então um jovem francês de 18 anos, desenvolveu
a Pascalina (Máquina Aritmética de Pascal). Como recompensa, em 1645, o rei da França
concedeu a Pascal um privilégio real que lhe dava o direito exclusivo de fabricar e vender
a Pascalina. Apesar desse privilégio, a máquina nunca foi um sucesso comercial. Os custos
de fabricação eram demasiadamente elevados, principalmente por conta das técnicas de
fabricação das partes interiores, que ainda não estavam totalmente desenvolvidas naquele
tempo (KETELAARS, 2001).
Um dos maiores problemas que existe em toda máquina de calcular é a propagação do
”vai-um”. Durante a soma de duas parcelas, você faz a operação passo a passo, dígito por dígito,
da direita para a esquerda. Se a soma de um par dígitos é maior que 10, você apenas soma mais
um (o ”vai-um”) ao resultado original da soma dos dígitos imediatamente mais à esquerda.
2. Breve Histórico da Computação 41

Mas fazer isto de uma forma automática, com uso engrenagens mecânicas, era uma coisa
bastante complicada naquela época.
A máquina de Pascal, que realizava operações de soma e subtração, provavelmente tinha
problemas na propagação do ”vai-um” e os registros existentes não forneciam uma descri-
ção clara do procedimento para executar as subtrações (KISTERMANN, 1998). Uma foto da
Pascalina pode ser vista na Figura 2.3.

Figura 2.3 – Calculadora de Pascal

FT
© 2005 David Monniaux - Fonte Wikimedia Commons
RA
Cerca de 50 destas máquinas foram construídas, das quais 8 ainda estão preservadas hoje
em dia. A maioria delas são mantidas no Musée du Conservatoire National des Arts et Métiers
em Paris.
D

2.1.3 Anton Braun


O mecânico, construtor e óptico alemão Anton (Antonius) Braun (1686-1728), foi nomeado
em 1724 como mecânico e óptico oficial da corte imperial em Viena, na Áustria. Neste mesmo
ano ele começou a projetar uma máquina de calcular para uso do imperador. Este trabalho foi
terminado em 1727, tendo como resultado uma máquina de calcular com fino acabamento
e projeto. Quando essa máquina foi apresentada para o Imperador Carlos VI, ele ficou tão
maravilhado que Braun foi nomeado fabricante de instrumentos imperial, recebendo uma
enorme soma de dinheiro na época - 10.000 florins (DALAKOV, 2016).
O mecanismo de cálculo utilizado baseou-se nas rodas de pinos, inventada por Gottfried
Leibniz (1646-1716) e Giovanni Poleni (1683-1761), e descritas por Jacob Leupold (1674–1727)
na sua enciclopédia ”Teoria Geral das Máquinas”. Obviamente Braun estava familiarizado com
a enciclopédia de Leupold, onde foi descrita a máquina de Poleni. Entretanto, em contraste
com a máquina de madeira feita por Poleni, a máquina de Braun era bem menor, mais fácil
2. Breve Histórico da Computação 42

de se usar, sendo um dispositivo de metal perfeitamente fabricado com fino acabamento. A


máquina de Braun é considerada como a primeira máquina de calcular mecânica fabricada de
fácil de operação.
Há uma outra máquina de calcular de Braun, ainda preservada no Technischen Museum
em Viena (veja detalhes na Figura 2.4), que teve uma dedicatória gravada para o imperador
Carlos VI e também a assinatura ”Antonius Braun SCM opticus et mathematicus”, com o ano
de conclusão em 1727. Há informações no entanto, que esta máquina não é original, mas uma
cópia feita em 1766 por seu filho - Anton Braun o Jovem (1708-1776), que também como seu
pai, era um hábil oculista e relojoeiro.
Essa máquina é comumente conhecida como máquina Leupold-Braun-Vayringe, devido ao
fato de que a ideia do mecanismo de cálculo foi proposto por Leupold, a construção foi feita
por Braun, enquanto que a produção real foi feita por Vayringe.

FT
Figura 2.4 – Calculadora de Anton Braun
RA
D

© 2016 Gabriel P. Silva

2.1.4 Babbage
Em meados do século XIX, mais precisamente em 1856, o cientista inglês Charles Babbage (1791
– 1871) projetou uma máquina analítica capaz de executar as quatro operações, armazenar
dados em uma memória e imprimir resultados (FILHO, 2007).
A máquina de Babbage tinha muitas similaridades com um computador moderno, com
capacidade para ler dados de entrada, armazenar esses dados, fazer cálculos, gerar dados de
saída e automaticamente controlar a operação da máquina com uso de instruções (incluindo
2. Breve Histórico da Computação 43

desvios condicionais) e funções básicas que são encontradas em quase todo o computador
atual. Entretanto, a sua máquina analítica nunca seria concluída em vida.
Charles Babbage também projetou uma ”máquina diferencial”, utilizada para tabular
funções polinomiais com aplicação em matemática, astronomia e ciências contábeis que foi
construída com sucesso, em 1854, pelo gráfico sueco George Scheutz (1785-1873). Uma réplica
desta máquina foi completada em Londres no ano de 2002, 153 anos depois que foi projetada,
consistindo de 8.000 peças, pesando 5 toneladas e com cerca de 3,5 metros de comprimento.
Por sua contribuição neste campo da ciência, o cientista inglês é considerado por muitos
como o pai do Computador.

2.1.5 Álgebra Booleana


George Boole(1815–1864), matemático inglês, desenvolveu a teoria da Álgebra de Boole, que
permitiu a seus sucessores a representação de circuitos de comutação e o desenvolvimento da

FT
chamada Teoria dos Circuitos Lógicos. Boole fez contribuições significativas em várias áreas
da matemática, mas foi imortalizado por dois trabalhos que publicou em 1847 e 1854 (BOOLE,
1958), nos quais ele representou expressões lógicas em uma forma matemática hoje conhecida
como Álgebra de Boole. O trabalho de Boole era mais impressionante porque, com exceção
da escola primária e de pouco tempo em uma escola comercial, ele foi quase completamente
autodidata.
RA
Enquanto que na álgebra elementar as expressões denotam principalmente números,
na álgebra booleana elas denotam os valores lógicos verdadeiro e falso. Estes valores são
representados com os bits (ou dígitos binários), nomeadamente ’1’ e ’0’.
As operações básicas do cálculo booleano são as seguintes:

• AND (conjunção), com notação x ∧ y (ou x AND y), satisfaz x ∧ y 1 se x = y = 1 e


x ∧ y = 0 em caso contrário.
D

• OR (disjunção), com notação x ∨ y(ou x OR y), satisfaz x ∨ y = 0 se x = y = 0 e


x ∨ y = 1 em caso contrário.

• NOT (negação), com notação ¬x (ou NOT x), satisfaz ¬x = 0, se x = 1 e ¬x = 1, se


x = 0.

A partir destas primitivas básicas, todos os elementos que compõe um computador, inde-
pendentemente da sua complexidade, podem ser completamente definidos.
Ao mesmo tempo em que Boole, um outro matemático britânico, Augustus De Morgan
(1806–1871), formalizou um conjunto de operações lógicas conhecido hoje em dia como trans-
formações de De Morgan. Como exemplo podemos citar: ”o complemento da interseção de
dois conjuntos é o mesmo que a união dos seus complementes” ou ”o complemento da união
de dois conjuntos é o mesmo que a interseção dos seus complementos”. Ou ainda em notação
de lógica binária:
i) ¬ (A AND B) = (¬ A) OR (¬ B)

ii) ¬ (A OR B) = (¬ A) AND (¬ B)

Podemos dizer que um renascimento dos estudos de lógica ocorreu quase que inteiramente
por causa de Boole e De Morgan.

2.2 COMPUTADORES MECÂNICOS E ELETROMECÂNI-


COS
2.2.1 Introdução
O surgimento dos primeiros computadores digitais, quase todos mecânicos ou eletromecânicos,
ocorreu em torno de 1940 e teve contribuições de diversos autores. Destacamos entre eles os

Konrad Zuse
FT
seguintes: Konrad Zuse, George Stibitz, Howard H. Aiken e John Atanasoff.

2.2.2
Konrad Zuse (1910–1995) era estudante de Engenharia Civil na Technische Hochshule de
Berlim quando começou a trabalhar no desenvolvimento de uma nova máquina de calcular,
RA
cuja patente registrou em 1936. Esta máquina manipulava números expressos na base dois e era
comandada por um programa codificado sobre uma fita de papel. Esta máquina, denominada
de Z1 e finalizada em 1938, foi o primeiro computador programável, baseado em números
binários e de ponto flutuante e um sistema de chaveamento binário, era quase inteiramente
mecânico, porém pouco confiável e quase nunca funcionou.
Um novo projeto, o Z2, realizado em parceria com o engenheiro Helmut Schreyer (1912-
1984), teve sua construção interrompida pela convocação de Suze para a guerra. Depois que
D

Schreyer convenceu as autoridades militares da importância do projeto, iniciaram a construção


do Z3 com uma pequena ajuda do governo alemão. A sua última máquina, a Z4, inteiramente
com relés, foi a única que sobreviveu aos bombardeios da segunda guerra e chegou a ser
alugada pela Escola Politécnica de Zurique em 1949, para ajudar na formação dos primeiros
profissionais de informática suíços.

2.2.3 George Stibitz


O interesse de George Stibitz (1904–1995) pelos computadores surgiu em 1937 com um estudo
que realizou sobre relés eletro-mecânicos para telefonia, que deu origem ao projeto de um
circuito somador binário controlado por relés.
O relé é um dispositivo eletromecânico, composto basicamente por um eletroimã, uma
parte móvel chamada de armadura, que aciona um ou mais contatos elétricos. Quando uma
2. Breve Histórico da Computação 45

corrente originada no primeiro circuito passa pela bobina do eletroimã, um campo eletromag-
nético é gerado, movimentando a armadura e abrindo ou fechando os contatos elétricos no
possibilitando o funcionamento do segundo circuito. A sua estrutura de funcionamento pode
ser vista na Figura 2.5.

Figura 2.5 – Funcionamento do Relé

FT
Fonte Wikimedia Commons

Sendo assim, uma das aplicações do relé é usar baixas tensões e correntes para o comando
no primeiro circuito, protegendo o operador das possíveis altas tensões e correntes que irão
RA
circular no segundo circuito (contatos). Outra aplicação possível é na simulação das funções
lógicas preconizadas na teoria de Boole, sendo que o relé era a melhor da tecnologia disponível
para isso na época.
Um somador binário é um circuito utilizado nos computadores para realizar a soma de
dois números, como o nome já diz, no formato binário. Isso é conseguido, por exemplo, com
um circuito chamado somador completo, que soma um par de bits dos operandos e propaga
o ”vai-um” para um circuito somador idêntico, que vai somar os dois bits imediatamente à
D

esquerda do operando.
Como em um jogo de blocos de montar, os somadores são colocados lado a lado, até
completar a largura total em bits dos operandos. Na Figura 2.6 podemos ver a implementação
de um somador completo de um bit com o uso de relés.
No ano seguinte, com a ajuda de S.B. Williams dos Laboratórios Bell, Stibitz desenvolveu
uma calculadora aritmética completa. Seu computador, de nome Complex Computer, Model 1,
se tornou operacional em 1939 e foi demonstrado em janeiro de 1940 com uso remoto entre a
cidade de Hanover, no estado americano de New Hampshire, e Nova York.
Diversos computadores binários de maior sofisticação se seguiram, com uso de aritmética de
ponto flutuante e instruções de desvio. Sendo que o último da série, o Model 5, foi inaugurado
pela Força Aérea dos Estados Unidos em 1946 e pesava 10 toneladas, ocupando uma área de
300 m2 e utilizando mais de 9000 relés.
2. Breve Histórico da Computação 46

Figura 2.6 – Somador Binário com Relés

FT
Fonte Wikimedia Commons
RA
2.2.4 Mark I
Inicialmente conhecido como ASCC (Automated Sequence Controled Calculator), um outro
famoso computador digital foi concluído em 1944, por uma equipe de engenheiros da IBM
liderados pelo professor Howard H. Aiken (1900–1973) da Universidade de Harvard: chamava-
se Mark I, um computador eletromecânico construído com chaves, relés, cabos e embreagens.
A máquina tinha mais de 750,000 componentes, 80 Km de fios, cerca de 16 m de comprimento
e 2,5 m de altura, pesando aproximadamente 5 toneladas. Além disso consumia vários quilos
D

de gelo por dia destinados à sua refrigeração.


Embora o Mark I (Figura 2.7) seja considerado por alguns como o primeiro computador
digital, sua arquitetura era significativamente diferente das máquinas modernas.
Um dos conceitos introduzidos pelo computador Mark I foi o da arquitetura do tipo
”Harvard” (Figura 2.8), onde existem memórias e caminhos fisicamente separados para acesso
às instruções e dados. As instruções eram armazenadas em uma fita de papel perfurada com
24 bits de largura e os dados em contadores eletro-mecânicos.
Mesmo assim, essa máquina, que utilizava números com 23 dígitos de largura, podia somar
ou subtrair dois destes números em 0,3 segundos, multiplicá-los em 4 segundos, e dividi-los
em 10 segundos. Uma façanha para a época!
Um dos primeiros programadores do Mark I era uma mulher, Grace Hopper (1906–1992).
Hopper achou o primeiro ”bug” de computador: uma traça morta que tinha entrado no Mark I
e cujas asas estavam bloqueando a leitora de fita de papel (veja a Figura 2.9). A palavra ”bug” já
Figura 2.7 – Computador Mark I

FT
Anonymous - Fonte Wikimedia Commons

tinha sido usada para descrever um defeito desde pelo menos 1889, mas Hopper foi a primeira
a usar a palavra ”debugging” (depuração) para descrever o trabalho de eliminar falhas dos
RA
programas.

2.3 A PRIMEIRA GERAÇÃO DE COMPUTADORES


A primeira geração de computadores eletrônicos (1940 a 1952) é constituída pelos computadores
D

construídos à base de válvulas à vácuo e cuja aplicação fundamental se deu nos campos
científico e militar. Utilizavam como linguagem de programação a linguagem de máquina e
como única memória para armazenar informações os cartões perfurados e memórias baseadas
em linhas de retardo de mercúrio. Alguns exemplos de arquiteturas dessa época são mostrados
a seguir.

2.3.1 ENIAC
John Atanasoff, matemático no Iowa State College, é geralmente considerado como o primeiro
projetar uma calculadora eletrônica. Depois de ter estudado durante muito tempo os diferentes
meios de cálculo automático que existiam no início dos anos 30, iniciou em 1935 a construção
de uma máquina eletrônica, mas em 1941 a sua máquina ainda não estava funcional, devido
a um defeito na leitora de cartões. Convocado em 1942 para o esforço de guerra, Atanasoff
abandonou o seu projeto.
2. Breve Histórico da Computação 48

Figura 2.8 – Arquitetura Harvard

FT
© 2016 Gabriel P. Silva

Não teria havido maiores problemas se em 1941 ele não tivesse discutido os planos de sua
máquina com um físico, John Mauchly, que foi nomeado para a Moore School of Eletrical
RA
Engineering da Universidade da Pensilvânia no ano seguinte. Lá chegando, Mauchly conheceu
o engenheiro eletrônico J. Presper Eckert e, ainda em 1942, enviou ao governo americano um
relatório onde sintetizava as ideias de Atanasoff, de Eckert e as suas próprias para a construção
de uma calculadora eletrônica, que resultou em um contrato que foi assinado em 1943.
Assim, surgiu o ENIAC (Electronic Numerical Integrator And Computer), considerado
o primeiro computador eletrônico de uso geral totalmente funcional construído no mundo,
financiado pelo Exército dos EUA, cujo projeto foi trazido a público em 1946. O computador
D

ENIAC pode ser visto na Figura 2.10. A seguir alguns dados sobre o ENIAC:

• Totalmente eletrônico;

• 18.000 válvulas;

• 500.000 conexões de solda;

• 30 toneladas de peso;

• 180 m2 de área construída;

• Realizava uma operação de soma em 0,0002s.


2. Breve Histórico da Computação 49

Figura 2.9 – Primeiro ”Bug”

2.3.2 EDVAC
FT
Domínio Público - Fonte Wikimedia Commons
RA
Em junho de 1944, o matemático húngaro-americano Johann (John) Von Neumann tomou
conhecimento pela primeira vez do ENIAC. Von Neumann, que era um consultor no Projeto
Manhattan, imediatamente reconheceu o papel que poderia desempenhar um computador
como o ENIAC resolvendo as equações complexas envolvidas no projeto de armas atômicas.
Von Neumann ficou tremendamente entusiasmado pelo ENIAC e rapidamente se tornou
um consultor do projeto ENIAC e posteriormente do EDVAC. Em julho de 1945, ele publicou
D

um artigo intitulado ”Primeiro Rascunho do Relatório do Projeto EDVAC” (NEUMANN; D.,


1993) no qual ele apresentava 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 tanto operações lógicas como aritméticas nos
dados.

• Uma unidade de controle, que poderia interpretar uma instrução retirada da memória e
selecionar alternativas baseadas nos resultados de operações anteriores.

Esse artigo era um somatório brilhante dos conceitos envolvidos na computação por
programa-armazenado; que muitos acreditam que seja um dos documentos mais importantes
na história da computação.
2. Breve Histórico da Computação 50

Figura 2.10 – Computador ENIAC

FT
Domínio público - Fonte Wikimedia Commons
RA
Porém, embora não haja nenhuma dúvida que foi Von Neumann que fez as contribuições
principais ao projeto EDVAC, o resultado desse artigo foi que Mauchly e Eckert não receberam
quase nenhum crédito por estes conceitos novos, embora haja comprovação que eles discutiam
esses conceitos meses antes de Von Neumann se juntar ao projeto do ENIAC.
Novos projetos de computadores seguiram aperfeiçoando essas idéias precursoras. A
tecnologia original com válvulas e relés foi substituída pelos transistores e posteriormente
pelos circuitos integrados digitais, resultando no modernos computadores que utilizamos hoje
D

em dia, como veremos a seguir.

2.3.3 UNIVAC
O UNIVAC I foi finalizado em 1951 e colocado em operação no escritório de censo dos EUA. A
CPU era composta de 5.200 válvulas, trabalhando com um relógio de frequência igual a 2,25
MHz. A memória era composta de 100 linhas de retardo de mercúrio de 10 palavras.
A memória de retardo de mercúrio era composta por um tubo cheio de mercúrio, em uma
das pontas do tubo um transdutor convertia os sinais elétricos em pulsos sonoros, que se
propagavam através do mercúrio até a outra ponta. Neste ponto, havia um outro transdutor
que convertia o som em eletricidade e este sinal elétrico era reenviado para a outra extremidade.
A conversão em som, que se propaga em uma velocidade muito menor que a eletricidade,
permitia que o sinal digital fosse atrasado por uma fração de segundo, de modo que este
dispositivo funcionava como uma memória.
2. Breve Histórico da Computação 51

Figura 2.11 – Memória de Linha de Retardo de Mercúrio

© 2016 Gabriel P. Silva

FT
Todas as instruções do UNIVAC I tinham o tamanho de 6 digitos decimais (36 bits), sendo
que os dois primeiros eram o código da função, o terceiro não era usado, e os últimos 3 eram o
endereço de memória. Cada palavra continha duas instruções, sendo que a da esquerda era
executada primeiro. Havia instruções aritméticas (como Divide e Extraction), de manuseio
RA
de registradores (como Load e Store), de deslocamento (como Shift Right e Shift Left) e de
entrada/saída (como Read e Rewind).
O endereçamento de memória era feito a partir de 3 dígitos decimais (36 bits). O tamanho
da memória do UNIVAC era de 9 Kbytes, ou 1000 palavras de 72 bits cada.
Contas:

• 12 dígitos x 6 bits = 72 bits por palavra


D

• 72 bits por palavra x 1000 palavras = 72.000 bits = 72 Kbits

• 72.000 bits = 9.000 bytes = 9 Kbytes

Havia 63 possíveis caracteres disponíveis, com 6 bits cada. Qualquer combinação de doze
destes caracteres constituía uma palavra com 72 bits, que continham duas instruções com 6
caracteres cada, sendo que a segunda metade de cada instrução continha o endereço de uma
célula de memória. A memória do Univac tinha capacidade de armazenar 1000 dessas palavras.
Os dispositivos de armazenamento secundário eram fitas magnéticas (Inventory Tapes
ou Magnetic Tapes) que eram lidas pelos UNISERVO, o drive de fitas do UNIVAC. Elas eram
capazes de armazenar 1,5 MB e possuíam uma taxa de transferência de 12.800 caracteres (1,6
Kbytes) por segundo.
2. Breve Histórico da Computação 52

2.3.4 Outros Computadores - Primeira Geração


Em 1950 foi lançado o SEAC (Standards Eastern Automatic Computer), podendo realizar
11 tipos de operação como a adição, subtração, multiplicação, divisão, comparação, além
de entrada e saída. Depois de três anos, as quantidade de operações foi expandida para 16
operações. O SEAC realizava Realizava uma operação de adição em 856 microssegundos e a
multiplicação em 2980 microssegundos (perto de 3 milissegundos).

Figura 2.12 – Válvula

FT
RA
Domínio público - Fonte Wikimedia Commons
D

O SEAC era composto por 747 válvulas usadas para ampliar, inverter e armazenar a infor-
mação utilizando flip-flop dinâmico. Usava 64 linhas de retardo de mercúrio para armazenar
512 palavras de memória com cada palavra tendo 45 bits e operava com uma velocidade de
relógio de 1 MHz.
Em 1957 o SEAC foi o primeiro computador capaz de digitalizar imagens: uma imagem em
preto e branco, de baixa resolução, com apenas 5 X 5 cm, 176 pixels, e foi feita no ”National
Bureau of Standards” (NBS, agora chamado ”National Institute of Standards and Technology”,
NIST). Juntamente com alguns colegas, o engenheiro Russell A. Kirsch criou o primeiro scanner
com uso de um tambor rotativo.
A série IBM 700 foi a primeira linha de computadores empresariais da IBM. Lançado em
1953, o computador IBM Model 701 Electronic Data Processing Machine foi o primeiro da
2. Breve Histórico da Computação 53

linha, sendo sucedido pelos computadores 702, 704, 705, 709.


O modelo 701 foi um computador científico que poderia fazer mais de 2.000 multiplicações
por segundo. Logo após, em 1954, foi demonstrado o primeiro computador do modelo 702,
desenvolvido especialmente para uso comercial, mas também lidava com aplicações científicas.
O modelo 704 Data Processing System foi um computador de larga escala desenhado para
cálculos de engenharia e científicos. É sucessor do 701. Os modelos de computadores 705 e 709
são sucessores categóricos do 702 e 704, respectivamente.
Contudo esses foram os últimos computadores à válvula de relevância comercial. Por volta
do final dos anos 50, a IBM desenvolveu o computador 7090, que basicamente consistia no
modelo 709, porém marcava a época com a transição para os transistores em vez de tubos de
vácuo, como os outros.
Apesar de representar um grande avanço tecnológico, as válvulas apresentavam, contudo,
sérios problemas:

• elevado consumo de energia;

• extremamente lentas.
FT
• aquecimento demasiado provocando queima constante;

Em razão disso foram substituídas pelos transistores, que foi a tecnologia que marcou a
RA
segunda geração de computadores.

2.4 A SEGUNDA GERAÇÃO DE COMPUTADORES


D

Figura 2.13 – Transistor

Arnold Reinhold - Fonte Wikimedia Commons


2. Breve Histórico da Computação 54

Em 1957, o transistor (Figura 2.13), inventado em 1952 nos Laboratórios BELL, EUA, passou
a ser o dispositivo base da construção de computadores, pois possuía entre outras, as seguintes
características:

• mínimo aquecimento;

• gasto reduzido de energia;

• mais confiável e veloz do que as válvulas.

A segunda geração de computadores (1952 a 1964) caracteriza-se pelo uso de transistores em


substituição às válvulas. As máquinas ganharam mais potência e confiabilidade e tornaram-se
ainda mais práticas pois houve uma redução no seu tamanho e consumo. As áreas de aplicação
estenderam-se para os setores administrativos e gerenciais (além dos científicos e militares) e
começaram a ser utilizadas as linguagens de programação mais evoluídas como as linguagens
de alto nível (Fortran, Algol e Cobol).

FT
Uma equipe da IBM liderada por John Backus desenvolveu o FORTRAN, uma poderosa
linguagem de computação científica de alto nível. Alguns programadores estavam céticos
quanto ao fato de que o FORTRAN pudesse ser tão eficiente quanto a codificação manual, mas
esse sentimento desapareceu quando FORTRAN provou que poderia gerar código de forma
eficiente. Durante as décadas seguintes, a FORTRAN tornou-se a linguagem mais utilizada
RA
para a computação científica e técnica, sendo que o FORTRAN ainda tem grande utilização
hoje em dia.

Figura 2.14 – Memória de Ferrite


D

Steve Jurvetson - Fonte Wikimedia Commons

Uma outra característica importante introduzida nesta geração de computadores foi a


memória de ferrite (Figura 2.14). As rosquinhas com impulsos elétricos que definiam ”on” ou
”off” - ou 0 e 1, respectivamente, eram usadas para estender a memória e realizar cálculos.
2. Breve Histórico da Computação 55

Em 1976 praticamente todos os computadores usavam essa tecnologia, inclusive a IBM que
começou a comercializar o IBM 7050 que possuía 20 Kbytes de memória.
Nesta época foram criadas as companhias Digital Equipment Corporation (DEC) e Con-
trol Data Corporation (CDC). O primeiro lançamento da CDC foi o modelo 1604. Já a DEC
apresentou o seu primeiro computador, o PDP-1, em 1959.

2.4.1 PDP-1

Figura 2.15 – PDP-1

FT
RA
Domínio público - Fonte Wikimedia Commons
D

O PDP-1 usava um tamanho de palavra de 18 bits e tinha 4096 palavras como memória
principal padrão (equivalente a 9.216 bytes de oito bits, embora o sistema realmente utilizasse
bytes de seis bits), expansível para 65536 palavras. O tempo de ciclo da memória de núcleo
magnético era de 5 microssegundos (correspondendo aproximadamente a uma ”velocidade
de relógio” de 200 KHz). Consequentemente a maioria das instruções aritméticas levava 10
microssegundos (ou seja, até 100.000 operações por segundo) porque eles usavam dois ciclos
de memória: um para a instrução, um para a obtenção do operando. Os números com sinal
eram representados em complemento a um.
O PDP-1 utilizava 2.700 transistores e 3.000 diodos, com uma velocidade nominal de comu-
tação de 5 MHz. Utilizava como periféricos de entrada e saída, um leitora e uma perfuradora
de fita papel.
2. Breve Histórico da Computação 56

2.4.2 IBM 7000


A série de 7000 de mainframes da IBM foram os primeiros computadores transistorizados da
IBM. Entre esses, destaca-se o modelo 7030, também conhecido como ”Stretch” com palavra
de 64 bits para uso em computação científica.
Os IBM 7070, IBM 7072 e IBM 7074 eram máquinas decimais, com comprimento fixo de
palavra. Eles usam uma palavra de dez dígitos, assim como o menor e mais antigo IBM 650.
O formato dos dados, como dito, eram formados a partir uma palavra decimal com 10
dígitos, podendo ser positiva, negativa ou alfanumérica. Todas as instruções possuíam apenas
uma palavra, sendo dois dígitos para o código da operação, dois dígitos para indicar o registra-
dor de índice e dois dígitos para um campo de controle, permitindo selecionar conjunto de
dígito, deslocamento para esquerda ou direita e, finalmente, 4 dígitos eram reservados para o
endereçamento.
Todos os registradores utilizavam uma palavra e podiam também ser endereçados como

FT
parte da memória. Havia três acumuladores, além de um registrador de programa, que guardava
a instrução sendo executada, um contador de instruções e 99 registradores de índice.
A memória possuía entre 5000 e 30000 palavras, dependendo do modelo, com um tempo
de acesso também variando entre 4 e 6 us. O tempo de operação de adição estava entre 10 us,
nos modelos mais recentes como 7074, e 72 us nos modelos mais antigos (7070).
RA
2.5 A TERCEIRA GERAÇÃO DE COMPUTADORES
Nesta geração (1964 a 1971) o elemento tecnológico mais significativo é o surgimento do
circuito integrado (encapsulamento de uma grande quantidade de componentes discretos:
resistências, condensadores, diodos e transistores), surgido em 1964.
Em 1960, a IBM lança o IBM/360 que marcou uma nova tendência na construção de
D

computadores, o uso de circuitos integrados (CI), as quais em uma única peça, incorporavam
o equivalente a dezenas de transistores já interligados. Esses circuitos integrados também são
conhecidas informalmente como ”chips” ou pastilhas.
A miniaturização se estende a todos os circuitos do computador aparecendo os minicompu-
tadores. O software evoluiu consideravelmente, com um grande desenvolvimento dos sistemas
operacionais. (multiprogramação, tempo real e modo interativo). As memórias de semicondu-
tores e os discos magnéticos passaram a ser utilizados como os principais componentes da
memória principal e secundária, respectivamente.

2.5.1 A série PDP-11


O PDP-11 foi uma série de minicomputadores de 16 bits fabricada pela empresa Digital
Equipment Corporation nas décadas de 1970 e 1980. A série de minicomputadores PDP-11
2. Breve Histórico da Computação 57

vendeu a surpreendente quantia de aproximadamente 600.000 de unidades, somando todos os


seus modelos, até a década de 90.
Foi um computador de muito sucesso na comunidade universitária foi o computador da
Digital PDP-11, com diversos modelos em uso em várias universidades de todo o mundo. Esse
computador foi a base para o desenvolvimento de linguagens de programação como o “C”
e sistemas operacionais inovadores como o Unix, que deu origem aos sistemas operacionais
como Linux, Debian e similares.
Esta série foi pioneira também na interconexão de todos os elementos do sistema — proces-
sador, memória RAM e periféricos — com um único barramento de comunicação, bidirecional,
assíncrono. Este dispositivo, chamado Unibus, permitia aos dispositivos enviar, receber ou
trocar dados sem a necessidade de uma passagem intermediária pela memória.
Algumas de suas características de projeto viriam a influenciar a maioria de computadores
do final da década de 1970 como o Intel x86.

FT
As tecnologias utilizadas nos processadores e memórias dos computadores da série PDP-11
passaram por algumas modificações profundas logo na sua primeira década de comercialização,
passando de um processador transistor-transistor para um circuito integrado, e a utilização de
memórias semicondutoras ao invés das memórias de Ferrite usadas anteriormente.
Toda a série possuía uma arquitetura CISC de 16 bits. Seus processadores se utilizavam de
unidades de controle não-microprogramadas nos primeiros modelos, e microprogamadas nos
RA
seguintes. Traziam 8 registradores de 16 bits, sendo 6 de uso geral, 1 registrador de instruções
e 1 apontador de instruções. A velocidade do processador variou de modelo para modelo, e de
acordo com cada instrução, mas giravam em torno da ordem de 1,5 microssegundos por ciclo.
O PDP-11, em seus modelos iniciais, trazia memória máxima de 64 KB, sendo 8 KB desti-
nados exclusivamente para E/S, já que era um barramento único para os periféricos e acesso à
memória, totalizando 56 KB livres para uso.
D

2.5.2 O IBM 1130


O IBM 1130 foi introduzido no mercado em 1965 e era o “mais barato” computador da IBM na
época. Foi criado com intuito de ser uma máquina de bom custo-benefício pois era voltada à
mercados técnicos como educação e engenharia.
A IBM implementou 5 modelos da CPU do 1131, que era o componente primário do
processamento do IBM 1130. Os modelos de 1 a 5 descreviam o tempo do ciclo de memória,
variando entre 2,2 e 5,6 us, assim como a capacidade do modelo de suportar armazenamento
em disco ou não. As letras de A até D indicavam a quantidade de memória instalada, que
variava de 4 K até 32 K palavras.
O IBM 1130 utilizava os mesmos componentes eletrônicos que usados no System/360,
chamado de Solid Logic Technology (SLT). Ele possuía uma arquitetura de 16 bits. O tamanho
do endereço era de 15 bits limitando o 1130 a 32,768 palavras de 16 bits (65,536 bytes) de
memória.
2. Breve Histórico da Computação 58

O IBM 1130 foi o primeiro produto à possuir discos removíveis, também chamados de
“Ramkit”. O disco era organizado em 203 cilindros, duas superfícies, quatro setores por superfície
e 321 palavras de 16 bits por setor.
O leitor de cartão 1442 era a mais barata das extensões de E/S que o 1130 poderia utilizar,
sendo que possuía uma velocidade de 400 cartões por minuto.

2.5.3 CDC 6600


O CDC 6600 foi um computador do tipo mainframe produzido pela Control Data Corporation
para aplicações científicas. Foi lançado em 1964 e foi considerado o computador mais veloz do
mundo de 1964 até 1969. O processador central tinha a capacidade de processar 3 milhões de
instruções por segundo, sendo que era uma arquitetura do tipo load/store.
O CDC 6600 foi considerado um precursor da arquitetura RISC, apesar de ainda ser
microprogramado e ter registradores para tarefas específicas.

FT
Os programas do usuário estão restritos a usar apenas uma área contígua de memória
principal.
A totalidade do espaço de endereçamento de um processo deveria estar na memória
principal, devendo ser contíguo e o seu tamanho não pode ser maior do que a capacidade de
memória real.
A sua unidade de processamento, refrigerada a gás freon, tinha como principais caracterís-
RA
ticas:

• 8 registradores de 60 bits para funções gerais.

• 8 registradores de 18 bits para endereçamento.

• 8 registradores de 16 bits para incremento.


D

• Não tinha instruções de E/S.

• Frequência de relógio de 10 MHz

• Execução de uma instrução por ciclo no melhor caso.

• Conjunto de instruções pequeno, aumentando o seu desempenho.

A unidade central de processamento de números era apoiada por 10 computadores simples,


chamados de ”processadores periféricos” para lidar com a E/S e partes substanciais do sistema
operacional.
Além disso, os processadores periféricos eram computadores completos, sendo que as
instruções eram executadas de maneira circular nos processadores periféricos, similar ao
multithreading que temos hoje.
O acesso à memória era limitado e bem definido. havendo instruções separadas para E/S e
processamento de dados, a uma taxa de uma instrução por ciclo de relógio.
2. Breve Histórico da Computação 59

2.6 A QUARTA GERAÇÃO DE COMPUTADORES

Figura 2.16 – Intel 4004

FT ©Intel

Em 1971, a Intel Corporation lançou o seu primeiro microprocessador, que consistia na


inclusão de toda a CPU de um computador num único circuito integrado, chamado de Intel
RA
4004 (Figura 2.16). Após o Intel 4004, que era um pequeno microprocessador de 4 bits, vieram
o 8008, 8080 (um dos microprocessadores mais vendidos em todo o mundo) e o 8085.
Desde então, os microprocessadores expandiram o seu poder computacional e suas apli-
cações, sendo utilizados hoje no controle desde impressoras a laser, computadores pessoais,
servidores comerciais e supercomputadores.
Esta tecnologia permitiu a construção de computadores muito compactos. Esta época
ficou marcada pelo surgimento do computador pessoal ou microcomputador, e é também o
D

início da utilização do disquete, um disco magnético flexível e removível, como unidade de


armazenamento.
No campo dos computadores de grande porte, o IBM introduziu o IBM 370 no mercado no
ano de 1970, sendo o sucessor direto do modelo 360, mantendo compatibilidade para permitir
uma migração mais simples para os usuários.
Podemos destacar como suas características o uso de memória principal do computador
constituída inteiramente com tecnologia de semicondutores. O processador também fazia uso
de circuitos integrados para a realização de funções lógicas e aritmética, com velocidade do
processador era de 12,5 MHz e possui suporte total para memória virtual.
Surgiu uma grande quantidade de linguagens de programação, bem como o início do uso
das redes de transmissão de dados para a interligação de computadores.
Steve Wozniak e seu melhor amigo Steve Jobs lançaram o Apple-I, que vendeu cerca de 200
placas e, um ano mais tarde, o Apple II, um modelo que vendeu milhões de unidades.
2. Breve Histórico da Computação 60

O Cray I foi o primeiro processador vetorial bem sucedido comercialmente. Era o computa-
dor mais rápido no seu tempo, entre outros fatores, devido ao seu formato inovador, um “C”,
para reduzir o comprimento dos fios.

2.6.1 Altair 8800


O kit de computador Altair 8800, baseado no microprocessador Intel 8080 foi um grande
sucesso. Bill Gates e Paul Allen licenciaram o BASIC como a linguagem de software do Altair.
A unidade de controle do processador usado no Altair 8800, o Intel 8080 LSI, é do tipo
microprogramada, com 8 registradores de propósitos gerais de 8 bits de largura, apontador de
instruções (PC), acumulador e registrador de ponteiro de pilha e velocidade de 2,0 MHz.
O Altair 8800 básico possuía 256 bytes de memória RAM, sendo que cada endereço tem 16
bits de largura. A memória podia ser expandida para ter até 65 KB. Além disso, o Altair 8800
possuía os seguintes modos de endereçamento: direto, indireto e imediato.

FT
O kit básico do Altair 8800 vinha apenas com a memória de 256 bytes, mas era possível
expandi-la para até 65 KB, sendo assim não tinha dispositivo de armazenamento secundário.
Porém era possível comprar separadamente drivers de disquete (na época se usavam os de
8 polegadas, ou 200 milímetros). Os mais robustos podiam armazenar até 1 MB.

2.6.2 VAX 11/780


RA
Figura 2.17 – VAX 11/780
D

By Emiliano Russo, Associazione Culturale VerdeBinario (Public domain), via Wikimedia Commons
2. Breve Histórico da Computação 61

O VAX-11/780 (Virtual Address eXtension) foi lançado em 25 de outubro de 1977, sendo


o primeiro computador a implementar a arquitetura VAX. Sua CPU foi construída com uso
de circuitos integrados com a tecnologia de lógica transistor-transistor (TTL), com 200 ns de
tempo de ciclo de relógio (ou seja, com frequência de 5 MHz), utilizando uma memória cache
de 2 KB.
O VAX-11/780 suportava de 128 KB até 8 MB de memória, com código de correção de erro,
através de um ou dois controladores de memória.
O VAX possuía 16 modos de endereçamento, 16 registradores de 32 bits cada, nomeados de
R0 a R15.
Uma característica significante da arquitetura do VAX 11-780 é que seu endereçamento
de instrução é virtualmente arbitrário. Isso significa que não tem formatos fixos e nenhuma
restrição em relação a localização de um operando para uma instrução em particular. Sendo
assim, operandos e instruções podem começar em qualquer endereço de byte, impar ou par. O

2.7 FT
resultado dessa flexibilidade é o alto nível dos compiladores de linguagem de alto nível, como
por exemplo o FORTRAN.

A QUINTA GERAÇÃO DE COMPUTADORES (1981-1990)


Surgimento do microprocessador RISC nas universidades como alternativa às arquiteturas
RA
tradicionais do tipo CISC marcou esta geração de computadores (1981 a 1990).
O lançamento comercial dos primeiros microprocessadores CISC de 32 bits foi outro marco
tecnológico desta geração. O início da utilização de processamento paralelo, além do que era
utilizado tradicionalmente como processamento vetorial e ”pipelining”. Ocorreu o aumento
da escala de integração dos circuitos integrados e houve a disseminação do uso da memória
semicondutora em todos os tipos de computadores, além da definitiva popularização do uso
dos microcomputadores pessoais.
D

O computador Intel iPSC-1 com até 128 processadores e sua topologia de interconexão
hipercúbica se tornou um marco na computação paralela nesta época. O sistema Sequente
Balance 8000 conectava até 20 processadores a um único módulo de memória compartilhada
com sistema operacional Unix é um outro exemplo de arquitetura desta geração. Houve também
o desenvolvimento e disseminação do uso da tecnologia de rede local para interconexão dos
computadores.
Como destaque para esta época, temos também os computadores científicos com proces-
samento vetorial como Cray e Thinking Machines com desempenho de cerca de 1 GFlops
(operações aritméticas de ponto flutuante por segundo), além do aumento da qualidade da
visualização científica com estações de trabalho dedicadas.
Em 1987 a Sun lança a primeira estação de trabalho com microprocessadores RISC e nesta
época a Apple introduz os computadores pessoais Macintosh II e Macintosh SE. A AT&T
anuncia um plano para adquirir 20% da Sun Microsystems, e desenvolver a nova geração do
2. Breve Histórico da Computação 62

sistema operacional UNIX.


A Intel anuncia o microprocessador 80486 e o chip RISC i860 RISC, ambos com mais de um
milhão de transistores.
Ao final da década o número de microcomputadores no mundo excedia 100 milhões. Ao
final desta década, a IBM anuncia o sistema 390, seu computador mainframe para os anos 90.

2.8 A SEXTA GERAÇÃO DE COMPUTADORES (1990-?)


Podemos dizer que a sexta geração de computadores estende-se desde o ano de 1990 até os dias
de hoje. Foi caracterizada pela consolidação do uso dos microprocessadores RISC de 32 bits
superescalares com processamento de ponto flutuante integrado nos sistemas comercializados.
Além disso, as arquiteturas de processamento maciçamente paralelo tiveram um grande
impulso, principalmente a partir dos anos 2000 como resultado nos EUA da implantação da

FT
Iniciativa de Computação Científica Acelerada (ASCI- Accelerated Scientific Computing Initia-
tive), que deu origem a diversos projetos de computação científica para uso nos laboratórios
nacionais de computação científica nos EUA.
Nesta geração surgem também as linguagens de programação orientadas a objeto como
JAVA, além do surgimento das primeiras versões dos sistemas operacionais Windows e MacOS.
Houve um crescimento e evolução das redes de computadores, resultando na internet, a partir
RA
de 1994.
Na área da computação científica, além do desenvolvimento dos supercomputadores, com
uso maciço de computação paralela, surgiram as bibliotecas e APIs de programação paralelas
como MPI e OpenMP.
Novas gerações de computadores com certeza se seguirão na medida em que a tecnologia
de fabricação dos computadores evolua.
D

2.8.1 ASCI White


O ASCI White foi um supercomputador instalado no Lawlence Livermore National Laboratory
(LLNL). Completado em Junho de 2000, ele foi transportado para os laboratórios na mesma
época. Foi oficialmente nomeado como o supercomputador mais rápido do mundo em 15 de
Agosto de 2001. O computador alcançava 12,3 trilhões de operacões de ponto flutuante por
segundo. Ele tinha um total de 6TB de memória principal SDRAM, e o sistema era formado
por mais de 200 gabinetes que preenchem uma grande sala e com um peso 106 toneladas.
O sistema operacional utilizado era o AIX da IBM. Os aplicativos do usuários podem
ser desenvolvidos usando uma variedade de linguagens, incluindo FORTRAN, C/C++. Ele
possui um espaço de armazenamento de 160 TB. O ASCI White possuía 512 unidades de
processamento, cada uma com 16 processadores e sua respectiva memória RAM e discos
rígidos.
2. Breve Histórico da Computação 63

Figura 2.18 – Supercomputador ASCI White

FT
Foto extraída de https://www.top500.org/featured/systems/asci-white-lawrence-livermore-national-laboratory/

A arquitetura desse supercomputador é baseado no conjuto de instruções PowerPC, que


é RISC e do tipo load/store, que só permite acesso direto à memória por meio dessas duas
RA
operações, sendo necessário o uso do conteúdo de registradores para todas as outras. O poder
de processamento dessa máquina vem de 8102 unidades do IBM POWER3-II, cuja arquitetura
é de 64 bits, separadas em grupos de 16 por unidade de processamento. Sua frequência de
clock era 375 MHz.
Para instruções envolvendo valores inteiros, existiam 48 registradores de 64 bits em cada
processador, sendo 16 usados para a implementação da renomeação de registradores. Para a
realização de operações com inteiros, havia 3 ULA’s. Já para instruções envolvendo valores em
D

ponto-flutuante, os processadores possuíam cada um 56 registradores, também de 64 bits, dos


quais 24 servem para renomeação de registradores. A renomeação de registradores tinha como
objetivo trocar o registrador que está sendo usado como parâmetro em alguma instrução, caso
haja uso repetido de registradores sem existir dependência entre uma instrução e o resultado
de outra.

2.8.2 Tianhe-2
Só muito recentemente a China entrou na corrida para a instalação de supercomputadores,
mas o fez de uma maneira vigorosa e já apresenta diversos computadores na lista dos 500
computadores mais rápidos do mundo. Em junho de 2013 a China já possuía 54 computadores
inscritos nesta lista.
Em junho de 2013, para substituir o Tianhe-1A, surge o Tianhe-2 (Milky Way-2), cujo
2. Breve Histórico da Computação 64

desenvolvimento foi patrocinado pelo programa State High-Tech Development Plan. Construído
na National University of Defense Technology localizada na cidade de Changsha, província de
Hunan.
As suas principais características são:

• 16.000 nós computacionais;

• 3.120.000 núcleos de processadores inseridos em:

– 32.000 Intel Xeon E5-2692 12C com 2,2 GHz


– 48.000 Intel Xeon Phi 31S1P

• 17.6 MW de consumo de energia e 6.4 MW gastos em refrigeração

• 12,4 PB em capacidade de armazenamento

FT
• Memória de 1,375 TB (1,0 TB direto para CPU e 0,375 TB para o Coprocessador Xeon
Phi)

• Rede de interconexão com 13 switches de 574 portas

O poder de processamento medido usando o benchmark HPL foi de 33,8 PFlops, sendo que
o desempenho de pico estimado era de 54,9 PFlops. Quando medido, o total de energia utilizada
RA
foi de 17,6 MW, o melhor computador então na lista dos Top500 em termos de consumo de
energia.
O segredo para atingir tais resultados, vem da combinação dos processadores Xeon e Xeon
Phi, onde parte do processamento é dividida entre processadores convencionais (Xeon) e parte
entre os aceleradores (Xeon Phi).
D

2.9 COMPUTADORES NO BRASIL


O Brasil possui também um rico histórico de computadores projetados e construídos no
país, seja a nível comercial ou acadêmico, com produção de computadores com ”hardware”
e sistemas operacionais completos com tecnologia totalmente nacional. Procuramos relatar
alguns casos de sucesso nesta seção.
Um dos autores deste livro teve a oportunidade de participar dos seguintes projetos
industriais e acadêmicos: X10 e X20 (RODRIGUES; SILVA, 1986) na Cobra Computadores,
Pegasus-32X/Plurix (FALLER et al., 1984), (FALLER et al., 1985) e Multiplus (AUDE et al., 1990),
(AUDE et al., 1996) no NCE/UFRJ e NCP-I e NCP-II (AMORIM et al., 1996) na COPPE/UFRJ,
além de ser responsável pelo supercomputador Netuno, instalado em 2008 na UFRJ. Procuramos
trazer aqui também um pouco da história e da descrição das características técnicas desses
projetos.
2. Breve Histórico da Computação 65

2.9.1 Computador Zezinho


As primeiras iniciativas no projeto de computadores nacionais foram acadêmicas, sendo um
dessas primeiras o projeto de um computador denominado “Zezinho” (Figura 2.19), feito por
quatro alunos do ITA, em São José dos Campos. José Ellis Ripper, Fernando Vieira de Souza,
Alfred Volkmer e András György Vásárhelyi, orientados pelo Prof. Tien Wei Chu e seguidos de
perto pelo Prof. Darcy Domingues Novo, sob a supervisão do chefe da Divisão de Eletrônica,
Prof. Dr. Richard Robert Wallauschek. Além deles, colaboraram com o grupo os funcionários
do ITA Moisés Garcia, Vicente Miranda e a Dra. Cláudia Juigné no projeto e construção do
Zezinho, um computador didático que utilizava apenas componentes nacionais (cerca de 1500
transistores).

Figura 2.19 – O Computador Zezinho

FT
RA
D

Foto extraída de http://www.aeitaonline.com.br/wiki/index.php?title=Zezinho

Em 1963 o Zezinho passou por uma revisão e evolução realizadas pelo formando Valdemar
Waingort Setzer, adquirindo sua forma final, parar utilização em aulas e para demonstrações .
O que foi possível levantar de sua arquitetura é que tinha apenas 8 posições de memória
de 8 bits, onde cada bit era implementado por um circuito biestável feito com transistores.
Havia acesso a cada bit de cada posição por meio de um painel, com uma placa de baquelite
(uma placa feita de material não condutor utilizado para montagens experimentais) com 2
pontos de solda para cada bit. Cada par de pontos estava ligada a um biestável: um ponto à
2. Breve Histórico da Computação 66

base de um dos transistores, o outro à base do outro transistor. Para alterar o estado de um
bit, bastava encostar em um ponto de solda daquela placa uma ”caneta” com ponta de metal,
aterrada. Ou seja, essa era uma forma, bem primitiva, para realizar a entrada de dados no
computador. Para cada bit havia no painel uma lampadinha, acionada por um dos transistores
do biestável correspondente; quando ela estava acesa, por definição o bit estava com o valor
”1”, se apagada, ”0”. Havia pouquíssimas instruções, entre elas uma soma. Combinando-se
várias somas podia-se fazer uma multiplicação.
Enfim, nada que pudesse ser utilizado comercialmente. Depois de algum tempo o protótipo
foi desmontado, embora alguns de seus participantes, como José Ellis Ripper, viessem a se
tornar personagens importantes da indústria de informática durante a época da reserva de
mercado.

2.9.2 Lourinha

FT
No curso de eletrônica do IME/RJ teve o início em 1958 o projeto de um computador, com
uma parte analógica e outra digital, culminando com um projeto de fim de curso da turma de
1960. O computador, além da parte digital, incluía circuitos analógicos capazes de simular, em
tempo real, sistema de equações diferenciais e com isto resolver problemas complexos.
O computador foi batizado informalmente como ”Lourinha” e teve como participantes em
sua equipe os seguintes professores:
RA
• Antônio M. Chaves

• Antônio J. Duffles Amarante

• Danilo Marcondes

• Rubens Carrilho
D

• Wherther Vervloet

• Helmut Schreyer

Foi um protótipo construído a válvula e após a defesa do projeto a máquina foi desmontada
e transformada em placas para o estudo da Arquitetura de Computadores.

2.9.3 O Patinho Feio


Em 1971, no Laboratório de Sistemas Digitais (LSD) da Universidade de São Paulo (USP) foi
desenvolvido um computador de 8 bits utilizando circuitos integrados e 4 KB de memória,
apelidado de Patinho Feio.
O Patinho Feio era composto de 450 pastilhas de circuitos integrados, contendo cerca
de três mil blocos lógicos, distribuídos em 45 placas de circuito impresso e cinco mil pinos
interligados segundo a técnica ”wire-wrap”.
2. Breve Histórico da Computação 67

Figura 2.20 – O Computador Patinho Feio

FT
Foto extraída de https://pt.wikipedia.org/wiki/Patinho_Feio
RA
Nessa época, Glen Langdon (IBM), Jim Rudolph (HP), dentre outros, eram engenheiros
de empresas estrangeiras que atuavam como professores de cursos que visavam à criação da
competência para desenvolver computadores.
O Patinho Feio foi feito como parte de um exercício prático que teve a participação de
cerca de 10 alunos pós-graduandos .
De acordo com o responsável pela criação e desenvolvimento do Patinho Feio, Prof. Antônio
Hélio Guerra Vieira (USP), apesar de o projeto ser ambicioso, o computador era de pequeno
D

porte (similar ao PDP-8 da Digital), com arquitetura clássica de 8 bits de largura e cerca de 8
KB de memória. O Patinho Feio, tinha um metro de altura, 80 centímetros de largura, pesava
mais de 1.000 quilos era composto de 450 pastilhas de circuitos integrados, clico de máquina de
2 us, contendo cerca de três mil blocos lógicos, distribuídos em 45 placas de circuito impresso
e cinco mil pinos interligados segundo a técnica ”wire-wrap”. Como entrada e saída eram
utilizadas uma unidade de fita de papel, impressora, terminal de vídeo e plotter. Apesar de
muito famoso, não há maiores detalhes além dos apresentados aqui sobre a sua arquitetura.

2.9.4 O minicomputador G-10


Nesta época, a Marinha — que comprava, na Inglaterra, modernas fragatas informatizadas —
formou, com o Banco Nacional de Desenvolvimento Econômico (BNDE), um Grupo de Trabalho
Especial (GTE), para executar um programa de preparação de engenheiros que entendessem
de projeto, fabricação e manutenção de computadores.
2. Breve Histórico da Computação 68

Figura 2.21 – O Computador Cobra 700

FT
Foto extraída de (RODRIGUES, 1984)
RA
Em 24 de julho de 1972, o GTE assinou um documento com a USP e com a firma E.E.
(Equipamentos Eletrônicos) para o desenvolvimento, em dois anos, do que se chamava na
época de minicomputador. O projeto, que acabou sendo realizado entre a USP (na parte de
hardware) e a PUC-RJ (no desenvolvimento do software), foi entregue em 1975.
Tratava-se de um protótipo industrial mais compacto, seguindo os recursos da época, de
mais fácil montagem e com componentes periféricos, que recebeu o nome de G-10. Segundo
D

(CARDI; BARRETO, 2012), o G-10 tinha as características de um protótipo, o que não aconteceu
com o Patinho Feio. Possuía documentação com desenhos e especificações, além de software e
sistema operacional desenvolvido pela PUC-RJ.

2.9.5 Cobra Computadores


Em 1974 foi fundada no Rio de Janeiro a Cobra (Computadores Brasileiros S.A.) resultado
da associação de capitais do Governo (BNDE), da iniciativa privada nacional (Equipamen-
tos Eletrônicos — E.E.) e de um sócio estrangeiro (Ferranti, inglesa). A Cobra iniciou suas
atividades produzindo o Cobra 700, com aplicação em controle de sistemas, com tecnologia
da firma inglesa Ferranti. Lançou em seguida, para atender a necessidade dos bancos, que
tinham grande necessidade de equipamentos de entrada de dados, a Cobra a adquiriu da
Sycor, firma americana, a licença para fabricar o Sycor 440, um minicomputador baseado em
microprocessadores 8080, da lntel, aqui denominado Cobra 400.
2. Breve Histórico da Computação 69

Estas iniciativas só foram possíveis devido à criação da reserva de mercado pela Comissão de
Coordenação das Atividades de Processamento Eletrônico (Capre), organismo governamental
que cuidava da política do setor, que estabeleceu que a faixa de mercado para minicomputa-
dores, microcomputadores e seus periféricos seria reservada para produtos fabricados com
tecnologia nacional.
Em setembro de 1977, no VII Secomu, realizado em Florianópolis/SC, sob influência da Capre
e da Finep que estava financiando o projeto, os executivos da empresa Cobra comprometeram-
se a tocar o projeto do G-10 de forma mais efetiva. O computador foi reprojetada, passando a
ser chamado de G-11. Já era multiusuário, mas ainda sem o efetivo comprometimento da Cobra
na sua industrialização. Porém, quando houve a decisão da Cobra em assegurar o projeto, a
máquina foi novamente reprojetada, originando a linha Cobra 500.
O Cobra 530, baseado no projeto do G-10, lançado no início da década de 80, foi o primeiro
computador totalmente projetado, desenvolvido e industrializado no Brasil, sendo que o

FT
comandante José Luiz Guaranis foi personagem de destaque nas articulações para a formação
da Cobra.
Esse computador foi lançado comercialmente no ano de 1980, no congresso da SUCESU, no
Rio de Janeiro, sendo que foi o primeiro minicomputador totalmente projetado, desenvolvido
e industrializado no Brasil, chamado de Cobra 530. Essa linha evoluiu com o lançamento de
outros modelos, todos com o sistema operacional SOD, também desenvolvido na Cobra.
RA
Outros produtos lançados pela Cobra (RODRIGUES, 1984) incluíam também os microcom-
putadores de 8 bits - o Cobra 300 e o Cobra 210, seus terminais de vídeo da linha TD e TR. Um
dos últimos projetos realizados na Cobra foi a linha X - micros e super-microcomputadores
baseados em processadores Motorola, que, nos modelos maiores X-3030 e X-3035, incorpo-
ravam arquitetura de multiprocessamento, uma grande novidade na época. Equipava essa
família o sistema operacional SOX (CARDOSO, 2013), compatível com o Unix e reconhecido
internacionalmente pelo X-Open. Hoje em dia a Cobra ainda atua no mercado apenas como
D

integradora de sistemas devido ao fim da reserva de mercado em 1992.


A seguir uma relação mais detalhada deste componentes:

• Cobra 700 (1977) – Minicomputador – Primeiro computador lançado pela Cobra, de


tecnologia importada, era baseado no Argus 700 da inglesa Ferranti.

• Cobra 400 (1977) – Minicomputador – Os primeiros Cobra 400 eram o modelo Sycor
440 importados da empresa americana Sycor, pouco tempo depois a Cobra desenvolveu
o Cobra 400 II. O Cobra 400 era um minicomputador baseado em microprocessadores
8080, da Intel.

• TD 200 (1979) – Terminal – Terminal inteligente de entrada de dados. Tinha 32 kB de


RAM e duas unidades de disquete de 8 polegadas, densidade simples, e era baseado no
microprocessador Intel 8080, de 8 bits.
2. Breve Histórico da Computação 70

• Cobra 300 (1979) – Microcomputador – Originário do TD 200, era um equipamento


monoposto autônomo, memória RAM de 48 KB e disquete de densidade dupla, era
baseado no microprocessador Intel 8080, de 8 bits.

• Cobra 530 (1980) – Minicomputador de 16 bits – Primeiro computador desse porte


totalmente projetado, desenvolvido e industrializado no Brasil.

• Cobra 305 (1981) – Microcomputador – Um modelo mais avançado que sucedeu o Cobra
300, a memória RAM era de 64 KB e disquete de dupla face com 1 MB, era baseado no
microprocessador Z80A da Zilog, de 8 bits.

• Cobra 520 (1982) – Minicomputador de 16 bits – Era uma versão reduzida do Cobra 530

• Cobra 540 (1983) – Minicomputador de 16 bits – Versão modernizada e com maior


capacidade de memória (1 Mbytes) e de terminais (até 64) do Cobra 530

FT
• Cobra 210 (1983) – Microcomputador – Os programas aplicativos desenvolvidos para o
Cobra 300 e Cobra 305 podiam ser utilizado pelo Cobra 210, tinha 64 KB de RAM e era
baseado no microprocessador Z 80B, aceitava disco rígido Winchester de 5 a 10 MB.

• Cobra 480 – Supermicro/Mini de 16 bits

• Cobra 580 – Minicomputador de 16 bits – Era uma versão reduzida do Cobra 540.
RA
• Cobra 1000 – Supermini – Computador fabricado sob licença da americana Data General.

• X-10 (1987) – Minicomputador de 32 bits – Baseado no processador Motorola 68010

• X PC (1987) – Microcomputador – Primeiro microcomputador compatível com IBM


PC/XT.
D

• X-20 (1989) – Minicomputador de 32 bits – Baseado no processador Motorola 68020.

• X-30 – Minicomputador de 32 bits – Baseado no processador Motorola 68030.

• X-3030 – Minicomputador de 32 bits – Baseado no processador Motorola 68030

• X 386S 00 Microcomputador – Baseado no microprocessador Intel 80386.

• MP 486 EISA – Microcomputador – Microcomputador Medidata comercializado pela


Cobra, baseado no microprocessador Intel 80486.

• MP 486XM – Microcomputador – Baseado no microprocessador Intel 80486 DX2.

Apresentamos a seguir uma lista mais detalhada das características dos computadores das
linhas X-10 e X-20. O processador utilizado na linha X-10 era o Motorola 68010, de 16 bits, com
frequência de 10 MHz. O processador Motorola 68020, com 32 bits e frequência de 20 MHz,
além de um coprocessador de ponto flutuante, foram utilizados no projeto do X20. A capacidade
2. Breve Histórico da Computação 71

de memória principal era de até 4 MB no X10 e de até 32 MB no X-20. O computadores da linha


X-10 possuíam controlador de gerência de memória virtual externa, por segmentação. Um
controlador de gerência de memória por paginação, integrado ao processador, era utilizado nos
computadores da linha X-20. Ambos possuíam memória EPROM de 128 Kbytes, controladores
de disco ”winchester”, controladores de linhas síncronas (ambos com 2), controladores de
linhas assíncronas( X10 com 16 linhas e X20 com 32 linhas) e interface para impressora paralela.
O X20 possuía interface para periféricos no padrão SCSI e discos SMD, mas o X10 não.

2.9.6 Outras Iniciativas


Entretanto, os computadores desenvolvidos pela indústria nacional não se limitaram à expe-
riência da Cobra. Diversas outras firmas foram criadas naquele período e diversos sistemas
desenvolvidos, dos quais podemos relacionar: Microdigital, Prológica, Microtec, Scopus, Itautec,
SID/Sharp, Edisa, Sisco, entre outras. Essas firmas, fundadas no final da década de 70 e início da

FT
década de 80, tinham produtos inicialmente baseados em microprocessadores de 8 bits, como
o Z80 da Zilog e 8080 da Intel, rodando sistemas operacionais bastante simples, compatíveis
com o CP/M, o padrão internacional naquele momento. Posteriormente, passaram a utilizar
micros de 16 bits, adotando o padrão IBM/PC e o sistema operacional DOS e posteriormente o
Windows.
Na Tabela 2.1 apresentamos alguns dados obtidos do relatório ”A Política Nacional de Infor-
RA
mática, a Indústria Nacional de Desenvolvimento Tecnológico”, da Abicomp/SBC, de maio de
1984. Podemos observar nesta tabela os principais micro e minicomputadores produzidos pela
indústria nacional em 1984, com os respectivos índices de nacionalização, ou seja, percentual
de componentes produzidos no Brasil.

A seguir apresentamos um relatório do ano de 2009, indicando o que aconteceu com as


D

principais empresas fundadas durante a reserva de mercado (DINHEIRO, 2009):

• Cobra - Uma das primeiras empresas a produzir tecnologia genuinamente brasileira na


área de informática. Resultado de uma parceria entre a E.E. Eletrônica, o BNDES e a
inglesa Ferranti, em 1974. Atualmente, pertence ao Banco do Brasil e transformou-se em
uma fornecedora de soluções tecnológicas.

• Scopus - Criada em 1975 pelos professores da Escola Politécnica da Universidade de São


Paulo (USP), Josef Manasterski, Célio Yoshiyuki e Edson Fregni. Na época, tinha capital
aberto e uma equipe de 1,5 mil funcionários. Foi vendida ao Bradesco em 1989, grupo do
qual faz parte até hoje.

• Edisa - Fundada em 1977, tinha como acionista majoritário o grupo Iochpe. Associou-se
à HP na década de 80, que a incorporou em 1992. O ex-presidente da Edisa Flávio Sehn
assumiu a presidência da HP do Brasil. Atualmente, o executivo se dedica a projetos de
reflorestamento.
2. Breve Histórico da Computação 72

Tabela 2.1 – Índice de nacionalização

Empresa Produto Índice


Micros
Cobra C-210 0,926
Cobra C-305 0,934
Edisa ED-281 0,860
Itautec I-7000 0,870
Labo 8221 0,897
Microtec PC 2001 0,879
Polymax MAXXI 0,902
Prológica CP-500 0,890
Scopus NEXUS-1600 0,939
SID SID-3000 0,960
Minis
Cobra C-540 0,983
Edisa ED-381 0,850
Labo
Medidata
SID
Sisco
FT 8034
M.2001
Linha 5000
S-10.000
0,891
0,891
0,890
0,955

• SID - Criada pelo empresário Mathias Machline, em 1978, a partir do consórcio formado
RA
pela Sharp, Inepar e Dataserv. Filiada da Sharp, entrou na Justiça com pedido de concor-
data preventiva, em 2001. A dívida da companhia era de R$ 100 milhões. Chegou a ter
25% do mercado de terminais bancários.

• Elebra - Fundada em 1979. Em um primeiro momento, foi desmembrada e vendida aos


pedaços. A Alcatel ficou com uma parte. A Digital, com outra. Parte dos ativos foi para
a Unysis. Em 2002, acabou com 11 pedidos de falência, 400 títulos protestados e uma
dívida estimada em R$ 21 milhões.
D

• Microtec - Empresa criada em 1982 por um grupo de professores universitários. Em 1997,


se uniu ao Grupo Vitech America Inc., elevando a capacidade instalada de produção
para 150 mil máquinas ao ano. Em 2001, a Vitech pediu concordata nos EUA em razão
de briga com a fabricante de PCs Gateway.

• Itautec - Originou-se como um braço interno do Grupo Itaú, em 1979, para desenvolver a
automação bancária. Hoje é um fornecedor global do setor de tecnologia com operações
em nove países: Argentina, Brasil, Chile, Equador, Espanha, Estados Unidos, Portugal,
México e Venezuela. Atua nas áreas de software, hardware e serviços. Possui mais de
cinco mil funcionários.

• Prológica - Em março de 1976, os engenheiros Leonardo Bellonzi e Joseph Blumenfeld


resolveram comercializar o protótipo da máquina contábil que acabavam de montar.
Seis meses depois, lançaram o equipamento no mercado e atingiram o terceiro lugar na
2. Breve Histórico da Computação 73

classificação das empresas nacionais do setor. Em 1990, foi acusada pela Microsoft de
plagiar o sistema operacional MS-DOS.

• Microsiga - Resultado da associação do fundador da Siga, Ernesto Haberkorn, com


seu funcionário Laércio Cosentino, em 1983. Depois de adquirir a Logocenter e a RM
Sistemas, mudou seu nome para Totvs. Hoje é líder do mercado brasileiro de sistemas
de gestão empresariais (ERP, da sigla em inglês). Além disso, a empresa é a segunda no
ranking da América Latina e a oitava na classificação global.

2.9.7 Projetos Acadêmicos


Além dos produtos comerciais acima descritos, diversos protótipos foram desenvolvidos em
laboratórios de pesquisa das universidades brasileiras, dos quais podemos destacar os relacio-
nados a seguir:

1130 da IBM.

FT
• 1973 - NCE/UFRJ - PPF - Processador de Ponto Flutuante para o computador modelo

• 1976 - NCE/UFRJ - UCP - Computador de porte médio compatível com computador


modelo PDP-11/70 da DIGITAL.
RA
• 1982 - NCE/UFRJ - PEGASUS - Primeiro sistema multiprocessador projetado no país,
baseado em processadores Motorola da família 680XX.

• 1989 - NCE/UFRJ - Multiplus - Computador com arquitetura paralela do tipo NUMA


utilizando “clusters” de processadores SPARC interligados com barramentos e rede de
interconexão multiestágio

• 1991 - COPPE/UFRJ - NCP-I - Arquitetura paralela com memória distribuída com nós de
D

processamento interconectados em topologia hipercúbica.

• 1995 - COPPE/UFRJ - NCP-II - Computador com arquitetura paralela baseada em


memória compartilhada distribuída por “software” com uso de suporte em “hardware”
para acelerar os mecanismos de coerência de memória

• 1995 - LSI/USP - SPADE (I e II) -Computador com arquitetura paralela escalável com
suporte para os modelos CC-NUMA e COMA. É baseada em elementos de processamento
comerciais e redes de interconexão comerciais.

Esta lista não é exaustiva e se concentra nos projetos de maior expressão que os autores
puderam identificar.
2. Breve Histórico da Computação 74

Projeto CPU de Porte Médio Compatível com o PDP-11/70

Foi iniciado em meados da década de 1970 o projeto para o desenvolvimento de um computador


de porte médio compatível com o PDP 11/70 da Digital. A equipe era composta por Adalberto
Afonso Barbosa, Adriano Joaquim Oliveira Cruz, Ageu Cavalcanti Pacheco Júnior, Armando
Drummond, Júlio Salek Aude, Mário Ferreira Martins, Paulo Henrique de Aguiar Rodrigues e
Rogério Antônio Sampaio Parente Vianna.

Figura 2.22 – Diagrama da CPU de Porte Médio

FT
Foto do acervo do NCE/UFRJ
RA
Uma das premissas do projeto é que o conjunto de instruções, registradores, condições
de erro e barramentos de E/S fossem totalmente compatíveis com o PDP/11-70 para que o
sistema operacional e os periféricos do PDP-11/70 pudessem ser utilizados na CPU de porte
médio, já que essas tecnologias não eram dominadas na época. Não havia um indústria de
D

informática no país e conceito de ”software” livre estava muito longe de ser inventado .
Segundo o próprio Adriano de Oliveira relata: ”O fato de se ter como proposta a realização
do projeto de uma UCP compatível em ”software” com o PDP-11/70 da DEC não implicou,
de forma alguma, na adoção de uma filosofia de trabalho que não considerasse importante a
busca de soluções novas e criativas para a execução do projeto. Apenas no plano de definição
da máquina, do ponto de vista do programador, é que poucas alterações puderam ser feitas.”
O projeto (Figura 2.23 e Figura 2.22) constava de painel de controle, unidade lógica e
aritmética (números inteiros e de ponto flutuante), unidade de controle microprogramada,
unidade de entrada e saída, memória cache com 8 Kbytes, memória principal com até 4 Mbytes.
O processador operava com um relógio de 25 MHz e tinha um total de 86 instruções, operando
em três níveis de privilégio: kernel, supervisor e usuário, além de possuir um total de 16
registradores visíveis ao programador e ao sistema operacional.
2. Breve Histórico da Computação 75

Figura 2.23 – CPU de Porte Médio

FT
RA
Foto do acervo do NCE/UFRJ
D

Projeto Pegasus/Plurix

O PEGÁSUS-32X (FALLER et al., 1984) foi desenvolvido no início dos anos 80 e representava
uma família de supermicrocomputadores, homogêneos, simétricos, de 32 bits, construído
com diversas unidades de processamento (UCP’s) da família MC680XX operando em paralelo
(Multiprocessamento), Unidades de Processamento Periférico (UPP’s) inteligentes para entrada
e saída (E/S), memória global e barramento to de interconexão VME bus.
Na fase de concepção levou-se em consideração que a construção de sistemas de mul-
tiprocessamento homogêneos (aqueles em que os módulos básicos como UCP’s, Unidades
de Memória (UM) e Unidades de Processamento Periférico (UPP’s) podem ser compartilha-
dos indistintamente), apresentam uma série de vantagens sobre outros tipos de sistemas
heterogêneos existentes na época.
A simetria dos módulos do sistema permite uma melhor utilização dos recursos com-
putacionais, tanto em operações de cálculo, como de E/S. As principais características do
2. Breve Histórico da Computação 76

Figura 2.24 – Arquitetura do Pégasus

PEGASUS-32X eram:
FT
Foto do acervo do NCE/UFRJ
RA
• suporte para memória virtual;

• gerência de memória para relocação e proteção de programas em ambientes multiusuá-


rios e multi-tarefas;

• UCP’s de família MC680XX, com ”cache”, para controle do Sistema Operacional e pro-
gramas de usuário;
D

• instruções CISC de 8,16 ou 32 bits;

• barramento VME bus, com caminhos de 32 bits para dados e 24 bits para endereço;

• taxa de transferência de dados de 6,7 MBps;

• cache de 4 Kbytes por UCP;

• velocidade de 1,1 MIPS (1 UCP) a 3 MIPS (4 UCP’s);

• unidades de processamento periférico, (UPP’s) inteligentes, utilizando o microprocessa-


dor Z80-A;

• as placas são auto-testáveis, de rápida reconfiguração em caso de falhas, devido à


existência de diversos processadores e à modularidade do projeto.
2. Breve Histórico da Computação 77

Os sistemas da família PEGASUS-32X eram formados a partir de múltiplos módulos esco-


lhidos de cada um dos 7 tipos básicos, que são:

a) Módulo UCP com saída para duas consoles;

b) Módulo Unidade de Memória com até 4 Mbytes;

c) Módulo UPP para 16 terminais e 2 impressoras;

d) Módulo UPP para ”SASI bus”, permitindo ligar discos ”Winchester”, discos flexíveis e
fitas do tipo ”Streaming”;

e) Módulo UPP para discos SMD de alta capacidade;

f) Módulo UPP para fitas magnéticas;

g) Módulo UPP para interfaces especiais, como: ”timer”, calendário, processador de Ponto
Flutuante, etc.

FT
Deve-se observar que uma configuração simples possuiria apenas 4 módulos, ou seja, um
módulo UCP com console, um módulo de memória com até 4 Mbytes, um módulo UPP para
até 16 terminais e duas impressoras e um módulo UPP para ”SASI bus”.
Devido à alta homogeneidade do sistema, a evolução da família para a faixa de desempenho
RA
dos superminis se dá pela replicação dos módulos básicos.
O sistema utiliza-se como meio de comunicação entre os diversos módulos o barramento
”VME bus” que era um padrão internacional em uso na época. A filosofia de utilizar padrões de
barrramento tipo VME e SASI bus foi amplamente utilizada no projeto e visava compatibilidade
com os dispositivos de E/S disponíveis no mercado, menor tempo de projeto e garantia de
qualidade de interconexão.
Uma contribuição importantíssima do projeto foi o desenvolvimento de um sistema opera-
D

cional compatível com o UNIX totalmente com tecnologia nacional.


O sistema operacional PLURIX (FALLER; SALENBAUCH, 1989) baseia-se nas especificações
da versão 7 do sistema UNIX, possuindo diversas melhorias encontradas em outras versões,
assim como características próprias. Posteriormente foi feita a compatibilização do PLURIX
com a versão System V do UNIX.
Entre as principais características do PLURIX podemos citar:

• Suporte para o controle de múltiplos processadores;

• sistema de arquivos hierárquico, incluindo volumes montáveis;

• entrada/saída em arquivos, em dispositivos, e entre processes compatíveis entre si;

• ativação de processos assíncronos;

• seleção do interpretador de comandos do sistema a nível de usuário/aplicações;


2. Breve Histórico da Computação 78

Figura 2.25 – Equipe do Pegasus/Plurix

FT
Foto do acervo do NCE/UFRJ

• alto grau de portabilidade, sendo a grande maioria do sistema escrito numa linguagem
RA
de alto nível (C).

• chamada de funções do sistema (”system call”) padronizadas;

O Sistema Computacional NCP-I

O NCP I (AMORIM et al., 1993), o primeiro sistema de computação paralela desenvolvido


pela COPPE/UFRJ e operacional em 1991, pertencia à classe dos multi-computadores. Além de
D

representar um marco de referência no esforço de desenvolvimento científico e tecnológico


nacional, a experiência do NCP I permitiu romper barreiras tecnológicas na área de computação
de alto desempenho.
A arquitetura do NCP-I com 16 nós pode ser vista na Figura 2.26. Em cada nó de proces-
samento (NP), existem dois elementos de processamento. Um é chamado de elemento de
processamento de memória privativa (EMP), responsável pela comunicação entre nós e pela
carga computacional a ele atribuída. O segundo é o elemento de processamento de memória
compartilhada (EMC) que divide a carga computacional com o EMP e controla o acesso do nó
ao disco.
A estrutura da memória do NCP-I é dividida em níveis interno e externo com diferentes
tempos de acesso e espaços de endereçamento distintos. No primeiro nível, internamente a cada
nó, a memória é composta pela memória privativa do EMP, um buffer rápido de mensagens e
a memória compartilhada entre os dois elementos de processamento.
2. Breve Histórico da Computação 79

Figura 2.26 – Sistema NCP-I

FT
Desenho extraído de (AMORIM et al., 1993)

No nível externo, a memória centralizada é compartilhada com todos os EMC’s e o compu-


tador hospedeiro.
RA
Figura 2.27 – Nó de Processamento NCP-I
D

Desenho extraído de (AMORIM et al., 1993)

A estrutura de comunicação do NCP-I é organizada para lidar com três tipos de demanda
de comunicação durante execução de processos paralelos. O barramento do sistema e de E/S
2. Breve Histórico da Computação 80

dá suporte às transferências entre processadores e a memória global e ao tráfego intenso de


blocos de dados que podem ser produzidos por processos de E/S.
O buffer rápido de mensagens implementa um mecanismo de comunicação para troca
rápida de mensagens entre o EMP e o EMC. A rede de comunicação entre nós (RCN) oferece
possibilidade de troca rápida de mensagens entre os nós de processamento.
O computador hospedeiro é interligado aos NPs através do barramento do sistema e
também através da RCN. O barramento do sistema fornece comunicação entre o hospedeiro e
os EMCs enquanto que o RCN provê comunicação paralela entre o hospedeiro e os EMPs.
A arquitetura do NCP-I é expansível através da replicação de clusters. A RCN torna a
expansão mais fácil do que o barramento do sistema. Este não consegue operar mais do
que dezesseis nós sem degradar o desempenho do cluster. Portanto, cada cluster tem de ter
um barramento e um chaveamento entre barramentos. Cada cluster pode ter seu próprio
controlador de disco, embora o hospedeiro e a interface da rede de comunicação remota (ex.

FT
Ethernet) devem ser localizados no cluster hospedeiro. Teoricamente, o NCP I poderia ter até
128 clusters.
O sistema NCP I é um computador MIMD de memória privativa/compartilhada. O sistema
consiste de nós de processamento idênticos aos quais cada nó contém dois módulos:

• O módulo do Elemento de Memória Privativa (EMP) que inclui um microprocessador


RA
transputer T805-20, 4 Mbytes de memória, 4 elos com a rede de comunicação, 64 Kb
EPROM, registradores de comando e estado e uma interface com o EMC.

• O módulo do Elemento de Memória Compartilhada (EMC) inclui um microprocessador


Intel i860 XR (33 MHz), 8 Mbytes de memória 3-PORT, 16 Kbytes de memória estática
dual-port, memória de paridade, 64 Kb EPROM, interface com o EMP e com o barramento
de E/S e do sistema.
D

A Figura 2.27 mostra a estrutura do hardware de um nó de processamento. A interface


com o hospedeiro, um IBM PC-AT compatível, é feita através da placa interface localizada
num slot do PC que serializa o dado paralelo proveniente do barramento PC.
O modelo de memória compartilhada do NCP I é baseado em barramento. Devido à
natureza experimental e às restrições de orçamento, optamos pela utilização do barramento
comercial VME como via de acesso para E/S e para o sistema.
O protótipo inicial possuía 16 nós com as seguintes características:

• Desempenho de pico de 800 MIPS (RISC) e 960 MFLOPS (precisão dupla).

• 64 Mbytes de memória privativa e 128 Mbytes de memória compartilhada.

• taxa de entrada/saída de 40 Mbytes/segundo.

• Rede de comunicação entre os nós com throughput de 160 Mbytes/segundo.


2. Breve Histórico da Computação 81

Dada a natureza experimental da atual implementação do NCP I, algumas simplificações


visando a uma diminuição dos custos foram realizadas, por exemplo, uso de uma rede de
comunicação com banda passante agregada de apenas 200 MB/S, muito aquém do necessários
para os então potentes microprocessadores utilizados no NCP I com 800 MIPS de desempenho
de pico.
Paralelamente ao desenvolvimento do módulo EMC, foi instalado um processador de E/S
de alta velocidade alternativo baseado em transputer e obedecendo o padrão SCSI, utilizando
um disco com capacidade de 600 Mbytes. Essa solução permitiu evitar o baixo desempenho de
acesso ao disco através do computador hospedeiro IBM-PC.
O gabinete do NCP I comportava até 16 nós de processamento mais a fonte de alimentação,
disco, ventiladores e cablagem, medindo 56 x 52 x 73 cm.
O projeto foi liderado pelo Prof. Claudio Amorim, contando com a participação de diversos
outros pesquisadores e estudantes.

Projeto Multiplus

FT
O MULTIPLUS era um projeto de um computador de alto desempenho com memória compar-
tilhada distribuída, projetado para ter uma arquitetura modular, capaz de suportar até 1024
elementos processadores e memória global com até 32 Gbytes de espaço de endereçamento.
A Figura 2.28 mostra a arquitetura básica do Multiplus, com até 8 elementos processadores
RA
conectados por um barramento duplo de 64-bits formando um cluster. Cada barramento tem
um protocolo similar ao definido para o barramento SPARC-MBus, mas implementado de uma
forma assíncrona.
A arquitetura do MULTIPLUS suportava até 128 clusters interconectados através de rede de
conexão multi-estágio do tipo N-cubo invertida. Através da adição de elementos processadores
e clusters, a arquitetura podria cobrir um amplo espectro de aplicações, desde estações de
trabalho até arquiteturas paralelas poderosas.
D

Com a estrutura adotada, o custo e o atraso introduzido pela rede de interconexão é


pequeno ou mesmo não existente na implementação de computadores paralelos com até 64
elementos processadores. Por outro lado, computadores paralelos de grande porte poderiam
ser construídos com um custo razoável.
Dentro do escopo deste projeto estava também o desenvolvimento de um microprocessador
((AUDE et al., 1997)) de 32 bits, com pipeline de 4 estágios, específico para uso em aplicações
multithreading. Ele era baseado na arquitetura SPARC, uma arquitetura aberta que permite
um certo grau de liberdade na sua implementação.
O sistema operacional utilizado foi o MULPLIX, uma extensão do PLURIX, sistema operaci-
onal multiprocessador desenvolvido no NCE/UFRJ. A estratégia de implementação incluía a
adaptação do compilador C do PLURIX, originariamente desenvolvido para a arquitetura do
Motorola MC680XX, para gerar um código executável compatível com a arquitetura SPARC.
2. Breve Histórico da Computação 82

Figura 2.28 – Arquitetura do Multiplus

FT
RA
Foto extraida de (AUDE et al., 1996)
D

O Sistema Computacional NCP2

O projeto NCP2 teve o início do seu desenvolvimento por volta do ano de 1996 na COPPE/UFRJ
e era um multi-computador para execução de aplicações científicas segundo o paradigma de
memória compartilhada distribuída por software.
Os sistemas de memória compartilhada distribuída por software (SW-DSM) mantêm a
coerência de dados em software e oferecem aos programadores a ilusão de uma memória
compartilhada sobre um hardware que na realidade só permite a troca de mensagens.
Os sistemas de memória distribuída por software ofereciam uma alternativa de baixo custo
para a computação no modelo de memória compartilhada, visto que o sistema podia ser
formado por estações de trabalho e sistemas operacionais padrão. No entanto, apenas uma
pequena classe de aplicações alcançavam um bom desempenho nestes sistemas. Isto se devia a
2. Breve Histórico da Computação 83

Figura 2.29 – Julio Salek e Protótipo do Multiplus

FT
Foto do acervo do NCE/UFRJ

Figura 2.30 – Nó do NCP2


RA
D

Desenho extraído de (AMORIM et al., 1996)


2. Breve Histórico da Computação 84

uma alta taxa de comunicação e ao overhead gerado pela manutenção da coerência dos dados.
A maior parte dos sistemas de memória compartilhada distribuída por software (SW-DSM)
daquela época realizava a manutenção da coerência de memória distribuída no nível de página,
através dos bits de proteção da memória virtual. Além disso, tendo como objetivo solucionar o
problema de falso compartilhamento de páginas, os sistemas de então permitiam a escrita
simultânea na mesma página por vários processadores, garantindo a consistência de memória
somente nos pontos de sincronização estabelecidos pelo programador.
Mas essas operações eram trabalhosas e lentas, o que restringia, como já dito, o uso deste
tipo de arquitetura para um conjunto pequeno de aplicações bem comportadas.
A principal proposta do NCP2 era o desenvolvimento de um suporte de hardware espe-
cializado para permitir o uso eficiente de memória compartilhada distribuída por software.
Dessa forma o sistema poderia atingir um desempenho melhor em uma variedade maior de
aplicações do que aquelas utilizada em sistemas DSM puramente por software. O protótipo

FT
ora então desenvolvido incorporava as tecnologias de microprocessadores PowerPC, o sistema
operacional Unix e uma rede de interconexão de alto desempenho Myrinet. O desempenho
estimado para o NCP2 era de uma ordem de grandeza superior ao do NCP-I.
O projeto NCP2 pretendia o desenvolvimento, em três anos, de hardware de dois protótipos
multicomputadores com 16 processadores cada. O primeiro protótipo do sistema utilizava o
microprocessador PowerPC 604 (100 MHz, 160 SPECint e o 165 SPECfp) e o segundo utilizaria
RA
o PowerPC 620. O NCP2 fazia uso ainda o sistema operacional Unix (AIX), enquanto que a rede
de interconexão é a Myrinet (80 Mbytes/s de banda passante e 0.5-lO us de latência). Além
disso, o sistema usava o barramento padronizado PCI e a interface SCSI em cada unidade de
processamento. O projeto licenciou também o software de memória compartilhada distribuída
TreadMarks para ser adaptado ao NCP2.
Na Figura 2.30 podemos ver o suporte de hardware proposto no NCP2: um controlador
protocolos associado a cada nó de uma rede de estações de trabalho ou de um multicomputador.
D

No sistema proposto tanto o controlador de protocolos como a interface de rede estão


conectadas ao barramento PCI. Como mostra também a Figura 2.30, o controlador de protocolos
incluía um microprocessador (ou simplesmente um núcleo RISC inteiro), 6 Mbytes de DRAM e
dois módulos de hardware específicos: a lógica para snooping do barramento de memória e
um dispositivo de DMA sofisticado.
A comunicação entre o processador e o controlador, na maior parte dos casos, é realizada
através da memória local do controlador e o snooping dos acessos de escrita, para a manutenção
da consistência de dados das páginas do sistema de memória distribuída por software.
View publication stats

2. Breve Histórico da Computação 85

Figura 2.31 – Controlador do NCP2

FT
RA
D

Desenho extraído de (AMORIM et al., 1996)

Você também pode gostar