quarta-feira, 2 de março de 2011

Introdução à Arquitetura de Computadores


Apesar da existência de uma grande diversidade em termos de arquiteturas de
computador, pode-se enumerar, num ponto de vista mais genérico os componentes
básicos desta classe de equipamentos.
Apesar da grande evolução ocorrida na área de informática desde o
aparecimento dos primeiros computador, o esquema apresentado na figura pode ser
utilizado tanto para descrever um sistema computacional atual como os computadores
da década de 40, projetados por engenheiros como John Von Neuman.

Memória Processador Periféricos

Barramento
Elementos básicos do computador
Os principais elementos do computador são:
n O processador (ou microprocessador) é responsável pelo tratamento de
informações armazenadas em memória (programas em código de máquina e dos
dados).
n A memória é responsável pela armazenagem dos programas e dos dados.
n Periféricos, que são os dispositivos responsáveis pelas entradas e saídas de
dados do computador, ou seja, pelas interações entre o computador e o mundo
externo. Exemplos de periféricos são o monitor, teclados, mouses, impressoras,
etc.
n Barramento, que liga todos estes componentes e é uma via de comunicação de
alto desempenho por onde circulam os dados tratados pelo computador.

Processador

Um microprocessador, ou simplesmente processador, é um circuito integrado (ou chip),
que é considerado o "cérebro" do computador . É ele que executa os programas, faz os cálculos e toma as decisões, de acordo com as instruções
armazenadas na memória.
UCP (Unidade Central de Processamento), ou em inglês, CPU (Central Processing Unit).
Antes da existência dos microprocessadores, as CPUs dos computadores eram
formadas por um grande número de chips, distribuídos ao longo de uma ou diversas
placas. Um microprocessador nada mais é que uma CPU inteira, dentro de um único
CHIP. Podemos ver na Figura 3 um microprocessador e uma placa de circuito. Um
microprocessador contém todos os circuitos que antigamente eram formados por
diversas placas.
Microprocessador e placa de circuito impresso
Ligando-se um microprocessador a alguns chips de memória e alguns outros chips
auxiliares, tornou-se possível construir um computador inteiro em uma única placa de
circuito. Esta placa, é comumente chamada de placa mãe dos
microcomputador.

Placa Mãe

Não importa de que tipo de CPU estamos falando, seja um microprocessador, ou uma
das várias placas que formam a CPU de um computador de grande porte, podemos dizer
que a CPU realiza as seguintes tarefas:
a) Busca e executa as instruções existentes na memória. Os programas e os
dados que ficam gravados no disco (disco rígido ou disquetes), são
transferidos para a memória. Uma vez estando na memória, a CPU pode
executar os programas e processar os dados.
b) Comanda todos os outros chips do computador.
A CPU é composta basicamente de três elementos: unidade de controle, unidade lógica
e aritmética e registradores. As sessões que seguem apresentam cada um destes
componentes.

Unidade Lógica e Aritmética

