Você está na página 1de 64

Evolução e Arquitetura de Computadores

Sumário
pág.

1. EVOLUÇÃO E ARQUITETURAS DOS COMPUTADORES ....................................................................... 9


1.1- Evolução dos computadores ............................................................................................................................................ 9
1.1.1- Computadores eletrônicos – 1ª Geração .................................................................................................................. 9
1.1.2 - Computadores transistorizados – 2ª Geração........................................................................................................ 11
1.1.3 - Computadores com circuitos integrados – 3ª Geração ...................................................................................... 12
1.1.4 - Últimas gerações .............................................................................................................................................................. 12
1.2 -Arquiteturas de computadores ....................................................................................................................................... 13
1.2.1 - Máquinas von Neumann ............................................................................................................................................... 13
2. A Unidade Central de Processamento - CPU....................................................................................... 15
2.1 - Estrutura e funcionamento da CPU............................................................................................................................... 15
2.2 - Evolução da CPU .................................................................................................................................................................. 17
2.3 - Coprocessador aritmético e memória cache ............................................................................................................. 19
2.4 - Modo Real x Modo Protegido ......................................................................................................................................... 19
2.4.1 Memória Virtual ................................................................................................................................................................... 20
2.4.2 - Multitarefa........................................................................................................................................................................... 21
2.4.3 -Memória Protegida ........................................................................................................................................................... 21
2.5 - Clock ......................................................................................................................................................................................... 21
2.6 - Pipeline de instruções ........................................................................................................................................................ 22
2.7 - Arquiteturas CISC e RISC ................................................................................................................................................... 25
3. Memórias............................................................................................................................................... 27
3.1- Memórias primárias ............................................................................................................................................................. 29
3.1.1 - Memória RAM .................................................................................................................................................................... 29
3.1.2 - Memória cache .................................................................................................................................................................. 30
3.1.3 - Memória ROM ................................................................................................................................................................... 31
3.1.4 - Memória de configuração CMOS................................................................................................................................ 32
3.1.5 - Registradores ..................................................................................................................................................................... 33
3.2 - Memórias secundárias ....................................................................................................................................................... 33
3.1.2 - Disco rígido......................................................................................................................................................................... 33
3.2.2 - Disquetes ............................................................................................................................................................................ 36
3.2.3 - Fita magnética ................................................................................................................................................................... 37
3.2.4 - Discos óticos....................................................................................................................................................................... 38
3.2.5 - Pen drives ............................................................................................................................................................................ 38
3.2.6 - Cartões de memória ........................................................................................................................................................ 39
4. Periféricos do computador .................................................................................................................. 40
4.1 - Dispositivos de entrada ..................................................................................................................................................... 40
4.1.1 - Teclado ................................................................................................................................................................................. 40
4.1.2 - Mouse ................................................................................................................................................................................... 40
4.1.3 - Scanner ............................................................................................................................................................................... 41
4.1.4 - Leitor Ótico ........................................................................................................................................................................ 41
4.1.5 - Microfone ........................................................................................................................................................................... 41
4.2 - Dispositivos de saída .......................................................................................................................................................... 41
4.2.1 - Monitor de Vídeo .............................................................................................................................................................. 42
4.2.2 - Impressoras ........................................................................................................................................................................ 42
4.2.3 - Plotters ................................................................................................................................................................................. 43
4.2.4 - Speakers............................................................................................................................................................................... 43
5. Outros componentes do computador ................................................................................................ 44
5.1 - Barramentos .......................................................................................................................................................................... 44
5.1.1- Barramento AGP ................................................................................................................................................................ 45
5.1.2 - Barramento PCI ................................................................................................................................................................. 46
5.1.3 - Barramento ISA ................................................................................................................................................................. 46
5.1.4 - Barramento USB................................................................................................................................................................ 46
5.1.5 - Barramento Firewire ........................................................................................................................................................ 47
5.1.6 - Slots de expansão e adaptadores............................................................................................................................... 47
5.2 - Portas de comunicação ..................................................................................................................................................... 48
5.2.1 - Portas seriais e paralelas ................................................................................................................................................ 48
5.2.2 - Portas PS/2 .......................................................................................................................................................................... 49
5.2.3- Comunicação com transmissão sem fio.................................................................................................................... 49
5.3 Cooler ......................................................................................................................................................................................... 50
5.4 - Placa – Mãe ............................................................................................................................................................................ 50
5.5 - Chipset ..................................................................................................................................................................................... 50
5.6 - Fonte de Alimentação ........................................................................................................................................................ 52
6. Sistemas numéricos .............................................................................................................................. 54
6.1 - Sistema numérico decimal ............................................................................................................................................... 54
6.2 - Sistema numérico binário................................................................................................................................................. 54
62.1 - Representação de Números Inteiros .......................................................................................................................... 55
6.2.2 - Negação em complemento de dois .......................................................................................................................... 57
6.2.3 - Adição em binário ........................................................................................................................................................... 58
6.2.4 - Subtração em binário ..................................................................................................................................................... 59
6.2.5 - Multiplicação em binário .............................................................................................................................................. 59
6.2.6 - Divisão em binário ........................................................................................................................................................... 61
6.3 - Sistema numérico hexadecimal ..................................................................................................................................... 62
6.4 - Conversão de bases ............................................................................................................................................................ 63
6.4.1 - Decimal-binário ................................................................................................................................................................ 63
6.4.2 - Hexadecimal – Binário .................................................................................................................................................... 63
6.4.3 - Binário - Hexadecimal .................................................................................................................................................... 63
6.4.4 - Qualquer base para a decimal ..................................................................................................................................... 64
6.4.5 - Decimal - Hexadecimal................................................................................................................................................... 64
Evolução e Arquitetura de Computadores
5

1. EVOLUÇÃO E ARQUITETURAS DOS COMPUTADORES

Este capítulo mostra um breve histórico da evolução dos computadores. Também serão estudadas as
arquiteturas que serviram de base para dá origem a maioria das arquiteturas dos computadores atuais.

1.1- Evolução dos computadores

A evolução dos computadores tem sido caracterizada pelo aumento da velocidade dos processadores, pela
diminuição do tamanho dos componentes, pelo aumento da capacidade de memória e pelo aumento da
capacidade e da velocidade dos dispositivos de entrada e saída (E/S).

Um dos fatores responsáveis pelo grande aumento da velocidade dos processadores é a diminuição do
tamanho dos componentes dos microprocessadores; isso acarreta a redução da distância entre os componen-
tes e, consequentemente, o aumento da velocidade. Entretanto, os ganhos reais de velocidade obtidos nos úl-
timos anos são devido, principalmente, a mudanças na organização do processador, incluindo o uso intensivo
de pipeline1 e de técnicas de execução paralelas de instruções2.

É comum classificar os computadores em geração, de acordo com a tecnologia básica de hardware


empregada. Cada nova geração é caracterizada por computadores com maior velocidade, maior capacidade
de memória e menor tamanho que os computadores da geração anterior. Nas subseções seguintes serão apre-
sentadas as características e computadores que marcaram as principais gerações de computadores.

1.1.1- Computadores eletrônicos – 1ª Geração

Essa geração é caracterizada pelo uso da tecnologia a válvula

O Projeto ENIAC (Computador e integrador Numérico Eletrônico – Electronic Numerator, Integrator,


Analyzer, and Computer), desenvolvido na Universidade da Pensilvânia entre 1943 e 1946 foi o primeiro com-
putador eletrônico de propósito geral.

O projeto foi uma resposta às necessidades dos Estados Unidos diante da guerra. O Laboratório de
Pesquisas Balísticas do Exército Americano, órgão responsável por desenvolver tabelas de trajetória e alcance
para as novas armas, vinha encontrando dificuldades em obter essas tabelas com precisão e tempo hábil. Sem
elas as novas armas de artilharia seriam inúteis. O Laboratório empregava mais de 200 pessoas que, utilizando
calculadoras de mesa, resolviam as equações de balísticas. A preparação das tabelas para uma única arma
consumia várias horas de trabalho de uma pessoa, até mesmo dias.

Esse computador, desenvolvido por John W. Mauchly, J. Presper Eckert e equipe. Pesava cerca de 30
toneladas, ocupava o espaço de aproximadamente 140 metros quadrados, continha mais de 18 mil válvulas3
e apresentava um consumo de 140 quilowatts de energia elétrica. Essa máquina era muito mais rápida
1
Técnica de hardware na qual o ciclo de busca-decodificação-execução de instruções é dividido em etapas processadas
simultaneamente. Essas instruções são colocadas em uma fila de memória (dentro da CPU) onde aguardam o momento de
serem executadas. Essa técnica é utilizada para acelerar a velocidade de operação da CPU, uma vez que a próxima instrução a
ser executada está normalmente armazenada dentro da CPU e não precisa ser buscada da memória, normalmente muito mais
lenta que a CPU.
2
Computação paralela é uma forma de computação em que vários cálculos são realizados simultaneamente, operando
sob o princípio de que grandes problemas geralmente podem ser divididos em problemas menores, que então são resolvidos
concorrentemente (em paralelo).
3
Válvula é um tubo de vidro do qual foi praticamente tirado todo o gás, criando um ambiente de vácuo, contendo eletrodos
e grades metálicas, cuja finalidade é controlar o fluxo de elétrons. As válvulas transformam sinais elétricos em zeros e uns. É um
dispositivo que conduz corrente elétrica em um só sentido
Evolução e Arquitetura de Computadores
6

que qualquer computador eletromecânico, sendo capaz de executar 5 mil adições por segundo. Dados
podiam ser inseridos através de cartões perfurados, que também eram utilizados para saída. A máqui-
na operava a 100 quilohertzs.

Em Fevereiro de 1946, o ENIAC (Figura 1.1) foi revelado para o público, e no verão daquele mesmo ano
foi oferecido o curso Theory and Techniques for Design of Electronic Computers, com aulas por Eckert, Mauchly,
Stibitz, von Neumann, e Aiken, entre outros. Vários novos projetos surgiram a partir desse curso.

Figura 1.1 - O ENIAC (preenchia esta sala)

O ENIAC era uma máquina decimal e não uma máquina binária; ou seja, a representação dos números
era feita na base decimal, a qual era utilizada também para a realização das operações aritméticas. A memória
consistia em 20 acumuladores, cada um dos quais capazes de armazenar um número decimal de 10 dígitos.

Os computadores eletrônicos, apesar de representar grande avanço em relação a seus


similares eletromecânicos, apresentavam duas grandes limitações: baixa capacidade de memória
e longo tempo de programação.

A principal desvantagem do ENIAC era a programação manual através do ligamento e desligamento de


chaves e conexão e desconexão de cabos, o que exigia dias de trabalho. O processo de programação poderia
ser extremamente facilitado se o programa pudesse ser representado de maneira adequada, de modo que
fosse armazenado na memória, juntamente com os dados. Assim, o computador poderia obter as instruções
diretamente, a partir da memória, e um programa poderia ser carregado ou modificado simplesmente atri-
buindo valores a posições de memória.

O marco para quebrar essa barreira foi a concepção do conceito de programa armazenado,
associada ao projeto EDVAC (Computador Variável Discreto Eletrônico – Eletronic Discrete
Variable Automatic Computer), um sucessor do ENIAC com “ampla” capacidade de memória e que
utilizava aritmética binária.

A construção do EDVAC foi concluída em 1952, com cerca de 4000 válvulas, 10000 diodos a cristal, e
1024 palavras de 44 bits em memória com uma velocidade de relógio de 1 Mega Hertz.

Atribui-se normalmente a autoria do conceito de programa armazenado a von Neumann, exclusiva-


mente. O motivo é que von Neumann escreveu um relatório de 101 páginas sobre o projeto EDVAC, em junho
de 1945, onde o conceito é formalmente descrito pela primeira vez.

Embora o EDVAC tenha sido concluído apenas em 1952, algumas sugestões sobre o conceito de progra-
ma armazenado foram apresentadas durante a escola de verão do ENIAC. Isso permitiu que alguns participan-
tes dessa escola, trabalhando em projetos mais modestos, viessem a construir computadores com programa
Evolução e Arquitetura de Computadores
7

armazenado antes da conclusão do EDVAC. Tais máquinas incluem:

• Manchester Baby Machine, da Universidade de Manchester (Inglaterra), de junho de 1948, por M.


Newman e F.C.Williams;

• EDSAC (Electronic Delay Storage Automatic Calculator), da Universidade de Cambridge (Inglaterra),


de maio de 1949, por Maurice Wilkes;

• BINAC (Binary Automatic Computer), da Eckert-Mauchly Computer Corporation (EMCC), operacional


em Setembro de 1949;

• UNIVAC (Universal Automatic Computer), da Remington Rand Co. (que incorporou a EMCC), com a
primeira unidade operacional em março de 1951;

• Whirlwind, do MIT por Jay Forrester, projetado como o primeiro computador para aplicações tempo-
real. O Whirlwind tornou-se a base para projetos de minicomputadores;

• IBM 701, voltado para aplicações científicas, foi o primeiro computador eletrônico da IBM (dezembro
1952);

• IBM 650 Magnetic Drum Computer, apresentado como o modelo barato da IBM, anunciado em
1953. Essa máquina foi a base para o modelo IBM 1401 (transistorizado, anúncio em outubro de
1959, entrega no início de 1960).

1.1.2 - Computadores transistorizados – 2ª Geração

A primeira mudança nos computadores veio com a substituição da válvula pelo transistor.
O transistor é menor, mais barato e dissipa menos calor do que a válvula e, assim como uma
válvula, também pode ser utilizado para a construção de computadores.

Ao contrário da válvula, que requer o uso de fios, placas de metal, cápsula de vidro e vácuo, o transistor
é um dispositivo de estado sólido feito de silício.

O transistor foi desenvolvido no Bell Labs em 1947, e iniciou uma revolução na indústria eletrônica nos
anos 50. Entretanto, apenas no final da década de 50, computadores totalmente transistorizados tornaram-se
comercialmente disponíveis.

Os computadores dessa geração tornaram-se confiáveis o suficiente para serem fabricados e vendidos
para clientes com a expectativa de que continuariam a funcionar por tempo suficiente para realizar algum tra-
balho útil. Essas máquinas eram guardadas em salas especiais com ar condicionado. Somente grandes corpo-
rações ou importantes órgãos do governo ou universidades podiam arcar com seu preço (na casa dos milhões
de dólares).

Sem sistema operacional muito tempo era perdido entre o término de uma tarefa e o início de outra.
Quando em execução, uma tarefa detinha todo o controle da máquina. As funções de um Sistema Operacional
de primeira geração evoluíram da necessidade de liberar o programador dos aspectos físicos da máquina.

A série IBM7000 marcou a entrada da IBM no mercado de computadores transistorizados. Uma das ca-
racterísticas inovadoras nesses produtos era a utilização de processadores de entrada e saída (I/O Processors).
As características genéricas destes primeiros computadores transistorizados incluíam memórias a núcleo de
ferrite e tambores magnéticos, linguagens de programação de alto nível, o FORTRAN, e o conceito de sistemas
de computadores.

O desenvolvimento de várias dessas máquinas contribuiu para a organização do sistema que hoje es-
tão presentes em muitos computadores. Memória virtual foi introduzida no sistema Atlas (Inglaterra, 1962); o
conceito de uma família de sistemas com periféricos compatíveis foi introduzido com o IBM System360 (1964).
Evolução e Arquitetura de Computadores
8

O uso de transistores criou a segunda geração de computadores.

1.1.3 - Computadores com circuitos integrados – 3ª Geração

Durante a década de 50 e início dos anos 60, os equipamentos eletrônicos eram compostos basica-
mente de componentes discretos – transistores, resistores, capacitores e assim por diante. Esses componentes
eram fabricados separadamente, encapsulados em seus próprios recipientes e soldados ou ligados com fios,
por meio de uma técnica conhecida como wire-up, às placas de circuito, que eram então instaladas nos com-
putadores, osciloscópios e outros equipamentos eletrônicos. Quando um dispositivo eletrônico requeria um
transistor, um pequeno tubo de metal com uma peça de silício tinha de ser soldado a uma placa de circuito. O
processo completo de fabricação, desde o transistor até a placa de circuito era caro e incômodo.

Isso começava a criar problemas na indústria de computadores. Os computadores do início da segunda


geração continham cerca de 10 mil transistores. Esse número cresceu até centenas de milhares, tornando cada
vez mais difícil a fabricação de máquinas novas, mais poderosas.

Em 1958, foi desenvolvida uma nova técnica que revolucionou os equipamentos eletrônicos
e iniciou a era da microeletrônica: a invenção do circuito integrado. Esse circuito caracteriza a
terceira geração de computadores.

Por volta de 1965, a IBM anunciou o computador IBM 360, construído nos USA, totalmente transistoriza-
do e tinha uma capacidade de memória base de 32K bytes. O IBM 360 era uma série de máquinas compatíveis
ao nível de software. Como todas as máquinas tinham a mesma arquitetura e conjunto de instruções, progra-
mas escritos para uma máquina podiam executar em todas as outras (pelo menos na teoria). A memória era
construída com toros de ferrite (óxido de ferro). É o primeiro computador IBM a utilizar 8 bits para codificação
de caracteres e a palavra byte assume então o significado que ainda hoje tem. Com 8 bit era possível codificar
256 estados diferentes o que era suficiente para a codificação dos 10 algarismos, 52 letras (maiúsculas e minús-
cula) do alfabeto, o espaço, 27 símbolos e 166 caracteres especiais. É o primeiro computador IBM que podia ser
comandado a partir da digitação de caracteres numa máquina de escrever. Ao IBM 360 podiam ser acoplados
leitores/perfuradores de cartões de 80 colunas, unidades de fita magnética, e uma impressora de caracteres
que dispunha de uma cadeia metálica.

A década de 1970 foi marcada pela utilização de circuitos integrados em larga escala; pelo minicompu-
tador, com extenso uso de circuitos em chips; pelos dispositivos de memória dinâmica de 1 Kbit e 4 Kbit (1974)
e pelos microprocessadores Intel 8086 (1978), de 16 bits e Motorola 68000 (1979), de 16/32 bits. Algumas
funções específicas, como unidades de gerência de memória (MMU) e co-processadores aritméticos, passaram
também a ser implementados em hardware.

