Buscar

01.02_-_Hardware_Curso_Completo_4a_Edicao_-_Cap_1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Capítulo 1 — Introdução ao Hardware do PC 
 
 
Fundamentos 
 
Como não poderia deixar de ser, o primeiro capítulo de nosso livro apresenta uma introdução sobre o 
funcionamento dos computadores. Independentemente se você já tem ou não alguma noção sobre o hardware de 
microcomputadores do tipo PC, a leitura deste capítulo é essencial. Neste capítulo apresentaremos noções teóricas 
importantes sobre o funcionamento desses micros, e você verá que inúmeros conceitos são apresentados de forma 
errônea em diversas outras publicações, o que faz com que você fique com uma idéia equivocada sobre o 
funcionamento dos PCs, daí a importância da leitura deste capítulo. 
 
Neste capítulo, estaremos vendo como os componentes do PC se comunicam; nos próximos capítulos da Parte 1 do 
livro, estaremos estudando aprofundadamente o funcionamento de cada um dos principais componentes de um PC 
típico. 
 
Um dos principais problemas que encontramos hoje no mercado é a classificação do micro de acordo com o 
processador que ele usa. Em nosso dia a dia ouvimos as pessoas dizendo “tenho um Pentium III” ou “vou comprar 
um Celeron” enquanto que Pentium III e Celeron são apenas os processadores da máquina e não a máquina inteira. 
Saber o restante dos componentes do micro, como placa-mãe, memória, disco rígido e placa de vídeo, é tão 
importante quanto saber o tipo de processador que a máquina usa, já que o desempenho e a qualidade geral da 
máquina serão dados não pelo processador, mas sim pelo conjunto de componentes da máquina. 
 
Outro conceito equivocado é o de que clock é sinônimo de velocidade, enquanto isso não é verdade. Um micro 
usando um processador de 1 GHz não necessariamente é mais rápido do que um micro usando um processador de 
800 MHz, porque a comparação de velocidade depende não só do processador que a máquina tem, mas também dos 
demais componentes utilizados. 
 
Neste capítulo, exploraremos não só idéias como essas que acabamos de comentar, mas também veremos quais são 
as principais partes de um micro e como se relacionam entre si, além de apresentarmos diversos conceitos 
importantes sobre hardware que estaremos usando daqui para frente. Nos demais capítulos desse livro, nós 
estaremos fazendo um estudo mais aprofundado sobre cada um dos componentes do micro. 
 
Para entendermos realmente como um computador funciona, devemos, antes de mais nada, estudar como os 
circuitos eletrônicos usados no computador funcionam, ou melhor, como comunicam-se. O computador e seus 
componentes são sistemas eletrônicos digitais, funcionando e comunicando-se através de números binários, como 
estudaremos a seguir. 
 
Números Binários 
 
Na natureza, todo tipo de informação pode assumir qualquer valor compreendido em um intervalo de — a + . 
Você consegue distinguir, por exemplo, uma cor vermelha que esteja um pouco mais clara de outro tom de 
vermelho. Consegue distinguir um som mais alto do que outro. Consegue perceber quanto um ambiente está mais 
claro do que outro. Todo esse tipo de informação é conhecido como informação analógica. 
 
 
 
A construção de circuitos eletrônicos teoricamente deveria seguir os mesmos moldes da natureza a fim de se tornar 
o mais real possível. No entanto, na hora da construção de circuitos eletrônicos para o processamento de 
informações, a utilização de informações analógicas tornou-se um grande problema. Para você ter uma idéia, 
imagine um determinado circuito eletrônico comunicando-se com outro a uma certa distância. Vamos dizer que os 
dois dispositivos permitam informações analógicas. Se um dispositivo enviar um determinado valor e, durante o 
percurso, houver um problema qualquer (em especial, interferências eletromagnéticas), tal informação chegará 
alterada. O grande problema, no entanto, estará no fato de que o dispositivo receptor não terá meios de verificar se 
a informação era verdadeira ou não. Como aceita qualquer valor, se, em vez de “70”, chegar o valor “71”, o 
dispositivo terá de aceitá-lo como verdadeiro. Dessa forma, nenhum dispositivo eletrônico conseguiria funcionar 
corretamente. 
 
Vamos usar o exemplo de uma música gravada em uma fita cassete comum. Após, digamos, cinco anos, a mesma 
música ficou com um som mais “abafado”, além de “chiados” e “estalos”; enfim, ruídos. Por quê? Como o 
gravador registrou a informação da música na fita cassete de maneira analógica, todo e qualquer ruído do meio irá 
interferir no resultado final, pois, na hora de reproduzir a música, o gravador simplesmente achou que os ruídos 
fizessem parte dela! Isso porque, como a informação foi gravada analogicamente, poderia assumir qualquer valor, 
inclusive o valor “ruído”. 
 
Dispositivos eletrônicos para o processamento de informações trabalham com um outro sistema numérico: o 
sistema binário. No sistema binário, ao contrário do sistema decimal, só há dois algarismos: “0” e “1”. No entanto, 
há uma grande vantagem: qualquer valor diferente desses será completamente desprezado pelo circuito eletrônico, 
gerando confiabilidade e funcionalidade. Como o sistema binário representa o estado de um dedo recolhido na mão 
(0) ou esticado (1), por vezes o chamamos de sistema digital. Cada algarismo binário (um “0” ou um “1”) é 
chamado de bit (contração de binary digit). 
 
Vamos usar agora o exemplo da mesma música gravada em uma fita DAT (Digital Audio Tape, que é uma fita 
cassete que grava informações de maneira digital e não analógica como as fitas cassetes convencionais) no mesmo 
dia em que a outra e vamos supor que aquela tivesse sofrido o mesmo tipo de influência do meio. Logo estaria, 
como a outra analógica, cheia de interferências em sua camada magnética, representada para nós sob forma de 
ruído. No entanto, há uma diferença: por ter sido gravada sob a forma de informações digitais, a música está 
codificada sob a forma de vários “0”s e “1”s. Logo, qualquer outro valor diferente de “0” ou “1” será simplesmente 
ignorado pelo gravador reprodutor! Principalmente o valor “ruído”! Por isso dizemos que sistemas digitais são mais 
confiáveis e mais puros. 
 
Outra vantagem do sistema digital sobre o analógico é que as informações são gravadas em forma de números. Por 
exemplo, em uma fita DAT ou em um CD, o que há gravado não são músicas ou sons, mas sim números (veremos 
isso melhor no Capítulo 22). Com isso, há como usarmos mecanismos de correção de erros a fim de verificar a 
integridade dos dados, como explicaremos melhor no tópico Transmissão de Dados, mais adiante. 
 
 
 
 
Matematicamente, escrevemos um número em função da potência de sua base, mesmo que isso pareça transparente 
para nós, que estamos acostumados a trabalhar, no dia a dia, com a base decimal. Para um número decimal de 
quatro algarismos, por exemplo, cada algarismo tem os seguintes “pesos”: 
 
 
103 
 
 
102 
 
 
101 
 
 
100 
 
 
Por exemplo: 
 
� 10: 1x101 + 0x100 
� 100: 1x102 + 0x101 + 0x100 
� 1.000: 1x103 + 0X102 + 0x101 + 0x100 
� 123: 1x102 + 2x101 + 3x100 
� 4.345: 4x103 + 3x 102 + 4x101 + 5x100 
 
Compreendendo esse “desmembramento” dos números em base decimal, é facílimo entender os números binários. 
Cada casa binária terá um “peso” individual, sempre relativo à potência de 2 — já que estamos trabalhando com a 
base 2. Para um número binário de oito algarismos (8 bits), cada algarismo tem os seguintes “pesos”: 
 
 
27 
 
 
26 
 
 
25 
 
 
24 
 
 
23 
 
 
22 
 
 
21 
 
 
20 
 
 
Por exemplo: 
 
� 0: 0x20 
� 1: 1x20 
� 110: 1x22 + 1x21 + 0x20 (eqüivalendo a 6 em decimal) 
� 10111: 1x24 + 0x23 + 1x22 + 1x21 + 1x20 (eqüivalendo a 23 em decimal) 
 
Conjuntos de algarismos binários (bits) formam palavras binárias que representarão números máximos bastante 
definidos — e relativamente pequenos. Obviamente, cada casa binária só poderá ser preenchida com dois 
algarismos (0 ou 1), enquanto cadacasa decimal pode ser preenchida com dez algarismos (de 0 a 9). Vamos ao 
exemplo de um número hipotético de quatro casas decimais. Esse número poderá ter qualquer valor de 0000 a 
9999, logo poderá assumir 10.000 valores diferentes — ou seja, poderá ter 10.000 variações (ou 104 variações) — 
isto é, o valor da base numérica (10) elevado ao número de casas numéricas (4). Comparativamente, um número 
hipotético também de quatro casas — porém, agora, binárias — poderá ter qualquer valor entre 0000 e 1111, ou 
seja, 24 variações, ou 16 valores diferentes. É fácil, portanto, observar que estaremos muito mais limitados 
utilizando a base binária do que a decimal, a que estamos tão acostumados. 
 
 
 
Palavras binárias recebem nomes especiais conforme a quantidade de bits utilizada pelas mesmas, representando 
uma variação de números bastante definida: 
 
� Nibble: 4 bits (24 = 16 variações) 
� Byte: 8 bits (28 = 256 variações) 
� Word: 16 bits (216 = 65.536 variações) 
� Double Word = 32 bits (232 = 4.294.967.296 variações) 
� Quad Word = 64 bits (264 = 18.446.744.073.709.551.616 variações) 
 
Como você deve ter observado, cada palavra destas está presa a um número predeterminado de bits, logo o número 
máximo que podemos expressar utilizando cada uma delas é limitado: com um nibble só podemos representar 16 
números (24); com um byte, somente 256 (28); com uma word, somente 65.536 (216) ; e assim sucessivamente. 
 
Dessa forma, também temos números “inteiros” em binário, só que, como estamos trabalhando em base 2, e não em 
base 10, esses números, parecem ser “quebrados” quando representados em decimal. Por exemplo, 8.192 é um 
número inteiro em binário, pois representa 213. Da mesma forma, 131.072 é considerado um número inteiro, pois 
representa 217. 
 