O primeiro componente essencial num computador (ou sistema computacional) é a
Unidade Lógica e Aritmética (ALU), a qual, como o próprio nome indica, assume todas
as tarefas relacionadas às operações lógicas (ou, e, negação, etc.) e aritméticas
(adições, subtrações, etc...) a serem realizadas no contexto de uma tarefa.
Neste contexto, é importante observar a evolução que a ALU sofreu ao longo dos anos e
quais são os parâmetros que influenciam no desempenho global de um sistema
computacional:
Um parâmetro importante é o tamanho da palavra processada pela unidade
lógica e aritmética. Como o sistema de numeração adotado nas arquiteturas de
computadores é o binário, o tamanho de palavra é dado em números de bits.
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.
A velocidade de cálculo obviamente é outro fator de peso para o desempenho do
computador, uma vez que ela será determinante para o tempo de resposta de um
sistema computacional com respeito à execução de uma dada aplicação. A
velocidade de cálculo está diretamente relacionada com a freqüência do relógio
que pilota o circuito da CPU como um todo.
Outro parâmetro importante associado ao desempenho do computador é a
quantidade de operações que ela suporta. Por exemplo, 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
seqüências destas operações básicas. Os processadores suportando um conjunto
mais complexo de instruções surgiu de 15 anos para cá, graças à adoção da
tecnologia CISC (Complex Instruction Set Computer).
A evolução nos tempos destes parâmetros será apresentada aqui a partir da história dos
microprocessadores da família Intel, resumida na tabela abaixo.
Nome Ano Clock
(MHz)
REG
(bits).
Barramento
(bits)
N. de
Transistores
Memória
Endere -
çável
Comentários
4004 1971 0,108 4 4 2.300 640 bytes primeiro microprocessador
(manipulação aritmética)
8008 1972 0,108 8 8 3.500 16 KB primeiro micro 8 bits (manipulação de
dados/caracteres)
8080 1974 2 8 8 6.000 64 KB primeira CPU num chip (10x o
desempenho do 8008)
8086 1978 5-10 16 16 29.000 1 MB primeira CPU 16 bits num chip (10x o
desempenho do 8086)
8088 1980 5-8 16 8 29.000 1 MB processador do IBM -PC
80286 1982 8-12 16 16 134.000 16 MB aumento no endereçamento (3-6x o
desempenho do 8086
80386DX 1985 16-33 32 32 275.000 4 GB primeira CPU 32 bits
80386SX 1988 16-20 32 16 275.000 4 GB 80386 com barramento 80286
80486
DX
1989 25-50 32 32 1.200.000 4 GB versão 80386 mais rápida
80486 SX 1989 16-33 32 32 1.185.000 4 GB 80486 sem coprocessador matemático
Pentium 1993 60-166 32 32 3.100.000 4 GB Arquitetura Super-escalar, 5x o
desempenho do 486DX 33
Pentium
Pro
1995 150-200 32 64 5.500.000 4 GB Arquitetura de Execução dinâmica
Pentium
II
1997 233-450 32 64 7.500.000 64 GB Barramento Duplo independente,
execução dinâmica, e tecnologia
MMX
Pentium 1998 400-450 32 64 7.500.000 64 GB Para estações de trabalho e II Xeon
Pentium
III
1999 450 a
1130
32 64 9.500.000 64 GB PCs de negócio e de consumidores,
servidores e estações de trabalho
Pentium
III Xeon
1999 500 e
550
32 64 9.500.000 64 GB PCs de negócio e servidores e estações
de trabalho.
A sociedade Intel fundada em 1968, iniciou a fabricação de memórias para
computadores, até que um fabricante de computadores lançou o desafio de construir
uma unidade central de processamento (CPU), num único circuito para uma calculadora
eletrônica. Assim, foi desenvolvida a CPU 4004 de 4 bits, e logo depois o 8008. Estes
foram as primeiras CPUs integradas num único chip. A fabricação foi em pequena
escala, pois a empresa não pensou que estas pudessem interessar a outros fabricantes.
Esses chips eram caríssimos. Custavam, na época do seu lançamento, mais de 1000
dólares.
Em função do sucesso do 8008, a Intel lançou-se na fabricação de um novo chip que
permitisse ultrapassar a barreira dos 16 Kbytes de memória, limite imposto devido ao
número de pinos do 8008. Nasceu então o 8080 (1974), que provocou uma revolução no
que diz respeito à indústria dos computadores. O 8080 foi o primeiro microprocessador a
ser usado em larga escala nos chamados "computadores pessoais". Antes deles, os
microcomputadores eram usados apenas em laboratórios científicos, em fábricas e em
universidades. O 8080 popularizou o uso de microcomputadores por pequenas
empresas e até para uso pessoal. Era comuns os micros pessoais baseados no 8080 e
em outros microprocessadores rivais: o MC6800 da Motorola, o 6502, usando em um
antigo microcomputador chamado de APPLE, e o Z-80 fabricado pela ZILOG, usado em
um antigo computador chamado TRS-80. Surgia então a indústria dos
microcomputadores. Ao mesmo tempo, surgia a indústria do software para
microcomputadores, que criava programas de vários tipos para serem usados nessas
máquinas. Os microcomputadores dessa época já tinham teclado, vídeo e impressora.
Seus dados e programas eram gravados normalmente em gravadores de fita K-7
adaptados para trabalhar com microcomputadores.
A INTEL produziu ainda, no final dos anos 70, um outro microprocessador para substituir
o 8080. Chamava-se 8085. Todos esses microprocessadores (8080, 8085, Z-80, 6502,
6800 e outros) operavam com 8 bits. A Figura 5 mostra um dos primeiros
microcomputadores brasileiros, o SCHUMEC M-101/85, lançado em 1981. Tinha um
microprocessador INTEL 8085 de 6 MHz, 16 KB de memória e um gravador de fita K-7
para armazenamento de programas e dados. Seu monitor de vídeo era na verdade uma
TV PHILIPS adaptada, já que nesta época o Brasil não fabricava monitores.
Figura 5. Microcomputador SCHUMEC M 101/85
Pouco depois, é lançada a primeira CPU em 16 bits, o 8086, concebido no mesmo
espírito do 8080. O próximo passo foi o 8088, que possuía a mesma arquitetura do 8086,
mas com um barramento interno de 8 bits e não de 16 como seu antecessor. Nessa
ocasião, a IBM, que é o maior fabricante de computadores em todo o mundo, ainda não
fabricava microcomputadores. Seus produtos eram os computadores de grande porte
usados nos grandes centros de processamento de dados, e custavam alguns milhões de
dólares. A IBM decidiu então entrar no mercado de comput adores pessoais. Escolheu
então o microprocessador 8088 para usar em seu microcomputador, chamado de "IBM
Personal Computer", ou simplesmente, IBM PC. O IBM PC, o primeiro microcomputador
de 16 bits, passou logo a dominar o mercado. Até os dias atuais, os modernos
microcomputadores são compatíveis com o IBM PC original, lançado em 1981. Este
microcomputador tinha as seguintes características:
n Microprocessador 8088, operando a 4.77 MHz
n Monitor de vídeo monocromático
n 2 drives de 320 KB
n 16 KB de memória, possibilitando expansão até 64 KB
n Conexão para gravador K-7
Pouco tempo depois, a IBM realizou melhorias no projeto deste microcomputador e
lançou o IBM PC-XT. A sigla "XT" significa "Extended Technology" (Tecnologia
estendida). As características dos primeiros modelos do IBM PC-XT eram as seguintes:
n Microprocessador 8088, operando a 4.77 MHz
n Monitor de vídeo monocromático ou colorido
n 2 drives de 360 KB
n 64 KB de memória, possibilitando expansão até 256 KB
n Disco rígido de 10 MB
A grande vantagem do IBM PC-XT em relação ao IBM PC era a possibilidade de operar
com um disco rígido (também chamado de winchester) de 10 MB, uma altíssima
capacidade para aquela época.
Os microprocessadores 80186 e 80188 foram extensões aos dois chips anteriores, do
ponto de vista das E/S. Entretanto, estes nunca foram chips altamente utilizados.
O passo seguinte e natural seria a passagem para 32 bits, o que foi concretizado com o
lançamento do 80386 e 80386SX. Logo após surgiu o 80486 e que possui, integrados,
um coprocessador de ponto flutuante e um controlador de memória.
Atualmente, os computadores são baseados nos processadores Pentium II e III, cujas
características estão na tabela acima.
3.3.2 Unidade de Controle (UC)
A Unidade de Controle tem a maior importância na operação de um computador, uma
vez que é esta unidade que assume toda a tarefa de controle das ações a serem
realizadas pelo computador, comandando todos os demais componentes de sua
arquitetura. É este elemento quem deve garantir a correta execução dos programas e a
utilização dos dados corretos nas operações que as manipulam. É a unidade de controle
que gerencia todos os eventos associados à operação do computador, particularmente
as chamadas interrupções, tão utilizadas nos sistemas há muito tempo.
3.3.3 Registradores
A CPU contém internamente uma memória de alta velocidade que permite o
armazenamento de valores intermediários ou informações de comando. Esta memória é
composta de registradores (ou registros), na qual cada registro tem uma função própria.
Os registros, geralmente numerosos, são utilizados para assegurar o armazenamento
temporário de informações importantes para o processamento de uma dada instrução.
Conceitualmente, registro e memória são semelhantes: a localização, a capacidade de
armazenamento e os tempos de acesso às informações que os diferenciam. Os registros
se localizam no interior de um microprocessador, enquanto a memória é externa a este.
Um registro memoriza um número limitado de bits, geralmente uma palavra de memória.
Os registros mais importantes são:
n Contador de programa (PC - Program Counter), que aponta para a próxima
instrução a executar.
n Registro de instrução (IR - Instruction Register) que armazena a instrução em
execução.
n Outros registros que permitem o armazenamento de resultados intermediários.
3.3.4 Clock
Clock é um circuito oscilador que tem a função de sincronizar e ditar a medida de
velocidade de transferência de dados no computador, por exemplo, entre o processador
e a memória principal. Esta freqüência é medida em ciclos por segundo, ou Hertz.
Existe a freqüência própria do processador, comandando operações internas a ele, e a
freqüência do computador a ele associado, basicamente ciclos CPU-Memória principal.
Os processadores Pentium-100, Pentium MMX-233, Pentium II-300, acessam a memória
principal a 66 MHz. Suas freqüências respectivas de 100, 233 e 300 MHz são atingidas,
tão somente, no interior do chip. Dizem, portanto, respeito ao processamento interno do
processador e não à freqüência na relação CPU-Memória do computador.
Já os processadores Pentium II-350 e superiores tem uma freqüência externa de 100
MHz, acaretando um desempenho melhor do microcomputador, tanto no processamento
propriamente dito quanto nas operações de disco e vídeo.
3.4 Processadores CISC e RISC
Uma instrução em um programa de alto nível é implementado por diversas instrução de
processador a mais baixo nível. Por exemplo, uma instrução de um programa que
imprime um conjunto de caracteres na tela é realizado a nível de processador por um
conjunto de instruções.
De acordo com o número de instruções suportadas, pode-se classificar um processador
como RISC (Reduced Instruction Set Computing) ou CISC (Complex Instruction Set
Computing).
Os microprocessadores são, em sua maioria, chips CISC. Um processador CISC suporta
um conjunto maior de instruções, sendo cada instrução mais especializada; graças a
isso, ele pode executar, de modo direto, a maioria das operações programadas pelos
programas de alto nível. Devido a isto, o número de instruções de processador para
implementar uma instrução de mais alto nível são menores. Mas quanto maior a
quantidade de instruções que um processador suporta, mais lenta é a execução de cada
uma delas.
Um processador RISC reconhece um número limitado de instrução, que, em
contrapartida, são otimizadas para que sejam executadas com mais rapidez. Portanto, a
arquitetura RISC reduz o conjunto de instrução ao mínimo, e as instruções não
implementadas diretamente são realizadas por uma combinação de instruções
existentes. Mas em compensação, um programa é implementado por um número maior
de instruções.
A Apple desenvolveu, sob a arquitetura RISC, em parceria com a Motorola e a IBM, o
chip Powerpc, com mais poder de processamento que o chip Pentium. Ele equipa a linha
de microprocessadores MakPower (nos modelos 6100, 7100, 8100).
3.5 Memória
Todo computador é dotado de uma quantidade de memória (que pode variar de máquina
para máquina) a qual se constitui de um conjunto de circuitos capazes de armazenar os
dados e os programas a serem executados pela máquina. Nós podemos identificar
diferentes categorias de memória:
n a memória principal, ou memória de trabalho, onde normalmente devem estar
armazenados os programas e dados a serem manipulados pelo processador;
n a memória secundária que permitem armazenar uma maior quantidade de dados
e instruções por um período de tempo mais longo; o disco rígido é o exemplo mais
evidente de memória secundária de um computador, mas podem ser citados
outros dispositivos menos recentes como as unidades de fita magnética e os
cartões perfurados;
n a memória cache, que se constitui de uma pequena porção de memória com
curto tempo de resposta, normalmente integrada aos processadores e que permite
incrementar o desempenho durante a execução de um programa.
Os circuitos de memória são normalmente subdivididos em pequenas unidades de
armazenamento, geralmente um byte. Cada uma desta unidade é identificada no circuito
por um endereço único, o qual vai ser referenciado pelo processador no momento de
consultar ou alterar o seu conteúdo. Por exemplo, .no caso do processador 8088 nós
temos um espaço de endereçamento de 1 MBytes, então este endereço único vai de 0 a
FFFFF, conforme ilustração abaixo. As quantidades de memória hoje são definidas em
termos de Kbytes (quilobytes) que correspondem a 1024 bytes ou (210 bytes) e MBytes
(megabytes), que correspondem a 1024 KBytes ou (220 bytes).
Endereço hexadecimal Conteúdo de memória
00000 00
00001 23
00002 00
... ...
... ...
FFFFE E4
FFFFF FF
3.5.1 Memória Principal
A memória principal, ou memória de trabalho, é onde normalmente devem estar
armazenados os programas e dados a serem manipulados pelo processador.
Geralmente é esta memória que se referencia na especificação de um microcomputador.
E hoje, as quantidades de memória mais usuais disponíveis nos microcomputadores são
32, 64, 128 e 256 MBytes de memória, ou mesmo até mais para aplicações específicas.
Em termos básicos, a memória principal é vista como um conjunto de chips que são
inseridas na placa mãe do computador. Pode-se ver na Figura 6 alguns tipos de chips de
memória, usados para formar a memória principal de microcomputadores. Os dois
módulos superiores desta figura são as memórias utilizadas atualmente. Mais adiante
serão apresentadas as tecnologias de memória e os tipos de empacotamento.
Figura 6. Chips de memória
Os módulos de memória mais usados nos microcomputadores são os dois módulos de
memória superiores da Figura 6. O mais superior é conectado no barramento PCI e o
segundo no barramento ISA (estes tipos de barramento serão apresentados mais
adiante). Estes módulos são colocados na placa mãe,
Tipos de memória
Os chips de memória podem ser divididos em duas grandes categorias:
n RAM (memória de leitura e escrita): são chips de memória que podem ser lidos e
gravados pela CPU a qualquer instante. A CPU usa a RAM para armazenar e
executar programas vindos do disco, para ler e gravar os dados que estão sendo
processados. Uma outra característica da RAM, é que se trata de uma memória
VOLÁTIL. Isso significa que quando o computador é desligado, todos os seus
dados são apagados. Por essa razão, é necessário que os programas e dados
fiquem gravados no disco, que é uma memória PERMANENTE.
Existem vários tipos de RAM com diversas características e para diversas
aplicações. A mais conhecida é a DRAM (dinâmica) e a SRAM (estática) e suas
evoluções. Estes tipos serão detalhados mais adiante.
n Memórias Não Voláteis: são memórias cujas informações mantidas não são
perdidas caso o computador seja desligado. Nos microcomputadores, existe um
programa muito importante chamado de BIOS (Basic Input-Output System -
Sistema Básico de Entrada e Saída). O BIOS tem várias funções, entre as quais, a
de realizar a "partida" do computador. Quando ligamos o computador, o BIOS
realiza a contagem de memória, faz uma rápida checagem do funcionamento do
computador e realiza a carga do Sistema Operacional que deve estar armazenado
no disco. O BIOS está gravado em uma memória permanente localizada na placa
mãe. Existem diversos tipos de memória permanente:
- ROM: São chips de memória que podem ser lidos pela CPU a qualquer
instante, mas não podem ser gravados pela CPU. Sua gravação é feita
apenas pelo fabricante do computador, ou pelo fabricante de memórias. Os
dados armazenados nela já saem prontos de fábrica e são produzidas em
larga escala na indústria. A característica importante de ROM é que trata-se
de uma memória PERMANENTE. Seu conteúdo nunca é perdido, mesmo com
o computador desligado Portanto este tipo de memória é usada para
armazenar programas estáticos (que não alteram) e produzidos em massa.
Este tipo de memória foi usado para armazenar o BIOS, que se localiza na
placa-mãe.
- PROM: Significa Programmable ROM, ou seja, ROM programável. Trata-se de
uma espécie de ROM que é produzida apagada. O fabricante pode programálas,
ou seja, gravar seu programa. Esta gravação pode ser feita apenas um
vez, pois utiliza um processo irreversível. Por isso, usa-se o termo queimar a
PROM quando se grava nesta memória.
- EPROM: Significa Eraseable PROM, ou seja, uma ROM programável e
apagável. Assim como ocorre com a PROM, a EPROM pode ser programada
e a partir daí, comporta-se como uma ROM comum, mantendo os dados
armazenados mesmo sem corrente elétrica, e permitindo apenas operações
de leitura. A grande diferença é que a EPROM pode ser apagada com raios
ultravioleta de alta potência. Possuem uma "janela de vidro", através da qual
os raios ultravioleta podem incidir nas operações de apagamento. Nota-se que
essa janela de vidro fica sempre coberta por um adesivo que tampa a passagem de luz. É fácil identificar um chip EPROM na placa mãe justamente
pela presença desse adesivo.
- EEPROM: Significa Electrically Erasable Programmable ROM (EEPROM ou
E2PROM). Esta é o tipo de memória ROM mais flexível, que pode ser
apagada sob o controle de software. Este é o tipo que se usa para armazenar
as BIOS atuais. Dessa forma, o usuário pode realizar atualizações no BIOS,
fornecidas pelo fabricante da placa de CPU. Quando se ouve falar em “flash
BIOS” ou “fazendo um upgrade de BIOS”, isto se refere a reprogramação do
BIOS EEPROM com um programa de software especial.

0 comentários:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...