63
 Universidade de Passo Fundo Instituto de Ciências Exatas e Geociências Curso de Sistemas de Informação - CST Organização de Computadores Notas de Aula Autor : Marcelo Trindade Rebonatto E-mail : [email protected] e.br Página : http://vitoria.u pf.tche.br/~rebona tto

Organ Iza Cao

Embed Size (px)

Citation preview

Universidade de Passo FundoInstituto de Cincias Exatas e Geocincias Curso de Sistemas de Informao - CST

Organizao de Computadores Notas de Aula

Autor : Marcelo Trindade Rebonatto E-mail : [email protected] Pgina : http://vitoria.upf.tche.br/~rebonatto

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

SUMRIOLista de Figuras ............................................................................................................................................. 4 Introduo...................................................................................................................................................... 5 1 Conceitos sobre organizao de computadores.......................................................................................... 6 1.1 Funcionamento bsico dos sistemas de computao ____________________________________ 6 1.2 Bits, bytes & Cia. _______________________________________________________________ 7 1.3 Registradores e memria _________________________________________________________ 8 1.4 Barramentos ___________________________________________________________________ 8 1.5 Interface CPU/Memria Principal __________________________________________________ 9 1.6 Clock________________________________________________________________________ 10 1.7 Taxa de transferncia e multiplicador de freqncia ___________________________________ 11 1.8 Barramentos de expanso ________________________________________________________ 12 1.8.1 Barramentos em microcomputadores____________________________________________ 13 2 CPU .......................................................................................................................................................... 16 2.1 Componentes _________________________________________________________________ 17 2.1.1 Funo Processamento _______________________________________________________ 18 2.1.2 Funo de Controle _________________________________________________________ 19 2.1.3 Barramentos Internos ________________________________________________________ 20 2.2 Ciclo de instruo ______________________________________________________________ 20 2.3 Medidas de Desempenho ________________________________________________________ 22 2.4 Mais de uma instruo por ciclo___________________________________________________ 23 2.4.1 Pipeline___________________________________________________________________ 23 2.4.2 Unidades de execuo especializadas ___________________________________________ 25 3 Memria ................................................................................................................................................... 26 3.1 Organizao e hierarquia da memria ______________________________________________ 27 3.2 Tempo e ciclo de acesso _________________________________________________________ 28 3.3 Tecnologias de memria RAM____________________________________________________ 28 3.4 Mdulos de memria ___________________________________________________________ 30 3.5 Memrias do tipo ROM _________________________________________________________ 31 3.6 Memria cache ________________________________________________________________ 32 4 Unidades de discos e discos removveis................................................................................................... 36 4.1 Cabos e configuraes fsicas_____________________________________________________ 36 4.2 Unidade de disquetes ___________________________________________________________ 37 4.3 H.D.s ________________________________________________________________________ 37 4.3.1 Anatomia do H.D. __________________________________________________________ 39 4.3.2 Desempenho _______________________________________________________________ 40 4.3.3 Padres de conexo _________________________________________________________ 41 4.4 Limites em HDs _______________________________________________________________ 42 4.4.1 Limite de 504Mb ___________________________________________________________ 42 4.4.2 Limite de 2Gb______________________________________________________________ 43 4.4.3 Limite de 8Gb______________________________________________________________ 43 4.5 CD-ROM ____________________________________________________________________ 44 5 Entrada e Sada......................................................................................................................................... 45 5.1 Conexes de perifricos de entrada e sada padres____________________________________ 46 5.1.1 Monitor___________________________________________________________________ 47 5.1.2 Teclado ___________________________________________________________________ 47 5.1.3 Porta paralela ______________________________________________________________ 48 5.1.4 Portas seriais_______________________________________________________________ 49 5.2 Formas de comunicao entre CPU/MP e interface de I/O ______________________________ 50 5.3 Endereos de I/O para as portas de comunicao padro________________________________ 50 Organizao de Computadores Notas de aula 2

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

5.4 Formas de realizao de entrada/sada ______________________________________________ 51 5.4.1 Entrada/sada por programa ___________________________________________________ 51 5.4.2 Interrupes _______________________________________________________________ 52 5.4.3 Acesso direto memria _____________________________________________________ 54 6 Arquiteturas de computadores.................................................................................................................. 56 6.1 CISC ________________________________________________________________________ 56 6.2 RISC ________________________________________________________________________ 57 6.3 ILP Instruction Level Parallelism ________________________________________________ 58 6.3.1 Superescalares _____________________________________________________________ 58 6.3.2 VLIW - EPIC ______________________________________________________________ 59 6.4 CISC versus RISC versus VLIW __________________________________________________ 59 6.5 Paralelas _____________________________________________________________________ 60 Bibliografia.................................................................................................................................................. 62

Organizao de Computadores Notas de aula

3

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Lista de FigurasFigura 1 Componentes bsicos de um sistema de computao................................................................. 6 Figura 2 Forma geral das instrues ......................................................................................................... 6 Figura 3 Barramentos ................................................................................................................................ 9 Figura 4 Interface CPU/MP..................................................................................................................... 10 Figura 5 Barramentos em um microcomputador..................................................................................... 14 Figura 6 Ciclo bsico de instruo .......................................................................................................... 16 Figura 7 Componentes da CPU............................................................................................................... 17 Figura 8 Ciclo detalhado de instruo..................................................................................................... 21 Figura 9 Algoritmo para execuo de instrues .................................................................................... 21 Figura 10 Linha de montagem ................................................................................................................ 23 Figura 11 Processadores superescalares.................................................................................................. 25 Figura 12 Hierarquia de acesso memria ............................................................................................. 27 Figura 13 Hierarquia de memria ........................................................................................................... 28 Figura 14 EEPROM ................................................................................................................................ 32 Figura 15 Transferncia de dados entre CPU/Cache/MP........................................................................ 33 Figura 16 Controladoras de unidades de disco........................................................................................ 36 Figura 17 Esquema de um HD ................................................................................................................ 37 Figura 18 Posio dos jumpers de configurao..................................................................................... 38 Figura 19 Viso interna de um HD ......................................................................................................... 39 Figura 20 MBR e parties ..................................................................................................................... 40 Figura 21 Transferncia de dados em HDs ............................................................................................. 41 Figura 22 Caractersticas dos principais perifrios de I/O ...................................................................... 45 Figura 23 Conectores de cabos paralelos ................................................................................................ 48 Figura 24 Conectores de cabos seriais .................................................................................................... 49 Figura 25 Conectores min-DIN............................................................................................................... 49 Figura 26 Formas de organizao de memria para comunicao com interface de I/O ....................... 50 Figura 27 Organizao de computadores ................................................................................................ 61

Organizao de Computadores Notas de aula

4

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

IntroduoSomente os trabalhadores despreparados culpam seus instrumentos de trabalho pelo seu mau desempenho. Que tipo de trabalhadores no conhece seus instrumentos de trabalho, no sabem como funcionam e no distingue um bom instrumento de trabalho de um ruim? Muita gente ainda desconhece a composio e organizao dos componentes que integram um instrumento vital para o seu trabalho: o computador. Hoje em dia, um bom profissional da rea de informtica, deve possuir slidos conceitos sobre os componentes e a organizao dos computadores. Mesmo o profissional que ir se dedicar 100% de seu tempo a trabalhar projetando, construindo, testando, validando, instalando, treinando ou qualquer outra tarefa em nvel de software, deve, pelo menos, informar-se sobre o hardware. O trabalho em nvel de software pode ser profundamente influenciado, pelo hardware, quer seja na produtividade, quer seja em seu planejamento; desta forma, os componentes fsicos de um sistema computacional no podem ser desconhecidos a um profissional da rea de informtica. Saber usar um computador, reconhecer e saber usar seus principais perifricos de entrada e sada pode ser suficiente para futuros profissionais, mas voc estar subestimando seu potencial e a si prprio, alm de tornar-se limitado. Sem saber sobre a organizao e o funcionamento de seus principais componentes no saber se adquiriu ou indicou o computador mais adequado determinada funo, ou, um equipamento caro incapaz de realizar tarefas nas quais os modelos mais simples se sobressaem.

Os computadores so como automveis. Voc no precisa saber detalhes do seu funcionamento para utiliz-los, mas algum conhecimento ajuda. As pessoas inteligentes sabem selecionar o carro certo ou componentes de hardware certo para suas necessidades.(Meyer, 2000, p. 53) O texto de Meyer acima citado faz referncia a usurios comuns de computadores. Uma comparao pode ser estabelecida apenas tendo o cuidado de ressaltar que profissionais da rea de informtica devem saber sobre o funcionamento interno e composio dos computadores. Este texto destina-se aos alunos da disciplina de organizao de computadores para que conheam os principais componentes dos computadores, como funcionam e se organizam.

Organizao de Computadores Notas de aula

5

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

1 Conceitos sobre organizao de computadoresPara estudar organizao de computadores alguns conceitos bsicos devem ser assimilados/revisados. Estes conceitos abrangem os componentes funcionais bsicos e as formas de representao/armazenamento de informaes, alm do funcionamento bsico dos sistemas de computao.

1.1 Funcionamento bsico dos sistemas de computaoOs computadores executam quatro funes distintas sendo elas: (a) Entrada; (b) Processamento; (c) Armazenamento/recuperao de dados; (d) Sada. A Figura 1 ilustra a organizao dos sistemas de computao.

Perifricos de entrada

Unidade de Processamento CPU

Perifricos de sada

Dispositivos de armazenamento memria Figura 1 Componentes bsicos de um sistema de computao Para que um computador trabalhe necessria insero de informaes (entrada). Seguindo as instrues fornecidas pelos programas, o computador processa os dados oriundos da entrada (processamento) armazenando-os logo em seguida para posterior utilizao. As informaes produzidas ficam disponveis para utilizao (sada) e a menos que se deseje as informar e produzir novamente, elas devem ser armazenadas em um dispositivo de armazenamento estvel. O esquema geral da figura 1 seguido por praticamente todos os computadores, sendo que os dados so produzidos atravs de instrues durante a etapa de processamento, realizada pela CPU (Unidade Central de Processamento - processador). Cada processador tem um conjunto nico de instrues para processar os dados, porm geralmente utilizam a mesma forma de composio das instrues. A Figura 2 mostra a forma das instrues comumente utilizada pelos processadores. OPERAO OPERANDOS