O sufixo K (kilo-), que, em decimal, representa 1.000 vezes (como em Km e Kg), em binário representa 210 vezes 
(1.024). Logo, 1 Kbyte representa 1.024 bytes, 2 Kbytes representam 2.048 bytes e assim sucessivamente. Do 
mesmo modo, o sufixo M (mega-) representa 220 vezes (1.048.576) e o sufixo G (giga-) representa 230 vezes 
(1.073.741.824), diferenciando-se completamente da representação decimal. 
 
Sufixo Quantidade 
Kilo (K) 210 = 1.024 
Mega (M) 220 = 1.048.576 
Giga (G) 230 = 1.073.741.824 
Tera (T) 240 = 1.099.511.627.776 
Peta (P) 250 = 1.125.899.906.843.624 
Exa (E) 260 = 1.152.921.504.607.870.976 
Zeta (Z) 270 = 1.180.591.620.718.458.879.424 
Yotta (Y) 280 = 1.208.925.819.615.701.892.530.176 
 
Atenção: Devemos ter muito cuidado para não cometermos falsos arredondamentos. 65.536, por exemplo, 
representa, em binário, 64 K (e não 65 K, como parece), assim como 157.286.400 representa 150 M (e não 157 
M). Tome muito cuidado! 
 
 
 
Base Hexadecimal 
 
Desde o surgimento dos primeiros microprocessadores, as palavras binárias de dados manipuladas eram múltiplas 
do nibble. Sendo assim, uma outra base numérica passou a ser amplamente utilizada — a base 16 (hexadecimal) —
, uma vez que o maior valor numérico que poderia ser atribuído a um nibble era 16. Dessa forma, temos: 
 
Valor decimal Valor Binário Valor Hexadecimal 
0 000 0 
1 0001 1 
2 0010 2 
3 0011 3 
4 0100 4 
5 0101 5 
6 0110 6 
7 0111 7 
8 1000 8 
9 1001 9 
10 1010 A 
11 1011 B 
12 1100 C 
13 1101 D 
14 1110 E 
15 1111 F 
 
Como você pôde observar, cada algarismo hexadecimal estará sempre representando 4 bits. Assim, F12AC é um 
número de 20 bits, como 129D3E12 é um número de 32 bits. A adoção da base hexadecimal para representação de 
números que, na verdade, estavam sendo manipulados em binários, foi quase imediata, uma vez que é muito mais 
fácil para o programador trabalhar com números em hexadecimal do que em binário. Imagine escrever uma soma 
de dois números de 32 bits! Haja tanto 0 e tanto 1! Ora, é muito mais fácil e cômodo escrever 123A do que 
0001001000111010! Assim, a possibilidade de erros por parte do operador diminui bastante. Em hexadecimal, cada 
número de 32 bits tem somente oito algarismos, tornando o trabalho de representação muito mais fácil e, sem 
dúvida alguma, seguro. Trabalhando com números binários, pessoas facilmente acabam por trocar um “0” por um 
“1” em algum momento. 
 
Começamos a ter um grande problema. Se você visse “10” estampado em algum lugar, que valor você atribuiria a 
ele? Dependeria da base em que o mesmo está representado. No nosso caso, teríamos de saber se esse número está 
em decimal, binário ou hexadecimal, pois os valores absolutos em decimal seriam 
 
 
 
10, 2 e 16, respectivamente. Dessa forma, precisaremos ter algum indicador de base numérica. Em informática, o 
mais comum é usar o símbolo “$” (dólar) ou a letra “b” para números em binário, por exemplo, $1011 ou 101”b, e 
a letra “h” para números em hexadecimal, por exemplo, 12h. Assim, 10 vale $1010 ou Ah. 
 
O byte é a palavra binária mais utilizada, por diversos motivos. O principal deles é o fato de que os 
microprocessadores se tornaram populares e passaram a ser usados em larga escala quando surgiram os modelos de 
oito bits, nos anos 70, sendo que esses modelos de processadores foram largamente utilizados nas mais diversas 
aplicações por mais de 10 anos. Devemos tomar alguns pequenos cuidados na hora de representar a abreviação de 
byte, a fim de que não haja confusão com a abreviação de bit. Enquanto abreviamos bit com “b” (b minúsculo), 
abreviamos byte com “B” (b maiúsculo). Assim, 1 KB é a representação de um kilobyte (1.024 bytes = 8.192 bits), 
enquanto 1 Kb é a representação de um kilobit (1.024 bits). 
 
Transmissão de Dados 
 
Normalmente quando falamos que um determinado dispositivo digital trabalha a um determinado número de bits, 
significa que o canal de comunicação desse dispositivo transmite e recebe essa quantidade de bits por vez, só 
podendo comunicar-se com dispositivos que manipulem a mesma quantidade de bits. 
 
A comunicação desses dois dispositivos, por sua vez, pode ser feita de duas maneiras: transmissão paralela ou 
transmissão em série. 
 
Transmissão Paralela 
 
Na transmissão paralela, todos os bits que o dispositivo transmissor é capaz de manipular são transmitidos 
simultaneamente ao receptor. Na Figura 1.1 mostramos a transmissão de um dado 10101110 entre dois dispositivos 
digitais. 
 
 
Figura 1.1: Comunicação paralela. 
 
 
 
 
A comunicação de todos os circuitos internos do PC é feita dessa maneira. Por exemplo, os atuais processadores 
transmitem 64 bits por vez; dessa forma, o caminho entre o processador e a memória RAM é um caminho de 64 
bits, como ilustramos na Figura 1.2 (esse caminho entre o processador e a memória RAM é chamado barramento 
local, como estudaremos mais adiante). 
 
 
Figura 1.2: Exemplo de comunicação entre dois dispositivos de 64 bits. 
 
Citamos a comunicação do processador com a memória RAM apenas para exemplificar. Como dissemos, todos os 
componentes internos do micro utilizam esse método de comunicação, tais como discos rígidos, placas de vídeo, 
placas de som, etc. O que pode variar é a quantidade de bits que são transmitidos por vez e a velocidade com que a 
transmissão é feita, isto é, com que freqüência os dados são enviados do transmissor ao receptor. 
 
Clock 
 
A transmissão de dados entre o receptor e o transmissor é controlada por um sinal de controle chamado clock. Esse 
sinal é usado para sincronizar o transmissor com o receptor, isto é, para informar ao receptor que um dado está 
sendo transmitido. A Figura 1.3 mostra a transmissão de quatro dados entre o processador e a memória RAM. 
Repare que os dados são transmitidos na subida do pulso de clock, isto é, quando o clock passa de zero para um. 
Somente um dado pode ser transmitido por pulso de clock (processadores como o Athlon e o Pentium 4 e memórias 
RAM do tipo DDR-SDRAM e Rambus permitem que mais de um dado seja transmitido por pulso de clock, comoestudaremos em momento mais oportuno). 
 
O clock a que nos referimos aqui é o sinal clock usado na transmissão dos dados e não o clock que normalmente as 
pessoas se referem quando estão falando de um computador ou processador (por exemplo, processador com clock 
de 800 MHz). Toda transmissão paralela utiliza um sistema de clock. A comunicação do disco rígido com a placa-
mãe utiliza um sistema de clock, assim como a comunicação da placa de vídeo com a placa-mãe. Esses sistemas de 
clock, entretanto, são independentes, isto é, o sistema de clock usado na transmissão de dados entre o processador e 
a memória RAM não é o mesmo usado na transmissão de dados entre o disco rígido e a placa-mãe, por exemplo. 
 
 
 
 
Figura 1.3: Um sinal chamado clock comanda a transferência de dados. 
 
Apenas para deixar esse conceito ainda mais claro, é válido já explicar que o clock que vimos na Figura 1.3 é o 
clock externo do processador (também conhecido como clock do barramento). Desde os processadores 486DX2, os 
processadores usados no PC utilizam um sistema de multiplicação de clock, onde o clock usado internamente pelo 
processador é diferente do clock usado em seu barramento local, isto é, usado na transmissão de dados entre o 
processador e a memória RAM. Por exemplo, um processador Pentium III de 700 MHz trabalha internamente a 700 
MHz, porém externamente o seu clock é de 100 MHz. Obviamente voltaremos a explicar esse assunto em 
profundidade no Capítulo 6. 
 
A velocidade da transmissão paralela depende da freqüência do clock, isto é, da quantidade de pulsos que ele faz 
por segundo, que é medida em uma unidade chamada Hertz (Hz). Um clock de 100 MHz, por exemplo, significa 
que o sinal de clock usado na transmissão emite 100 milhões de pulsos por segundo. Como em cada pulso de clock 
um dado pode ser transmitido, aumentando-se a freqüência do clock aumentamos a velocidade com que os dados 
são transmitidos. 
 
Taxa de Transferência 
 
Além do clock, a velocidade de transmissão paralela depende também da quantidade de bits que são transmitidos 
por vez. Uma transmissão onde sejam transferidos 64 bits por vez será mais rápida do que uma transmissão onde 
sejam transferidos 32 bits por vez, caso seja usada uma mesma freqüência de clock. 
 
De forma que possamos comparar velocidades de transmissão de diferentes sistemas que usem diferentes 
quantidades de bits, a velocidade de transmissão paralela foi padronizada em bytes por segundo (B/s). Sempre que 
você vir qualquer dispositivo onde sua velocidade seja dada nessa unidade, significa que esse dispositivo utiliza 
transmissão paralela de dados. Por exemplo, discos rígidos ATA-100 têm uma taxa de transferência de 100 MB/s e 
unidades de CD-ROM 52x têm uma taxa de transferência máxima de 7.800 
 
 
KB/s. Como você pode ver, esses dois dispositivos transmitem dados na forma paralela, já que as suas taxas de 
transferência estão sendo dadas em bytes por segundo. 
 
A velocidade de transmissão paralela pode ser obtida através da fórmula (a divisão por oito é feita para que o 
resultado seja dado em bytes por segundo): 
 
Taxa de transferência = clock (em Hz) x quantidade de bits 8 
 
