Você está na página 1de 62

Universidade de Passo Fundo

Instituto de Cincias Exatas e Geocincias


Curso de Sistemas de Informao - CST

Organizao de
Computadores
Notas de Aula

Autor : Marcelo Trindade Rebonatto


E-mail : rebonatto@upf.tche.br
Pgina : http://vitoria.upf.tche.br/~rebonatto

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

SUMRIO
Lista 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

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

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Lista de Figuras
Figura 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

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Introduo
Somente 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

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

1 Conceitos sobre organizao de computadores


Para 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 computao


Os 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

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

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 memria


Os 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 Barramentos
Os 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

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 Principal


Conhecida 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

Sistemas de Informao CST / UPF

C
P
U

R
D
M
R
E
M

Barramento de Dados

Barramento de Endereos
Barramento de Controle

Professor: Marcelo Trindade Rebonatto

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 Clock
De 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 freqncia


A 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 / 8


A 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 local


O 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 expanso


Para 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);

Organizao de Computadores Notas de aula

12

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 CPU
O 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 Componentes
As 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;

Organizao de Computadores Notas de aula

17

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);

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 instruo


Busca, 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

Professor: Marcelo Trindade Rebonatto

Inicio

Buscar a prxima
instruo

Incrementar o PC

Decodificao do
Cdigo da Operao

Tem
Operando?

Sim

Clculo de
endereo do
operando

Buscar e
armazenar o
operando

No
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 Desempenho


A 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 ciclo


Descrevendo 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

Execuo de
Inteiros
Ponto Flutuante
Desvios

Armazenamento
do resultado

Busca Operandos

Decodificao

Busca Instrues

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.

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

25

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

3 Memria
Uma 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 memria


A 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 acesso


Quando 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 RAM


Mesmo 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,

Organizao de Computadores Notas de aula

29

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 memria


Tambm 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 ROM


H 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 cache


Parte 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 removveis


Como 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 fsicas


Para 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 disquetes


A 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.s
O 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 512


A 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.

Figura 19 Viso interna de um HD


Por ser lacrado, o H.D. trabalha com uma preciso muito maior em relao aos disquetes. Por ser
fixo, o tamanho das cabeas de leitura/gravao pode ser reduzido, diminuindo tambm o campo
magntico para armazenamento de dados, possibilitando a gravao de dados mais prximos, e, tambm,
maior quantidade de dados em reduzido espao fsico.
Todos os discos rgidos possuem um motor, que faz com que o conjunto de discos gire a uma
velocidade de pelo menos 3.600rpm (em geral 4.500 9.000rpm). Desde o primeiro instante de
alimentao eltrica no H.D. os discos comeam a girar e no param, sendo que as cabeas de
leitura/gravao nunca encostando neles. Nos primeiros H.D.s, quando era desligada a energia eltrica as
cabeas de leitura/gravao permaneciam no lugar do ltimo acesso, possibilitando assim que
informaes fossem perdidas na ocorrncia de choques mecnicos. Como soluo, devia-se antes de
desligar, estacionar as cabeas em um lugar seguro (park). Atualmente, no existe esta preocupao, pois
os H.D.s usam um motor baseado num atuador eletromagntico voice coil que automaticamente recolhe
as cabeas.
Todos os setores do H.D. so numerados, porm a numerao no segue a ordem seqencial em
uma face, mas sim a ordem dos cilindros, com setores vizinhos localizando -se na mesma trilha, porm
em outro disco (ou face). Juntamente com os 512bytes armazenados em cada setor, guardam-se outras
informaes:

Organizao de Computadores Notas de aula

39

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

gap: espao entre setores;


Cabealho do setor: contm informaes fsicas como seu cilindro, lado e nmero. Usado para
comparaes;
CRC (Cyclical Redundance Check): armazena valor para verificao do cabealho do setor;
Dados: 512bytes de informao;
ECC (Error Correction Code): armazena o cdigo de correo dos dados armazenados.
O primeiro setor de uma unidade de disco, o setor 1, conhecido como MBR (Master Boot
Record), que identifica como e onde o S.O. est localizado e se ele pode ser carregado para a memria
RAM. Ele tambm conhecido como Master partition table, tabela mestre de parties, por incluir
informaes relativas as parties do disco como localizao, tamanho, tipo e flag de ativao. Alm
destes dados, o MBR tambm inclui um programa que l o boot sector da partio que contm o S.O.
ativo, que se encarrega de disparar o programa que carrega o restante do S.O. na mquina. A Figura 20
ilustra um HD com duas parties indicando a rea de MBR.

Figura 20 MBR e parties


Uma partio uma diviso lgica do disco criada para se possa ter diferentes S.O.s num mesmo
disco, ou criar a aparncia de se possuir diversos discos no gerenciador de arquivos, sendo criada na
formatao do disco. Existem dois tipos de formatao: a fsica (baixo nvel) que divide a superfcie
magntica em trilhas e setores e a lgica (alto nvel) que prepara os setores para uso do S.O. Antes da
formatao lgica, um disco necessita da definio da tabela de parties (MBR). Assim, o processo de
formatao de um H.D. seria:

Formatao fsica (os discos atuais no podem ser formatados em baixo nvel);
Particionamento;
Formatao lgica.

Atualmente, os programas de formatao em baixo nvel, no realizam uma formatao do disco,


mas sim, procuram setores defeituosos no disco e atualizam o mapa de setores defeituosos, ou ainda,
realizam a substituio por setores reserva. Caso utilize estes programas (deve-se optar pelos fornecidos
pelo fabricante) os setores defeituosos iro sumir de sua visualizao, porm continuaro a existir.

4.3.2 Desempenho
Apesar do giro rpido e constante de um disco rgido, ele no capaz de enviar instantaneamente
as informaes solicitadas, sempre h um atraso chamado de latncia ou tempo de acesso, medidos em
milissegundos. Esse o tempo gasto para a localizao de um setor especfico, determinado pelo tempo
40
Organizao de Computadores Notas de aula

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
necessrio para mover a cabea de leitura/gravao at o cilindro desejado, ativar a cabea e esperar que o
cilindro seja lido. Como o posicionamento da cabea em uma trilha fixo, deve-se esperar que o disco
gire e que o setor desejado passe pela cabea. Atualmente, os H.D.s possuem tempo de acesso de at
15ms.
Para agilizar a transferncia de dados, os discos IDE possuem uma pequena memria voltil.
Quando o sistema operacional l um setor, o disco rgido l a trilha inteira e armazena nesta memria,
para num futuro acesso poder entregar os dados sem consultar a superfcie magntica (cache ou buffer). O
cache de disco pode tambm ser feito em software (smartdrv, Windows 9x: propriedades do sistema de
arquivo), com a mesma idia, porm utilizando a memria RAM para esta finalidade. A Figura 21
demonstra esta organizao.

Figura 21 Transferncia de dados em HDs


Alm do cache, os discos rgidos modernos conseguem transportar mais de um setor por vez, o
que faz com que o desempenho do micro aumente. Essa caracterstica conhecida como blockmode
(tamanho do bloco), e pode ser habilitada no SETUP do micro.

4.3.3 Padres de conexo


A comunicao de um H.D. IDE com o micro extremamente simples de ser implementada,
uma vez que a controladora do disco rgido est integrada diretamente no prprio disco. Essa tecnologia,
criada pela Western Digital, eliminou o problema de rudo na comunicao entre a controladora e o H.D.
A conexo de discos rgidos IDE ao micro usam a especificao ATA (AT Attachment) provida
atravs de um conector de 40 pinos sobre um flat cable. Sua taxa de transferncia original vai at 4MB/s.
A norma ATA no especfica de discos rgidos, mas pode ser usada tambm para discos removveis,
leitores de CD, fitas e outros dispositivos de armazenamento, atravs da interface ATAPI (ATA Packet
Interface), lanada junto com o padro IDE Avanado (EIDE - Enhanced IDE). A interface ATAPI usa o
mesmo conector e cabo da ATA, com mudana no protocolo de transferncia de dados introduzindo taxas
de transferncia mais elevadas e cuidados para evitar a interferncia entre dispositivos ATAPI e IDE.
Com o passar do tempo, padres como ATA-3, ATA-4 e ATA-5 tambm foram desenvolvidos.
Para se comunicarem com o micro, os H.D.s IDE utilizam um circuito chamado PIO
(Programmed I/O), controlado pelo processador, por isso muitas vezes chamado de Processor I/O. O PIO
trabalha em 6 modos de operao, atingindo taxas de at 22MB/s. A Tabela 6 rene algumas tecnologias
e taxas de transferncia.
Organizao de Computadores Notas de aula

