arquitetura e organizacao de com put adores

Upload: jackson-gomes

Post on 06-Jul-2015

438 views

Category:

Documents


1 download

TRANSCRIPT

Material utilizado na disciplina Arquitetura de Computadores, do curso de Sistemas de Informao do Centro Universitrio Luterano de Palmas

Arquitetura e Organizao de ComputadoresTexto de referncia

Prof. Jackson Gomes [email protected]

SumrioIntroduo ..................................................................................................................................... 3 Captulo 1 Componentes do Computador................................................................................... 4 Conceitos bsicos ...................................................................................................................... 4 Estrutura e Funo .................................................................................................................... 4 Funo ................................................................................................................................... 4 Estrutura ................................................................................................................................ 5 Breve Histria ............................................................................................................................ 6 Aplicaes que direcionam o desempenho dos computadores ........................................... 9 O Modelo Von Neumann .......................................................................................................... 9 Leia mais... ............................................................................................................................... 10 Microprocessadores ................................................................................................................ 11 A Lei de Moore .......................................................................................................................... 0 Alguns destaques da evoluo dos processadores da Intel .................................................. 0 Leia mais... ................................................................................................................................. 1 Captulo 2 Barramentos do Sistema.............................................................................................. 2 Como funcionam os sinais de controle? ................................................................................... 2 Funes dos computadores ...................................................................................................... 3 Estrutura de barramentos ......................................................................................................... 3 Elementos de projeto de barramentos ..................................................................................... 5 Tipo de barramento .............................................................................................................. 5 Mtodo de arbitragem .......................................................................................................... 5 Temporizao ........................................................................................................................ 5 Largura do barramento ......................................................................................................... 5 Captulo 3 Memrias ..................................................................................................................... 7 Caractersticas de sistemas de memria................................................................................... 7 Localizao ............................................................................................................................ 7 Capacidade ............................................................................................................................ 8 Unidade de transferncia ...................................................................................................... 8 Mtodo de acesso ................................................................................................................. 8 Desempenho ......................................................................................................................... 9 Caractersticas fsicas ............................................................................................................ 9 Organizao ........................................................................................................................... 9 Hierarquia de memria ............................................................................................................. 9

Memria Principal de Semicondutor ...................................................................................... 11 Memrias RAM.................................................................................................................... 11 Memrias ROM ................................................................................................................... 12 Organizao ............................................................................................................................. 12 Funcionamento da memria RAM .......................................................................................... 13 Acesso a dados .................................................................................................................... 13 Tecnologias.............................................................................................................................. 13 Captulo 4 Unidade Central de Processamento UCP ................................................................ 15 A Unidade de Controle ............................................................................................................ 15 Unidade Lgico-Aritmtica ULA ........................................................................................... 16 Representao de dados ..................................................................................................... 17 O Conjunto de Instrues........................................................................................................ 18

IntroduoEstudar a arquitetura e a organizao de computadores fundamental para se entender o comportamento e o funcionamento do computador. Enquanto isso, interessante notar o quanto se aprende de histria da computao e da informtica, dos diversos fatores que influenciaram as pesquisas e os diversos pesquisadores que contriburam para o desenvolvimento dos fundamentos do que hoje vemos to corriqueiramente usado em tantos lugares e para as mais variadas funes.

Captulo 1 Componentes do ComputadorConceitos bsicosArquitetura de computadores lida com o comportamento funcional de um sistema computacional segundo o programador, em outras palavras, refere-se aos atributos de um sistema que tm impacto direto sobre a execuo lgica de um programa. Exemplos de arquitetura incluem o conjunto de instrues, o nmero de bits usados para representar os vrios tipos de dados, os mecanismos de E/S (Entrada/Sada) e as tcnicas de endereamento memria. A Organizao de computadores lida com os relacionamentos estruturais que no so vistos pelo programador, tais como as interfaces com dispositivos perifricos, frequncia de clock e a tecnologia usada na memria. Existem vrios nveis ou vises nos quais um computador pode ser estudado, do mais alto nvel em que o usurio est executando programadas at o mais baixo nvel, que consiste em transistores e fios. 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 instruo ser implementada por uma unidade especial de multiplicao ou por um mecanismo que utiliza repetidamente uma unidade de soma constitui uma deciso de projeto da sua organizao.

Estrutura e FunoO ponto-chave de como descrever componentes eletrnicos elementares de um computador reconhecer a natureza hierrquica da maioria dos sistemas complexos, incluindo o computador (Simon, 1969). O projetista de computador deve considerar, em cada 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

Funo Tanto a estrutura quanto as funes de um computador so, em sua essncia, muito simples. Em termos gerais, temos apenas quatro funes bsicas: Processamento de dados Armazenamento de dados Transferncia de dados Controle

Ambiente de operao (Fonte e destino dos dados)

Mecanismo de transferncia de dados

Mecanismo de controle

Recurso de armazenamento de dados

Recurso de processamento de dados

Figura 1: Viso funcional de um computador

Estrutura O computador uma entidade que interage, de alguma maneira, com seu ambiente externo. As ligaes com o ambiente externo podem ser classificadas como dispositivos perifricos ou como linhas de comunicao. H quatro principais componentes estruturais: Unidade Central de Processamento (CPU): controla a operao do computador e desempenha funes de processamento de dados. muitas vezes chamada, simplesmente, de processador Memria principal: armazena dados Entrada/Sada: transfere dados entre o computador e o ambiente externo Sistema de interconexo: mecanismos que estabelecem a comunicao entre a CPU, a memria principal e os dispositivos de E/S

Os principais componentes estruturais da CPU so os seguintes: Unidade de Controle: controla a operao da CPU e, portanto, do computador

Unidade Lgica e Aritmtica (ALU): desempenha as funes de processamento de dados do computador Registradores: fornecem o armazenamento interno de dados para a CPU Interconexo da CPU: mecanismo que possibilita a comunicao entre a unidade de controle, a ALU e os registradores.