Assim, um processador que transfira dados a 64 bits por vez usando um clock de 100 MHz, terá uma taxa de 
transferência máxima teórica de 800 MB/s. 
 
É interessante notar que essa taxa de transferência também pode ser obtida em um sistema transferindo dados a 128 
bits por vez com um clock de 50 MHz ou a 32 bits por vez com um clock de 200 MHz. 
 
Assim, um sistema que transfere uma quantidade de bits maior do que outro não é necessariamente mais rápido; 
depende do clock usado. Analogamente, um sistema de transferência que use um clock maior do que outro não 
necessariamente é mais rápido; depende da quantidade de bits que são transferidos por vez. 
 
Note que usamos a expressão “taxa de transferência máxima teórica”. Isso ocorre porque em nossos cálculos 
estamos levando em conta que estamos transferindo um dado por pulso de clock, sempre. Na prática, porém, essa 
situação raramente ocorre. Por exemplo, pode ser que o processador não use sempre todos os seus pulsos de clock 
para transmitir dados para a memória RAM: pode haver momentos em que o processador não terá o que transmitir 
para a memória RAM. 
 
Interferência Eletromagnética e Atenuação 
 
A transmissão paralela é a que oferece maior velocidade. O seu grande problema, entretanto, é com o ruído, isto é, 
interferência eletromagnética. Quando uma corrente elétrica passa por um fio, é criado um campo eletromagnético 
ao redor. Se o campo eletromagnético do fio for muito forte, será gerado um ruído no fio ao lado, corrompendo a 
informação que estiver sendo transmitida (ver Figura 1.4). Lembramos que as ligações existentes em uma placa de 
circuito impresso, chamadas trilhas, não deixam de ser fios que fazem a conexão dos diversos componentes 
soldados sobre a placa. 
 
 
Figura 1.4: Exemplo de interferência eletromagnética. 
 
 
 
 
Quanto maior a freqüência de operação, isto é, o clock, maior este problema. Esse é um dos motivos porque os 
processadores usam uma freqüência de operação externa muito menor do que a sua freqüência de operação interna. 
 
Além da interferência eletromagnética propriamente dita, há ainda o problema da atenuação, isto é, o sinal 
transmitido vai ficando fraco à medida em que trafega no fio, como mostramos na Figura 1.5. Quanto mais longo 
for o fio, mais fraco fica o sinal. A transmissão paralela tem um grande problema de atenuação de sinal, por isso 
quanto menor for o cabo, melhor. Esse é o motivo porque a transmissão paralela não é quase usada no exterior do 
micro, sendo mais usada em seu interior, como vimos discutindo. 
 
 
Figura 1.5: Exemplo de atenuação de sinal. 
 
Outro motivo é que a transmissão paralela usa uma quantidade alta de fios para efetuar a sua transmissão de dados. 
Na comunicação entre dois dispositivos de 64 bits, são necessários pelo menos 64 fios, um para cada bit de dados. 
 
Atualmente, o único dispositivo externo ao micro que utiliza comunicação paralela é a porta paralela do micro, que 
utiliza uma baixíssima taxa de transferência, de 150 KB/s e transmitindo apenas 8 bits por vez, justamente por 
conta desses problemas (as portas paralelas atualmente conseguem atingir 2 MB/s, como estudaremos no Capítulo 
23). A porta paralela é usada basicamente na comunicação entre o micro e a impressora. Como a impressora é um 
dispositivo lento (por ser um sistema mecânico), essa baixa taxa de transferência não chega a ser um problema. 
 
Correção de Erros 
 
Os sistemas de transmissão de dados usam esquemas de correção de erros de modo a verificarem se os dados 
chegaram íntegros ao destino. Há vários sistemas de correção de erros. Na transmissão paralela, o mais simples 
chama-se checksum, e o mais usado, CRC (Cyclical Redundancy Check), que é uma variação do método checksum. 
 
O conceito básico desses sistemas é o seguinte: após serem transmitidos n dados, o transmissor soma os valores 
desses dados, dando uma soma (chamada checksum). Essa soma é transmitida. O receptor faz o 
 
 
 
mesmo processo, somando os dados recebidos e comparando o valor de checksum obtido com o valor de checksum 
que havia sido enviado pelo transmissor. 
 
Se os valores forem iguais, significa que a transmissão foi bem sucedida e os dados não foram corrompidos no 
caminho. Neste caso, o receptor envia uma informação chamada acknowledge (ack) ao transmissor, informando 
que a transmissão foi bem sucedida e que ele pode enviar o próximo grupo de dados. 
 
Caso os dados tenham sido corrompidos no caminho, o receptor envia uma informação chamada negative 
acknowledge (nack) ao transmissor, fazendo que o transmissor reenvie o último grupo de dados. 
 
Dessa forma, quando há problemas de ruído e atenuação no caminho entre o transmissore o receptor, na realidade 
o receptor tem como verificar que os dados chegaram corrompidos, pedindo um reenvio de dados ao transmissor. 
Dessa forma, a transmissão fica mais lenta, não porque a velocidade de clock diminua, mas porque o receptor pede 
um reenvio de dados e isso faz com que os dados demorem mais tempo para chegar ao seu destino. 
 
Transmissão em Série 
 
A transmissão em série, também chamada transmissão serial (embora a palavra “serial” não exista em português), 
difere-se da transmissão paralela por transmitir apenas um bit por vez. Logo de cara, a grande diferença entre a 
transmissão em série e a paralela é a velocidade de transmissão: uma transmissão paralela de 64 bits será 64 vezes 
mais rápida do que uma em série, caso usem o mesmo clock! 
 
Só que, por usar apenas um único fio para transmitir suas informações, a transmissão em série sofre bem menos 
com os problemas de ruído e atenuação, fazendo com que seja o método de transmissão preferido para dispositivos 
localizados fora do micro, como teclados, mouses, redes de computadores, dispositivos USB, entre outros. Assim, a 
maioria dos dispositivos externos ao micro usa esse método de comunicação. 
 
Nota: Note que a porta serial do micro é apenas uma das portas que oferecem esse tipo de comunicação a 
dispositivos externos ao micro. A comunicação em série é também utilizada em portas USB e Firewire, por 
exemplo, só que, por usarem um padrão próprio de comunicação, são incompatíveis com a porta serial do PC. 
Para que você entenda melhor essa questão, pense o seguinte: o teclado do micro utiliza uma comunicação em 
série com o micro, só que ele usa uma porta própria para ele, a princípio não sendo possível conectar um teclado 
diretamente à porta serial do micro. 
 
Existem dois tipos de transmissão em série: síncrona e assíncrona. A diferença entre eles é que o primeiro usa um 
fio para transmitir o sinal de clock, enquanto que o segundo, não. 
 
Transmissão em Série Síncrona 
 
Como comentamos, a transmissão em série síncrona usa um fio para a transmissão do sinal de clock, que é usado 
pelo receptor para saber onde começa e onde termina cada dado que está sendo transmitido, como você pode ver na 
Figura 1.6. 
 
 
 
 
Figura 1.6: Exemplo de transmissão em série síncrona. 
 
Transmissão em Série Assíncrona 
 
Nesse tipo de transmissão em série, o mesmo canal onde os dados são transmitidos é usado para a transmissão dos 
sinais de sincronismo entre o transmissor e o receptor. Esse é o tipo de transmissão usada nas portas seriais do 
micro, como veremos no Capítulo 23. Nesse tipo de transmissão, são transmitidos dois sinais de sincronismo, 
chamados start bit e stop bit, indicando, respectivamente, o início e o fim da transmissão de um grupo de bits, 
como mostramos na Figura 1.7. 
 
 
Figura 1.7: Exemplo de transmissão em série assíncrona. 
 
Taxa de Transferência 
 
A taxa de transferência em comunicações em série é medida em bits por segundo (bps), já que nesse tipo de 
transmissão os dados são enviados bit a bit. Assim, quando você vir um dispositivo onde a sua taxa de transferência 
é expressa em bits por segundo, você sabe estar diante de um dispositivo que usa transmissão de dados em série, 
como modems (velocidade de 56 Kbps, por exemplo) e redes locais (velocidade de 100 Mbps, por exemplo). 
 
Atenção: Cuidado, portanto, para não confundir bits por segundo, que indica a velocidade de transmissão em 
comunicações em série, com bytes por segundo, que indica a velocidade de transmissão em comunicações 
paralelas. Tome cuidado também para não confundir bits por segundo com baud, que é uma outra unidade de 
medida de transmissões em série, que explicaremos melhor no Capítulo 24. 
 
 
 
 
 
Arquitetura dos Micros do Padrão PC 
 
Em vez de perdermos tempo vendo como era o PC antigamente até chegarmos no PC atual e em vez de vermos 
também a maneira clássica e acadêmica de ver um computador, vamos ver logo como é um PC atual, moderno, 
baseado nos processadores disponíveis atualmente no mercado. Deixaremos para ver a estrutura dos PCs antigos 
nos Capítulos 2 a 5, quando esse assunto for mais pertinente. 
 
 
Figura 1.8: Arquitetura de um PC moderno típico. 
 
 
 
 
Na Figura 1.8 vemos a arquitetura de um PC moderno típico. Todos os componentes que mostramos na Figura 1.8 
são instalados em uma placa principal, também chamada placa-mãe. Nessa placa localizam-se os circuitos de apoio 
(chipset) e os slots, que são conectores para a instalação de placas periféricas, tais como placas de vídeo e placas de 
som, além dos conectores para o processador, para a memória RAM, portas seriais, porta paralela, portas USB, 
conectores para os discos rígidos e muito mais. Estaremos estudando a placa-mãe em detalhes no Capítulo 12. 
 
Como comentamos no início deste capítulo, um PC não é formado somente pelo processador que a máquina usa; o 
micro é o conjunto formado por todos os dispositivos que o compõem, como a placa-mãe, memória RAM, placa de 
vídeo, disco rígido, etc. 
 