Em 1971 a IBM lança o “disco flexível” um disco plástico de oito polegadas recoberto com óxido de ferro.
Niklaus Wirth cria, em 1971, uma linguagem simbólica, o PASCAL tendo em vista o ensino das técnicas de pro-
gramação e dá origem à técnica de Programação Estruturada. Basic foi uma linguagem originalmente criada
para o aprendizado e teve seu uso bastante reduzido já na década de 70.

1.1.4 - Últimas gerações

A partir da terceira geração de computadores, existe um menor consenso sobre a definição das demais
gerações de computadores. Com a introdução de integração em grande escala (Large-Scale Integration - LSI),
mais de mil componentes podem ser colocados em uma única pastilha de circuito integrado. A integração em
escala muito grande (Very-Large-Scale Integration - VLSI) atingiu mais de 10 mil componentes por pastilha, e as
pastilhas VLSI atuais podem conter mais de 100 mil componentes.

Com o rápido avanço da tecnologia, a introdução significativa de novos produtos e a importância do


Evolução e Arquitetura de Computadores
9

software e das comunicações, tanto quanto do hardware, a classificação em gerações torna-se menos clara e
menos significativa. Pode-se dizer que a aplicação comercial dos novos desenvolvimentos representou uma
grande mudança no início dos anos 70 e que os resultados dessas mudanças ainda estão sendo sentidos.

Em 1984, a companhia Apple lançou uma máquina que introduziria novamente uma
revolução: o Macintosh. Este era o sucessor de um modelo chamado “Lisa” (1º computador com
interface totalmente gráfica)– mas que não teve aceitação devido seus custo e sua escassa
capacidade - introduzia pela primeira vez o conceito de interface gráfica, a analogia de um
escritório e um novo periférico: o mouse.

1.2 -Arquiteturas de computadores

Apesar da existência de uma grande diversidade em termos de arquiteturas de computador, é possível


enumerar num ponto de vista mais genérico, os componentes básicos desta classe de equipamentos. A Figura
1.2 apresenta um esquema de um computador, destacando os elementos que o compõem. Apesar da gran-
de evolução ocorrida na área de informática desde o aparecimento dos primeiros computadores, o esquema
apresentado na figura pode ser utilizado tanto para descrever um sistema computacional atual como as má-
quinas de John Von Neuman.

Figura 1.2- Organização básica de um computador

No projeto de sistemas computacionais os principais componentes considerados são: processadores,


memórias, dispositivos de entrada e saída, e meios de interconexão.

Processadores: controlam a operação do computador e desempenham funções de processamento de


dados.

Memórias: armazenam dados e são divididas em memória principal e memória secundária.

Dispositivos de entrada e saída (E/S): transferem dados entre o computador e o ambiente externo.
Em geral, são lentos quando comparados com o processador.

Meios de interconexão: mecanismos que estabelecem a comunicação entre a CPU, memória principal
e dispositivos E/S. Um problema crítico na utilização dos meios de interconexão é a contenção, a disputa pelo
uso simultâneo de recursos compartilhados.

1.2.1 - Máquinas von Neumann

Johann von Neumann, matemático húngaro, e seus colegas começaram um projeto de programa arma-
zenado, conhecido como IAS. O IAS, concluído em 1952, constitui os princípios de funcionamento de todos os
computadores de propósito geral subsequentes.

A característica de máquinas von Neumann é a composição do sistema a partir de três


subsistemas básicos: CPU, memória principal e sistema de entrada e saída.
Evolução e Arquitetura de Computadores
10

A CPU (unidade central de processamento), por sua vez, tem três blocos principais: unidade de controle
(UC), unidade lógico-aritmética (ALU) e registradores, incluindo-se aí um registrador contador de programa
(PC) que indica a posição da instrução a executar.

São características das máquinas von Neumann a utilização do conceito de programa armazenado, a
execução seqüencial de instruções e a existência de um caminho único entre memória e unidade de controle
(Figura 1.3).

Figura 1.3- Arquitetura de máquinas von Neumann.

Durante sua operação, a execução de um programa é uma seqüência de ciclos de máquina von Neu-
mann, compostos 2 subciclos:

1. Busca da instrução (fetch): transfere instrução da posição de memória apontada por PC para a CPU.

2. Execução da instrução: a unidade de controle decodifica a instrução e gerencia os passos para sua
execução pela ALU.

O computador IAS tinha um total de 21 instruções que podem ser agrupadas como a seguir:

• Transferência de dados: os dados são transferidos entre a memória e os registradores da ULA


ou entre dois registradores da ULA.

• Desvio incondicional: normalmente a unidade de controle executa as instruções na sequência


em que se encontram na memória. Essa sequencia de instruções pode ser alterada por uma
instrução de desvio. Isto é usado para executar sequências de instruções repetidamente.

• Desvio condicional: o desvio é efetuado dependendo do teste de uma condição, o que permite
a introdução de pontos de decisão.

• Aritmética: operações executadas pela ULA.

• Alteração de endereço: possibilita calcular endereços, utilizando a ULA, para então inseri-los em
instruções armazenadas na memória. Isto permite ao programa uma considerável flexibilidade
de endereçamento.
Evolução e Arquitetura de Computadores
11

Problemas com a Arquitetura de Von Neumann:

• Há apenas um barramento de dados e um de endereço.

• As Instruções e os dados ocupam o mesmo endereçamento de memória.

• As Instruções e os dados trafegam pelo mesmo barramento (barramento de Dados).

2. A UNIDADE CENTRAL DE PROCESSAMENTO - CPU

2.1 - Estrutura e funcionamento da CPU

Um equívoco ocorre ao chamar o gabinete do microcomputador, seja ele em formato vertical ou hori-
zontal, de CPU. O mais correto é chamá-lo mesmo de gabinete.

A sigla CPU vem do inglês Central Prossessing Unit – Unidade Central de Processamento,
para designar o componente ou o conjunto de componentes do computador responsável pela
execução das instruções dos programas.

Nas máquinas de primeira e segunda geração, as CPUs eram implementadas em circuitos de grandes
dimensões, utilizando milhares de válvulas ou transistores. A partir dos anos 70, com o aparecimento do circui-
to integrado, as CPUs puderam ser implementadas completamente num chip, denominado a partir de então
de microprocessador, nome até hoje utilizado e que incorpora, em sua família, exemplares como o Pentium e
o Power PC entre outros menos populares, mas nem por isso menos poderosos.

Para entender a organização da CPU, devemos considerar as ações que ela deve executar:

Busca de instrução: a CPU lê uma instrução da memória.

Interpretação de instrução: a instrução é decodificada para determinar a ação requerida.

Busca de dados: a execução de uma instrução pode requerer leitura de dados da memória ou de um
módulo de E/S.

Processamento de dados: a execução de uma instrução pode requerer efetuar uma operação aritmé-
tica ou lógica sobre os dados.

Escrita de dados: os resultados da execução podem requerer escrever dados na memória ou em um


módulo de E/S.
Evolução e Arquitetura de Computadores
12

Figura 2.1- Estrutura interna da CPU.

Na maior parte dos estudos dos microprocessadores, encontra-se uma divisão clássica de sua estrutura
interna considerando três grandes unidades (como pode ser visualizado na Figura 2.1):

• Unidade Lógica e Aritmética ou ALU (Aritmethic and Logic Unit), que assume todas as tarefas
relacionadas às operações lógicas (Ou, E, negação, etc.) e aritméticas (adições, subtrações, etc.),
ou seja, efetua o processamento de dados;

• Unidade de Controle (UC) a responsável pela interpretação das instruções de máquina a serem
executadas pelo computador, pela transferência de dados e instruções para dentro e para fora
da CPU; a sincronização destas instruções. Esta unidade assume toda a tarefa de controle das
ações a serem realizadas pelo computador, comandando todos os demais componentes de sua
arquitetura, garantindo a correta execução dos programas e a utilização dos dados corretos nas
operações que as manipulam. A UC contém as instruções da CPU para executar comandos. O
conjunto de instruções, embutido nos circuitos da UC, é uma lista de todas as operações que a
CPU é capaz de executar. Cada instrução é acompanhada de um microcódigo – instruções bem
básicas que dizem à CPU como executar a instrução. Quando o computador roda um programa,
ele procura os comandos que deve executar no conjunto de instruções da CPU e executa-os na
ordem indicada.

• Registradores: para executar operações, a CPU necessita armazenar alguns dados


temporariamente. Ela deve manter a posição de memória da última instrução, para sabe aonde
obter a próxima instrução e precisa também armazenar instruções e dados temporariamente,
enquanto uma instrução está sendo executada. Em outras palavras, a CPU necessita de
uma pequena área de armazenamento que é constituída de um conjunto de posições de
armazenamento denominadas registradores.

Os registradores podem ser:

• De propósito geral: utilizado, por exemplo, para as operações de movimentação de dados e


operações lógicas e aritméticas.

• Especiais: são registradores com funções específicas para determinados fins. São exemplos de
registradores especiais:

• Acumulador (ACC): localizado na UC, é o principal registrador dentro de um processador,


participando da maioria das operações lógicas e aritméticas, sendo em geral fonte de um dos
operandos, e destino dos resultados das operações, além de participar das operações de entrada
e saída de dados. O acumulador é um dos principais elementos que definem o tamanho da
palavra do computador - o tamanho da palavra é igual ao tamanho do acumulador.
Evolução e Arquitetura de Computadores
13

• O Registrador de instrução (IR): contém a última instrução buscada.

• O Contador do Programa: (“Program Counter” - PC): é um registrador que armazena o


endereço de memória do início da próxima instrução a ser executada.

• O Registrador de endereçamento à memória (MAR): contém o endereço de uma posição de


memória.

• Registrador de armazenamento temporário de dados (MBR): contém uma palavra de dados a


ser escrita na memória ou a palavra lida mais recentemente.

A Figura 2.1 ilustra os caminhos de transferência de dados e sinais de controle, o que inclui um elemen-
to denominado barramento interno da CPU. Esse elemento é necessário para transferir dados entre os vários
registradores e a ULA, uma vez que esta última apenas opera sobre dados localizados na memória interna da
CPU. A figura mostra ainda os elementos básicos típicos de uma ULA.

Note a semelhança entre a estrutura interna do computador como um todo e a estrutura


interna da CPU. Em ambos os casos, existe uma pequena coleção de elementos importantes
(computador: CPU, E/S, memória; CPU: unidade de controle, ULA, registradores), conectados por
caminhos de dados.

2.2 - Evolução da CPU

Apesar de o processador ser o componente mais importante do micro, já que é ele quem processa
quase todas as informações, ele não é necessariamente o maior responsável pelo desempenho. Na verdade,
dependendo da aplicação à qual o micro se destina, o desempenho do processador pode ser menos impor-
tante que a quantidade de memória RAM, que o desempenho da placa de vídeo 3D, ou até mesmo que o
desempenho do disco rígido.

Tenha em mente que o computador é um conjunto, cada componente depende dos demais para mos-
trar o seu potencial. Dizemos que um micro é tão rápido quanto seu componente mais lento. Como estamos
falando de um conjunto, apenas um componente que apresente um baixo desempenho será suficiente para
colocar tudo a perder. Assim como vemos em outras situações, em um carro, por exemplo, onde um simples
pneu furado pode deixar o carro parado na estrada.

Se o micro tiver pouca memória RAM, por exemplo, o sistema operacional será obrigado a usar memória
virtual, limitando a performance ao desempenho do disco rígido, que é centenas de vezes mais lento que ela.
Caso o micro não possua memória cache, o desempenho ficará limitado ao desempenho da memória RAM,
que é muito mais lenta que o processador e por aí vai. Dizemos neste caso, que o componente de baixo de-
sempenho é um gargalo, pois impede que o conjunto manifeste todo o seu potencial. Às vezes, simplesmente
aumentar a quantidade de memória RAM, operação que custa relativamente pouco, é capaz de multiplicar a
velocidade do micro.

Mas, apesar de tudo, o processador ainda é o componente básico de qualquer computador. Com o
avanço cada vez mais rápido da tecnologia, e várias empresas disputando o mercado, os projetistas vem sendo
obrigados a desenvolver projetos cada vez mais ousados a fim de produzir os processadores com o melhor de-
sempenho. Isso é excelente para nós, mas também pode trazer armadilhas, já que com projetos tão diferentes,
cada processador acaba saindo-se bem em algumas aplicações, mas muito mal em outras. Não dá para julgar
o desempenho do processador apenas pela frequência de operação, como fazíamos na época do 486.

Quando vamos comprar um processador, a primeira coisa que perguntamos é qual sua frequência de
operação, medida em Megahertz (MHz) ou milhões de ciclos por segundo, frequência também chamada de
clock. Acontece, que nem sempre um processador com uma velocidade de operação mais alta é mais rápido
Evolução e Arquitetura de Computadores
14

do que outro que opera a uma frequência um pouco mais baixa. A frequência de operação de um processador
indica apenas quantos ciclos de processamentos são realizados por segundo, o que cada processador é capaz
de fazer em cada ciclo já é outra história.

Imagine um processador 486 de 100 MHz, ao lado de um Pentium também de 100 MHz. Apesar da
frequência de operação ser a mesma, o 486 perderia feio em desempenho. Na prática, o Pentium seria pelo
menos 2 vezes mais rápido. Isto acontece devido a diferenças na arquitetura dos processadores e também no
coprocessador aritmético e cache.

Existem muitos tipos de microprocessadores no mercado, podendo-se encontrar grandes variações


tanto no custo como no desempenho de cada um. As principais diferenças entre os tipos de microprocessado-
res estão relacionadas ao:

• Tamanho da palavra;

• Velocidade;

• Quantidade operações que ele suporta

Um parâmetro importante é o tamanho da palavra processada pela unidade lógica e aritmética, lem-
brando que o sistema de numeração adotado nas arquiteturas de computadores é o binário, o qual tem como
unidade básica de informação o bit, que pode assumir os valores 0 ou 1.

Quanto maior o tamanho da palavra manipulada pelo microprocessador, maior é o seu potencial de
cálculo e maior a precisão das operações realizadas. As primeiras CPUs integradas num único chip, como por
exemplo, o 4004 fabricado pela Intel em 1971 manipulava palavras (dados e instruções) expressas por 4 dígitos
binários. Os microprocessadores mais recentes são capazes de manipular palavras entre 32 bits (caso dos 486)
e 64 bits (Pentium e Power PC). A Figura 2.2 ilustra exemplos de microprocessadores.

Figura 2.2 - Processadores: Pentium III, Pentium 4 (Socket 423), Pentium 4(Socket 478), Athlon.

A velocidade de cálculo está diretamente relacionada com a freqüência do relógio que pilota o circuito
da CPU como um todo. O microprocessador Intel 4004 era movido por um clock de freqüência igual a 108 KHz,
enquanto hoje fala-se em microprocessadores com clocks de GHz.

Ainda relacionada com a ULA, é possível destacar a quantidade de operações que ela suporta. Os
primeiros processadores suportavam um conjunto relativamente modesto de operações lógicas e aritméticas.
Em particular, no que diz respeito às operações aritméticas, os primeiros processadores suportavam apenas
operações de adição e subtração, sendo que as demais operações tinham de ser implementadas através de se-
qüências destas operações básicas. Os processadores suportando um conjunto mais complexo de instruções
surgiram graças à adoção da tecnologia CISC (Complex Instruction Set Computer).

Embora não seja um aspecto visível ou perceptível internamente, é importante destacar que
o aumento do potencial de cálculo de um computador só foi incrementado devido à evolução
da microeletrônica que tem oferecido técnicas de integração capazes de encapsular uma
quantidade cada vez maior de transistores por unidade de área.
Evolução e Arquitetura de Computadores
15

Só para que se tenha um parâmetro, o Intel 4004 possuía 23000 transistores integrados no mesmo chip,
enquanto dos chips da linha Pentium abrigam cerca de 6 milhões de transistores.

2.3 - Coprocessador aritmético e memória cache

A função do coprocessador aritmético é justamente auxiliar o processador principal no cálculo de fun-


ções complexas, cada vez mais utilizadas, principalmente em jogos. É como um matemático profissional que
ajuda o processador a resolver os problemas mais complexos, que ele demoraria muito para resolver sozinho.

Até o 386, o coprocessador era apenas um acessório que podia ser comprado à parte e instalado num
encaixe apropriado da placa mãe, sendo que cada modelo de processador possuía um modelo equivalente
de coprocessador. O problema nesta estratégia é que como poucos usuários equipavam seus micros com co-
processadores aritméticos, a produção destes chips era baixa, e consequentemente os preços eram altíssimos,
chegando ao ponto de em alguns casos o coprocessador custar mais caro que o processador principal. Com
o aumento do número de aplicativos que necessitavam do coprocessador, sua incorporação ao processador
principal a partir do 486DX foi um passo natural. Com isso, resolveu-se também o problema do custo de pro-
dução dos coprocessadores, barateando o conjunto.

Atualmente, o desempenho do coprocessador determina o desempenho do micro em jogos e aplicati-


vos gráficos em geral, justamente as aplicações onde os processadores atuais são mais exigidos. O desempe-
nho do coprocessador é uma característica que varia muito entre os processadores atuais.

Enquanto os processadores tornaram-se quase 10 mil vezes mais rápidos desde o 8088 (o processador
usado no XT), a memória RAM, sua principal ferramenta de trabalho, pouco evoluiu em performance.

Quando foram lançados os processadores 386, percebeu-se que as memórias não eram mais capazes de
acompanhar o processador em velocidade, fazendo com que muitas vezes ele tivesse que ficar “esperando” os
dados serem liberados pela memória RAM para poder concluir suas tarefas, perdendo muito em desempenho.

