Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
net/publication/344620163
História do Computador
CITATIONS READS
0 5,509
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Gabriel P. Silva on 13 October 2020.
”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
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).
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.
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
FT
Figura 2.4 – Calculadora de Anton Braun
RA
D
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.
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:
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.
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
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.
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
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
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.
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
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;
• 30 toneladas de peso;
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
• 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
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
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
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:
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
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
• 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.
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;
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.
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
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
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.
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
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.
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:
FT ©Intel
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.
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.
By Emiliano Russo, Associazione Culturale VerdeBinario (Public domain), via Wikimedia Commons
2. Breve Histórico da Computação 61
2.7 FT
resultado dessa flexibilidade é o alto nível dos compiladores de linguagem de alto nível, como
por exemplo o FORTRAN.
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
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
FT
Foto extraída de https://www.top500.org/featured/systems/asci-white-lawrence-livermore-national-laboratory/
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:
FT
• Memória de 1,375 TB (1,0 TB direto para CPU e 0,375 TB para o Coprocessador Xeon
Phi)
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
FT
RA
D
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
• 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.
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.
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.
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
• 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.
• 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
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 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.
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
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.
• 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
• 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.
• 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.
classificação das empresas nacionais do setor. Em 1990, foi acusada pela Microsoft de
plagiar o sistema operacional MS-DOS.
1130 da IBM.
FT
• 1973 - NCE/UFRJ - PPF - Processador de Ponto Flutuante para o computador modelo
• 1991 - COPPE/UFRJ - NCP-I - Arquitetura paralela com memória distribuída com nós de
D
• 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
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
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
PEGASUS-32X eram:
FT
Foto do acervo do NCE/UFRJ
RA
• suporte para memória virtual;
• UCP’s de família MC680XX, com ”cache”, para controle do Sistema Operacional e pro-
gramas de usuário;
D
• barramento VME bus, com caminhos de 32 bits para dados e 24 bits para endereço;
d) Módulo UPP para ”SASI bus”, permitindo ligar discos ”Winchester”, discos flexíveis e
fitas do tipo ”Streaming”;
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
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).
FT
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
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:
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
FT
RA
Foto extraida de (AUDE et al., 1996)
D
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
FT
Foto do acervo do NCE/UFRJ
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
FT
RA
D