Todavia, o processador continua sendo o componente mais importante do micro, pelo menos do ponto de vista da 
arquitetura do PC, já que é nesse componente que os fabricantes investem pesado em pesquisa e desenvolvimento. 
Do ponto de vista da manutenção de micros, o componente mais importante do micro é o disco rígido, já que é lá 
que estão armazenados os arquivos do usuário. Se o processador do micro queimar, basta trocá-lo e o seu micro 
voltará a funcionar como antes. Se o disco rígido queimar, bem, a história é diferente: os seus dados terão sido 
perdidos (para a nossa sorte há empresas especializadas na recuperação de discos rígidos danificados). 
 
A seguir, vamos estudar como funciona um PC típico. Para isso, vamos começar pelo funcionamento do 
processador e a relação dele com os demais componentes do micro. 
 
Processador 
 
Os microprocessadores — por vezes chamados de processadores ou simplesmente CPU (Central Processing Unit) 
ou ainda, em português, UCP (Unidade Central de Processamento) — são circuitos integrados passíveis de ser 
programados para executar uma tarefa predefinida, basicamente manipulando e processando dados. 
Resumidamente, o papel do microprocessador é somente um: pegar dados, processar esses dados conforme 
programação prévia e devolver o resultado. De onde vêm tais dados e para onde vai o resultado é, para ele, 
indiferente (ver Figura 1.9). 
 
 
Figura 1.9: Esquema de funcionamento de um processador. 
 
 
 
 
 
Atualmente a maioria dos sistemas eletrônicos são microprocessados, isto é, têm um processador: fornos de 
microondas (você programa o tempo, temperatura, tipo de alimento, etc.), videocassetes (você programa para ele 
gravar a sua novela preferida todos os dias), carros (em seu sistema de injeção eletrônica, comanda a quantidade de 
ar e combustível que devem ser inseridos no motor, de acordo com dados lidos de alguns sensores), aparelhos de 
CD (você programa o aparelho a ficar repetindo indefinidamente aquela música do ABBA quando você está 
apaixonado) e, é claro, os computadores (para aquele nosso campeonato de Quake — afinal, ninguém é de ferro). 
Em teoria, qualquer sistema eletrônico que permita ser programado tem um processador controlando essa 
programação. 
 
Tal programação é feita através de instruções, que são “comandos” que o processador entende. Cada processador 
entende uma quantidade finita de instruções, que são listadas em uma tabela conhecida como conjunto de 
instruções. Cada processador tem um conjunto de instruções diferentes. Não faz sentido para um processador de 
um forno de microondas ter uma instrução do tipo “repetir faixa n”, bem como não faz sentido para o processador 
de um carro uma instrução do tipo “fazer pipoca” ou para um processador de um videocassete a instrução do tipo 
“injetar mais gasolina e cortar um poucodo ar”. 
 
Obviamente, no caso de processadores que são usados em sistemas dedicados, isto é, que tem uma quantidade 
limitada de tarefas que podem executar, como é o caso dos aparelhos que demos como exemplo, o conjunto de 
instruções é pequeno e limitado, e só servem para aplicações muito específicas. 
 
Os computadores, por outro lado, são sistemas que, ao menos teoricamente, têm a capacidade para serem 
programados até onde a imaginação do programador permitir. O que queremos dizer com isso é que os 
processadores usados em PC não são processadores de uso específico como os usados em fornos de microondas ou 
videocassetes, mas sim processadores de uso geral, que podem fazer uma infinidade de coisas (muito embora em 
nosso dia a dia a gente não use nem 20% da capacidade de processamento deles — bem, isso já é outra história). 
 
Funcionamento dos Processadores 
 
Como estamos vendo, os processadores são programados através de instruções. Um grupo de instruções forma um 
programa ou software. Em sistemas dedicados, como fornos de microondas, videocassetes, injeção eletrônica de 
carros, etc., o programa é sempre o mesmo. Quando anteriormente falamos que você “programa” um videocassete 
ou um aparelho de CD, na verdade você está entrando dados para o programa que está sendo executado pelo 
processador. A Figura 1.10 mostra o funcionamento básico de um sistema microprocessado. Dispositivos de 
entrada podem ser teclados, mouses, os botões localizados no videocassete, microondas, ou mesmo os sensores do 
sistema de injeção eletrônica do carro; e os dispositivos de saída podem ser monitores de vídeo, impressoras, 
displays de cristal líquido (no caso de microondas, videocassetes, etc.) e, no exemplo que demos do sistema de 
injeção eletrônica, o atuador que regula a mistura de ar e oxigênio que é injetada no motor do carro. 
 
 
 
 
Figura 1.10: Funcionamento básico de um sistema microprocessado. 
 
Você deve ter percebido no esquema apresentado na Figura 1.10 a existência de um componente chamado 
memória. O processador não tem uma capacidade interna de armazenamento muito grande. Isso significa que, a 
não ser em casos muito especiais (processadores dedicados), os programas não ficam armazenados dentro do 
processador, porque simplesmente não cabem lá dentro. 
 
Assim, o papel da memória é armazenar os programas para serem executados posteriormente pelo processador. 
Quando você está executando um programa em seu computador, o processador busca as instruções necessárias na 
memória RAM do micro. 
 
Existem dois tipos de memória, como explicaremos mais adiante: RAM (Random Access Memory) e ROM (Read 
Only Memory). O primeiro tipo permite que os dados presentes sejam modificados, enquanto que o segundo tipo, 
não. Em compensação, o conteúdo da memória RAM é apagada quando cortarmos a sua alimentação elétrica, o que 
não ocorre com a memória ROM. 
 
Por esse motivo, como sistemas dedicados executam sempre o mesmo programa, em geral esse programa está 
armazenado em uma memória ROM. Já em computadores, como podemos executar qualquer tipo de programa que 
a gente queira, a memória principal é do tipo RAM. 
 
Mas, é claro, que o sistema apresentado na Figura 1.10 é um sistema teórico. Na prática, o acesso do processador à 
memória RAM é intermediado por um circuito da placa-mãe (controlador de memória, que atualmente está 
embutido em um circuito chamado Ponte Norte, como veremos no Capítulo 12), como você pode ver na Figura 1.8. 
E mais: nos computadores atuais geralmente o processador não busca dados na memória RAM, mas sim a cópia 
dos dados da memória RAM presentes em um circuito chamado cache de memória, como estudaremos no Capítulo 
11. De qualquer forma, mantivemos essa explicação clássica por ser de mais fácil compreensão. 
 
Só que mesmo a memória RAM pode ser pequena para armazenar o programa que necessita ser executado, ou 
todos os programas que estão sendo executados ao mesmo tempo, no caso dos processadores atuais, que permitem 
o recurso de multitarefa. Além disso, como comentamos, o conteúdo da RAM é apagado sempre que desligamos o 
micro e, com isso, a memória está “vazia” sempre em que ligamos o computador. 
 
 
 
Por isso, dados e programas são armazenados em um sistema de memória secundária, também chamada memória 
de massa, tais como discos rígidos, CDs-ROM, disquetes e Zip-disks, onde os dados não são perdidos quando 
desligamos o micro. Acontece que esses sistemas, por serem de acesso mecânico, têm uma velocidade muito 
inferior à do processador. 
 
Dessa forma, o esquema utilizado na execução de programas em um micro é o apresentado na Figura 1.11 (que é 
um esquema teórico; compare com a Figura 1.8 para entender o esquema usado na prática). 
 
 
 
Figura 1.11: Como os programas são carregados pelo processador. 
 
Quando você “chama” um programa, o mesmo é transferido normalmente do disco rígido para a memória RAM, e 
o processador busca as instruções do programa na memória RAM. O único componente capaz de executar 
instruções é o processador. Dessa forma, os programas não são executados no disco rígido ou no CD-ROM, mas 
sim transferidos desses dispositivos para a memória RAM, onde posteriormente o processador irá carregar cada 
instrução do programa que você deseja executar. 
 
Independentemente da aplicação, todos os processadores trabalham de uma forma muito parecida. Para executarem 
uma determinada instrução, são seguidos os passos mostrados na Figura 1.12. 
 
Na primeira etapa, Busca da Instrução (também conhecida como fetch), o processador busca a instrução na 
memória. Em seguida, a decodifica, isto é, verifica se é uma instrução válida (presente em seu conjunto de 
instruções) e o que a mesma faz. Em seguida, busca na memória os dados necessários para executar a instrução, 
caso esta seja acompanhada de dados. Por exemplo, uma hipotética instrução “Some A+B” necessita dos valores de 
A e B, que serão buscados na memória nesta etapa. Só então é que a instrução é executada. Após a execução da 
instrução, o processo começa novamente, com o processador indo na memória buscar a próxima instrução a ser 
executada. 
 
Poderíamos nos aprofundar mais ainda na teoria do funcionamento dos processadores, mas perderia o sentido em 
um livro tão prático como esse. Se você se interessou pelo assunto, recomendamos a leitura dos livros indicados na 
Bibliografia. 
 
 
 
 
Figura 1.12: Passos para a execução de uma instrução. 
 
Evolução dos Processadores 
 
Os processadores foram inventados na década de 70 por uma empresa chamada Intel. Com o sucesso obtido, várias 
outras empresas também começaram a construir seus próprios processadores. No início da década de 80, quando 
estava projetando o seu IBM PC, a IBM decidiu usar processadores da família Intel, mais especificamente um 
chamado 8088. Outras empresas, que lançaram também computadores pessoais (como a Apple, só para citar a mais 
conhecida), optaram por criar sua própria linha de computadores, usando outras famílias de processadores, 
incompatíveis com os processadores da família Intel. 
 
Nota: Quando falamos “família Intel” queremos dizer “processadores com conjunto de instruções x86, 
originalmente criado pela Intel”. Processadores atuais como os fabricados pela AMD (que é um outro fabricante 
de processadores) são da família Intel, já que usam esse conjunto de instruções isto é, são 100 % compatíveis em 
software com os processadores originalmente criados pela Intel. Portanto, tome o cuidado para não entender 
equivocadamente esse conceito, achando que somente processadores fabricados pela Intel são da “família Intel”. 
 
