Arquitetura e-organizacao-de-com-put-adores-5-ed-william-stallings

787
l'n'1l1lt'(' IIall

Transcript of Arquitetura e-organizacao-de-com-put-adores-5-ed-william-stallings

  1. 1. l'n'1l1lt'('IIall
  2. 2. RROUITETURA EORGANlzAtnoDE COMPUTADORESfI!IIlJ91lf//II//IlIIESEflfElI/l1lOUlNTR EDIoWILLIAM STALLlNGSTraduoCarlos Camaro de FigueiredoDoutor em Cincia da Computao pela Universidade de Manchester - InglaterraLuclia Camaro de FigueiredoDoutora em Cincia da Computao pela Pontifcia Universidade Catlica - RJProfessora do Departamento de Computao da Universidade Federal de Ouro Preto - MGReviso TcnicaEdson Toshimi MidorikawaProfessor Doutor do Departamento de Engenharia de Computao eSistemas Digitais da Escola Politcnica da Universidade de So PauloPrenticeHallSo Paulo - 2003Brasil Argentina Colmbia Costa Rica Chile EspanhaGuatemala Mxico Porto Rico Venezuela
  3. 3. 2003 by Pearson Education do BrasilComputer Organization and Architecture 2000, 1996 by Prentice Hall, Inc.Todos os direitos reservados. Nenhuma parte desta publicao poder ser reproduzida ou transmitidade qualquer modo ou por qualquer outro meio, eletrnico ou mecnico, incluindo fotocpia,gravao ou qualquer outro tipo de sistema de armazenamento e transmisso deinformao, sem prvia autorizao, por escrito, da Pearson Education do Brasil.Editor. Roger TrimerProdutora Editorial: Renatha PradoCapa: Marcelo da Silva Franozo, sobre o projeto original de Heather ScottEditorao Eletrnica: ERJ Composio Editorial e Artes Grficas Ltda.Impresso: So Paulo - SPDados de Catalogao na PublicaoStallings, WilliamArquitetura e Organizao de Computadores:Projeto para o Desempenho.William Stallings;traduo: Carlos Camaro de Figueiredo e Luclia Camaro de Figueiredo;reviso tcnica: Edson Toshimi Midorikawa.-So Paulo: Prentice Hall, 2002ISBN: 85.87918-53-2ndices para catalogao:I11i1. Computadores: arquitetura e organizao2. Arquitetura de computadores2003Direitos exclusivos para a lngua portuguesa cedidos Pearson Education do Brasil,uma empresa do grupo Pearson EducationRua Emlio Goeldi, 747CEP 05065-110, So Paulo - SP, BrasilFone (11) 3613-1222 Fax (11) 3611-0444e-mail: [email protected]
  4. 4. Para minha generosa mulherAT5e para as suas constantes companhias,Geoftroi e Princesa Kate Lan Kinetic,Les Enjants du Paradis
  5. 5. PREFCIOObjetivosEste livro trata da estrutura e do funcionamento de computadores. Seu objetivo apresentar,da forma mais clara e abrangente possvel, a natureza e as caractersticas dos sistemasde computao modernos.Isso constitui tarefa desafiadora, por vrias razes. Em primeiro lugar, existe uma enormevariedade de produtos que podem ser denominados 'computadores', desde processadoresde um nico chip ou pastilha, que custam poucos dlares, at supercomputadores, que custamdezenas de milhes de dlares. Essa variedade apresenta-se no apenas em relao ao custo,mas tambm em relao ao tamanho, ao desempenho e aplicao. Em segundo lugar, a rpidaevoluo que sempre caracterizou a tecnologia de computadores continua sem limites.Essa evoluo engloba todos os aspectos da tecnologia de computadores, desde a tecnologiade circuitos integrados usados na construo dos seus componentes at a crescente utilizaode conceitos de organizao paralela na combinao desses componentes.Apesar da grande variedade e da rapidez de evoluo da rea de computao, certosconceitos fundamentais aplicam-se a qualquer projeto de computadores. A aplicao dessesconceitos depende do estado atual da tecnologia e dos objetivos de custo e de desempenhodo projetista. A inteno deste livro oferecer uma discusso minuciosa sobre os conceitosfundamentais de arquitetura e organizao de computadores, relacionando-os com as questesde projeto modernas.O subttulo sugere o tema e a abordagem adotados neste livro. Sempre foi importanteprojetar computadores com grande desempenho, mas essa exigncia nunca foi to forte e todifcil de ser atendida como nos dias de hoje. Todas as caractersticas bsicas de desempenhode sistemas de computao, como velocidade do processador, velocidade da memria, capacidadede armazenamento da memria e taxas de transmisso de dados, tm crescido rapidamente.Alm disso, esse crescimento ocorre a taxas diferentes. Isso dificulta o projeto de umsistema balanceado, que maximize tanto o desempenho quanto a utilizao de todos os elementosdo sistema. O projeto de computadores vem se tornando, portanto, cada vez mais, umjogo de alterar a estrutura ou a funo em uma determinada rea para compensar um maudesempenho em outra rea. Esse jogo poder ser observado em inmeras decises de projetoapresentadas ao longo deste livro.Um sistema de computao, como qualquer outro sistema, consiste de um conjunto decomponentes inter-relacionados. Um sistema mais bem caracterizado em termos da sua estrutura,o modo como os componentes esto interconectados, e do seu funcionamento - aoperao de seus componentes individuais. Alm disso, a organizao de um computador
  6. 6. """"" ""i"'_, -----._VIII ARQUITETURA E ORGANIZAO DE COMPUTADOREShierrquica: cada compOJ;ente principal pode ser descrito pela sua decomposio em subcomponentes,juntamente com a descrio da estrutura e do funcionamento desses componentes.Para maior clareza e facilidade de entendimento, essa organizao hierrquica apresentada,neste livro, do nvel mais alto para o mais baixo:Sistema de computao: Seus principais componentes so o processador, a memriae os dispositivos de E/S.Processador: Seus principais componentes so a unidade de controle, os registradores,a unidade lgica e aritmtica (ULA) e a unidade de execuo de instrues.Unidade de controle: Seus principais componentes so a memria de controle, a l-gicade seqenciamento de microinstrues e os registradores.O objetivo apresentar o material do livro de maneira que introduza cada novo conceitono contexto em que ele se aplica. Isso dever minimizar o risco de o leitor se perder aolongo do texto, alm de motiv-lo de forma mais adequada do que em uma abordagem naqual a organizao hierrquica apresentada do nvel mais baixo para o mais alto.Ao longo da discusso, vrios aspectos do sistema sero abordados, tanto do ponto devista da sua arquitetura (os atributos do sistema que so visveis para um programador deprogramas em linguagem de mquina) como do ponto de vista da sua organizao (as unidadesoperacionais e suas interconexes que realizam a arquitetura).Exemplos de SistemasAo longo deste livro, sero usados exemplos de diferentes mquinas, para esclarecer ereforar os conceitos apresentados. A maioria dos exemplos extrada de duas famlias decomputadores: o Pentium II da Intel e o PowerPC. (O Pentium III, recentemente introduzidono mercado, , essencialmente, o Pentium II com um conjunto expandido de instrues multimdia.)Juntos, os projetos desses dois sistemas seguem as tendncias da maioria dos projetosatuais de computadores. O Pentium II , fundamentalmente, um computador que possuium conjunto complexo de instrues (CISC), embora com um ncleo RISC; o PowerPC essencialmenteum computador com um conjunto reduzido de instrues (RISC). Ambos fazemuso de princpios de projeto de arquitetura superescalar e provem suporte a configuraescom mltiplos processadores:Orl!anizao do Textoo livro organizado em cinco partes:Parte 1 Viso geral: Essa parte oferece uma viso geral do restante do livro.Parte 2 O sistema de computao: Um sistema de computao constitudo de processador,memria e mdulos de E/S, alm das interconexes entre esses componentes principais.b* N.R.T.: O novo processador da Intel, o Pentium 4, apresenta as mesmas caractersticas dos seus antecessores,como, por exemplo, a implementao da arquitetura IA-32, acrescentando a extenso SSE2 (Streaming SIMDExtensions 2) no conjunto de instrues e uma nova microarquitetura, chamada NetBurst. Para maioresinformaes consulte a referncia "IA-32 Intel Architecture Software Developer's Manual - Volume 1: BasicArchitecture" disponvel na pgina Web da Intel (http://www.intel.com).
  7. 7. PREFCIO IXCom exceo do processador, que suficientemente complexo para ser explorado na Parte 3,essa parte aborda cada um dos demais componentes.Parte 3 A unidade de processamento central: A CPU consiste de uma unidade de controle,registradores, unidade lgica e aritmtica, unidade de execuo de instrues e interconexesentre esses componentes. Nessa parte, so abordados aspectos da arquitetura da CPU,tais como o projeto do conjunto de instrues e dos tipos de dados. Tambm so tratadasquestes relativas sua organizao, como, por exemplo, o uso de pipeline.Parte 4 A unidade de controle: A unidade de controle o componente do processadorque ativa os demais componentes. Essa parte trata do funcionamento da unidade de controlee da sua implementao, utilizando microprogramao.Parte 5 Organizao paralela: Essa ltima parte aborda algumas das questes envolvidasem organizaes com mltiplos processadores e com processamento vetorial.Um resumo mais detalhado do contedo do livro, com uma descrio do contedo decada captulo, apresentado no final do Captulo 1.Projetos para Ensino de Arquitetura e OrQanizao deComputadoresPara muitos professores, um componente importante de um curso de arquitetura e organizaode computadores o desenvolvimento de um projeto, ou de um conjunto de projetas,por meio dos quais os estudantes possam pr em prtica e reforar o aprendizado dosconceitos introduzidos no texto. Este livro inclui material adicional para prover suporte adequadoao desenvolvimento de projetos ao longo do curso. O manual do professor no apenascontm orientao sobre como definir e estruturar os projetos, mas tambm sugere um conjuntode projetos, que cobrem diversos tpicos do texto: Projetos de pesquisa: O manual inclui uma srie de atividades de pesquisa, que instruemo estudante a realizar uma pesquisa sobre um determinado tpico na Web ouna literatura tcnica e a escrever um relatrio. Projetos de simulao: O manual fornece informaes necessrias para a utilizaodo pacote de simulao SimpleScalar, que pode ser utilizado para explorar aspectosrelativos ao projeto da arquitetura e da organizao de um computador. Atividades de leitura e relatrio: O manual inclui uma relao de artigos sugeridoscomo leitura complementar, um ou mais para cada captulo, cuja leitura pode seratribuda como atividade para o estudante, propondo-se que ele escreva um breveresumo sobre cada artigo lido.Veja o Apndice B para maiores detalhes.
  8. 8. X ARQUITlTURA [ ORGANllAAo D[ COMPUTADORESo Que H de Novo na Quinta EdioNos quatro anos decorridos desde o lanamento da quarta edio deste livro, contnuasinovaes e melhorias ocorreram na rea. Nesta nova edio, procuramos cobrir essa evoluo,mantendo, ao mesmo tempo, uma abordagem clara e abrangente da rea. Para iniciaresse processo de reviso, a quarta edio deste livro foi exaustivamente revisada por inmerosprofessores que lecionam o assunto. Como resultado, a apresentao tornou-se mais clarae concisa, e vrias ilustraes foram aprimoradas. Alm disso, foram adicionados diversosexerccios novos, previamente testados em sala de aula.Alm dessas melhorias introduzidas com objetivos pedaggicos e para tornar o livromais agradvel ao estudante, outras modificaes substanciais foram feitas. Embora a estruturade captulos tenha se mantido praticamente inalterada, a maior parte do contedo decada captulo foi revisada e novos materiais foram includos. Algumas das principais mudan-asso: Memria ptica: O material referente memria ptica foi ampliado, passando a incluirdispositivos de memria magneto-ptica. Projeto de processador superescalar: O captulo relativo a projeto de processadoressuperescalares foi ampliado, incluindo uma discusso mais detalhada e dois novosexemplos: o UltraSparc 11 e o MIPS R1llDOO. Conjunto de instrues multimdia: O conjunto de instrues MMX, usado no Pen-tiumIl e no Pentium III, abordado. Execuo predicativa e carga especulativa: Esta edio reala a discusso dessesdois conceitos recentes, que so fundamentais no projeto da nova arquitetura IA-64da Intel e da Hewlett-Packard. 5MPs, clllsters e sistemas NUMA: O captulo relativo organizao paralela decomputadores foi totalmente reescrito. O novo captulo inclui a descrio detalhadae a comparao entre multiprocessadores simtricos (SMPs), c/listas e sistemas comacesso no-uniforme memria (NUMA). Material expandido para o professor: Como foi dito anteriormente, o livro agoraoferece extenso material para prover suporte a projetos. Foi tambm ampliado o materialde apoio contido na pgina Web do livro ......._-=====================3
  9. 9. REClJRSOS ON-LINE PARAARQlJlTETlJRA E ORGANIZAODE COMPlJTADORESo Companion Website do livro (www.prenhall.com/s tallings_br) oferece recursos adicionaispara alunos e professores.Manual de Solues em ponus;!usOs professores que adotam o livro tm acesso ao manual de soluescompleto, disponvel no site para download.Elaborado pelo prprio autor, o manual foi traduzido pelo professor EdsonToshirni Midorikawa, da Escola Politcnica da Universidade de So Paulo.Site do AutorO Companion Website traz um link para o site do autor, onde esto disponveis,em ingls, os seguintes recursos:Materiais de Apoio ao Curso Cpias das figuras do livro em formato POF. Notas de aula em formato POF, adequadas como resumo para o estudanteou como um esquema global do curso. Slides para apoio ao ensino, elaborados no PowerPoint.Pl!inas Web teisA pgina do autor inclui endereos on-line relevantes, organizados porcaptulos. Essas pginas cobrem um vasto espectro de tpicos, possibilitandoaos estudantes explorar cada tpico com maior profundidade, nomomento adequado.Lista de Discusso na InternetUma lista de discusso, mantida na Internet, possibilita aos professorestrocar informaes, sugestes e perguntas relativas a este livro, entre sie com o autor.
  10. 10. jXII ARQUITETURA E ORGANIZAO DE COMPUTADORESFerramentas de SimulaoLink para a pgina referente ferramenta de simulao SimpleScalar,usada para a anlise de decises de projeto de processadores. Essa pginacontm tanto o software como as informaes de suporte necessrias.O manual do professor inclui informaes adicionais sobre instalao eutilizao do software, assim como sugestes de projetos a serem executadospelos estudantes. O Apndice B traz mais informaes.
  11. 11. AGRADECIMENTOS XIIIAaradecimentosEsta nova edio beneficiou-se da reviso de inmeras pessoas, que generosamente cederamseu tempo e conhecimento. As seguintes pessoas revisaram a quarta edio e fizeramdiversas sugestes teis: Kitty Niles e Yew Pen-Chung, da Universidade de Minnesota; YuvalTamir, da UCLA; Arthur Werbner; Bina Ramamurthy, da SUNY Buffalo; e Marcus Gonalves,da Automation Research Corpo David Lambert, da Intel, revisou o material referente ao Pentium.As seguintes pessoas revisaram partes do manuscrito da quinta edio: Jay Kubicky;Mike Albaugh, da Atari Games; Tom Callaway, da Silicon Graphics; James Stine, da LehighUniversity; Gabriel dos Reis, da Ecole Normale Superieure de Cachan; e Rick Thomas, da Rutgers.Bernard Leppla, da IBM da Alemanha, auxiliou-me na compreenso da estratgia SMPdo computador de grande porte da IBM. Cindy Norris, da Appalachian State University, contribuiucom a proposio de alguns exerccios. Todd Bezenek, da University of Wisconsin, eJames Stine, da LeHigh University, prepararam os exerccios relativos ao SimpleScalar, contidosno manual do professor, e Todd preparou, tambm, o Guia do Usurio do SimpleScalar.Os editores da edio em portugus agradecem aos professores Geraldo Lino de Campos eWagner Zucchi, da Universidade de So Paulo, que avaliaram o livro e colaboraram em suapublicao.
  12. 12. PrefcioSumrio.................................................................... VIICompanion Website XIPARTE 1 VISO GERAL 1Captulo 1 Introduo 31.1 Arquitetura e Organizao 51.2 Estrutura e Funo 61.3 Estrutura do Livro 111.4 Internet e Recursos na Web 15Captulo 2 Evoluo e Desempenho de Computadores 172.1 Breve Histrico da Evoluo dos Computadores 192.2 Projeto que Visa ao Desempenho 422.3 Evoluo do Pentium e do PowerPC 462.4 Leitura e Sites Web Recomendados 492.5 Exercios 49PARTE 2 O SISTEMA DE COMPUTAO 51Captulo 3 Barramentos do Sistema 533.1 Componentes de Computador 553.2 Funes dos Computadores 573.3 Estruturas de Interconexo 723.4 Interconexo de Barramentos 733.5 PCI 843.6 Leitura e Sites Web Recomendados 943.7 Exerccios 95Apndice 3A Diagramas de Tempo 97Captulo 4 Memria Interna 994.1 Viso Geral do Sistema de Memria de Computadores 1014.2 Memria Principal de Semicondutor 1084.3 Memria Cache 122
  13. 13. XVI ARQUITETURA E ORGANIZAO DE COMPUTADORES4.4 Organizaes das Memrias Cache do Pentium II e do PowerPC 1394.5 Organizaes de DRAM Avanada 1444.6 Leitura e Sites Web Recomendados 1494.7 Exerccios 150Apndice 4A Caractersticas de Desempenho de Memrias deDois Nveis 153Captulo 5 Memria Externa 1615.1 Disco Magntico 1635.2 RAID 1715.3 Memria ptica 1815.4 Fita Magntica 1865.5 Leitura e Sites Web Recomendados 1875.6 Exerccios 188Captulo 6 Entrada e Sada 1916.1 Dispositivos Externos 1946.2 Mdulos de EIS 1986.3 EIS Programada , 2026.4 EIS Dirigida por Interrupo 2066.5 Acesso Direto Memria 2156.6 Canais e Processadores de EIS 2186.7 A Interface Externa: SCSI e FireWire 2216.8 Leitura e Sites Web Recomendados 2356.9 Exerccios 236Captulo 7 Suporte ao Sistema Operacional 2397.1 Viso Geral de Sistemas Operacionais 2417.2 Escalonamento 2547.3 Gerenciamento de Memria , , 2607.4 Gerenciamento de Memria do Pentium II e do PowerPC 2727.5 Leitura e Sites Web Recomendados 2837.6 Exerccios 283Parte 3 A UNIDADE CENTRAL DE PROCESSAMENTO 287Captulo 8 Aritmtica Computacional 2898.1 A Unidade Lgica e Aritmtica 2918.2 Representao de Nmeros Inteiros 2928.3 Aritmtica de Nmeros Inteiros 2998.4 Representao de Nmeros de Ponto Flutuante 3148.5 Aritmtica de Nmeros de Ponto Flutuante 3228.6 Leitura e Site Web Recomendados 3308.7 Exerccios 330Apndice 8A Sistemas de Numerao 333
  14. 14. SUMRIO XVIICaptulo 9 Conjunto de Instrues: Caractersticas e Funes 3399.1 Caractersticas de Instrues de Mquina 3419.2 Tipos de Operandos 3489.3 Tipos de Dados do Pentium II e do PowerPC 3509.4 Tipos de Operaes 3539.5 Tipos de Operaes do Pentium II e do PowerPC 3669.6 Linguagem de Montagem 3789.7 Leitura Recomendada 3809.8 Exerccios 380Apndice 9A Pilhas 385Apndice 9B Little-endian, Big-endian e Bi-endian 390Captulo 10 Conjunto de Instrues: Modos de Endereamento e Formatos 39510.1 Endereamento 39710.2 Modos de Endereamento do Pentium II e do PowerPC 40410.3 Formatos de Instruo 41010.4 Formatos de Instruo do Pentium II e do PowerPC 42010.5 Leitura Recomendada 42410.6 Exerccios 424Captulo 11 Estrutura e Funcionamento da CPU 42711.1 Organizao do Processador 42911.2 Organizao de Registradores 43011.3 Ciclo de Instruo 43611.4 Pipeline de Instrues 44111.5 O Processador Pentium II 45611.6 O Processador PowerPC 46511.7 Leitura Recomendada 47411.8 Exerccios 474Captulo 12 Computadores com um Conjunto Reduzido de Instrues 47712.1 Caractersticas da Execuo de Instrues 48012.2 Uso de um Grande Banco de Registradores 48512.3 Otimizao do Uso de Registradores Baseada em Compiladores 49112.4 Arquitetura com um Conjunto Reduzido de Instrues 49312.5 Pipeline de Instrues RISC 50012.6 MIPS R4000 50312.7 SPARC 51312.8 Controvrsia RISC versus CISC 51912.9 Leitura Recomendada 52012.10 Exerccios 520
  15. 15. XVIII ARQUITETURA E ORGANIZAO DE COMPUTADORESCaptulo 13 Paralelismo no Nvel de Instrues e Processadores Superescalares 52513.1 Viso Geral 52713.2 Questes de Projeto 53213.3 Pentium II 54213.4 PowerPC 54813.5 MIPS RI0000 55613.6 UltrasPARC-I1 55813.7 IA-64/Merced 56213.8 Leituras Recomendadas e Pginas Web 57313.9 Exerccios 574PARTE 4 A UNIDADE DE CONTROLE 579Captulo 14 Operao da Unidade de Controle 58114.1 Microoperaes 58314.2 Controle do Processador 59014.3 Implementao por Hardware 60114.4 Leituras Recomendadas 60414.5 Exerccios 604Captulo 15 Controle Microprogramado 60515.1 Conceitos Bsicos 60715.2 Seqenciamento de Microinstrues 61615.3 Execuo de Microinstrues 62115.4 TI 8800 63315.5 Aplicaes de Microprogramao 64415.6 Leituras Recomendadas 64515.7 Exerccios 646PARTE 5 ORGANIZAO PARALELA 647Captulo 16 Processamento Paralelo 64916.1 Organizaes de Mltiplos Processadores 65116.2 Multiprocessadores Simtricos 65316.3 Coerncia de Cache e o Protocolo MESI 66416.4 Clusters 67116.5 Acesso No-Uniforme Memria (NUMA) 67616.6 Computao Vetorial 68016.7 Leituras Recomendadas , 69416.8 Exerccios 694
  16. 16. SUMRIO XIXApndice A - Lgica Digital 699AI lgebra Booleana 700A2 Portas Lgicas 702A3 Circuitos Combinatrios 705A4 Circuitos Seqenciais 728A.5 Exerccios 737Apndice B - Projetos para o Ensino de Arquitetura e Organizao de Computadores 741B.l Projetos de Pesquisa 742B.2 Projetos de Simulao 742B.3 Atividades de Leitura e Relatrio 743Glossrio .................................................................... 745Referncias Bibliogrficas 757ndice .................................................................... 769
  17. 17. PARTEVISO GERALOBJETIVOSo propsito da Parte 1 fornecer embasamento e contexto para o restante deste livro, apresentandoos conceitos fundamentais de arquitetura e organizao de computadores.ROTEIROcaptulo 1: Introduoo Captulo 1 introduz o conceito de computador como um sistema hierrquico. Umcomputador pode ser visto como um sistema formado por um conjunto estruturado decomponentes, e sua funo pode ser compreendida em termos das funes desses componentes.Cada componente, por sua vez, pode ser descrito em termos de sua estruturae funo internas. Os nveis mais altos dessa viso hierrquica so abordados neste captulo.O restante do livro organizado segundo essa estrutura hierrquica, em ordemdecrescente.Captulo 2: Evoluo e desempenho de computadoresO Captulo 2 apresenta um breve histrico da evoluo dos computadores, desde osseus ancestrais mecnicos at os sistemas atuais. Esse histrico contribui para destacaralgumas caractersticas importantes do projeto de computadores e para dar uma visode alto nvel da estrutura de um computador. Em seguida, o captulo introduz um temafundamental deste livro: o projeto de computadores que visa a um melhor desempenho.Destaca-se, ainda, a importncia de obter um balanceamento adequado da utilizaodos diversos componentes de um computador, cujas caractersticas de desempenho sobastante distintas.
  18. 18. captulo 1-----------------------------,11.1 Arquitetura e or2anizao1.2 Estrutura e funoFunoEstruturaINTRODUC,O1.3 Estrutura do livroEvoluo e desempenho de computadoresBarramentos do sistemaMemria internaMemria externaEntrada e sadaSuporte ao sistema operacionalAritmtica computacionalConjuntos de instruesEstrutura e funcionamento da CPUComputadores RISCParalelismo em nvel de instruo e processadores superescalaresOperao da unidade de controleControle microprogramadoProcessamento paraleloLgica digital1.4 Internet e recursos na WEBSites Web deste livroOutros sites WebGrupos de notcias USENET
  19. 19. 4 ARQUlTrTURA EORGANIZAO DE COMPUTADORES CaP. 1CPURegistradores/"f""--. 'Unidadedecontrole Os principais elementos de um sistema de computao so a unidade central deprocessamento (celltral proass;IIg Imit - CPU), a memria principal, o subsistemade EIS (entrada e sada) e os mecanismos de interconexo entre esses componentes.A CPU, por sua vez. consiste em uma unidade de controle, uma unidade lgica e aritmtica(arilllmetic alUi logic Imit _ ULA), registradores internos e mecanismos de interconexo. InIonnae5 adicionais sobre este livro podem ser encontradas no seu site Web,que fornece endereos de outras pginas relevantes e outras infonnae5 teis.Para maiores detalhes, veja a seo relativa a esse site Web no incio deste livro..-.:.7l111 ==============~~~====51
  20. 20. INTRODUO 5Este livro trata da estrutura e da funo de computadores. Seu objetivo apresentar, damaneira mais clara e abrangente possvel, a natureza e as caractersticas dos sistemasde computao modernos.Isso constitui tarefa desafiadora, por vrias razes. Em primeiro lugar, existe uma enormevariedade de produtos que podem ser denominados computadores, desde microcomputadoresbaseados em uma nica pastilha (chip), que custam poucos dlares, at supercomputadores,no valor de dezenas de milhes de dlares. Essa variedade apresenta-se no apenas em relaoao custo, mas tambm em relao ao tamanho, ao desempenho e aplicao. Em segundo lugar,a rpida evoluo que sempre caracterizou a tecnologia de computadores continua sem limites.Essa evoluo engloba todos os aspectos da tecnologia de computadores, desde a tecnologiade circuitos integrados usados na construo dos seus componentes at a crescenteutilizao de conceitos de organizao paralela na combinao desses componentes.Apesar da grande variedade e da rapidez da evoluo da rea, certos conceitos fundamentaisaplicam-se a qualquer projeto de computadores. A aplicao desses conceitos dependedo estado atual da tecnologia e dos requisitos de desempenho e de custo do projeto. O objetivodeste livro fornecer uma discusso minuciosa sobre os conceitos fundamentais de arquitetura eorganizao de computadores, relacionando-os com as questes de projeto de computadores modernos.Este captulo introduz a abordagem adotada para a estrutura deste livro e apresentauma viso geral do restante do seu contedo.1.1 ARQUITETURA E ORGANIZAOAo se descrever um sistema de computao, feita uma distino entre a arquitetura e aorganizao do computador. Embora seja difcil definir precisamente esses termos, existe umconsenso sobre as reas que cada um deles abrange (veja, por exemplo, Vranesic, 1980, Siewiorek,1982, e Bell e outros, 1978a).O termo'arquitetura de um computador' refere-se aos atributos de um sistema que sovisveis para o programador ou, em outras palavras, aos atributos que tm impacto direto sobrea execuo lgica de um programa. O termo'organizao de um computador' refere-ses unidades operacionais e suas interconexes que implementam as especificaes da sua arguitetura.Exemplos de atributos de arquitetura incluem o conjunto de instrues, o nmerode bits usados para representar os vrios tipos de dados (por exemplo, nmeros, caracteres),os mecanismos de EIS e as tcnicas de endereamento memria. Atributos de organizaoincluem detalhes de hardware transparentes ao programador, tais como os sinais de controle,as interfaces entre o computador e os perifricos e a tecnologia de memria utilizada.Definir se um computador deve ou no ter uma instruo de multiplicao, por exemplo,constitui uma deciso do projeto da sua arquitetura. Por outro lado, definir se essa instruoser implementada por uma unidade especial de multiplicao ou por um mecanismoque utiliza repetidamente sua unidade de soma constitui uma deciso do projeto da sua organizao.Essa deciso de organizao pode ser baseada na previso sobre a freqncia deuso da instruo de multiplicao, na velocidade relativa das duas abordagens e no custo etamanho fsico da unidade especial de multiplicao.Historicamente, e ainda hoje, a distino entre arquitetura e organizao de fundamentalimportncia. Muitos fabricantes de computador oferecem uma famlia de modelos decomputadores, todos com a mesma arquitetura, mas com diferenas de organizao. Dessa
  21. 21. 6 ARQUITETURA E ORGANIZAO DE COMPUTADORES Cap. 1maneira, os diferentes modelos da famlia tm preos e caractersticas de desempenho distintos.Alm disso, uma arquitetura pode sobreviver por muitos anos, enquanto sua organizaomuda com a evoluo da tecnologia. Um exemplo claro desses dois fenmenos o da arquiteturado Sistema 370 da IBM. Essa arquitetura foi introduzida em 1970 e com um grande nmerode modelos. Um cliente com exigncias mais modestas podia comprar um modelo maisbarato e mais lento e, caso sua demanda por desempenho aumentasse, ele poderia migrar paraum modelo mais rpido e mais caro, sem ter de abandonar as aplicaes que j tivessem sidodesenvolvidas. Ao longo dos anos, a IBM introduziu muitos modelos novos, com tecnologia aprimorada,para substituir os modelos mais antigos, oferecendo ao cliente maior velocidade, menorcusto ou ambos. Esses modelos mais novos conservavam a mesma arquitetura, preservandoo investimento em software do cliente. Notavelmente, a arquitetura do Sistema 370 sobreviveuat hoje, com pequenos melhoramentos, como a arquitetura da linha de computadores degrande porte da IBM.Na classe de sistemas denominados microcomputadores, a relao entre arquitetura eorganizao muito mais estreita. Mudanas na tecnologia no apenas influenciam a organizao,mas tambm resultam na introduo de arquiteturas mais ricas e poderosas. Para essasmquinas menores, geralmente no existe um forte requisito de compatibilidade de uma geraopara outra. Portanto, no caso dessas mquinas, existe maior relao entre as decisesrelativas sua arquitetura e sua organizao. Um exemplo intrigante so os computadorescom um conjunto reduzido de instrues (reduced instruction set computer - RISC), que examinamosno Captulo 12.Conforme salientado, este livro aborda tanto a arquitetura quanto a organizao decomputadores, sendo talvez maior a nfase com relao organizao. Entretanto, como aorganizao deve ser projetada para implementar uma especificao particular de arquitetura,um tratamento minucioso da organizao de computadores requer tambm um exame detalhadode sua arquitetura.1.2 ESTRUTURA E FUNOUm computador um sistema de grande complexidade; computadores modernos contmmilhes de componentes eletrnicos elementares. Como possvel, ento, descrev-loscom clareza? O ponto-chave o reconhecimento da natureza hierrquica da maioria dos sistemascomplexos, incluindo o computador (Simon, 1969). Um sistema hierrquico constitudode um conjunto de subsistemas inter-relacionados, cada qual, por sua vez, possuindo tambmuma estrutura hierrquica, contendo, em seu nvel mais baixo, subsistemas elementares.A natureza hierrquica dos sistemas complexos essencial tanto para seu projeto quantopara sua descrio. Em cada momento, o projetista precisa lidar apenas comumnvel particulardo sistema. Em cada nvel, o sistema consiste em um conjunto de componentes e de relacionamentosentre estes. O comportamento de cada nvel depende apenas de uma caracterizao abstratae simplificada do sistema de nvel imediatamente inferior. O projetista deve considerar, emcada nvel, sua estrutura e o funcionamento dos seus componentes: Estrutura: o modo como os componentes esto inter-relacionados. Funo: a operao de cada componente individual como parte da estrutura.
  22. 22. INTRODUO 7Existem duas opes possveis para a descrio desses sistemas: comeando do nvelmais baixo e compondo as partes at a obteno de uma descrio mais global ou comeandocom uma viso do nvel mais alto e decompondo o sistema em suas subpartes. A experinciacom a descrio de sistemas dessa natureza, em diversas reas, sugere que a abordagem decima. para baixo mais clara e eficaz (Weinberg, 1975).A abordagem adotada neste livro segue este ponto de vista: os sistemas de computaoso descritos a partir do nvel mais alto para o mais baixo. Primeiramente, abordamos os componentesdo nvel mais alto do sistema, descrevendo sua estrutura e suas funes, e prosseguimos,sucessivamente, para as camadas inferiores da hierarquia. O restante desta seofornece uma viso sucinta dessa abordagem.FunoTanto a estrutura quanto as funes de um computador so, em sua essncia, muito simples.A Figura 1.1 representa as funes bsicas que um computador pode desempenhar. Emtermos gerais, existem apenas quatro: Processamento de dados Armazenamento de dados Transferncia de dados ControleAMBIENTE DE OPERAO(Fonte e destino dos dados)FI~ura 1.1 Viso funcional de um computador.
  23. 23. 8 ARQUITETURA E ORGANIZAO DE COMPUTADORES Cap. 1 claro que um computador deve ser capaz de rrocessar dados. QS_cldos podemter grandevariedade de tipos, e a gama de requisitos de processamento muito ampla. Entretanto, veremosque existem poucos mtodos ou tipos fundamentais de processamento de dados. tambm essencial que um computador armazene dados. Mesmo quando realizado umprocessamento de dados do tipo on the fly (isto , quando os dados de entrada so processadose os resultados so enviados diretamente para a sada), o computador precisa armazenar temporariamenteao menos aquela poro dos dados que est sendo processada naquele instante.Portant(), existe pelo menos uma funo, de armazenamento temporrio de dados. igualmenteimportante que um computador seja capaz de armazenar dados de maneira permanente,por perodos D1_ais lo~os. Qs dados so armazenados no computador, para subseqenterecuperao e modificao.Um computador deve ser capaz de transferir dados, tanto internamente quanto com omundo externo. O ambiente de operao de um computador consiste em dispositivos que servemcomo fonte ou como destino de dados. Quan.clo os dados so recebidos ou enviados paraum dispositivo diretamente conectado ao computador, o processo conhecido como entradae. sada (EIS) e o dispositivo denominado um perifrico. Quando os dados so transferidospor distncias maiores, de ou para um dispositivo remoto, o processo conhecido como comunicaode dados.Finalmente, deve existir um contr9le dessas trs funes. Em ltima instncia, esse controle exercido pelo(s) indivduo(s) que fornece(m) instrues ao computador. Dentro de um sistemade computao, uma unidade de controle gerencia os recursos do computador e rege o desempenhodas suas partes funcionais em resposta a essas instrues.Nesse nvel genrico de discusso, o nmero de operaes possveis que podem ser desempenhadas pequeno. A Figura 1.2 representa os quatro tipos de operaes possveis. Ocomputador pode funcionar simplesmente como um dispositivo de transferncia de dados deum perifrico ou de uma linha de comunicao para outro (Figura 1.2a). Pode tambm funcionarcomo um dispositivo de armazenamento de dados (Figura 1.2b), sendo os dados transferidosdo ambiente externo para a memria do computador (leitura) e vice-versa (escrita). Osdois ltimos diagramas mostram operaes envolvendo processamento de dados, seja sobredados armazenados na memria (Figura 1.2c), seja sobre dados transferidos entre a memriae o ambiente externo (Figura 1.2d).Essa discusso pode parecer absurdamente genrica. Com certeza possvel diferenciar,mesmo no nvel mais alto da estrutura de um computador, uma grande variedade de funes.Entretanto, de acordo com Siewiorek e outros (1982), a estrutura de um computador notoriamenteno reflete a funo que ele desempenha. Isso se deve, principalmente, sua naturezade dispositivo de propsito geral, em que qualquer especializao funcional decorre da suaprogramao e no do seu projeto.EstruturaA Figura 1.3 constitui a representao mais simples possvel de um computador. O computador uma entidade que interage, de alguma maneira, com seu ambiente externo. Em geral,todas as suas ligaes com o ambiente externo podem ser classificadas como dispositivosperifricos ou como linhas de comunicao. Esses dois tipos de ligao sero abordados nodecorrer deste captulo.
  24. 24. (a)Figura 1.2 Operaes possveis em um computador.INTRODUO 9(b)
  25. 25. 10 ARQUITETURA EOfl:GANlZAO DE COMPUTADORES CaP. 1Nosso maior interesse, neste livro, reside na estrutura interna do prprio computador,que mostrada, em um nvel mais alto, na Figura 1.4. H quatro principais componentes estruturais: Unidade central de processamento (crU): controla a operao do computador e desempenhafunes de processamento de dados. ~ muitas vezes chamada. simples-mente,de processador. Memria principal: armazena dados. EIS: transfere dados entre o computador e o ambiente externo_ Sistema de interconexo: mecanismos que estabelecem a comunicao entre a CPU,a memria....l?rind"paJ e os dispositivos de...E/5 (entrada/sada).f1Qura 1.) O computador.OOMPUTAllOOEntradll Mem6ri8..... /.."",principllFI~ra 1.4 O computador: estrutura de alto nvel.
  26. 26. INTRODUO 11Um sistema de computao pode ter um ou mais de cada um dos componentes relacionadosanteriormente. Os sistemas tradicionais so compostos de uma nica CPU. Nos ltimos anos,tem havido um crescente uso de sistemas com vrios processadores. Algumas questes relativasao projeto de sistemas com vrios processadores so discutidas no decorrer deste texto; o Captulo16 aborda esses sistemas.Cada um dos componentes de um computador examinado, detalhadamente, na Parte 2.Entretanto, o componente de nosso maior interesse e, de certa maneira, tambm o mais complexo a CPU; sua estrutura representada na Figura 1.5 e seus principais componentes estruturaisso os seguintes: Unidade de controle: controla a operao da CPU e, portanto, do computador. Unidade lgica e aritmtica (ULA): desempenha as funes de processamento dedados do computador.Registradores: fornecem o armazenamento interno de dados para a Cpu.Interconexo da CPU: mecanismo que possibilita a comunicao entre a unidade decontrole, a ULA e os registradores.Cada um desses componentes examinado detalhadamente na Parte 3, na qual veremosque o uso de tcnicas de paralelismo e de pipelines aumenta ainda mais a complexidade. H:nalmente, existem diversas abordagens para a implementao da unidade de controle, sendomicroprogramao a mais comum. Nessa abordagem, a estrutura da unidade de controle podeser representada como na Figura 1.6. Essa estrutura examinada na Parte 4.1.3 ESTRUTURA DO LIVROEste captulo serve como uma introduo para o restante do livro. Um breve resumo decada um dos demais captulos apresentado a seguir.Evoluo e desempenho de computadoreso Captulo 2 atende a dois propsitos. O primeiro consiste em introduzir os conceitos bsicosde arquitetura e organizao de computadores, o que se faz, de modo que tome a leituramais fcil e interessante, por meio de uma descrio da evoluo histrica da tecnologia de computadores.Esse captulo trata tambm das tendncias tecnolgicas que colocaram o desempenhocomo o foco principal dos projetos de sistemas de computao, assim como apresenta vrias tcnicase estratgias usadas para se obter um desempenho balanceado e eficiente.Barramentos do sistemaNo nvel mais alto, um computador constitudo de um processador, de uma memria e decomponentes de E/S. O comportamento funcional do sistema consiste na troca de dados e de sinaisde controle entre esses componentes. Para possibilitar essa transferncia de dados e de sinais decontrole, os componentes devem ser interconectados. O Captulo 3 comea com uma brevedescrio dos componentes de um computador e dos seus requisitos de entrada e sada. Emseguida, aborda os principais aspectos que afetam o projeto do sistema de interconexo, em particulara necessidade de fornecer suporte a interrupes. A maior parte desse captulo dedicadaao estudo da abordagem mais utilizada para o sistema de interconexo: o uso de uma estrutura debarramentos.
  27. 27. 212 ARQUITrnJRA EORGANIZAO OE COMPUTADORES CaP. 1UnidadedecontroleFIQura 1.S A unidade central de processamento (CPU).Memria InternaA memria de um computador apresenta grande diversidade em relao ao tipo, tecnologia, organizao. ao desempenho e ao custo. Um sistema de computao tpico equipadocom uma hierarquia de subsistemas de memria, sendo algumas delas internas (diretamenteacessveis pelo processador) e outras extemas (acessveis pelo processador por meio de um mdulode EIS). O Captulo 4 inicia com uma viso geral dessa hierarquia de memrias e ento enfatizaos aspectos de projeto relacionados memria interna. Primeiramente, descrevem-se anatureza e a organizao de uma memria principal de semicondutor. Em seguida. trata-se detalhadamentedo projeto de memrias cache, incluindo memrias cache para cdigo e para dados,e memrias cache em dois nveis. Finalmente, so abordadas as organizaes de memriaDRAM (dY/lamic randam acass-memary - memria dinmica de acesso aleatrio) mais avan*adas.
  28. 28. IM'RODuO 13MemriadeoontreleFIQura 1.6 A unidade de controle.Memria externaO Captulo 5 aborda diversos parmetros de projeto e de desempenho de memrias dedisco. Aqui so examinados os esquemas RAIO (redlmdallt array of ;IIdepende"t disks _ agrupamentoredundante de discos independentes), que tm se tornado cada vez mais comuns.Alm disso, so abordados os sistemas de memria ptica e de fita magntica.Entrada e sadaOs mdulos de EIS so interconectados ao processador e memria principal, e cadaum controla um ou mais dispositivos externos. O Captulo 6 examina o mecanismo de interaoentre os mdulos de EIS e o restante do sistema de computao, por meio das tmicasde EIS programada, EIS por interrupo e acesso direto memria (DMA _ direcl memoryQccess). Tambm descrita a interface entre um mdulo de EIS e os dispositivos externos.
  29. 29. t t14 ARQUITETURA E ORGANIZAO DE COMPUTADORES cap. 1Suporte ao sistema operacionalNesse ponto, conveniente enfocar aspectos do sistema operacional, explicando como oscomponentes bsicos do computador so gerenciados para desempenhar um trabalho til e comoo hardware organizado para fornecer suporte ao sistema operacional. O Captulo 7 inicia comum breve histrico, que serve para identificar os principais tipos de sistemas operacionais e motivarseu uso. Em seguida, explicado o mecanismo de multiprogramao, com a descrio dasfunes de escalonamento de tarefas. Finalmente, discute-se o gerenciamento da memria, abordandoos mecanismos de segmentao, paginao e memria virtual.Aritmtica computacionalO Captulo 8 d incio a um exame detalhado do processador, com uma discusso sobrearitmtica de computadores. Os processadores basicamente fornecem suporte a dois tipos dearitmtica: aritmtica de nmeros inteiros, ou de nmeros de ponto fixo, e aritmtica de nmerosde ponto flutuante. Para cada um desses casos, examina-se primeiramente a representaodos nmeros e, em seguida, as operaes aritmticas. O padro IEEE 754 para aritmticade nmeros de ponto flutuante descrito detalhadamente no decorrer do captulo.Conjuntos de instruesDo ponto de vista de um programador, a melhor maneira de entender a operao de umprocessador conhecendo o conjunto de instrues de mquina que ele executa. O Captulo 9examina as caractersticas principais dos conjuntos de instrues de mquina e aborda diversostipos de dados e os tipos de operaes usualmente encontrados em um conjunto de instrues.Em seguida, explica-se a relao entre uma linguagem de instrues de um processador e umalinguagem de montagem. No Captulo 10 so examinados os possveis modos de endereamento.Finalmente, abordada a questo do formato de instrues, incluindo uma discusso sobre compromissosde projeto (trade-aJfs).Estrutura e funcionamento da CPUo Captulo 11 dedicado a uma discusso sobre a estrutura interna e o funcionamentodo processador. Primeiramente, rev-se a organizao global de um processador (ULA, unidadede controle, conjunto de registradores). Em seguida, discute-se a organizao do seuconjunto de registradores. O restante do captulo descreve o funcionamento de um processadordurante a execuo das instrues de mquina. O ciclo de execuo de uma instruo descrito, mostrando-se o funcionamento e o inter-relacionamento entre os ciclos de busca, deendereamento indireto, de execuo e de interrupo. Finalmente, discute-se detalhadamenteo uso de pipelines para se obter melhor desempenho.Computadores RISCUma das mais significativas inovaes na arquitetura e organizao de computadoresnos ltimos anos se deu com a arquitetura de computadores com um conjunto reduzido deinstrues (RISC). A arquitetura RISC constitui um desvio dramtico da tendncia histricaverificada na arquitetura de processadores. Uma anlise dessa abordagem traz luz muitasquestes importantes relativas arquitetura e organizao de computadores. O Captulo 12descreve a abordagem RISC, comparando-a com a abordagem CISC (camplex instructian setcamputer - computador com um conjunto complexo de instrues).....
  30. 30. INTRODUO 15Paralelismo em nvel de instruo e processadores superescalareso Captulo 13 examina uma inovao de projeto ainda mais recente e igualmente importante:o processador superescalar. Embora a tecnologia superescalar possa ser usada emqualquer processador, ela especialmente adequada para a arquitetura RISC. Esse captuloaborda tambm a questo genrica de paralelismo em nvel de instruo.Operao da unidade de controleo Captulo 14 discute como as funes de um processador so realizadas ou, mais especificamente,como os vrios elementos de um processador so controlados pela unidade decontrole para apresentar essas funes. Veremos que cada ciclo de instruo constitudo deum conjunto de microoperaes que geram sinais de controle. A execuo completada peloefeito desses sinais, enviados pela unidade de controle para a ULA, para os registradores epara a estrutura de interconexo. Finalmente, descrita uma abordagem de implementaoda unidade de controle conhecida como implementao hardwired.Controle microprol!ramadoo Captulo 15 descreve a implementao da unidade de controle utilizando a tcnica demicroprogramao. Primeiramente, descreve-se o mapeamento das microoperaes em microinstrues.Em seguida, apresentado um esboo de uma memria de controle, que contmum microprograma para cada instruo de mquina. A estrutura e o funcionamento daunidade de controle microprogramada podem ento ser explicados.Processamento paraleloTradicionalmente, o computador era visto como uma mquina seqencial. Com a evoluoda tecnologia e a diminuio do custo do hardware de computadores, os projetistas tmprocurado, cada vez mais, oportunidades para introduzir paralelismo, geralmente para melhoraro desempenho do sistema e, em alguns casos, para melhorar sua confiabilidade. O Captulo16 examina urna variedade de abordagens para organizao paralela de computadores.No caso de sistemas com mltiplos processadores, este livro apresenta tambm um estudodas questes de projeto relativo ao problema de coerncia das memrias cache.Ll!ica dil!italEste livro aborda os elementos da memria binria e as funes digitais corno blocos fundamentaisna construo de sistemas de computao. Este apndice descreve como esses elementosde memria e essas funes podem ser implementados em lgica digital. Comea com urnabreve reviso de lgebra booleana e, em seguida, introduzido o conceito de porta lgica. finalmente,discutem-se os circuitos combinatrios e seqenciais, que podem ser construdos a partirde portas lgicas.1.4 INTERNET E RECURSOS NA WEBEst disponvel na Internet uma variedade de informaes para apoio ao ensino de arquiteturae organizao de computadores por meio deste livro, assim corno diversas informaessobre recentes pesquisas e evolues na rea.
  31. 31. 16 ARQUITETURA E ORGANIZAO DE COMPUTADORES cap. 1Sites Web deste livroConsulte o Companion Website (CW) deste livro no endereo www.prenhall.com/stal1ings_br. Ali voc encontra recursos adicionais para o professor, alm de um linkpara o site do autor, onde esto disponveis diversos outros recursos para alunos eprofessores. Veja na pgina XI uma descrio detalhada desse site.Outros sites WebExiste uma variedade de sites Web que fornecem informaes relacionadas aos tpicostratados neste livro. Indicaes sobre sites Web especficos so apresentadas nos captulossubseqentes, na seo "Leitura e sites Web recomendados". Como os endereos de sites Webtendem a ser freqentemente alterados, os endereos desses sites no foram includos no livro. Oendereo apropriado de cada site citado pode ser encontrado no site Web deste livro.Os seguintes sites Web contm informaes de interesse geral sobre arquitetura e orga-nizaode computadores: WWW Computer Architecture Home Page: um ndice abrangente de informaes relevantessobre pesquisas em arquitetura de computadores, incluindo grupos e projetosde pesquisa, organizaes temolgicas, literatura, anncios de empregos e informaescomerciais. CPU Info Center: informaes sobre processadores especficos, incluindo documenta-otcnica, informaes sobre produtos e anncios mais recentes. ACM SpeciaI Interest Group on Computer Architecture: informaes sobre atividadese publicaes do SIGARCH. IEEE TechnicaI Commitee on Computer Architecture: cpias atualizadas do peridicoTCAA. Intel Technology JournaI: publicaes on-line da Intel.Grupos de notcias USENETUma variedade de grupos USENET dedicada a aspectos de arquitetura e organizaode computadores. Assim como na maioria dos grupos USENET, existe uma alta taxa de rudo,mas vale a pena experimentar alguns deles para verificar se incluem discusses do seu interesse.Os mais relevantes so: comp.arch: grupo de discusso genrica sobre arquitetura de computadores. Em geralmuito bom. comp.arch.arithmetic: discute padres e algoritmos de aritmtica de computadores. comp.arch.storage: a discusso abrange desde produtos e tecnologia at questes decarter mais prtico.
  32. 32. captuloI------------------ ~c,2 EVOLUC, O E DESEMPENHODE COMPUTADORES2.1 Breve histrico da evoluo dos computadoresA primeira gerao: vlvulas eletrnicasA segunda gerao: transistoresA terceira gerao: circuitos integradosltimas geraes2.2 Projeto que visa ao desempenhoVelocidade do microprocessadorBalanceamento do desempenho2.3 Evoluo do Pentlum e do PowerPCPentiumPowerPC2.4 Leitura e sites Web recomendados2.5 Exerccios
  33. 33. 18 AlI:QUlTffiJRA E ORGANIZAO DE COMPUTADORES cap. 28 V7 /Pen~ II Pent;um IIPentium PPC G310~ 101&10 486 O PPC 601386 / 802~/1975 1980 1985 1990 1995 2000 20055:7V~'1.il e 10 !: "~ ., 10z43~101970 A evoluo dos computadores tem sido caracterizada pelo aumento da velocidadedos processadores, pela diminuio do tamanho dos componentes, pelo aumentoda capacidade da memria e pelo aumento da capacidade e da velocidade de E/S. Um dos fatores responsveis pelo grande aumento da velocidade dos processadores a diminuio do tamanho dos componentes dos microprocessadores; issoacarreta a reduo da distncia entre os componentes e, conseqentemente, o aumentoda velocidade. Entretanto, os ganhos reais de velocidade obtidos nos ltimosanos so devidos principalmente a mudanas na organizao do processador,incluindo o uso intensivo de pipeline e de tcnicas de execuo paralela de instrues,assim como de tcnicas de execuo especulativa, que consistem na tentativade executar, antecipadamente, instrues que possam vir a ser requeridas. Todasessas tcnicas so projetadas a fim de manter o processador ocupado o maior tempopossvel. Um aspecto critico no projeto de sistemas de computao o balanceamento dodesempenho dos diversos elementos, para que o ganho de desempenho obtido emuma rea no seja prejudicado por um atraso em outra rea. Em particular, a velocidadedo processador tem aumentado muito mais rapidamente do que a velocidadede acesso memria. Vrias tcnicas so empregadas para compensar essedesequilbrio, incluindo memrias cache, vias de comunicao de dados de maiorlargura entre a memria e o processador e pastilhas de memria mais inteligentes.
  34. 34. EVOLUO E DESEMPENHO DE COMPUTADORES 19Comeamos nosso estudo com um breve histrico da evoluo dos computadores. Essehistrico, alm de interessante, fornece uma viso da estrutura e das funes de umcomputador. Em seguida, abordamos a questo do desempenho. A justificativa aapresentada para a necessidade de balancear a utilizao dos diversos recursos de um computadoraborda um contexto que nos ser til ao longo do livro. Finalmente, examinamos brevementea evoluo dos dois sistemas que servem como exemplos bsicos em todo o livro: oPentium e o PowerPC.2.1 BREVE HISTRICO DA EVOLUO DOS COMPUTADORESA primeira eerao: vlvulas eletrnicasENIACo ENIAC (Computador e Integrador Numrico Eletrnico - Electronc Numercal Integratorand Computer), projetado e construdo sob a superviso de John Mauchly e John PresperEckert na Universidade da Pensilvnia, foi o primeiro computador eletrnico digital de propsitogeral em todo o mundo.O projeto foi uma resposta s necessidades dos Estados Unidos diante da guerra. O Laboratriode Pesquisas Balsticas do Exrcito americano (Army's Ballistics Research Laboratory BRL),rgo responsvel por desenvolver tabelas de trajetria e alcance para as novas armas, vinhaencontrando dificuldades em obter essas tabelas com boa preciso e em tempo hbil. Semelas, as novas armas de artilharia seriam inteis. O BRL empregava mais de 200 pessoas que, utilizandocalculadoras de mesa, resolviam as equaes de balstica necessrias. A preparao dastabelas para uma nica arma consumia vrias horas de trabalho de uma pessoa, at mesmo dias.Mauchly, um professor de engenharia eltrica da Universidade da Pensilvnia, e Eckert,um de seus alunos de ps-graduao, propuseram a construo de um computador de propsitogeral para as aplicaes do BRL, utilizando vlvulas. Em 1943, a proposta foi aceitapelo Exrcito americano e o trabalho no ENIAC teve incio. O resultado foi uma mquinaenorme que pesava 30 toneladas, ocupava espao de aproximadamente 140 metros quadradose continha mais de 18 mil vlvulas. A operao dessa mquina consumia 140 quilowatts deenergia eltrica. Ela era muito mais rpida do que qualquer computador eletromecnico, sendocapaz de executar 5 mil adies por segundo.O ENIAC era uma mquina decimal e no uma mquina binria; ou seja, a representaodos nmeros era feita na base decimal, a qual era utilizada tambm para a realizao dasoperaes aritmticas. A memria consistia em 20 'acumuladores', cada um dos quais capazde armazenar um nmero decimal de dez dgitos. Cada dgito era representado por um anelde dez vlvulas. A cada instante, apenas uma vlvula ficava no estado ON (ligado), representandoum dos dez dgitos. A principal desvantagem do ENIAC era que ele tinha de ser programadomanualmente, ligando e desligando chaves e conectando e desconectando cabos.O ENIAC foi concludo em 1946, tarde demais para ser utilizado durante a guerra. Suaprimeira tarefa foi realizar uma srie de clculos complexos, empregados para ajudar a determinarse a bomba H poderia ser construda. O emprego do ENIAC para um propsito diferentedaquele para o qual fora originariamente projetado demonstrou seu carter decomputador de propsito geral. O ENIAC permaneceu operando no BRL at 1955, quando foidesativado.
  35. 35. 20 ARQUITETURA E ORGANIZAO DE COMPUTADORES cap. 2Unidadelgica earitmticaMemriaprincipal Equipamentode EISUnidade decontroleFll:!ura 2.1 Estrutura do computador IAS.A mquina de von NeumannA tarefa de carregar e de modificar um programa no ENIAC era extremamente tediosa.O processo de programao poderia ser extremamente facilitado se um programa pudesse serrepresentado de maneira adequada, de modo que fosse armazenado na memria, juntamentecom os dados. Assim, o computador poderia obter as instrues diretamente, a partir da memria,e um programa poderia ser carregado ou modificado simplesmente atribuindo valoresa posies de memria.Essa idia, conhecida como conceito de programa armazenado, geralmente atribuda aosprojetistas do ENIAC, principalmente ao matemtico John von Neumann, que era um dosconsultores no projeto do ENIAC. Ela foi simultaneamente concebida por Alan Turing. A primeirapublicao da idia, concretizada em uma proposta formulada por von Neumann, ocorreuem 1945, para um novo computador, o EDVAC (Computador Varivel Discreto EletrnicoElectronicDiscrete Variable Computer).Em 1946, von Neumann e seus colegas comearam o projeto de um novo computadorde programa armazenado, conhecido como IAS, no Instituto de Estudos Avanados de Princeton.O IAS, embora concludo somente em 1952, constitui o prottipo de todos os computadoresde propsito geral subseqentes.A Figura 2.1 mostra a estrutura geral do IAS, que consiste em: Uma memria principal, que armazena dados e instrues. Uma unidade lgica e aritmtica (ULA), capaz de realizar operaes com dados binrios. Uma unidade de controle, que interpreta e executa instrues armazenadas na memria. Dispositivos de entrada e sada (EIS), operados pela unidade de controle.Esta estrutura foi esboada em uma proposta anterior de von Neumann, a qual vale apena reproduzir aqui (von Neumann, 1945):2.2 Primeiro: como o dispositivo , em essncia, um computador, dever executar,mais freqentemente, as operaes elementares da aritmtica: adio, subtrao,multiplicao e diviso. razovel, portanto, que deva conter componentesespecializados para realizar essas operaes.-
  36. 36. EVOLUO E DESEMPENHO DE COMPUTADORES 21Deve-se observar, entretanto, que, embora esse princpio seja provavelmentecorreto, a maneira como ser implementado requer um estudo meticuloso... Dequalquer modo, dever existir, provavelmente, uma unidade central de aritmtica,que constituir a primeira parte especfica do dispositivo: CA.2.3 Segundo: o controle lgico do dispositivo, ou seja, a execuo das operaesna seqncia apropriada, pode ser feito, de modo mais eficiente, por meio deum componente de controle central. Se o dispositivo tiver de ser flexvel, isto , setiver de ser um dispositivo de propsito geral, ser conveniente, tanto quanto possvel,distinguir o conjunto de instrues especficas para a soluo de um determinadoproblema e os componentes de controle geral que se encarregam daexecuo dessas instrues, independentemente de quais elas sejam. As instruesdevem ser armazenadas de algum modo; os componentes de controle so descritospelas partes operacionais definidas do dispositivo. Entendemos como controlecentral apenas essa ltima funo, e os componentes que a desempenham constituema segunda parte especfica do dispositivo: Cc.2.4 Terceiro: qualquer dispositivo destinado execuo de longas e complicadasseqncias de operaes (especificamente de clculos) deve ter uma memria considervel....(b) O conjunto de instrues para a soluo de um problema complicado podeter tamanho considervel, particularmente se o cdigo for circunstancial (o que ocorrena maioria dos casos). Esse conjunto de instrues deve ser, de alguma maneira, recuperado....A memria, como um todo, constitui a terceira parte especfica do dispositivo: M.2.6 As trs partes especficas, CA, CC e M, correspondem aos neurnios associativosdo sistema nervoso humano. Resta discutir os componentes equivalentesaos neurnios sensoriais, ou aferentes, e aos neurnios motores, ou eferentes. Essesso os elementos de entrada e sada do dispositivo...O dispositivo deve ser dotado da habilidade de manter contato de entrada esada (sensorial e motor) com alguns mecanismos especficos dessa natureza. Estesmecanismos sero denominados meios de armazenamento externo do dispositivo: A. ..2.7 Quarto: o dispositivo deve possuir elementos para transferir... informaesde A para seus componentes especficos C e M. Esses elementos constituem suaentrada, a quarta parte especfica do dispositivo: E. Veremos que mais adequado efetuartodas as transferncias de A (por E) para M e nunca diretamente de c. ..2.8 Quinto: o dispositivo deve possuir elementos para transferir... de seus componentesespecficos C e M para A. Esses elementos constituem sua sada, aquinta parteespecfica do dispositivo: S. Veremos que novamente mais adequado efetuar todas astransferncias de M (por S) para A e nunca diretamente de C.Com raras excees, todos os computadores atuais possuem essas mesmas funes e estruturageral e assim so conhecidos como mquinas com arquitetura de von Neumann. Porisso, apropriado incluir, nesse ponto, uma breve descrio da operao do computador IAS(Burks, 1946). De acordo com Bayes (1988), a terminologia e a notao de von Neumann sosubstitudas, a seguir, por termos correspondentes usados hoje em dia; os exemplos e as ilustraesque acompanham esta discusso so baseados no texto anterior.
  37. 37. 22 ARQUITETURA E ORGANIZAO DE COMPUTADORES cap. 2A memria do IAS consiste em mil posies de memria, denominadas palavras, cadauma constituda de 40 dgitos binrios (bits). Dados e instrues so ambos armazenados namemria. Portanto, os nmeros devem ser representados em forma binria e cada instruodeve ter tambm um cdigo binrio. A Figura 2.2 ilustra estes formatos. Cada nmero representadopor um bit de sinal e um valor de 39 bits. Uma palavra pode conter duas instruesde 20 bits, cada uma consistindo em um cdigo de operao (opcode) com 8 bits, queespecifica a operao a ser executada, e de um endereo com 12 bits, que designa uma palavrana memria (numerada de Oa 999).101 ----------'-139Bit de sinal(a) Armazenamento de um nmeroInstruo esquerda Instruo direita('-------"-A-------v-r ~A~ __,IOI j-8----=-----=1-9rl20 28 39 =-------,----~----"-'I~'-----~v-----A-----"y--~'----~y~------.JCdigo deCdigo de EndereooperaoEndereooperao(b) Palavra para armazenamento de uma instruoFigura 2.2 Formatos de uma palavra no IAS.A unidade de controle controla a operao do IAS, efetuando a busca das instrues namemria e executando-as, uma de cada vez. Para entender essa operao, necessrio umdiagrama de estrutura mais detalhado, como indicado na Figura 2.3. Essa figura revela quetanto a unidade de controle quanto a ULA contm clulas de armazenamento denominadasregistradores, classificados como segue: Registrador temporrio de dados (Memory Buffer Register - MBR): contm umapalavra com dados a ser armazenada na memria ou utilizado para receber umapalavra da memria. Registrador de endereamento memria (Memory Address Register - MAR): especificao endereo, na memria, da palavra a ser escrita ou lida no MBR. Registrador de instrues (Instruction Register - IR): contm o cdigo de operaode 8 bits que est sendo executado. Registrador de armazenamento temporrio de instrues (Instruction Buffer Register- IBR): utilizado para armazenar temporariamente a instruo contida na poro direita de uma palavra da memria. Contador do programa (Program Counter - PC): contm o endereo de memriado prximo par de instrues a ser buscado da memria.
  38. 38. EVOLUO E DESEMPENHO DE COMPUTADORES 23 Acumulador (Accumulator - AC) e Quociente de Multiplicao (Multiplier Quotient- MQ): so utilizados para armazenar temporariamente os operandos e o resultadode operaes efetuadas na ULA. Por exemplo, o resultado da multiplicaode dois nmeros de 40 bits um nmero de 80 bits; os 40 bits mais significativos soarmazenados no acumulador (AC) e os 40 bits menos significativos, no registradorde quociente de multiplicao (MQ).Unidade Central de ProcessamentoUnidade lgica e aritmticaEquipamentosde entradae sadaIIIII_______________ 1IInstruesL- ---, e dadosMemriaprincipal MCircuitosde controleSinais decontrole ~__~I__E_n_d_e_re~~o_sIIIUnidade de controle de programa:Fi~ura 2.] Estrutura detalhada do IAS.A operao do IAS consiste na execuo repetida de um ciclo de instrues, como mostradona Figura 2.4. Cada ciclo de instrues consiste em dois subciclos. Durante o ciclo de busca, o cdigode operao da prxima instruo carregado no IR e a parte correspondente ao endereo carregada no MAR. Essa instruo pode ser obtida do IBR ou da memria, carregandoa palavra correspondente no MBR e, a partir da, no IBR, no IR e no MAR.
  39. 39. 24 ARQUITETURA E ORGANIZAO DE COMPUTADORES cap. 2Por que usar essas vias indiretas? Essas operaes so controladas por circuitos eletrnicase resultam em transferncias de dados. Para simplificar os circuitos eletrnicos, apenasum nico registrador empregado para especificar o endereo de memria para leitura oupara escrita e apenas um nico registrador utilizado como fonte ou destino do valor lido ouescrito.SimIBR +--- MBR (20:39)IR +--- MBR (0:7)MAR +--- MBR (8:19)A instruo Sim esquerda requerida?A prximainstruoest no IBR?No requeridoacesso memriaIR +--- MBR (20:27) NoMAR +--- MBR (28:39)IR +--- IBR (0:7)MAR +---IBR (8:19)Ciclo debuscaPC+---PC+1Decodifica instruo no IRV para M(X, o: 19) Se AC ~ O, ento AC +--- AC + M(X)v para M(X, 0:19)Ciclo deexecuo,--__--L-__---,PC+--- MARSimACzO?NoM(X) = contedo da posio de memria cujo endereo X(X : Y) = bits X a YFI~ura 2.4 Fluxograma parcial da operao do IAS.
  40. 40. EVOLUO E DESEMPENHO DE COMPUTADORES 25Depois que o cdigo de uma operao colocado no IR, inicia-se o ciclo de execuo. Ocircuito de controle interpreta o cdigo de operao e executa a instruo, enviando os sinaisde controle apropriados, para fazer com que os dados sejam transferidos ou para que umaoperao seja executada pela ULA.O computador IAS tinha um total de 21 instrues, relacionadas na Tabela 2.1. Elas podemser agrupadas como a seguir: Transferncia de dados: os dados so transferidos entre a memria e os registradoresda ULA ou entre dois registradores da ULA. Desvio incondicional: normalmente, a unidade de controle executa as instrues naseqncia em que se encontram na memria. Essa seqncia pode ser alterada poruma instruo de desvio. Isto usado para executar seqncias de instrues repetidamente. Desvio condicional: o desvio efetuado dependendo do teste de uma condio, oque permite a introduo de pontos de deciso. Aritmtica: operaes executadas pela ULA. Alterao de endereo: possibilita calcular endereos, utilizando a ULA, para entoinseri-los em instrues armazenadas na memria. Isto permite ao programa umaconsidervel flexibilidade de endereamento.A Tabela 2.1 apresenta as instrues do IAS de forma simblica, fcil de ler. Na verdade,cada instruo deve obedecer ao formato da Figura 2.2b. O cdigo de operao (os primeiros8 bits) especifica qual das 21 instrues deve ser executada. O endereo (os 12 bits restantes)determina qual das mil posies de memria utilizada na execuo da instruo.A Figura 2.4 mostra diversos exemplos de execuo de instruo pela unidade de controle.Note que cada operao requer diversos passos. Alguns desses passos so bastante elaborados.A operao de multiplicao exige 39 suboperaes, uma para cada posio de bit,exceto para o bit de sinal!Tabela 2.1 O conjunto de instrues do IASTipo de Instruo Cdigo de Representaooperao simblicaDescrioTransferncia de 00001010 LOADMQ Transfere o contedo do registradordados MQ para o acumulador AC00001001 LOAD MQ,M(X) Transfere o contedo da posio dememria X para MQ00100001 STORM(X) Transfere o contedo do acumuladorpara a posio de memria X00000001 LOAD M(X) Transfere M(X) para o acumulador00000010 LOAD -M(X) Transfere - M(X) para o acumulador00000011 LOAD IM(X) I Transfere o valor absoluto de M(X)para o acumulador00000100 LOAD - IM(X) I Transfere - IM(X) I para o acumulador(continua)
  41. 41. .....26 ARQUITETURA E ORGANIZAO DE COMPUTADORES cap. 2Tabela 2.1 O conjunto de instrues do IAS (continuao)DescrioA prxima instruo a ser executada buscada na metade esquerda de M(X)A prxima instruo a ser executada buscada na metade direita de M(X)Se o nmero no acumulador umvalor no-negativo, a prximainstruo a ser executada buscadana metade esquerda de M(X)Tipo de Instruo cdigo de Representaooperao simblicaDesvio incondicional 00001101 JUMP M(X,0:19)00001110 JUMP M(X,20:39)Desvio condicional 00001111 JUMP+(X,0:19)JUMP+M(X,20:39) Se o nmero no acumulador umvalor no-negativo, a prximainstruo a ser executada buscadana metade direita de M(X)00010000Aritmtica 00000101 ADD M(X) Soma M(X) a AC; armazena oresultado em AC00000111000001100000100000001011ADD IM(X)ISUB M(X)SUB IM(X)IMUL M(X)00001100 DIV M(X)00010100 LSH00010101 RSHAlterao de 00010010 STOR M(X,8:19)endereo00010011 STOR M(X,28:39)Soma IM(X) I a AC; armazena oresultado em ACSubtrai M(X) de AC; armazena oresultado em ACSubtrai IM(X) I de AC; armazena oresto em ACMultiplica M(X) por MQ; armazena osbits mais significativos do resultadoem AC, armazena os bits menossignificativos em MQ.Divide AC por M(X); armazena oquociente em MQ e o resto em AC.Multiplica o acumulador por 2 (isto ,desloca os bits uma posio para aesquerda).Divide o acumulador por 2 (isto ,desloca os bits uma posio para adireita).Substitui o campo de endereo esquerda de M(X) pelos 12 bits mais direita de AC.Substitui o campo de endereo direitade M(X) pelos 12 bits mais direitade AC.
  42. 42. EVOlUO E DESEMPENHO DE COMPUTADORES 27Computadores comerciaisOs anos 50 viram o nascimento da indstria de computadores com duas companhias, aSperry e a IBM, dominando o mercado.Em 1947, Eckert e Mauchly fundaram a Eckert-Mauchly Computer Corporation para fabricarcomputadores comercialmente. Sua primeira mquina de sucesso foi o UNIVAC I (UniversalAutomatic Computer - Computador Automtico Universal), que foi financiado peloCentro de Recenseamento para o censo de 1950. A Eckert-Mauchly Computer Corporationtornou-se parte da diviso UNIVAC da Sperry-Rand Corporation, que continuou a construiruma srie de mquinas sucessoras.O UNIVAC I foi o primeiro computador comercial de sucesso. Como o nome indica, eletinha o propsito de servir tanto para aplicaes cientficas quanto para aplicaes comerciais.O primeiro artigo que descreve esse sistema relatava, como amostra das tarefas que ele eracapaz de executar, computaes algbricas sobre matrizes, resoluo de problemas estatsticos,clculo de prmios de seguro para uma companhia seguradora e soluo de problemaslogsticos.O UNIVAC II, que possua maior capacidade de memria e maior desempenho que oUNIVAC I, foi lanado no final dos anos 50 e ilustra tendncias que permaneceram na indstriade computadores. A primeira que os avanos da tecnologia permitiram que as companhiascontinuassem a desenvolver computadores cada vez mais poderosos e maiores. Asegunda que cada companhia procurava construir suas novas mquinas de modo que fossemcompatveis com as mquinas anteriores. Isso significa que os programas escritos para asmquinas mais antigas podiam ser executados nas mquinas mais novas. Essa estratgia adotada na expectativa de manter os clientes; isto , quando um cliente decidisse compraruma nova mquina, provavelmente optaria por compr-la do mesmo fabricante do seu antigocomputador, para no perder o investimento j feito no desenvolvimento de programas.A diviso UNIVAC iniciou tambm o desenvolvimento da srie de computadores 1100,que seria sua linha de computadores de uso mais comum. O desenvolvimento dessa sriemostra a distino, existente anteriormente, entre computadores. O primeiro modelo, o UNIVAC1103, e seus sucessores foram voltados para aplicaes cientficas que envolviam clculoslongos e complexos. Outras companhias dispunham de computadores mais voltados paraaplicaes comerciais que envolviam o processamento de grandes quantidades de textos. Essadistino tornou-se menos evidente hoje em dia, mas foi bastante clara por muitos anos.A IBM, que ajudou a construir o Mark I e era ento o maior fabricante de dispositivosde processamento de cartes perfurados, lanou seu primeiro computador eletrnico programvel,o 701, em 1953. O 701 foi, inicialmente, voltado para aplicaes cientficas (Bashe eoutros, 1981). Em 1955, a IBM introduziu o modelo 702, que possua vrias caractersticas dehardware que o tornavam adequado para aplicaes comerciais. Esses foram os primeiros deuma longa srie de computadores 700/7000, que estabeleceram a IBM como o maior fabricantede computadores do mercado.A sel!unda I!erao: transistoresA primeira grande mudana nos computadores eletrnicos veio com a substituio davlvula pelo transistor. O transistor menor, mais barato e dissipa menos calor do que a vlvulae, assim como uma vlvula, tambm pode ser utilizado para a construo de computa-
  43. 43. 28 ARQUITETURA E ORGANIZAO DE COMPUTADORES cap. 2dores. Ao contrrio da vlvula, que requer o uso de fios, placas de metal, cpsula de vidro evcuo, o transistor um dispositivo de estado slido, feito de silcio.O transistor foi inventado na Bell Laboratories, em 1947, e iniciou uma revoluo na indstriaeletrnica nos anos 50. Entretanto, apenas no final da dcada de 50, computadorestotalmente transistorizados tomaram-se comercialmente disponveis. Mais uma vez, a IBMno foi a primeira companhia a lanar essa nova tecnologia. A NCR e, com maior sucesso, aRCA foram as pioneiras com o lanamento de pequenas mquinas transistorizadas. A IBM asseguiu de perto, com a srie 7000.O uso de transistores criou a segunda gerao de computadores. comum classificar oscomputadores em geraes, de acordo com a tecnologia bsica de hardware empregada (Tabela2.2). Cada nova gerao caracterizada por computadores com maior velocidade, maiorcapacidade de memria e menor tamanho que os computadores da gerao anterior.Tabela 2.2 Geraes de computadoresGerao12345Datasaproximadas1946-19571958-19641965-19711972-19771978-Tecnolo~laVlvulaTransistorIntegrao em baixa e mdia escalasIntegrao em grande escalaIntegrao em escala muito grandeVelocidade tpica(operaes por se~undo)40.000200.0001.000.00010.000.000100.000.000Ocorreram tambm outras mudanas. Nos computadores da segunda gerao, tanto aunidade lgica e aritmtica quanto a unidade de controle eram mais complexas e os computadoresj utilizavam linguagens de programao de alto nvel e incluam software de sistema.Tambm merece destaque, na segunda gerao, o surgimento da Digital EquipmentCorporation (DEC). A DEC foi fundada em 1957 e lanou, nesse mesmo ano, seu primeirocomputador, o PDP-1. Esse computador, juntamente com seu fabricante, deu incio ao fenmenodo minicomputador, que se tomaria to importante na terceira gerao.o IBM 7094A partir da introduo da srie 700, em 1952, at o lanamento do ltimo modelo dasrie 7000, em 1964, essa linha de produtos da IBM passou por uma evoluo tpica dos produtosde computao. Os sucessivos membros da linha possuam maior desempenho e capacidadee / ou custo mais baixo.A Tabela 2.3 mostra essa tendncia. O tamanho da memria principal, em mltiplos de210 palavras de 36 bits, cresceu de 2K (lK = 210) para 32K palavras, enquanto o tempo de acessoa uma palavra da memria, o tempo de ciclo de memria, caiu de 30 /ls para 1,4 /ls. O nmerode cdigos de operao aumentou de 24 para 185.A ltima coluna da Tabela 2.3 indica a velocidade relativa de execuo da unidade centralde processamento (CPU). O aumento da velocidade de processamento devido a avanosda eletrnica (por exemplo, implementaes que utilizam transistores so mais rpidas doque as que utilizam vlvulas) e ao uso de circuitos mais complexos. Por exemplo, o IBM 7094
  44. 44. EVOLUO E DESEMPENHO DE COMPUTADORES 29inclui um registrador secundrio de instrues, usado para armazenar temporariamente aprxima instruo a ser executada. A unidade de controle busca, simultaneamente, duas palavrasadjacentes na memria. Exceto no caso de uma instruo de desvio, o que no ocorremuito freqentemente, isso faz com que a unidade de controle acesse a memria apenas nametade dos ciclos de instruo. Essa busca antecipada reduz significativamente o tempo mdiodo ciclo de instrues.As informaes contidas nas demais colunas da Tabela 2.3 sero explicadas no decorrerdo texto.A Figura 2.5 mostra uma configurao de grande porte, com muitos perifricos, paraum IBM 7094, que constitui um computador bastante representativo da segunda gerao (Bell,1971a). Vrias diferenas entre ele e o computador IAS podem ser destacadas. A mais importante o uso de canais de dados. Um canal de dados um mdulo de E/S independente, comseu prprio processador e seu prprio conjunto de instrues. Em um sistema de computaocom esses dispositivos, a cru no executa instrues de E/S. Essas instrues so armazenadasna memria principal, sendo executadas por um processador especial no prprio canalde dados. A cru inicia uma transferncia de E/S enviando um sinal de controle ao canal dedados, que o instrui a efetuar uma seqncia de instrues armazenadas na memria. O canalde dados realiza sua tarefa independentemente da cru, sinalizando-a quando a operao terminar.Esse arranjo evita um consumo considervel de Cru.Outra caracterstica nova o multiplexador, que constitui o ponto central de conexo entreos canais de dados, a cru e a memria. O multiplexador seleciona qual dispositivo, entrea cru e os canais de dados, pode fazer acesso memria. Isso permite que esses dispositivosexecutem de maneira independente.A terceira I!erao: circuitos intel!radosUm nico transistor autnomo denominado um componente discreto. Durante a dcadade 50 e o incio dos anos 60, os equipamentos eletrnicos eram compostos basicamente decomponentes discretos - transistores, resistores, capacitores e assim por diante. Esses componenteseram fabricados separadamente, encapsulados em seus prprios recipientes e soldadosou ligados com fios, por meio de uma tcnica conhecida como wire-up, a placas decircuito, que eram ento instaladas nos computadores, osciloscpios e outros equipamentoseletrnicos. Quando um dispositivo eletrnico requeria um transistor, um pequeno tubo demetal com uma pea de silcio do tamanho de uma cabea de alfinete tinha de ser soldado auma placa de circuito. O processo completo de fabricao, desde o transistor at a placa decircuito, era caro e incmodo.Isso comeava a criar problemas na indstria de computadores. Os computadores doincio da segunda gerao continham cerca de 10 mil transistores. Esse nmero cresceu atcentenas de milhares, tomando cada vez mais difcil a fabricao de mquinas novas, maispoderosas.Em 1958, foi desenvolvida uma nova tcnica que revolucionou os equipamentos eletrnicose iniciou a era da microeletrnica: a inveno do circuito integrado. Esse circuito caracterizaa terceira gerao de computadores. Nesta seo, fazemos uma breve introduo tecnologia de circuitos integrados e, em seguida, examinamos os dois membros possivelmentemais importantes da terceira gerao, ambos introduzidos no incio dessa era: o sistema 360da IBM e o rDr-8 da DEC.
  45. 45. Tabela 2.3 Exemplo de membros das sries 700/7000 da IBM.Nmero Primeira Tecnolo~ia Tecnolol!ia da Tempo Tamanho Nmero Nmero de Hardware Sobreposio Sobreposio Velocidadedo entrel!a da (PU memria de ciclo da de rel!istradores de ponto de EIS de busca de (relativamodelo (~s) memria cdll!os indexadores nutuante (canais) instrues ao 701)(K) deoperao701 1952 Vlvula Vlvulas 30 2-4 24 O no no no 1eletrostticas704 1955 Vlvula Ncleo de 12 4-32 80 3 sim no no 2,5materialferro-magntico709 1958 Vlvula Ncleo de 12 32 140 3 sim sim no 4materialferro-magntico7090 1960 Transistor Ncleo de 2,18 32 169 3 sim sim no 25materialferro-magntico7094 I 1962 Transistor Ncleo de 2 32 185 7 sim sim sim 20material -ferro (precisomagnticO dupla)7094 II 1964 Transistor Ncleo de 1,4 32 185 7 sim sim sim 50material (precisoferro-magntico dupla)wO;Dc=i m--IC~oe;;zN~;.OomnO~"'CC>OO;;