41

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Pode-se tambm deslocar o controle das transferncias de dados do processador para o chipset da
placa-me, habilitando o recurso chamado Bus Mastering. Dessa forma o desempenho do micro aumenta,
pois o processador pode realizar outras tarefas ao mesmo tempo em que os dados esto sendo transferidos
do H.D. para a memria RAM. O Bus Mastering executado pela ponte-sul do chipset, sendo tambm
conhecido como modo DMA Bus Master. Este recurso possui diversos modos de operao e pode atingir
taxas de transferncia de at 33MB/s.
Tabela 6 Taxas de transferncia de HDs
Tecnologia
Modo
Taxa de Transferncia
0
3,3 MB/s
1
5,2 MB/s
2
8,3 MB/s
PIO
3
11,1 MB/s
4
16,6 MB/s
5
22 MB/s
0
4,2 MB/s
1
13,3 MB/s
DMA
2 (UDMA 0)
16,6 MB/s
3 (UDMA 2)
33,3 MB/s
0
16,6 MB/s
1
25 MB/s
UDMA
2
33,3 MB/s
3
44,4 MB/s
4
66,6 MB/s

Padro
ATA
ATA
ATA
ATA-2
ATA-3
ATA-3
ATA
ATA-2
ATA-3
ATA-4
ATA-3
ATA-4
ATA-4
ATA-5
ATA-5

Atualmente, atravs do protocolo UltraDMA, discos rgidos IDE podem atingir taxas de
transferncia de at 66MB/s. Conhecido tambm como UDMA, possibilita taxas de transferncia que s
eram atingidas no passado por discos SCSI. A tabela ao lado ilustra as taxas de transferncias mximas
tericas dos modos de ligaes de H.D. Todavia, no s o modo PIO, DMA ou UDMA que influi no
desempenho do H.D.: o cache do disco e o blockmode tambm interferem.
Para utilizar todo o poder do UDMA, alm do disco suportar esta tecnologia, a placa-me aceitar
este padro e estar configurada, os modos 3 e 4, que utilizam o ATA-5, necessitam de um cabo especial
com 80 fios, porm utilizando o mesmo conector de 40 pinos.

4.4 Limites em HDs


Alm das limitaes impostas pela capacidade dos H.D.s, existem tambm limitaes impostas
pelo gerenciamento dos H.D.s (controladoras de disco), pelo BIOS da mquina e tambm pelo sistema de
arquivos. Todos estes limites dizem respeito a capacidade com que o H.D. pode ser formatado: mesmo
possuindo uma capacidade maior, ela no pode ser utilizada.

4.4.1 Limite de 504Mb


A definio do BIOS do IBM PC prev 10 bits para a indicao do cilindro, 8 bits para o nmero
de cabeas e 6 bits para setores. Isto estabelece um limite de 1024cilindros, 256cabeas e 63 setores por
trilha (0 no vlido para nmero de setor). Com isso, a capacidade mxima da BIOS de 7,8GB. As
controladoras IDE, por outro lado, utilizam 16bits de cilindro, 4bits de cabeas e 6bits para o setor,
Organizao de Computadores Notas de aula

42

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
resultando em uma capacidade de 31,5GB. Observando-se as restries de tamanho impostas pela BIOS e
pelas controladoras, tm-se 10bits para cilindros, 4bits para cabeas e 6bits para setores, resultando em
capacidade mxima de 504MB (1024 x 16 x 63 x 512).
Atualmente, h um modo chamado LBA (Logical Block Addressing), que foi criado para
transpor esse limite. Nas mquinas que no possuem este modo, pode-se utilizar um driver fornecido pelo
fabricante. O modo LBA surgiu junto com o padro IDE avanado (EIDE).
A idia do LBA numerar os setores de um H.D. seqencialmente ao invs da trade
cilindro/cabea/setor. Assim, determinado setor seria conhecido pelo seu nmero de ordem dentro do
H.D. O BIOS passaria a pedir o setor 1000 em vez da posio fsica cilindro/cabea/setor. A formatao e
a criao das parties podem ser realizadas como em qualquer H.D.
Um ponto a ser levado em conta que uma vez formatado o disco pelo modo LBA, utilizando
uma determinada geometria (cilindro/cabea/setor), esse disco somente ser acessado com a mesma
geometria. No podemos acess-lo no modo normal, a no ser aps nova formatao.

4.4.2 Limite de 2Gb


O sistema de arquivos FAT16, amplamente utilizado pelos sistemas operacionais do mercado,
possui um limite de 2GB por partio. Esse sistema de arquivos, poderia acessar 65536 diferentes setores
(216), acessando assim mseros 32MB. Uma idia utilizada antes de aumentar o nmero de bits (FAT32)
foi criao do cluster. Como o nome diz, um agrupamento de setores, dessa forma ao invs de apontar
um setor, seria apontado um conjunto de setores. A definio do tamanho do cluster, utilizado ocorre na
formatao, utilizando 16KB para discos de at 1GB e 32KB para discos de at 2GB em discos FAT16.
Um problema da organizao em clusters o desperdcio de espao, uma vez que um cluster
pode conter somente 1 arquivo. Por exemplo, um arquivo de 100KB em um sistema com cluster de
32KB, ocupar 4 clusters (128KB). Dessa forma, quanto maior o tamanho do cluster, maior o
desperdcio.
Um problema de diminuir o tamanho do
cluster a capacidade mxima do disco. Ento a
Microsoft lanou o sistema FAT32, utilizando
32bits para o endereamento de setores, podendo
assim diminuir o tamanho do cluster (e tambm
o desperdcio) e acessar parties maiores que
2GB. A tabela ilustra o tamanho dos clusters e a
capacidade mxima de acesso em discos FAT32.

Tamanho do Cluster Capacidade mxima


512bytes
256MB
4KB
8GB
8KB
16GB
16KB
32GB
32KB
2TB
Fonte: Torres, Gabriel. Hardware Curso Completo

4.4.3 Limite de 8Gb


Com os limites da BIOS (1024 cilindros, 256 cabeas e 63 setores), mesmo utilizando o modo
LBA, a capacidade mxima de um disco de 7,8GB. Isso limitado pelo fato de se usar 24bits para
definir um setor e agravado por no existir o setor 0.
Os acessos por software a unidades de discos so controlados por uma interrupo, a INT 13H,
que repassa os pedidos a BIOS. Para permitir acessos a discos maiores foi criada uma srie de expanses
na INT 13H. Estas alteraes, denominadas EDD (Extended Disk Drive) esto disponveis nos micros que
utilizam um chipset recente, permitindo assim um limite fixado pelo padro ATA: 127GB.
Organizao de Computadores Notas de aula

43

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

4.5 CD-ROM
As unidades de CD-ROM quando inicialmente lanadas utilizavam um cabo especfico que era
ligado placa de som. Recentemente a ligao de dados das unidades de CD-ROM foi trocada, passando
a ser utilizada a interface IDE. Dessa forma, uma unidade de CD-ROM ligada ao micro como se fosse
uma unidade de disco rgido, devendo ser configurada para master ou slave, atravs de jumpers, e
tomando cuidado com a correta posio do pino 1 do flat cable.
Apenas os dados trafegam pelo cabo de 40 vias, uma vez que as unidades de CD-ROM possuem
outro cabo, com geralmente 3 vias, para a transmisso do udio, ligado diretamente na placa de som.
Quando s existia CD de udio, desempenho no era problema, uma vez que o udio escutado
a uma velocidade fixa, com a taxa de transferncia do aparelho de CD de udio sendo 176.400 bytes/s. A
taxa de transferncia padro das unidades de CD-ROM no modo 1 (1X) de 153.600 bytes/s, ou
150KB/s. Uma taxa muito baixa se comparadas s taxas de transferncias dos H.D.s, mesmo no padro
ATA inicialmente especificado.
O aumento da taxa de transferncia do
CD-ROM
foi
executado
basicamente
aumentando-se a velocidade de rotao do CD
na unidade. Uma unidade 2X apresenta uma taxa
de transferncia que equivalente ao dobro da
usada na unidade padro (300KB/s). A tabela ao
lado ilustra a taxa de transferncia de algumas
unidades de CD-ROM.