Breve HistriaNo Sculo XVI vrios dispositivos mecnicos usados para controlar operaes complexas, como caixas de msica. Mquinas de clculo se tornaram uma surgiram no sculo XVII Blaise Pascal (1623-1662) desenvolveu uma calculadora mecnica para auxiliar na preparao dos impostos do seu pai, chamava-se Pascaline.

Figura 2: Blaise Pascal e a Pascaline

Charles Babbage (1791-1871) projetou uma mquina de calcular que podia ler dados, armazen-los, fazer clculos e gerar dados de sada. Durante a Segunda Guerra Mundial, a Alemanha usava um cdigo criptografado implementado por uma mquina fabricada pela Siemens AG, conhecida como ENIGMA. Colossus era uma mquina para decodificar mensagens criada na universidade de Bletchley Park, na Inglaterra. Alan Turing (1912-1954) parece ter trabalhado neste projeto, mas isso at hoje um mistrio. Tubos de vcuo armazenavam o contedo de uma fita de papel que era alimentada na mquina, e os clculos aconteciam entre os tubos de vcuo e uma segunda fita lida pela mquina. A programao era feita com placas de conexo de fios.

Figura 3: Colossus

J. Presper Eckert e John Mauchly projetaram o ENIAC (Integrador e Computador Numrico Eletrnico, do ingls Eletronic Numerical Integrator And Computer), usado pelos Estados Unidos para calcular trajetrias balsticas. Em 1946 o ENIAC tornou-se operacional e foi usado por, pelo menos, mais nove anos. Dentre algumas caractersticas marcantes, est o fato de medir quase 170 m2, ter 18mil tubos de vcuo, programas e dados eram introduzidos por meio de interruptores e troca de cabos e no existia o conceito de um programa armazenado.

Figura 4: ENIAC

Eckert e Mauchly tiveram o auxlio de John Neumann (1903-1957) para projetar um computador com armazenamento de programa chamado EDVAC (de Electronic Discrete Variable Automatic Computer). Por causa de um conflito, separaram-se. EDVAC utilizava o sistema binrio ao invs do decimal. Isto era devido sua arquitetura, que utilizava um mecanismo de liga/desliga e simplificava a construo de unidades aritmticas.

Figura 5: EDVAC

Em 1947, Maurice Wilkes, da Cambridge University, construiu o EDSAC (de Electronic Delay Storage Automatic Computer), utilizando o mesmo conceito de programa armazenado de Eckert-Mauchly-Von Neumann.

Figura 6: EDSAC

Outra forma de entender essa viso histrica atravs de eras: Era mecnica/fsica (1600-1940) Computadores mecnicos projetados para reduzir o tempo de clculos e aumentar a acurcia dos resultados. o o o o o o Wilhelm Schiclhard (1623) Blaise Pascal (1642) Gottfried Liebniz (1673) Charles Babbage (1822) Pai da computao moderna George Boole (1847) Herman Hollerith (1889) Mquina moderna de cartes perfurados Formou a Tabulating Machine Company (que se tornou IBM) Konrad Zuse (1938) Construiu o primeiro computador mecnico funcional (Z1) Howard Aiken (1943) Projetou o Harvard Mark I Implementou a mquina de Babbage

o o

Era Eletrnica Gerao 1 (1945 a 1958) o ENIAC o IAS (Institute for Advanced Studies) Projetado por von Neumann e Goldstine Gerao 2 (1958 a 1964) o Mudana de tecnologia o Transstores o Linguagens de alto nvel o Aritmtica de ponto flutuante Gerao 3 (1964 a 1974) o Introduo dos circuitos integrados o Memria de semicondutores o Microprogramao o Multiprogramao Gerao 4 (1974 at o presente) o Integrao em Larga-escala/VLSI o Computadores de nica placa Gerao 5 (? a ?) o VLSI / ULSI o Redes de comunicao entre computadores o Inteligncia Artificial o Mquinas massivamente paralelas

Aplicaes que direcionam o desempenho dos computadores Previso do tempo Oceanografia Explorao ssmica/petrleo Diagnstico e pesquisa mdica Aerodinmica e anlise estrutural Fsica nuclear Inteligncia Artificial Militarismo/defesa Socioeconmica

O Modelo Von NeumannO Modelo Von Neumann consiste em cinco componentes principais: A Unidade de Entrada prov instrues e dados ao sistema, que so subsequentemente armazenados na Unidade de Memria As instrues e os dados so processados pela Unidade Aritmtica e Lgica (Arithmetic and Logic Unit - ALU) sob a superviso da Unidade de Controle Os resultados so enviados para a Unidade de Sada

A ALU e a Unidade de Controle so frequentemente chamadas, de forma coletiva, de Unidade Central de Processamento (Central Processing Unit CPU)

A figura a seguir apresenta estes componentes e suas inter-relaes:

Unidade de Memria

Unidade de entrada

Unidade Aritmtica e Lgica

Unidade de sada

Unidade de controle

Figura 7: Modelo de Von Neumann de um computador digital. Setas grossas representam o caminho dos dados; setas finas, o caminho de controle

Leia mais...Este material baseado nas seguintes referncias: Murdoca, Miles; Heuring, Vincent P. Introduo arquitetura de computadores. 3. Reimpresso. Rio de Janeiro: Elsevier, 2000. Stallings, Willian. Arquitetura e Organizao de Computadores; Projeto para o Desempenho. Traduo: Carlos Camaro de Figueiredo e Luclia Camaro de Figueiredo; 5. Ed. So Paulo: Prentice Hall, 2002. As imagens utilizadas so encontradas no The History of Computing Project: http://www.thocp.net/. Veja tambm: http://bwrc.eecs.berkeley.edu/CIC/ http://arch-www.cs.wisc.edu/home http://www.inf.ufg.br/~fmc/arqcomp/