INSTRUO Figura 2 Forma geral das instrues A operao especifica a funo a ser desempenhada, por exemplo, soma, armazene ou desvie, entre outras. Os operandos fornecem os dados a serem utilizados na operao ou ainda a forma de alcanar a posio destes dados na memria. Organizao de Computadores Notas de aula 6

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

1.2 Bits, bytes & Cia.Todas as informaes manipuladas pelos computadores devem ser entendidas pela mquina. Como o computador um dispositivo eletrnico, ele armazena e movimenta as informaes de forma eletrnica, podendo utilizar um valor de corrente. Para que a mquina representasse todos os smbolos da linguagem humana eletricamente seriam necessrias mais de 100 diferentes voltagens (corrente). Uma mquina deste tipo alm de ser de custo elevado, seria difcil de construir e de baixa confiabilidade. Desta forma, optou-se por construir mquinas binrias, capazes de entender apenas dois valores diferentes. Os computadores digitais so totalmente binrios, isto , trabalham apenas com dois valores, tornando assim simples o emprego da lgica booleana (Sim/No, Verdadeiro/ Falso, Aberto/Fechado,...) tanto na construo de componentes quanto como base para a escrita de programas (programao). Convencionou-se chamar os dois nveis eltricos de 0 e 1 sendo que cada algarismo da representao numrica binria denominado de bit, correspondente a abreviatura de binary digit (dgito binrio). Obviamente com apenas 1 bit isolado pode-se representar muito pouca coisa (apenas 2 valores), desta forma, usam-se agrupamentos ordenados de bits para a representao de informaes teis. A menor informao inteligvel aos seres humanos o caractere, como por exemplo, o nmero 5 ou a letra a. Existem diversos agrupamentos de bits para representar caracteres, sendo que o mais popularmente utilizado chamado de byte. Um byte uma seqncia ordenada de 8 bits, sendo cada bit tratado de forma independente dos demais e com um valor fixo de acordo com sua posio. Qualquer seqncia binria pode ser convertida para um nmero na base decimal, sendo utilizado este valor para encontrar o caractere correspondente, utilizando uma tabela de caracteres. As memrias geralmente armazenam e recuperam informaes byte a byte, ou ainda em mltiplos de bytes. A representao binria de valores tambm utilizada para a representao de nmeros dentro dos computadores. A metodologia a mesma, sendo convertido o valor em base decimal para o correspondente em base binria. Por exemplo, o nmero 2310 pode ser armazenado no seguinte byte 00010111. Os dispositivos de memria atuais utilizam agrupamentos de bytes para representar sua capacidade de armazenamento. Uma vez que tais agrupamentos so oriundos de uma base binria o fator de multiplicao utilizado 1024 (210). Cada faixa possui tambm uma letra para abreviar a categoria. A Tabela 1 demonstra alguns agrupamentos de bits e bytes utilizados. Tabela 1 Agrupamento de bits e bytes Agrupamento Smbolo Representa Byte B 8 bits Kilo K 1024 Bbytes Mega M 1024 KBytes Giga G 1024 MBytes Tera T 1024 GBytes Peta P 1024 TBytes Estes agrupamentos so utilizados na descrio das capacidades de armazenamento dos computadores hoje em dia, sendo que esta capacidade referenciada por um nmero e um smbolo correspondente. Por exemplo, 256MB de memria. Outro conceito importante muito utilizado na descrio do mecanismo de transferncia de informaes entre a CPU e a memria principal o conceito de palavra. A palavra utilizada para Organizao de Computadores Notas de aula 7

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto indicar a unidade de transferncia e processamento de um computador. As palavras so mltiplos de 1 byte, sendo que os microprocessadores geralmente utilizam 32bits 4 bytes como tamanho da palavra (j existem projetos e microprocessadores que utilizam palavras de 64 bits, porm estes microprocessadores ainda no se popularizaram). Mquinas de maior porte como estaes SUN j utilizam palavra de 64 bits h algum tempo.

1.3 Registradores e memriaOs registradores so dispositivos que armazenam valores temporrios principalmente dentro dos processadores. So utilizados para a realizao das instrues que fazem uso de operaes lgicas e aritmticas tanto para armazenar o resultado final quanto para obter os valores de entrada da operao. Os registradores tambm so utilizados para a recuperao/armazenamento dos valores na memria. Em outras palavras, so os locais onde se pode armazenar temporariamente um valor dentro da CPU. Encontram-se em nmero variado dependendo do modelo do processador utilizado. A CPU no consegue manter todos os valores manipulados por um programa apenas em registradores, por isso necessita de uma memria para o armazenamento das informaes. Somente ficam na memria os dados no manipulados atualmente pela CPU, existindo uma intensa troca de valores entre a memria e a CPU (Interface Memria CPU). Alm dos valores no utilizados em um determinado momento, a memria armazena tambm TODAS as instrues a serem executadas pela CPU. A memria um conjunto de clulas, todas com o mesmo nmero de bits, sendo cada clula identificada por um nmero nico que seu endereo. Os acessos memria so realizados atravs de palavras de memria, sendo que a velocidade da memria, indicada pelo seu tempo de acesso, significativamente inferior velocidade com que o processador trabalha. Pode-se ler ou escrever dados em uma posio da memria.

1.4 BarramentosOs processadores so circuitos integrados passveis de serem programados para executar uma tarefa predefinida, basicamente manipulando e processando dados. A CPU manipula dados de acordo com programas, que devero para isso, estar na memria. Um programa pode ordenar que dados sejam armazenados de volta na memria ou recuperar programas/dados armazenados em sistemas de memria de massa (disquetes, H.D.,...). Os caminhos por onde estas informaes circulam em um computador genericamente conhecido como barramento. Em outras palavras, os barramentos nada mais so do que um conjunto de condutores (fios, trilhas) por onde passam os bits. Possuem duas principais caractersticas: A largura do barramento: nmero de bits transportados numa operao; A freqncia de operao: velocidade com que os dados so transmitidos.

A Figura 2.3 ilustra a funcionalidade dos barramentos.

Organizao de Computadores Notas de aula

8

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Figura 3 Barramentos Existem diversos barramentos nos computadores atuais, sendo os principais o barramento local e de expanso. O barramento local vital para o funcionamento do computador, pois interliga o processador a memria. Por outro lado, o barramento de expanso interliga os demais componentes, tais como, perifricos de entrada, de sada e memria de armazenamento estvel (secundria).

1.5 Interface CPU/Memria PrincipalConhecida genericamente como barramento local, a interface CPU/Memria principal de vital importncia para o funcionamento do computador, uma vez que os blocos que formam a CPU no podem manipular diretamente os dados armazenados na memria, pois somente operam sobre valores mantidos em registradores. Desta forma, como as instrues e os dados a serem manipulados esto na memria, para que uma instruo seja executada, a memria deve ser acessada no mnimo uma vez. O barramento local dividido em outros trs: barramento local para dados, para endereos e de controle. A interface CPU/MP se completa com os registradores auxiliares no acesso a memria. A Figura 4, ilustra o esquema da interface CPU/MP.

Organizao de Computadores Notas de aula

9

Sistemas de Informao CST / UPF R D M R E M Barramento de Dados

Professor: Marcelo Trindade Rebonatto

C P U

Barramento de Endereos Barramento de Controle

M E M R I A

Figura 4 Interface CPU/MP Segue abaixo uma breve descrio dos componentes da interface CPU/Memria principal. REM - Registrador de Endereo da Memria: Armazena o endereo da clula onde deve ser feita a prxima operao de leitura ou escrita na memria; Barramento de Endereos: Liga o REM memria para transferncia do endereo da clula a ser lida ou escrita. Sua largura em bits deve ser igual ao REM; RDM - Registrador de Dados da Memria: Armazena os dados que esto sendo transferidos de/para a memria; Barramento de Dados: Liga o RDM memria, possuindo a mesma largura deste. o caminho por onde feita a transferncia do contedo; Barramento de Controle: Interliga a CPU memria para enviar os comandos de READ e WRITE e receber WAIT.

1.6 ClockDe todos os sinais de informao que circulam pelo barramento, o mais importante o clock que um sinal de sincronismo, realizando a sincronizao de todos os circuitos que constituem o micro. Todos os circuitos trocaro informaes no momento em que o clock permitir, enviando um aviso aos componentes do micro como que dizendo J. Como os circuitos eletrnicos so rpidos, a freqncia com que o clock fica ativo alta. Normalmente esta freqncia, tambm chamada freqncia de operao, est na casa do MegaHertz (MHz), ou seja, milhes de vezes por segundo. Todos os componentes do micro utilizam uma freqncia de operao como os barramentos, a memria, o processador, entre outros, sendo que cada componente do micro trabalha a sua prpria freqncia. Os processadores atualmente utilizam tcnicas de multiplicao de freqncia aumentando assim sua freqncia interna de processamento. Geralmente divulgado apenas o clock interno do processador, ficando subentendido que essa sua freqncia de operao. Resta salientar que a freqncia de operao NO sinnima de desempenho do micro. Ela apenas um fator que contribui no desempenho.

Organizao de Computadores Notas de aula

10

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

1.7 Taxa de transferncia e multiplicador de freqnciaA freqncia de operao (clock) juntamente com a largura so os fatores determinantes do desempenho (taxa de transferncia) dos barramentos. A largura do barramento local pode ser divida em dados e instrues, porm para efeitos de clculo da taxa de transferncia considerado um nico valor, que a partir dos processadores Pentium, de pelo menos 64 bits. A freqncia de operao no pode ser confundida com o clock da mquina (normalmente associado ao clock do processador). A freqncia de operao do barramento normalmente divulgada atravs da freqncia de operao da placa-me. A frmula abaixo pode ser utilizada para calcular a taxa de transferncia dos barramentos:

Taxa de transferncia = freqncia de operao x nmero de bits / 8A Tabela 2 mostra a taxa de transferncia para diversas freqncias de operao do barramento local, considerando processadores que acessam a memria local a 64 bits. Tabela 2 Barramentos e taxas de transferncia Freqncia do barramento local Taxa mxima de transferncia 66 MHz 528 MB/s 100 MHz 800 MB/s 133 MHz 1064 MB/s 200 MHz 1600 MB/s 266 MHz 2128 MB/s 400 MHz 3200 MB/s O barramento local o mais rpido, pois os circuitos se comunicaro com o processador em seu desempenho mximo. Entretanto, o processador trabalha atualmente a uma freqncia de operao superior a do barramento local, utilizando um recurso denominado de multiplicao de freqncia. Para conhecer o fator de multiplicao de freqncia utilizado por um micro, pode-se utilizar a frmula abaixo:

Multiplicador = freqncia do processador / freqncia do barramento localO valor divulgado como sendo a velocidade (freqncia de operao) da mquina o do processador, o que no est totalmente errado, pois neste valor que as informaes so processadas, porm ao avaliar o desempenho de um micro, deve-se levar em conta a freqncia do barramento local. O barramento local no padronizado: cada processador utiliza seu prprio modelo, e por este motivo que cada processador necessita de um modelo de placa-me. A tabela 3 mostra os clocks de alguns processadores, juntamente com seus fatores de multiplicao.

Organizao de Computadores Notas de aula

11

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto Tabela 3 Clock de processadores e fator de multiplicao Clock Processador Fator de multiplicao Interno Externo 75/125 MHz 50 MHz 1,5 / 2,5 Pentium 90/120/150/180 MHz 60 MHz 1,5 / 2 / 2,5 / 3 100/133/166/200 MHz 66 MHz 1,5 / 2 / 2,5 / 3 AMD K6 166/200/233 MHz 66 MHz 2,5 / 3 / 3,5 233/266/300/333 MHz 66 MHz 3,5 / 4 / 4,5 / 5 Pentium II 350/400/450 MHz 100 MHz 3,5 / 4 / 4,5 366/400/500/566/600/700 MHz 66 MHz 5,5 / 6 / 7,5 / 8,5 / 9 / 10,6 Celeron 800/850/900 MHz 100 MHz 8 / 8,5 / 9 266/300/333 MHz 66 MHz 4 / 4,5 / 5 AMD K6-II 300/350/400/450/500/533/550 MHz 100 MHz 3 / 3,5 / 4 / 4,5 / 5 AMD K6-III 350/400/450/500/550/600 MHz 100 MHz 3,5 / 4 / 4,5 / 5 / 5,5 / 6 450/500/550/600 MHz 100 MHz 4,5 / 5 / 5,5 / 6 Pentium III 533/600/666/733/866/933 MHz / 1GHz 100/133 MHz 4 / 4,5 / 5 / 5,5 / 6,5 / 7 / 7,5 Duron 800/850/900/950 MHz 200 MHz 4 / 4,25 / 4,5 / 4,75 1 / 1,1 / 1,2 / 1,3 / 1,4 GHz 200 MHz 5 / 5,5 / 6 / 6,5 / 7 Athlon 1,0 / 1,13 / 1,2 / 1,33 / 1,4 GHz 266 MHz 3,75 / 4,25 / 4,5 / 5 / 5,25 Pentium 4 1,4 / 1,5 / 1,6 / 1,7 / 1,8 GHz 400 MHz 3,5 / 3,75 / 4 / 4,25 / 4,5 Como as informaes a serem manipuladas pelo processador so oriundas da memria, de nada adianta melhorar apenas a freqncia de operao do barramento local. Deve-se verificar se a memria acompanha a velocidade do barramento local, a fim de evitar o estado de espera do processador pela memria (wait state), que diminui o desempenho.

1.8 Barramentos de expansoPara que uma simples placa de vdeo ou um H.D. possa ser utilizada em qualquer computador, independentemente do processador instalado, utiliza-se diversos modelos de barramentos de expanso. Os barramentos de expanso so disponibilizados na placa-me dos micros atravs de slots (exceo do USB, Firewire e IrDA, que so diretamente conectados a placa-me). Os slots nada mais so do que encaixes para que as conexes entre placas presentes no sistema computacional utilizem determinados padres de barramento. Na parte superior dos slots, encontram-se ranhuras para a conexo de placas de circuito que funcionam com a placa-me. Sem as ranhuras, os micros ficariam limitados aos circuitos que estivessem permanentemente montados na placa-me. Os principais modelos so: ISA (Industry Standard Architecture): origina-se dos primeiros computadores IBM PC-AT. Os slots ISA so ligados em paralelo, possibilitando que uma placa seja ligada em qualquer slot. Utiliza conectores de 62 e 96 pinos. Trabalha com uma largura de barramento de 8 ou 16 bits a uma freqncia mxima de 8,33MHz; VLB (VESA Local Bus): desenvolvido pelo grupo Vdeo Eletronics Standard Association, para ser ligado ao barramento local dos 486. Trabalha na velocidade do processador, porm limitado a 3 slots. Compatvel com o ISA adaptou-se bem a vdeo e disco rgido, entretanto como era muito direcionado ao 486, entrou em desuso com o declnio do 486. Utiliza conectores de 168 pinos, largura de barramento de 32bits a uma freqncia mxima de 50MHz (limitado pelo barramento local); 12

Organizao de Computadores Notas de aula

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

PCI (Peripheral Component Interconnect): desenvolvido pela Intel para ser seu prprio padro de barramento, matou o VLB. Diferente do VLB, no ligado diretamente ao barramento local, mas atravs de uma ponte (bridge parte do chipset). No compatvel com o ISA, porm totalmente independente de processador. Possui conectores menores e ranhuras mais densamente acondicionadas que as ISA. Em geral, trabalha com slots de 32bits (existindo verses de slots para 64bits), a uma freqncia de 33MHz (usual) ou 66MHz; AGP (Accelerated Graphics Port): conector projetado especialmente para vdeo, pela Intel, que permite a uma interface de vdeo a comunicar-se diretamente com a memria RAM do computador. Fisicamente o barramento AGP conectado ao mesmo circuito que contm a ponte PCIbarramento local (norte). Utiliza largura de barramento de 32bits, operando a uma freqncia mxima de 66MHz, porm possuindo 4 modos de operao: x1, x2, x4 e x8; USB (Universal Serial Bus): um barramento onde atravs de um plugue na placa-me pode-se ligar todos os perifricos externos (at 127). Passvel de cascateamento ou instalao de HUBs utiliza duas taxas de transferncia: 12Mbits e 1,5Mbits. Para muitos, no exatamente um barramento, mas uma porta serial de alta velocidade; Firewire (IEEE 1394): a idia semelhante a do USB, porm com diferente foco: pretende substituir o padro SCSI (Small Computer System Interface). Com taxa de transferncia maior que o USB (200 a 400Mbits), poder num futuro prximo ser utilizado na conexo de discos rgidos; IrDA (Infrared Developers Association): um barramento sem fios, onde a comunicao feita atravs de luz infravermelha. Pode-se ter at 126 perifricos conversando em uma mesma porta. Comum em notebooks pode estar diretamente na placa-me ou conectado a porta serial. Existem dois padres, com taxas de transferncia de 115200bps e 4Mbps;

Junto com a evoluo dos computadores, o desempenho dos barramentos tambm evolui. Novos barramentos e/ou melhorias nos atuais esto sempre surgindo. Convm lembrar que no desempenho de um computador o que conta no apenas o desempenho do processador ou o barramento local (interligao com a memria). Esses so fatores de extrema importncia, porm todos os componentes auxiliares contribuem para o desempenho gera l.

1.8.1 Barramentos em microcomputadores Para ilustrar o conhecimento sobre a organizao dos barramentos locais e de expanso, vamos tomar como exemplo um microcomputador. A Figura 5 mostra o esquema de barramentos de um microcomputador atual.

Organizao de Computadores Notas de aula

13

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Figura 5 Barramentos em um microcomputador A comunicao dos barramentos de expanso com o local realizada por um circuito chamado ponte (no necessariamente apenas uma, mas podendo conter tambm buffers), que faz parte dos circuitos de apoio da placa-me (chipset). Organizao de Computadores Notas de aula 14

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Os componentes on-board, normalmente so ligados ao barramento local, por uma extenso do barramento de expanso, chamado barramento X (eXtension bus). Assim, mesmo que o perifrico esteja integrado a placa-me, ele tratado como se estivesse conectado a um dos slots de expanso.

Organizao de Computadores Notas de aula

15

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

2 CPUO processador (CPU) o componente vital de um sistema de computao, responsvel pela realizao das operaes de processamento (clculos matemticos, entre outros) e de controle durante a execuo de um programa. Um programa, para ser efetivamente executado por um processador, deve ser constitudo de uma srie de instrues (em linguagem de mquina). Estas instrues devem estar armazenadas em posies sucessivas da memria principal. A execuo seqencial, ou seja, se a instruo executada est na posio x, a prxima instruo a ser executada dever estar na posio x+1. A seqncia de funcionamento de uma CPU conhecida como ciclo Busca Decodificao Execuo de Instrues. A Figura 6 ilustra este ciclo. INICIO Um elemento dentro do processador, denominado contador de instrues (PC Program Counter), contm a posio da prxima instruo a ser executada. Quando uma seqncia de execuo de instrues tm inicio, a instruo cujo endereo est no contador de instrues trazida da memria para uma rea chamada registrador de instrues (RI). Este processo conhecido como busca da instruo. A instruo interpretada por circuitos de decodificao que fazem com que sinais eletrnicos sejam gerados no processador como resultado do valor do campo de operao, isto , decodificam a informao correspondente operao a ser realizada. Esses sinais resultam na execuo da instruo, isto , aplicao da funo contida pela operao sobre os operandos. Quando a execuo de uma instruo terminada, o contador de instrues atualizado para o endereo da memria da prxima instruo (x + 1).

Buscar a prxima Instruo

Interpretar a instruo (decodificar)

Executar a Instruo

TRMINO Figura 6 Ciclo bsico de instruo

A seqncia de instrues pode mudar como resultado de uma instruo que direciona um desvio (tambm chamado de salto, jump). Instrues deste tipo contm no campo operandos o endereo da prxima instruo a ser executada. Elas causam mudanas no fluxo do programa como resultado das condies dos dados. O desvio condicional representado por uma instruo de alto nvel IF traduz-se em algum tipo de instruo de desvio. As atividades realizadas pela CPU podem ser divididas em duas grandes categorias funcionais: Funes de processamento; e Funes de controle.

Organizao de Computadores Notas de aula

16

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto A funo de processamento se encarrega de realizar as atividades relacionadas com a efetiva execuo de uma operao, ou seja, processar (executar a instruo) de instrues. O principal componente da CPU que realiza a funo de processamento a ULA (unidade lgica e aritmtica), sendo que ao dela complementada pelo uso de registradores de processamento. A funo de controle exercida pelos componentes da CPU que se encarregam de atividades de busca, interpretao e controle da execuo das instrues, bem como do controle da ao dos demais componentes do sistema de computao (memria, entrada/sada). O principal componente da CPU responsvel pela funo de controle a UC (unidade de controle).