Como falamos anteriormente, cada processador tem um conjunto próprio de instruções. O processador só 
compreende instruções que façam parte de seu conjunto de instruções. Dessa forma, instruções de um processador 
não são compreendidas por um processador diferente.Em outras palavras, um programa (série de instruções) 
escrito para um determinado processador não “roda” em outro processador diferente. É por esse motivo que um 
Macintosh não consegue executar diretamente um programa de PC e vice-versa, uma vez que os dois utilizam 
processadores com conjunto de instruções incompatíveis. 
 
 
 
 
Por esse raciocínio, é fácil perceber que teoricamente um micro com um processador mais moderno seria 
incompatível com um micro mais antigo, já que os processadores são diferentes. Entretanto, processadores que 
pertencem a uma mesma família têm, além de seu novo conjunto de instruções, o conjunto de instruções dos 
processadores anteriores, de modo que o novo processador continue podendo rodar programas antigos. Dessa 
forma, é possível um Pentium 4 executar um programa escrito para o 8088 (processador utilizado no primeiro PC), 
já que reconhece o conjunto de instruções do antigo 8088. 
 
Os processadores usados nos PCs (ou seja, processadores da família Intel, processadores x86) já estão em sua 7ª 
geração, isto é, em sua sétima revisão estrutural. Só é considerada uma nova geração quando há alterações no 
funcionamento interno do processador. O grande problema para aqueles que não estudam a matéria é que os 
fabricantes lançam no mercado processadores de mesma geração com diversos nomes comerciais diferentes, 
levando o usuário a pensar que há muito mais gerações de processadores do que realmente existe. 
 
O exemplo mais claro disso está nos processadores Pentium II e Pentium III, que são processadores Intel de 6ª 
geração, funcionando internamente exatamente da mesma maneira, porém sendo vendidos com nomes comerciais 
diferentes, induzindo ao leigo a achar que o funcionamento de um Pentium III é mais “avançado” do que o 
funcionamento de um Pentium II, enquanto que, internamente, esses processadores trabalham exatamente da 
mesma maneira. 
 
Para que você entenda a fundo como os processadores funcionam, é necessário o estudo da arquitetura de cada uma 
das gerações de processadores x86, o que estaremos fazendo nos próximos capítulos. Em outras palavras, para 
entender de forma aprofundada o funcionamento interno de um processador Pentium 4, você terá de estudar o 
funcionamento de todos os processadores anteriores a ele para compreender o que esse processador traz de novo. 
De forma a facilitar os seus estudos, apresentamos um resumo das sete gerações de processadores x86, seus 
principais processadores e as principais diferenças em sua arquitetura em comparação com a geração anterior. 
 
� 1ª Geração: Processadores 8086 e 8088. O 8088 foi o primeiro processador usado no PC. Ele é um 8086 
“piorado”. Apesar de ser um processador de 16 bits, o 8088 só acessa a memória a oito bits por vez. Isso foi 
feito porque na época do lançamento do 8086 não existiam circuitos de apoio de 16 bits no mercado, e os 
existentes eram muito caros, o que faria com que o PC custasse uma fortuna caso tivesse sido usado o 8086 em 
vez de o 8088. 
 
� 2ª Geração: Processadores 80286. Introduziu um modo de operação chamado modo protegido, que permitia ao 
processador acessar até 16 MB de memória RAM, dezesseis vezes mais do que o 8086/ 8088, entre outros 
recursos, como multitarefa e proteção de memória. Através de um outro modo de operação, chamado modo 
real, permitia que o processador se comportasse como se fosse um 8086, permitindo executar programas 
originalmente escritos para o primeiro PC. Esse processador não tinha uma instrução para que o processador 
voltasse do modo protegido para o modo real e, portanto, não tinha como ser usado na prática. Por isso que o 
modo protegido do 286 raramente foi usado. Estudaremos mais sobre esse processador no próximo capítulo. 
 
 
 
� 3ª Geração: Processadores 80386. Foi o verdadeiro marco na evolução dos processadores x86. O processador 
passou a ser de 32 bits e ter um modo protegido que funciona, permitindo o acesso direto a até 4 GB de 
memória RAM e recursos como multitarefa, proteção de memória, memória virtual e um novo modo de 
operação chamado virtual 8086 (ou simplesmente v86). Nós estudaremos o funcionamento de todos esses 
recursos no Capítulo 3. Nesta mesma época foi introduzido o conceito de memória cache, uma memória mais 
rápida do que a RAM localizada na placa-mãe, cujo conceito explicaremos mais adiante. 
 
� 4ª Geração: Processadores 80486. Adicionaram recursos internos para aumentar a velocidade de 
processamento: o co-processador matemático passou a estar embutido dentro do próprio processador (até o 386 
esse circuito era à parte, e você precisava instalá-lo na placa-mãe) e o processador passou a ter uma pequena 
quantidade de memória cache dentro dele. A partir do 486DX2, os processadores passaram a usar um esquema 
de multiplicação de clock, como chegamos a comentar anteriormente. Estudaremos esses processadores no 
Capítulo 4. Como você pode perceber, o 486 não passa de um 386 “vitaminado”. 
 
� 5ª Geração: Processadores Pentium e Pentium MMX. Apesar de serem processadores de 32 bits, a partir da 5ª 
geração os processadores x86 passaram a usar um barramento de dados de 64 bits, podendo transferir dois 
dados por vez, aumentando o desempenho. A principal modificação foi o uso da arquitetura superescalar, isto 
é, o processador passou a ter mais de uma unidade de execução interna. Em português, isso significa que o 
processador tem, internamente, mais de um processador. Estudaremos esses processadores no Capítulo 5. 
 
� 6ª Geração: Processadores Pentium Pro, Pentium II, Pentium III, Celeron, Pentium II Xeon, Pentium III Xeon. 
Apesar de usarem o nome “Pentium”, são processadores de geração diferente do processador Pentium original 
(também chamado Pentium clássico). A principal inovação foi o uso de uma arquitetura híbrida CISC/RISC, 
que estudaremos em detalhes no Capítulo 6 e, portanto, não perderemos tempo explicando aqui como essa 
arquitetura funciona. Outros recursos, como execução fora de ordem e execução especulativa, também foram 
adicionados. Outra novidade foi a adição do circuito de memória cache que até os processadores de 5ª geração 
estava na placa-mãe do micro dentro do próprio processador, aumentando o desempenho de processamento. 
Assim, a partir da 6ª geração os processadores passaram a ter dois caches de memória dentro dele, um chamado 
nível 1 (L1), adicionado na 4ª geração, e um chamado nível 2 (L2), que era o cache que antes estava localizado 
na placa-mãe e foi adicionado nesta geração. A maioria dos processadores encontrados no mercado no 
momento da publicação deste livro era de 6ª geração. 
 
� 7ª Geração: Processadores Pentium 4. A arquitetura interna dos processadores de 7ª geração é baseada na dos 
processadores de 6ª geração, trazendo modificações importantes para o aumento do desempenho do 
processador. As principais novidades foram o aumento do desempenho do barramento externo (transferindo 
quatro dados por pulso de clock, em vez de apenas um, como nos processadores das gerações anteriores), a 
mudança da arquitetura do cache L1 e a existência de duas unidades de execução trabalhando com o dobro do 
clock interno do processador. Veremos essa arquitetura em detalhes do Capítulo 7. 
 
 
 
 
� Processadores IA-64. A primeira geração dessa nova arquitetura é representada pelos processadores Itanium. 
Sua principal modificação em relação aos demais processadores é usar uma arquitetura RISC pura, chamada 
IA-64, permitindo a execução de sistemas operacionais de 64 bits. Na realidade, usa uma tecnologia que não é 
exatamente RISC, chamada VLIW (Very Long Instruction Word), que estaremos estudando em detalhes no 
Capítulo 8 e, por isso, não explicaremos agora. Representa a 2ª mudança real na arquitetura dos processadores 
x86 — a primeira foi nos processadores de 3ª geração — já que desde o 386 os processadores x86 utilizam 
basicamente a mesmaarquitetura de software. No momento da publicação deste livro, esses processadores 
ainda estavam chegando ao mercado, a preços exorbitantes e com um público-alvo de servidores de rede de 
alto desempenho. Como utiliza uma arquitetura completamente diferente, é pouco provável que esses 
processadores sejam destinados a usuários “comuns”, pelo menos a curto prazo. 
 
E os processadores não-Intel? Você deve estar se perguntando onde entram os processadores de outras empresas, 
especialmente os processadores da AMD. O problema é que a 5ª geração desses processadores já apresentavam 
recursos que a Intel só foi adotar na 6ª geração de seus processadores, em especial a arquitetura híbrida 
CISC/RISC. Por isso, a partir da 5ª geração não há como fazer uma correlação direta entre os processadores 
fabricados pela Intel com os processadores fabricados por outras empresas. Por isso, estudaremos esses 
processadores separadamente, no Capítulo 9. 
 
Arquitetura dos Processadores Atuais 
 
Nos próximos capítulos estaremos estudando aprofundadamente a arquitetura de todos os processadores atualmente 
disponíveis para PCs e a arquitetura de alguns processadores que serão lançados em breve. Apenas para deixar mais 
clara a compreensão da matéria, os processadores atualmente têm alguns circuitos que antigamente eram 
encontrados fora dele, como comentamos no tópico passado. Entre esses circuitos, destacam-se: 
 
� Co-processador matemático: Também chamado Unidade de Ponto Flutuante ou simplesmente FPU (Floating 
Point Unit). Até os processadores de 3ª geração (386), esse circuito era um circuito à parte e opcional, que 
deveria ser instalado em um local apropriado na placa-mãe do micro. A partir dos processadores de 4ª geração 
(486), esse circuito passou a estar incorporado dentro do processador e, portanto, você não encontrará esse 
circuito em nenhuma placa-mãe atual. A idéia é simples: como o processador não sabe fazer cálculos 
matemáticos muito complexos (como um seno ou uma raiz cúbica), o programa normalmente terá de 
desmembrar a tarefa em várias instruções que o processador entenda. O co-processador matemático já conhece 
todas as funções matemáticas, e executa com uma só instrução o que necessitaria de diversas outras em um 
processador comum. 
 