Velocidade
1x
2x
8x
24 x
36 x
44 x
52 x
56 x
60 x

Taxa de transferncia Nominal


150 KB/s
300 KB/s
1.200 KB/s
3.600 KB/s
5.400 KB/s
6.600 KB/s
7.800 KB/s
8.400 KB/s
9.000 KB/s

A taxa de transferncia informada a mxima, que nem sempre atingida, principalmente em


unidades com alta taxa de transferncia. Isso ocorre, pois a velocidade constante e somente as
informaes dos setores mais externos conseguem obter a taxa nominal. Efetivamente a taxa de
transmisso varia da metade do valor nominal at ele.
Outro fator que mede o desempenho da unidade de CD-ROM o tempo de acesso, que no
baixo, pois o mecanismo da cabea lento para se mover de uma trilha para outra. Este tempo de acesso
que nos H.D.s era prximo a 1 dezena de milissegundos, em unidades de CD-ROM ficam em algumas
dezenas de ms.

Organizao de Computadores Notas de aula

44

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

5 Entrada e Sada
Para que se possa desfrutar da rapidez e flexibilidade de um computador, no basta saber que ele
pode armazenar na memria os programas e dados que desejamos processar e nem que ele pode executar
mais de um milho de instrues por segundo. preciso que o programa que temos escrito, por exemplo,
em uma folha de papel e os dados a serem manipulados por ele sejam inseridos no sistema, caractere a
caractere, incluindo os espaos em branco, sinais de pontuao e smbolos de operaes matemticas.
Para realizar estas tarefas necessrio um meio qualquer que faa esta comunicao homem-mquina.
Da mesma forma que se necessita de comunicao com a mquina, tambm preciso
comunicao no sentido contrrio (mquina-homem), de modo que o usurio possa entender os resultados
de um processamento. Os dispositivos responsveis pela entrada/sada so tambm denominados de
perifricos (instalados fora do ncleo principal CPU/MP ficam na maioria das vezes prximos, na
periferia).
O funcionamento dos dispositivos de entrada/sada em um computador geralmente
caracterizado pela existncia de diversos elementos que, embora realizem o mesmo tipo de funo,
possuem caractersticas diversas. Desta forma, costuma-se integrar os diversos elementos que cooperam
no processo de entrada e sada num subsistema, parte do sistema de computao. Um subsistema de I/O
deve ser capaz de realizar duas funes:

receber ou enviar informaes ao meio exterior;

converter as informaes (de entrada ou de sada) em uma forma inteligvel para a mquina (se estiver
recebendo) ou para o usurio (se estiver enviando).

Os perifricos que compem o subsistema de I/O possuem diferentes caractersticas, como, por
exemplo, velocidade de operao e taxa de transferncia das informaes. Na Figura 22 esto ilustradas
algumas caractersticas dos principais perifricos de I/O.

Figura 22 Caractersticas dos principais perifrios de I/O


Devido s diferenas, a ligao entre os dispositivos de I/O e a CPU no realizada direta e
individualmente. Uma ligao direta aconteceria se houvesse uma ligao direta entre CPU e teclado, por
exemplo. Na prtica, a CPU se conecta a dispositivos que realizam a traduo e a compatibilizao das
caractersticas de um (perifricos de I/O) para outro (CPU), alm de realizar outras tarefas de controle.
Organizao de Computadores Notas de aula

45

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
Estes dispositivos costumam ser chamados de interface de I/O, porm, h outros nomes como
controlador, canal e adaptador. Independente do nome a ser empregado, a funo a mesma:
compatibilizar as diferentes caractersticas de cada perifrico e da CPU/MP, permitindo um fluxo correto
de dados em uma velocidade adequada a ambos os elementos sendo conectados.
H duas maneiras bsicas de se realizar a transmisso/recepo de dados entre
perifricos/interfaces e interfaces/CPU:

Transmisso serial: a informao transmitida/recebida bit a bit;

Transmisso paralela: a informao transmitida/recebida em grupos de bits de cada vez.

A velocidade de transferncia de dados de um perifrico geralmente muito menor que a da


CPU. No eficaz conectar os perifricos ao barramento do sistema (local), pois isto reduziria a
velocidade da comunicao entre CPU e MP. Alm disso, cada perifrico tem uma velocidade diferente,
por exemplo, o teclado muito mais lento que o disco. Desta forma, no utilizado um nico caminho,
mas vrios, ligados ao barramento de expanso.
Os perifricos de I/O utilizam diferentes tamanhos de unidades de transferncia de dados (alguns
transferem 1 bit, outros 1 byte enquanto outros podem enviar/receber centenas ou mesmo milhares de bits
num nico bloco de transferncia). Da mesma forma, os fabricantes adotam diferentes tamanhos de
palavras de dados.
Todos estes aspectos garantem ser necessrio o emprego de um dispositivo intermedirio na
ligao da CPU/MP a um perifrico de I/O. Estas interfaces podem servir a ligao de um nico
dispositivo (vdeo) ou vrios (USB). Uma interface ou um controlador , em geral, responsvel pelas
seguintes tarefas:
a) Controlar e sincronizar o fluxo de dados entre CPU/MP e o perifrico;
b) Realizar a comunicao com a CPU, inclusive interpretando suas instrues (sinais de controle) para
acesso fsico ao perifrico;
c) Servir de memria auxiliar para o trnsito das informaes entre os componentes (buffer de dados);
d) Realizar algum tipo de deteco e correo de erros durante as transmisses.
A utilizao de um buffer interno pelas interfaces um fator fundamental para a
compatibilizao de velocidades diferentes entre o barramento do sistema e suas linhas externas.

5.1 Conexes de perifricos de entrada e sada padres


Grande parte das placas-me dos microcomputadores atuais incorporam os circuitos de controle
dos principais perifricos de entrada e sada, porm ainda encontram-se casos que os mesmos so ligados
a placas auxiliares (conectadas em slots do barramento de expanso). A conexo com o teclado, por
exemplo, diretamente na placa-me h muito tempo, enquanto que o controle de vdeo passou h pouco
tempo ser incorporado, porm, pode-se ainda instalar uma placa auxiliar de vdeo em slots.
As principais conexes de entrada e sada do micro so o monitor, teclado, porta paralela e
portas seriais. Cada um destes possui uma especificao diferente de pinos e conectores especficos,
sendo neles ligados os mais diversos perifricos. O mouse, que no considerado perifrico padro de
Organizao de Computadores Notas de aula

46

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
entrada, h muito tempo vem sendo utilizado, portanto, deve-se saber como e onde podemos conect-lo.
As portas de comunicao so utilizadas para que o micro possa se comunicar com perifricos externos e
at mesmo outros micros.