MicroprocessadoresCom a evoluo dos materiais e componentes eletrnicos disponveis aumentaram tambm as possibilidades para construo de microprocessadores. Um marco importante foi o desenvolvimento do Intel 4004, em 1971, pois foi a primeira pastilha a conter todos os componentes de uma CPU, dando surgimento ao microprocessador. O 4004 conseguia somar dois nmeros de 4 bits e efetuava multiplicao por meio de somas repetidas. A evoluo do 4004 para os padres atuais percebida mais facilmente considerando-se o nmero de bits que um processador capaz de trabalhar de cada vez (a cada clock). Neste sentido a largura do barramento de dados o parmetro significativo. Fatos interessantes do Intel 4004: Com tamanho semelhante a uma unha, tinha o mesmo poder computacional o ENIAC (1946), que ocupava uma sala inteira e tinha 18 mil tubos de vcuo. Tinha cerca de 2.300 transistores. O processador Intel Core 2 Duo possui mais de 291 milhes de transistores. O dimetro circuito era de 10 mcrons (10mil nanmetros). Processadores atuais usam menos de .065 mcrons (65 nanmetros). Para termos de comparao, o cabelo humano possui aproximadamente 100 mcrons (100mil nanmetros).

O prximo passo importante foi a introduo do Intel 8008, em 1972. Foi o primeiro microprocessador de 8 bits e era quase duas vezes mais complexo que o 4004. Um evento com maior impacto foi o surgimento do 8080, em 1974. O 8080 foi o primeiro microprocessador de propsito geral; tambm era de 8 bits, entretanto, era mais rpido que o 8008 e tinha um conjunto de instrues mais rico e uma grande capacidade de endereamento memria. No final dos anos 70 surgiram os microprocessadores de 16 bits, um deles foi o 8086. A Bell Labs e a Hewlett-Packard desenvolveram, em 1981, microprocessadores de 32 bits de uma nica pastilha. A Intel lanou, em 1985, o 80386, seu microprocessador de 32 bits.

(Micro)Processador 4004 8008 8080 8086 8088 80286 Intel 386 DX Intel 386 SX Intel 486 DX Intel 486 SX Intel Pentium Intel Pentium Pro Intel Pentium II Intel Core Duo Intel Core 2 Duo Intel Core i7-940 Intel Atom 230

Data de lanamento 15/11/1971 1/4/1972 1/4/1974 8/6/1978 1/6/1979 1/2/1982 17/10/1985 16/6/1988 10/4/1989 22/4/1991 22/3/1993 1/11/1995 7/5/1997 Fev/2006 Jul/2006 Nov/2008 Jun/2008

Velocidade de clock 108 KHz 108 KHz 2 MHz 5 MHz, 8 MHz, 10 MHz 5 MHz, 8 MHz 6 MHz 12,5 Mhz 16 MHz 33 MHz 16 MHz 33 MHz 25 MHz 50MHz 16 MHz 33 MHz 60 MHz 166 MHz 150 MHz 200 MHz 200 MHz 300 MHz 1,6 GHz 2,33 GHz 1,8 GHz 3 GHz 2,93 GHz 1,6 GHz

Largura do barramento 4 bits 8 bits 8 bits 16 bits 8 bits 16 bits 32 bits 16 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 64 bits 64 bits 32 bits

Arquitetura do transistor 10-micron 10-micron 6-micron 3-micron 3-micron 1,5-micron 1-micron 1,5-micron 0,8-micron 0,8-micron 0,8-micron 0,6-micron 0,35-micron 65nm 65nm 45nm 45nm

Nmero de transistores 2.300 3.500 6.000 29.000 29.000 134.000 275.000 275.000 1,2 milho 1,2 milho 3,1 milhes 5,5 milhes 7,5 milhes 152 milhes 291 milhes 731 milhes 47 milhes

Memria enderevel 640 B 16 KB 64 KB 1 MB 1 MB 16 MB 4 GB 16 MB 4 GB 4 GB 4 GB 64 GB 64 GB 2 GB 64 GB 64 4 GB

Memria virtual 1 GB 64 TB 64 TB 64 TB 64 GB 64 TB 64 GB 64 TB

Cache 8 KB 8 KB 8 KB 512 KB 512 KB 2 MB 4 MB 8 MB 512 KB

A Lei de MooreGordon Moore (1965) foi um dos fundadores da Intel. Ele observou que o nmero de transistores que podiam ser impressos em uma nica pastilha dobrava a cada ano e previu, corretamente, que esse crescimento permaneceria em um futuro prximo. Outro entendimento sobre esta lei que o poder computacional dobra a cada 2 anos pelo mesmo preo. Algumas consequncias da Lei de Moore: O custo de uma pastilha permaneceu praticamente inalterado. Isso significa que o custo de implementao da lgica do computador e do seu circuito de memria caiu de maneira dramtica. Como as portas lgicas e as clulas de memria eram empacotadas cada vez mais prximas umas das outras nas pastilhas e em maior nmero, o caminho eltrico entre elas encurtava, aumentando a velocidade da operao. O computador ficou cada vez menor, tornando-se mais conveniente para ser usado em diversos ambientes. Ocorreu uma grande reduo do consumo de energia eltrica e da necessidade de resfriamento do equipamento. As interconexes em um circuito integrado so muito mais confiveis do que as conexes soldadas. Com maior nmero de circuitos em cada pastilha, o nmero de conexes requeridas entre pastilhas muito menor.

Crescimento do nmero de transistores da CPUNmero de transistores por pastilha Milhes

10.000,00100,00 1,00 8086 0,01 4004 386 486 Core 2 Duo Pentium Pro 80286 Pentium

Core i7

Pentium II

0,000,00 1971 1978 1982 1985 1989 1993 1995 1997 2006 2008

Figura 8: Crescimento do nmero de transistores da CPU (escala logartmica)

Alguns destaques da evoluo dos processadores da Intel 8080: o primeiro microprocessador de propsito geral fabricado no mundo. Tratava-se de um processador de 8 bits, com transferncia de dados memria de 8 bits. Foi utilizado no primeiro computador pessoal, o Altair.