� Cache de memória L1: A partir dos processadores de 4ª geração (486), o processador passou a ter uma pequena 
quantidade de memória cache dentro dele, chamada cache interno ou nível 1 (level 1, L1), aumentando a 
velocidade de processamento (mais adiante explicaremos o porquê). Como atualmente os processadores têm 
tanto o cache de memória L1 quanto o L2 embutidos, os termos “interno” e “externo” não fazem mais sentido. 
 
 
 
� Cache de memória L2: A partir dos processadores de 6ª geração esse circuito, que antes estava localizado na 
placa-mãe do micro, passou a estar localizado dentro do próprio processador. A mudança aumentou o 
desempenho do processador, já que, estando na placa-mãe, esse circuito é acessado na freqüência de operação 
externa do processador. Estando embutido no processador, é usada a freqüência de operação interna do 
processador, que é muito maior. No Capítulo 11, explicaremos em detalhes o funcionamento desse circuito. 
 
Memória 
 
Vimos que o papel do processador é somente um: pegar dados, processá-los conforme uma pré-programação e 
devolvê-los, não importando de onde vêm ou para onde vão. Vimos também que, por não ter uma área interna de 
armazenamento muito grande, o processador busca programas de uma área genericamente chamada memória. 
 
Em um computador quando usamos o termo “memória” normalmente estamos nos referindo a sua memória RAM, 
como chegamos a explicar anteriormente. Se um programa que o usuário pretenda executar não estiver na memória 
RAM, então ele deve ser transferido de um sistema de memória secundário, como discos rígidos, unidades de CD-
ROM e disquetes para a memória RAM. 
 
Nota: Apesar de discos rígidos, unidades de CD-ROM, disquetes, etc. serem classificados como sistemas de 
memória secundária ou memória de massa, não devemos chamá-los de “memória”, já que o termo “memória” é 
sinônimo de memória RAM, como falamos. Muitos leigos chamam, de forma errônea, o disco rígido de 
“memória”. Enquanto para um leigo essa nomenclatura possa fazer sentido, para um técnico não faz, já que em 
seu dia a dia ele tem de tratar com diferentes tipos de memória, e uma classificação mais precisa é fundamental. 
 
As memórias eletrônicas — sejam do tipo RAM ou do tipo ROM — necessitam ser organizadas. Caso elas não 
sejam organizadas, não haverá como o processador saber onde buscar um determinado dado e onde colocar outro já 
processado. Por isso, internamente a memória é dividida em pequenas áreas, chamadas endereços. Imagine um 
edifício. Um edifício é dividido em n apartamentos. Para diferenciarmos cada apartamento, atribuímos números. 
Assim como podemos visitar o nosso vizinho que mora no apartamento 403, podemos ver um dado que se encontre 
no endereço 403. 
 
Na Figura 1.13, vemos o esquema de um circuito de memória de 1 MB. Dizer que uma memória é de 1 MB 
significa dizer que ela tem 1 M endereços que armazenam 1 byte cada. Como 1 M = 220 = 1.048.576, teremos essa 
quantidade de endereços para armazenarmos um dado de 8 bits em cada um. Observe que, na figura, ilustramos o 
armazenamento de um dado de 8 bits (um hipotético 10101100b) no endereço 5 h. 
 
 
 
 
Figura 1.13: Como funciona a memória. 
 
Você deve se lembrar que falamos que o processador e a memória RAM precisam se comunicar usando um mesmo 
número de bits (ver Figura 1.2). Os processadores disponíveis hoje para PCs têm um barramento de dados de 64 
bits, armazenando, portanto, 64 bits por vez, e não 8 bits como ilustramos na Figura 1.13. Você deve estar se 
perguntando o porquê de estarmos usando um exemplo tão antigo (o esquema da Figura 1.13 é válido para os 
primeiros PCs, que usavam o processador 8088, que acessava a memória a oito bits por vez). 
 
Acontece que, por motivos históricos, a unidade usada para se referir à memória continua sendo o byte (8 bits), 
ainda que os processadores atualmente acessem a memória a 64 bits por vez. É o que observamos quando dizemos 
que um determinado PC com um processador Pentium III tem 64 MB de memória, por exemplo. 
 
Além do motivo histórico, há uma razão técnica muito importante. O correto seria dizer que esse PC tem 8 Mega 
Quad Words (8 MQW) de memória RAM e não 64 MB, já que a memória RAM é um elemento de 64 bits (quad 
word) e não de 8 bits (byte). Se todos os processadores do mundo acessassem a memória a 64 bits, essa unidade, 
apesar de esquisita a uma primeira vista (já que não estamos acostumados a ela), faria sentido. O problema é que há 
vários processadores no mercado lançado em várias épocas diferentes, cada um acessando a memória a uma 
quantidade diferente de bits. 
 
Assim, o byte foi usado com uma unidade padrão para podermos fazer facilmente uma comparação da quantidade 
de memória que um micro tem, independentemente da época de sua construção ou do processador usado. Por 
exemplo, 16 MB eqüivalem a 8 Megawords, a 4 Megadoublewords e a 2 
 
 
 
Megaquadwords (todas essas quantidades querem dizer a mesma coisa: um sistema de memória capaz de 
armazenar 2.147.483.648 bits de informação). Seria inviável para um leigo entender que 16 MB, 8 MW, 4 MDW e 
2 MQW significam absolutamente a mesma coisa. Mesmo um técnico mais esperto teria dificuldade de pensar 
rápido se tantas unidades de medida de memória fossem usadas. 
 
Assim, embora o Pentium III seja um processador que acessa a memória RAM a 64 bits por vez, continuamos a nos 
referir à memória como se fosse esta um elemento de 8 bits. Isso pode gerar confusão no futuro; devemos ter em 
mente que a memória RAM, assim como qualquer outro dispositivo que o processador acesse diretamente, deverá 
trabalharcom um mesmo número de bits que o microprocessador (um processador que acesse a memória RAM a 
32 bits por vez necessitará de uma memória de 32 bits, mesmo que a unidade de memória de referência ainda seja o 
byte, como havíamos visto na Figura 1.2). 
 
Uma vez que a memória é um elemento externo ao processador, dizer que um processador pode acessar 
(“endereçar”) 1 MB de memória não significa que ele terá 1 MB de memória; significa que o microprocessador é 
capaz de enxergar até 1.048.576 lugares diferentes para armazenar dados de 8 bits. Para ter essa idéia ainda mais 
clara, basta lembrar que os processadores usados no PC a partir da sua 3ª geração (386) são capazes de acessar 
diretamente até 4 GB de memória. Você já viu algum micro com tanta memória instalada? 
 
Nota: Apesar de os processadores a partir do 386 permitirem o acesso a até 4 GB de memória RAM, a quantidade 
máxima de memória que podemos ter em um micro depende da placa-mãe, porque é no chipset (conjunto de 
circuitos da placa-mãe) que está embutido um circuito chamado Controlador de Memória, que gerencia o acesso à 
memória RAM. Esse circuito também tem um limite de acesso à memória RAM. Dessa forma, se a placa-mãe tem 
um chipset que acessa no máximo 512 MB de memória RAM, você só poderá ter, no máximo, 512 MB de memória 
RAM no micro, embora o processador consiga acessar bem mais do que isso. Voltaremos a esse assunto no 
Capítulo 12. 
 
RAM (Random Access Memory) 
 
Como dissemos anteriormente, quando usamos o termo “memória”, normalmente estamos nos referindo à memória 
RAM do micro. Esse tipo de memória é onde o processador busca instruções para serem processadas. 
 
A RAM (Random Access Memory) é um tipo de circuito eletrônico de memória que permite a leitura e a escrita de 
dados em seu interior. Só que ela é uma memória volátil, isto é, cortando-se sua alimentação elétrica, apagamos os 
dados que estavam nela armazenados. Por exemplo em uma calculadora, quando a desligamos, perdemos o dado 
que estava sendo exibido no visor, mostrando “0” quando a religamos. É por esse motivo que devemos usar 
sistemas de memória de massa (discos rígidos, CDs-ROM, disquetes, etc.) para armazenarmos dados e programas. 
 
 
 
ROM (Read Only Memory) 
 
A memória ROM (Read Only Memory) é um circuito eletrônico de memória onde os seus dados não podem ser 
modificados, isto é, o seu conteúdo é sempre o mesmo. Em compensação, o conteúdo dessa memória não é perdido 
quando cortamos a sua alimentação. 
 
Quando ligamos o micro, o processador não sabe o que fazer; ele precisa ser programado. O programa necessário 
para dar partida no micro é gravado em uma memória ROM, que está localizada na placa-mãe do computador. 
Assim, quando ligamos o micro, o processador lê e executa o programa que está localizado na memória ROM do 
computador. 
 
Um programa (software), quando armazenado em ROM, recebe o nome de firmware. Dentro da memória ROM do 
micro, há basicamente três programas (firmwares): 
 
1. BIOS (Basic Input/Output System, Sistema Básico de Entrada/Saída): “Ensina” o processador a trabalhar com 
os periféricos mais básicos do sistema, tais como os circuitos de apoio, a unidade de disquete e o vídeo em 
modo texto. 
 
2. POST (Power-On Self-Test, Autoteste ao Ligar): Um autoteste feito sempre que ligamos o micro. Você já deve 
ter reparado que, ao ligar o micro, há um teste de memória feito pelo POST. O POST executa as seguintes 
rotinas, sempre que o micro é ligado: 
 
� Identifica a configuração instalada. 
� Inicializa todos os circuitos periféricos de apoio (chipset) da placa-mãe. 
� Inicializa o vídeo. 
� Testa a memória. 
� Testa o teclado. 
� Carrega o sistema operacional para a memória. 
� Entrega o controle do microprocessador ao sistema operacional. 
 
3. Setup (Configuração): Programa de configuração de hardware do microcomputador; normalmente chamamos 
esse programa apertando um conjunto de teclas durante o POST (geralmente basta pressionar a tecla Del 
durante a contagem de memória; esse procedimento, contudo, pode variar de acordo com o fabricante da placa-
mãe). 
 