5.1.1 Monitor
Todo o micro necessita de um sistema de vdeo para que se possa monitorar sua operao, ver o
que se digita ou carrega, acompanhar o andamento de clculos e verificar os resultados. Os monitores
usados com micros hoje em dia so geralmente coloridos e possuem caractersticas como a resoluo
mxima, freqncia de varredura e o dot pich.
Os monitores so ligados a placas de vdeo, que tm algumas caractersticas bsicas: quantidade
de memria, modelo do chipset (controlador) e tipo de barramento utilizado (ISA, VESA, PCI, AGP, ...).
Algumas placas-me possuem controlador de vdeo integrado (on-board), porm mesmo nestes micros
pode-se instalar outra placa de vdeo.
Independente
de
onde est localizado o
circuito controlador de
vdeo, os computadores
atuais utilizam o padro
super-VGA (Vdeo Graphics Array). A conexo entre o
monitor e o adaptador de vdeo ocorre com um conector de
15 pinos (DB-15), sendo que o cabo que ligado ao monitor
possui uma interface macho e o conector da placa (ou adaptador no caso de on-board) uma interface
fmea.
Com o aumento da utilizao de aplicaes grficas, sentiu-se a necessidade de recursos para a
acelerao de vdeo. Praticamente todas as placas de vdeo, independentes ou no (placas 2D), possuem
estes recursos. Um problema ocorre com aplicaes em 3D, utilizando objetos que demandam muitos
clculos matemticos e consumindo grandes reas de memria. Para solucionar este problema, pode-se
instalar juntamente com uma placa 2D uma (ou mais) placa aceleradora 3D.

5.1.2 Teclado
O teclado ainda o perifrico de entrada mais utilizado. Desde o incio de sua utilizao em
micros, o nmero de teclas vem aumentando, comeando pelo teclado do PC original com 84 teclas at os
dias de hoje com 101teclas ou mais. Utilizam em sua maioria o padro QWERTY US-Internacional,
porm a ABNT j padronizou um layout de teclas (baseado no QWERTY, porm com caracteres a mais
como a cedilha e uma melhor posio dos acentos grficos) para ser usado com palavras da lngua
brasileira.
Para sua ligao a placa-me do micro, utilizam basicamente dois padres: o DIN de 5 pinos e o
mini-DIN com at 6 pinos, introduzido pelo PS/2. Pode-se ainda utilizar adaptadores, caso a placa-me
no possua conector para um tipo especfico de teclado.

Organizao de Computadores Notas de aula

47

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
Com o objetivo de diminurem o risco de L.E.R. (Leso por Esforo Repetitivo) em usurios,
foram criados teclados ergonmicos. Outra maneira de diminuir o risco de leses a utilizao de um
apoio de punho de material emborrachado na base do teclado.

5.1.3 Porta paralela


A porta paralela permite que dados saiam do
micro diretamente para um dispositivo externo byte a
byte. Ela utiliza a comunicao paralela, que apesar de
ser extremamente rpida e segura, est sujeita a rudos;
deste modo no pode usada para comunicar
dispositivos muito longe um do outro. A porta paralela
tradicional unidirecional, permitindo apenas que
dados sejam enviados pelo micro ao perifrico.
A interface da porta paralela constituda de um conector de 25 pinos (DB-25) fmea, enquanto
as impressoras que utilizam interface paralela possuem um conector Centronics de 36 pinos fmea. Para a
ligao deve ser utilizado um cabo com um conector DB-25 macho em uma ponta e um conector
Centronics macho na outra extremidade. A Figura 23 mostra os conectores de cabos paralelos.

Figura 23 Conectores de cabos paralelos


Existem basicamente 3 modos de operao das portas paralelas:

SPP (Standard Parallel Port): este o modo de operao padro, unidirecional com transferncia
mxima de 150 KB/s;
EPP (Enhanced Parallel Port): introduziu o modo bidirecional e aumentou a taxa de transferncia,
podendo alcanar taxas de transferncia de 2MB/s, porm na prtica alcana 800KB/s. Necessita de
cabo com blindagem especial, conhecido como bidirecional;
ECP (Extended Capabilities Port): possibilita na prtica taxa de 2MB/s, pois utiliza compactao
automtica de dados e utiliza DMA. De maneira semelhante a EPP deve utilizar cabo com blindagem
especial.
Os circuitos de controle tanto da porta paralela, quanto das portas seriais vm atualmente na
placa-me. Dessa forma, pode-se alterar o modo de operao da porta paralela atravs do SETUP. Os
conectores chegam at a parte traseira do micro para conexo atravs de adaptadores, com exceo da
porta paralela em placas super-IDE, que a conexo diretamente na placa.
O uso tpico da porta paralela a conexo do micro com a impressora. Porm, atualmente, est
surgindo um nmero maior de perifricos que podem ser ligados a porta paralela como Zip-drive e
scanners. Estes perifricos foram beneficiados pelos avanos na tecnologia da porta paralela, permitindo a
comunicao bidirecional e modos avanados, com uma taxa de transmisso mais elevada.

Organizao de Computadores Notas de aula

48

Sistemas de Informao CST / UPF


5.1.4 Portas seriais

Professor: Marcelo Trindade Rebonatto

As portas seriais realizam a comunicao serial, enviando os dados bit a bit ao invs de palavra
por palavra. Isso faz com que a comunicao seja mais lenta e propensa a erros, por outro lado, menos
fios so necessrios para ligar transmissor e receptor e a distncia entre eles pode ser grande.
Existem dois tipos de comunicao serial: sncrona e assncrona. No primeiro tipo h um canal
para transmisso de dados e um para o sincronismo, que mostra ao receptor onde comea e termina cada
conjunto de dados que est sendo transmitido no canal de dados. Na comunicao assncrona, utilizada
nos computadores, o mesmo canal que transmite os dados responsvel pelo sincronismo, enviando
sinais de incio e fim do conjunto de dados.
Na porta serial do micro geralmente conecta-se o mouse, muito embora cada vez surjam mais
aplicaes em que a porta serial utilizada, como conexes micro micro, de agendas eletrnicas, de
cmeras digitais e modem externo. A porta serial mais lenta que a paralela, pois alm de enviar dados
bit a bit, ela necessita de bits extras para o incio e fim do conjunto de dados e ainda bits para os
mecanismos de deteco e correo de erros.
Fisicamente, as interfaces seriais podem apresentar 2 conectores: 9 pinos (DB-9) ou 25 pinos
(DB-25), ambos com conectores macho e fmea. Em geral, o micro tem 2 portas seriais, uma com
conector DB-9 macho, onde se liga geralmente o mouse, que possui um conector DB-9 fmea, e outra
com conector geralmente DB-25 fmea, que fica na maioria dos casos disponvel. A Figura 24 mostra
conectores utilizados em cabos seriais.

Figura 24 Conectores de cabos seriais


Com relao conexo de mouse, existe um tipo chamado mouse
de barramento que no conectado a porta serial do micro e sim a uma
porta prpria. Chamado tambm de mouse PS/2, utiliza o mesmo conector
mini-DIN de 6 pinos utilizado tambm nos teclados. Este conector pode
vir diretamente na placa-me, ou sendo nela ligado atravs de um
adaptador. A Figura 25 mostra conectores min-DIN.

Figura 25 Conectores min-DIN

Organizao de Computadores Notas de aula

49

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

5.2 Formas de comunicao entre CPU/MP e interface de I/O


H duas formas de se organizar a comunicao entre CPU, memria principal e interface de
entrada/sada: por memria compartilhada (memory -mapped) e E/S (I/O) isolada. No primeiro caso, a
memria principal compartilhada tanto por instrues e dados comuns de um programa quanto por
instrues/dados de operaes de I/O. O processo de entrada/sada com memria isolada consiste em criar
um espao de memria prprio de I/O e diferente, portanto, da memria principal. A figura 26 ilustra
ambas as formas de organizao da memria para comunicao com a interface de I/O.
65535

65535
MP

255
0

E/S

MP

255
0

E/S