Se na época do 386 a velocidade das memórias já era um fator limitante, imagine o quanto este proble-
ma não atrapalharia o desempenho dos processadores que temos atualmente. Para solucionar este problema,
começou a ser usada a memória cache, um tipo ultra-rápido de memória que serve para armazenar os dados
mais frequentemente usados pelo processador, evitando na maioria das vezes que ele tenha que recorrer à
comparativamente lenta memória RAM. Sem ela, o desempenho do sistema ficará limitado à velocidade da
memória, podendo cair em até 95%!. São usados dois tipos de cache, chamados de cache primário, ou cache
L1 (level 1), e cache secundário, ou cache L2 (level 2). Veja mais detalhes sobre memória cachê na seção 3.1.2.

2.4 - Modo Real x Modo Protegido

Todos os processadores atuais podem alternar entre o modo real e o modo protegido livremente, sem-
pre que necessário. No modo real, rodamos o MS-DOS e outros aplicativos de modo real mais antigos, enquan-
to no modo protegido rodamos o Windows e seus programas.

Com certeza, alguma vez ao tentar rodar um programa antigo, você já se deparou com uma enigmática
mensagem de falta de memória, apesar dos manuais do programa dizer que ele precisa apenas de 500 ou 600
KB de memória e você ter instalado bem mais do que isso. Estas mensagens surgem por que estes programas
rodam com o processador operando em modo real onde, como o 8086, ele é capaz de reconhecer apenas o
primeiro Megabyte da memória RAM. Este primeiro Megabyte por sua vez, é subdividido em dois blocos, cha-
mados de memória convencional e memória estendida.

A memória convencional corresponde aos primeiros 640 Kbytes da memória, e é a área de memória usa-
da pelos programas que operam em modo real. Os 384 Kbytes restantes são chamados de memória superior,
e são reservados para armazenar uma cópia do BIOS, que passa a ser executado mais rapidamente, já que a
memória RAM é muito mais rápida do que o chip de memória ROM ou Flash onde ele é originalmente armaze-
Evolução e Arquitetura de Computadores
16

nado. Esta cópia do BIOS é chamada de “Shadow”, ou sombra, e serve para aumentar o desempenho geral do
sistema. A memória superior também é usada para armazenar sombras dos BIOS de outros dispositivos, como
placas de vídeo, aumentando também a velocidade de operação destes periféricos.

Apesar de existirem 640 Kbytes de memória convencional, pronta para ser usada por qualquer progra-
ma que opere em modo real, nem toda esta memória fica disponível, já que parte dela é usada pelo MS-DOS
e drivers de dispositivos de modo real. É possível liberar mais memória convencional, editando os arquivos de
inicialização do DOS, conseguindo assim rodar estes programas.

Quando o computador é ligado, o processador está operando em modo real. Quem dá o comando para
que ele mude para o modo protegido é o sistema operacional. No caso do Windows, este comando é dado
durante o carregamento do sistema.

Em modo protegido, o processador é capaz de reconhecer toda a RAM instalada no sistema, além de
incorporar recursos como a multitarefa e a memória virtual em disco. É neste modo que usamos a interface
gráfica do Windows e rodamos seus aplicativos.

O modo protegido traz basicamente três novos recursos: memória virtual, multitarefa, proteção de me-
mória.

2.4.1 Memória Virtual

A capacidade de trabalhar com vários aplicativos ao mesmo tempo (multitarefa) é realmente muito útil,
mas esta característica traz um pequeno problema: abrindo vários aplicativos sucessivamente, logo a memória
RAM do sistema se esgota. Para corrigir este problema, o modo protegido traz também a Memória Virtual

A memória virtual, que permite criar um arquivo temporário no disco rígido, chamado de Swap File, ou
arquivo de troca, que funciona como uma extensão da memória RAM, permitindo abrir quantos aplicativos
forem necessários, até que o espaço do disco rígido se esgote.

Por exemplo, só o Windows 2000 Professional, junto com os serviços básicos ocupa cerca de 40 MB de
memória. Se você abrir o Word 97, serão necessários mais 10 Megabytes, um total de quase 50 MB. Caso o
micro em questão possua apenas 32 MB de memória, seria criado um arquivo temporário de 18 MB no disco
rígido, que armazenaria os dados que não couberam na memória RAM.

O problema em usar memória virtual é que o disco rígido é centenas de vezes mais lento do que a me-
mória RAM. Um disco rígido razoável possui um tempo de acesso em torno de 10 milessegundos (milésimos de
segundo) enquanto um módulo de memória PC-100 possui um tempo de acesso inferior a 10 nanossegundos
(bilionésimos de segundo), ou seja, um tempo de acesso um milhão de vezes menor. Em termos de taxa de
transferência, novamente temos um contraste marcante: 800 MB para o módulo de memória e de 5 a 20 MB
(dependendo do modelo) para o disco rígido.

No Windows 3.x, era necessário reservar uma quantidade espaço do disco rígido para a memória virtual,
quantidade que podia ser configurada livremente através do Painel de Controle. O problema é que este espaço
ficava indisponível. Se você possuísse um disco de 800 MB, e reservasse 200 para a memória virtual, ficaria com
apenas 600 MB para instalar programas e guardar arquivos. Se por outro lado, você reservasse pouco espaço
para a memória virtual, ficaria com pouca memória para abrir vários programas e trabalhar com arquivos gran-
des.

A partir do Windows 95 este problema foi resolvido com a adoção de um arquivo de troca dinâmico, que
vai aumentando ou diminuindo de tamanho conforme a necessidade de memória, evitando o desperdício de
espaço em disco que tínhamos no Windows 3.x. A partir do Windows 95, existe também uma administração
mais racional dos recursos do sistema, movendo os arquivos mais importantes, acessados com mais frequência
para memória RAM (ou memória cache, dependendo da importância do arquivo), e deixando apenas arquivos
Evolução e Arquitetura de Computadores
17

usados mais raramente no arquivo de troca. Esta simples medida diminui bastante a perda de desempenho
causada pelo uso da memória virtual.

2.4.2 - Multitarefa

Multitarefa significa executar mais de uma tarefa de cada vez. Do ponto de vista de um computador
este processo é relativamente simples. Todos os aplicativos são carregados na memória e o processador passa
a executar algumas instruções de cada aplicativo por vez. Como o processador é capaz de executar vários mi-
lhões de instruções por segundo, esta troca é feita de maneira transparente, como se os aplicativos estivessem
realmente sendo executados ao mesmo tempo. Enquanto o processador dá atenção para um aplicativo, todos
os demais ficam paralisados, esperando sua vez.

2.4.3 -Memória Protegida

Usando a multitarefa, quase sempre teremos vários aplicativos carregados na memória, seja na memó-
ria RAM ou no arquivo de troca. Se não houvesse nenhum controle por parte do processador, um aplicativo po-
deria expandir sua área de memória, invadindo áreas de outros aplicativos e causando travamentos no micro.

Um editor de imagens, por exemplo, precisa ocupar mais memória conforme as imagens vão sendo
abertas ou criadas. Sem nenhuma orientação por parte do processador, simplesmente seriam ocupadas as
áreas adjacentes, que poderiam tanto estar vazias, quanto estar ocupadas pelo processador de textos, por
exemplo.

Para colocar ordem na casa, foi desenvolvido o recurso de proteção de memória, que consiste no pro-
cessador isolar a área de memória ocupada por cada aplicativo, impedindo que ele ocupe outras áreas ao seu
bel prazer. Se, por acaso, o programa precisar de mais memória, o próprio processador irá procurar uma área
vazia de memória e ordenar ao aplicativo que ocupe a área reservada.

2.5 - Clock

Clock é um sinal usado para sincronizar coisas dentro do computador. Observe a Figura 2.3, onde mos-
tramos um típico sinal de clock: é uma onda quadrada passando de “0” a “1” a uma taxa fixa. Na Figura 2.3 você
pode ver três ciclos de clock (“pulsos”) completos. O início de cada ciclo é quando o sinal de clock passa de “0”
a “1”; nós marcamos isso com uma seta. O sinal de clock é medido em uma unidade chamada Hertz (Hz), que
é o número de ciclos de clock por segundo. Um clock de 100 MHz significa que em um segundo existem 100
milhões de ciclos de clock.

Figura 2.3 - Sinal de clock

No computador, todas as medidas de tempo são feitas em termos de ciclos de clock.

Por exemplo, uma memória RAM com latência “5” significa que vai levar cinco ciclos de clock completos
para começar a transferência de dados. Dentro da CPU, todas as instruções precisam de um certo número de
ciclos de clock para serem executadas. Por exemplo, uma determinada instrução pode levar sete ciclos de clock
para ser completamente executada.

No que diz respeito ao processador, o interessante é que ele sabe quantos ciclos de clock cada instrução
vai demorar, porque ele tem uma tabela que lista essas informações. Então se há duas instruções para serem
executadas e ele sabe que a primeira vai levar sete ciclos de clock para ser executada, ele vai automaticamente
começar a execução da próxima instrução no 8º pulso de clock. É claro que esta é uma explicação genérica
Evolução e Arquitetura de Computadores
18

para um processador com apenas uma unidade de execução – processadores modernos possuem várias uni-
dades de execução trabalhando em paralelo e podem executar a segunda instrução ao mesmo tempo em que
a primeira, em paralelo. A isso é chamado de arquitetura superescalar.

Se você comparar dois processadores completamente idênticos, o que estiver rodando a uma
taxa de clock mais alta será o mais rápido. Neste caso, com uma taxa de clock mais alta, o tempo
entre cada ciclo de clock será menor, então as tarefas serão desempenhadas em menos tempo e
o desempenho será mais alto. Mas quando você compara dois processadores diferentes, isso não
é necessariamente verdadeiro.

Como dissemos, cada instrução demora um certo número de ciclos de clock para ser executada. Di-
gamos que o processador “A” demore sete ciclos de clock para executar uma determinada instrução, e que o
processador “B” leve cinco ciclos de clock para executar essa mesma instrução. Se eles estiverem rodando com
a mesma taxa de clock, o processador “B” será mais rápido, porque pode processar essa instrução em menos
tempo.

Os fabricantes de processadores começaram a usar um novo conceito, chamado multiplicação de clo-


ck, que começou com o processador 486DX2. Com esse esquema, que é usado em todos os processadores
atualmente, o processador tem um clock externo também conhecido como FSB (Front Side Bus), que é usado
quando dados são transferidos de e para a memória RAM (usando o chip da ponte norte), e um clock interno
mais alto, que indica a frequência na qual o processador trabalha.

A grande diferença entre o clock interno e o clock externo em processadores modernos é uma
grande barreira a ser transposta visando aumentar o desempenho do computador.

Diversas técnicas são usadas para minimizar o impacto dessa diferença de clock. Um deles é o uso de
memória cache dentro do processador. Outra é transferir mais de um dado por pulso de clock.

Apesar das limitações, o recurso de multiplicação de clock é indispensável atualmente, pois sem ele
seria impossível desenvolver processadores muito rápidos, já que não é possível aumentar a frequência das
placas mãe e dos demais periféricos na mesma proporção do aumento do clock nos processadores. Se o Pen-
tium III, por exemplo, tivesse que trabalhar na mesma frequência da placa mãe, não passaríamos de 100 ou
133 MHz.

2.6 - Pipeline de instruções

Uma pipeline (paralelismo) de instruções é técnica de implementação de processadores que permite a


sobreposição temporal das diversas fases de execução das instruções.

O pipeline aumenta o número de instruções executadas simultaneamente e a taxa de


instruções iniciadas e terminadas por unidade de tempo. Mas, não reduz o tempo gasto para
completar cada instrução individualmente.

Por exemplo: vamos supor uma lavanderia, em que cada etapa possa ser realizada em 30 minutos:

1. Colocar a roupa na máquina de lavar

2. Depois de lavada, colocá-la na máquina de secar roupa

3. Depois de seca, passar a ferro

4. Depois de passada, arrumá-la no armário

Supondo-se que cada uma destas etapas leve 30 minutos para ser realizada, a lavagem de um cesto de
Evolução e Arquitetura de Computadores
19

roupas continuará levando 2 horas para ser realizada. Entretanto, podemos iniciar a lavagem de um cesto de
roupas a cada 30 minutos, até que tenhamos 4 cestos sendo lavados simultaneamente, um em cada etapa do
“pipeline”. Depois das primeiras 2 horas, teremos um cesto de roupa lavada a cada 30 minutos. Ao final do dia
teremos lavado muito mais cestos de roupa do que sem o uso de “pipeline”.

(a) Visão simplificada

(b) Visão expandida

Figura 2.4 – Pipeline de instruções de dois estágios

Suponha que o processamento de uma instrução é dividido em dois estágios: busca e execução de
instrução. Existem momentos durante a execução de uma instrução em que a memória principal não está
sendo usada. Esse instante pode ser usado para buscar a próxima instrução, em paralelo com a execução da
instrução corrente. A Figura 2.4(a) representa essa abordagem. A pipeline tem dois estágios independentes.
O estágio busca uma instrução e armazena em uma área de armazenamento temporário. Quando o segundo
estágio está livre, o primeiro passa para ele a instrução. Isso é chamado de busca antecipada de instrução ou
superposição de busca. Note que o processo acelera a execução da instrução. Se os estágios de busca e de
execução tiverem a mesma duração, o número de instruções executadas por unidade de tempo será dobrado.
Entretanto se examinarmos essa pipeline, Figura 2.4(b), veremos que essa duplicação da taxa de execução de
instruções será pouco provável por duas razões:

• O tempo de execução geralmente é maior que o tempo de busca, pois a execução de uma instrução
geralmente envolve leitura e armazenamento de operandos e execução de algumas operações.

• A ocorrência de instrução de desvio condicional faz com que o endereço da próxima instrução a ser
buscada seja desconhecido. Nesse caso, o estágio de busca teria de esperar até receber o endereço
da próxima instrução do estágio de execução. O estágio de execução poderia, então, ter que esperar
enquanto a próxima instrução é buscada.

Para reduzir o tempo perdido com a ocorrência de instruções de desvio, o tempo perdido pode ser
reduzido pela seguinte regra: quando uma instrução de desvio condicional é passada do estágio de busca
para o de execução, o estágio de busca obtém na memória a instrução imediatamente seguinte à instrução de
desvio. Então se não ocorrer desvio, nenhum tempo será perdido. Se ocorrer desvio, a instrução buscada deve
ser descartada, sendo buscada uma nova instrução.

Para conseguir maior desempenho, um pipeline deve ter maior número de estágios, como:
Evolução e Arquitetura de Computadores
20

• S1: Unidade de busca de instrução;

• S2: Unidade de decodificação de instrução;

• S3: Unidade de busca de operando;

• S4: Unidade de execução de instrução;

• S5: Unidade de gravação.

Figura 2.5 – Pipeline de cinco estágios executando 9 instruções

Um pipeline de cinco estágios, conforme Figura 2.5, pode reduzir o tempo de execução de 9 instruções
de 45 para 13 unidades de tempo. Suponhamos que o tempo de ciclo desta máquina é de 2 ns (nano segun-
dos), sendo assim uma instrução levaria 10 ns para percorrer todos os 5 estágios do pipeline. Como uma ins-
trução demora 10 ns, parece máquina poderia funcionar em 100 MIPS (milhões de instruções por segundo).
Como a cada 2 ns uma instrução é concluída, temos então uma velocidade real de processamento de 500 MIPS
(tempo do ciclo X quantidade de estágios que executam simultaneamente).

São características dos pipelines de instrução:

• O tempo do ciclo do relógio do processador deve ser igual ou maior que o tempo de execução
do estágio mais lento do “pipeline”.

• Deve-se procurar dividir a execução da instrução em estágios com o mesmo tempo.

• O pipeline deve ser mantido sempre “cheio” para que o desempenho máximo seja alcançado.

• De um modo geral, com o uso do pipeline, cada instrução ainda leva o mesmo tempo para ser
executada.

• Algumas instruções, contudo, podem ter o seu tempo de execução aumentado, pois atravessam
estágios em que não realizam nenhuma operação útil.

• Problemas no uso de pipelines


Evolução e Arquitetura de Computadores
21

• Estágios podem ter tempos de execução diferentes

• O sistema de memória é incapaz de manter o fluxo de instruções no pipeline

• Conflitos estruturais: pode haver acessos simultâneos à memória feitos por 2 ou mais estágios

• Dependências de dados: as instruções dependem de resultados de instruções anteriores.

• Dependências de controle: a próxima instrução não está no endereço subseqüente ao da


instrução anterior.

Tempo de ciclo Ʈ(tau) de uma pipeline

Ʈm: atraso máximo de estágio (atraso por meio do estágio de maior atraso);

k: número de estágio da pipeline de instrução;

d: tempo necessário para propagar sinais e dados de um estágio para o próximo;

O tempo de atraso d é equivalente ao pulso de um relógio e Ʈm>>d. O tempo total Tk


requerido para executar as n instruções, sem desvio, é:

Tk= [k + (n-1)] Ʈ

Aplicando à Figura 2.4, temos:

Tk =[5+(9-1)] = 13.

2.7 - Arquiteturas CISC e RISC

Quando um novo microprocessador é criado, aumenta-se o seu conjunto de instruções,


para que se torne mais poderoso. Por outro lado, quanto mais instruções o microprocessador
contém, mais lento ele ficará, pois será maior sua tabela geral onde estão listados todos os tipos
de instrução que o processador pode executar (conjunto de instruções) e a procura de uma
determinada instrução e a sua efetiva execução dentro do micro-código demora mais tempo
para finalizar.

Quando uma instrução é dada ao microprocessador, uma parte existente dentro dele – chamada deco-
dificador de instruções – trata de verificar se aquela é válida (conferindo conjunto de instruções) e, em caso po-
sitivo, ele executa o subprograma referente a tal instrução dentro do micro-código (área do microprocessador
encarregado por armazenar pequenos programas). Microprocessadores com essas características são denomi-
nadas CISC - Complex Instruction Set Computer - Computação utilizando um conjunto Complexo de instruções.

Com o aumento do conjunto de instruções e do micro-código, o processador fica fisicamente maior e


mais lento e novos recursos de aumento de desempenho devem ser criados para ultrapassar esta lentidão.
Para compensar essa demora, novos recursos (como o cache de memória, integração dos circuitos de apoio
dentro do microprocessador, entre outros) são utilizados para aumento de desempenho.