2.1 ComponentesAs funes de controle e processamento necessitam de componentes, compostos de circuitos digitais, para sua realizao. Estes componentes so interligados interna e externamente atravs de barramentos. A figura abaixo ilustra os principais componentes de um processador atual.

Figura 7 Componentes da CPU A figura ilustra uma CPU de um microprocessador simples, justamente para facilitar as primeiras explicaes sobre o assunto, porm os seguintes componentes, pelo menos, devem fazer-se presentes em um microprocessador: UAL: Unidade Lgica e Aritmtica (ULA) responsvel por efetuar operaes matemticas com os dados. Estas operaes podem ser, por exemplo, soma, subtrao, multiplicao, diviso, operaes lgicas AND, OR, XOR, NOT, deslocamento de bits direita e esquerda, incremento e decremento, comparaes; ACC: registrador(es) auxiliares onde sobre os quais a ULA realiza suas operaes. Quando nico, todas as instrues o utilizam, como fonte e destino; CI (PC): Contador de instrues (Program Counter). Registrador cuja funo especfica armazenar o endereo da prxima instruo a ser executada; RDM: Registrador de dados da memria; REM: Registrador de endereos da memria; MP: Memria principal. Local onde ficam dados e instrues j/a serem executadas; 17

Organizao de Computadores Notas de aula

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto RI: Registrador de instrues: tem a funo especfica de armazenar a instruo a ser executada; Relgio: o dispositivo gerador de pulsos. A quantidade de vezes em que este pulso bsico se repete define a unidade de medida do relgio chamado freqncia, usada tambm para definir velocidade na CPU; UC: Unidade de controle. o dispositivo mais complexo da CPU, pois alm de controlar a ao da ULA, possui a lgica necessria para realizar a movimentao de dados e instrues de e para a CPU, atravs de sinais de controle emitidos em instantes de tempo programados. Os sinais de controle ocorrem em vrios instantes durante o perodo de realizao do ciclo de instrues; Decodificador de instrues: um dispositivo utilizado para identificar as operaes a serem realizadas relacionadas instruo a ser executada; Barramentos: utilizados para a comunicao entre os dispositivos, possuem trs tipos especficos: dados, endereos e controle.

2.1.1 Funo Processamento Processar o dado executar com ele uma ao que produza algum tipo de resultado. Esta , pois, a atividade-fim do sistema computacional: ele existe para processar dados. Entre as tarefas comuns a esta funo podem ser citadas as que realizam: Operaes aritmticas: somar, subtrair, multiplicar, dividir, ...; Operaes lgicas: and, or, xor, not,... ; Movimentao de dados: memria-CPU, CPU-memria, registrador-registrador, ...; Desvios: alterao da seqncia de execuo das instrues; Operaes de entrada ou sada;

O principal dispositivo da CPU para a realizao das atividades de processamento a ULA. Ela utiliza os registradores de propsito gerais (ACC) como auxiliares funo de processamento. A ULA (UAL) um aglomerado de circuitos lgicos e componentes eletrnicos simples que, integrados, realizam as funes acima citadas. Ela pode ser uma pequena parte da pastilha do processador, usada em pequenos sistemas, ou pode compreender um considervel conjunto de componentes lgicos, ocupando mais espao na pastilha do processador. A capacidade de processamento de uma CPU em grande parte determinada pelas facilidades embutidas no hardware da ULA1 para realizar as operaes matemticas projetadas. Um dos elementos fundamentais a definio do tamanho da palavra. O valor escolhido no projeto de fabricao da CPU ir determinar o tamanho dos elementos ligados a rea de processamento (ULA, barramentos internos e registradores). Um tamanho maior ou menor de palavra acarreta, sem dvida, diferenas fundamentais no desempenho da CPU, e, por conseguinte, do sistema como um todo. Os seguintes componentes possuem influncia direta do tamanho da palavra: Influncia no desempenho devido ao maior ou menor tempo de execuo com operaes matemticas na ULA; Influncia no desempenho devido ao tamanho escolhido para o barramento interno e externo da CPU. Em geral, Obtm-se o mximo de desempenho quando a largura (tamanho em bits) do barramento de dados , no mnimo, igual ao tamanho da palavra (barramento interno);

1

A ULA composta exclusivamente de hardware.

Organizao de Computadores Notas de aula

18

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto Influncia tambm na implementao fsica do acesso memria. Embora atualmente a capacidade das memrias seja medida bytes (ou conjunto de), o movimento de dados entre CPU e memria normalmente medido em palavras (barramento externo).

2.1.2 Funo de Controle A rea de controle de uma CPU a parte funcional que realiza as atividades de: (uma de cada vez, geralmente) a) b) c) Busca da instruo que ser executada, armazenando-a em um registrador especialmente projetado para esta atividade (RI); Interpretao das aes a serem desencadeadas com a execuo da instruo (se uma soma ou subtrao, por exemplo, como realiz-las); e Gerao de sinais de controle apropriados para realizao das atividades requeridas para a execuo propriamente dita da instruo identificada. Esses sinais de controle so enviados aos diversos componentes do sistema, sejam internos da CPU (como ULA, por exemplo) ou externos (como a memria);

A rea destinada funo de controle projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado. Uma analogia pode ser feita com os seres humanos, imaginando que a rea de controle o crebro que comanda o ato de andar, enquanto a rea de processamento so os msculos e ossos das pessoas que realizam efetivamente o ato. Os nervos podem ser relacionados com os barramentos entre os diversos elementos envolvidos. Os dispositivos bsicos que fazem parte da rea de controle so: Unidade de controle (UC); Decodificador de instrues; Registrador de instrues (RI); Contador de instrues (program counter PC); Relgio ou clock; Registrador de endereos da memria (REM); Registrador de dados da memria (RDM).

O componente vital para as funes de controle a Unidade de Controle (UC). Ela recebe como entrada o valor do registrador de instrues e decodifica-o (atravs do decodificador de instrues). Para cada cdigo de instrues ele gera uma seqncia de sinais diferentes, ativando os circuitos correspondentes para cada uma das tarefas necessrias para a busca e execuo da instruo a ser executada. Cada sinal de controle comanda uma microinstruo (que denota uma tarefa a ser executada para a execuo de uma operao). Uma microintruo pode ser responsvel pela realizao de uma carga em um registrador, uma seleo de um dado para entrada em um determinado componente, uma ativao da memria, a seleo de uma operao da ULA ou a habilitao de um circuito lgico, para citar alguns exemplos. Existem vrias formas de implementaes (organizaes) das unidades de controle. As duas usuais so:

Organizao de Computadores Notas de aula

19

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto Organizao convencional: a unidade de controle composta por componentes digitais como flip-flops, contadores e decodificadores, que geram, seqencialmente e nos instantes de tempo adequados, todos os sinais de controle necessrios ativao da unidade operacional; Organizao microprogramada: em uma unidade de controle microprogramada, os sinais de controle esto armazenados numa memria especial chamada memria de controle. Vrios sinais de controle so buscados a cada acesso a memria de controle;

2.1.3 Barramentos Internos Os barramentos internos interligam os componentes do processador para troca de sinais e valores. Assim como no caso da comunicao processador/memria, so trs os barramentos internos: Barramento Interno de Dados: Usado na transferncia de dados entre os registradores e entre os registradores e a ULA. A sua largura define o tamanho da palavra da mquina; Barramento Interno de Endereos: Permite a transferncia de endereos entre os registradores; Barramento Interno de Controle: Transmite os sinais do bloco de controle que comandam o funcionamento de cada circuito do processador.

2.2 Ciclo de instruoBusca, decodificao e execuo de instrues so tarefas bsicas realizadas por um processador. Caracterizam um ciclo, pois as tarefas so executadas repetidamente, sempre e sempre, at que seja decodificada uma instruo que indique parada ao computador. O fluxograma do ciclo de instruo anteriormente mostrado ilustra o mesmo de forma simplificada. Um dos pontos omitidos o incremento do PC, funo indispensvel ao funcionamento de qualquer sistema de computao. Outro ponto tambm apresentado de forma resumida so os acessos memria. Tanto as instrues como os dados ficam armazenados na memria e portanto existem buscas de operandos na memria e clculo do endereo da prxima instruo a ser executada. A Figura 8 ilustra mais alguns detalhes do ciclo de instruo.

Organizao de Computadores Notas de aula

20

Sistemas de Informao CST / UPF Inicio

Professor: Marcelo Trindade Rebonatto

Buscar a prxima instruo

Incrementar o PC

Decodificao do Cdigo da Operao

Tem Operando? No

Sim

Clculo de endereo do operando

Buscar e armazenar o operando

Executar a operao Figura 8 Ciclo detalhado de instruo Este ciclo de instruo pode ser descrito em LTR (Linguagem de Transferncia entre Registradores), de modo que possamos acompanhar sua realizao com a movimentao de informaes entre os componentes da CPU. A Figura 9 ilustra este Algoritmo de funcionamento. Iniciar CICLO RI MEM[PC] PC PC + 1 Interpretar o Cdigo da Operao Enquanto houver operandos no carregados Buscar Operandos PC PC + 1 Executar a instruo Ir para CICLO Fim Figura 9 Algoritmo para execuo de instrues

Organizao de Computadores Notas de aula

21

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto Inicialmente, o contedo de memria no endereo da prxima instruo a ser executada (PC), tem seu valor transferido para RI. Logo aps, o valor de PC incrementado para o endereo da prxima instruo a ser executada. O decodificador de instrues ir receber os bits referentes ao Cdigo da Operao e decodific-lo, dando entrada na UC este valor. A UC gera os sinais necessrios para a execuo da Instruo. Detalhando ainda mais, pode-se elencar uma srie de passos a serem realizados em cada parte do ciclo. So eles: a) Busca Copiar o PC para o registrador de endereos da memria (REM); Ler uma instruo da memria; Copiar o registrador de dados da memria (RDM) para o registrador de instrues (RI); Atualizar o contador de programa (PC); b) Decodificao Nesta fase determinada qual instruo deve ser executada; c) Execuo Clculo de endereo dos operandos (se houver); Busca dos operandos na memria (se houverem); Seleo da operao a ser realizada pela ULA; Carga de registradores; Escrita de operandos na memria; Atualizao do PC (somente no caso das instrues serem desvios)