Memria Compartilhada
Memria Isolada
Figura 26 Formas de organizao de memria para comunicao com interface de I/O
Com memria compartilhada, basta haver no barramento de controle uma nica linha de leitura
(read) de escrita (write), visto que a memria a mesma e, portanto, somente poder ocorrer em cada
instante uma operao de leitura/escrita para CPU/MP ou uma para CPU/E-S. No caso da memria
isolada necessrio que haja um sinal de identificao no topo de operao, sempre que um endereo for
colocado no barramento, para saber se o mesmo de I/O ou no. Os microprocessadores da famlia Intel e
similares, por exemplo, usam mais comumente a tcnica de memria isolada do que a de memria
compartilhada.
Os endereos de I/O isolados so chamados portas (ports). No caso dos microprocessadores h
em geral uma conveno que os endereos de I/O podem ter 8 ou 16 bits. Com 8 bits so endereados
dispositivos localizados na prpria placa principal (me), como controlador de tempo (timer) e o
interface de teclado. Com 16 bits so endereados os dispositivos externos, como vdeo e controladores
de disco.
O mtodo de I/O isolada tem a vantagem de no utilizar espao da memria principal,
deixando-a toda para outras aplicaes, mas tem a desvantagem de s ser utilizado com instrues
especiais de I/O (no caso dos microprocessadores Intel, so usadas apenas as instrues IN, INS, OUT e
OUTS). Alm disso, tambm foram desenvolvidos sinais especiais de controle para o espao de I/O. Por
outro lado, o mtodo de memria compartilhada tem a vantagem de no necessitar de qualquer instruo
especial, ou seja, qualquer instruo que utilize a memria principal se aplica tambm a I/O. Mas tem a
desvantagem de ocupar parte do espao de memria principal para o uso de entrada/sada.

5.3 Endereos de I/O para as portas de comunicao padro


Para a comunicao com os perifricos de entrada/sada, o processador precisa programar os
circuitos de apoio perifricos da placa me (chipset). Essa comunicao realizada atravs de uma rea
distinta e independente, chamada rea de I/O. A rea de I/O nos processadores compatveis com o padro
x86 de 64KB, ou seja, h 65535 endereos (0000h a FFFFh) que so utilizados pelo processador para se
comunicar com algum circuito perifrico (ligado ao barramento).
Organizao de Computadores Notas de aula

50

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
Para exemplificar os endereos de I/O Base, vamos utilizar a comunicao do micro com a
impressora a fim de que alguma informao seja impressa. A comunicao realizada pela porta paralela,
que normalmente usa o endereo 378h. Dessa forma, quando o micro quer enviar algum dado a
impressora, ele simplesmente joga esse dado par a o endereo de I/O 378h, sendo posteriormente lido e
interpretado pela impressora. Todos os perifricos de entrada ou sada utilizam um endereo de I/O para a
comunicao com o processador.
As portas de comunicao utilizam endereos de entrada e sada geralmente padro, sendo
mostrados na tabela abaixo.
Tabela 7 Endereos das portas de comunicao do padro PC
Porta
Tipo de comunicao Endereo de I/O (Hex)
COM 1 Serial (assncrona)
3F8
COM 2 Serial (assncrona)
2F8
COM 3 Serial (assncrona)
3E8
COM 4 Serial (assncrona)
2E8
LPT 1
Paralela
378
LPT 2
Paralela
278
Tanto as portas de comunicao serial quanto as paralelas utilizam um buffer para o envio das
informaes. Inicialmente, as informaes a serem enviadas devem ser copiadas para o buffer para aps
serem transmitidas no canal (abstrao do cabo de transmisso). Quando ocorre o recebimento das
informaes, elas chegam diretamente ao buffer, sendo aps repassadas a CPU.

5.4 Formas de realizao de entrada/sada


Durante a execuo de um programa, por diversas vezes a CPU se depara com a necessidade de
enviar ou receber dados de algum dispositivo perifrico. Para tanto, da mesma forma que acontece com a
comunicao CPU/MP necessrio que a CPU indique o endereo correspondente ao perifrico desejado,
pois h sempre mais de um perifrico ligado a um sistema de computao.
Cada perifrico conectado ao sistema de computao possui um endereo, denominado
endereo de I/O (port number). Conforme a quantidade de bits que tenha sido estabelecida no projeto
sistema para definir os endereos de I/O teremos o limite de perifricos que podem ser conectados
sistema. O acesso acesso da CPU a um perifrico obtido atravs do barramento do sistema e
respectiva interface do perifrico.

de
do
ao
da

H 3 mtodos distintos de efetuar operaes de entrada e sada:

Entrada/sada por programa;

Entrada/sada com emprego de interrupo;

Acesso direto a memria (DMA Direct Memory Access).

5.4.1 Entrada/sada por programa


Por esse mtodo, a CPU executa diretamente instrues de I/O, enviando e recebendo dados da
interface de I/O. Cada instruo serve para uma ao tpica, como: examinar o estado de uma interface,
realizar a operao de I/O com a interface (enviar ou receber dados).
Organizao de Computadores Notas de aula

51

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
Na entrada/sada por programa toda a transferncia de dados entre a CPU e o dispositivo de E/S
controlada pelo programa que o processador executa. A CPU solicita o incio da transferncia de dados
controladora e depois a CPU fica testando o estado do dispositivo para verificar se a operao de E/S
terminou. Assim, a CPU fica em um loop de espera e teste (polling).
A grande desvantagem deste mtodo consiste no uso intenso de CPU. Como tem que manter um
loop de execuo para diversas atividades (por exemplo, verificar o estado de uma interface, se este
completar uma operao e estiver com um dado disponvel), ocorre um desperdcio de uso em detrimento
de atividades mais importantes. Neste mtodo de I/O, uma soluo para compatibilizar as diferentes
velocidades entre o processador e o perifrico justamente o loop de interrogao do estado do perifrico,
no se devendo enviar o dado enquanto ele no estiver pronto para receb-lo.

5.4.2 Interrupes
Na utilizao de I/O por interrupo a CPU no fica continuamente interrogando sobre o estado
de um dispositivo; ao invs disso, funciona da seguinte forma:
a) A CPU emite uma instruo de I/O para a interface e, como no dever receber uma resposta
imediata, em vez de ficar continuamente verificando o estado do perifrico, a CPU desvia-se para
realizar outra atividade (provavelmente executar um outro programa), suspendendo a execuo do
programa que requer I/O;
b) Quando a interface estiver pronta para enviar os dados do perifrico a CPU, ela avisa a CPU atravs
de um sinal de interrupo. Chama-se interrupo porque realmente o sinal interrompe a atividade
corrente da CPU para que esta d ateno ao dispositivo que a interrompeu;
c) A CPU inicia ento as rotinas de I/O requisitadas.
Uma interrupo consiste em uma srie de procedimentos que suspendem o funcionamento
corrente da CPU, desviando sua ateno para outra atividade. Quando esta outra atividade concluda, a
CPU retorna execuo do ponto que estava antes de ser interrompida.
Existem basicamente dois tipos de interrupo:

Internas: Geradas pela execuo de uma instruo, como por exemplo uma diviso por zero,
overflow, cdigo de operao invlido, tentativa de acesso a uma rea de memria protegida ou
inexistente, etc.

Externas: Causadas por um sinal externo CPU. Geralmente ativada devido a uma interface de E/S
que est avisando que um determinado perifrico deseja a ateno para transferir dados.

A deteco de uma interrupo faz com que o processador transfira o controle para uma rotina de
tratamento de interrupo ("interrupt handler"). A rotina de tratamento de interrupes faz o processador
executar as seguintes aes:

Organizao de Computadores Notas de aula

52

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

1. Identificar o tipo de interrupo;