Surpreendentemente, apesar de existir um conjunto de instruções grande, apenas 20% delas são usa-
das por programas e sistemas operacionais.
Evolução e Arquitetura de Computadores
22

Com isso, surgiu uma nova idéia: a construção de microprocessadores com um conjunto reduzido de
instruções e a sua padronização (instruções CISC não são padronizadas), a completa eliminação do decodifica-
dor de instruções e, principalmente, do micro-código.

Microprocessadores construídos com a idéia acima mencionada são classificados como RISC (Reduced
Instruction Set Computing – Computação utilizando um conjunto Reduzido de instruções). No entanto micro-
processadores RISC são incompatíveis com os CISC. Então para que sejam compatíveis foi utilizada uma arqui-
tetura híbrida CISC/RISC, que consiste em adicionar um decodificador CISC na entrada do núcleo RISC.

Ao contrário dos complexos CISC, os processadores RISC são capazes de executar apenas
algumas poucas instruções simples. Justamente por isso, os chips baseados nesta arquitetura são
mais simples e muito mais baratos.

É indiscutível que em instruções complexas os processadores CISC saem-se melhor. Por isso, ao invés
da vitória de uma das duas tecnologias, atualmente vemos processadores híbridos, que são essencialmente
processadores CISC, mas incorporam muitos recursos encontrados nos processadores RISC (ou vice-versa).

Filosofia da arquitetura RISC: transferir complexidade das operações para software, mantendo
em hardware apenas as operações primitiva

Por questões de Marketing, muitos fabricantes ainda vendem seus chips, como sendo “Processadores
RISC”, porém não existe praticamente nenhum processador atualmente que siga estritamente uma das duas
filosofias. Tanto processadores da família x86, como o Pentium II, Pentium III e AMD Athlon, quanto proces-
sadores supostamente RISC, como o MIPS R10000 e o HP PA-8000, ou mesmo o G4, utilizado nos Macintoshs
misturam características das duas arquiteturas, por simples questão de desempenho.

Examinando de um ponto de vista um pouco mais prático, a vantagem de uma arquitetura CISC é que já
temos muitas das instruções guardadas no próprio processador, o que facilita o trabalho dos programadores,
que já dispõem de praticamente todas as instruções que serão usadas em seus programas. No caso de um chip
estritamente RISC, o programador já teria um pouco mais de trabalho, pois como disporia apenas de instru-
ções simples, teria sempre que combinar várias instruções sempre que precisasse executar alguma tarefa mais
complexa. Seria mais ou menos como se você tivesse duas pessoas, uma utilizando uma calculadora comum,
e outra utilizando uma calculadora científica. Enquanto estivessem sendo resolvidos apenas cálculos simples,
de soma, subtração, etc. quem estivesse com a calculadora simples poderia até se sair melhor, mas ao executar
cálculos mais complicados, a pessoa com a calculadora científica disporia de mais recursos.

Nos chips atuais, que são na verdade misturas das duas arquiteturas, juntamos as duas coisas. Interna-
mente, o processador processa apenas instruções simples. Estas instruções internas variam de processador
para processador, são como uma luva, que se adapta ao projeto do chip. As instruções internas de um K6 são
diferentes das de um Pentium por exemplo. Sobre estas instruções internas, temos um circuito decodificador,
que converte as instruções complexas utilizadas pelos programas em várias instruções simples que podem ser
entendidas pelo processador. Estas instruções complexas são iguais em todos os processadores usados em
micros PC. É isso que permite que um Athlon e um Pentium III sejam compatíveis entre si.

O conjunto básico de instruções usadas em micros PC é chamado de conjunto x86. Este conjunto é
composto por um total de 187 instruções, que são as utilizadas por todos os programas. Além deste conjunto
principal, alguns processadores trazem também instruções alternativas, que permitem aos programas execu-
tar algumas tarefas mais rapidamente do que seria possível usando as instruções x86 padrão. Alguns exemplos
de conjuntos alternativos de instruções são o MMX (usado a partir do Pentium MMX), o 3D-NOW! (usado pelos
processadores da AMD, a partir do K6-2), e o SSE (suportado pelo Pentium III)
Evolução e Arquitetura de Computadores
23

3. MEMÓRIAS

Todo computador é dotado de uma quantidade (que pode variar de máquina para máquina) de me-
mória a qual se constitui de um conjunto de circuitos capazes de armazenar (por períodos mais curtos ou mais
longos de tempo) as unidades de dados e os programas a serem executados pela máquina. Nos computadores
de uso geral, é possível encontrar diferentes denominações para as diferentes categorias de memória que ne-
les são encontradas. As memórias são classificadas em dois grandes grupos: memórias primárias e memórias
secundárias.

Do ponto de vista do usuário, as duas características mais importantes da memória são sua capacidade
e seu desempenho. Os parâmetros empregados para medir o desempenho são:

• Tempo de Acesso: é o período de tempo gasto decorrido desde o instante em que foi iniciada a
operação de acesso até que a informação requerida (instrução ou dado) tenha sido efetivamente
transferida. Pode ser chamado tempo de acesso para leitura ou simplesmente tempo de leitura.

• Tempo de ciclo de memória: esse conceito é aplicável principalmente a memórias de acesso


aleatório e compreende o tempo de acesso e o tempo adicional requerido antes que um
segundo acesso possa ser iniciado.

• Taxa de transferência: é a taxa na qual os dados podem ser transferidos de ou para a unidade
de memória.

A capacidade diz respeito à quantidade de informação que pode ser armazenada em uma memória; a
unidade de medida mais comum é o byte, embora também possam ser usadas outras unidades como células
(no caso da memória RAM e cache), setores (no caso de discos) e bits (no caso de registradores).

As Unidades de medida mais usadas para quantificar a memória e indicar a capacidade de armazena-
mento são os múltiplos do byte:

• 1MB (Megabyte) ≈1024KB = 1.048.576 bytes

• 1GB (Gigabyte) ≈ 1024MB = 1.073.741.824 bytes

• 1TB (Terabyte) ≈ 1024GB = 1.099.511.627.776 bytes

Devido a variedade de tipos de memória, não é possível implementar um sistema de computação com
uma única memória. Na realidade, há muitas memórias no computador, as quais se interligam de forma bem
estruturada, constituindo um sistema em si, parte do sistema global de computação, podendo ser denomina-
do subsistema de memória, como mostrado na Figura 3.1.

Figura 3.1 – Hierarquia de memória


Evolução e Arquitetura de Computadores
24

A Figura 3.1 mostra a hierarquia de memórias. À medida que descemos na hierarquia, as relações a
seguir são válidas:

• O custo por bit diminui

• A capacidade aumenta

• O tempo de acesso aumenta

• A freqüência de acesso à memória pelo processador diminui

Outra forma de diferenciação entre os tipos de memória é o método de acesso aos dados, podendo ser:

• Acesso seqüencial: aquele em que conjuntos de dados e informações dispostos


seqüencialmente na memória em unidades denominadas “registros” são acessados linearmente,
um após o outro. O acesso seqüencial é tipicamente usado em dispositivos de armazenamento
que utilizam fita magnética. Em toda memória que admite acesso seqüencial existe um o
mecanismo de leitura (geralmente também usado para a escrita) que percorre a memória
linearmente, passando seqüencialmente de registro em registro, identificando cada um deles,
até localizar o registro que se deseja consultar ou alterar.

• Acesso direto: é feito em dois passos. O primeiro é um acesso aleatório a uma vizinhança
genérica do bloco de bytes a ser lido (geralmente, um setor). O segundo é um acesso seqüencial
(em geral por contagem de blocos) até identificar aquele que deve ser lido.

• Acesso aleatório: significa que qualquer posição de memória principal, ou unidade endereçável,
pode ser acessada diretamente, selecionada por seu endereço, seja ele qual for. O acesso
independe da ordem, da posição relativa ou de qualquer outro fator. Dessa maneira, qualquer
posição pode ser selecionada de modo aleatório, sendo endereçada e acessada diretamente. A
memória principal e alguns sistemas de memória cache utilizam esse tipo de acesso.

• Acesso associativo: consiste em um tipo de acesso aleatório que possibilita comparar


simultaneamente certo número de bits de uma palavra com todas as palavras da memória,
determinando quais dessas palavras contêm o mesmo padrão de bits. Uma palavra é buscada na
memória com base em uma parte do seu conteúdo, e não de acordo com o seu endereço. Assim
como no aleatório, cada posição da memória possui seu mecanismo de endereçamento próprio
e o tempo de busca é constante e independente da posição ou do padrão dos acessos anteriores.
As memórias cache podem empregar acesso associativo.

Os conceitos a seguir dizem respeito às características das memórias:

• Palavra: unidade natural de organização da memória. O tamanho de uma palavra é tipicamente


igual ao número de bits usados para representar um número inteiro e ao tamanho da instrução.

• Unidade endereçável: em muitos sistemas a unidade endereçável é a palavra. Entretanto,


alguns sistemas permitem o endereçamento de bytes. Em qualquer um dos casos, a relação entre
o tamanho em bits A de um endereço e o número de unidades endereçáveis N é: 2A = N.

O sistema de memória de computadores pode ser mais facilmente compreendido por meio da sua
classificação, de acordo com suas características fundamentais. As características mais importantes estão rela-
cionadas na Tabela 3.1.
Evolução e Arquitetura de Computadores
25

Tabela 3.1 – características fundamentais de sistemas de memória de computadores

Localização Desempenho
Processador Tempo de acesso
Interna (principal) Tempo de ciclo
Externa (secundária) Taxa de transferência
Capacidade Tecnologia
Tamanho da palavra De semicondutores
Número de palavras Magnética
Unidade de transferência Ótica
Palavra Magneto-ótica
Bloco Características físicas
Método de acesso Volátil/não volátil
Seqüencial Apagável/não apagável
Direto Organização
Aleatório
Associativo

3.1- Memórias primárias

As memórias de armazenamento primário, também denominadas memórias internas são pequenas


áreas de armazenamento que estão incorporadas ao hardware do computador. Fisicamente, essas memórias
consistem em alguns chips na placa-mãe ou em pequenas placas de circuitos ligadas à placa-mãe ou estão
localizadas dentro do processador.

São memórias que o processador pode endereçar diretamente, sem as quais o computador
não pode funcionar. Estas fornecem geralmente uma ponte para as secundárias, mas a sua
função principal é a de conter a informação necessária para o processador num determinado
momento; esta informação pode ser, por exemplo, os programas em execução.

Alguns chips de memória retêm os dados neles armazenados, mesmo quando o computador é desli-
gado, essa memória é chamada de não-volátil. Outros chips perdem seu conteúdo quando o computador é
desligado, essa memória é chamada de volátil.

Entre as memórias primárias estão: RAM (volátil), ROM (não-volátil), CACHE, memória CMOS e registra-
dores.

3.1.1 - Memória RAM

A memória RAM (Random Access Memory) é a principal memória na qual são gravados os dados para o
processamento. A RAM é uma memória volátil.

A tecnologia das memórias RAM pode ser dividida em estática (SRAM) e dinâmica (DRAM). Uma me-
mória RAM dinâmica é feita de células que armazenam dados com carga de capacitores. A presença ou ausên-
cia de carga em um capacitor é interpretada como representação do dígito binário 1 ou 0. Como um capacitor
tem tendência natural para se descarregar, a RAM dinâmica requer uma regeneração de carga periódica para
manter os dados armazenados. Na memória RAM estática, os valores binários são armazenados usando con-
figurações tradicionais de flip-flops 4 com portas lógicas. A memória RAM estática mantém seus dados
enquanto houver fornecimento de energia.

Tanto a memória RAM estática quanto a dinâmica são voláteis. A DRAM é mais simples e, portanto, me-
nor do que a SDRAM. Dessa maneira, uma RAM dinâmica é mais densa (células menores implicam mais células
por unidade de área) e mais barata do que uma RAM estática correspondente. Por outro lado, ela requer um
circuito de regeneração. No caso de memórias de grande capacidade, o custo fixo do circuito de regeneração é
compensado pelo custo menor das células da RAM dinâmica. Portanto, as RAMs dinâmicas tendem a ser mais
4 O flip-flop ou multivibrador biestável é um circuito digital pulsado capaz de servir como uma memória de um bit.
Evolução e Arquitetura de Computadores
26

vantajosas quando a capacidade de memória requerida é maior. Uma observação final é que as RAMs estáticas
são, em geral, mais rápidas do que as dinâmicas.

O grande desenvolvimento ocorrido na área de software, particularmente no que diz respeito ao uso
de interfaces gráficas e, mais recentemente, das aplicações multimídias, tem forçado os fabricantes de compo-
nentes de computador a produzirem circuitos de memória cada vez mais poderosos.

Em termos de hardware são pequenos pentes que são encaixados nos slots de memória das placas-mãe.
A capacidade total de memória depende do pente e do número de slots na placa-mãe.

A velocidade de funcionamento de uma memória é medida em Hz e seus múltiplos. Este valor está rela-
cionado com a quantidade de blocos de dados que podem ser transferidos durante um segundo. Existem, no
entanto algumas memórias RAM que podem efetuar duas transferências de dados no mesmo ciclo de relógio,
duplicando a taxa de transferência de informação para a mesma freqüência de trabalho. A Figura 3.2 ilustra
dois modelos distintos de memória RAM.

Figura 3.2 - Memória DDR – OCZ e memória SDR – Value Selet, mostradas da esquerda para a direita

3.1.2 - Memória cache

O processador é muito mais rápido do que a memória RAM. Isso faz com que fique subutilizado quando
ele precisa enviar muitos dados consecutivamente. Ou seja, durante grande parte do tempo não processa
nada, apenas esperando que a memória fique pronta para enviar novamente os dados.

Para fazer com que o processador não fique subutilizado quando envia muitos dados para RAM, é utili-
zada uma mais rápida, chamada memória cache, que é outro tipo de memória, chamada de memória estática
ou simplesmente SRAM (Static RAM). Um circuito controlador lê os dados da memória RAM e os copia para a
memória cache. Se o processador precisar de alguns dados, estes estarão no cache ou na RAM.

Com a utilização da memória cache, o computador fica mais rápido, pois não há espera ao
receber e enviar dados do processador com a RAM e vice-versa
A memória cache é encontrada em dois tipos:

• Memória cache L1 - Presente dentro do microprocessador ou cache interno. É dividida em duas


partes, uma para dados outra para instruções.

• Memória cache L2 - Presente na placa-mãe ou até dentro do processador, no caso de


processadores mais novos. Quando é externo, o seu tamanho depende do chipset presente na
placa-mãe.

Sempre que o processador precisar ler dados, os procurará primeiro no cache L1. Caso o dado seja
encontrado, o processador não perderá tempo, já que o cache primário funciona na mesma frequência que
ele. Caso o dado não esteja no cache L1, então o próximo a ser indagado será o cache L2. Encontrando o que
procura no cache secundário, o processador já perderá algum tempo, mas não tanto quanto perderia caso
precisasse acessar diretamente a memória RAM.
Evolução e Arquitetura de Computadores
27

Por outro lado, caso os dados não estejam em nenhum dos dois caches, não restará outra saída senão
perder vários ciclos de processamento esperando que eles sejam entregues pela lenta memória RAM. Para
exemplificar, imagine que você estivesse escrevendo um e-mail e que precisasse de uma informação que você
havia anotado em um papel. Se o papel estivesse sobre sua mesa, você poderia lê-lo sem perder tempo. Se
estivesse dentro de uma gaveta da sua mesa, já seria necessário algum tempo para encontrá-lo enquanto se
ele estivesse perdido em algum lugar de um enorme fichário do outro lado da sala, seria preciso um tempo
enorme.

Antigamente, era comum as placas mães virem com soquetes apropriados, que permitiam ao usuário
adicionar mais memória cache caso quisesse. Os módulos adicionais, chamados de módulos COAST (cache
on a stick) eram relativamente acessíveis, levando muita gente a fazer o upgrade. Entretanto, atualmente esta
possibilidade não existe mais, pois a grande maioria dos processadores já trazem o cache L2 integrado, não
permitindo qualquer modificação, já que não dá para abrir o processador e soldar mais cache. Mesmo no caso
de processadores que ainda usam cache embutido na placa mãe, como o K6-2, não existe mais o encaixe para
adicionar mais cache. Ou seja, atualmente a quantidade de cache que você deseja no processador ou placa
mãe deve ser decidida antes da compra, baseado nas opções disponíveis. Uma vez adquiridos o processador e
a placa mãe não será possível fazer qualquer alteração.

Sempre que um novo processador é desenvolvido, é preciso desenvolver também um


tipo mais rápido de memória cache para acompanhá-lo. Como este tipo de memória é
extremamente caro (chega a ser algumas centenas de vezes mais cara que a memória RAM
convencional) usa-se apenas uma pequena quantidade dela.
3.1.3 - Memória ROM

A memória ROM (acrônimo para a expressão inglesa Read-Only Memory) é um tipo de memória que per-
mite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não
podem ser alteradas ou apagadas, somente acessadas. São memórias cujo conteúdo é gravado permanente-
mente. Uma memória ROM (Figura 3.3) propriamente dita tem o seu conteúdo gravado durante a fabricação.
Atualmente, o termo Memória ROM é usado informalmente para indicar uma gama de tipos de memória que
são usadas apenas para a leitura na operação principal de dispositivos eletrônicos digitais, mas possivelmente
podem ser escritas por meio de mecanismos especiais.

Os principais tipos de memória ROM são:

PROM (Programmable Read-Only Memory): esse é um dos primeiros tipos de memória ROM. A
gravação de dados neste tipo é realizada por meio de aparelhos que trabalham através de uma reação
física com elementos elétricos. Uma vez que isso ocorre, os dados gravados na memória PROM não
podem ser apagados ou alterados;

EPROM (Erasable Programmable Read-Only Memory): as memórias EPROM têm como principal
característica a capacidade de permitir que dados sejam regravados no dispositivo. Isso é feito com
o auxílio de um componente que emite luz ultravioleta. Nesse processo, os dados gravados precisam
ser apagados por completo. Somente depois disso é que uma nova gravação pode ser feita;