8086: um processador de 16 bits bem mais poderoso. Alm de registradores e barramento com maior nmero de bits, possua uma memria cache (ou fila) de instrues que buscava antecipadamente algumas instrues na memria antes de elas serem executadas. Uma variante desse processador, o 8088, foi usado no primeiro computador pessoal da IBM, garantindo o sucesso da Intel. 80286: uma extenso do 8086, que possibilitava enderear uma memria de 16 MB, em vez de apenas 1 MB. 80386: foi o primeiro microprocessador de 32 bits da Intel e representou a maior reviso da sua linha de produtos. Com uma arquitetura de 32 bits, o 80386 competia em complexidade e poder de computao com os minicomputadores e computadores de grande porte introduzidos apenas alguns anos antes. Esse foi o primeiro processador da Intel a oferecer suporte multitarefa, ou seja, para execuo simultnea de vrios programas. 80486: este processador introduziu uma tecnologia de cache muito mais elaborada e poderosa e uma pipeline de instrues sofisticada. Ele embutia tambm um coprocessador aritmtico de ponto-flutuante, aliviando a CPU principal do processamento de operaes aritmticas complexas. Pentium: com o Pentium, a Intel introduziu o uso da tecnologia superescalar, que permite a execuo de mltiplas instrues em paralelo. Pentium Pro: deu continuidade utilizao da organizao superescalar iniciada com o Pentium, com uso intensivo de renomeao de registradores, previso de desvios, anlise de fluxo de dados, assim como execuo especulativa de instrues. Pentium II: incorporou a tecnologia Intel MMX, projetada especificamente para processar eficientemente vdeo, udio e dados grficos. Pentium III: incorpora instrues de ponto-flutuante adicionais para apoiar software grfico em 3D.

Leia mais... Intel Microprocessor Quick Reference Guide: http://www.intel.com/pressroom/kits/quickreffam.htm Chronology of Microprocessors: http://processortimeline.info/ The Mother of All CPU Charts 2005/2006: http://www.tomshardware.com/reviews/mother-cpu-charts-2005,1175.html 40 Fast Facts about Intel: http://www.baselinemag.com/c/a/Intelligence/40-FastFacts-about-Intel-826028/ Fun Facts: Silicon and Intel Fabs: http://www.intel.com/museum/online/funfacts.htm ARK | Your Source for information on Intel Products: http://ark.intel.com/ List of Intel microprocessors: http://en.wikipedia.org/wiki/List_of_Intel_microprocessors

Captulo 2 Barramentos do SistemaA Arquitetura de von Neumann pode ser resumida em trs conceitos bsicos: Os dados e as instrues so armazenados em uma nica memria de leitura e escrita. O contedo dessa memria endereado pela sua posio, independentemente do tipo de dados nela contidos. A execuo de instrues ocorre de modo sequencial (exceto quando esta sequncia explicitamente alterada de uma instruo para a seguinte).

A prpria configurao do hardware, isto , o conjunto de dispositivos fsicos de constitui um computador, pode ser entendida como uma programao fsica. Nos tempos dos primeiros computadores, este era o modelo de programao. Ele era to dependente de uma configurao especfica, que, para ser executado em outro computador, um programa requeria um computador totalmente diferente.

Dados

Sequncia de funes lgicas e aritmticas

Resultado

Figura 9: Programao em Hardware (O hardware dedicado)

Uma configurao de funes lgicas e aritmticas de propsito geral capaz de executar vrias funes sobre os dados, dependendo dos sinais de controle que lhe so aplicados. Em vez de projetar um novo hardware para cada aplicao nova, o programador precisa simplesmente fornecer um novo conjunto de sinais de controle. Cdigos de instrues

Interpretador de instrues Sinais de controle DadosSequncia de funes lgicas e aritmticas de propsito geral

Resultado

Figura 10: Programao em Software

Como funcionam os sinais de controle?Um programa constitudo de uma sequncia de passos. A cada passo, alguma operao lgica ou aritmtica executada sobre algum dado. Para cada passo, necessrio um novo conjunto de sinais de controle. possvel definir um cdigo para cada possvel conjunto de sinais de controle e acrescentar ao hardware um elemento capaz de interpretar esses cdigo e

gerar os sinais de controle correspondentes. O software uma sequncia de cdigos ou instrues. A Figura 10 apresenta os dois mdulos mais importantes do sistema: o que interpreta as instrues e o que executa as funes lgicas e aritmticas. Estes mdulos formam a CPU. Para que o sistema computacional esteja completo ainda faltam vrios componentes: Entrada: dados e instrues precisam ser introduzidas no sistema Sada: os resultados precisam ser apresentados de alguma forma Memria: um local para armazenar instrues e dados temporariamente

Funes dos computadoresA funo bsica de um computador executar um programa, que constitudo por um conjunto de instrues armazenadas na memria. A CPU executa as instrues especificadas no programa. H dois passos para o processamento de instrues: a) O processador l (busca) instrues na memria, uma de cada vez, e b) Executa cada uma. Este processamento chamado ciclo de instruo, que composto pelo ciclo de busca e pelo ciclo de execuo.

Incio

Busca da prxima instruo

Execuo da instruo

Fim

Figura 11: Ciclo de instruo bsico

Estrutura de barramentosO modelo de barramento de sistema particiona um sistema computacional em trs subunidades: CPU, memria e entrada/sada (E/S). A modernizao do modelo de von Neumann est no fato de que a ALU e a unidade de controle so combinadas na CPU e as unidades de entrada e sada so combinadas em uma nica unidade de E/S. Um barramento do sistema contm, tipicamente, de 50 a 100 linhas distintas. Cada linha possui uma funo ou significado particular. As linhas de barramento podem ser classificadas em trs grupos funcionais: linhas de dados, linhas de endereo e linhas de controle. CPU Memria E/S Linhas de controle Linhas de endereo Linhas de dadosFigura 12: Esquema de interconexo de barramento

As linhas representam o barramento do sistema.