2. Detectar qual o dispositivo que sinalizou (interrompeu);
3. Executar as aes apropriadas (que dependem do dispositivo),
4. Retornar ao ponto do programa em que estava quando iniciou o atendimento interrupo.
Para que o processador possa executar esta rotina, ele deve conhecer o endereo de memria
onde ela est armazenada. Alguns computadores mais simples utilizam uma nica rotina para o
tratamento de todas as interrupes sendo que esta rotina esta armazenada em um endereo definido da
memria. Para aumentar a versatilidade, a maioria dos sistemas utiliza vetores de interrupes, que
armazenam o endereo da rotina especfica para o tratamento de cada interrupo.
Aps a CPU receber o sinal de interrupo, ela deve terminar a execuo da instruo corrente e
salvar todo o contexto de execuo (valores de registradores como PC e ACs, entre outros). A operao
de armazenamento do contexto necessria para que quando a CPU terminar a rotina de tratamento de
I/O, ela possa retornar ao ponto correto, com os valores de execuo dos registradores corretos.
Desta forma, quando pressionamos uma tecla no teclado, o prprio teclado gera um pedido de
interrupo, fazendo com que o processador pare o que esteja fazendo, receba os dados, prosseguindo
aps com o processamento normal das atividades.
Os microprocessadores da famlia Intel possuem apenas uma entrada para interrupo externa, o
que muito pouco, pois permite que se conecte apenas um perifrico de E/S ao micro. A soluo
encontrada foi utilizao de um circuito controlador de interrupes, capaz de gerenciar at 8 pedidos de
interrupo (IRQ0 IRQ7). Cada linha de interrupo est conectada a um perifrico distinto, no
podendo dois perifricos compartilhar a mesma IRQ. Com apenas 8 pedidos de interrupo, as linhas
disponveis foram rapidamente preenchidas e no projeto do AT o nmero de IRQs foi aumentado,
adicionando-se um segundo controlador de interrupes conectado em cascata ao primeiro controlador.
Essa conexo foi realizada utilizando a IRQ2, disponibilizando 15 IRQs para uso, sendo este esquema
utilizado at hoje. Os perifricos configurados para a IRQ2 foram automaticamente reconfigurados pelo
chipset para a IRQ9. A tabela 8 ilustra o mapa de IRQs externas geralmente utilizadas em um PC.
Convm ressaltar que os perifricos podem ser configurados para IRQs diferentes das constantes na
tabela.

Organizao de Computadores Notas de aula

53

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
Tabela 8 Mapa de interrupes da plataforma de um PC
IRQ
Ligao
IRQ0 Temporizador da placa me (conectado ao chipset)
IRQ1 Teclado (conectado ao chipset)
IRQ2 Conexo em cascata (conectado ao chipset)
IRQ3 COM2 e COM4 (comunicao serial)
IRQ4 COM1 e COM3 (comunicao serial)
IRQ5 Placa de Som
IRQ6 Unidade de Disquete
IRQ7 LPT1 - Porta paralela
IRQ8 Relgio de tempo real (conectado ao chipset)
IRQ9 Interface de vdeo
IRQ10 Normalmente disponvel
IRQ11 Normalmente disponvel
IRQ12 Mouse de barramento (bus mouse, mouse PS/2)
IRQ13 Co-processador matemtico (conectado ao chipset)
IRQ14 Porta IDE-primria
IRQ15 Porta IDE-secundria
Pode-se observar que esta modalidade de realizar operaes de I/O melhorou o desempenho dos
sistemas, mas ainda apresenta algumas desvantagens. Embora a CPU no necessite mais interrogar o
estado de disponibilidade de um perifrico, ela continua gastando tempo para executar o programa de I/O
e para efetivar a transferncia de dados (salvar o contexto).

5.4.3 Acesso direto memria


Para o acesso a dados da memria, o meio a ser utilizado deve ser o processador. Porm esta
regra teve de ser revista, pois imagine a carga na memria de um arquivo de 100KB; teramos vrias
instrues do tipo: Leia do disco e armazene no endereo X a serem realizadas pe lo processador, o que
demandaria muito tempo alm atrasar o processamento de outras informaes.
Para esses casos, o perifrico pode usufruir um circuito de apoio chamado controlador de DMA
(Direct Memory Access Acesso Direto Memria). Este circuito j existia no PC original, onde at 4
perifricos (ligados aos canais DMA0 a DMA3) que poderiam ser conectados ao controlador de DMA,
melhorando o desempenho, pois enquanto uma transferncia memria via DMA estivesse sendo
realizada, o processador poderia estar executando outra tarefa.
De modo geral, a tcnica DMA consiste na realizao da transferncia de dados entre uma
determinada interface e a memria principal, praticamente sem a interveno da CPU. Esta se limita a
solicitar a transferncia para o dispositivo denominado controlador de acesso direto a memria (DMA
controller), o qual realiza por si s a transferncia. A CPU fica liberada para realizar outras atividades,
quando o controlador termina a transferncia, ele sinaliza para a CPU atravs de uma interrupo.
Da mesma forma que as IRQs, o nmero de canais de DMA do PC original era insuficiente.
Assim no projeto do AT, o controlador de DMA foi substitudo por outro de 16bits (o original era de 8
bits), permanecendo o controlador antigo, por questes de compatibilidade, ligado em cascata com o novo
controlado pelo DMA4. A tabela 9 ilustra os endereos para acesso direto memria.

Organizao de Computadores Notas de aula

54

Sistemas de Informao CST / UPF


Tabela 9 Mapa de DMA no PC
DMA
Ligao
DMA0 Normalmente disponvel
DMA1 Placa de Som
DMA2 Unidade de disquete
DMA3 Normalmente disponvel
DMA4 Conexo em cascata (conectada ao chipset)
DMA5 Placa de Som
DMA6 Normalmente disponvel
DMA7 Normalmente disponvel

Professor: Marcelo Trindade Rebonatto


Tamanho
8 bits
8 bits
8 bits
8 bits
16 bits
16 bits
16 bits
16 bits

Hoje em dia o controlador do DMA encontra-se no chipset, podendo manipular toda a


quantidade de memria da mquina a mesma freqncia de operao da placa-me (barramento local),
liberando quase que totalmente a CPU das tarefas de transferncia de dados entre perifricos de I/O e a
memria.

Organizao de Computadores Notas de aula

55

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

6 Arquiteturas de computadores
Desde o desenvolvimento do primeiro computador com programa armazenado na memria, por
volta de 1950, houve poucas inovaes significativas nas reas de arquitetura e organizao de
computadores. Alguns dos maiores avanos desde o nascimento do computador foram:

O conceito de famlia de computadores: introduzido pela IBM com o Sistema/360, em 1964, e


seguido de perto pela DEC, com o PDP-8. O conceito de famlia de computadores desvincula uma
arquitetura de mquina de suas implementaes. So fabricados diversos computadores com
caractersticas de preo e desempenho diferentes, que apresentam, para o usurio, a mesma
arquitetura. As diferenas de preo e desempenho so devidas s diferentes implementaes da
mesma arquitetura.

Unidade de controle microprogramada: sugerida por Wilkes, em 1951, e introduzida pela IBM na
linha S/360 em 1964. A microprogramao facilita a tarefa de projetar e implementar a unidade de
controle e oferece suporte para o conceito da famlia de computadores.

Memria cache: introduzida comercialmente no IBM S/360 modelo 85, em 1968. A adio desse
componente na hierarquia de memria melhorou sensivelmente o desempenho.

Pipeline: mecanismo para introduzir o paralelismo na natureza essencialmente seqencial de


programas em linguagem de mquina. Alguns exemplos so os pipelines de instrues e
processamento vetorial.

Mltiplos processadores: essa categoria abrange grande nmero de organizaes diferentes, com
distintos objetivos.

A essa lista deve ser ainda adicionada uma das inovaes mais interessantes e, potencialmente,
mais importantes: a arquitetura com um conjunto reduzido de instrues (RISC).

6.1 CISC
Os processadores construdos segundo a arquitetura CISC (Complex Instruction Set Computer)
possuem uma grande quantidade de complexas instrues, vrios modos de endereamento (a memria),
poucos registradores de dados (propsito geral) e processamento controlado por microprograma. A
filosofia que o hardware mais rpido que o software, ento um conjunto poderoso de instrues
produziria programas executveis pequenos, ou seja, com poucas instrues.
Foram propostas e implementadas unidades lgica e aritmtica complexas, unidades de
multiplicao, unidades de diviso, unidades de processamento numrico com suporte representao
numrica em ponto flutuante e clculo de funes matemticas como trigonometria e logaritmos. Quanto
movimentao de dados, verificou-se o surgimento de inmeros tipos de endereamento de memria,
instrues que permitiram a movimentao de blocos de dados e instrues para tratamento de vetores e
matrizes.
Todo este desenvolvimento acarretou em um problema: a dificuldade em aumentar a freqncia
de operao. Devido complexidade envolvida, os circuitos se tornaram muito grandes, ocupando uma
rea considervel em silcio. Este fato dificulta a reduo do ciclo de operao.