Como esses três firmwares estão gravados em uma mesma memória ROM, é muito comum haver confusão nos 
nomes e acabamos por chamar o POST ou o Setup de “BIOS”. Atualmente, usamos a nomenclatura “BIOS” como 
algo genérico, podendo ser interpretado como “tudo que está na memória ROM do micro”. 
 
 
 
Existem periféricos que também têm memória ROM, como, por exemplo, a placa de vídeo. O firmware dessas 
outras memórias ROM também são informalmente chamadas de BIOS. Assim “BIOS da placa de vídeo” é 
sinônimo do firmware contido na memória ROM da placa de vídeo. 
 
Atualmente há duas tecnologias básicas para a construção de circuitos de memória ROM: 
 
� Mask ROM: Essa é a tecnologia mais tradicional e usada até o lançamento das primeiras placas-mãe soquete 7 
(ver Capítulo 12). Esse tipo de circuito vem programado de fábrica e não há como reprogramá-lo, a não ser 
trocando o circuito da placa. 
 
� Flash ROM: Essa é a tecnologia mais moderna para circuitos de memória ROM, pois permite que o circuito 
seja reprogramado eletronicamente, isto é, usando o próprio computador. Com isso, você mesmo pode 
reprogramar um circuito de memória ROM sem a necessidade de trocar peças, como é o caso do upgrade de 
BIOS em placas-mãe mais modernas (ver Capítulo 12). 
 
Cache 
 
O processador consegue ser bem mais rápido do que a memória RAM. Embora esse problema não importasse 
muito na época dos primeiros PCs, começou a ser um inconveniente e tanto a partir do processador 386. A solução 
adotada na maioria das vezes era fazer com que o processador esperasse o tempo necessário para que a lenta 
memória RAM ficasse pronta para receber novos dados. Essa técnica chamada wait states — diminui o 
desempenho do micro, pois o processador passará boa parte do tempo ocioso, esperando a memória RAM ficar 
pronta para receber ou entregar dados. 
 
Uma outra solução mais inteligente é a utilização de uma pequena quantidade de memória RAM de alto 
desempenho, chamada memória estática (o circuito que forma a memória RAM do micro é chamado memória 
dinâmica), como intermediária na leitura e escrita de dados na memória RAM. Com isso, o micro ganha 
desempenho, pois o processador é capaz de trocar dados com a memória estática em sua velocidade máxima. 
 
Na Figura 1.14 mostramos um esquema simplificado do funcionamento do cache de memória. Um circuito 
chamado Controlador de Cache (tradicionalmente embutido no chipset da placa-mãe) copia os dados que acredita 
que o processador precisará, da memória RAM para o cache de memória. Assim, em vez de ter de buscar os dados 
na memória RAM, que é um caminho lento, pois usa wait states, o processador lê a cópia dos dados localizada no 
cache de memória, que é um caminho bem mais rápido. 
 
A técnica do cache de memória foi introduzida nos PCs a partir do uso do processador 386DX. Como comentamos 
anteriormente, a partir dos processadores de 4ª geração (486), os processadores passaram a conter uma pequena 
quantidade de memória estática em seu interior. Esse cache interno é também conhecido como cache nível 1, ou 
simplesmente L1 (Level 1). A memória estática que compõe o cache de memória, e que ilustramos na Figura 1.14, 
passou a ser chamada memória cache externa, nível 2, ou simplesmente L2 (Level 2). Até os processadores de 5ª 
geração (Pentium e Pentium MMX) essa memória cache está fisicamente localizada na placa-mãe. 
 
 
 
Figura 1.14: Funcionamento do cache de memória. 
 
Na Figura 1.15 vemos o esquema de cache de memória usado em processadores de 4ª e 5ª gerações. O cache de 
memória interno (L1) é de pequena quantidade (como 8 KB ou 16 KB), enquanto que o cache de memória externo 
(L2) tem uma quantidade maior (como 256 KB ou 512 KB). 
 
 
Figura 1.15: Esquema de cache de memóriausado nos processadores de 4ª e 5ª gerações. 
 
A partir dos processadores Intel de 6ª geração, o cache de memória L2 passou a também estar embutido dentro do 
processador, de forma a aumentar o desempenho do micro. O acesso ao cache, estando ele embutido dentro do 
processador, é feito usando o clock interno do processador, enquanto que o acesso ao cache estando ele na placa-
mãe do micro é feito usando o clock externo do processador (que é bem 
 
 
 
menor, como vimos anteriormente). Dessa forma, as denominações interno e externo não fazem mais sentido para 
os atuais processadores do mercado. Na Figura 1.16 vemos o esquema de funcionamento do cache de memória a 
partir desses processadores. 
 
 
Figura 1.16: Esquema de cache de memória usado a partir dos processadores de 6ª geração. 
 
Estudaremos o cache de memória em detalhes no Capítulo 11. 
 
Uso da Memória 
 
O processador 8088 usado nos primeiros PCs era capaz de “enxergar” somente 1 MB de memória. Essa área de 1 
MB foi dividida em 16 áreas menores de 64 KB cada. Para manter compatibilidade com programas mais antigos (e, 
principalmente, com periféricos mais antigos), os micros atuais continuam com a mesma estrutura do PC original 
no primeiro megabyte de memória. Portanto, em seu PC com 64 MB de memória RAM, o primeiro megabyte 
continua sendo dividido, usado e acessado como no primeiro PC. Essa área é dividida da seguinte forma: 
 
� Os dez primeiros bancos (banco 0 a banco 9, endereços que vão de 00000h a 9FFFFh) são utilizados pelo 
processador no endereçamento à RAM. Logo, concluímos que o máximo de RAM que os computadores PC 
endereçam é 640 KB (10 x 64 KB). Esse trecho de memória é chamado memória básica, ou memória 
convencional. Mesmo instalando-se mais do que 640 KB de RAM em micros modernos, sistemas operacionais 
antigos como o DOS só reconhecerão 640 KB, pois precisam manter compatibilidade com o PC original. 
 
� Os bancos 10 e 11 (Ah e Bh, endereços de A0000h a BFFFFh) são reservados para o acesso à memória de 
vídeo pelo microprocessador. As placas de vídeo serão discutidas em capítulo próprio, mas é bom saber que a 
memória de vídeo está fisicamente localizada na própria placa, e não na placa-mãe. 
 
� Os bancos de 12 a 14 (Ch a Eh, endereços de C0000h a EFFFFh) são reservados para a localização de 
firmwares das mais diversas interfaces periféricas, tais como placas de vídeo, placas SCSI e placas de rede. 
Esse trecho de memória é chamado de memória superior, ou UMB (Upper Memory Banks). 
 
� No banco 15 (Fh, endereços de F0000h a FFFFFh) está localizada a memória ROM do micro, que é mais 
conhecida como BIOS (Basic Input/Output System). Nessa área se localizará a linguagem Basic residente, caso 
tenha sido instalada. (É uma memória ROM opcional existente nos primeiros PCs.) 
 
 
 
Área de Memória Endereços Conteúdo 
0 a 640 KB 0000h a 9FFFFh Banco 0 ao banco 9 
Memória Convencional 
640 a 704 KB A0000h a AFFFFh Banco 10: Memória de Vídeo 
704 a 768 KB B0000h a BFFFFh Banco 11: Memória de Vídeo 
768 a 832 KB C0000h a CFFFFh Banco 12: ROM da placa de 
vídeo 
832 a 896 KB D0000h a DFFFFh Banco 13: Firmware de 
interfaces 
896 a 960 KB E0000h a EFFFFh Banco 14: Firmware de 
interfaces 
960 a 1.024 KB F0000h a FFFFh Banco 15: BIOS (e Basic 
residente, caso haja). 
 
Figura 1.17: Mapa de memória usado pelos PCs no primeiro megabyte de memória. 
 
Barramento 
 
Genericamente falando, o barramento é um caminho para a troca de dados entre dois ou mais circuitos. Em geral, 
os barramentos que utilizam comunicação paralela, como o barramento local (barramento que conecta o 
processador à memória RAM), podem ser divididos em três grupos: 
 
� Barramento de dados: É por onde os dados circulam. 
 
� Barramento de endereços: É por onde a informação de endereço é fornecida. 
 
� Barramento de controle: Informações adicionais como, por exemplo, se a operação é de leitura ou escrita. 
 
Nos exemplos que demos anteriormente neste capítulo, quando falamos do barramento, falávamos somente do 
barramento de dados, como nas Figuras 1.2 e 1.3. 
 
Na Figura 1.18, nós vemos essa divisão no barramento local do micro. Se o processador quiser armazenar o dado 
10101100b no endereço 5h (como exemplificamos anteriormente na Figura 1.13), deverá colocar, no barramento de 
dados, o valor do dado (10101100b), no barramento de endereços, o valor do endereço (5h) e, no barramento de 
controle, confirmar que se trata de uma operação de escrita em memória. Tudo isso é feito simultaneamente. 
 
 
 
 
Figura 1.18: Divisão do barramento. 
 
Nota: A Figura 1.18 é uma representação teórica, já que na prática o processador não se comunica diretamente 
com a memória RAM, mas sim com o chipset da placa-mãe (Ponte Norte), como havíamos mostrado anteriormente 
na Figura LS. Usamos essa representação teórica apenas para facilitar o entendimento da matéria. 
 
Na Figura 1.8, nós havíamos visto os principais barramentos existentes em um PC moderno: o barramento local, 
que conecta o processador à memória RAM, e os barramentos de I/O, como o PCI, o AGP e o ISA, que conectam 
placas periféricas ao micro. 
 
Muitas vezes todos os circuitos presentes em um barramento são conectados em paralelo. Isso significa que todos 
os circuitos recebem a mesma informação ao mesmo tempo. Por exemplo, em um micro com uma placa de som 
PCI e uma placa de vídeo PCI, essas duas placas recebem as mesmas informações ao mesmo tempo. Mas graças à 
existência do barramento de endereço e do barramento de controle, os circuitos são capazes de saber para quem é o 
dado que está circulando no barramento de dados. Assim, a placa de vídeo sabe que um dado é destinado a ela, 
capturando este dado, enquanto que a placa de som fica inoperante, já que sabe que o dado não é para si. 
 