As linhas de dados fornecem um caminho para a transferncia de dados entre os mdulos do sistema, e denominado barramento de dados. Contm tipicamente 8, 16 ou 32 linhas. A quantidade de linhas representa a largura do barramento de dados. Cada linha pode conduzir apenas 1 bit por vez, ento o nmero de linhas determina quantos bits podem ser transferidos de uma nica vez. A largura do barramento um fator que afeta diretamente o desempenho global do sistema. As linhas de endereo so utilizadas para determinar a fonte ou o destino dos dados transferidos pelo barramento de dados. Exemplo: quando o processador l uma palavra da memria, ele coloca o endereo da palavra desejada nas linhas de endereo. A largura do barramento de endereo determina a capacidade mxima da memria do sistema. As linhas de controle so usadas para controlar o acesso e a utilizao das linhas de dados e de endereo atravs de sinais de controle (transmitem comandos e informaes de temporizao). Sinais de temporizao indicam a validade das informaes de dados e de endereo. Sinais de comando especificam as operaes a serem executadas. Algumas linhas de controle tpicas: Escrita na memria Leitura da memria Escrita em porta de E/S Leitura de porta de E/S Confirmao (ACK) de transferncia Requisio do barramento Concesso do barramento Requisio de interrupo Confirmao (ACK) de interrupo Relgio Inicializao (reset)

Fisicamente, o barramento um conjunto de condutores eltricos paralelos (fios de metal) impressos em uma placa de circuito impresso. Ranhuras permitem que novos dispositivos sejam adicionados ou removidos do arranjo do sistema sem necessidades de modificaes na placa principal. Numa arquitetura de barramento tradicional h os seguintes barramentos e suas composies: Barramento Local: Processador, Controlador E/S local e Memria cache Barramento de Sistema: Memria principal, Memria Cache, Interface com o Barramento de Expanso Barramento de Expanso: Rede, SCSI, Modem, Interface Serial, Interface com o Barramento de Sistema

Enquanto uma arquitetura de alto desempenho composta da seguinte forma: Barramento Local: Processador, Memria cache Barramento do Sistema: Barramento Local, Memria Principal

Barramento de alta velocidade: SCSI, FireWire, Dispositivo Grfico, Controlador de Vdeo, Rede Local, Ponte com o barramento do processador, Interface com o Barramento de Expanso Barramento de Expanso: Fax, Modem, Interface Serial, Interface com o Barramento de alta velocidade

Elementos de projeto de barramentosTipo de barramento a) Dedicado: tem uma funo fixa ou associado a um subconjunto de componentes fsicos. b) Multiplexado: utilizao das mesmas linhas do barramento com vrios propsitos. Mtodo de arbitragem a) Centralizado: um nico dispositivo de hardware (controlador de barramento ou rbitro) responsvel por alocar tempo de utilizao do barramento a cada mdulo do sistema. b) Distribudo: cada mdulo do sistema contm uma lgica de controle de acesso e os mdulos agem de forma conjunta para compartilhar o barramento. Temporizao a) Sncrona: a ocorrncia de eventos determinada por um relgio, incluso no barramento. Todos os dispositivos devem operar segundo a velocidade fixa do relgio. b) Assncrona: a ocorrncia de um evento depende da ocorrncia anterior de outro evento. Tanto dispositivos lentos quanto rpidos podem compartilhar o uso do barramento. Largura do barramento a) Largura do barramento de dados: tem impacto sobre o desempenho do sistema, isto , quanto maior a largura do barramento de dados, maior o nmero de bits transferidos de cada vez. b) Largura do barramento de endereo: tem impacto sobre a capacidade do sistema, isto , quanto maior a largura do barramento de endereo, maior o nmero de posies de memria que podem ser endereadas. A tabela a seguir resume os elementos de projeto de barramentos: Tipo de barramento Mtodo de arbitragem Temporizao Largura do barramento Tipo de transferncia de dados Dedicado Multiplexado Centralizado Distribudo Sncrona Assncrona Endereo Dados Leitura Escrita Leitura-modificao-escrita Leitura-aps-escrita

Em bloco

Alguns padres de Barramentos de Entrada/Sada encontrados em computadores: a) b) c) d) e) f) g) h) i) j) k) l) m) AGP (Accelerated Graphics Port) Bluetooth EISA (Extended Industry Standard Architecture) FireWire (IEEE 1394) ATA (Advanced Technology Attachment) / IDE (Integrated Device Electronics) ISA (Industry Standard Architecture) MCA (Micro Channel Architecture) PCI (Peripheral Component Interconnect) PCI Express SATA (Serial Advanced Technology Attachment) SCSI (Small Computer System Interface) VESA Local Bus (da Video Electronics Standards Association) USB (Universal Serial Bus)

Captulo 3 MemriasNas ltimas dcadas, a velocidade de processamento da CPU dobrou a cada dezoito meses, pelo mesmo preo (via lei de Moore). Memria de computador teve um crescimento semelhante, mas no sentido de que quadruplicou em tamanho a cada trinta e seis meses, tambm mantendo o preo. A velocidade da memria, entretanto, aumenta cerca de 10% por ano. Desta forma a relao que podemos fazer que enquanto a velocidade de processamento cresce com o tamanho da memria, aumenta a diferena entre a velocidade do processador e a velocidade da memria. Em termos gerais, memria um conjunto de circuitos capazes de armazenar dados e programas a serem executados por um computador. Mesmo com esta definio simples, um dos componentes que apresenta maior variedade de tipos, tecnologias, organizaes, desempenhos e custos. Um computador tpico equipado com uma hierarquia de subsistemas de memria, algumas internas (acessadas diretamente pela CPU) e outras externas (acessadas pela CPU atravs de mdulos de E/S).

Caractersticas de sistemas de memriaSistemas de memria podem ser facilmente compreendidos por meio de sua classificao, conforme a tabela a seguir: Localizao Processador Interna (principal) Externa (secundria) Tamanho da palavra Nmero de palavras Palavra Bloco Sequencial Direto Aleatrio Associativo Tempo de acesso Tempo de ciclo Taxa de transferncia De semicondutores Magntica ptica Magneto-ptica Voltil/No-voltil Apagvel/No-apagvel

Capacidade Unidade de Transferncia Mtodo de acesso

Desempenho

Tecnologia

Caractersticas fsicas Organizao Localizao Indica se a memria interna ou externa.

Memria interna: registradores (memria interna do processador), memria cache, memria principal. Memria externa: disco magntico, CD-ROM, CD-RW, DVD+RW, DVD-RAM