2.3 Medidas de DesempenhoA medida geral de desempenho de um sistema de computao depende fundamentalmente da capacidade e velocidade de seus diferentes componentes, da velocidade com que estes componentes se comunicam entre si e do grau de compatibilidade entre eles (p. ex., se a velocidade da CPU de um sistema muito maior que a da memria). Considerando a existncia de tantos fatores que influenciam o desempenho de um sistema de computao, desenvolveram-se diversos meios de medir seu desempenho, entre os principais relacionados exclusivamente com a CPU destacam-se: MIPS; e FLOPS.

O desempenho dos processadores, em geral, medido em termos de sua velocidade de trabalho; como o trabalho da CPU executar instrues, criou-se a unidade MIPS Milhes de instrues por segundo. O MIPS muito questionado, pois mede apenas a execuo de instrues, sendo que existem diferentes instrues, com tempos de execuo distintos, como por exemplo, multiplicao de nmeros inteiros e multiplicao de nmeros reais (ponto flutuante). Em contraste com o MIPS, FLOPS Operaes de ponto flutuante por segundo, mede basicamente o desempenho da ULA, analisando apenas as instrues mais complexas (as que envolvem ponto flutuante). Hoje em dia, os microprocessadores esto na faixa de MFLOS (milhes de flops) sendo encontradas mquinas com GFLOPS (supercomputadores). O FLOPS foi inicialmente criado para ser a Organizao de Computadores Notas de aula 22

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto medida de estaes de trabalho e de supercomputadores, mas atualmente tambm utilizado em microcomputadores. Quando se trata da recuperao ou escrita de dados na memria, o tempo de acesso a unidade de medida apropriada, estando relacionada velocidade de cada componente e a do canal (barramento(s)) de interligao entre CPU e memria. Tempo de resposta uma medida ligada ao desempenho global do sistema e no de um ou outro componente. Trata-se do perodo de tempo gasto entre o instante em que o usurio iniciou uma solicitao e o instante em que o sistema apresentou ao usurio a resposta.

2.4 Mais de uma instruo por cicloDescrevendo o funcionamento da CPU na realizao de seus ciclos de instruo foi observado que, embora o ciclo de instruo seja composto de vrias etapas, ele realizado de forma seqencial, isto , uma etapa se inicia aps a concluso da etapa anterior. Desta forma enquanto a fase de decodificao da instruo estava sendo executada, a busca (RDM e REM) e a execuo (ULA) estavam ociosas. A situao acima leva a crer que a CPU no pode executar mais de uma instruo por ciclo, mas isso no verdade. Graas aos avanos da tecnologia existem CPUs que executam mais de uma instruo por ciclo, sendo chamadas de superescalares.

2.4.1 Pipeline O pipeline usa a metodologia de uma linha de montagem, onde a fabricao de um produto qualquer (carro, bicicleta, ...) subdividida em partes (implementadas em setores), nas quais tarefas independentes esto sendo desenvolvidas ao mesmo tempo. A Figura 10 exemplifica um pipeline na produo em serie de bicicletas.

Figura 10 Linha de montagem A diviso das tarefas resultou em 5 etapas. Na primeira feita a estrutura da bicicleta com pedais e correia, na segunda instalada a roda dianteira, na terceira colocada a roda traseira, na quarta colocado o assento e, por fim, na quinta e ltima etapa colocado o guidom. conveniente lembrar que o tempo para a produo de uma bicicleta no diminui, mas o tempo entre bicicletas sim: a primeira Organizao de Computadores Notas de aula 23

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto bicicleta demora cinco unidades de tempo para ser produzida, mas logo a seguir, em cada unidade de tempo uma nova bicicleta produzida (se no houverem problemas). O pipeline uma tcnica de implementao de CPU onde mltiplas instrues esto em execuo ao mesmo tempo. O processador construdo com diversos estgios distintos, cada um responsvel pela execuo de uma parte da instruo e possuindo o seu prprio bloco de controle. Assim que um estgio completa sua tarefa com uma instruo passa esta para o estgio seguinte e comea a tratar da prxima instruo. Uma vez que diversas instrues so executadas ao mesmo tempo, obtm-se um acrscimo no desempenho do processador. No caso dos processadores, pode-se, por exemplo, dividir a execuo de uma instruo em 5 estgios bsicos: 1. Busca da Instruo (fetch) 2. Decodificao (decode) 3. Busca do Operando (operand fetch) 4. Execuo (execute) 5. Armazenamento do Resultado (store) A tabela 4 mostra uma simulao da execuo de instrues em uma CPU com 5 estgios. Tabela 4 Exemplo de instrues em um pipeline de 5 estgios Busca Busca Tempo Decodificao Execuo Armazenamento Instruo Operando 1 I1 2 I2 I1 3 I3 I1 I2 4 I4 I3 I2 I1 5 I5 I4 I3 I2 I1 6 I6 I5 I4 I3 I2 7 I7 I6 I5 I4 I3 N ... ... ... ... ... Numa situao ideal, a acelerao seria igual ao nmero de estgios do pipeline. Porm como alguns estgios so mais lentos que outros e devido ao tempo necessrio para encher o pipeline e esvazi-lo, isto no acontece. Dentre os principais problemas com o desempenho dos pipelines relaciona-se: Conflitos Estruturais: ocorrem quando dois ou mais estgios do pipeline tentam acessar o mesmo dispositivo de hardware simultaneamente. O principal exemplo deste tipo o conflito pela memria, quando os estgios de busca da instruo, busca do operando e armazenamento de resultados podem tentar acessar a memria no mesmo ciclo de clock. Este caso pode ser minimizado com o uso de memria separada para dados e instrues. Para outros casos de conflitos uma soluo poderia ser a duplicao do hardware envolvido, se possvel; Conflito por Dados: Acontecem quando instrues consecutivas fazem acesso aos mesmos operandos e a execuo de uma instruo depende da execuo da outra. Um destes problemas, comum em pipelines, chamado de Dependncia Verdadeira de dados;

Conflitos de Controle: Ocorrem com instrues de desvio, fazendo com que instrues j buscadas sejam descartadas e bolhas sejam inseridas no pileline. Os incondicionais podem ser trabalhados atravs da execuo especulativa, enquanto os condicionais devem ser trabalhados atravs de predio (esttica ou dinmica).] 24 Organizao de Computadores Notas de aula

Sistemas de Informao CST / UPF 2.4.2 Unidades de execuo especializadas

Professor: Marcelo Trindade Rebonatto

Processadores superescalares possuem vrias unidades de execuo permitindo que diversas instrues sejam executadas ao mesmo tempo. Um aspecto importante neste tipo de processador que como mais de uma instruo executada simultaneamente e devido a tempos de execuo diferente entre elas ou a conflitos ocorridos, pode se dar execuo de instrues fora da ordem original do programa. A Figura 11 ilustra este tipo de organizao de CPUs. Busca Operandos Busca Instrues Armazenamento do resultado 25 Execuo de Inteiros Ponto Flutuante Desvios Decodificao

Figura 11 Processadores superescalares Estes processadores possuem unidades funcionais especficas para cada tipo de instruo. As unidades funcionais podem internamente ser divididas em vrias etapas cada uma. Desta forma, tm-se pipelines distintos: para execuo de instrues envolvendo nmeros inteiros, reais e desvios.

Organizao de Computadores Notas de aula

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

3 MemriaUma das partes mais importante do computador a memria. O processador apenas recebe dados e os processa segundo alguma pr-programao, logo aps devolvendo-os, no importando de onde vem e para onde vo. Os programas a serem executados e os dados a serem processados (inclusive os que j o foram) ficam na memria, visto que a rea para armazenamento de dados do processador pequena. H basicamente dois tipos de memria: ROM (Read-Only Memory): S permitem a leitura de dados e so lentas; em compensao no perdem seu contedo quando desligadas; RAM (Random Access Memory): So rpidas, permitem leitura e escrita, porm, seu contedo perdido quando so desligadas. Dentro da ROM existem basicamente 3 programas: BIOS, POST e SETUP. comum acontecer confuso em relao aos nomes, sendo usado atualmente o termo BIOS como algo genrico. Para acessar o programa de configurao, basta acessar um conjunto de teclas durante o POST (geralmente na contagem da memria). Na maioria das mquinas, basta apertar a tecla DEL ou Delete, porm, esse procedimento pode variar de acordo com o fabricante. Quando o computador ligado, o POST (Power On Self Test) entra em ao, identificando a configurao instalada, inicializando os circuitos da placa-me (chipset) e vdeo, e executando teste da memria e teclado. Aps, ele carrega o S.O. de algum disco para a memria RAM, entregando o controle da mquina para o S.O. Na RAM, ficam armazenados o S.O., programas e dados que estejam em processamento. O processador acessa a RAM praticamente o tempo todo. Atualmente a memria RAM, formada por circuitos de memria dinmica (DRAM - Dynamic RAM), mais lenta que o processador, ocasionando wait states, at que a memria possa entregar ou receber dados, diminuindo assim o desempenho do micro. Memrias mais rpidas amenizam este problema, assim como a utilizao de cache de memria. A cache uma memria esttica (SRAM - Static RAM) de alto desempenho, utilizada para intermediar a comunicao com o processador. Na maioria das vezes o processador no acessa o contedo da RAM, mas sim uma cpia que fica na cache. A cache utilizada desde o 386DX, e a partir dos 486, todos os processadores passaram a conter uma quantidade de memria esttica, conhecida como L1 ou interna. A cache fora do processador conhecida como L2 ou externa. Hoje, existem processadores com mais nveis de cache. Uma ressalva que os processadores a partir do Pentium II possuem a L2 dentro da caixa que envolve o processador, no fazendo mais sentido as denominaes interna e externa. A DRAM formada por capacitores, que so fcies de construir, baratos e pode-se aglomerar muitas clulas de memria em pequeno espao fsico. O problema que aps algum tempo, eles descarregam, dessa forma dever haver um perodo de recarga, chamado refresh. Durante este perodo, a memria geralmente no pode ser acessada, limitando assim com uma imposio fsica sua velocidade. Por outro lado, a SRAM formada por caros circuitos digitais chamados flip-flops, que armazenam dados sem a necessidade de ciclos para refresh. Um flip-flop, por ser um circuito completo, maior que um capacitor, conseqentemente, onde cabem muitos capacitores tm-se somente alguns flip-flops. Devido ao preo, tamanho e consumo, no possvel que um micro tenha toda sua RAM de memria esttica, ento a partir dos 386, utiliza-se um modelo hbrido com SRAM como cache e DRAM como RAM propriamente dita. A Tabela 5 mostra as principais caractersticas das memrias DRAM e SRAM.