EEPROM (Electrically-Erasable Programmable Read-Only Memory): este tipo de memória ROM


também permite a regravação de dados, no entanto, ao contrário do que acontece com as memórias
EPROM, os processos para apagar e gravar dados são feitos eletricamente, fazendo com que não seja
necessário mover o dispositivo de seu lugar para um aparelho especial para que a regravação ocorra;

EAROM (Electrically-Alterable Programmable Read-Only Memory): as memórias EAROM podem


ser vistas como um tipo de EEPROM. Sua principal característica é o fato de que os dados gravados
podem ser alterados aos poucos, razão pela qual esse tipo é geralmente utilizado em aplicações que
exigem apenas reescrita parcial de informações;

Flash: as memórias Flash também podem ser vistas como um tipo de EEPROM, no entanto, o processo
de gravação (e regravação) é muito mais rápido. Além disso, memórias Flash são mais duráveis e
podem guardar um volume elevado de dados;
Evolução e Arquitetura de Computadores
28

CD-ROM, DVD-ROM e afins: essa é uma categoria de discos ópticos onde os dados são gravados
apenas uma vez, seja de fábrica, como os CDs de músicas, ou com dados próprios do usuário, quando
o próprio efetua a gravação. Há também uma categoria que pode ser comparada ao tipo EEPROM,
pois permite a regravação de dados: CD-RW e DVD-RW e afins

Figura 3.3 – Chip de memória ROM

Na memória ROM do computador estão armazenados os software: BIOS, Setup e Post.

• BIOS (Basic Input Output System, Sistema Básico de Entrada e Saída), que é responsável por
“ensinar” ao processador da máquina a operar com dispositivos básicos, como a unidade de
disquete, o disco rígido.

• Setup é o programa responsável por alterar os parâmetros armazenados na memória de


configuração (CMOS), normalmente para chamarmos esse programa pressionamos a tecla “Del”
durante a contagem de memória. No setup nós alteramos parâmetros que são armazenados na
memória de configuração. Como o setup é gravado dentro da memória ROM do micro, muita
gente pensa que setup e BIOS são sinônimos, o que não é verdade. Outra confusão comum é
achar que as configuração alteradas no setup são armazenadas no BIOS. Como o BIOS está numa
memória do tipo ROM, ela não permite que seus dados sejam alterados. Todas as informações
manipuladas e alteradas no setup são armazenadas única e exclusivamente na memória de
configuração (CMOS) do micro.

• POST (Power On Self Test, Auto-teste) é o programa responsável pelo auto-teste que é executado
toda a vez em que ligamos o micro (contagem de memória, por exemplo).

3.1.4 - Memória de configuração CMOS

A memória CMOS (Complementary Metal Oxide Semiconductor) é como uma memória RAM, pois permi-
te que os dados sejam lidos e gravados, como é uma memória que pode ser apagada, existe uma bateria de
lítio especificamente para alimentá-la quando o computador está desligado. Essa bateria também é responsá-
vel por alimentar o circuito de relógio de tempo real do micro (RTC, Real Time Clock), pelo mesmo motivo. Todo
micro tem esse relógio e ele é o responsável por manter a data e a hora atualizadas. A Figura 3.4 ilustra o chip
CMOS e a bateria que alimenta essa memória

Figura 3.4 - Chip onde a memória CMOS está embutida e bateria que alimenta a memória CMOS, respectivamente.
Evolução e Arquitetura de Computadores
29

3.1.5 - Registradores

O registrador ou registro é um tipo de memória de pequena capacidade, porém muito rápida contida
no processador, utilizada no armazenamento temporário durante o processamento. Os registradores estão no
topo da hierarquia de memória, sendo assim o meio mais rápido e caro de se armazenar um dado.

Os registradores são utilizados na execução de programas de computadores, disponibilizando um local


para armazenar dados. Na maioria dos computadores modernos, quando da execução das instruções de um
programa, os dados são movidos da memória principal para os registradores, então as instruções que utilizam
estes dados são executadas pelo processador, e finalmente, os dados são movidos de volta para a memória
principal.

3.2 - Memórias secundárias

• São memórias que não podem ser endereçadas diretamente, por exemplo, a informação
precisa ser carregada em memória primária antes de poder ser tratada pelo processador

• Não são estritamente necessárias para a operação do computador

• São geralmente não-voláteis, permitindo guardar os dados permanentemente

As memórias secundárias podem ser classificadas segundo material no qual os dados são armazena-
dos, ou seja, o tipo de mídia de armazenamento. Segundo as mídias de armazenamento, essas memórias são
classificadas em:

• Memórias de mídia magnética: os dispositivos de armazenamento mais comuns são o


disquete, discos rígidos e unidade de fita. A superfície desses dispositivos é revestida de um
material com sensibilidade magnética (em geral, óxido de ferro), que reage a um campo
magnético. Assim como o transistor representa dados binários como “ligado” ou “desligado”,
a força de um campo magnético pode ser usada para representar dados. Mas o ímã tem uma
vantagem importante sobre o transistor: ele retém a polaridade sem uma fonte contínua de
eletricidade.

• Memórias de mídia ótica: as técnicas de armazenamento ótico fazem uso de precisão altíssima,
possível graças aos raios laser. O laser usa um feixe de luz estreito e concentrado. A única
diferença entre a luz do laser e a luz comum é que no raio laser, a luz é coerente – toda energia da
luz está perfeitamente alinhada na mesma direção, permitindo que seja focalizada com precisão
em uma área extremamente pequena. Os dispositivos de armazenamento ótico focalizam um
raio laser no meio de gravação, que é um disco em constante rotação. Algumas áreas do meio
refletem a luz pelo laser e pelo sensor, o ponto que reflete o raio laser no sensor é interpretado
como um e a ausência de reflexão é interpretada como zero. Os principais dispositivos que
utilizam essa mídia são os CDs e DVDs.

• Memórias de mídia flash: é uma memória de computador do tipo EEPROM (Electrically-Erasable


Programmable Read-Only Memory), desenvolvida na década de 1980 pela Toshiba, cujos chips
são semelhantes ao da memória RAM, permitindo que múltiplos endereços sejam apagados
ou escritos numa só operação. Em termos leigos, trata-se de um chip que, ao contrário de uma
memória RAM convencional, é do tipo não volátil. Esta memória é comumente usada em cartões
de memória, flash drives USB (pen drives), MP3 Players, dispositivos como os iPods com suporte
a vídeo, PDAs, armazenamento interno de câmeras digitais e celulares. A memória flash oferece
um tempo de acesso (embora não tão rápido como a memória volátil DRAM utilizadas para
a memória principal em PCs) e melhor resistência do que discos rígidos. Estas características
explicam a popularidade da memória flash em dispositivos portáteis. Outra característica da
memória flash é que quando embalado em um “cartão de memória” são extremamente duráveis,
sendo capaz de resistir a uma pressão intensa, variações extremas de temperatura, e até mesmo
imersão em água.

3.1.2 - Disco rígido

Disco rígido, disco duro, (popularmente também winchester) ou HD (do inglês Hard Disk) é a parte do
Evolução e Arquitetura de Computadores
30

computador onde são armazenadas as informações, ou seja, é a “memória permanente” propriamente dita
(não confundir com “memória RAM”). É caracterizado como memória física, não-volátil, que é aquela na qual as
informações não são perdidas quando o computador é desligado.

Este sistema é necessário porque o conteúdo da memória RAM é apagado quando o computador é
desligado. Desta forma, temos um meio de executar novamente programas e carregar arquivos contendo os
dados da próxima vez em que o computador for ligado. Nos sistemas operacionais mais recentes, o disco rígido
é também utilizado para expandir a memória RAM, através da gestão de memória virtual5.

A Figura 3.5 mostra a parte interna de um HD. Note que há indicativos que descrevem os componentes
mais importantes. Estes são detalhados logo abaixo:

• Pratos e motor: esse é o componente que mais chama a atenção. Os pratos são os discos onde
os dados são armazenados. Eles são feitos de alumínio (ou de um tipo de cristal) recoberto por
um material magnético e por uma camada de material protetor. Quanto mais trabalhado for
o material magnético (ou seja, quanto mais denso), maior é a capacidade de armazenamento
do disco. Note que os HDs com grande capacidade contam com mais de um prato, um sobre o
outro. Eles ficam posicionados sob um motor responsável por fazê-los girar;

• Cabeça e braço: os HDs contam com um dispositivo muito pequeno chamado cabeça (ou
cabeçote) de leitura e gravação. Trata-se de um item de tamanho reduzido que contém uma
bobina que utiliza impulsos magnéticos para manipular as moléculas da superfície do disco, e
assim gravar dados. Há uma cabeça para cada lado dos discos. Esse item é localizado na ponta de
um dispositivo denominado braço, que tem a função de posicionar os cabeçotes sob a superfície
dos pratos. Olhando por cima, tem-se a impressão de que a cabeça de leitura e gravação toca nos
discos, mas isso não ocorre. Na verdade, a distância entre ambos é extremamente pequena. A
“comunicação” ocorre por impulsos magnéticos;

• Atuador: também chamado de voice coil, o atuador é o responsável por mover o braço sob
a superfície dos pratos, e assim permitir que as cabeças façam o seu trabalho. Para que a
movimentação ocorra, o atuador contém em seu interior uma bobina que é “induzida” por imãs.

Figura 3.5 - Vista Interna do HD

A superfície de gravação dos pratos é composta de materiais sensíveis ao magnetismo (geralmente,


óxido de ferro). O cabeçote de leitura e gravação manipula as moléculas desse material através de seus pólos.
Para isso, a polaridade das cabeças muda numa freqüência muito alta: quando está positiva, atrai o pólo nega-
tivo das moléculas e vice-versa. De acordo com essa polaridade é que são gravados os bits (0 e 1). No processo
de leitura de dados, o cabeçote simplesmente “lê” o campo magnético gerado pelas moléculas e gera uma

5 O sistema operacional através de um software especializado (memória virtual) cria a ”ilusão” ao usuário que a
memória principal é do tamanho da memória secundária. A técnica de memória virtual realiza transferência de blocos de
informação entre a memória primária e secundária automaticamente sem a intervenção do usuário comum. Assim, o tempo
de acesso à memória principal aumenta um pouco mais, o usuário ganha em capacidade de armazenamento.
Evolução e Arquitetura de Computadores
31

corrente elétrica correspondente, cuja variação é analisada pela controladora do HD para determinar os bits.

Para armazenar e localizar dados em um HD, um dispositivo chamado controlador (ou controladora) se
utiliza de informações conhecidas por número de trilhas, setores e cilindros. O conjunto dessas informações é
denominado “geometria de disco”. No processo de fabricação do HD existe uma formatação (formatação pode
ser entendida como mapeamento) que define a forma de armazenamento, dividindo cada disco em trilhas e
setores. Os cilindros são trilhas concêntricas na superfície dos discos e estas trilhas são divididas em setores.
Estes, por sua vez, são “pedaços” do HD. Observe na Figura 3.6 para entender melhor sua estrutura.

Figura 3.6 - Trilha e Setores do HD

Existem vários tipos de discos rígidos: IDE/ATA, Serial ATA, SCSI.

ATA, um acrônimo para a expressão inglesa Advanced Technology Attachment, também conhecido como
IDE (a Figura 3.7 ilustra um conector IDE na placa-mãe) ou Integrated Drive Electronics é um padrão para inter-
ligar dispositivos de armazenamento, como discos rígidos e drives de CD-ROMs, no interior de computadores
pessoais. A evolução do padrão fez com que fossem reunidas várias tecnologias antecessoras, como: (E)IDE -
(Extended) Integrated Drive Electronics; ATAPI - Advanced Technology Attachment Packet Interface; UDMA - Ultra
DMA.

Figura 3.7 – Conector IDE em uma placa-mãe

Serial ATA, SATA ou S-ATA (acrônimo para Serial Advanced Technology Attachment) é uma tecnologia de
transferência de dados entre um computador e dispositivos de armazenamento em massa como unidades de
disco rígido e drives ópticos. É o sucessor da tecnologia ATA que foi renomeada para PATA (Parallel ATA) para se
diferenciar de SATA.

Diferentemente dos discos rígidos IDE, que transmitem os dados através de cabos de quarenta ou oi-
tenta fios paralelos, o que resulta num cabo enorme, os discos rígidos SATA transferem os dados em série. Os
cabos do tipo Serial ATA (Figura 3.8) são formados por dois pares de fios (um par para transmissão e outro par
para recepção) usando transmissão diferencial, e mais três fios terra, totalizando sete fios, o que permite usar
Evolução e Arquitetura de Computadores
32

cabos com menor diâmetro que não interferem na ventilação do gabinete.

Figura 3.8 - Slot Serial ATA em uma placa-mãe e Cabo de alimentação para drives Serial ATA, vistos da esquerda para direita

As principais vantagens sobre a interface do parallel ATA é uma maior rapidez na transferência dos da-
dos (embora a taxa de transferência anunciada pelos fabricantes - 66 MB/s, 100 MB/s, 133 MB/s - raramente é
alcançada); e o uso de cabos de conexão mais finos que permitem um resfriamento mais eficiente do gabinete.

SCSI (pronuncia-se “scuzi”), sigla de Small Computer System Interface, trata-se de uma tecnologia criada
para acelerar a taxa de transferência de dados entre dispositivos de um computador, desde que tais periféricos
sejam compatíveis com a tecnologia. Essa tecnologia permite ao usuário conectar uma larga gama de periféri-
cos, tais como discos rígidos, unidades CD-ROM, impressoras e scanners.

As vantagens do SCSI não se resumem apenas à questão da velocidade, mas também da compatibi-
lidade e estabilidade. Sendo o processador o dispositivo mais rápido do computador, o uso do padrão SCSI
permite que essa velocidade seja aproveitada e assim, aumentar de forma considerável o desempenho do
computador. Essa interface é mais é voltada para o mercado de servidores de rede e raramente utilizada em
computadores para usuários finais.

Existe também o HD externo que é simplesmente um HD portátil que você conecta ao computador
apenas quando precisa. Para isso, pode-se usar, por exemplo, portas USB e até SATA externo, tudo depende do
modelo que você escolher. O HD externo é útil para quando se tem grandes quantidades de dados para trans-
portar ou para fazer backup (cópia de segurança de seus arquivos). Do contrário, é preferível utilizar pen drives,
DVDs regraváveis ou outro dispositivo de armazenamento com melhor relação custo-benefício. Isso porque os
HDs externos são mais caros e costumam ser pesados (exceto os modelos de tamanho reduzido). Além disso,
devem ser transportados com cuidado, para evitar danos.

3.2.2 - Disquetes

Os disquetes possuem a mesma estrutura de um disco rígido, tendo como diferenças o fato de serem
removíveis e serem compostos de um único disco magnético.

Os disquetes possuem vida útil que varia de 5 a 6 anos (pouco, se for comparado ao CD, que dura 20
anos).

O disquete já foi considerado um dispositivo com grande capacidade de armazenamento, especialmen-


te devido ao pequeno tamanho dos arquivos. Atualmente, devido ao tamanho cada vez maior dos arquivos e,
devido à existência de mídias de armazenamento não-voláteis de maior capacidade, como zip drivers, cartões
de memória CDs, DVDs; além de existir outras maneiras de guardar arquivos, como armazenamento distribuí-
do em redes locais, e-mail e disco virtual, o disquete se tornou um utilitário obsoleto.

A Figura 3.9 ilustra as partes que compõem um disquete.


Evolução e Arquitetura de Computadores
33

Figura 3.9 – Disquete 3 1/2”

Legenda: 1 - Trava de proteção contra escrita. 2 - Base central. 3 - Cobertura móvel. 4 - Chassi (corpo)
plástico. 5 - Disco de papel. 6 - Disco magnético. 7 - Setor do disco.

3.2.3 - Fita magnética

A fita magnética (ou banda magnética) é uma mídia de armazenamento não-volátil que consiste em
uma fita plástica coberta de material magnetizável. A fita pode ser utilizada para armazenar informações ana-
lógicas ou digitais, incluindo áudio, vídeo e dados de computador. A Figura 3.10 ilustra uma fita magnética
para dados de computador.

As fitas estão disponíveis em rolos, cassetes ou cartuchos e sofreram diversas evoluções desde seu ad-
vento, no início da década de 1950. Elas são talvez, a mídia de armazenamento mais antiga ainda amplamente
utilizada em sistemas de informação.

Quando comparadas aos discos óticos e ótico-magnéticos, as vantagens das fitas são a grande capaci-
dade de armazenamento, o baixo custo por unidade armazenada, a longa expectativa de vida e a confiabilida-
de na retenção dos dados ao longo de sua vida útil. Suas desvantagens são: o acesso sequencial (as fitas reque-
rem um moroso avanço e retrocesso para que sejam acessados os dados desejados), a necessidade de treinar
o operador ou usuário para sua manipulação correta e o elevado custo dos dispositivos de leitura/gravação.

Qual é o meio de armazenamento digital mais duradouro?

Não se assuste, mas são as fitas magnéticas, que têm uma vida útil estimada em um século.
Poucos fabricantes de CDs e DVDs garantem a manutenção de dados gravados em seus produtos
por mais do que 10 anos. Não é à toa que todos os dados financeiros e empresariais continuam
sendo arquivados nas confiáveis fitas magnéticas.

Figura 3.10 - Fita de dados para computador


Evolução e Arquitetura de Computadores
34

3.2.4 - Discos óticos

O CD-ROM foi desenvolvido em 1985 e traduz-se aproximadamente em língua portuguesa para Disco
Compacto - memória apenas para leitura. O termo “compacto” deve-se ao seu pequeno tamanho para os pa-
drões vigentes, quando do seu lançamento. E “memória apenas para leitura” deve-se ao fato de o seu conteúdo
poder apenas ser lido, e nunca alterado. O termo foi herdado da memória ROM, que contrasta com tipos de
memória RW, como a memória flash. A gravação é feita pelo seu fabricante. Existem outros tipos desses discos,
como o CD-R e o CD-RW, que permitem ao utilizador fazer a suas próprias gravações uma, ou várias vezes,
respectivamente, caso possua o hardware e software necessários. Os CD-ROMs com capacidade para 650 me-
gabytes, foram substituídos pelos de 700 megabytes, passando então estes a serem os mais comuns, existindo,
no entanto, outros formatos superiores.