Capacidade a caracterstica mais bvia de uma memria. Palavra: unidade natural de organizao da memria. O tamanho de uma palavra tipicamente igual ao nmero de bits usados para representar um nmero inteiro. Na memria interna os tamanhos das palavras so, geralmente, 8, 16 e 32 bits. Na maioria dos sistemas, a palavra a unidade enderevel. Mas alguns sistemas permitem o endereamento em bytes. Em qualquer um dos casos, a relao a seguinte: 2quantidade de bits = Nmero de unidades endereveis Unidade de transferncia Na memria interna, a unidade de transferncia igual ao nmero de linhas de dados do mdulo de memria, mas isso no sempre necessrio. A unidade de transferncia de dados da memria principal o nmero de bits que podem ser lidos ou escritos de cada vez. Na memria externa, os dados so frequentemente lidos em blocos. Mtodo de acesso a) Acesso sequencial: dados so organizados na memria em unidades chamadas registros e o acesso feito segundo uma sequncia linear especfica. Alm dos dados so armazenados endereos, para separar um registro de outro registro seguinte e facilitar o processo de busca por um determinado registro. Um mecanismo compartilhado usado para leitura e escrita e, a cada operao, ele deve ser movido para a posio desejada, ignorando registros intermedirios. O tempo de acesso varivel. Exemplo: unidades de fitas. b) Acesso direto: tambm usa um mecanismo compartilhado para leitura e escrita, mas cada bloco individual (registro) possui um endereo nico, baseado em sua localizao fsica. O acesso corresponde a: 1) acesso direto a uma vizinhana genrica do bloco; 2) pesquisa sequencial at atingir a posio final. O tempo de acesso varivel. Exemplo: unidades de disco. c) Acesso aleatrio: cada posio de memria enderevel possui um mecanismo de endereamento nico e fisicamente conectado a ela. O tempo de acesso constante e direto, independente da sequncia de acessos anteriores. Exemplo: memria principal e alguns sistemas de memria cache. d) Acesso associativo: possibilita comparar simultaneamente certo nmero de bits de uma palavra com todas as palavras da memria, determinando quais dessas palavras contm o mesmo padro de bits. Uma palavra buscada na memria com base em uma parte do seu contedo, e no de acordo com seu endereo. Cada posio da memria possui seu mecanismo de endereamento prprio. O tempo de busca constante. Exemplo: alguns sistemas de memria cache.

Desempenho Juntamente com a capacidade, o desempenho a caracterstica mais importante, do ponto de vista do usurio. e) Tempo de acesso o Acesso aleatrio: o tempo gasto para efetuar uma operao de leitura ou de escrita; o tempo entre o instante em que um endereo apresentado memria at o momento em que os dados armazenados se tornam disponveis para utilizao. o Acesso no-aleatrio: o tempo gasto para posicionar o mecanismo de leitura-escrita na posio desejada. f) Tempo de ciclo de memria: aplicvel em memrias de acesso aleatrio, compreende o tempo de acesso e o tempo adicional requerido antes que um segundo acesso possa ser iniciado. g) Taxa de transferncia: a taxa na qual os dados podem ser transferidos de ou para a unidade de memria. Na memria de acesso aleatrio, equivalente a 1/tempo de ciclo. Para memria de aceso no-aleatrio, usada a seguinte relao: TN = TA + N/R onde: TN = tempo mdio para ler ou escrever N bits TA = tempo mdio de acesso N = nmero de bits R = taxa de transferncia em bits por segundo (bps) Caractersticas fsicas a) Memria voltil: os dados so perdidos quando a energia eltrica desligada. b) Memria no-voltil: os dados, uma vez gravados, permanecem armazenados sem alterao at serem explicitamente modificados. c) Memrias de superfcie magntica so no-volteis. d) Memrias de semicondutores podem ser tanto volteis quanto no volteis. e) Contedos de memrias no-apagveis s pode ser alterado se for destruda a unidade de armazenamento. Memrias de semicondutor desse tipo so chamadas memrias apenas de leitura (do ingls read-only memory ROM). Uma memria noapagvel deve ser tambm no-voltil. Organizao o arranjo fsico dos bits para formar palavras.

Hierarquia de memriaTrs questes resumem as restries de projeto de memrias: a) Capacidade: qualquer que seja a capacidade disponvel, provavelmente surgiro aplicaes que a utilizem integralmente.

b) Velocidade: para melhor desempenho, a velocidade da memria deve ser compatvel com a do processador para que este no fique ocioso. c) Custo: para que um sistema seja comercialmente vivel, o custo da memria deve ser compatvel com o dos demais componentes. Vrias tecnologias so usadas para implementar sistemas de memria. Valem as seguintes relaes: d) Tempo de acesso mais rpido custo por bit maior e) Capacidade maior custo por bit maior f) Capacidade maior tempo de acesso menor O dilema claro: seria melhor usar uma tecnologia de memria capaz de fornecer grande capacidade de armazenamento, mas, para obter melhor desempenho, necessrio usar memrias caras, que apresentam tempo de acesso menor, mas com capacidade baixa. A sada para o dilema usar uma hierarquia de memrias. A figura a seguinte demonstra esta hierarquia:

Memria interna(registradores, memria cache, memria

principal)

Memria externa(Disco magentico, CD-ROM, DVD+RAM)

Armazenamento de segurana(Fita magntica)

Figura 13: Hierarquia de sistemas de memria

medida da descida na hierarquia, as seguintes relaes so vlidas: a) b) c) d) O custo por bit diminui A capacidade aumenta O tempo de acesso aumenta A frequncia de acesso memria pelo processador diminui

Deste modo, memrias menores (mais caras e rpidas) so combinadas com memrias maiores (mais baratas e lentas). A chave para o sucesso dessa organizao est no item d: diminuir a frequncia de acesso do processador.

A tabela a seguir resume propriedades da Hierarquia de Memria:Tabela 1: Propriedades da Hierarquia de Memria (dados de 2000)

Tipo de memria Registradores Cache Memria principal Memria em disco