Organizao de Computadores Notas de aula

26

Sistemas de Informao CST / UPF Tabela 5 Comparativo entre DRAM e SRAM DRAM Preo Barata Integrao Fcil (muita capacidade em pouco espao) Consumo Baixo Velocidade Lenta, pois necessita de refresh

Professor: Marcelo Trindade Rebonatto SRAM Cara Difcil (pouca capacidade em muito espao) Alto Rpida

Dentro da memria, os dados so organizados em uma matriz, composta de linhas e colunas, tendo seus endereos crescendo da esquerda para direita (coluna) e de e cima para baixo (linha). Quando um endereo de memria necessrio, o circuito que controla acessos memria recebe o endereo a ser buscado, dividindo-o em 2, gerando assim o valor da linha e da coluna (geralmente pela utilizao dos bits mais significativos e menos significativos).

3.1 Organizao e hierarquia da memriaA memria deve ser antes de tudo organizada, para que o processador possa saber onde buscar um dado e onde colocar outro j processado. Para isso, ela organizada em pequenas reas, chamadas endereos. Da mesma forma que um grande armrio, repleto de gave tas, sendo cada uma delas diferenciada atravs de um nmero, onde dentro de cada gaveta podemos colocar uma informao. Cada gaveta assemelha-se a um endereo de memria. Por motivos histricos e de retrocompatibilidade a unidade de referncia memria continua sendo o byte, mesmo com os processadores atuais acessando a memria a 32 ou 64 bits por vez. Caso a RAM se esgote, o processador transfere o contedo atual da RAM para um arquivo em disco, chamado arquivo de troca (swapping), liberando espao na RAM. O contedo deste arquivo colocado de volta na RAM quando algum dado nele contido for solicitado sendo o processo conhecido como memria virtual. Quanto maior a quantidade de memria RAM, menor a probabilidade de arquivos de trocas, aumentando assim o desempenho do micro uma vez que o acesso ao arquivo de troca (H.D.) bem mais lento que a memria RAM. Dividindo as memrias em uma hierarquia, o objetivo que se deseja alcanar um sistema de memria com desempenho prximo ao da memria mais rpida e custo por bit prximo ao da memria mais barata. Processador Cache Memria Principal Memria Secundria

Figura 12 Hierarquia de acesso memria A memria secundria geralmente memria em disco magntico, a memria cache tradicionalmente uma memria esttica (SRAM) enquanto a principal, ou simplesmente RAM, uma memria dinmica (DRAM). Ao executar uma instruo, a CPU no manipula dados da memria, nem mesmo da cache. Ao invs disso, ela processa os dados j carregados em registradores; desta forma, alguns autores colocam os registradores como integrantes da hierarquia de memria. A Figura 13 ilustra uma hierarquia de memria incluindo os registradores e colocando informaes em relao a capacidade , custo e tempo de acesso.

Organizao de Computadores Notas de aula

27

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Figura 13 Hierarquia de memria A representao em forma de pirmide facilita a compreenso pois no topo esto os registradores, de acesso quase imediato com capacidade reduzida, enquanto na base encontra-se a memria secundria, disponvel em grandes quantidades porm de acesso mais lento.

3.2 Tempo e ciclo de acessoQuando o processador ordena o armazenamento de um dado na memria ou solicita que a memria devolva um dado armazenado, isto no realizado imediatamente. Essa demora chamada de tempo de acesso, e uma caracterstica de todas as memrias. As DRAM possuem tempo de acesso entre 70 e 50ns, enquanto as SRAM apresentam tempo de acesso menor que 20ns (chegando atualmente a 5ns). Em memrias FPM, EDO e BEDO, o tempo de acesso vem estampado na nomenclatura do circuito integrado, como sufixo. O 6 em uma memria di nmica significa que esta tem 60 ns de tempo de acesso. Nas memrias SDRAM, por serem sincronizadas com o barramento local, o que h escrito NO seu tempo de acesso, mas sim sua freqncia mxima de operao, expressa em nanosegundos. Outro fator a ser levado em conta nas memrias SDRAM o nmero de pulsos de latncia. O processador gasta, pelo menos, 2 pulsos de clock para acessar a memria RAM (clock externo, ou do barramento local). Um problema que a velocidade do barramento local aumentou sem uma reduo proporcional no tempo de acesso das memrias. Para resolver este problema so utilizados wait states, para realizar um ciclo de acesso. Um wait state um pulso extra de clock adicionado ao ciclo de leitura ou escrita da memria. Como o ciclo de acesso memria RAM de 2 pulsos de clock, com a adio de 1 wait state, o ciclo passa ater ter 3 pulsos. A adio de wait states reduz o desempenho do micro; desta forma a soluo para este impacto o uso da memria esttica (cache), deixando o processador conversando com a cache sem wait states, em pelo menos 80% de seu tempo.

3.3 Tecnologias de memria RAMMesmo no podendo baixar o tempo de acesso da memria dinmica, sobretudo por causa da necessidade do refresh, desenvolveram-se diversas tecnologias de construo de circuitos de memria Organizao de Computadores Notas de aula 28

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto RAM. Embora tenham o mesmo tempo de acesso, circuitos com construo diferente podem apresentar desempenhos diferentes. As principais tecnologias so: FPM (Fast Page Mode): Ela retm o valor da ltima linha acessada, assim para os acessos realizados na mesma linha o controlador no necessita enviar o endereo da linha. O resultado que o primeiro acesso demorar o tempo normal e os seguintes na mesma linha sero mais rpidos. o mais velho e menos sofisticado tipo de RAM, usada em micros 486 e antigos Pentium, usando barramentos de at 66MHz. Os ciclos de acessos no podem ser menores do que 5-3-3-3 (5 pulsos para o primeiro elemento e 3 pulsos para cada um dos 3 dados seguintes), na prtica 6-3-3-3; EDO (Extended Data Output): Retm os dados na sada da memria mesmo quando o sinal de leitura desabilitado. Por conseqncia, o prximo endereo poder comear a ser enviado enquanto os dados do endereo anterior ainda esto na sada. Possui ciclo tpico de acessos no menores que 5-2-22 (na prtica 6-2-2-2), sendo teoricamente 20% mais rpida que a FPM. Foram introduzidas com o Pentium; BEDO (Burst Extended Data Output): semelhante a EDO, com a diferena de possuir integrado um contador de endereos. Na prtica, s necessrio enviar os valores de linha e coluna iniciais que ela devolver tambm os 3 dados seguintes automaticamente. Possui ciclo de acesso desta forma de 5-1-1-1, sendo teoricamente mais rpidas que as FPM (40%) e EDO (25%); SDRAM (Synchronous Dynamic RAM): Ao contrrio das anteriores, uma memria sncrona, utilizando o barramento local para comandar os circuitos internos, conseguindo trabalhar com valores acima de 66MHz. Trabalha em pipeline, disponibilizando um segundo acesso antes do final do primeiro, por este motivo o ciclo tpico x-1-1-1, onde x varia de acordo com o chipset. A caracterstica mais importante a sua capacidade de trabalhar com freqncias mais elevadas mantendo o mesmo desempenho (nas FPM e EDO quando se aumenta a freqncia, deve-se aumentar o nmero de wait states). Possui diversas modificaes internas, como a presena de 2 matrizes, o que permite 2 que acessos diferentes sejam iniciados em paralelo. So encontradas com velocidade de 15, a 7 ns, teoricamente funcionando a 125 MHz, mas na prtica, dificilmente passam de 83 MHz (conhecidas como PC-66). No sendo adequadas para placas que usam barramento de 100 MHz; PC-100: So memrias SDRAM com vrios aperfeioamentos, que permitiram o funcionamento estvel com bus de 100MHz As memrias de 100MHz foram criadas antes dos processadores com barramento externo de mesmo valor. Quando eles chegaram ao mercado, a Intel descobriu que as memrias para 100MHZ no funcionavam corretamente a essa freqncia, realizando assim as mudanas para seu correto funcionamento; PC-133: O limite terico da memria SDRAM 125MHz. Entretanto, com o avano tecnolgico foi possvel desenvolver memrias SDRAM que conseguem trabalhar a 133MHz, chamadas PC-133; DDR-SDRAM (Double Data Rate SDRAM): Um avano sobre a SDRAM que suporta transferncias de dados duas vezes por pulso (na subida e na descida do pulso), dobrando o desempenho da SDRAM tradicional. Tambm chamada de SDRAM II; ESDRAM (Enhanced SDRAM): Consiste de uma SDRAM com uma pequena quantidade de memria esttica dentro do circuito, criando uma pequena cache. Diminui a latncia permitindo que trabalhe com freqncias de at 200MHz; RDRAM (Rambus DRAM): Ao contrrio das tecnologias anteriores de memria, a RDRAM baseada em protocolo, utilizando um padro de barramento proprietrio. Necessita de um barramento curto entre a ponte-norte e os mdulos de memria. Esse barramento trabalha com apenas 16bits, mas a uma freqncia mnima de 400MHz, atingindo uma taxa de 800MB/s. Como a RDRAM transfere dados tanto na subida do clock como na descida, a taxa dobrada, atingindo 1,6GB/s. O controlador de memria Rambus um conversor de protocolos e a arquitetura interna diferente das existentes, 29

Organizao de Computadores Notas de aula

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto principalmente por usar 16 matrizes de capacitores ao invs de 1 ou 2, porm ainda apresenta problemas de latncia; SLDRAM (SyncLink DRAM): Assim como a RDRAM baseada em protocolo, porm de arquitetura aberta. Pode operar a 200MHz, a uma taxa de transferncia de 1,6GB/s, porm pode entregar dados tanto na subida como na descida do pulso, assim sua taxa pode chegar a 3,2GB/s. mais barata que a RDRAM, possui melhor desempenho e menor latncia.