Barramentos de I/O 
 
Quando dissemos somente “barramento” ou “barramento do processador” ou ainda “barramento do micro”, 
normalmente estamos nos referindo ao barramento local, que é o caminho que conecta o processador à memória 
RAM, como vimos. Esse barramento é de alto desempenho e, por esse motivo, periféricos lentos não podem ser 
conectados diretamente a ele, para que não haja obstrução na comunicação do processador e, conseqüentemente, 
queda de desempenho. 
 
 
 
Por esse motivo, o processador comunica-se com periféricos através de outros barramentos, genericamente 
chamados barramentos de I/O (ou E/S, Entrada/Saída), como havíamos visto na Figura 1.8. Entre esses 
barramentos, podemos citar os barramentos AGP, PCI e ISA. A comunicação desses barramentos com o 
barramento local é feita através de um circuito chamado ponte, que faz parte dos circuitos de apoio da placa-mãe 
(chipset). Estudaremos os barramentos do micro em detalhes no Capítulo 10. 
 
Clock 
 
Nós já falamos sobre esse assunto anteriormente, mas é sempre bom enfatizar. O clock é um dos sinais presentes no 
barramento de controle de qualquer barramento que use comunicação paralela. Ele serve para sincronizar a 
transferência de dados entre o transmissor e o receptor, como vimos na Figura 1.3. O sinal de clock comanda, 
portanto, a transferência de dados entre dois circuitos. 
 
Quanto maior for a freqüência do clock, mais dados serão transferidos, aumentando a taxa de transferência dos 
dados e, portanto, aumentando o desempenho da comunicação. 
 
Entretanto, como falamos algumas vezes, clock não é sinônimo de desempenho, ainda mais nos micros modernos. 
 
O clock estampado nos processadores é usado somente internamente, dentro do processador. Os processadores 
atualmente utilizam um esquema de multiplicação de clock, onde o clock do barramento local é muito inferior ao 
clock interno do processador. Por exemplo, em um Pentium III-700, internamente o processador opera a 700 MHz, 
mas o barramento local opera a somente 100 MHz. Esse esquema de multiplicaçãode clock foi criado porque é 
difícil construir placas-mãe e circuitos de apoio que consigam operar em freqüências de operação tão altas como 
aquelas que os processadores conseguem trabalhar internamente. 
 
Em um micro, o desempenho não é determinado pelo clock do processador, mas sim pelo desempenho geral do 
conjunto, onde os demais componentes do micro — placa-mãe, memória RAM, disco rígido e placa de vídeo — 
influenciam diretamente. Assim, dois micros equipados com o mesmo processador podem ter desempenhos 
completamente diferentes. 
 
No caso de micros equipados com processadores diferentes, o caso é ainda pior, porque o desempenho do 
processador não é só influenciado pelo seu clock interno: um processador onde suas instruções consigam ser 
executadas mais rapidamente será mais rápido! É por esse motivo que muitas vezes encontramos processadores de 
clock mais baixos sendo mais rápidos do que processadores de clock mais elevados. 
 
Para que essa idéia fique ainda mais clara, vamos a um exemplo real. Há casos em que o processador 486 é capaz 
de executar uma instrução por pulso de clock. Já o processador 386 executa uma instrução usando, no mínimo, três 
pulsos de clock. Nessa situação dada, o processador 486 é três vezes mais rápido do que um 386 operando a um 
mesmo clock! Por esse motivo, um 486 operando a 25 MHz consegue ser mais rápido do que um 386 operando a 
40 MHz. 
 
A única forma existente para a comparação de desempenho de computadores é o uso de programas de teste de 
desempenho, como o Winstone. 
 
 
 
Internet: Veja uma lista completa de programas de teste de desempenho em 
http://www.clubedohardware.com.br/download.html. 
 
Além disso, dizer que um determinado processador foi projetado para trabalhar a uma determinada freqüência de 
clock não significa necessariamente que só trabalhará com aquela freqüência, e sim que suportará trabalhar no 
máximo àquela freqüência. Se quisermos, teoricamente podemos colocar um Pentium III-1000 para trabalhar a 100 
MHz em vez de 1 GHz. Porém, qual seria a vantagem? 
 
O clock externo do processador é o sinal de clock usado no barramento local do micro. Os barramentos de I/O 
geralmente trabalham com freqüências de operação diferentes, como você aprenderá no Capítulo 10. Por exemplo, 
o barramento ISA trabalha com um clock de apenas 8 MHz, independentemente do processador da máquina. Isso 
garante que qualquer placa ISA instalada no micro funcionará corretamente. O mesmo ocorre com os demais 
barramentos de I/O — em especial, o PCI (que trabalha a 33 MHz, na maioria das vezes) e o AGP (que trabalha a 
66 MHz). 
 
Reset 
 
Outro sinal bastante importante presente no barramento de controle do barramento local do micro chama-se reset, 
responsável por reinicializar o micro. Há basicamente duas formas de dar um reset no micro: através da chave 
Reset no gabinete do micro ou pressionando simultaneamente as teclas Ctrl, Alt e Del. 
 
No primeiro caso, o reset será efetuado por hardware: a chave no painel do gabinete é fisicamente conectada ao 
barramento de controle do micro. Quando um reset desse tipo é executado, o micro se comporta exatamente como 
se tivesse sido ligado novamente. 
 
Já no segundo caso, o reset é interpretado pelo sistema operacional, que poderá ou não repassar a informação de 
reset para o barramento de controle. Esse é um reset por software. Em geral, com um reset desse tipo, desviamos o 
processador das sub-rotinas iniciais do POST — como, por exemplo, a contagem de memória. O POST será 
executado somente do passo “Carregar o sistema operacional para a memória” em diante. Nesse caso, não teremos 
um microcomputador totalmente “limpo” (poderemos ter “restos” de programas ainda ocupando a memória RAM). 
Contudo, esse processo será mais rápido, uma vez que o POST não executará diversas sub-rotinas. 
 
Memória de Massa 
 
Como o conteúdo da memória RAM do micro se apaga quando o desligamos, devemos ter outros meios de 
armazenar os nossos dados e programas, de modo que eles possam ser recuperados futuramente. A ROM, apesar de 
manter as informações inalteradas, é uma memória somente de leitura, não permitindo que o usuário a utilize para 
guardar dados e programas. 
 
 
 
 
Dados e programas devem ser, portanto, armazenados em outro meio (mídia) que não o elétrico. Normalmente é 
utilizado o meio magnético: fitas e discos magnéticos (como disquetes e discos rígidos). Outra mídia cada vez mais 
popular é a óptica, disponível em CDs. Desse modo, as informações são armazenadas em um meio não-volátil e 
poderemos recuperá-las em uma outra oportunidade. 
 
É incrível a quantidade de usuários iniciantes que confunde a memória de massa com a memória principal do 
computador. A grande maioria acha que um disco rígido é que é a “memória” do computador. Devemos ter claro 
em mente o seguinte: a memória principal do computador é a RAM, ou seja, a que apaga quando o desligamos. 
Essa memória é também conhecida como memória primária. 
 
Por esse motivo, é necessário “carregar” o sistema operacional e programas para a memória RAM toda vez que 
ligamos o micro. Os programas deverão ser carregados de algum sistema de memória de massa — especialmente 
discos rígidos e disquetes. Essa “memória” é também conhecida como memória secundária e serve também para 
armazenarmos arquivos de dados. 
 
Mídias para cópias de segurança (backup) — como discos ópticos e fitas DAT — por vezes são referenciadas como 
memória terciária por armazenarem cópias de dados de discos rígidos (memória secundária) e pelo fato de o acesso 
a elas ser bem menos freqüente. 
 
Dispositivos de Entrada e Saída 
 
Embora o computador seja um objeto fantástico, não nos adiantaria em nada se ele não pudesse receber dados do 
usuário ou responder ao processamento executado de alguma forma. Em outras palavras, o computador seria um 
elefante branco se não pudéssemos fazê-lo se comunicar com o meio externo. Por isso, existem diversos 
dispositivos de entrada e saída de dados, genericamente chamados de dispositivos de I/O (Input/Output) ou 
dispositivos de E/S (Entrada/Saída), por exemplo, um teclado (dispositivo de entrada de dados) e um monitor de 
vídeo (dispositivo de saída de dados). 
 
Endereços de I/O 
 
O processador necessita programar os circuitos periféricos de apoio existentes na placa-mãe, bem como comunicar-
se com dispositivos de entrada e saída, que podem estar conectados na placa-mãe, através de um barramento de I/O 
(como é o caso da placa de fax modem e da placa de som, por exemplo). Essa comunicação é feita através de uma 
área distinta e independente, chamada área de I/O (Input/Output, Entrada/Saída). 
 
Tradicionalmente, no PC, essa área é de 1 KB, ou seja, há 1.024 endereços (de 000h a 3FFh) que são utilizados 
pelo processador para se comunicar com algum circuito periférico ou programá-lo. 
 
Como exemplo prático, podemos citar a porta paralela, utilizada para a comunicação do micro com a impressora. 
Normalmente, a porta paralela do micro utiliza o endereço 378h, ou seja, quando o micro quer enviar algum dado à 
impressora, simplesmente “joga” esse dado para o endereço de I/O 378h. 
 
 
 
 
No Windows 9.x, você pode facilmente visualizar qual endereço de I/O um determinado periférico está utilizando 
(a área de I/O é chamada de Intervalo de Entrada e Saída). Isso pode ser feito através do gerenciador de 
dispositivos, acessado pelo ícone Sistema do painel de controle (um caminho alternativo seria clicar com o botão 
direito do mouse sobre o ícone Meu Computador, escolhendo a opção Propriedades do menu que aparecerá). Basta 
clicar no periférico que você quer visualizar e, a seguir, escolher a guia Recursos, como exemplificamos na Figura 
1.19. 
 
 
Figura 1.19: Visualizando os endereços de I/O utilizados por uma placa de som no Windows 9.x. 
 
Circuitos de Apoio 
 
É claro que o processador não é capaz de

Outros materiais