Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

DR
AF
T
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
de nenhum.”
– Monteiro Lobato, Mundo da Lua, 1923
2.1 OS PRIMÓRDIOS DA COMPUTAÇÃO
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 emmadeiras, ossos e cavernas; nós em
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) é talvez o objeto matemático mais antigo
conhecido e, apesar de não ter a sua finalidade claramente definida, várias hipóteses de
utilização foram levantadas, como o registro dos ciclos lunares ou algum tipo de jogo aritmético.
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.
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.
DR
AF
T
2. Breve Histórico da Computação 49
Figura 2.1 – Osso de Ishango
Fonte Ben2, CC BY-SA 3.0, via Wikimedia Commons
Á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
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
DR
AF
T
2. Breve Histórico da Computação 50
”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
© 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.
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.
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.
DR
AF
T
2. Breve Histórico da Computação 51
Figura 2.3 – Calculadora de Pascal
© 2005 David Monniaux - Fonte Wikimedia Commons
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.
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. �ando 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 Go�fried
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
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.
DR
AF
T
2. Breve Histórico da Computação 52
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.
Figura 2.4 – Calculadora de Anton Braun
© 2016 Gabriel P. Silva
2.1.4 Babbage
Emmeados 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, armazenaresses dados, fazer cálculos, gerar dados de
saída e automaticamente controlar a operação da máquina com uso de instruções (incluindo
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
DR
AF
T
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.
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.
• 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.
DR
AF
T
2. Breve Histórico da Computação 54
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
seguintes: Konrad Zuse, George Stibitz, Howard H. Aiken e John Atanaso�.
2.2.2 Tecnologias Associadas
O desenvolvimento dos primeiros computadores eletromecânicos foi possível com a utilização
de 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.�ando
uma corrente originada no primeiro circuito passa pela bobina do eletroimã, um campo eletro-
magné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é
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
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 à
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
DR
AF
T
2. Breve Histórico da Computação 55
Figura 2.6 – Somador Binário com Relés
Fonte Wikimedia Commons
de um somador completo de um bit com o uso de relés.
2.2.3 Konrad Zuse
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,
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
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.4 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.
DR
AF
T
2. Breve Histórico da Computação 56
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 demaior 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.2.5 Mark I
Figura 2.7 – Computador Mark I
Anonymous - Fonte Wikimedia Commons
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
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 arquiteturaera 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.
DR
AF
T
2. Breve Histórico da Computação 57
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!
Figura 2.8 – Arquitetura Harvard
© 2016 Gabriel P. Silva
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á
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
programas.
Figura 2.9 – Primeiro ”Bug”
Domínio Público - Fonte Wikimedia Commons
DR
AF
T
2. Breve Histórico da Computação 58
2.3 A PRIMEIRA GERAÇÃO DE COMPUTADORES
2.3.1 Tecnologias Associadas
A primeira geração de computadores eletrônicos (1940 a 1952) é constituída pelos computadores
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.
Um tubo de vácuo ou válvula é um dispositivo que controla o fluxo de corrente elétrica
entre os eletrodos em um tubo de vácuo sobre os quais uma diferença potencial foi aplicada
Figura 2.10 – Válvula
Domínio público - Fonte Wikimedia Commons
O tipo mais conhecido como válvula termiônica usa o fenômeno da emissão termiônica de
elétrons de um cátodo quente e é usado para uma série de funções eletrônicas fundamentais,
como amplificação de sinal e retificação de corrente.
O tubo de vácuo mais simples, o diodo, inventado em 1904 por John Ambrose Fleming,
contém apenas um cátodo emissor de elétrons aquecido e um ânodo. Os elétrons só podem
fluir em uma direção através do dispositivo - do cátodo para o ânodo. Adicionar uma ou mais
grades de controle dentro do tubo, entre o cátodo e o ânodo, permite que a corrente que flui
entre o cátodo e o ânodo seja controlada pela tensão aplicada às grades.
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,
DR
AF
T
2. Breve Histórico da Computação 59
Figura 2.11 – Memória de Linha de Retardo de Mercúrio
© 2016 Gabriel P. Silva
permitia que o sinal digital fosse atrasado por uma fração de segundo, de modo que este
dispositivo funcionava como uma memória.
Esses dispositivos se tornaram componentes fundamentais dos circuitos eletrônicos na
primeira metade do século XX. Eles foram cruciais para o desenvolvimento de rádio, televisão,
radar, gravação e reprodução de som, redes telefônicas de longa distância, além dos computa-
dores analógicos e digitais. Embora algumas aplicações tenham usado tecnologias anteriores,
como o transmissor de centelha para rádio ou computadores mecânicos para computação, foi
a invenção da válvula termiônica que tornou essas tecnologias difundidas e práticas, e criou a
disciplina da eletrônica.
Apesar de representar um grande avanço tecnológico, as válvulas apresentavam, contudo,
sérios problemas:
• aquecimento demasiado provocando queima constante;
• elevado consumo de energia;
• extremamente lentas.
Em razão disso foram substituídas pelos transistores, que foi a tecnologia que marcou a
segunda geração de computadores. Alguns exemplos de arquiteturas dessa época sãomostrados
a seguir.
2.3.2 ENIAC
John Atanaso�, 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, Atanaso�
DR
AF
T
2. Breve Histórico da Computação 60
abandonou o seu projeto.
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
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 Atanaso�, 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
ENIAC pode ser visto na Figura 2.12. 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.
Figura 2.12 – Computador ENIAC
Domínio público - Fonte Wikimedia Commons
DR
AF
T
2. Breve Histórico da Computação 61
2.3.3 EDVAC
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
Manha�an, 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
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éti-
cas 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.
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
em dia, como veremos a seguir.
2.3.4 UNIVAC
O UNIVAC I foi finalizado em 1951 e colocado em operaçãono 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.
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
DR
AF
T
2. Breve Histórico da Computação 62
de registradores (como Load e Store), de deslocamento (como Shi� Right e Shi� Le�) 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. Veja os cálculos a
seguir:
• 12 dígitos x 6 bits = 72 bits por palavra
• 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.�alquer 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.3.5 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 uma operação de adição em 856 microssegundos e a multiplicação
em 2980 microssegundos (perto de 3 milissegundos).
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
linha, sendo sucedido pelos computadores 702, 704, 705, 709.
DR
AF
T
2. Breve Histórico da Computação 63
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 válvulas,
como os outros.
2.4 A SEGUNDA GERAÇÃO DE COMPUTADORES
2.4.1 Tecnologias Associadas
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).
Figura 2.13 – Transistor
Arnold Reinhold - Fonte Wikimedia Commons
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:
DR
AF
T
2. Breve Histórico da Computação 64
• mínimo aquecimento;
• gasto reduzido de energia;
• mais confiável e veloz do que as válvulas.
Figura 2.14 – Porta Lógica NAND com Transistores
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, o FORTRAN tornou-se a linguagem mais utilizada
para a computação científica e técnica, sendo que o FORTRAN ainda tem grande utilização
hoje em dia.
Figura 2.15 – Memória de Ferrite
Steve Jurvetson - Fonte Wikimedia Commons
Uma outra característica importante introduzida nesta geração de computadores foi a
memória de ferrite ou de núcleo magnético (Figura 2.15). A memória de ferrite usa toróides
(rosquinhas) feitas de um material magnético duro (ferrite) como os núcleos de um transfor-
mador. Três ou quatro fios passam por cada núcleo. A histerese magnética permite que cada
um dos núcleos “lembre-se” ou armazene um estado.
DR
AF
T
2. Breve Histórico da Computação 65
Cada núcleo armazena um bit de informação. Um núcleo pode ser magnetizado no sentido
horário ou anti-horário. O valor do bit armazenado em um núcleo é ’zero’ ou ’um’ de acordo
com a direção da magnetização desse núcleo. Os pulsos de corrente elétrica em alguns dos
fios através de um núcleo permitem que a direção da magnetização nesse núcleo seja definida
em qualquer direção, armazenando assim ’um’ ou ’zero’.
O outro fio que passa através de cada núcleo, o fio sensor, é usado para detectar o valor
armazenado, o que é feito na realidade com uma operação de escrita em 0. Se valor armazenado
era igual a ’0’, nenhuma mudança é percebida no fio sensor, mas se o bit passou de ’1’ para
’0’, uma corrente é induzida no fio sensor, indicando assim o valor armazenado era ’1’. Como
pode-se perceber, a leitura na memórias de ferrite era destrutiva, o que obrigava a realização
em seguida de operação para re-escrever o valor original armazenado.
A memória de núcleo magnético foi a forma predominante de memória de computador
de acesso aleatório por cerca de 20 anos entre 1955 e 1975, 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 Control 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.
Em 1951 a UNIVAC apresentou a unidade de fita “UNISERVO” para o computador UNIVAC
I. Foi o primeiro dispositivo de armazenamento em fita para um computador comercial, e o
custo relativamente baixo, a portabilidade e a capacidade o�line ilimitada da fita magnética o
tornaram muito popular. Pesando cerca de um quilo e meio, cada bobina podia conter 1.440.000
dígitos decimais e podia ser lida a uma velocidade de 100 polegadas/s. Foram utilizadas como
padrão de armazenamento secundário para esta geração de computadores.
2.4.2 PDP-1
OPDP-1 usava umtamanho de palavra de 18 bits e tinha 4096 palavras comomemó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.
DR
AF
T
2. Breve Histórico da Computação 66
Figura 2.16 – PDP-1
Domínio público - Fonte Wikimedia Commons
2.4.3 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
parte damemó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).
DR
AF
T
2. Breve Histórico da Computação 67
2.5 A TERCEIRA GERAÇÃO DE COMPUTADORES
2.5.1 Tecnologias Associadas
Em abril de 1964, a IBM lança o IBM/360 que marcou uma nova tendência na construção de
computadores com o uso de circuitos integrados (CI), os quais, em uma única peça, incorpora-
vam o equivalente a dezenas de transistores já interligados. Esses circuitos integrados também
são conhecidas informalmente como “chips” ou pastilhas. O período da terceira geração foi
aproximadamente de 1964 a 1971, sendo caracterizada pelo uso de circuitos integrados (CIs)
no lugar de transistores.
Na terceira geração 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). O circuito integrado foi uma tecnologia inventada por
Jack Kilby em 1958, cujo desenvolvimento tornou os computadores menores, confiáveis e
eficientes. A miniaturização se estendeu a todos os circuitos do computador, aparecendo os
minicomputadores.
O so�ware evoluiu consideravelmente, com um grande desenvolvimento dos sistemas
operacionais. Outras características dessa geração de processamento são o sistema operacional
com modo interativo, multiprogramação e compartilhamento de tempo (time sharing), além
de um grande desenvolvimento das linguagens de programação de alto nível (FORTRAN IV,
COBOL, PASCAL, PL/1, BASIC, ALGOL-68, entre outras).
Em 1962, a IBM lançou a unidade de disco modelo 1311, que tinha o tamanho de uma
máquina de lavar e armazenava dois milhões de caracteres em um disco rígido removível (disk
pack). Os usuários podiam comprar disk packs adicionais e trocá-los conforme necessário,
da mesma forma que os rolos de fita magnética. Modelos posteriores de unidades de discos
removíveis, da IBM e outros, tornaram-se o padrão na maioria das instalações de computador
e atingiram capacidades na ordem de 300 MB no início dos anos 1980. Os discos rígidos não
removíveis eram chamados de unidades de “disco fixo”. Os discos magnéticos passaram então
a ser utilizados como os principais componentes da memória secundária a partir desta geração
de computadores, assim permanecendo até hoje.
2.5.2 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
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
DR
AF
T
2. Breve Histórico da Computação 68
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.
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
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.
2.5.3 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.
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 1442era 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.
DR
AF
T
2. Breve Histórico da Computação 69
2.5.4 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.
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-
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.
• 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.
DR
AF
T
2. Breve Histórico da Computação 70
2.6 A QUARTA GERAÇÃO DE COMPUTADORES
2.6.1 Tecnologias Associadas
A quarta geração de computadores foi iniciada com a introdução do microprocessador, em
1971, tendo se estendido até aproximadamente 1981.
Figura 2.17 – Intel 4004
©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
4004 (Figura 2.17). 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
início da utilização do disquete, um disco magnético flexível e removível, como unidade de
armazenamento.
O primeiro circuito integrado de memória semicondutora bipolar foi introduzido pela IBM
em 1965. Embora a memória bipolar oferecesse melhor desempenho em relação à memória de
núcleo magnético, ela não conseguiu competir com o preço mais baixo da memória de núcleo
magnético, que permaneceu dominante até o final dos anos 1960. A memória bipolar falhou
em substituir a memória de núcleo magnético porque os circuitos flip-flop bipolares eram
muito grandes e caros. As memórias de ferrite só vieram a ser substituídas pelas memórias
semicondutoras do tipo MOS (metal óxido silício) no início dos anos 1970.
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
DR
AF
T
2. Breve Histórico da Computação 71
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.
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.2 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 so�ware 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.
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.3 VAX 11/780
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
DR
AF
T
2. Breve Histórico da Computação 72
Figura 2.18 – VAX 11/780
By Emiliano Russo, Associazione Culturale VerdeBinario (Public domain), via Wikimedia Commons
resultado dessa flexibilidade é o alto nível dos compiladores de linguagem de alto nível, como
por exemplo o FORTRAN.
2.7 AQUINTAGERAÇÃODECOMPUTADORES (1981-1990)
2.7.1 Tecnologias Associadas
Surgimento do microprocessador RISC nas universidades como alternativa às arquiteturas
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.
O computador Intel iPSC-1 com até 128 processadores e sua topologia de interconexãohipercú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
DR
AF
T
2. Breve Histórico da Computação 73
(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
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-?)
2.8.1 Tecnologias Associadas
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
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
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.
2.8.2 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
DR
AF
T
2. Breve Histórico da Computação 74
Figura 2.19 – Supercomputador ASCI White
Foto extraída de h�ps://www.top500.org/featured/systems/asci-white-lawrence-livermore-national-laboratory/
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.
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
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
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.3 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
DR
AF
T
2. Breve Histórico da Computação 75
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
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
• 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.�ando medido, o total de energia utilizada
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).
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
DR
AF
T
2. Breve Histórico da Computação 76
trazer aqui também um pouco da história e da descrição das características técnicas desses
projetos.
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.20), 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 projetoe construção do
Zezinho, um computador didático que utilizava apenas componentes nacionais (cerca de 1500
transistores).
Figura 2.20 – O Computador Zezinho
Foto extraída de h�p://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 à
DR
AF
T
2. Breve Histórico da Computação 77
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
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:
• Antônio M. Chaves
• Antônio J. Du�les Amarante
• Danilo Marcondes
• Rubens Carrilho
• 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
DR
AF
T
2. Breve Histórico da Computação 78
Figura 2.21 – O Computador Patinho Feio
Foto extraída de h�ps://pt.wikipedia.org/wiki/Patinho_Feio
interligados segundo a técnica ”wire-wrap”.
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
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 plo�er. 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), umGrupo de Trabalho
Especial (GTE), para executar um programa de preparação de engenheiros que entendessem
de projeto, fabricação e manutenção de computadores.
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
DR
AF
T
2. Breve Histórico da Computação 79
Figura 2.22 – O Computador Cobra 700
Foto extraída de (RODRIGUES, 1984)
época de minicomputador. O projeto, que acabou sendo realizado entre a USP (na parte de
hardware) e a PUC-RJ (no desenvolvimento do so�ware), 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
(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 so�ware 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.
Estas iniciativas só foram possíveis devido à criação da reserva demercado 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.
DR
AF
T
2. Breve Histórico da Computação 80
Em setembro de 1977, no VII Secomu, realizado emFlorianópolis/SC, sob influência daCapre
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
comandante José Luiz Guaranis foi personagem de destaque nas articulações para a formação
da Cobra.
Detalhes a respeito do projeto são apresentados em (??): “A UCP, projetada por Stephan
Kovacs em quatro placas, baseou-se na mais moderna tecnologia da época para máquinas de
16 bits: as pastilhas bit slice, capazes de realizar internamente as operações lógico-aritméticas
próprias de uma UCP e, ainda hoje utilizadas em supermínis e computadores maiores. Já a
equipe projetista de programação, liderada por Firmo Freire, realizou um trabalho de dimensões
até então desconhecidas abaixo do rioGrande: linguagem montadora (para a UCP do 530),
linguagens de programação LPS, LTD e Mumps, compiladores Cobol e Fortran, sistemas
operacionais Mumps e SOD — este com cerca de 12 mil linhas de código-fonte, ocupando 200
Mb da memória. Ao lançar o seu minicomputador, a Cobra colocou nosso país no estado-de-
arte da informática mundial, com um produto inteiramente concebido, projetado e fabricado
no Brasil.”
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.
Outros produtos lançados pela Cobra (RODRIGUES, 1984) incluíam também os micro-
computadores Intel 8080 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 microprocessadores de 32 bits Motorola, que, nos modelos
maiores X-3030 e X-3035, incorporavam arquitetura de multiprocessamento, uma grande novi-
dade 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 integradora de sistemas devido ao fim da reserva de mercado em
1992.
A seguir uma relação mais detalhada deste componentes:
DR
AF
T
2. Breve Histórico da Computação 81
• 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.
• 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
DR
AF
T
2. Breve Histórico da Computação 82
• 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.
• 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.
• 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
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.
DR
AF
T
2. Breve Histórico da Computação 83
• X10
• Processador Motorola 68010
• Clock de 10 MHZ
• Memoria EPROM de 128 Kbytes
• Memoria RAM de 1 Mbyte até 4 Mbytes
• Gerencia de memoria por segmentação
• Controlador inteligente para 2 linhas síncronas
• Controladores inteligentes para até 16 linhas assíncronas
• Controlador inteligente para disco winchester
• interface paralela para impressora
• X20
• Processador Motorola 68030
• Clock de 20 MHz
• Memoria EPROM de 128 Kbytes
• Memoria RAM de 4 Mbytes até 32 Mbytes
• Controlador inteligente para 2 linhas síncronas
• Controladores inteligentes para até 32 linhas assíncronas
• Processador de Ponto Flutuante
• Controlador de fita cartucho
• Controlador inteligente para disco winchester
• interfaces para periféricos SCSI, discos SMD e paralela para impressora
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
DR
AF
T
2. Breve Histórico da Computação 84
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-
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.
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 8034 0,891
Medidata M.2001 0,891
SID Linha 5000 0,890
Sisco S-10.000 0,955
A seguir apresentamos um relatório do ano de 2009, indicando o que aconteceu com as
principais empresas fundadas durante a reserva de mercado (DINHEIRO, 2009):
DR
AF
T
2. Breve Histórico da Computação 85
• Cobra - Uma das primeiras empresas a produzir tecnologia genuinamente brasi-
leira 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.
• SID - Criada pelo empresário Mathias Machline, em 1978, a partir do consórcio
formado pela Sharp, Inepar e Dataserv. Filiada da Sharp, entrou na Justiça com
pedido de concordata 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.
• 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 desen-
volver 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 so�ware, hardware e
serviços. Possui mais de cinco mil funcionários.
DR
AF
T
2. Breve Histórico da Computação 86
• Prológica - Em março de 1976, os engenheiros Leonardo Bellonzi e Joseph Blu-
menfeld 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 classificação das empresas nacionais do setor. Em 1990, foi
acusada pela Microso� 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:
• 1973 - NCE/UFRJ - PPF - Processador de Ponto Flutuante para o computador
modelo 1130 da IBM.
• 1976 - NCE/UFRJ - UCP - Computador de portemédio compatível com computador
modelo PDP-11/70 da DIGITAL.
• 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 barramen-
tos e rede de interconexão multiestágio
• 1991 - COPPE/UFRJ - NCP-I - Arquitetura paralela com memória distribuída com
nós de processamento interconectados em topologia hipercúbica.
• 1995 - COPPE/UFRJ - NCP-II - Computador com arquitetura paralela baseada
em memória compartilhada distribuída por “so�ware” 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
DR
AF
T
2. Breve Histórico da Computação 87
puderam identificar.
Projeto CPU de Porte Médio Compatível com o PDP-11/70
Foi iniciado emmeados 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.23 – Diagrama da CPU de Porte Médio
Foto do acervo do NCE/UFRJ
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
informática no país e conceito de “so�ware” 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 so�ware 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.24 e Figura 2.23) 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.
DR
AF
T
2. Breve Histórico da Computação 88
Figura 2.24 – CPU de Porte Médio
Foto do acervo do NCE/UFRJ
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 (UCPs) da família MC680XX operando em paralelo
(multiprocessamento), Unidades de Processamento Periférico (UPPs) 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
PEGASUS-32X eram:
DR
AF
T
2. Breve Histórico da Computação 89
Figura 2.25 – Arquitetura do Pégasus
Foto do acervo do NCE/UFRJ
• 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
programas de usuário;
• 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 (4UCP’s);
• unidades de processamento periférico, (UPP’s) inteligentes, utilizando o micropro-
cessador 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.
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:
DR
AF
T
2. Breve Histórico da Computação 90
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.
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
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.
Figura 2.26 – Equipe do Pegasus/Plurix
Foto do acervo do NCE/UFRJ
Uma contribuição importantíssima do projeto foi o desenvolvimento de um sistema opera-
DR
AF
T
2. Breve Histórico da Computação 91
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;
• alto grau de portabilidade, sendo a grande maioria do sistema escrito numa
linguagem 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
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.27. 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 bu�er rápido de mensagens e
a memória compartilhada entre os dois elementos de processamento.
No nível externo, a memória centralizada é compartilhada com todos os EMC’s e o compu-
tador hospedeiro.
DR
AF
T
2. Breve Histórico da Computação 92
Figura 2.27 – Sistema NCP-I
Desenho extraído de (AMORIM et al., 1993)
Figura 2.28 – Nó de Processamento NCP-I
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
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 bu�er 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.
DR
AF
T
2. Breve Histórico da Computação 93
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.
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 microprocessa-
dor 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 micropro-
cessador 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.
A Figura 2.28 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.
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
DR
AF
T
2. Breve Histórico da Computação 94
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 processamentomais 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
Figura 2.29 – Arquitetura do Multiplus
Foto extraída de (AUDE et al., 1996)
O MULTIPLUS era um projeto de um computador de alto desempenho com memória com-
partilhada 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.29 mostra a arquitetura básica do Multiplus, com até 8 elementos processadores
conectados por um barramento duplo de 64-bits formando um cluster. Cada barramento tem
DR
AF
T
2. Breve Histórico da Computação 95
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.
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 ummicroprocessador
((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.
Figura 2.30 – Julio Salek e Protótipo do Multiplus
Foto do acervo do NCE/UFRJ
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 so�ware.
DR
AF
T
2. Breve Histórico da Computação 96
Os sistemas de memória compartilhada distribuída por so�ware (SW-DSM) mantêm a
coerência de dados em so�ware e oferecem aos programadores a ilusão de uma memória
compartilhada sobre um hardware que na realidade só permite a troca de mensagens.
Figura 2.31 – Nó do NCP2
Desenho extraído de (AMORIM et al., 1996)
Os sistemas de memória distribuída por so�ware 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
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 so�ware (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 so�ware.
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 so�ware. O protótipo
ora então desenvolvido incorporava as tecnologias de microprocessadores PowerPC, o sistema
DR
AF
T
2. Breve Histórico da Computação 97
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.
Figura 2.32 – Controlador do NCP2
Desenho extraído de (AMORIM et al., 1996)
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
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 so�ware de memória compartilhada distribuída
TreadMarks para ser adaptado ao NCP2.
Na Figura 2.31 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 ummulticomputador.
No sistema proposto tanto o controlador de protocolos como a interface de rede estão
conectadas ao barramento PCI. Comomostra também a Figura 2.31, 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 so�ware.

Mais conteúdos dessa disciplina