O DVD (abreviação de Digital Video Disc ou Digital Versatile Disc, em português, Disco Digital de Vídeo
ou Disco Digital Versátil). Contém informações digitais, tendo uma maior capacidade de armazenamento que
o CD, devido a uma tecnologia ótica superior, além de padrões melhorados de compressão de dados. O DVD
foi criado no ano de 1995.

Os DVDs possuem por padrão a capacidade de armazenar 4,7 GB de dados, enquanto que um CD ar-
mazena em média 700 MB. Os chamados DVDs de dual-layer (dupla camada) podem armazenar até 8,5 GB. O
tamanho máximo de arquivo varia conforme o tipo de gravação: UDF, ISO normal, DVD-video, etc.

O disco magnético–ótico (MO) combina algumas das melhores características das tecnologias de gra-
vação magnética e ótica. Uma unidade de disco MO usa um laser ótico para aumentar a capacidade do sistema
de disco magnético convencional. A tecnologia de gravação é fundamentalmente magnética. Entretanto, um
laser ótico é usado para focalizar o cabeçote de gravação magnética, possibilitando obter maior capacidade.
Os discos MO podem ser encontrados em vários tamanhos e capacidades. A principal vantagem do disco MO
para o CD puramente ótico é a sua longevidade. Repetidas regravações no disco ótico resultam em degrada-
ção gradual do meio. O disco MO não apresenta essa degradação e, portanto pode ser usado para um número
muito maior de operações de regravação. Outra vantagem da tecnologia MO é seu custo por megabyte, con-
sideravelmente mais baixo do que no caso do disco magnético.

Uma tecnologia recente de discos óticos são os discos Blu-ray e HD DVD. Na verdade, um disco Blu-Ray
ou HD-DVD nada mais é do que um disco de DVD com capacidade de armazenamento mais elevada, permitin-
do a gravação de conteúdo de alta definição. É importante salientar que a principal motivação para a criação
de um sucessor para o DVD foi o surgimento da TV de alta definição, que exige maior espaço de armazenamen-
to em disco, coisa que o DVD não pode oferecer.

O ponto chave das tecnologias Blu-Ray e HD-DVD é a utilização de um laser azul-violeta usado para ler
e gravar dados no disco. Este laser tem um comprimento de onda menor do que o laser vermelho usado pelos
aparelhos de DVD, o que permite uma maior densidade de gravação.

Tecnologicamente falando, Blu-Ray e HD-DVD são parecidos. A diferença principal entre essas duas
tecnologias está na capacidade de armazenamento, devido a distância da camada de gravação em relação
à camada protetora, que no Blu-Ray é de 0,1 mm e no HD-DVD esta distância é de 0,6 mm, a mesma do DVD.

Um disco Blu-Ray de uma única camada permite a gravação de até 25 GB, enquanto que o mesmo disco
na tecnologia HD-DVD permite a gravação de apenas 15 GB. Já um disco Blu-Ray de dupla camada permite a
gravação de até 54 GB, enquanto que o mesmo disco na tecnologia HD-DVD permite apenas a gravação de 30
GB.

3.2.5 - Pen drives

Memória USB Flash Drive, também designado como pen drive (Figura 3.11) é um dispositivo de armaze-
namento constituído por uma memória flash e uma ligação USB tipo A permitindo a sua conexão a uma porta
Evolução e Arquitetura de Computadores
35

USB de um computador. A velocidade de transferência de dados pode variar dependendo do tipo de entrada.

Eles oferecem vantagens potenciais com relação a outros dispositivos de armazenamento portáteis,
particularmente os disquetes. São mais compactos, rápidos, têm maior capacidade de armazenamento, são
mais resistentes devido à ausência de peças móveis. Adicionalmente, tornou-se comum computadores sem
drives de disquete. Portas USB por outro lado, estão disponíveis em praticamente todos os computadores pes-
soais e notebooks. Os drives flash utilizam o padrão USB, nativamente compatível com os principais sistemas
operacionais modernos como Windows, Mac OS X, Linux, entre outros.

Em condições ideais, as memórias flash podem armazenar informação durante 10 anos.

Para ter acesso aos dados armazenados no drive flash, este deve estar conectado ao computador. O dri-
ve fica ativo apenas quando ligado à porta USB e obtém toda a energia necessária através da corrente elétrica
fornecida pela conexão.

Figura 3.11 – Pen drive

3.2.6 - Cartões de memória

Cartão de memória ou cartão de memória flash é um dispositivo de armazenamento de dados com


memória flash utilizado em videogames, câmeras digitais, telefones celulares, palms/PDAs, MP3 players, com-
putadores e outros aparelhos eletrônicos. Podem ser regravados várias vezes, não necessitam de eletricidade
para manter os dados armazenados, são portáteis e suportam condições de uso e armazenamento mais rigo-
rosos que outros dispositivos móveis. No mercado, há uma grande variedade de formatos de memória flash,
como pode ser visualizado na Figura 3.12.

Figura 3.12 - Modelos diversos de cartões de memória em sentido horário a partir do topo: CompactFlash, xD-Picture

Card, MultiMediaCard e Secure Digital Card.


Evolução e Arquitetura de Computadores
36

4. PERIFÉRICOS DO COMPUTADOR

Os dispositivos de entrada e os de saída a são também denominados periféricos do computador. Exis-


tem também os dispositivos que podem ser utilizados tanto para a entrada como para a saída de dados: os dis-
positivos de armazenamento (HD, disquete, fita magnética), modems, placas de rede e telas sensíveis ao toque.

4.1 - Dispositivos de entrada

Os periféricos de entrada são dispositivos que servem para a entrada de dados em um computador.
Como exemplo, temos: teclado, mouse, canetas eletrônicas, telas sensíveis ao toque, entre outros. Os subitens
seguintes irão detalhar alguns desses dispositivos.

4.1.1 - Teclado

É usado para entrada de dados através da digitação. O teclado (Figura 4.1) é dividido em 3 partes: tecla-
do alfanumérico (semelhante ao de uma máquina de escrever), teclado numérico (semelhante à uma calcula-
dora) e teclado de controle (formado por um grupo de teclas, que isoladamente ou em conjunto com outras
teclas, executam comandos ou funções específicas, como as teclas <Shift>, <Ctrl>, <Alt>, entre outras).

Figura 4.1 - Teclado

4.1.2 - Mouse

Também conhecido como dispositivo apontador. Serve para apontar e selecionar uma das opções pos-
síveis que aparecem na tela. Existem diversos tipos de mouse, mas o modelo mais comum tem o formato de
um ratinho, por isso o nome em inglês: “mouse”. Como dispositivo apontador, também encontramos o track-
ball, que é uma espécie de mouse invertido, ou seja, ao invés de rolarmos o mouse pela mesa, simplesmente,
giramos sua bolinha com a mão movimentando o cursor na tela; o track point, que é composto de um ponto
no meio do teclado (geralmente em notebooks); o touch pad ou mouse de toque, onde ao movimentarmos o
dedo sobre uma “pequena placa”, movimentamos o cursor na tela; e os mouses em forma de caneta que tem o
mesmo formato de uma caneta, geralmente encontrado em palmtops.

Figura 4.2 – Mouse ótico, trackBall e caneta eletrônica, vistos da esquerda para a direita

O mouse é um dispositivo simples e o tipo mais comum tem uma bola sob a carcaça do mouse propria-
Evolução e Arquitetura de Computadores
37

mente dito. O mouse ótico não tem parte móvel alguma. Em vez da bola, ele tem um fotodetector que percebe
o movimento do mouse sobre uma superfície. O movimento é transformado em informação que é enviada ao
computador, como faz o mouse mecânico.

4.1.3 - Scanner

Trata-se de um dispositivo que serve para transferir desenhos, fotos e textos para o computador. O
scanner (Figura 4.3) pode ser de dois tipos: scanner de mão, o qual é parecido com um mouse bem grande e
que devemos passar por cima do desenho/texto a ser transferido para o computador e scanner de mesa, muito
parecido com uma fotocopiadora, onde devemos colocar o papel e abaixar a tampa para que o desenho seja
então transferido para o computador.

Figura 4.3 – Scanner

4.1.4 - Leitor Ótico

É um dispositivo que serve para evitar os enormes tempos gastos com digitação de dados. Ele é como
um scanner, só que é utilizado, geralmente, para ler códigos de barra.

O leitor de código de barras (Figura 4.4) converte um padrão de barras impressas nos produtos em in-
formações sobre o produto por meio da emissão de raio de luz – freqüentemente um raio laser – que reflete a
imagem do código de barra. Um detector sensível à luz identifica a imagem do código de barra por intermédio
das barras especiais em ambas as extremidades da imagem.

Figura 4.4 – Leitor ótico

4.1.5 - Microfone

Também é um dispositivo de entrada, pois através dele podemos gravar sons, transmitir a nossa voz
pela internet ou mesmo “ditar” um texto para o computador, utilizando um dos programas de reconhecimento
de voz.

4.2 - Dispositivos de saída

As unidades de saída convertem impulsos elétricos, permitindo a saída de informações para meios ex-
ternos e possibilitando sua visualização de uma maneira que se torne compreensível para o usuário, ou seja,
servem para que possamos obter os resultados dos dados processados pelo computador.

Existem diversos periféricos de saída, vejam alguns deles nas subseções que seguem.
Evolução e Arquitetura de Computadores
38

4.2.1 - Monitor de Vídeo

Semelhante a um aparelho receptor de televisão, onde são apresentados os dados ou informações soli-
citadas pelo usuário (ver Figura 4.5).

Figura 4.5 – Monitores CRT e LCD, vistos da esquerda para direita

Dois tipos básicos de monitor são usados com os computadores. O primeiro é o típico monitor que você
ver nos computadores de mesa; ele se parece muito com uma tela de televisão e funciona da mesma maneira.
Esse tipo usa um tubo grande de vácuo, chamado CRT (Cathode Ray Tube- tubo de raios catódicos). O segundo
tipo, conhecido como monitor de tela plana é comumente usado em notebooks. A maioria deles emprega
LCDs (Liquid Crystal Displays – vídeos de cristal liquido) para converter as imagens.

4.2.2 - Impressoras

Impressora é um equipamento que permite criar cópias em papel de gráficos, textos, desenhos, plani-
lhas e outros trabalhos criados no computador.

A resolução da impressora é medida em pontos de tinta por polegada, também conhecida como dpi.
Geralmente, quanto mais pontos por polegada, melhor será o resultado impresso.

Existem vários tipos de impressoras. Cada uma delas possui características específicas para valorizar a
qualidade de imagem produzida. As impressoras (Figura 4.6) podem ser classificadas em:

Impressoras com impacto: utilizam “martelos” que pressionam uma fita carbono contra o papel de im-
pressão (geralmente os chamados “formulários contínuos”), e podem ser de dois tipos:

• Impressora serial ou matricial: possuem agulhas ou pinos na cabeça de impressão, que


percorrem toda a extensão da página e que são responsáveis pela transferência da tinta da fita
para o papel. (Obs.: quanto maior o número de pontos impresso pelas agulhas, melhor será a
definição do caracter do documento). A impressão é feita caracter por caracter;

• Impressora de linha: que imprime os caracteres de uma linha completa de uma só vez.

As impressoras sem impacto são impressoras silenciosas e são classificadas em:

• Jato de tinta - têm processo semelhante ao das matriciais, pois também possuem cabeça de
impressão que percorre toda a extensão da página, só que esta cabeça de impressão possui
pequenos orifícios, através dos quais a tinta do cartucho é lançada sobre o papel. Algumas têm
uma ótima qualidade de impressão quase se igualando às de Laser. São as impressoras mais
utilizadas.

• Fusão térmica ou também conhecidas como “dye sublimation” - usadas em empresas onde
a qualidade profissional dos documentos, panfletos e apresentações é mais importante que o
custo dos consumíveis. Possuem uma qualidade profissional nas cópias efetuadas, mas o seu
custo é muito maior do que o das impressoras jato de tinta.

• Térmicas - embora sejam mais rápidas, mais econômicas e mais silenciosas do que outros
modelos de impressoras, as impressoras térmicas praticamente só são utilizadas hoje em dia
em aparelhos de fax e máquinas que imprimem cupons fiscais e extratos bancários. O grande
problema com este método de impressão é que o papel térmico utilizado desbota com o tempo.
Evolução e Arquitetura de Computadores
39

• Laser - são impressoras com baixíssimo nível de ruído, possui um processo de impressão idêntico
ao das fotocopiadoras. Produzem resultados de grande qualidade para quem quer desenho
gráfico ou texto, utilizando a tecnologia do laser.

Figura 4.6 – impressoras lazer, jato de tinta e matricial de recibos, vistas da esquerda para direita

4.2.3 - Plotters

Plotter ou plotadora (Figura 4.7) é um tipo especial de dispositivo de saída. Parece uma impressora, por-
que produz imagens sobre uma folha de papel, mas o processo utilizado é diferente. As plotadoras destinam-
-se a produzir grandes desenhos ou imagens, como plantas para a construção de prédios ou anteprojetos de
objetos mecânicos. A plotadora usa um braço robótico para desenhar com canetas coloridas sobre uma folha
de papel.

Figura 4.7 - Plotter

4.2.4 - Speakers

Os speakers ou caixas de som servem para transmitir sons através do micro, sejam músicas ou sons de

voz. São eficazes para usuários com deficiência visual e para software especializados nesse tipo de usuário.
Evolução e Arquitetura de Computadores
40

5. OUTROS COMPONENTES DO COMPUTADOR

5.1 - Barramentos

Barramentos são basicamente um conjunto de sinais digitais com os quais o processador comunica-se
com o seu exterior, ou seja, com a memória, chips da placa-mãe, periféricos. Um barramento do sistema con-
tém, tipicamente, de 50 a 100 linhas distintas. Cada linha possui uma função ou significado particular. Embora
existam diferentes projetos de barramentos, as linhas de um barramento podem ser classificadas em três gru-
pos funcionais (Figura 5.1):

Figura 5.1 – Esquema de interconexão de barramento

Barramento de dados – linhas por onde circulam os dados. Contém 8,16 ou 32 linhas; o número de
linhas é conhecido como largura do barramento de dados.

A largura do barramento de dados constitui um parâmetro fundamental para o desempenho


global do sistema

Barramento de endereços – linhas por onde a informação de um dado endereço é fornecida. Por
exemplo, quando o processador deseja ler uma palavra (8, 16 ou 32 bits) na memória, ele coloca o endereço da
palavra desejada nas linhas de endereço.

A largura do barramento de endereço determina a capacidade máxima da memória do


sistema, quanto maior a largura do barramento de endereço, maior é o número de posições de
memória que podem ser endereçadas.

Barramento de controle – as linhas de controle são usadas para controlar o acesso e a utilização das
linhas de dados e endereço. Como as linhas de dados e endereço são compartilhadas por todos os componen-
tes, deve existir uma maneira de controlar a sua utilização.

No computador, normalmente, encontramos três tipos barramento: barramento local; barramento do


sistema; barramento de expansão (veja Figura 5.2).
Evolução e Arquitetura de Computadores
41

Figura 5.2 – Arquitetura de barramento tradicional

Barramento local: é o principal barramento do micro, e nele estão conectados os principais circuitos da
placa-mãe, tais como: memória RAM, chipsets, processadores, memória cache.

Barramento do sistema: barramento onde estão conectados os periféricos on board, ou seja, periféri-
cos integrados á placa-mãe, como placa de som, vídeo, fax-modem e rede.

Barramento de expansão: onde estão conectadas as placas de expansão como as placas de vídeo, fax
modem, som, rede, IDE, e demais placas. Estas placas são conectadas ao barramento através de conectores
denominados slots.

Vamos conhecer alguns barramentos de expansão: barramento ISA (Figura 5.5), que apesar de não ser
mais utilizado com freqüência, esteve presente na maior parte dos computadores, o barramento PCI (Figura
5.4) e o AGP (Figura 5.3), que é usado exclusivamente para vídeo. Para que os periféricos (placas em geral) pos-
sam usar esses barramentos, é necessário que cada placa (de vídeo, de som, modem) seja compatível com um
determinado tipo de barramento. Sendo assim, para que haja o uso do mesmo, é necessário encaixar a placa
num conector presente na placa-mãe, conhecido por slot. Cada barramento possui uma forma de slot diferen-
te, que será mostrado nas próximas subseções.

5.1.1- Barramento AGP

O slot AGP (Accelerated Graphics Port) foi criado para otimizar a performance das placa de vídeo. A en-
trada AGP só pode ser usada por placas de vídeo de aceleração 3D. Existem diferentes velocidades que uma
placa AGP pode alcançar, tudo depende de qual a velocidade que a entrada AGP tem. Quando for comprar
uma placa-mãe veja se ela consegue acompanhar a velocidade da placa de vídeo que você tem, ou vice-versa.

Figura 5.3 – Slot de barramento AGP


Evolução e Arquitetura de Computadores
42

5.1.2 - Barramento PCI

O barramento PCI (Peripheral Component Interconnect) é geralmente usado para expansão. Esses slots
são os mais usados e uma placa mãe sempre tem mais de 5 entradas PCI, algumas placas que são vendidas
mais baratas geralmente aquelas combos com placa-mãe e processador embutido tem menos entradas PCI e
às vezes nenhuma AGP, então antes de comprar uma boa placa-mãe é sempre bom ver esse tipo de informa-
ção.

Figura 5.4 – Slot de barramento PCI

5.1.3 - Barramento ISA

Os slots ISA (Industry Standard Architecture) são os que vieram antes dos slots PCI, mesmo assim ainda
existem placas-mãe que são fabricadas com esses slots. Ela é bem mais lenta que a entrada PCI.

Figura 5.5- Slot de barramento ISA

5.1.4 - Barramento USB

Universal Serial Bus (USB) é um tipo de conexão Plug and Play que permite a conexão de periféricos sem
a necessidade de desligar o computador. A Figura 5.6 ilustra um conector padrão USB.