3.4 Mdulos de memriaTambm estaro presentes nas Placas-Me os slots para a conexo dos mdulos de circuitos eletrnicos que correspondem memria, indispensveis para o funcionamento do sistema computacional. Inicialmente a memria RAM era composta de pequenos chips DIP (Dual In Parallel) encaixados na placa me. A instalao destes mdulos era muito trabalhosa, e para facilitar a vida dos usurios (e aumentar as vendas) os fabricantes desenvolveram mdulos de memria: placa de circuito impresso onde os circuitos integrados de memria se encontravam soldados. Basta encaixar a placa a placa-me do micro. Os principais mdulos so: SIPP (Single in Line Pin Package): foi o primeiro mdulo a ser criado e sua aparncia lembrava um pente (da o apelido pente de memria). Os terminais eram similares aos usados nos DIP, causando mau contanto e danificao. Eram encontrados em verses de 256KB, 1MB e 4MB, todos de 8bits; SIMM30-(Single in Line Memory Module): basicamente um SIPP com novo encaixe, semelhante ao dos slots e no permite que os mdulos sejam colocados invertidos. Eles tm 30 terminais, operando a 8bits em verses de 256KB, 1MB e 4MB; Possui mdulos com e sem paridade; SIMM-72 (Single in Line Memory Module): possuem 72 terminais e trabalham com 32 bits, tendo sido criados para uso com 486 e superiores. So encontrados com diversas capacidades, sendo as mais usuais de 4MB, 8MB, 16MB e 32MB, com e sem paridade. Para saber se o mdulo tem ou no paridade, basta contar o nmero de circuitos: se for mpar ele possui paridade (em mdulos com dupla-face, contar somente os circuitos de uma face); DIMM (Double in Line Memory Module): possuem 168 terminais (84 DE CADA LADO) e trabalham com 64bits. So encontrados com diversas capacidades acima de 8MB, com e sem paridade. Os primeiros eram montados com FPM ou EDO e atualmente utilizam SDRAM ou superiores. Ao contrario dos anteriores, possui contatos independentes nas duas faces;

Organizao de Computadores Notas de aula

30

Sistemas de Informao CST / UPF RIMM (Rambus In Line Memory Module): padronizado pela Rambus para uso da RDRAM no micro. So fisicamente semelhantes as DIMM, porm no possvel o encaixe de mdulos RIMM em soquetes DIMM e vice-versa;

Professor: Marcelo Trindade Rebonatto

Para conhecer a capacidade de armazenamento de cada mdulo assim como suas demais caractersticas deve-se consultar o databook (livro com dados tcnicos) do fabricante. Na prtica, o monitor mostra o tamanho atravs da contagem de memria, no POST. importante salientar que mdulo de memria (SIMM, DIMM, RIMM) no tem relao com a tecnologia usada nos circuitos (FPM, EDO, SDRAM). nos mdulos que os circuitos so soldados. Por exemplo, podemos ter um mdulo SIMM-72 que utiliza circuitos FPM ou EDO.

3.5 Memrias do tipo ROMH muito tempo, os sistemas de computao utilizam uma parte do espao de endereamento da memria principal com memrias do tipo ROM. Um exemplo tpico o dos microcomputadores do tipo PC, que vm de fbrica com um conjunto de rotinas bsicas armazenadas em ROM, denominadas em conjunto de BIOS (Basic Input/Output System, sistema bsico de entrada/sada). Existem basicamente quatro tipos de memria ROM: ROM (pura); PROM; EPROM; EEPROM;

A memria ROM pura (o termo pura serve apenas para diferenciar das demais) conhecida tecnicamente como programvel por mascara (mask programed), devido ao seu processo de fabricao e escrita dos bits na memria. Na ROM o conjunto de bits inserido durante o processo de fabricao, sendo que aps o trmino da fabricao, a pastilha ROM est completa, com o programa armazenado e nada poder alterar o valor de qualquer de seus bits. Uma variao deste tipo de memria chama-se PROM (programed read only memory). Na realidade, no se trata propriamente de ser programvel, porque no possvel sua reutilizao. Nela, como nas ROM puras, somente possvel gravar os bits desejados um nica vez, porm com a diferena de que a gravao dos bits posterior a fase de fabricao da pastilha, embora deva ser realizada por um dispositivo especial. H outros dois tipos de ROM, desenvolvidos posteriormente, que tm uma particularidade interessante: ainda que se mantenham somente para leitura de programas aplicativos durante uma execuo normal, elas podem ser apagadas e regravadas, sendo portanto reutilizveis. A forma para eliminao dos dados atuais e reprogramao o que diferencia os dois tipos, sendo elas a EPROM (erasable PROM) e EEPROM (electrically ou electronically EPROM), tambm chamada EAROM (electrically alterable ROM). A EPROM pode ser utilizada diversas vezes porque os dados nela armazenados podem ser apagados ao se iluminar a pastilha com luz ultravioleta. A luz deve incidir sobre uma janela de vidro, montada na parte superior da pastilha. Organizao de Computadores Notas de aula 31

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Figura 14 EEPROM Uma vez apagada, a pastilha pode ser reutilizada atravs de um novo processo de queima dos novos bits. Neste tipo de memria, a janela de vidro costuma ser coberta para evitar a eliminao de informaes acidental. A EEPROM ou EAROM, introduz uma caracterstica mais verstil e prtica no processo de reutilizao das ROM: a programao (escrita dos bits), a eliminao de contedo e a reprogramao so efetuadas por controle da CPU. Com a EEPROM programada, as instrues nela armazenadas so retidas indefinidamente at que um sinal para eliminao de contedo seja recebido por um sensor especial.

3.6 Memria cacheParte do problema de limitao de velocidade do processador refere-se diferena de velocidade entre o ciclo de tempo da CPU e o ciclo de tempo da memria principal, ou seja, a MP transfere bits para a CPU em velocidades sempre inferiores s que a CPU pode receber e processar os dados, o que acarreta, muitas vezes, a necessidade de acrescentar-se um tempo de espera para a CPU (wait state). O problema de diferena de velocidade se torna difcil de solucionar apenas com melhorias no desempenho das MP, devido a fatores de custo e tecnologia. Enquanto o desempenho dos microprocessadores, por exemplo, vem dobrando a cada 18/24 meses, o mesmo no acontece com a taxa de transferncia e o tempo de acesso das memrias DRAM, que vm aumentando pouco de ano para ano. Na busca de uma soluo para este problema foi desenvolvida uma tcnica que consiste da incluso de um dispositivo entre a CPU e a MP, denominado de memria CACHE, cuja funo acelerar a transferncia de informaes entre CPU e MP e, com isso, aumentar o desempenho do sistema de computao. A cache um nvel na hierarquia de memria entre a CPU e a memria principal (MP). construda com memria SRAM, que muito mais rpida do que a DRAM, normalmente empregada na construo de MP. A cache fabricada com tecnologia semelhante da CPU e, em conseqncia possui tempos de acesso compatveis, resultando numa considervel reduo da espera da CPU para receber dados e instrues. Como o custo da memria esttica muito alto, a cache normalmente muito menor do que a memria principal (geralmente 1 Mb). Com a incluso da cache pode-se enumerar, de modo simplista, o funcionamento do sistema:

Organizao de Computadores Notas de aula

32

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

1. Sempre que a CPU vai buscar uma nova informao (instrues ou dados), ela acessa a memria cache; 2. Se a informao estiver na cache (chama-se cache hit acerto), ela transferida em alta velocidade (compatvel com a da CPU); 3. Se a informao no estiver na cache (chama-se cache miss falta), ento o sistema est programado para transferir a informao desejada da MP para a cache. S que esta informao no somente da instruo ou dado desejado, mas dele e de um grupo subseqente, na pressuposio de que as instrues/dados do grupo sero requeridas pela CPU em seguida e, portanto, j estaro na cache quando necessrio. A Figura 15 ilustra a troca de informaes entre a CPU, Cache e MP.

Figura 15 Transferncia de dados entre CPU/Cache/MP Para haver algum aumento no desempenho de um sistema de computao com a incluso da memria cache necessrio que haja mais acertos (hits) do que faltas (miss). Isto , a memria cache somente produtiva se a CPU puder encontrar uma quantidade aprecivel de palavras na cache, suficientemente grande para sobrepujar as eventuais perdas de tempo com as faltas, que redundam em transferncia de um bloco de palavras da MP para a cache, alm da efetiva transferncia da informao desejada. A implementao de memrias foi referendada pela existncia muito forte de localidades na execuo dos programas. Existem dois tipos de localidades: a espacial e a temporal. Localidade Temporal: As posies da memria, uma vez acessadas, tendem a ser acessadas novamente num futuro prximo. Normalmente ocorrem devido ao uso de laos de instrues, acessos a pilhas de dados e variveis como ndices, contadores e acumuladores; Localidade Espacial: Se um programa acessa uma palavra de memria, h uma boa probabilidade de que o programa acesse num futuro prximo, uma palavra subseqente ou um endereo adjacente quela palavra que ele acabou de acessar. Em outras palavras, os endereos em acessos futuros tendem a ser prximos de endereos de acessos anteriores. Ocorre devido ao uso da organizao seqencial de programas.

Organizao de Computadores Notas de aula

33

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

O tamanho da cache influencia diretamente no desempenho do sistema, uma vez que para existir um aumento real de desempenho o nmero de acertos deve superar e muito o nmero de faltas. Com uma cache maior, h maior probabilidade de a informao desejada estar contida nela, porm outros fatores tambm devem ser levados em conta, como o tempo de acesso da MP, da memria cache e a natureza dos programas em execuo (principio da localidade). Um fator que influencia diretamente o desempenho da cache a forma de mapeamento dos dados da MP nela. Como o tamanho da cache bem menor que MP, apenas uma parte dos dados da MP pode ser copiada na cache. Existem basicamente trs formas de mapeamento: o associativo, o direto e o set-associativo. Mapeamento completamente associativo: A palavra pode ser colocada em qualquer lugar da cache. Neste caso deve ser armazenado na cache no somente o dado mas tambm o endereo. Para descobrir se a posio procurada est armazenada na cache, feita a comparao simultnea de todos os endereos, caso seja localizado (cache hit) o dado devolvido ao processador. Caso o endereo pesquisado no se encontre na cache (cache miss) a memria principal acessada. Mapeamento direto: Cada palavra deve ser armazenada em um lugar especfico na cache, o qual que depende do seu endereo na memria principal. O endereo dividido em duas partes: Tag e ndice. O ndice usado como endereo na cache. Indica a posio da cache onde pode estar armazenada a palavra. O tag usado para conferir se a palavra que est na cache a que est sendo procurada, uma vez que endereos diferentes, com o mesmo ndice sero mapeados sempre para a mesma posio da cache. Mapeamento set-associativo: O mapeamento set-associativo um projeto intermedirio entre os dois anteriores. Neste caso, existem um nmero fixo de posies onde a palavra pode ser armazenada (pelo menos duas) que chamado um conjunto. Uma cache com um conjunto de duas posies chamada 2-way set-associativa. Como na cache com mapeamento direto, o conjunto definido pela parte do endereo chamada ndice. Cada um dos tags do conjunto so comparados simultaneamente como tag do endereo. Se nenhum deles coincidir ocorre um cache miss.