Organizao de Computadores Notas de aula

56

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
Dessa forma, os projetistas ento voltaram sua ateno ao desenvolvimento de suporte a
operaes pelo hardware, ou seja, operaes complexas de transferncia de memria ou operaes
aritmticas passaram a serem resolvidas por circuitos eletrnicos atravs de uma nica instruo. Vem da
a denominao de processadores CISC (Complex Instruction Set Computer).
Porm, existe um problema: muitas instrues significam muitos cdigos de operao e,
portanto, muitos bits para o cdigo. Este fato acarreta duas desvantagens: instruo com maior
comprimento (mais de uma palavra) e mais tempo de interpretao (decodificao) da instruo. Alm
disso, instrues muito complexas demoravam vrios ciclos de mquina para serem executadas, enquanto
que instrues mais simples (que continuavam existindo) eram resolvidas mais rapidamente, o que
dificultava a implementao otimizada de pipelines.

6.2 RISC
Estudos do comportamento de execuo de programas de linguagens de alto nvel foram a base
para o surgimento de uma nova arquitetura de processadores: o Reduced Instruction Set Computer
(RISC). A predominncia de atribuies sugeria que a movimentao de dados simples deveria ser
otimizada. Existiam tambm muitas instrues condicionais e loops, sugerindo que o mecanismo de
controle seqencial deveria ser otimizado. E, finalmente, o padro de referncias de operandos sugeria a
possibilidade de melhorar o desempenho mantendo um moderado nmero de operandos em registradores.
As mquinas RISC apareceram no incio dos anos 80 em laboratrios de empresas (p.e. IBM),
como o IBM 801, e em instituies de pesquisa: RISC I e RISC II na Universidade da
Califrnia/Berkeley e MIPS na Universidade de Stanford. Em 1985, todas as trs estavam operacionais.
Estes projetos no tinham a inteno de revolucionar o projeto de processadores. Principalmente os
projetos de Berkeley e Stanford, tinham como foco o projeto de mquinas eficientes, mas simples o
suficiente para poderem ser implementados em ambiente universitrio.
As caractersticas principais de uma mquina RISC so:

Conjunto de instrues limitado, com um formato fixo e simples (no ultrapassavam o


tamanho da palavra);

Poucos modos de endereamento;

As operaes eram registrador-para-registrador (e no memria-para-memria) com somente


instrues LOAD e STORE para acesso memria;

Grande nmero de registradores ou a utilizao de compiladores que otimizam a utilizao


de registradores;

nfase na otimizao da pipeline de instrues.

A arquitetura RISC permitiu a implementao de circuitos operando a uma freqncia elevada,


devido ao fato de necessitar de circuitos muito mais simples comparados aos processadores CISC. Tudo
isso, devido ao fato de implementar apenas um conjunto limitado e otimizado de instrues. Os circuitos
de cada estgio de um pipeline RISC so muito mais simples, o que para o mundo da microeletrnica
significa menos atrasos e mais velocidade. claro que alta freqncia de operao no sinnimo de
processamento veloz ( um grande apelo de mercado), mas a arquitetura RISC abriu novas fronteiras para
o projeto de microprocessadores.
Organizao de Computadores Notas de aula

57

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
O objetivo das mquinas RISC era o de aumentar a eficincia da interface entre o compilador e o
hardware e no, diminuir o "gap" entre o usurio e o hardware. Este ltimo tem sido o objetivo das
mquinas consideradas CISC, como os microprocessadores de desktops e alguns servidores.
A compilao em processadores RISC simples e o cdigo gerado eficiente, at mesmo em
funo da prpria filosofia de se ter um conjunto reduzido de instrues. Ao lado disso, com o avano
tecnolgico da integrao VLSI ("Very Large Scale Integration"), tambm tornou-se possvel realizar o
mximo de operaes no interior do circuito integrado, aumentando a velocidade das operaes.
Pelo fato das instrues serem simples e pouco numerosas, vrias transferncias CPU/Memria e
vice-versa so necessrias. Este problema vem sendo resolvido com a tcnica de "cache", ou seja, ler um
grupo de instrues de uma nica vez, enfileir-las e execut-las em seguida.
Um outro aspecto diz respeito aos numerosos registradores internos a processadores RISC. Podese armazenar nesses registradores uma grande quantidade de dados temporrios, no interior da pastilha,
sem que sejam necessrios vrios acessos memria principal.
A tcnica de "pipeline" em vrios nveis tambm utilizada para aumentar ainda mais a taxa de
execuo de instrues. Algumas mquinas RISC executam uma instruo por ciclo de relgio, isto para
implementar um pipeline eficiente. As mquinas clssicas utilizam vrios ciclos de mquina, contendo
vrios ciclos de relgio para a execuo de uma nica instruo. Tcnicas para tentar manter o
processador ocupado o mximo do tempo foram desenvolvidas, como por exemplo o desvio atrasado
(delayed branch) e os circuitos de predio de desvios.
As instrues RISC, em geral, so de mesmo comprimento para aproveitar de maneira eficiente a
estrutura pipeline, uma vez que comprimentos diferentes levariam ao aumento do nmero de acessos
memria para busca de instrues. Outro problema, que o formato da instruo somente seria
descoberto aps a identificao da mesma, podendo causar problemas como bolhas no pip eline.

6.3 ILP Instruction Level Parallelism


Os processadores haviam evoludo de processadores seqenciais para processadores pipelined.
E com o desenvolvimento da arquitetura RISC, surgiram tcnicas para o projeto de pipelines
balanceados e eficientes. O prximo passo foi, ento, disponibilizar um maior nmero de recursos, ou
seja, implementar mais de uma unidade de execuo. O paradigma ILP tenta executar mais de uma
instruo por ciclo de relgio, extraindo da seqncia de instrues aquelas que so independentes, e que
possam ser enviadas para as unidades de execuo ao mesmo tempo.
O processador examina a seqncia de instrues, verifica a existncia de dependncia de dados
ou de controle, e pode vir at a executar as instrues fora de ordem.

6.3.1 Superescalares
O projeto superescalar apareceu logo depois dos projetos de arquitetura RISC. Embora as
tcnicas de arquitetura superescalar possam ser aplicadas mais diretamente a uma arquitetura RISC com
conjunto simplificado de instrues, a abordagem superescalar tambm pode ser usada em arquiteturas
CISC.
Inicialmente surgiram as implementaes superescalares, tendo em geral pares de pipelines,
permitindo que duas instrues pudessem ser executadas simultaneamente. Em geral, em caso de
Organizao de Computadores Notas de aula

58

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
dependncia de dados, estes processadores acabavam parando um dos pipelines, deixando fluir apenas
uma instruo. Era comum tambm a implementao de um pipeline complexo, que poderia executar
qualquer instruo, e uma outro mais simples, que executava apenas instrues simples. Como
representantes podemos citar o MC68060 desenvolvido pela Motorola e o Pentium desenvolvido pela
Intel.
Logo em seguida surgiram as implementaes de processadores com execuo dinmica fora de
ordem. Nestas implementaes os processadores ganharam mais de cinco unidades de execuo, e passou
a ser comum o despacho de mais de trs instrues por ciclo de relgio.

6.3.2 VLIW - EPIC