Tempo de acesso 1 ns 5-20 ns 60-80 ns 10 ms

Custo/MB Alto $100 $1,10 $0,05

Quantidade tpica usada 1 KB 1 MB 64 MB 4 GB

Custo tpico $100 $70 $200

Memria Principal de SemicondutorOs primeiros computadores utilizavam tecnologia de memria magntica, mas a memria de semicondutores superou esta primeira tecnologia e seu uso praticamente universal. Tipo de Memria Memria de acesso Aleatrio (RAM) Memria apenas de leitura (ROM) ROM Programvel (PROM) PROM apagvel (EPROM) Memria flash PROM eletronicamente apagvel (EEPROM) Categoria Memria de leitura e escrita Memria apenas de leitura Mecanismo de apagamento Eletricamente, em nvel de bytes No possvel Luz UV, em nvel de pastilha Eletricamente, em nvel de blocos Eletricamente, em nvel de bytes Mecanismo de escrita Eletricamente Mscaras Volatilidade Voltil

No-voltil Eletricamente

Memria principalmente de leitura

Memrias RAM O tipo mais comum de memria conhecido como memria de acesso aleatrio (randomacceses memory RAM), mas todas as memrias da tabela anterior so de acesso aleatrio, logo, o termo no totalmente correto. Caractersticas da memria RAM: Possibilitar que novos dados sejam lidos e escritos rapidamente e de modo bastante fcil. Tanto a leitura quanto a escrita so feitas por meio de sinais eltricos. voltil: requer um fornecimento de energia constante, se for interrompido, os dados so perdidos. Tecnologia esttica e dinmica. RAM dinmica feita de clulas que armazenam dados com carga de capacitores. Na RAM esttica os valores binrios so armazenados usando configuraes tradicionais de flip-flops com portas lgicas. A RAM dinmica

precisa de cargas peridicas de energia (refresh) para funcionar, enquanto a RAM esttica mantm seus dados apenas enquanto houver energia. As RAMs estticas so mais rpidas do que as RAMs dinmicas. Memrias ROM a memria apenas para leitura (read-only access memory ROM), o que quer dizer que a memria ROM pode ser apenas lida, sem ser possvel gravar novos dados. Aplicaes potenciais so: Bibliotecas de sub-rotinas frequentemente utilizadas Programas de sistema Tabelas de funes

O processo de fabricao apresenta dois problemas: Alto custo da etapa de gravao de dados No podem ocorrer erros

Uma alternativa mais barata a memria ROM programvel (programmable ROM PROM), que usa um processo eletrnico para gravao de dados. Outra variao a memria principalmente de leitura, que possui trs formas comuns: EPROM (erasable PROM): memria PROM que pode ser apagada por um processo ptico. Antes de qualquer operao de escrita, todas as clulas de memria precisam ser apagadas, e cada ao (de apagamento) pode levar em torno de 20 minutos. mais cara que a PROM. EEPROM (electronically erasable PROM): memria PROM que pode ser apagada por um processo eletrnico. As clulas de memria no precisam ser apagadas a cada operao de gravao e cada byte pode ser acessado diretamente (como na RAM) para leitura e gravao. mais cara que a EPROM. Flash: memria intermediria entre a EPROM e a EEPROM. Utiliza um processo eletrnico, como a EEPROM, mas no permite endereamento por byte.

OrganizaoO elemento bsico de uma memria de semicondutor a clula de memria. Propriedades: Possuem dois estados estveis que podem ser usados para representar 1 e 0. Um valor pode ser escrito em uma clula e o dado gravado define o estado da clula. O estado da clula de memria pode ser lido.

Cada clula geralmente possui trs terminais: a) Terminal de seleo: seleciona uma clula para leitura ou escrita. b) Terminal de controle: indica se a operao de leitura ou escrita. c) Terceiro terminal depende da operao: numa operao de escrita, fornece um sinal que indica se o estado da clula deve ser 0 ou 1; numa operao de leitura, indica o estado da clula.

Funcionamento da memria RAMObtido de: http://www.gdhpress.com.br/hmc/leia/index.php?p=cap3-3. Para cada bit (1 ou 0) a ser armazenado, h um minsculo capacitor. Quando ele est carregado eletricamente, tem-se o bit 1, quando est descarregado, o bit 0. Para cada capacitor, h um transstor, encarregado de ler o bit armazenado em seu interior e transmiti-lo ao controlador de memria. O fato da RAM ser voltil deve-se justamente ao fato do capacitor perder sua carga muito rapidamente, depois de poucos milsimos de segundo. Um chip de memria muito mais barato que um processador, pois sua estrutura bsica composta apenas por capacitor e transstor. Um mdulo de 128 MB tem pouco mais de 1 bilho de transstores, quase 40 vezes mais que um processador Pentium III. Acesso a dados Para ler e gravar dados na memria, bem como controlar o trnsito de dados entre memria e demais componentes do computador, usado o controlador de memria, que faz parte do chipset localizado na placa me. Para facilitar o acesso a dados, mdulos de memria so divididos em linhas e colunas. Para acessar um determinado transstor, o controlador de memria gera o valor RAS (Row Address Strobe) e depois o valor CAS (Collumn Adress Strobe).

TecnologiasDiversas tecnologias tm sido empregadas na construo de chips de memria e na definio dos formatos dos mdulos de memria, como os seguintes: Formatos o Mdulos DIP o Mdulos SIMM o Mdulos DIMM Memrias Assncronas o Memrias FPM/DRAM RAM o Memrias EDO RAM Memrias Sncronas o Memrias SDR RAM o Memrias DDR SDRAM

o Memrias DDR2 SDRAM o Memrias DDR3 SDRAM Memrias Grficas o Memrias GDDR Memrias Rambus Memria Flash Memria ROM

Geralmente, o que se deve ter em mente quando se deseja adquirir memria RAM para um sistema precisa levar em considerao as seguintes questes: Quanta memria necessria? Quanta memria o sistema reconhece? Que tipo de memria compatvel com o sistema? Quantos sockets esto disponveis? Como determinada a qualidade da memria? O que se deve saber sobre preos de memrias? Que tipo de servio ps-venda e garantia necessrio? Quais outros tpicos devem ser atendidos?