Outro problema a ser considerado na implementao de uma memria cache a poltica de substituio das palavras. Deve-se responder a seguinte pergunta: Em que local da cache ser colocada a nova linha? A poltica de substituio define qual linha ser tirada da cache para dar lugar a uma nova. No caso do mapeamento direto, cada palavra tem um lugar predefinido, ento no existe escolha. Para o mapeamento completamente associativo, pode-se escolher qualquer posio da cache e no set-associativo, qualquer posio dentro do conjunto definido pelo ndice. As principais polticas de substituio so: Substituio Aleatria: Neste caso escolhida uma posio qualquer da cache aleatoriamente para ser substituda. mais simples de implementar mas no leva em conta o princpio da localidade temporal. First-in First-out: Remove a linha que est a mais tempo na cache. Exige a implementao de uma fila em hardware. LRU - Least Recently Used: Menos recentemente utilizado. Remove-se a linha que a mais tempo no referenciada. Exige implementao de um contador para cada linha. Quando um hit ocorre na linha seu contador zerado enquanto todos os demais so incrementados. Quando for necessrio substituir uma linha, ser retirada aquela cujo contador tiver o valor mais alto.

Organizao de Computadores Notas de aula

34

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto Uma vez que todas as solicitaes feitas a memria so realizadas atravs da cache, caso a CPU fizer a escrita de uma posio que estiver armazenada na cache, se esta alterao no for repassada para a MP, pode-se perder a atualizao quando a linha da cache for substituda. Para evitar este problema podese adotar duas estratgias: Escrita em ambas (Write-through): Cada escrita na cache imediatamente repetida na memria principal; Escrita no retorno (Write-back): As escritas so feitas apenas na cache, mas ela ser escrita na MP quando for substituda. pode-se escrev-la mesmo se no foi alterada ou somente se tiver sido modificada.

Com a poltica write -through pode haver uma grande quantidade de escritas desnecessrias na MP, com natural reduo do desempenho do sistema. J a poltica write -back minimiza esta desvantagem, porm a MP fica potencialmente desatualizada para utilizao por outros dispositivos a ela ligados, como mdulos de E/S, o que os obriga a acessar dados na cache. Uma vez que tanto os dados como as instrues so mantidos na memria principal, ambos tiram proveito da memria cache. Pode-se adotar cache unificada ou separada para cada tipo de contedo. A cache separada possui como vantagem possuir uma Cache de instrues somente de leitura, o que simplifica o circuito e barramento independente ligando cada uma das caches e o processador, o que permite transferncias simultneas. Alm disso, pode-se adotar estratgias diferentes para cada cache (tamanho, organizao, etc.). Por outro lado,a abordagem de cache separada apresenta como desvantagem o fato de que instrues e dados colocados em posies prximas da memria podero estar nas duas caches.

Organizao de Computadores Notas de aula

35

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

4 Unidades de discos e discos removveisComo a memria RAM se apaga quando desligamos o micro, devemos ter outros meios de armazenar dados e programas, de forma que eles possam ser utilizados no futuro. Dados e programas devem estar armazenados em memria secundria, geralmente discos magnticos (disquetes e H.D.) ou ainda meios ticos, disponveis em CD ou DVD. Somente assim, com as informaes armazenadas em um meio no-voltil podero ser recuperadas. Dessa forma, temos praticamente 2 tipos de memria no micro: a principal RAM e a secundria, formada por unidades de disco. Por vezes ainda existe uma referncia a memria terciria, composta de mdias de cpias de segurana (discos ticos, fitas ...). A quantidade de unidades de discos presente num micro comum limitada pelas suas conexes nas controladoras na placa-me (Figura 16), pelo nmero de extenses de fonte de alimentao e pelo endereamento de cada unidade. Usualmente, podemos ter at 2 unidades de disco flexvel (disquete, floppy, ...) e at 4 unidades de H.D. (contando junto s unidades de CD-ROM e DVD).

Figura 16 Controladoras de unidades de disco Atualmente, as controladoras de disco encontram-se on-board (integradas a placa-me), com exceo de micros antigos que usam placas controladoras de unidades de disco IDE plus ou Super-IDE ou controladoras de melhor desempenho como SCSI (algumas placas-me tambm j a disponibilizam on-board).

4.1 Cabos e configuraes fsicasPara a ligao entre as unidades de disco e sua controladora utiliza-se um cabo plano e flexvel, chamado flat cable. Conhecido tambm como cabo lgico, possui uma marcao do pino 1 que dever coincidir com o pino 1 no perifrico. A marcao feita atravs de um fio de cor diferenciada, geralmente vermelho, sendo que o flat cable geralmente cinza, com os conectores em preto.

Determinados perifricos assim como a maior parte das placas, incluindo a placa-me, necessitam de configuraes. As configuraes so realizadas na maioria dos casos atravs de jumpers ou ainda por DIP-Switches (microchaves) Tanto a microchave como o jumper servem apenas para fazer um contato, habilitando ou desabilitando alguma funo no perifrico ou placa. Organizao de Computadores Notas de aula 36

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

4.2 Unidade de disquetesA unidade de disquetes o elemento responsvel pela leitura/gravao em um disquete. Como existem diversos tipos de disquete com capacidades de formatao diferentes, haver unidades de disquete diferentes para cada tipo de disquete. Existem disquetes com diferentes tamanhos fsicos e capacidades. Existem disquetes de 5 de 360KB e 1,2MB e de 3 de 720KB, 1,44MB e 2,88MB. comum encontrar unidades de 5que aceitem 360KB e 1,2MB, assim como unidades de 3 que aceitam 720KB e 1,44KB, sendo estas ltimas as mais utilizadas atualmente. Os disquetes de 2,88MB e suas unidades so difceis de encontrar. A unidade de disquete conectada a controladora de unidades de disquete, que pode estar on-board ou no. fcil de localiz-la, pois o nico conector com 34 pinos existente no micro. Pode-se teoricamente ligar 4 unidades de disquete no micro, mas o mais comum encontrar controladoras que controlam no mximo 2 unidades. Elas so referenciadas em S.O. baseados no DOS, como A: e B:, sendo que a segunda s ir existir com a presena da primeira. Para diferenciar a unidade A da B, o recurso utilizado o prprio flat cable, que recebe o nome de cabo de inverso, por ter na extremidade uma inverso de alguns pinos, indicando que a unidade de disquete conectada a ponta do cabo ser a unidade A. Os conectores das unidades de 5 e 3 so diferentes, sendo o primeiro maior e possuindo uma placa plstica que impede a conexo invertida. J os conectores de unidades 3 permitem a inverso, devendo -se ficar atento ao lado em que se encontra o pino 1 do cabo e da unidade de drive.

4.3 H.D.sO disco rgido (H.D.) uma das melhores formas de armazenamento de grandes quantidades de dados para uso posterior. A idia simples, so vrios discos magnticos (semelhantes a disquetes, porm mais confiveis e com maior preciso) empilhados um sobre o outro, com vrias unidades de leitura (geralmente 2 para cada disco). A caixa preta que os envolve compe o H.D. A Figura 17 ilustra um H.D.

Figura 17 Esquema de um HD Organizao de Computadores Notas de aula 37

Sistemas de Informao CST / UPF Professor: Marcelo Trindade Rebonatto Diferente dos disquetes, que possuem um tamanho pr-definido, os H.D. utilizam alguns parmetros de configurao. Estes parmetros tambm esto presentes nos disquetes, porm sempre pr-definidos (2 heads/80 cyl/18 sect). So eles: Nmero de cabeas (heads): a quantia de faces que o disco possui. Por exemplo, se forem 3 discos magnticos, sero 6 cabeas (2 para cada face dos discos); Nmero de trilhas: so crculos concntricos que dividem a rea de armazenamento, em alguns casos referenciados por nmero de cilindros; Nmero de setores: so as divises das trilhas. Dentro de cada setor cabem sempre 512 bytes (mesmo em H.D.s este valor fixo). Para calcular a capacidade de um disco rgido, utiliza-se a frmula abaixo:

Capacidade de armazenamento = trilhas x setores x cabeas x 512A grande maioria dos micros hoje utiliza o processo de deteco automtica, porm todos os H.D.s tm (ou deveriam) estes dados estampados em sua capa metlica, de modo que se o micro no possuir deteco automtica ou a mesma no esteja funcionando corretamente, o H.D. possa ser configurado. A ligao do H.D. com sua controladora ocorre por meio de um flat cable de 40 posies, sendo necessrio observar a correta posio do pino 1, pois o conector deste cabo pode ser ligado invertido. Alguns cabos mais recentes possuem conectores com uma salincia, evitando que se conecte cabos virados. Um micro pode conter 2 controladoras de H.D. sendo ligadas em cada uma at 2 unidades. As controladoras utilizam a interface IDE (Integrated Drive Eletronics) e podem ser referenciadas como IDE1 e IDE2 ou IDE primria e IDE secundria. Cada controladora deve conhecer qual o H.D. principal, referenciado por master, e qual o auxiliar, conhecido por slave. A Figura 18 mostra a posio onde geralmente os HDs possuem jumpers para configurao.

Figura 18 Posio dos jumpers de configurao Ao contrrio dos disquetes onde a configurao pela posio do cabo, os H.D.s so configurados com o uso de jumpers. Os jumpers de configurao localizam-se geralmente na parte posterior, entre o conector de dados e fonte de alimentao, ou junto placa lgica do disco. O esquema de jumpers da configurao dos H.D.s tambm deve vir estampado na capa.

Organizao de Computadores Notas de aula

38

Sistemas de Informao CST / UPF 4.3.1 Anatomia do H.D.

Professor: Marcelo Trindade Rebonatto

Uma unidade de disco rgido o componente que mais trabalha em um micro. Os discos magnticos que os compem, onde os dados so armazenados, giram a altas velocidades durante todo o tempo em que o micro est ligado. Cada acesso ao disco rgido, faz com que as cabeas de leitura/gravao se movimentem, sempre com preciso microscpica, sendo que distncia entre uma cabea de leitura/gravao e o meio magntico menor do que um fio de cabelo humano. To severas restries e condies para o correto funcionamento do a impresso de um ambiente sujeito constantemente a defeitos; mas ao invs disto, o que ocorre so unidades de disco rgido desempenhando com afinco a funo de fiis depositrios de informao. A Figura 20 ilustra o interior de um HD