Baixe o app para aproveitar ainda mais
Prévia do material em texto
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/344620163 História do Computador Preprint · October 2020 CITATIONS 0 READS 3,581 2 authors: Some of the authors of this publication are also working on these related projects: Mapavox View project Dosvox View project José Antonio Dos Santos Borges Federal University of Rio de Janeiro 50 PUBLICATIONS 97 CITATIONS SEE PROFILE Gabriel P. Silva Federal University of Rio de Janeiro 44 PUBLICATIONS 33 CITATIONS SEE PROFILE All content following this page was uploaded by Gabriel P. Silva on 13 October 2020. The user has requested enhancement of the downloaded file. https://www.researchgate.net/publication/344620163_Historia_do_Computador?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_2&_esc=publicationCoverPdf https://www.researchgate.net/publication/344620163_Historia_do_Computador?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_3&_esc=publicationCoverPdf https://www.researchgate.net/project/Mapavox?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_9&_esc=publicationCoverPdf https://www.researchgate.net/project/Dosvox?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_9&_esc=publicationCoverPdf https://www.researchgate.net/?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_1&_esc=publicationCoverPdf https://www.researchgate.net/profile/Jose-Antonio-Borges?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_4&_esc=publicationCoverPdf https://www.researchgate.net/profile/Jose-Antonio-Borges?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_5&_esc=publicationCoverPdf https://www.researchgate.net/institution/Federal-University-of-Rio-de-Janeiro2?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_6&_esc=publicationCoverPdf https://www.researchgate.net/profile/Jose-Antonio-Borges?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_7&_esc=publicationCoverPdf https://www.researchgate.net/profile/Gabriel-Silva-130?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_4&_esc=publicationCoverPdf https://www.researchgate.net/profile/Gabriel-Silva-130?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_5&_esc=publicationCoverPdf https://www.researchgate.net/institution/Federal-University-of-Rio-de-Janeiro2?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_6&_esc=publicationCoverPdf https://www.researchgate.net/profile/Gabriel-Silva-130?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_7&_esc=publicationCoverPdf https://www.researchgate.net/profile/Gabriel-Silva-130?enrichId=rgreq-faf5eedab5f0a029a8d58311c313cc5f-XXX&enrichSource=Y292ZXJQYWdlOzM0NDYyMDE2MztBUzo5NDU5ODUwNjA2MjY0MzJAMTYwMjU1MTgyMjk2NA%3D%3D&el=1_x_10&_esc=publicationCoverPdf 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) é tido como o objeto mais antigo da Matemática, por ter uma aritmética concreta, e com isso, estudado com profundidade. O osso, provavelmente, é de 20.000 anos a.C., no Paleolítico Superior, proveniente do vilarejo de mesmo nome, que fica no Congo, na divisa com Uganda. É um pequeno osso petrificado, de apenas 10 cm de comprimento, com um cristal de quartzo em uma extremidade (provavelmente para gravar, já que na época não existia a escrita) e que trazia três séries de entalhes agrupados. Atualmente, o osso está no Instituto Real Belga de Ciências Naturais, em Bruxelas, na Bélgica. Alguns arqueólogos dizem que os cálculos são referentes a um jogo aritmético, e outros dizem ser referente ao calendário lunar. O comércio com certeza foi um dos grandes motivadores para a elaboração das primeiras ”tábuas de contar”, que deram origem ao ábaco, utilizado por vários séculos em diversas civilizações pelo mundo. DR AF T 2. Breve Histórico da Computação 39 Figura 2.1 – Osso de Ishango Fonte https://www.matematicaefacil.com.br/2016/07/matematica-continente-africano-osso-ishango.html Á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 DR AF T 2. Breve Histórico da Computação 40 uma armação que contém varetas e contas deslizantes que podem correr livremente nestas varetas. A Figura 2.2 mostra o exemplo de um ábaco chinês moderno. O ábaco, como nós conhecemos hoje, apareceu aproximadamente no ano de 1200 na China; onde é chamado de ”suan pan”. O ábaco russo, inventado no século XVII e ainda com algum uso hoje, é chamado ”stchoty”, mas possui 10 contas em cada haste, sendo duas delas (a quinta e a sexta) de cores diferenciadas, para faciltar a contagem. Em japonês, o ábaco é chamado ”soroban” e surgiu aproximadamente no ano de 1600 (IFRAH, 2009). Figura 2.2 – Ábaco Chinês Moderno © 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éticade 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. DR AF T 2. Breve Histórico da Computação 41 Mas fazer isto de uma forma automática, com uso engrenagens mecânicas, era uma coisa bastante complicada naquela época. A máquina de Pascal, que realizava operações de soma e subtração, provavelmente tinha problemas na propagação do ”vai-um” e os registros existentes não forneciam uma descri- ção clara do procedimento para executar as subtrações (KISTERMANN, 1998). Uma foto da Pascalina pode ser vista na Figura 2.3. Figura 2.3 – Calculadora de Pascal © 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. Quando essa máquina foi apresentada para o Imperador Carlos VI, ele ficou tão maravilhado que Braun foi nomeado fabricante de instrumentos imperial, recebendo uma enorme soma de dinheiro na época - 10.000 florins (DALAKOV, 2016). O mecanismo de cálculo utilizado baseou-se nas rodas de pinos, inventada por Gottfried Leibniz (1646-1716) e Giovanni Poleni (1683-1761), e descritas por Jacob Leupold (1674–1727) na sua enciclopédia ”Teoria Geral das Máquinas”. Obviamente Braun estava familiarizado com a enciclopédia de Leupold, onde foi descrita a máquina de Poleni. Entretanto, em contraste com a máquina de madeira feita por Poleni, a máquina de Braun era bem menor, mais fácil DR AF T 2. Breve Histórico da Computação 42 de se usar, sendo um dispositivo de metal perfeitamente fabricado com fino acabamento. A máquina de Braun é considerada como a primeira máquina de calcular mecânica fabricada de fácil de operação. Há uma outra máquina de calcular de Braun, ainda preservada no Technischen Museum em Viena (veja detalhes na Figura 2.4), que teve uma dedicatória gravada para o imperador Carlos VI e também a assinatura ”Antonius Braun SCM opticus et mathematicus”, com o ano de conclusão em 1727. Há informações no entanto, que esta máquina não é original, mas uma cópia feita em 1766 por seu filho - Anton Braun o Jovem (1708-1776), que também como seu pai, era um hábil oculista e relojoeiro. Essa máquina é comumente conhecida como máquina Leupold-Braun-Vayringe, devido ao fato de que a ideia do mecanismo de cálculo foi proposto por Leupold, a construção foi feita por Braun, enquanto que a produção real foi feita por Vayringe. 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, armazenar esses dados, fazer cálculos, gerar dados de saída e automaticamente controlar a operação da máquina com uso de instruções (incluindo DR AF T 2. Breve Histórico da Computação 43 desvios condicionais) e funções básicas que são encontradas em quase todo o computador atual. Entretanto, a sua máquina analítica nunca seria concluída em vida. Charles Babbage também projetou uma ”máquina diferencial”, utilizada para tabular funções polinomiais com aplicação em matemática, astronomia e ciências contábeis que foi construída com sucesso, em 1854, pelo gráfico sueco George Scheutz (1785-1873). Uma réplica desta máquina foi completada em Londres no ano de 2002, 153 anos depois que foi projetada, consistindo de 8.000 peças, pesando 5 toneladas e com cerca de 3,5 metros de comprimento. Por sua contribuição neste campo da ciência, o cientista inglês é considerado por muitos como o pai do Computador. 2.1.5 Álgebra Booleana George Boole(1815–1864), matemático inglês, desenvolveu a teoria da Álgebra de Boole, que permitiu a seus sucessores a representação de circuitos de comutação e o desenvolvimento da 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: DR AF T i) ¬ (A AND B) = (¬ A) OR (¬ B) ii) ¬ (A OR B) = (¬ A) AND (¬ B) Podemos dizer que um renascimento dos estudos de lógica ocorreu quase que inteiramente por causa de Boole e De Morgan. 2.2 COMPUTADORES MECÂNICOS E ELETROMECÂNI- COS 2.2.1 Introdução O surgimento dos primeiros computadores digitais, quase todos mecânicos ou eletromecânicos, ocorreu em torno de 1940 e teve contribuições de diversos autores. Destacamos entre eles os seguintes: Konrad Zuse, George Stibitz, Howard H. Aiken e John Atanasoff. 2.2.2 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.3 George Stibitz O interesse de George Stibitz (1904–1995) pelos computadores surgiu em 1937 com um estudo que realizou sobre relés eletro-mecânicos para telefonia, que deu origem ao projeto de um circuito somador binário controlado por relés. O relé é um dispositivo eletromecânico, composto basicamente por um eletroimã, uma parte móvel chamada de armadura, que aciona um ou mais contatos elétricos.Quando uma DR AF T 2. Breve Histórico da Computação 45 corrente originada no primeiro circuito passa pela bobina do eletroimã, um campo eletromag- nético é gerado, movimentando a armadura e abrindo ou fechando os contatos elétricos no possibilitando o funcionamento do segundo circuito. A sua estrutura de funcionamento pode ser vista na Figura 2.5. Figura 2.5 – Funcionamento do Relé 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 de um somador completo de um bit com o uso de relés. No ano seguinte, com a ajuda de S.B. Williams dos Laboratórios Bell, Stibitz desenvolveu uma calculadora aritmética completa. Seu computador, de nome Complex Computer, Model 1, se tornou operacional em 1939 e foi demonstrado em janeiro de 1940 com uso remoto entre a cidade de Hanover, no estado americano de New Hampshire, e Nova York. Diversos computadores binários 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. DR AF T 2. Breve Histórico da Computação 46 Figura 2.6 – Somador Binário com Relés Fonte Wikimedia Commons 2.2.4 Mark I Inicialmente conhecido como ASCC (Automated Sequence Controled Calculator), um outro famoso computador digital foi concluído em 1944, por uma equipe de engenheiros da IBM liderados pelo professor Howard H. Aiken (1900–1973) da Universidade de Harvard: chamava- se Mark I, um computador eletromecânico construído com chaves, relés, cabos e embreagens. A máquina tinha mais de 750,000 componentes, 80 Km de fios, cerca de 16 m de comprimento e 2,5 m de altura, pesando aproximadamente 5 toneladas. Além disso consumia vários quilos de gelo por dia destinados à sua refrigeração. Embora o Mark I (Figura 2.7) seja considerado por alguns como o primeiro computador digital, sua arquitetura era significativamente diferente das máquinas modernas. Um dos conceitos introduzidos pelo computador Mark I foi o da arquitetura do tipo ”Harvard” (Figura 2.8), onde existem memórias e caminhos fisicamente separados para acesso às instruções e dados. As instruções eram armazenadas em uma fita de papel perfurada com 24 bits de largura e os dados em contadores eletro-mecânicos. Mesmo assim, essa máquina, que utilizava números com 23 dígitos de largura, podia somar ou subtrair dois destes números em 0,3 segundos, multiplicá-los em 4 segundos, e dividi-los em 10 segundos. Uma façanha para a época! Um dos primeiros programadores do Mark I era uma mulher, Grace Hopper (1906–1992). Hopper achou o primeiro ”bug” de computador: uma traça morta que tinha entrado no Mark I e cujas asas estavam bloqueando a leitora de fita de papel (veja a Figura 2.9). A palavra ”bug” já DR AF T Figura 2.7 – Computador Mark I Anonymous - Fonte Wikimedia Commons tinha sido usada para descrever um defeito desde pelo menos 1889, mas Hopper foi a primeira a usar a palavra ”debugging” (depuração) para descrever o trabalho de eliminar falhas dos programas. 2.3 A PRIMEIRA GERAÇÃO DE COMPUTADORES 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. Alguns exemplos de arquiteturas dessa época são mostrados a seguir. 2.3.1 ENIAC John Atanasoff, matemático no Iowa State College, é geralmente considerado como o primeiro projetar uma calculadora eletrônica. Depois de ter estudado durante muito tempo os diferentes meios de cálculo automático que existiam no início dos anos 30, iniciou em 1935 a construção de uma máquina eletrônica, mas em 1941 a sua máquina ainda não estava funcional, devido a um defeito na leitora de cartões. Convocado em 1942 para o esforço de guerra, Atanasoff abandonou o seu projeto. DR AF T 2. Breve Histórico da Computação 48 Figura 2.8 – Arquitetura Harvard © 2016 Gabriel P. Silva Não teria havido maiores problemas se em 1941 ele não tivesse discutido os planos de sua máquina com um físico, John Mauchly, que foi nomeado para a Moore School of Eletrical Engineering da Universidade da Pensilvânia no ano seguinte. Lá chegando, Mauchly conheceu o engenheiro eletrônico J. Presper Eckert e, ainda em 1942, enviou ao governo americano um relatório onde sintetizava as ideias de Atanasoff, de Eckert e as suas próprias para a construção de uma calculadora eletrônica, que resultou em um contrato que foi assinado em 1943. Assim, surgiu o ENIAC (Electronic Numerical Integrator And Computer), considerado o primeiro computador eletrônico de uso geral totalmente funcional construído no mundo, financiado pelo Exército dos EUA, cujo projeto foi trazido a público em 1946. O computador ENIAC pode ser visto na Figura 2.10. A seguir alguns dados sobre o ENIAC: • Totalmente eletrônico; • 18.000 válvulas; • 500.000 conexões de solda; • 30 toneladas de peso; • 180 m2 de área construída; • Realizava uma operação de soma em 0,0002s. DR AF T 2. Breve Histórico da Computação 49 Figura 2.9 – Primeiro ”Bug” Domínio Público - Fonte Wikimedia Commons 2.3.2 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 Manhattan, imediatamente reconheceu o papel que poderia desempenhar um computador como o ENIAC resolvendo as equações complexas envolvidas no projeto de armas atômicas. Von Neumann ficou tremendamente entusiasmado pelo ENIAC e rapidamente se tornou um consultor do projeto ENIAC e posteriormente do EDVAC. Em julho de 1945, ele publicou 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óriacontendo dados e instruções. • Uma unidade de cálculo, capaz de realizar tanto operações lógicas como aritméticas nos dados. • Uma unidade de controle, que poderia interpretar uma instrução retirada da memória e selecionar alternativas baseadas nos resultados de operações anteriores. Esse artigo era um somatório brilhante dos conceitos envolvidos na computação por programa-armazenado; que muitos acreditam que seja um dos documentos mais importantes na história da computação. DR AF T 2. Breve Histórico da Computação 50 Figura 2.10 – Computador ENIAC Domínio público - Fonte Wikimedia Commons 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.3 UNIVAC O UNIVAC I foi finalizado em 1951 e colocado em operação no escritório de censo dos EUA. A CPU era composta de 5.200 válvulas, trabalhando com um relógio de frequência igual a 2,25 MHz. A memória era composta de 100 linhas de retardo de mercúrio de 10 palavras. A memória de retardo de mercúrio era composta por um tubo cheio de mercúrio, em uma das pontas do tubo um transdutor convertia os sinais elétricos em pulsos sonoros, que se propagavam através do mercúrio até a outra ponta. Neste ponto, havia um outro transdutor que convertia o som em eletricidade e este sinal elétrico era reenviado para a outra extremidade. A conversão em som, que se propaga em uma velocidade muito menor que a eletricidade, permitia que o sinal digital fosse atrasado por uma fração de segundo, de modo que este dispositivo funcionava como uma memória. DR AF T 2. Breve Histórico da Computação 51 Figura 2.11 – Memória de Linha de Retardo de Mercúrio © 2016 Gabriel P. Silva 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 de registradores (como Load e Store), de deslocamento (como Shift Right e Shift Left) e de entrada/saída (como Read e Rewind). O endereçamento de memória era feito a partir de 3 dígitos decimais (36 bits). O tamanho da memória do UNIVAC era de 9 Kbytes, ou 1000 palavras de 72 bits cada. Contas: • 12 dígitos x 6 bits = 72 bits por palavra • 72 bits por palavra x 1000 palavras = 72.000 bits = 72 Kbits • 72.000 bits = 9.000 bytes = 9 Kbytes Havia 63 possíveis caracteres disponíveis, com 6 bits cada.Qualquer combinação de doze destes caracteres constituía uma palavra com 72 bits, que continham duas instruções com 6 caracteres cada, sendo que a segunda metade de cada instrução continha o endereço de uma célula de memória. A memória do Univac tinha capacidade de armazenar 1000 dessas palavras. Os dispositivos de armazenamento secundário eram fitas magnéticas (Inventory Tapes ou Magnetic Tapes) que eram lidas pelos UNISERVO, o drive de fitas do UNIVAC. Elas eram capazes de armazenar 1,5 MB e possuíam uma taxa de transferência de 12.800 caracteres (1,6 Kbytes) por segundo. DR AF T 2. Breve Histórico da Computação 52 2.3.4 Outros Computadores - Primeira Geração Em 1950 foi lançado o SEAC (Standards Eastern Automatic Computer), podendo realizar 11 tipos de operação como a adição, subtração, multiplicação, divisão, comparação, além de entrada e saída. Depois de três anos, as quantidade de operações foi expandida para 16 operações. O SEAC realizava Realizava uma operação de adição em 856 microssegundos e a multiplicação em 2980 microssegundos (perto de 3 milissegundos). Figura 2.12 – Válvula Domínio público - Fonte Wikimedia Commons 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 DR AF T 2. Breve Histórico da Computação 53 linha, sendo sucedido pelos computadores 702, 704, 705, 709. O modelo 701 foi um computador científico que poderia fazer mais de 2.000 multiplicações por segundo. Logo após, em 1954, foi demonstrado o primeiro computador do modelo 702, desenvolvido especialmente para uso comercial, mas também lidava com aplicações científicas. O modelo 704 Data Processing System foi um computador de larga escala desenhado para cálculos de engenharia e científicos. É sucessor do 701. Os modelos de computadores 705 e 709 são sucessores categóricos do 702 e 704, respectivamente. Contudo esses foram os últimos computadores à válvula de relevância comercial. Por volta do final dos anos 50, a IBM desenvolveu o computador 7090, que basicamente consistia no modelo 709, porém marcava a época com a transição para os transistores em vez de tubos de vácuo, como os outros. Apesar de representar um grande avanço tecnológico, as válvulas apresentavam, contudo, sérios problemas: • 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. 2.4 A SEGUNDA GERAÇÃO DE COMPUTADORES Figura 2.13 – Transistor Arnold Reinhold - Fonte Wikimedia Commons DR AF T 2. Breve Histórico da Computação 54 Em 1957, o transistor (Figura 2.13), inventado em 1952 nos Laboratórios BELL, EUA, passou a ser o dispositivo base da construção de computadores, pois possuía entre outras, as seguintes características: • mínimo aquecimento; • gasto reduzido de energia; • mais confiável e veloz do que as válvulas. A segunda geração de computadores (1952 a 1964) caracteriza-se pelo uso de transistores em substituição às válvulas. As máquinas ganharam mais potência e confiabilidade e tornaram-se ainda mais práticas pois houve uma redução no seu tamanho e consumo. As áreas de aplicação estenderam-se para os setores administrativos e gerenciais (além dos científicos e militares) e começaram a ser utilizadas as linguagens de programação mais evoluídas como as linguagens de alto nível (Fortran, Algol e Cobol). Uma equipe da IBM liderada por John Backus desenvolveu o FORTRAN, uma poderosa linguagem de computação científica de alto nível. Alguns programadores estavam céticos quanto ao fato de que o FORTRAN pudesse ser tão eficiente quanto a codificação manual, mas esse sentimento desapareceu quando FORTRAN provou que poderia gerar código de forma eficiente. Durante as décadas seguintes, a FORTRAN tornou-se a linguagem mais utilizada para a computação científica e técnica, sendo que o FORTRAN ainda tem grande utilização hoje em dia. Figura 2.14 – Memória de Ferrite Steve Jurvetson - Fonte Wikimedia Commons Uma outra característica importante introduzida nesta geração decomputadores foi a memória de ferrite (Figura 2.14). As rosquinhas com impulsos elétricos que definiam ”on” ou ”off” - ou 0 e 1, respectivamente, eram usadas para estender a memória e realizar cálculos. DR AF T 2. Breve Histórico da Computação 55 Em 1976 praticamente todos os computadores usavam essa tecnologia, inclusive a IBM que começou a comercializar o IBM 7050 que possuía 20 Kbytes de memória. Nesta época foram criadas as companhias Digital Equipment Corporation (DEC) e Con- trol Data Corporation (CDC). O primeiro lançamento da CDC foi o modelo 1604. Já a DEC apresentou o seu primeiro computador, o PDP-1, em 1959. 2.4.1 PDP-1 Figura 2.15 – PDP-1 Domínio público - Fonte Wikimedia Commons O PDP-1 usava um tamanho de palavra de 18 bits e tinha 4096 palavras como memória principal padrão (equivalente a 9.216 bytes de oito bits, embora o sistema realmente utilizasse bytes de seis bits), expansível para 65536 palavras. O tempo de ciclo da memória de núcleo magnético era de 5 microssegundos (correspondendo aproximadamente a uma ”velocidade de relógio” de 200 KHz). Consequentemente a maioria das instruções aritméticas levava 10 microssegundos (ou seja, até 100.000 operações por segundo) porque eles usavam dois ciclos de memória: um para a instrução, um para a obtenção do operando. Os números com sinal eram representados em complemento a um. O PDP-1 utilizava 2.700 transistores e 3.000 diodos, com uma velocidade nominal de comu- tação de 5 MHz. Utilizava como periféricos de entrada e saída, um leitora e uma perfuradora de fita papel. DR AF T 2. Breve Histórico da Computação 56 2.4.2 IBM 7000 A série de 7000 de mainframes da IBM foram os primeiros computadores transistorizados da IBM. Entre esses, destaca-se o modelo 7030, também conhecido como ”Stretch” com palavra de 64 bits para uso em computação científica. Os IBM 7070, IBM 7072 e IBM 7074 eram máquinas decimais, com comprimento fixo de palavra. Eles usam uma palavra de dez dígitos, assim como o menor e mais antigo IBM 650. O formato dos dados, como dito, eram formados a partir uma palavra decimal com 10 dígitos, podendo ser positiva, negativa ou alfanumérica. Todas as instruções possuíam apenas uma palavra, sendo dois dígitos para o código da operação, dois dígitos para indicar o registra- dor de índice e dois dígitos para um campo de controle, permitindo selecionar conjunto de dígito, deslocamento para esquerda ou direita e, finalmente, 4 dígitos eram reservados para o endereçamento. Todos os registradores utilizavam uma palavra e podiam também ser endereçados como 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). 2.5 A TERCEIRA GERAÇÃO DE COMPUTADORES Nesta geração (1964 a 1971) o elemento tecnológico mais significativo é o surgimento do circuito integrado (encapsulamento de uma grande quantidade de componentes discretos: resistências, condensadores, diodos e transistores), surgido em 1964. Em 1960, a IBM lança o IBM/360 que marcou uma nova tendência na construção de computadores, o uso de circuitos integrados (CI), as quais em uma única peça, incorporavam o equivalente a dezenas de transistores já interligados. Esses circuitos integrados também são conhecidas informalmente como ”chips” ou pastilhas. A miniaturização se estende a todos os circuitos do computador aparecendo os minicompu- tadores. O software evoluiu consideravelmente, com um grande desenvolvimento dos sistemas operacionais. (multiprogramação, tempo real e modo interativo). As memórias de semicondu- tores e os discos magnéticos passaram a ser utilizados como os principais componentes da memória principal e secundária, respectivamente. 2.5.1 A série PDP-11 O PDP-11 foi uma série de minicomputadores de 16 bits fabricada pela empresa Digital Equipment Corporation nas décadas de 1970 e 1980. A série de minicomputadores PDP-11 DR AF T 2. Breve Histórico da Computação 57 vendeu a surpreendente quantia de aproximadamente 600.000 de unidades, somando todos os seus modelos, até a década de 90. Foi um computador de muito sucesso na comunidade universitária foi o computador da Digital PDP-11, com diversos modelos em uso em várias universidades de todo o mundo. Esse computador foi a base para o desenvolvimento de linguagens de programação como o “C” e sistemas operacionais inovadores como o Unix, que deu origem aos sistemas operacionais como Linux, Debian e similares. Esta série foi pioneira também na interconexão de todos os elementos do sistema — proces- sador, memória RAM e periféricos — com um único barramento de comunicação, bidirecional, assíncrono. Este dispositivo, chamado Unibus, permitia aos dispositivos enviar, receber ou trocar dados sem a necessidade de uma passagem intermediária pela memória. Algumas de suas características de projeto viriam a influenciar a maioria de computadores do final da década de 1970 como o Intel x86. 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.2 O IBM 1130 O IBM 1130 foi introduzido no mercado em 1965 e era o “mais barato” computador da IBM na época. Foi criado com intuito de ser uma máquina de bom custo-benefício pois era voltada à mercados técnicos como educação e engenharia. A IBM implementou 5 modelos da CPU do 1131, que era o componente primário do processamento do IBM 1130. Os modelos de 1 a 5 descreviam o tempo do ciclo de memória, variando entre 2,2 e 5,6 us, assim como a capacidade do modelo de suportar armazenamento em disco ou não. As letras de A até D indicavam a quantidade de memória instalada, que variava de 4 K até 32 K palavras. O IBM 1130 utilizava os mesmos componentes eletrônicos que usados no System/360, chamado de Solid Logic Technology (SLT). Ele possuía uma arquitetura de 16 bits. O tamanho do endereço era de 15 bits limitando o 1130 a 32,768 palavras de 16 bits (65,536 bytes) de memória. DR AF T 2. Breve Histórico da Computação 58 O IBM 1130 foi o primeiro produto à possuir discos removíveis, também chamados de “Ramkit”. O disco era organizado em 203 cilindros, duas superfícies, quatro setores por superfície e 321 palavras de 16 bits por setor. O leitor de cartão 1442 era a mais barata das extensões de E/S que o 1130 poderia utilizar, sendo que possuía uma velocidade de 400 cartões por minuto. 2.5.3 CDC 6600 O CDC 6600 foi um computador do tipo mainframe produzido pela Control Data Corporation para aplicações científicas. Foi lançado em 1964 e foi considerado o computador mais veloz do mundo de 1964 até 1969. O processador central tinha a capacidade de processar 3 milhões de instruções por segundo, sendo que era uma arquitetura do tipo load/store. O CDC 6600 foi consideradoum 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 59 2.6 A QUARTA GERAÇÃO DE COMPUTADORES Figura 2.16 – 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.16). Após o Intel 4004, que era um pequeno microprocessador de 4 bits, vieram o 8008, 8080 (um dos microprocessadores mais vendidos em todo o mundo) e o 8085. Desde então, os microprocessadores expandiram o seu poder computacional e suas apli- cações, sendo utilizados hoje no controle desde impressoras a laser, computadores pessoais, servidores comerciais e supercomputadores. Esta tecnologia permitiu a construção de computadores muito compactos. Esta época ficou marcada pelo surgimento do computador pessoal ou microcomputador, e é também o início da utilização do disquete, um disco magnético flexível e removível, como unidade de armazenamento. No campo dos computadores de grande porte, o IBM introduziu o IBM 370 no mercado no ano de 1970, sendo o sucessor direto do modelo 360, mantendo compatibilidade para permitir uma migração mais simples para os usuários. Podemos destacar como suas características o uso de memória principal do computador constituída inteiramente com tecnologia de semicondutores. O processador também fazia uso de circuitos integrados para a realização de funções lógicas e aritmética, com velocidade do processador era de 12,5 MHz e possui suporte total para memória virtual. Surgiu uma grande quantidade de linguagens de programação, bem como o início do uso das redes de transmissão de dados para a interligação de computadores. Steve Wozniak e seu melhor amigo Steve Jobs lançaram o Apple-I, que vendeu cerca de 200 placas e, um ano mais tarde, o Apple II, um modelo que vendeu milhões de unidades. DR AF T 2. Breve Histórico da Computação 60 O Cray I foi o primeiro processador vetorial bem sucedido comercialmente. Era o computa- dor mais rápido no seu tempo, entre outros fatores, devido ao seu formato inovador, um “C”, para reduzir o comprimento dos fios. 2.6.1 Altair 8800 O kit de computador Altair 8800, baseado no microprocessador Intel 8080 foi um grande sucesso. Bill Gates e Paul Allen licenciaram o BASIC como a linguagem de software do Altair. A unidade de controle do processador usado no Altair 8800, o Intel 8080 LSI, é do tipo microprogramada, com 8 registradores de propósitos gerais de 8 bits de largura, apontador de instruções (PC), acumulador e registrador de ponteiro de pilha e velocidade de 2,0 MHz. O Altair 8800 básico possuía 256 bytes de memória RAM, sendo que cada endereço tem 16 bits de largura. A memória podia ser expandida para ter até 65 KB. Além disso, o Altair 8800 possuía os seguintes modos de endereçamento: direto, indireto e imediato. O kit básico do Altair 8800 vinha apenas com a memória de 256 bytes, mas era possível expandi-la para até 65 KB, sendo assim não tinha dispositivo de armazenamento secundário. Porém era possível comprar separadamente drivers de disquete (na época se usavam os de 8 polegadas, ou 200 milímetros). Os mais robustos podiam armazenar até 1 MB. 2.6.2 VAX 11/780 Figura 2.17 – VAX 11/780 By Emiliano Russo, Associazione Culturale VerdeBinario (Public domain), via Wikimedia Commons DR AF T 2. Breve Histórico da Computação 61 O VAX-11/780 (Virtual Address eXtension) foi lançado em 25 de outubro de 1977, sendo o primeiro computador a implementar a arquitetura VAX. Sua CPU foi construída com uso de circuitos integrados com a tecnologia de lógica transistor-transistor (TTL), com 200 ns de tempo de ciclo de relógio (ou seja, com frequência de 5 MHz), utilizando uma memória cache de 2 KB. O VAX-11/780 suportava de 128 KB até 8 MB de memória, com código de correção de erro, através de um ou dois controladores de memória. O VAX possuía 16 modos de endereçamento, 16 registradores de 32 bits cada, nomeados de R0 a R15. Uma característica significante da arquitetura do VAX 11-780 é que seu endereçamento de instrução é virtualmente arbitrário. Isso significa que não tem formatos fixos e nenhuma restrição em relação a localização de um operando para uma instrução em particular. Sendo assim, operandos e instruções podem começar em qualquer endereço de byte, impar ou par. O 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) 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ão hipercúbica se tornou um marco na computação paralela nesta época. O sistema Sequente Balance 8000 conectava até 20 processadores a um único módulo de memória compartilhada com sistema operacional Unix é um outro exemplo de arquitetura desta geração. Houve também o desenvolvimento e disseminação do uso da tecnologia de rede local para interconexão dos computadores. Como destaque para esta época, temos também os computadores científicos com proces- samento vetorial como Cray e Thinking Machines com desempenho de cerca de 1 GFlops (operações aritméticas de ponto flutuante por segundo), além do aumento da qualidade da visualização científica com estações de trabalho dedicadas. Em 1987 a Sun lança a primeira estação de trabalho com microprocessadores RISC e nesta época a Apple introduz os computadores pessoais Macintosh II e Macintosh SE. A AT&T anuncia um plano para adquirir 20% da Sun Microsystems, e desenvolver a nova geração do DR AF T 2. Breve Histórico da Computação 62 sistema operacional UNIX. A Intel anuncia o microprocessador 80486 e o chip RISC i860 RISC, ambos com mais de um milhão de transistores. Ao final da década o número de microcomputadores no mundo excedia 100 milhões. Ao final desta década, a IBM anuncia o sistema 390, seu computador mainframe para os anos 90. 2.8 A SEXTA GERAÇÃO DE COMPUTADORES (1990-?) Podemos dizer quea 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.1 ASCI White O ASCI White foi um supercomputador instalado no Lawlence Livermore National Laboratory (LLNL). Completado em Junho de 2000, ele foi transportado para os laboratórios na mesma época. Foi oficialmente nomeado como o supercomputador mais rápido do mundo em 15 de Agosto de 2001. O computador alcançava 12,3 trilhões de operacões de ponto flutuante por segundo. Ele tinha um total de 6TB de memória principal SDRAM, e o sistema era formado por mais de 200 gabinetes que preenchem uma grande sala e com um peso 106 toneladas. O sistema operacional utilizado era o AIX da IBM. Os aplicativos do usuários podem ser desenvolvidos usando uma variedade de linguagens, incluindo FORTRAN, C/C++. Ele possui um espaço de armazenamento de 160 TB. O ASCI White possuía 512 unidades de processamento, cada uma com 16 processadores e sua respectiva memória RAM e discos rígidos. DR AF T 2. Breve Histórico da Computação 63 Figura 2.18 – Supercomputador ASCI White Foto extraída de https://www.top500.org/featured/systems/asci-white-lawrence-livermore-national-laboratory/ A arquitetura desse supercomputador é baseado no conjuto de instruções PowerPC, que é RISC e do tipo load/store, que só permite acesso direto à memória por meio dessas duas 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.2 Tianhe-2 Só muito recentemente a China entrou na corrida para a instalação de supercomputadores, mas o fez de uma maneira vigorosa e já apresenta diversos computadores na lista dos 500 computadores mais rápidos do mundo. Em junho de 2013 a China já possuía 54 computadores inscritos nesta lista. Em junho de 2013, para substituir o Tianhe-1A, surge o Tianhe-2 (Milky Way-2), cujo DR AF T 2. Breve Histórico da Computação 64 desenvolvimento foi patrocinado pelo programa State High-Tech Development Plan. Construído na National University of Defense Technology localizada na cidade de Changsha, província de Hunan. As suas principais características são: • 16.000 nós computacionais; • 3.120.000 núcleos de processadores inseridos em: – 32.000 Intel Xeon E5-2692 12C com 2,2 GHz – 48.000 Intel Xeon Phi 31S1P • 17.6 MW de consumo de energia e 6.4 MW gastos em refrigeração • 12,4 PB em capacidade de armazenamento • Memória de 1,375 TB (1,0 TB direto para CPU e 0,375 TB para o Coprocessador Xeon Phi) • Rede de interconexão com 13 switches de 574 portas O poder de processamento medido usando o benchmark HPL foi de 33,8 PFlops, sendo que o desempenho de pico estimado era de 54,9 PFlops.Quando medido, o total de energia utilizada 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 trazer aqui também um pouco da história e da descrição das características técnicas desses projetos. DR AF T 2. Breve Histórico da Computação 65 2.9.1 Computador Zezinho As primeiras iniciativas no projeto de computadores nacionais foram acadêmicas, sendo um dessas primeiras o projeto de um computador denominado “Zezinho” (Figura 2.19), feito por quatro alunos do ITA, em São José dos Campos. José Ellis Ripper, Fernando Vieira de Souza, Alfred Volkmer e András György Vásárhelyi, orientados pelo Prof. Tien Wei Chu e seguidos de perto pelo Prof. Darcy Domingues Novo, sob a supervisão do chefe da Divisão de Eletrônica, Prof. Dr. Richard Robert Wallauschek. Além deles, colaboraram com o grupo os funcionários do ITA Moisés Garcia, Vicente Miranda e a Dra. Cláudia Juigné no projeto e construção do Zezinho, um computador didático que utilizava apenas componentes nacionais (cerca de 1500 transistores). Figura 2.19 – O Computador Zezinho Foto extraída de http://www.aeitaonline.com.br/wiki/index.php?title=Zezinho Em 1963 o Zezinho passou por uma revisão e evolução realizadas pelo formando Valdemar Waingort Setzer, adquirindo sua forma final, parar utilização em aulas e para demonstrações . O que foi possível levantar de sua arquitetura é que tinha apenas 8 posições de memória de 8 bits, onde cada bit era implementado por um circuito biestável feito com transistores. Havia acesso a cada bit de cada posição por meio de um painel, com uma placa de baquelite (uma placa feita de material não condutor utilizado para montagens experimentais) com 2 pontos de solda para cada bit. Cada par de pontos estava ligada a um biestável: um ponto à DR AF T 2. Breve Histórico da Computação 66 base de um dos transistores, o outro à base do outro transistor. Para alterar o estado de um bit, bastava encostar em um ponto de solda daquela placa uma ”caneta” com ponta de metal, aterrada. Ou seja, essa era uma forma, bem primitiva, para realizar a entrada de dados no computador. Para cada bit havia no painel uma lampadinha, acionada por um dos transistores do biestável correspondente; quando ela estava acesa, por definição o bit estava com o valor ”1”, se apagada, ”0”. Haviapouquí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. Duffles 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 interligados segundo a técnica ”wire-wrap”. DR AF T 2. Breve Histórico da Computação 67 Figura 2.20 – O Computador Patinho Feio Foto extraída de https://pt.wikipedia.org/wiki/Patinho_Feio 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 plotter. Apesar de muito famoso, não há maiores detalhes além dos apresentados aqui sobre a sua arquitetura. 2.9.4 O minicomputador G-10 Nesta época, a Marinha — que comprava, na Inglaterra, modernas fragatas informatizadas — formou, com o Banco Nacional de Desenvolvimento Econômico (BNDE), 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. DR AF T 2. Breve Histórico da Computação 68 Figura 2.21 – O Computador Cobra 700 Foto extraída de (RODRIGUES, 1984) Em 24 de julho de 1972, o GTE assinou um documento com a USP e com a firma E.E. (Equipamentos Eletrônicos) para o desenvolvimento, em dois anos, do que se chamava na época de minicomputador. O projeto, que acabou sendo realizado entre a USP (na parte de hardware) e a PUC-RJ (no desenvolvimento do software), foi entregue em 1975. Tratava-se de um protótipo industrial mais compacto, seguindo os recursos da época, de mais fácil montagem e com componentes periféricos, que recebeu o nome de G-10. Segundo (CARDI; BARRETO, 2012), o G-10 tinha as características de um protótipo, o que não aconteceu com o Patinho Feio. Possuía documentação com desenhos e especificações, além de software e sistema operacional desenvolvido pela PUC-RJ. 2.9.5 Cobra Computadores Em 1974 foi fundada no Rio de Janeiro a Cobra (Computadores Brasileiros S.A.) resultado da associação de capitais do Governo (BNDE), da iniciativa privada nacional (Equipamen- tos Eletrônicos — E.E.) e de um sócio estrangeiro (Ferranti, inglesa). A Cobra iniciou suas atividades produzindo o Cobra 700, com aplicação em controle de sistemas, com tecnologia da firma inglesa Ferranti. Lançou em seguida, para atender a necessidade dos bancos, que tinham grande necessidade de equipamentos de entrada de dados, a Cobra a adquiriu da Sycor, firma americana, a licença para fabricar o Sycor 440, um minicomputador baseado em microprocessadores 8080, da lntel, aqui denominado Cobra 400. DR AF T 2. Breve Histórico da Computação 69 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. 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. 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 microcom- putadores de 8 bits - o Cobra 300 e o Cobra 210, seus terminais de vídeo da linha TD e TR. Um dos últimos projetos realizados na Cobra foi a linha X - micros e super-microcomputadores baseados em processadores Motorola, que, nos modelos maiores X-3030 e X-3035, incorpo- ravam arquitetura de multiprocessamento, uma grande novidade na época. Equipava essa família o sistema operacional SOX (CARDOSO, 2013), compatível com o Unix e reconhecido internacionalmente pelo X-Open. Hoje em dia a Cobra ainda atua no mercado apenas como integradora de sistemas devido ao fim da reserva de mercado em 1992. A seguir uma relação mais detalhada deste componentes: • Cobra 700 (1977) – Minicomputador – Primeiro computador lançado pela Cobra, de tecnologia importada, era baseado no Argus 700 da inglesa Ferranti. • Cobra 400 (1977) – Minicomputador – Os primeiros Cobra 400 eram o modelo Sycor 440 importados da empresa americana Sycor, pouco tempo depois a Cobra desenvolveu o Cobra 400 II. O Cobra 400 era um minicomputador baseado em microprocessadores 8080, da Intel. • TD 200 (1979) – Terminal – Terminal inteligente de entrada de dados. Tinha 32 kB de RAM e duas unidades de disquete de 8 polegadas, densidade simples, e era baseado no microprocessador Intel 8080, de 8 bits. DR AF T 2. Breve Histórico da Computação 70 • Cobra 300 (1979) – Microcomputador – Originário do TD 200, era um equipamento monoposto autônomo, memória RAM de 48 KB e disquetede 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 • 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 DR AF T 2. Breve Histórico da Computação 71 de memória principal era de até 4 MB no X10 e de até 32 MB no X-20. O computadores da linha X-10 possuíam controlador de gerência de memória virtual externa, por segmentação. Um controlador de gerência de memória por paginação, integrado ao processador, era utilizado nos computadores da linha X-20. Ambos possuíam memória EPROM de 128 Kbytes, controladores de disco ”winchester”, controladores de linhas síncronas (ambos com 2), controladores de linhas assíncronas( X10 com 16 linhas e X20 com 32 linhas) e interface para impressora paralela. O X20 possuía interface para periféricos no padrão SCSI e discos SMD, mas o X10 não. 2.9.6 Outras Iniciativas Entretanto, os computadores desenvolvidos pela indústria nacional não se limitaram à expe- riência da Cobra. Diversas outras firmas foram criadas naquele período e diversos sistemas desenvolvidos, dos quais podemos relacionar: Microdigital, Prológica, Microtec, Scopus, Itautec, SID/Sharp, Edisa, Sisco, entre outras. Essas firmas, fundadas no final da década de 70 e início da 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. 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): • Cobra - Uma das primeiras empresas a produzir tecnologia genuinamente brasileira na área de informática. Resultado de uma parceria entre a E.E. Eletrônica, o BNDES e a inglesa Ferranti, em 1974. Atualmente, pertence ao Banco do Brasil e transformou-se em uma fornecedora de soluções tecnológicas. • Scopus - Criada em 1975 pelos professores da Escola Politécnica da Universidade de São Paulo (USP), Josef Manasterski, Célio Yoshiyuki e Edson Fregni. Na época, tinha capital aberto e uma equipe de 1,5 mil funcionários. Foi vendida ao Bradesco em 1989, grupo do qual faz parte até hoje. • Edisa - Fundada em 1977, tinha como acionista majoritário o grupo Iochpe. Associou-se à HP na década de 80, que a incorporou em 1992. O ex-presidente da Edisa Flávio Sehn assumiu a presidência da HP do Brasil. Atualmente, o executivo se dedica a projetos de reflorestamento. DR AF T 2. Breve Histórico da Computação 72 Tabela 2.1 – Índice de nacionalização Empresa Produto Índice Micros Cobra C-210 0,926 Cobra C-305 0,934 Edisa ED-281 0,860 Itautec I-7000 0,870 Labo 8221 0,897 Microtec PC 2001 0,879 Polymax MAXXI 0,902 Prológica CP-500 0,890 Scopus NEXUS-1600 0,939 SID SID-3000 0,960 Minis Cobra C-540 0,983 Edisa ED-381 0,850 Labo 8034 0,891 Medidata M.2001 0,891 SID Linha 5000 0,890 Sisco S-10.000 0,955 • 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 concor- data preventiva, em 2001. A dívida da companhia era de R$ 100 milhões. Chegou a ter 25% do mercado de terminais bancários. • Elebra - Fundada em 1979. Em um primeiro momento, foi desmembrada e vendida aos pedaços. A Alcatel ficou com uma parte. A Digital, com outra. Parte dos ativos foi para a Unysis. Em 2002, acabou com 11 pedidos de falência, 400 títulos protestados e uma dívida estimada em R$ 21 milhões. • Microtec - Empresa criada em 1982 por um grupo de professores universitários. Em 1997, se uniu ao Grupo Vitech America Inc., elevando a capacidade instalada de produção para 150 mil máquinas ao ano. Em 2001, a Vitech pediu concordata nos EUA em razão de briga com a fabricante de PCs Gateway. • Itautec - Originou-se como um braço interno do Grupo Itaú, em 1979, para desenvolver a automação bancária. Hoje é um fornecedor global do setor de tecnologia com operações em nove países: Argentina, Brasil, Chile, Equador, Espanha, Estados Unidos, Portugal, México e Venezuela. Atua nas áreas de software, hardware e serviços. Possui mais de cinco mil funcionários. • Prológica - Em março de 1976, os engenheiros Leonardo Bellonzi e Joseph Blumenfeld resolveram comercializar o protótipo da máquina contábil que acabavam de montar. Seis meses depois, lançaram o equipamento no mercado e atingiram o terceiro lugar na DR AF T 2. Breve Histórico da Computação 73 classificação das empresas nacionais do setor. Em 1990, foi acusada pela Microsoft de plagiar o sistema operacional MS-DOS. • Microsiga - Resultado da associação do fundador da Siga, Ernesto Haberkorn, com seu funcionário Laércio Cosentino, em 1983. Depois de adquirir a Logocenter e a RM Sistemas, mudou seu nome para Totvs. Hoje é líder do mercado brasileiro de sistemas de gestão empresariais (ERP, da sigla em inglês). Além disso, a empresa é a segunda no ranking da América Latina e a oitava na classificação global. 2.9.7 Projetos Acadêmicos Além dos produtos comerciais acima descritos, diversos protótipos foram desenvolvidos em laboratórios de pesquisa das universidades brasileiras, dos quais podemos destacar os relacio- nados a seguir: • 1973 - NCE/UFRJ - PPF - Processador de Ponto Flutuante para o computador modelo 1130 da IBM. • 1976 - NCE/UFRJ - UCP - Computador de porte médio compatível comcomputador 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 barramentos 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 “software” com uso de suporte em “hardware” para acelerar os mecanismos de coerência de memória • 1995 - LSI/USP - SPADE (I e II) -Computador com arquitetura paralela escalável com suporte para osmodelos CC-NUMA eCOMA. É baseada em elementos de processamento comerciais e redes de interconexão comerciais. Esta lista não é exaustiva e se concentra nos projetos de maior expressão que os autores puderam identificar. DR AF T 2. Breve Histórico da Computação 74 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.22 – 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 ”software” livre estava muito longe de ser inventado . Segundo o próprio Adriano de Oliveira relata: ”O fato de se ter como proposta a realização do projeto de uma UCP compatível em ”software” com o PDP-11/70 da DEC não implicou, de forma alguma, na adoção de uma filosofia de trabalho que não considerasse importante a busca de soluções novas e criativas para a execução do projeto. Apenas no plano de definição da máquina, do ponto de vista do programador, é que poucas alterações puderam ser feitas.” O projeto (Figura 2.23 e Figura 2.22) constava de painel de controle, unidade lógica e aritmética (números inteiros e de ponto flutuante), unidade de controle microprogramada, unidade de entrada e saída, memória cache com 8 Kbytes, memória principal com até 4 Mbytes. O processador operava com um relógio de 25 MHz e tinha um total de 86 instruções, operando em três níveis de privilégio: kernel, supervisor e usuário, além de possuir um total de 16 registradores visíveis ao programador e ao sistema operacional. DR AF T 2. Breve Histórico da Computação 75 Figura 2.23 – 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 (UCP’s) da família MC680XX operando em paralelo (Multiprocessamento), Unidades de Processamento Periférico (UPP’s) inteligentes para entrada e saída (E/S), memória global e barramento to de interconexão VME bus. Na fase de concepção levou-se em consideração que a construção de sistemas de mul- tiprocessamento homogêneos (aqueles em que os módulos básicos como UCP’s, Unidades de Memória (UM) e Unidades de Processamento Periférico (UPP’s) podem ser compartilha- dos indistintamente), apresentam uma série de vantagens sobre outros tipos de sistemas heterogêneos existentes na época. A simetria dos módulos do sistema permite uma melhor utilização dos recursos com- putacionais, tanto em operações de cálculo, como de E/S. As principais características do DR AF T 2. Breve Histórico da Computação 76 Figura 2.24 – Arquitetura do Pégasus Foto do acervo do NCE/UFRJ PEGASUS-32X eram: • suporte para memória virtual; • gerência de memória para relocação e proteção de programas em ambientes multiusuá- rios e multi-tarefas; • UCP’s de família MC680XX, com ”cache”, para controle do Sistema Operacional e pro- gramas de usuário; • instruções CISC de 8,16 ou 32 bits; • barramento VME bus, com caminhos de 32 bits para dados e 24 bits para endereço; • taxa de transferência de dados de 6,7 MBps; • cache de 4 Kbytes por UCP; • velocidade de 1,1 MIPS (1 UCP) a 3 MIPS (4 UCP’s); • unidades de processamento periférico, (UPP’s) inteligentes, utilizando o microprocessa- dor Z80-A; • as placas são auto-testáveis, de rápida reconfiguração em caso de falhas, devido à existência de diversos processadores e à modularidade do projeto. DR AF T 2. Breve Histórico da Computação 77 Os sistemas da família PEGASUS-32X eram formados a partir de múltiplos módulos esco- lhidos de cada um dos 7 tipos básicos, que são: a) Módulo UCP com saída para duas consoles; b) Módulo Unidade de Memória com até 4 Mbytes; c) Módulo UPP para 16 terminais e 2 impressoras; d) Módulo UPP para ”SASI bus”, permitindo ligar discos ”Winchester”, discos flexíveis e fitas do tipo ”Streaming”; e) Módulo UPP para discos SMD de alta capacidade; f) Módulo UPP para fitas magnéticas; g) Módulo UPP para interfaces especiais, como: ”timer”, calendário, processador de Ponto Flutuante, etc. 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. Uma contribuição importantíssima do projeto foi o desenvolvimento de um sistema opera- 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; DR AF T 2. Breve Histórico da Computação 78 Figura 2.25 – Equipe do Pegasus/Plurix Foto do acervo do NCE/UFRJ • 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
Compartilhar