Antigamente instalar periféricos em um computador obrigava o usuário a abrir a máquina, o que para a
maioria das pessoas era uma tarefa quase impossível pela quantidade de conexões internas, sem falar que na
maioria das vezes era preciso configurar jumpers 6 e interrupções IRQs 7, tarefa difícil até para profissionais
da área.

A proposta do padrão USB é substituir a infinidade de conectores diferentes empregados nos compu-
tadores atuais. Uma rápida olhada em um micro típico revela não menos que cinco encaixes diferentes, entre
portas seriais, paralelas, ligações para teclado, mouse, joystick e outros acessórios.

6 Jumper é uma ligação móvel entre dois pontos de um circuito eletrônico. É uma pequena peça plástica que contém
um metal, responsável pela condução de eletricidade. São pequenos contatos elétricos, envolvidos por um encapsulamento
plástico, que servem para programar opções de funcionamento de placas e dispositivos, no que diz respeito ao hardware.
7 Uma IRQ (abreviação para Interrupt Request) é a forma pela qual os componentes de hardware requisitam tempo
computacional da CPU. Uma IRQ é a sinalização de um pedido de interrupção de hardware (o processador para de fazer o que
está fazendo para atender o dispositivo que pediu a interrupção)
Evolução e Arquitetura de Computadores
43

Figura 5.6 - Conector USB

5.1.5 - Barramento Firewire

O barramento Firewire (também conhecido por IEEE 1394) é um barramento externo ao micro, similar
ao USB. Ou seja, você pode instalar periféricos Firewire ao micro mesmo com ele ligado. O sistema operacional
detecta que um novo periférico foi adicionado e trata de instalar os drivers necessários.

A grande diferença entre o Firewire e o USB é o desempenho. Enquanto que no USB os dados são trans-
feridos a, no máximo, 12 Mbps, na versão atual do Firewire os dados são transferidos a 400 Mbps, ou seja, o
Firewire é 33 vezes mais rápido do que o USB.

O Firewire foi desenvolvido, inclusive, tendo em mente a transferência de dados grandes, como filmes
sendo transferidos em formato digital entre câmeras digitais e o PC, por exemplo. Enquanto que o USB é atu-
almente suportado por todos os chipsets (circuitos de apoio da placa-mãe) - fazendo com que todas as placas-
-mãe do mercado possuam portas USB, quase nenhum chipset para placas-mãe de PCs suporta o Firewire

O cabos que permitem a conexão de dispositivos em uma interface FireWire 400 podem ser compostos
por até 6 vias. Já no caso do FireWire 800, o cabo pode conter até 9 vias. A Figura 5.7 mostra os conectores e as
entradas FireWire que são padrão de mercado.

Figura 5.7 – Conectores e entradas padrão Firewire

5.1.6 - Slots de expansão e adaptadores

Os computadores mais recentes foram projetados para serem abertos e adaptados ou configurados, de
acordo com a necessidade particular de cada usuário. A maioria das placas-mãe dos computadores tem oito
slots de expansão, que servem como extensões do barramento do computador. Esses slots permitem que os
componentes que não estão fisicamente ligados ou soldados na placa-mãe obtenham acesso ao barramento
do computador. Geralmente, as únicas exceções são o teclado e, as vezes o mouse; o soquete do teclado está
firmemente soldado na placa-mãe e alguns computadores também têm portas especiais para o mouse na
própria placa-mãe. A maioria dos PCs vem com dois ou mais slots de expansão ocupados com placas de circui-
to que têm várias finalidades. Essas placas são chamadas de adaptadores, cartões ou às vezes simplesmente
placas.

Os slots de expansão na placa-mãe são usados pra três finalidades:

1) Para dar aos dispositivos internos, como discos rígidos e as unidades de disquete, acesso ao
barramento do computador via placas controladoras.
Evolução e Arquitetura de Computadores
44

2) Para oferecer placas de E/S, na parte traseira do computador, para dispositivos externos como
monitores de vídeo, modems, placas de redes externas, impressoras e mouses (para computadores
que não tenham uma porta interna própria para esse dispositivo).

3) Para dar aos dispositivos de uso especial acesso ao computador. Por exemplo. A placa de acelerador
de clock, que aumenta a velocidade de processamento, é um dispositivo independente que obtém
acesso à CPU e à memória do computador por meio do barramento.

Os dois primeiros são funções de E/S. Eles não apenas oferecem uma porta à qual os dispositivos podem
ser conectados – servem de tradutores entre o barramento e o dispositivo em si.

O que fazer com um slot de expansão vago?

Talvez você queira instalar uma placa de som que produza áudio de alta qualidade. Essas
placas adicionais configuram seu micro para aplicativos de multimídia. Se você preferir um
modem interno em vez do tipo externo (que requer uma porta serial), ele ocupará um slot, e
muitos outros dispositivos podem vir com adaptadores que precisam de slots – por exemplo,
controladores para unidades de fita, scanners requerem um slot para a sua instalação.

5.2 - Portas de comunicação

5.2.1 - Portas seriais e paralelas

Internamente, os componentes do computador comunicam-se em paralelo. A Interface paralela, tam-


bém denominada LPT (Figura 5.8), é aquela na qual há oito fios ou mais por meio dos quais os bits que repre-
sentam dados podem fluir simultaneamente, como no barramento. O barramento do computador geralmente
transfere 16 ou 32 bits simultaneamente; entretanto a interface paralela padrão para dispositivos externos,
como as impressoras, transfere 8 bits de cada vez em oito fios separados. Como a porta paralela é muito lenta
todos os fabricantes migraram estes periféricos para a porta USB.

Na interface serial, também denominada COM (Figura 5.8), os bits de dados fluem um de cada vez em
um único arquivo. Um chip chamado UART (Universal Assynchronous Receiver-Transmitter – receptor-transmis-
sor assíncrono universal) na placa de entrada/saída do computador converte os dados paralelos do barramen-
to em dados seriais que podem fluir através de um cabo serial ou fio telefônico.

Como é de se esperar, a interface paralela pode manipular um volume muito maior de dados do que a
interface serial. As portas paralelas têm um conector de 25 pinos do lado do computador. No lado da impres-
sora o cabo paralelo tem um conector especial chamado interface Centronics, que impede que os usuários
liguem, inadvertidamente, a extremidade errada do cabo na impressora.

Figura 5.8 – interface paralela e serial


Evolução e Arquitetura de Computadores
45

Exemplos de dispositivos seriais: mouse, trackball e dispositivos apontadores em geral; impressoras (ra-
ramente); modems externos.

Exemplos de dispositivos paralelos: unidades óticas externas, impressoras (matriciais); plotters; zip dri-
ve .
8

5.2.2 - Portas PS/2

PS/2 (Personal System/2) foi um sistema de computador pessoal criado pela IBM em 1987 com um con-
junto de interfaces próprias. Um “computador PS/2” tinha inúmeras vantagens em relação ao PC tradicional,
como equipamento (hardware) homologado e todos os drivers escritos pela IBM e um sistema operacional
próprio rodando nele, o OS/2.

O PS/2 desapareceu do mercado em poucos anos, mas o OS/2 foi continuado para PCs comuns até
meados de 1996. Porém, muitas das interfaces de hardware do PS/2 (Figura 5.9) são utilizadas até hoje, por
ocuparem menos espaço e serem mais rápidas. Por exemplo, quando você compra uma placa-mãe, mouse
ou teclado “PS2” significa que você está usando as interfaces herdadas deste sistema ao invés das portas de
comunicação COM usadas na maioria dos PCs.

Figura 5.9 – Portas PS/2

5.2.3- Comunicação com transmissão sem fio

Infrared: Infrared Data Association (IrDA) é um padrão de comunicação sem fio para transmissão de
dados entre dispositivos. Esse padrão permite a conexão de dispositivos sem fio ao microcomputador (ou
equipamento com tecnologia apropriada), tais como impressoras, telefones celulares, notebooks e PDAs. Para
computadores que não possuem infravermelho (IRDA) é necessário um adaptador ligado a porta USB do com-
putador, desta maneira este computador poderá trocar arquivos com qualquer outro equipamento que pos-
sua infravermelho (IRDA).

Bluetooth: é um padrão global de comunicação sem fio e de baixo consumo de energia que permi-
te a transmissão de dados entre dispositivos compatíveis com a tecnologia. Para isso, uma combinação de
hardware e software é utilizada para permitir que essa comunicação ocorra entre os mais diferentes tipos de
aparelhos. A transmissão de dados é feita através de radiofreqüência, permitindo que um dispositivo detecte o
outro independente de suas posições, desde que estejam dentro do limite de proximidade.

Para que seja possível atender aos mais variados tipos de dispositivos, o alcance máximo do
Bluetooth foi dividido em três classes:
• Classe 1: potência máxima de 100 mW, alcance de até 100 metros;

• Classe 2: potência máxima de 2,5 mW, alcance de até 10 metros;

• Classe 3: potência máxima de 1 mW, alcance de até 1 metro.

A velocidade de transmissão de dados no Bluetooth é baixa: até a versão 1.2, a taxa pode alcançar,
no máximo, 1 Mbps. Na versão 2.0, esse valor passou para até 3 Mbps. Embora essas taxas sejam curtas, são
suficientes para uma conexão satisfatória entre a maioria dos dispositivos. Existem vários produtos ativados
8 Disco removível de capacidade 100 MB, aproximadamente do tamanho de um disquete 3.5”.
Evolução e Arquitetura de Computadores
46

por Bluetooth, como celulares, impressoras, modems e fones de ouvido sem fio. A tecnologia é útil quando é
necessária transferência de informações entre dois ou mais dispositivos que estão perto um do outro ou em
outras situações onde não é necessária alta taxa de transferência.

5.3 Cooler

Com o avanço da tecnologia dos processadores, manter sua temperatura de funcionamento sob contro-
le e dentro de certos limites tornou-se um fator crítico. Por isso, os dissipadores de calor ou coolers tornaram-se
fundamentais para o perfeito funcionamento do computador e para a maior durabilidade da CPU. A principal
função do cooler é evitar um super aquecimento e um possível travamento da máquina. A Figura 5.10, mostra
um tipo de cooler que é utilizado no processo de resfriamento interno das CPU’s.

Figura 5.10 - Cooler

5.4 - Placa – Mãe

A placa-mãe, também denominada mainboard ou motherboard, é uma placa de circuito


impresso eletrônico que tem como função permitir que o processador se comunique com todos
os periféricos instalados.

Na placa-mãe encontramos não só o processador, mas também a memória RAM, os circuitos de apoio,
as placas controladoras, os conectores de barramentos e os chipset, que são os principais circuitos integrados
da placa-mãe e são responsáveis pelas comunicações entre o processador e os demais componentes. Veja na
Figura 5.11, um modelo ilustrado de placa–mãe.

Figura 5.11 - Placa - Mãe (motherboard )

5.5 - Chipset

Chipset são circuitos de apoio ao processador que gerenciam praticamente todo o funcionamento da
placa-mãe (controle de memória cache, DRAM, controle do buffer de dados, interface com a CPU). É respon-
sável pelas informações necessárias ao reconhecimento de hardware (armazenadas na sua memória ROM).
Evolução e Arquitetura de Computadores
47

A arquitetura da placa-mãe depende do tipo de chipset presente nesta. Entender o seu funcionamento
e a sua importância, tornará melhor a compreensão do funcionamento do microcomputador.

A grande maioria dos chipsets segue o projeto tradicional, onde as funções são divididas em dois chips,
chamados de porte norte (north bridge) e ponte sul (south bridge) (ilustrados na Figura 5.12 e na Figura 5.13):

Controlador de sistema (também chamada ponte norte) – é o chip mais complexo, que fica fisicamen-
te mais próximo do processador. Ele incorpora os barramentos “rápidos” e funções mais complexas, incluindo o
controlador de memória, as linhas do barramento PCI Express, ou o barramento AGP, além do chipset de vídeo
onboard, quando presente.

Controlador de periféricos (também chamada ponte sul) – é invariavelmente um chip menor e mais
simples que o primeiro. Nas placas atuais ele incorpora os barramentos mais lentos, como o barramento PCI,
portas USB, SATA e IDE, controladores de som e rede e também o controlador Super I/O, que agrupa portas “de
legado”, como as portas seriais e paralelas, porta para o drive de disquete e portas do teclado e mouse (PS/2).
É importante notar que o controlador de periféricos não irá controlar periféricos integrados on board (eles têm
controladores próprios).

Figura 5.12 – Ponte norte de um chipset

Figura 5.13 – Ponte sul de um chipset

A conexão entre a ponte norte e a ponte sul é feita através de um barramento. No início, o barramento
utilizado para conectar a ponte norte à ponte sul era o barramento PCI. Atualmente, o barramento PCI não é
mais usado para esse tipo de conexão e foi substituído por um barramento dedicado.
Evolução e Arquitetura de Computadores
48

5.6 - Fonte de Alimentação