Surgiram ento os processadores que codificam mais de uma operao por instruo (VLIW
Very Long Instruction Word ou EPIC Explicit Parallel Instruction Computer (Intel + HP) ). Neste caso,
a verificao de dependncia de dados e/ou de controle fica a cargo do compilador.
Um exemplo a arquitetura IA-64 (Itanium). A arquitetura IA-64 usa instrues de tamanho fixo
(40 bits) e elas so executadas em um nico perodo de relgio, ou seja, so semelhantes s instrues
RISC: comprometidas com o desempenho. As instrues IA-64 so arrumadas em pacotes de 128 bits,
cada pacote com 3 instrues. Isso o que se chama VLIW, mas a Intel prefere usar o termo EPIC
("Explicitily Parallel Instruction Computing"), pois nesse pacote, alm das trs instrues, existem bits
para indicar quais podem ser executadas em paralelo. A CPU no mais precisa ficar analisando (durante a
execuo) o fluxo de instrues tentando descobrir o paralelismo intrnseco do problema, pois ele
explicitado durante a compilao. Cada instruo tem o tamanho fixo de 40 bits. A seqncia das
instrues fornecida pelo compilador e no necessariamente coincide com a ordem original do
programa. O campo de 8 bits, denominado "template", indica quais instrues desse pacote, e dos
prximos, podem ser executadas em paralelo.
Nesta fase foram implementadas as mais brilhantes idias no campo dos processadores. Eles
passaram a ser capazes de executar algumas instrues simultaneamente, resolveram os problemas de
dependncia de dados atravs da renomeao de registradores e de dependncia de controle atravs da
predio de saltos.
Comeou tambm neste momento, desaparecer a distino entre processadores CISC e
processadores RISC. Atualmente, as tcnicas utilizadas para o projeto so comuns tanto para os ditos
puramente CISC como para os puramente RISC. O conjunto de instrues CISC, de tamanho variado,
codificado internamente para um formato fixo, e ento utilizado tcnicas de projeto RISC. Por outro
lado, os processadores RISC ganharam um maior nmero de instrues, diminuindo a distncia entre as
duas arquiteturas.

6.4 CISC versus RISC versus VLIW


Conta a histria que as mquinas RISC ("Reduced Instruction Set Computer") surgiram quando
os projetistas substituram as instrues complexas por um conjuntos mais simples, mais veloz e de
controle mais fcil. Com isso, o chip ficou menos sobrecarregado, sobrando mais rea para ser usada em
outras unidades funcionais.
A histria real um pouco diferente! As mquinas RISC nasceram da necessidade de
simplificar-se a CPU. A idia foi trocar complexidade da CPU por otimizao durante a compilao.
Usou-se ento um conjunto de instrues pequeno mas veloz, que pudesse ser executado em paralelo e
Organizao de Computadores Notas de aula

59

Sistemas de Informao CST / UPF


Professor: Marcelo Trindade Rebonatto
ainda que fosse de fcil controle. Um grande conjunto de registradores substituiu os complexos modos de
endereamento. Com a simplificao da unidade de controle, uma maior rea do CI pode ser empenhada
diretamente no processamento. O trabalho de arrumar as instrues, de forma a espremer o mximo
desempenho da CPU, foi transferido para o compilador. Em outras palavras, boa parte da complexidade
da CPU foi transferida para o compilador. Assim o termo RISC no muito feliz pois ele faz referncia
apenas ao conjunto de instrues e ignora o importante papel do compilador em gerar programas
otimizados para essas mquinas.
A famlia x86 comeou com a CPU 8086, que uma mquina CISC. Com a demanda por
desempenho, os projetistas da Intel espremeram todo o desempenho passvel de ser obtida com essa
arquitetura. A evoluo natural seria para uma arquitetura RISC, mas isso comprometeria seriamente a
compatibilidade com o passado. A soluo encontrada foi a de projetar uma mquina hbrida: uma casca
CISC com um corao RISC. Assim so os Pentium Pro e Pentium II que traduzem as complexas
instrues x86 em uma ou mais micro-operaes que so executadas por uma mquina RISC. Essas
micro-operaes so de mais fcil controle e podem ser executadas em paralelo.
Porm uma grande parte da CPU ainda dedicada ao controle dessas instrues, predio dos
desvios e traduo. As atuais CPUs possuem milhes de transistores, mas, desse total, apenas uma
pequena parte usada diretamente no processamento, pois a grande maioria consumida no controle das
instrues para possibilitar a execuo fora de ordem e na predio dos desvios, ou seja, as atuais
arquiteturas RISC/CISC esto complexas novamente e, por isso, hora de aplicar o mtodo: vamos
simplificar a CPU e passar o trabalho de otimizao para o compilador. Essa a filosofia das mquinas
com arquitetura VLIW EPIC.

6.5 Paralelas
Tradicionalmente, o computador tem sido visto como uma mquina seqencial. A maioria das
linguagens de programao requer que o programador especifique um algoritmo como uma seqncia de
instrues. Os processadores executam programas por meio da execuo seqencial de instrues de
mquina. Cada instruo executada como uma seqncia de operaes (busca de instruo, busca de
operandos, execuo da operao, armazenamento dos resultados).
Essa viso do computador nunca foi totalmente verdadeira. No nvel de microoperaes, vrios
sinais de controle so gerados ao mesmo tempo. A tcnica de pipeline de instrues tem sido usada a
muito tempo, estendendo esta sobreposio pelo menos para as operaes de busca e execuo de
instrues. Esses so dois exemplos de execuo de funes em paralelo. Esta abordagem levada mais
adiante em uma organizao superescalar, que explora o paralelismo em nvel de instruo. Nas mquinas
superescalares, existem diversas unidades de execuo em um mesmo processador, que podem assim
executar vrias instrues de um mesmo programa em paralelo.
A medida que a tecnologia evoluiu e o custo do hardware do computador tornou-se mais baixo,
os projetistas de computadores tm buscado outras oportunidades de explorao do paralelismo,
usualmente para melhorar o desempenho e, em alguns casos, para aumentar a disponibilidade do sistema.
Podem ser encontradas diversas formas de organizao paralela. A figura 27 ilustra os principais
tipos.

Organizao de Computadores Notas de aula

60

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Organizao de computadores

nica Instruo,
nico dado (SISD)

nica Instruo,
mltiplos dados (SIMD)

Mltiplas Instrues,
nico dado (MISD)

Mltiplas Instrues,
mltiplos dados (MIMD

Uniprocessador
Processadores
vetoriais

Processadores
matriciais
Memria compartilhada
(fortemente acoplados)

Memria no compartilhada
(fracamente acoplados)

Cluster
Multiprocessador
simtrico

Sistemas com acesso


no uniforme a
memria (NUMA)

Figura 27 Organizao de computadores


A categoria SISD, representa as mquinas com apenas um processador. A categoria MISD, no
possui, pelo menos por enquanto, representante devido ao seu principio de funcionamento. As mquinas
paralelas situam-se nas nas categorias SIMD e MIMD, sendo que 90% concentram-se nas mquinas
MIMD. As mquinas SIMD so conhecidas como mquinas vetoriais ou paralelas.
As mquinas MIMD possuem uma diviso em relao ao espao de endereamento de memria.
Multiprocessadores possuem um nico espao para endereamento da memria, desta forma
possibilitando regies de dados compartilhados. So mquinas geralmente de custo elevado e limitado
nmero de processadores devido a conteno de acesso ao barramento de memria (SMP). Os
multicomputadores so mquinas MIMD com vrios espaos de endereamento de memria, desta forma
no possibilitando memria compartilhada. Estas mquinas possuem um custo reduzido, uma vez que
podem ser empregados componentes de computadores comercias na sua construo e no possuem um
limite rgido quanto ao nmero de computadores.

Organizao de Computadores Notas de aula

61

Sistemas de Informao CST / UPF

Professor: Marcelo Trindade Rebonatto

Bibliografia
MONTEIRO, Mrio A. Introduo organizao de computadores. Rio de Janeiro : LTC , 2001.
397p.
BRUSSO, Marcos Jos. Arquitetura e Organizao de Computadores I: notas de aula. Disponvel
por WWW em <http://vitoria.upf.tche.br/~brusso/arq1/download.html>
Weber, Raul Fernando. Arquitetura de computadores pessoais. Porto Alegre: Sagra Luzzatto , 2001.
271 p.
Weber, Raul Fernando. Fundamentos de arquitetura de computadores. Porto Alegre : Sagra Luzzatto ,
2000. 262 p.
MEYER, Marilyn et. al. Nosso futuro e o computador. Porto Alegre : Bookman , 2000. 599 p.
HENNESSY John L., PATTERSON, David A.. Computer organization and design: the hardware,
software interface. California : Morgan Kaufmann , 1998. 758 p.

Organizao de Computadores Notas de aula

62

Você também pode gostar