Transcript of Arquitetura e-organizacao-de-com-put-adores-5-ed-william-stallings
- 1. l'n'1l1lt'('IIall
- 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. 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:
vendas@pearsoned.com.br
- 4. Para minha generosa mulherAT5e para as suas constantes
companhias,Geoftroi e Princesa Kate Lan Kinetic,Les Enjants du
Paradis
- 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. """"" ""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. 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. 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. 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. 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. 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.
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. (a)Figura 1.2 Operaes possveis em um computador.INTRODUO
9(b)
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. .....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. 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. 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. 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. 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;;