Por se tratar de um dispositivo elétrico o computador precisa de eletricidade para que todos os seus
componentes funcionem de forma adequada. O dispositivo responsável por prover eletricidade ao computa-
dor é a de fonte de alimentação. De forma bastante sucinta poderíamos dizer que a principal função da fonte
de alimentação é converter a tensão alternada fornecida pela rede elétrica presente na tomada de sua casa ou
escritório (também chamada CA ou AC) em tensão contínua (também chamada CC ou DC). Em outras palavras,
a fonte de alimentação converte os 110 V ou 220 V alternados da rede elétrica convencional para as tensões
contínuas utilizadas pelos componentes eletrônicos do computador, que são: +3,3 V, +5 V, +12 V e -12 V (ten-
sões alternadas variam pelo mundo e mesmo no Brasil variam de cidade a cidade.

A fonte de alimentação (Veja Figura 5.14) talvez seja o componente mais negligenciado do computa-
dor. Normalmente na hora de comprar um computador, só levamos em consideração o clock do processador,
o modelo da placa-mãe, o modelo da placa de vídeo, a quantidade de memória instalada, a capacidade de
armazenamento do disco rígido, e esquecemo-nos da fonte de alimentação, que na verdade é quem fornece o
“combustível” para que as peças de um computador funcionem corretamente

A maioria das fontes de alimentação tem uma chave 110 V/220 V ou então pode ser do tipo “automáti-
ca”, “bivolt” ou “auto range”, o que significa que a fonte pode funcionar em qualquer tensão CA (normalmente
entre 100 V e 240 V; a faixa de operação suportada está impressa na etiqueta da fonte de alimentação em um
campo chamado “AC Input” ou “Entrada CA”.

Uma fonte de alimentação de boa qualidade e com capacidade suficiente pode aumentar a vida útil do
seu equipamento e reduzir sua conta de energia. Para se ter uma idéia, uma fonte de alimentação de qualidade
custa menos de 5% do preço total de um micro. Já uma fonte de alimentação de baixa qualidade pode causar
uma série de problemas intermitentes, que na maioria das vezes são de difícil resolução.

Uma fonte de alimentação defeituosa ou mal dimensionada pode fazer com que o
computador trave, pode resultar no aparecimento de setores defeituosos (“bad blocks”) no disco
rígido, pode resultar no aparecimento da famosa “tela azul” e resets aleatórios, além de vários
outros problemas.

Existem vários diferentes padrões de fontes de alimentação para PCs. Esses padrões definem não ape-
nas o tamanho físico, mas também o tipo de conectores de uma fonte de alimentação. Os dois principais são:

AT: Este padrão foi introduzido pelo IBM PC AT em 1984 e foi usado até o padrão ATX ganhar populari-
dade em meados dos anos 90. Fontes de alimentação AT fornecem quatro tensões, +5 V, +12 V, -5 V e -12 V, e o
cabo principal da placa-mãe usa um conector de 12 pinos.

ATX: em 1996 a Intel introduziu um novo formato de placa-mãe chamado ATX para substituir o antigo
formato AT. Como a placa-mãe ATX tinha dimensões físicas completamente diferentes, novos gabinete foram
necessários (“gabinetes ATX”, ao contrário dos “gabinetes AT” usados até então). Com este novo formato de
placa-mãe a Intel também propôs um novo tipo de fonte de alimentação com novos recursos, tais como o uso
de um conector da placa-mãe de 20 pinos e a introdução de novas tensões, +3,3 V e +5VSB, também conhecida
como “tensão de standby”.
Evolução e Arquitetura de Computadores
49

Figura 5.14 - Fonte Alimentação 450W

Um dos fatos que contribuíram para que o padrão AT deixasse de ser usado (e o ATX fosse criado), é
o espaço interno reduzido, que com a instalação dos vários cabos do computador (cabo flat, alimentação),
dificultavam a circulação de ar, acarretando, em alguns casos, danos permanentes à máquina, devido ao super
aquecimento. Isso exigia grande habilidade do técnico montador para aproveitar o espaço disponível da me-
lhor maneira. Além disso, o conector de alimentação da fonte AT, que é ligado à placa-mãe, é composto por
dois plugs semelhantes (cada um com seis pinos), que devem ser encaixados lado a lado, sendo que os fios
de cor preta de cada um devem ficar localizados no meio. Caso esses conectores sejam invertidos e a fonte de
alimentação seja ligada, a placa-mãe será fatalmente queimada.

Com o padrão AT, é necessário desligar o computador pelo sistema operacional, aguardar um aviso de
que o computador já pode ser desligado e clicar no botão “Power” presente na parte frontal do gabinete. So-
mente assim o equipamento é desligado. Isso se deve a uma limitação das fontes AT, que não foram projetadas
para fazer uso do recurso de desligamento automático.

Os conectores das fontes AT e ATX são mostrados na Figura 5.15. Repare que o único que muda entre
um padrão e outro é o conector que alimenta a placa-mãe. No caso do padrão AT, esse conector possui 12 fios.
No padrão ATX, esse conector possui 20 vias (há modelos com 24 vias).

Além disso, o encaixe do conector ATX é diferente, pois seus orifícios possuem formatos distintos para
impedir sua conexão de forma invertida. No padrão AT, é comum haver erros, pois o conector é dividido em
duas partes e pode-se colocá-los em ordem errada. A seqüência correta é encaixar os conectores deixando os
fios pretos voltados ao centro.

Figura 5.15 - Conector da Fonte ATX e Conector da fonte AT, respectivamente


Evolução e Arquitetura de Computadores
50

6. SISTEMAS NUMÉRICOS

Sistemas de numeração são formas de representação de valores. Existem os sistemas não-posicionais e


os posicionais. Nos não-posicionais o símbolo não depende da posição. Por exemplo, os numerais romanos: o
símbolo X vale 10 em qualquer posição que estiver no número, seja IX ou LXV. Já nos posicionais, o valor do
símbolo muda com a posição. Por exemplo: o símbolo 6 dentro do número 625 significa o valor 600, mas no
número 461 significa 60. Diariamente trabalhamos com o sistema posicional decimal, assim chamado por ter
dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Como tem dez símbolos, dizemos também que possui base 10.

O computador funciona em binário, ou seja, representa os números somente com os símbolos 0 e 1.


Este é um sistema de numeração com base 2 ou binário.

Na eletrônica ainda é comum trabalhar-se com o sistema octal, que possui base 8, cujos símbolos são:
0, 1, 2, 3, 4, 5, 6, 7.

Para o endereçamento da memória do computador é utilizado o sistema de numeração hexadecimal,


de base 16, formado pelos símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

São estes quatro sistemas de numeração que serão o fundamento do estudo da computação, sendo
necessários para compreensão da organização de sua arquitetura. Para compreendermos melhor a relação
entre eles, devemos estudar a conversão de uma base para outra.

6.1 - Sistema numérico decimal

A designação de decimal para este sistema numérico advém do uso de dez algarismos 0, 1, 2, 3, 4, 5, 6, 7,
8, 9. A posição de cada um destes algarismos dentro do número está associada um determinado valor. Assim,
caminhando da direita para a esquerda, o algarismo mais à direita, deve ser multiplicado por 1, o algarismo
situado imediatamente à esquerda deste, é multiplicado por 10, o que vem a seguir por 100, etc. Exemplo
mostrado na Expressão 6.1.

Expressão 6.1– Sistema numérico decimal

6.2 - Sistema numérico binário

O sistema numérico binário difere em vários aspectos do sistema decimal que é o que nós utilizamos na
vida diária. Este sistema numérico é de base igual a 2 e só contém dois algarismos, que são ’1’ e ‘0’, que corres-
pondem aos sinais elétricos ligado e desligado. O computador trabalha com essa base de numeração binária.
Essa decisão de projeto deve-se à maior facilidade de representação interna no computador, que é obtida
através de dois diferentes níveis de tensão.

No sistema binário os dados são representados por :

– Bit (1 digito binário) ou Binary Digit: valor 0 ou 1


Evolução e Arquitetura de Computadores
51

– Byte = 8 bits

– Palavra (word), conforme a arquitetura ocupará n bytes.

– Caracter: conjunto de n bits que define 2n caracteres

Exemplo: 10011011 é um número binário com 8 dígitos

Para converter um número binário em decimal, ou seja extrair um valor numérico decimal de uma série
de zeros e uns, basta seguir o exemplo abaixo. Exemplo mostrado na Expressão 6.2

Expressão 6.2 – conversão binário para decimal

O maior valor decimal, que pode ser representado por um determinado número de símbolos binários,
coincide com 2 elevado a um expoente igual ao número de símbolos binários utilizados, subtraído de uma uni-
dade: 24 -1 = 16- 1= 15. Isto significa que é possível representar os números decimais de 0 a 15, apenas com 4
algarismos binários (incluem-se portanto os números ‘0’ e ‘15’), ou seja, 16 valores diferentes. As operações que
se executam no sistema decimal, também podem ser executadas no sistema binário. Um overflow acontece
sempre que o resultado de uma operação não puder ser armazenado no número de bits disponíveis.

62.1 - Representação de Números Inteiros

Existe diversas formas para representar um número inteiro no computador. Uma delas é através do
sinal-magnitude. Em uma palavra de n bits, os n-1 bits mais à direita representam a magnitude do número
inteiro, como mostrado na Expressão 6.3

Expressão 6.3 – Regras para adição em binário

As desvantagens apresentadas pela representação de sinal-magnitude são:

• Duas representações para 0:

+010 = 00000000

-010 = 10000000 (sinal-magnitude)

• Para efetuar operações de adição e subtração é preciso considerar tanto a magnitude quanto o
sinal dos operandos;
Evolução e Arquitetura de Computadores
52

Em conseqüência, o esquema mais utilizado é a representação em complemento de dois que assim


como a representação sinal-magnitude, a representação em complemento de dois usa o bit mais significativo
como bit de sinal, porém, os demais bits são interpretados de maneira diferente.

A Tabela 6.1 relaciona as características-chave da representação e da aritmética em complemento de


dois.

Tabela 6.1 – Características da representação e aritmética em complemento de dois

Faixa de valores representáveis -2n-1 a 2n-1 -1

Número de representações para o zero 1

Acrescente posições de bit à esquer-


Expansão do número de bits da e preencha esses bits com o valor do bit
de sinal original
Se dois números com mesmo sinal
(ambos positivos ou ambos negativos) fo-
Regra de overflow
rem somados, ocorrerá overflow apenas se o
resultado tiver sinal oposto

Para subtrair B de A, pegue o comple-


Regra de subtração
mento de dois de B e some-o com A

Vejamos a aplicação do complemento de dois no inteiro positivo 4 (01002) na Expressão 6.4:

Expressão 6.4 – Complemento de dois do número 01002

Vejamos a representação vetorial do complemento de dois na Expressão 6.5 e na Expressão 6.6.

Expressão 6.5 – Conversão do valor binário 100000011 para um valor em decimal


Evolução e Arquitetura de Computadores
53

Expressão 6.6 – Conversão do valor decimal -120 para seu valor binário

Vejamos a conversão entre representação de um número inteiro com n bits para sua representação com
m bits, onde m > n:

• Notação sinal-magnitude:

+10 = 00001010 (8 bits) 0000000000001010 (16 bits)

-10 = 10001010 (8 bits) 1000000000001010 (16 bits)

• Notação complemento de dois:

+10 = 00001010 (8 bits) 0000000000001010 (16 bits)

-10 = 11110110 (8 bits) 1111111111110110 (16 bits)

6.2.2 - Negação em complemento de dois

Na regra para a negação, basta aplicar o complemento de 2 ao inteiro original, como exemplificado na
Tabela 6.4.

Há casos especiais para a negação em complemento de dois:

• Se o número for 0, para uma representação em 8 bits, o bit “vai um” (carry-in) com o valor obtido
na posição mais a esquerda é ignorado, como pode ser visualizado na Expressão 6.7.

• Se negarmos o padrão de bits constituído de um bit com valor 1 seguido de n-1 bits de valor 0,
obteremos esse mesmo número. Como exemplo, para uma palavra de 8 bits, ilustrado Expressão
6.8.

Expressão 6.7 – Complemento de dois de 0


Evolução e Arquitetura de Computadores
54

Expressão 6.8 – Complemento de dois de -128

Caso especial: sempre que o número com sinal tiver um 1 no bit de sinal e zero em todos os
outros bits, seu equivalente decimal será -2n sendo n número magnitude, como mostrado no
exemplo abaixo:

1000 = -23 = - 8 01000 = + 8

10000 = -24 = - 16 010000 = + 16.

6.2.3 - Adição em binário

As regras básicas para a adição em binário são mostradas na Expressão 6.9:

Expressão 6.9 – Regras para adição em binário

Para executar a adição em complemento de dois, basta somar e quando ocorrer um “vai-um” para fora
do bit mais significativo da palavra, que é ignorado. Exemplo mostrado na Expressão 6.10 e na Expressão 6.11

Expressão 6.10 – Adição em binário

Expressão 6.11 – Soma em binário com overflow


Evolução e Arquitetura de Computadores
55

6.2.4 - Subtração em binário

A subtração, tal como a adição, obedece ao mesmo princípio. O resultado de subtrairmos dois zeros ou
dois uns, é zero. Se quisermos subtrair ‘1’ a ‘0’, temos que pedir emprestado ‘1’ ao dígito binário imediatamente
à esquerda no número. Exemplo mostrado na Expressão 6.12.

Expressão 6.12 – Subtração em binário

Para subtrair S de M, em complemento de dois, pegue o complemento de dois de M e acrescente esse


valor a S. Veja os exemplos ilustrados na Expressão 6.13 e na Expressão 6.14.

Expressão 6.13 – Subtração em complemento de dois

Expressão 6.14 – Subtração em complemento de dois com overflow

6.2.5 - Multiplicação em binário

A multiplicação binária de números inteiros sem sinal segue os mesmos princípios gerais da multipli-
cação decimal. Entretanto, com apenas dois possíveis bits multiplicadores (1 ou 0), multiplicação binária é um
processo muito mais simples: 0 x 0 = 0

0x1=0

1x0=0

1x1=1

Como exemplo, vamos multiplicar 10012 (9d) por 11002 (12d) cujo produto resulta em 1101100 (108d),
ilustrado na Expressão 6.15.
Evolução e Arquitetura de Computadores
56

Expressão 6.15 – Multiplicação de números inteiros binário sem sinal

Infelizmente, o esquema anterior não funciona para multiplicação com sinal, veja nos exemplos abaixo:

Existem diversas soluções possíveis para esse e outros dilemas gerados na multiplicação com sinal. Um
dos algoritmos mais usados é o de Booth. Usando-se o algoritmo de Booth, gera-se um produto parcial para
cada bit no multiplicador. Se o valor do bit do multiplicador é 0, seu produto parcial correspondente consiste
apenas de zeros, se o valor do bit é 1, seu produto parcial correspondente é uma cópia do multiplicando. Adi-
cionalmente, cada produto parcial é deslocado à esquerda um número de bits que é função do bit do multi-
plicador com o qual está associado; por exemplo, o produto parcial associado com o bit 0 no multiplicador é
deslocado a esquerda zero bits, o produto parcial associado com o bit 1 é deslocado a esquerda de um bit, e
assim por diante. Todos os produtos parciais são então somados para gerar o resultado, cujo número de bits é
a soma do número de bits dos dois valores que estão sendo multiplicados (veja Expressão 6.13).

Expressão 6.16 – Multiplicação de números binários utilizando o algoritmo de Booth

Infelizmente, o algoritmo de Booth funciona apenas com números binários sem bit de sinal. Entretanto,
esse problema pode ser resolvido tomando-se o complemento de dois de qualquer número negativo antes de
Evolução e Arquitetura de Computadores
57

colocá-lo no multiplicador. Se os sinais dos dois valores forem os mesmos, ambos positivos ou ambos negati-
vos, então não é necessário efetuar nenhuma outra ação, porém, se os sinais são diferentes, então o resultado
retornado pelo multiplicador precisa ser negado efetuando-se seu complemento de dois.

6.2.6 - Divisão em binário

Como nas demais operações aritméticas, a divisão binária é efetuada de modo semelhante à divisão
decimal, considerando-se apenas que:

0/1=0

1/1=1

e que a divisão por zero acarreta erro.

O algoritmo a seguir apresentado, é utilizado para executar a divisão em binário: 1- a partir da esquerda,
avançam-se tantos algarismos quantos necessários para obter-se um valor igual ou maior que o divisor; encon-
trado esse valor, registra-se 1 para o quociente; 2- subtrai-se do valor obtido no dividendo o valor do divisor (na
divisão, como o quociente somente pode ser de valor igual a 1, a subtração é sempre com o próprio valor do
divisor); 3- ao resultado acrescentam-se mais algarismos do dividendo (se ainda houver algum), até obter-se
um valor igual ou maior que o divisor (como no item 1). Se o(s) algarismo(s) for(em) zero, acrescenta-se zero(s)
ao quociente; repete-se o processo a partir do item 1, até que se esgotem os algarismos do dividendo (Veja
exemplo os exemplos abaixo).

Dividir 11011 e 101.

Dividir 11011 e 101.


Evolução e Arquitetura de Computadores
58

6.3 - Sistema numérico hexadecimal

O sistema numérico hexadecimal tem base igual a 16. Se a base é 16, vamos precisar de 16 símbolos
diferentes para algarismos. No sistema hexadecimal, os algarismos são: “0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F”.
As letras A, B, C, D, E e F correspondem respectivamente aos decimais 10, 11, 12, 13, 14 e 15. Foram escolhidos
esses símbolos, a fim de tornar a escrita dos números mais fácil. Tal como para o caso do sistema binário, tam-
bém aqui, nós podemos determinar, através da mesma fórmula, qual o maior número decimal que é possível
representar com um determinado número de algarismos hexadecimais.

Geralmente, os números hexadecimais são escritos com um prefixo “$” ou “0x”, ou com o sufixo “h”, para
realçar o sistema numérico que estamos a utilizar. Assim, o número hexadecimal A37E, pode ainda ser mais cor-
retamente escrito como $A37E, 0xA37E ou A37Eh. Para traduzirmos um número hexadecimal para o sistema
numérico binário, não é necessário executar qualquer cálculo mas, simplesmente, substituir cada algarismo do
número pelos dígitos binários que o representam. Como o valor máximo representado por um algarismo no
sistema hexadecimal é 15, isso significa que são precisos 4 dígitos binários, para cada algarismo hexadecimal.
Exemplo mostrado na Expressão 6.17.

Expressão 6.17 – Conversão de hexadecimal para binário

Se convertermos ambos os membros da identidade para o sistema numérico decimal, obtemos, em


ambos os casos, o número decimal 228, o que comprova que não nos enganamos.

Para obter o equivalente decimal a um número hexadecimal, precisamos multiplicar cada algarismo do
número, por uma potência de 16, cujo expoente, deve corresponder à posição desse algarismo, no número
hexadecimal. Em seguida, deve-se adicionar todos os resultados obtidos. Exemplo mostrado na Expressão 6.18

Expressão 6.18 – conversão de hexadecimal para decimal

A adição, também é executada, tal como nos dois exemplos precedentes. Exemplo mostrado na Expres-
são 6.19.

Expressão 6.19 – Adição em hexadecimal

Quando adicionamos dois algarismos hexadecimais, se a respectiva soma for igual a 16, escrevemos ‘0’
na posição respectiva e adicionamos uma unidade á soma dos dois algarismos que se seguem. Quer dizer, se
a soma dos dois algarismos for, por exemplo, 19 (19 = 16 +3) escrevemos ‘3’ nessa posição e, transferimos o
‘1’ para o algarismo imediatamente a seguir. Se verificarmos, a primeira parcela é o número 14891 e a segun-
da parcela da soma é 43457. A soma das duas parcelas é 58348, que coincide com o equivalente decimal do
Evolução e Arquitetura de Computadores
59

número hexadecimal $E3EC. A subtração, também segue um processo idêntico ao dos dois outros sistemas.
Se o algarismo do subtraendo for menor que o do subtrator, é necessário decrementar em uma unidade, o
algarismo seguinte no subtraendo.

Um exemplo de subtração em hexa é mostrado na Expressão 6.20.

Expressão 6.20- Subtração em hexa

Analisando o resultado, verificamos que o subtraendo e o subtrator, correspondem, respectivamente,


aos decimais 11590 e 5970, a diferença é 5620, que é o número que obtemos se fizermos a conversão de $15F4,
para o sistema numérico decimal.

6.4 - Conversão de bases

6.4.1 - Decimal-binário

A conversão consiste em dividir o número representado na base 10 sucessivamente pela nova base em
que se deseja representá-lo, até que o quociente da divisão seja menor que a base em questão. Em seguida
toma-se o último quociente e os restos das sucessivas divisões em ordem inversa e obtém-se, assim, a repre-
sentação do número na nova base. Exemplo mostrado na Expressão 6.21: converter 2710 para a base 2.

Expressão 6.21 - Conversão decimal-binário

Portanto 2710 = 110112

6.4.2 - Hexadecimal – Binário

Na conversão HEX-BIN, convertemos cada digito Hexadecimal separadamente em quatro dígitos, fazen-
do uso da tabela Hexadecimal (Tabela 6.2) .

Tabela 6.2 – Conversão hexa-binário

F 6 A 9
1111 0110 1010 1001

6.4.3 - Binário - Hexadecimal

Para a conversão de binário em hexadecimal faremos o processo inverso ao Hexadecimal - Binário. Se o


número Binário não for divisível por 4, adicionamos os zeros necessários à esquerda.
Evolução e Arquitetura de Computadores
60

Exemplo (Tabela 6.3): converter: 11011010100112 em hexa

Tabela 6.3 – Conversão binário-hexa

0001 1011 0101 0011


1 B 5 3
Resultado: 1B53h

6.4.4 - Qualquer base para a decimal

Generalizando, para a conversão de um número em uma base qualquer para a base decimal usa-se a
seguinte fórmula:

N=dn-1 x bn-1 + dn-2 x bn-2 + ... + d1 x b1 + d0 x b0

Onde:

• d: Indica cada algarismo do número

• n-1, n-2, 1,0: Indicam a posição de cada algarismo

• b: Indica a base de numeração

• n: Indica o número de dígitos inteiros

6.4.5 - Decimal - Hexadecimal

Para converter decimal em hexadecimal :

1) Divida o número pela base, o resto é o primeiro dígito, da *direita* para a *esquerda*

2) O resultado da divisão anterior você divide novamente e adiciona o dígito à *esquerda* do dígito
anterior

3) Repita esse processo até a divisão for igual a zero (o dividendo é menor que a base)

Lembrando que na base 16, os dígitos vão de 0 a 15, sendo os dígitos de ordem 10 a 15 representados
pelas letras A a F, respectivamente.

Exemplo: 66610 = 29A16, pois:

666 / 16 = 41, resto 10 (A)

1. 41 / 16 = 2, resto 9

2. 2 / 16 = 0, resto 2 (o próprio divisor)

A Tabela 6.4 apresenta os números em decimal e sua representação correspondente em binário, octal
e hexadecimal
Evolução e Arquitetura de Computadores
61

Tabela 6.4 – Números em decimal, binário, octal e hexadecimal

Você também pode gostar