Captulo 4 Unidade Central de Processamento UCPAt este ponto, analisamos o comportamento funcional e estrutural do computador em mais alto nvel. J vimos algumas informaes sobre processadores, mas sua estrutura e funo ainda precisam de detalhamento. O detalhamento necessrio apresentado neste captulo. Neste material as siglas UCP e CPU so equivalentes: UCP Unidade Central de Processamento e CPU vem do correspondente em ingls Central Processing Unity. A CPU consiste em uma seo de dados (contm registradores e a ULA) e uma seo de controle (interpreta instrues e efetua transferncias de registrador).

registradores

Unidade de Controle

ULA

Seo de dados Atualmente microprocessadores so compostos por:

Seo de controle

ULA Unidade Lgico-Aritmtica UC Unidade de Controle MAR Registrador de Endereo de Memria (Memory Address Registry) MBR Registrador de Bloco de Memria (Memory Block Registry) PC Contador de Programas (Program Counter) Registradores de Uso Geral e outros

A Unidade de ControleA Unidade de Controle responsvel por executar as instrues do programa que esto armazenadas em memria principal. O cdigo de mquina executado pela Unidade de Controle, um de cada vez (ou muitos de cada vez, no caso de arquiteturas multiprocessadas). H dois registradores que formam a interface entra a Unidade de Controle e a Unidade de Dados, conhecidos como: PC - contador de programas (Program Counter) e IR registrador de instrues (Instruction Register). O PC contm o endereo da instruo que est sendo executado. A instruo, que apontada pelo PC, lida da memria e armazenada no IR, onde interpretada. Os passos que a Unidade de Controle segue para executar o programa so: 1. 2. 3. 4. Ler a prxima instruo a ser executada na memria Decodificar o operando Ler o operando da memria principal, se houver Executar a instruo e armazenar os resultados

5. Repita (volte para 1) Este ciclo tambm conhecido como BDE Busca-Decodifica-Executa ou simplesmente como ciclo de busca e execuo (fetch-execute cicle). A Unidade de Controle responsvel por coordenar estas diferentes unidades durante a execuo de um programa de computador. A seo de dados consiste em uma coleo de registradores conhecidos como arquivo de registradores e a ULA. O arquivo de registradores pode ser visto como uma memria pequena e rpida, separada da memria do sistema, que usada para armazenamento temporrio durante a computao. A maior diferena entre o arquivo de registradores e a memria do sistema que o primeiro muito mais rpido. A figura a seguir apresenta um exemplo de seo de dados de um processador:Registrador de origem 1 (ro1) Do barramento de dados Registrador de origem 2 (ro2)

Arquivo de registradores

Unidade de Controle Seleciona registradores e funo da ULA

Para o barramento de endereos

Para o barramento de dados

ULAStatus para Unidade de Controle

Unidade Lgico-Aritmtica ULAA ULA a parte do computador que, de fato, executa operaes aritmticas e lgicas sobre os dados. Demais componentes enviam e recebem dados para/e da ULA. Portanto, a ULA representa o ncleo ou a essncia do computador, no sentido de ser responsvel pela computao. A ULA baseada em dispositivos lgicos digitais simples, capazes de armazenar dgitos binrios e efetuar operaes simples de lgica booleana, como somar e subtrair. A figura a seguir indica como a ULA conectada ao restante do processador:

Unidade de Controle

Bits especiais (flags)

ULARegistradores Registradores

O funcionamento ocorre conforme a sequncia: 1. Os dados so fornecidos ULA em registradores e os resultados de uma operao so armazenados em registradores 2. A ULA pode ativar bits especiais (flags) para indicar o resultado de uma operao. Por exemplo, quando uma operao excede a capacidade de armazenamento de um registrador (overflow) 3. A unidade de controle fornece sinais para controlar a operao da ULA e a transferncia de dados entre a ULA e os registradores

Representao de dados A figura a seguir ilustra a representao dos dados em diversos nveis:

Conceito Tipo de dado Bits Sinais Eltricos

Conceitual

Linguagem de Programao

Arquitetura

Fsico

Tipos de dados podem ser classificados como: a) b) c) d) e) f) Escalares Nmeros (inteiros e de ponto-flutuante) Caracteres (ASCII) Lgicos Estruturas estticas (Vetores, Matrizes) Estruturas dinmicas (baseadas em ponteiros, no caso de C e C++)

Dados numricos inteiros podem ser representados de trs formas diferentes: a) Sinal-magnitude: se o nmero for positivo, o bit de mais alta ordem (bit mais esquerda) 0, caso contrrio, 1. Esta a representao menos utilizada. Exemplo: (em oito bits) +18 = 00010010 -18 = 10010010 b) Complemento de 1: se o nmero negativo, todos os bits so invertidos. Exemplo: (em oito bits) +18 = 00010010 -18 = 11101101

c) Complemento de 2: segue a mesma regra do Complemento de 1 com soma de mais um ao final do processo de inverso. Atualmente, o processo utilizado nos computadores. Exemplo: +4 = 0100 -4 = 1011 (faz complemento de 1) = 1011 + 0001 (soma um ao valor invertido) = 1100 Dados lgicos so representados usando uma palavra inteira ou um bit de cada palavra. Nmeros de ponto-flutuante so representados usando notao cientfica. O nmero armazenado em uma palavra binria com trs campos: Sinal: positivo ou negativo Mantissa M Expoente E

O padro IEEE 754 utilizado para representar nmeros em ponto-flutuante. Em linguagens de programao, eles so implementados com preciso simples (32 bits) e preciso dupla (64 bits).

O Conjunto de InstruesO Conjunto de Instrues a coleo de instrues que um processador pode executar e, efetivamente, define processador. Os conjuntos de instrues para cada tipo de processador so completamente diferentes uns dos outros. Diferenciam tamanhos das instrues, tipo de operaes permitidas, tipos de operandos permitidos e tipos de resultados que so gerados.