UNIESP – Arquitetura de Computadores
1
SUMÁRIO
A Evolução do computador 02
O Início da Era da computação 02
Computadores de Primeira Geração 04
Computadores de Segunda Geração 06
Computadores de Terceira Geração 07
Computadores de Quarta Geração 08
Computadores de Quinta Geração 09
Estrutura Inicial do PC 10
Componentes do PC 10
Unidades de Entrada 10
Unidade Central de Processamento 12
Microprocessador 12
Unidade Aritmética e Lógica 13
Registradores 13
Unidades de Controle 14
Relógio 14
Registrador de Instrução 14
Contador de Instrução 14
Decodificador de Instrução 15
Termos utilizados para definir alguns conceitos sobre
microprocessadores 15
Interrupções 17
Bits internos e externos 17
Pipeline 18
Execução paralela de instruções 19
Memória Cache 20
Unidades de Memória Principal 20
Memória Auxiliar ou Memória de Massa 23
Unidades de saída 25
Placa mãe 27
Visão geral das placas-mãe 27
Placas-mãe onboard 29
SLOTS 29
Chipset 30
Barramentos 30
CMOS e BIOS 30
Sistemas Numéricos 32
Sistema numérico decimal 32
Sistema numérico binário 33
Sistema numérico hexadecimal 33
Conversões entre sistemas 34
UNIESP – Arquitetura de Computadores
2
A Evolução do Computador
A história do computador, ao contrário do que muitos podem imaginar,
tem seu início há muito tempo atrás, desde quando o homem
descobriu que
somente com os dedos, ou com pedras e gravetos, não dava mais para
fazer
cálculos...
Aproximadamente 4.000 a.C. - Um aparelho muito simples formado por
uma placa de argila onde se escreviam algarismos que auxiliavam nos
cálculos. Esse aparelho era chamado de ÁBACO - palavra de origem
Fenícia.
Cerca de 200 a.C., o Ábaco era constituído por uma moldura retangular
de
madeira com varetas paralelas e pedras deslizantes.
1642 - Um francês de 18 anos de nome Blaise Pascal, inventou a
primeira máquina de somar: PASCALINA, a qual executava operações
aritméticas quando se giravam os discos interligados, sendo assim a
precursora das calculadoras mecânicas.
1671 - Por volta deste ano na Alemanha, Gottfried Leibnitz inventou uma
máquina muito parecida com a Pascalina, que efetuava cálculos
de
multiplicação e divisão, e qual se tornou a antecessora
direta das calculadoras
manuais.
1802 - Na França, Joseph Marie Jacquard passou a utilizar Cartões
Perfurados para controlar suas máquinas de tear e automatizá-las.
1822 - Foi desenvolvido por um cientista inglês chamado Charles
Babbage uma máquina diferencial que permitia cálculos como funções
trigonométricas e logaritmas, utilizando os cartões de Jacquard.
1834 - Charles Babbage desenvolveu uma máquina analítica capaz
de
executar as quatro operações (somar, dividir, subtrair, multiplicar),
armazenar
dados em uma memória (de até 1.000 números de 50 dígitos)
e imprimir
resultados.Porém, sua máquina só pode ser concluída
anos após a sua morte,
tornando-se a base para a estrutura dos computadores atuais, fazendo com
que Charles Babbage fosse considerado como o "Pai do Computador".
O Início da Era da Computação
No ano de 1890, época do censo dos EUA, Hermann Hollerith percebeu
que só conseguiria terminar de apurar os dados do censo quando já
seria o
tempo de se efetuar novo censo (1900). Então aperfeiçoou os
cartões
perfurados (aqueles utilizados por Jacquard) e inventou máquinas para
manipulá-los, conseguindo com isso obter os resultados em tempo recorde,
isto
é, 3 anos depois.
UNIESP – Arquitetura de Computadores
3
Tabulador de Hollerith - 1890
Tabulava estatísticas com Cartões Perfurados
Em função dos resultados obtidos, Hollerith, em 1896, fundou
uma
companhia chamada TMC - Tabulation Machine Company, vindo esta a se
associar, em 1914 com duas outras pequenas empresas, formando a
Computing Tabulation Recording Company vindo a se tornar, em 1924, a tão
conhecida IBM - Internacional Business Machine.
Em 1930, os cientístas começaram a progredir nas invenções
de
máquinas complexas, sendo que o Analisador Diferencial de Vannevar
Bush
anuncia a moderna era do computador. Em 1936, Allan Turing publica um
artigo sobre "Numeros Computáveis" e Claude Shannon demonstra
numa tese
a conexão entre lógica simbólica e circuítos elétricos.
Em 1937, George Stibitz
constrói em sua mesa de cozinha um "Somador Binário".
Com a chegada da Segunda Guerra Mundial houve a necessidade de se
projetar máquinas capazes de executar cálculos balísticos
com rapidez e
precisão para serem utilizadas na indústria bélica.
Com isso surgiu, em 1944, o primeiro computador eletromecânico
(construído na Universidade de Harvard, pela equipe do professor H.
Aiken e
com a ajuda financeira da IBM, que investiu US$ 500.000,00 no projeto),
possuía o nome de MARK I, era controlado por programa e usava o sistema
decimal. Tinha cerca de 15 metros de comprimento e 2,5 metros de altura, era
envolvido por uma caixa de vidro e de aço inoxidável brilhante
e possuía as
seguintes características:
760.000 peças
800 km de fios
420 interruptores para controle
realizava uma soma em 0,3 s
realizava uma multiplicação em 0,4 s
e uma divisão em cerca de 10 s
UNIESP – Arquitetura de Computadores
4
Mark I - 1943
com seus 420 interruptores que eram ajustados manualmente
para que os valores fossem introduzidos
Computadores de Primeira Geração
1943 - Um projeto britânico, sob a liderança do matemático
Alan Turing,
colocou em operação uma série de máquinas mais
ambiciosas, o COLOSSUS,
pois ao invés de relés eletromecânicos, cada nova máquina
usava 2.000
válvulas eletrônicas. O Colossus trabalhava com símbolos
perfurados numa
argola de fita de papel, que era inserida na máquina de leitura fotoelétrica,
comparando a mensagem cirfrada com os códigos conhecidos até
encontrar
uma coincidência. Ele processava 25.000 caracteres por segundo.
COLOSSUS - 1943
criado para quebrar códigos alemães ultra-secretos
1945 - John von Neumann delineia os elementos críticos de um sistema
de computador.
1946 - Surgiu o ENIAC - Eletronic Numerical Interpreter and Calculator,
ou seja, "Computador e Integrador Numérico Eletrônico",
projetado para fins
militares, pelo Departamento de Material de Guerra do Exército dos
EUA, na
Universidade de Pensilvânia. Era o primeiro computador digital eletrônico
de
grande escala e foi projetado por John W. Mauchly e J. Presper Eckert (que
era
um gênio em engenharia, pois quando tinha apenas 8 anos contruiu um
rádio a
cristal e colocou-o num lápis).
O ENIAC tinha as seguintes características:
totalmente eletrônico
UNIESP – Arquitetura de Computadores
5
17.468 válvulas
500.000 conexões de solda
30 toneladas de peso
180 m² de área construída
5,5 m de altura
25 m de comprimento
2 vezes maior que MARK I
realizava uma soma em 0,0002 s
realizava uma multiplicação em 0,005 s com números de
10 dígitos
ENIAC - 1946
primeiro computador digital eletrônico
de grande escala
O sucessor do ENIAC foi o EDVAC - Eletronic Discrete Variable
Computer ou "Computador Eletrônico de Variáveis Discretas".
O EDVAC foi
planejado para acelerar o trabalho armazenando tanto programas quanto
dados em sua expansão de memória interna. Os dados, então,
eram
armazenados eletronicamente num meio material composto de um tubo cheio
de mercúrio, conhecido como linha de retardo, onde os cristais dentro
do tubo
geravam pulsos eletrônicos que se refletiam para frente e para trás,
tão
lentamente quanto podiam, de fato a reter a informação, semelhante
a um
desfiladeiro que retém um eco, que Eckert decobriu por acaso ao trabalhar
com
radar. Outra grande característica do EDVAC era poder codificar as
informações em forma binária em vez da forma decimal,
reduzindo bastante o
número de válvulas.
1947 - John Bardeen, William Shockley e Walter Brattain inventam o
TRANSISTOR.
1949 - Surge o EDSAC - Eletronic Delay Storage Automatic Calculator
ou "Calculadora Automática com Armazenamento por Retardo Eletrônico",
o
qual marcou o último grande passo na série de avanços
decisivos inspirados
pela guerra: Começou a "Era do Computador".
1951 - Surge o primeiro computador comercial o LEO
UNIESP – Arquitetura de Computadores
6
LEO - 1951 - primeiro computador comercial
Computadores de Segunda Geração
1952 - A Bell Laboratories inventou o Transistor que passou a ser um
componente básico na construção de computadores e apresentava
as
seguintes vantagens:
-aquecimento mínimo
-pequeno consumo de energia
-mais confiável e veloz do que as válvulas
Transistor
No mesmo ano, John Mauchly e Presper Eckert abriram sua própria
firma na Filadéfia e criaram o UNIVAC - Universal Automatic Computer,
ou
seja, "Computador Automático Universal", o qual era destinado
ao uso
comercial. Era uma máquina eletrônica de programa armazenado
que recebia
instruções de uma fita magnética de alta velocidade ao
invés dos cartões
perfurados. O UNIVAC foi utilizado para prever os resultados de uma eleição
presidencial.
Também em 1952, Grace Hopper transformou-se em uma pioneira no
processamento de dados, pois criou o primeiro compilador e ajudou a
desenvolver duas linguagens de programação que tornaram os computadores
mais atrativos para comércio.
UNIESP – Arquitetura de Computadores
7
Em 1953, Jay Forrester, do MIT, construiu uma memória magnética
menor e bem mais rápida, a qual substituía as que usavam válvulas
eletrônicas. Já em 1954, a IBM concluiu o primeiro computador
produzido em
série, o 650, que era de tamanho médio e enquanto isso, Gordon
Teal, da
Texas Instruments, descobre um meio de fabricar transistores de cristais
isolados de silício a um custo baixo.
1955 - Conclui-se o primeiro computador transistorizado, feito pela Bell
Laboratories: o TRADIC, o qual possuía 800 transistores, sendo cada
um em
seu próprio recipiente.
Computadores de Terceira Geração
De 1958 a 1959, Robert Noyce, Jean Hoerni, Jack Kilby e Kurt Lehovec
participam do desenvolvimento do CI - Circuito Integrado. Em 1960, a IBM
lança o IBM/360, cuja série marcou uma nova tendência
na construção de
computadores com o uso de CI, ou pastilhas, que ficaram conhecidas como
Chips. Esses chips incorporavam, numa única peça de dimensões
reduzidas,
várias dezenas de transistores já interligados, formando circuitos
eletrônicos
complexos.
1961 - Steven Hofstein descobriu o transistor de efeito de campo, usado
nos circuitos integrados MOS.
1965 - A Digital Equipment introduz o PDP-8, o primeiro minicomputador
comercial e com preço competitivo.
Os primeiros computadores com circuito integrado foram criados pela
Burroughs, em 1968, e tinham o nome de B2500 e B3500.
1968 - primeiro computador com circuito integrado
1971 - Ted Hoff, planeja o microprocessador Intel 4004, o qual era um
único chip com todas as partes básicas de um processador central.
Esse
processador era a CPU de um computador de 4 bits. Já em1974, Ed Roberts,
do MITS (Micro Instrumentation and Telemetry Systems) em Albuquerque -
Novo México, constrói um microcomputador chamado ALTAIR 8800
(o nome
"Altair" se deve a uma estrela, pois consideravam o lançamento
da máquina
um "evento estelar"), cuja máquina foi construída
com base no processador da
Intel o 8080, que já era um descendente do processador Intel 8008.
O ALTAIR
tornou-se o maior sucesso, marcando o início de uma indústria
multibilionária,
pois Roberts esperava vender uns oitocentos ALTAIR por ano e acabou tendo
dificuldades para satisfazer 4.000 pedidos.
UNIESP – Arquitetura de Computadores
8
Intel 4004 -
1971
Intel 8080 - 1974 MOS Technology
6502 - 1975
-primeiro
microprocessador
-2.250
componentes
-soma 2
números de 4 bits em
11 milionésimos de
segundo
-tornou-se padrão
para a indústria dos
microcomputadores
-4.500 componentes
-soma 2 números de
8 bits em 2,5 milionésimos
de segundo
-bastante usado
em computadores
domésticos
-4.300
componentes
-soma 2 números
de 8 bits em 1
milionésimos de
segundo
1975 - Os estudantes William (Bill) Gates e Paul Allen criam o primeiro
software para microcomputador, o qual era uma adaptação do BASIC
(Beginners All-Purpose Symbolic Instruction Code, ou "Código de
Instruções
Simbólicas para todos os Propósitos dos Principiantes")
para o ALTAIR. Anos
mais tarde, Gates e Allen fundaram a Microsoft, uma das mais bem sucedidas
companhias de software para microcomputadores.
1977 - Surge no mercado de produção em série, três
microcomputadores: o Apple II, o TRS-80 da Radio Shack e o PET da
Commodore. Em 1979, é lançado pela Software Arts o "VisiCalc",
o qual foi o
primeiro programa comercial para microcomputadores.
Computadores de Quarta Geração
Na década de 80, foi criado o IC LSI - Integratede Circuit Large Scale
Integration, ou seja, "Circuito Integrado em Larga Escala de Integração",
onde
foram desenvolvidas técnicas para se aumentar cada vez mais o número
de
componentes no mesmo circuito integrado. Alguns tipos de IC LSI
incorporavam até 300.000 componentes em uma única pastilha.
Motorola 68000 - 1979 Hewlett-Packerd - SuperChip
- 1981
-um dos chips de 16 bits mais
poderosos e versáteis
-executa multiplicação com uma
única operação em vez de realizá-la pela
repetição de adições
-70.000 componentes
-multiplica 2 números de 16 bits
em 3,3 milionésimos de segundo
-primeiro microprocessador
de 32 bits
-seu projeto durou 18 meses
-450.000 componentes
-multiplica 2 números de 32
bits em 1,8 milionésimos de
segundo
UNIESP – Arquitetura de Computadores
9
1981 - A IBM resolve entrar no mercado de microcomputadores com o
IBM-PC.
IBM-PC - 1981
MMX - Micro Doméstico - 1984
Computadores de Quinta Geração
Os computadores de Quinta Geração têm como característica
o uso de
IC VLSI - Integrated Circuit Very Large Scale Integration, ou seja, "Circuitos
Integrados em uma Escala Muito Maior de Integração".
Os "chips" vêm diminuindo tanto de tamanho, fazendo com que
seja
possível a criação de computadores cada vez menores,
como é o caso da
microminiaturização do microprocessador F-100, que mede somente
0,6 cm
quadrados e é pequeno o suficiente para passar pelo buraco de uma agulha!
Microprocessador F-100
UNIESP – Arquitetura de Computadores
10
Estrutura inicial do PC
O IBM PC, ou Personal Computer (Computador Pessoal), surgiu em
1981 e se tornou um padrão de microcomputador, o qual passou a ter
uma
evolução muito rápida, e difícil de se acompanhar,
pois ao adquirimos um
modelo que consideramos de último tipo, verificamos que já despontou
no
mercado um outro mais novo, mais moderno e poderoso.
A estrutura inicial do PC tinha as seguintes características:
-permitia a inclusão de 5 placas de expansão;
-256 Kb de memória RAM
-40 Kb memória ROM
-uma ou duas unidades de disquete de 5 1/4" com capacidade de
gravação de 360 Kb;
-monitor CGA monocromático (fósforo verde, âmbar ou branco).
Componentes do PC
Unidades Funcionais Lógicas
O computador pode ser dividido basicamente em 3 partes:
Unidade
de
Entrada
Unidade
Central de
Processamento
Memória
Unidade
de Saída
Unidades de Entrada
As unidades de entrada do computador têm como função ler
e transmitir
dados. Os dispositivos de entrada são:
Teclado:
Para entrada de dados através da digitação. O teclado
é dividido em 3
partes: teclado alfanumérico (semelhante ao de uma máquina de
escrever),
teclado numérico (semelhante à uma calculadora) 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...)
UNIESP – Arquitetura de Computadores
11
Mouse:
Também conhecido como dispositivo apontador. Serve para apontar e
selecionar uma das opções possí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 os trackball, (que são um 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), track point, que é composto de um ponto
no
meio do teclado (geralmente em notebooks), 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 palm tops).
Scanner:
Trata-se de um dispositivo que serve para transferir desenhos, fotos e
textos para o computador. O scanner 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 máquina de xerox, onde devemos colocar o papel
e
abaixar a tampa para que o desenho seja então transferido para o computador.
Leitor Óptico:
É um dispositivo que serve para evitar os enormes tempos gastos com
digitação de dados, é como um scanner, só que
é utilizado, geralmente, para
ler códigos de barra.
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 mais recentes de reconhecimento de
voz.
UNIESP – Arquitetura de Computadores
12
Unidade Central de Processamento
CPU - Central Processing Unit, ou em português: UCP - Unidade Central
de Processamento, é o coração do computador, é
formada por milhões de
circuitos integrados em um pequeno suporte de silício chamado "chip".
Microprocessador:
A primeira característica a considerar num computador é sua
unidade
central de processamento, que poderá fornecer uma série de indicações
sobre
o equipamento. A UCP ou CPU (Central Processing Unit), também pode
ser
chamada de processador ou microprocessador, os quatro termos são
equivalentes. Tudo o que acontece num computador provém da UCP, que
gerência todos os recursos disponíveis no sistema. Seu funcionamento
é
coordenado pelos programas, que indicam o que deve ser feito e quando.
Basicamente, a UCP executa cálculos muito simples como somas e
comparações entre números, mas com uma característica
muito especial: uma
velocidade extremamente elevada.
A função das UCPs é sempre a mesma. O que as diferenciam
é sua
estrutura interna e, o mais importante, o fato de cada uma ter seu conjunto
de
instruções próprio. Ou seja, um programa escrito para
uma UCP dificilmente
poderá ser executado diretamente em outra - esse é um dos principais
motivos
da incompatibilidade entre os computadores.
A UCP trabalha diretamente com a memória principal. O conteúdo
da
memória principal é uma combinação de informações
e instruções. As
instruções que o processador central pode executar diretamente
estão na
linguagem de máquina da UCP.
O processamento é feito pela Unidade Central de Processamento
utilizando o ciclo busca-execução regulado pelo clock (relógio).
A seqüência
desse ciclo é:
· Buscar (cópia) instrução na memória principal;
· Executar aquela instrução;
· Buscar a instrução seguinte;
· Executar a instrução seguinte;
· E assim por diante (milhões de vezes por segundo).
As instruções em linguagem de máquina são muito
primitivas. Por
exemplo:
· Ler (copiar) conteúdo de um endereço de memória
no
registrador do processador central;
· Comparar duas informações;
· Adicionar, subtrair dois números;
· Escrever palavra na memória ou dispositivo de saída.
Estas etapas compõem o que se denomina ciclo de instrução.
Este ciclo
se repete indefinidamente até que o sistema seja desligado, ou ocorra
algum
tipo de erro, ou seja, encontrada uma instrução de parada.
As atividades realizadas pela UCP podem ser divididas em duas
grandes categorias funcionais (Monteiro (1995)):
UNIESP – Arquitetura de Computadores
13
· Função processamento: Se encarrega de realizar as
atividades relacionadas com a efetiva execução de uma operação,
ou
seja, processar. O dispositivo principal desta área de atividades de
uma
UCP é chamado de UAL - Unidade de Aritmética e Lógica.
Os demais
componentes relacionados com a função processamento são
os
registradores, que servem para armazenar dados a serem usados pela
UAL. A interligação entre estes componentes é efetuada
pelo
barramento interno da UCP.
· Função Controle: É exercida pelos componentes
da UCP que
se encarregam das atividades de busca, interpretação e controle
da
execução das instruções, bem como do controle
da ação dos demais
componentes do sistema de computação. A área de controle
é projetada
para entender o que fazer, como fazer e comandar quem vai fazer no
momento adequado. Os dispositivos básicos que devem fazer parte
daquela área funcional são: unidade de controle, decodificador,
registrador de instrução, contador de instrução,
relógio ou "clock" e os
registradores de endereço de memória e de dados da memória.
Unidade de Aritmética e Lógica – UAL (ULA)
A UAL é o dispositivo da UCP que executa realmente as operações
matemáticas com os dados.
A UAL é um aglomerado de circuitos lógicos e componentes eletrônicos
simples que, integrados, realizam as operações já mencionadas.
Ela pode ser
uma parte pequena da pastilha do processador, usada em pequenos sistemas,
ou pode compreender um considerável conjunto de componentes lógicos
de
alta velocidade. A despeito da grande variação de velocidade,
tamanho e
complexidade, as operações aritméticas e lógicas
realizadas por uma UAL
seguem sempre os mesmos princípios fundamentais.
Registradores
Para que um dado possa ser transferido para a UAL, é necessário
que
ele permaneça, mesmo que por um breve instante, armazenado em um
registrador. Além disso, o resultado de uma operação
aritmética ou lógica
realizada na UAL deve ser armazenado temporariamente, de modo que possa
ser utilizado mais adiante ou apenas para ser, em seguida, transferido para
a
memória.
Para entender a estes propósitos, a UCP é fabricada com uma
certa quantidade de registradores, destinados ao armazenamento de dados.
Servem, pois, de memória auxiliar da UAL. Há sistemas nos quais
um desses
registradores, denominados acumulador, além de armazenar dados, serve
de
elemento de ligação da UAL com os restantes dispositivos da
UCP.
Unidade de Controle
UNIESP – Arquitetura de Computadores
14
É o dispositivo mais complexo da UCP. Além de possuir a lógica
necessária para realizar a movimentação de dados e instruções
de e para a
UCP, através dos sinais de controle que emite em instantes de tempo
programados, esse dispositivo controla a ação da UAL. Os sinais
de controle
emitidos pela UC ocorrem em vários instantes durante o período
de realização
de um ciclo de instrução e, de modo geral, todos possuem uma
duração fixa e
igual, originada em um gerador de sinais usualmente conhecido como relógio.
Ao contrário de circuitos integrados mais comuns, cuja função
é limitada
pelo hardware, a unidade de controle é mais flexível. Ela recebe
instruções da
unidade de E/S, as converte em um formato que pode ser entendido pela
unidade de aritmética e lógica, e controla qual etapa do programa
está sendo
executado.
Relógio
É o dispositivo gerador de pulsos cuja duração é
chamada de ciclo. A
quantidade de vezes em que este pulso básico se repete em um segundo
define a unidade de medida do relógio, denominada freqüência,
a qual também
usamos para definir velocidade na UCP.
A unidade de medida usual para a freqüência dos relógios
de UCP é o
Hertz (Hz), que significa 1 ciclo por segundo. Como se trata de freqüências
elevadas, abreviam-se os valores usando-se milhões de Hertz, ou de
ciclos por
segundo (MegaHertz ou simplesmente, MHz). Assim, por exemplo, se um
determinado processador funciona como seu relógio oscilando 25 milhões
de
vezes por segundo, sua freqüência de operação é
de 25 MHz. E como a
duração de um ciclo, seu período, é o inverso
da freqüência, então cada ciclo,
neste exemplo, será igual ao inverso de 25.000.000 ou
1/25.000.000=0,00000004 ou 40 nanossegundos.
Registrador de Instrução (RI)
É o registrador que tem a função específica de
armazenar a instrução a
ser executada pela UCP. Ao se iniciar um ciclo de instrução,
a UC emite o sinal
de controle que acarretará a realização de um ciclo de
leitura para buscar a
instrução na memória, e que, via barramento de dados
e RDM, será
armazenada no RI.
Contador de Instrução
É o registrador cuja função específica é
armazenar o endereço da
próxima instrução a ser executada. Tão logo a
instrução que vai ser executada
seja buscada (lida) da memória para a UCP, o sistema providencia a
modificação do conteúdo do CI de modo que ele passe a
armazenar o
endereço da próxima instrução na seqüência.
Por isso, é comum definir a
função do CI como sendo a de "armazenar o endereço
da próxima instrução",
que é o que realmente ele faz durante a maior parte da realização
de um ciclo
de instrução.
Decodificador de Instrução
UNIESP – Arquitetura de Computadores
15
É um dispositivo utilizado para identificar as operações
a serem
realizadas, que estão correlacionadas à instrução
em execução. Em outras
palavras, cada instrução é uma ordem para que a UCP realize
uma
determinada operação. Como são muitas instruções,
é necessário que cada
uma possua uma identificação própria e única.
A unidade de controle está, por
sua vez, preparada para sinalizar adequadamente aos diversos dispositivos
da
UCP, conforme ela tenha identificado a instrução a ser executada.
O decodificador recebe na entrada um conjunto de bits previamente
escolhido e específico para identificar uma instrução
de máquina e possui 2N
saídas, sendo N a quantidade de algarismos binários do valor
de entrada.
Registrador de Dados de Memória - RDM e Registrador de
Endereços de Memória - REM
São os registradores utilizados pela UCP e memória para comunicação
e transferência de informações. Em geral o RDM possui
um tamanho igual ao
da palavra do barramento de dados, enquanto o REM possui um tamanho igual
ao dos endereços da memória.
Termos utilizados para definir alguns conceitos sobre
microprocessadores
Palavra- Quantidade de bits que é tratada em cada ciclo do
processador. Não confundir com BYTE, que é de 8 bits para todos
da tabela.
Fisicamente, corresponde à quantidade de "fios" da via de
dados do
processador.
Via de E/S - Quantidade bits acessados a cada ciclo de interação
com
um dispositivo de E/S (entrada/saída). Via de regra, é igual
a uma palavra, mas
existem casos em que é igual a ½ palavra, como é o do
8088, e outros que é
igual ao dobro do palavra para determinadas operações como num
Pentium.
Fisicamente, corresponde a quantidade de "fios" da via de E/S do
computador.
A unidade de E/S liga o microprocessador aos outros circuitos do
computador, transmitindo informações de programa e de dados
para os
registradores da unidade de controle e da unidade de aritmética e lógica.
A
unidade de E/S faz uma correspondência entre os níveis de sinal
e a
sincronização dos circuitos internos de estado sólido
do microprocessador com
os outros componentes contidos no PC. Por exemplo, os circuitos internos de
um microprocessador são projetados para serem econômicos com
a
eletricidade, de modo a operar mais rápido e gerar menos calor. Esses
delicados circuitos internos não são capazes de lidar com as
correntes mais
altas necessárias para ligação com componentes externos.
Consequentemente, cada sinal que sai do microprocessador passa por um
buffer de sinal da unidade de I/O, que eleva sua capacidade de lidar com
correntes.
A unidade de E/S pode ter apenas alguns poucos buffers ou pode
envolver muitas funções complexas. Nos microprocessadores Intel
usados
mais recentemente em PCs com grande capacidade de processamento, a
unidade de E/S inclui o cache de memória e a lógica de duplicação
de clock
UNIESP – Arquitetura de Computadores
16
para adequar a alta velocidade operacional do microprocessador a memória
externa mais lenta.
Via de endereços- Quantidade de bits que podem ser enviados para
representar um endereço de uma posição na memória.
Fisicamente,
corresponde ao número de "fios" da via de endereços.
Memória RAM - É conseqüência direta da via de endereço.
A memória
RAM máxima é igual a 2 elevado ao número de bits (fios)
da via de endereço.
Note que entre o 68020 e o 486 há estruturas com as três características
de 32
bits, palavra, entrada/saída e endereçamento.
Clock - Velocidade dos ciclos por segundo que regulam o
funcionamento da UCP. Computadores trabalham de acordo com um padrão
de tempo, com o qual podem gerenciar as transmissões de informações
entre
os vários dispositivos do sistema, uma vez que as informações
são convertidas
em sinais elétricos. Sem um padrão de tempo seria difícil
diferente uma
informação de outra. Esse padrão de tempo é indicado
pela freqüência do clock
em MHz - Milhões de ciclos por segundo. Os microprocessadores até
o 486
realizavam uma operação básica por ciclo; No Pentium
já podem ser até 2 e
no PowerPC MPC601 até 3. O clock só é uma indicação
precisa da capacidade
de processamento quando se compara UCPs iguais ou semelhantes.
MIPS - Milhões de instruções por segundo. Até
o início da década era a
unidade mais utilizada para indicar capacidade do processamento da UCP.
Apesar de criticada, ainda é usada para sistemas. Para os de maior
porte, a
unidade passou a ser o Mega-flops. A tendência é utilizar outros
índices mais
complexos.
A capacidade de processamento é função direta do conjunto
dessas
características: Palavra, barramento (via ou bus), memória,
velocidade do
clock, capacidade (MIPS ou outro índice), e também de outros
fatores como
arquitetura do microprocessador, seu conjunto de instruções
básica, arquitetura
do Sistema e, em especial, como esse conjunto se comporta em cada tipo de
aplicação.
É comum durante a vida de um modelo de microprocessador que a sua
velocidade seja aumentada com novos modelos; Um exemplo é o 8086, cujos
primeiros modelos operam com um clock de 4,77 MHz e alguns anos depois
vários fabricantes já o utilizavam com um clock de 8 MHz e depois
de 10 MHz.
A velocidade do microprocessador começa com o valor recomendado que
é, na
realidade, o valor mínimo garantido, pela estrutura de projeto do Chip.
Com o
passar do tempo, novos modelos aumentam esse valor; O 486 tem modelos de
16, 25, 33, 40, 50 e 66 MHz.
Interrupções
UNIESP – Arquitetura de Computadores
17
O barramento de controle forma juntamente com o barramento de dados
e de endereço o conjunto de barramentos do microprocessador. O barramento
de controle armazena uma miscelânea de sinais digitais com diversas
finalidades. Alguns exemplos de sinais digitais desse barramento são:
· Int: É uma entrada que serve para que dispositivos externos
possam interromper o microprocessador para que seja realizada uma
tarefa que não pode esperar. Como existe apenas uma entrada INT, o
microprocessador opera em conjunto com um chip chamado Controlador
de Interrupções. Esse chip é encarregado de receber requisições
de
interrupção de vários dispositivos e enviá-las
ao microprocessador, de
forma ordenada, através do sinal INT.
· NMI: É um sinal de interrupção especial para
ser usado em
emergências. Significa Interrupção não mascarável,
ou seja, essa
interrupção deve ser atendida imediatamente. Ao contrário
do sinal INT,
que pode ser ignorado pelo microprocessador durante pequenos
intervalos de tempo, o sinal NMI é uma interrupção não
mascarável. Nos
PCs, o NMI é usado para informar erros de paridade na memória.
· INTA: Significa reconhecimento de interrupção (Interrupt
Acknowledge). É utilizada para que o microprocessador indique que
aceitou uma interrupção, e que está aguardando que o
dispositivo que
gerou a interrupção identifique-se, para que seja realizado
o
atendimento adequado.
Bits internos e externos
Dentro de um microprocessador, existem vários circuitos que
armazenam, transportam e processam dados. Nos microprocessadores 386 e
486, tais circuitos operam com 32 bits de cada vez.
Quanto maior o número de bits internos de um microprocessador, mais
veloz poderá realizar cálculos e processamento de instruções
em geral. Abaixo
são apresentados os limites de números inteiros positivos que
podem ser
manipulados com 8, 16 e 32 bits:
8 bits 0 a 255
16 bits 0 a 65.535
32 bits 0 a 4.294.967.296
Para que um microprocessador seja rápido, é preciso que ele
seja capaz
de manipular instruções em alta velocidade. Essas instruções
são
armazenadas na memória, e portanto, é preciso que a memória
seja acessada
em alta velocidade. Em conjunto com a execução de instruções,
o
microprocessador também lê e armazena dados na memória,
o que é mais
uma razão para que a memória seja rápida. A quantidade
de bits que o
microprocessador consegue transferir e recuperar da memória está
diretamente relacionada com o número de bits externos. Por exemplo,
o
microprocessador 8088, usado nos primeiros PCs, operava internamente com
16 bits, e externamente com apenas 8. Já com o Pentium, ocorre o inverso:
opera internamente com 32 bits e externamente com 64.
METODOLOGIA DE LINHA DE MONTAGEM OU PIPELINE
UNIESP – Arquitetura de Computadores
18
Ao descrever o funcionamento da UCP, na realização de seus ciclos
de
instrução observa-se que, embora o ciclo de instrução
seja composto de várias
etapas, ele é realizado basicamente de forma seqüencial, isto
é, uma etapa se
inicia após a conclusão da anterior.
UCPs deste tipo vêm sendo usadas desde as primeiras gerações
de
computadores, e muitos aperfeiçoamentos tecnológicos foram introduzidos
para reduzir o tempo de processamento de uma instrução, entre
os quais o
aumento tecnológico do relógio e a tecnologia de semicondutor,
com seus
sucessivos melhoramentos em fabricação e miniaturização.
Uma outra metodologia, usada há muito tempo pelas fábricas de
automóvel e por inúmeras outras indústrias, consiste
em dividir o processo de
fabricação em estágios independentes, que, por isso,
podem se superpor uns
aos outros, no tempo. Denomina-se linha de montagem ou pipeline. Em
computação, a metodologia de construção da UCP
composta de estágios
permitiu que, também nestes sistemas, se adotasse esta técnica.
A característica principal do processo de "pipelining" reside
em duas
premissas básicas:
a) a divisão do processo (seja o de fabricação de um
automóvel, de
uma TV ou ciclo de uma instrução na UCP) em estágios
de realização
independentes um do outro; e
b) um novo produto inicia seu processo de fabricação ou execução
depois de o anterior concluir seu processo.
Suponhamos que o processo de realização do ciclo de uma instrução
seja dividido em dois estágios: o da leitura da instrução
e o da execução da
instrução lida. Para ler uma instrução, é
necessário um acesso à memória, mas
para executar a instrução nem sempre é necessário
acessar a memória (na
decodificação e na execução da operação
não há acessos à memória).
Portanto, é possível ler uma instrução, utilizando-se
dos circuitos de um
estágio, e transferir esta instrução para o estágio
de execução. E, durante o
período em que, neste estágio, não há atividade
com a memória, pode-se
ativar o estágio de leitura para buscar uma nova instrução
e continuar o
processo com novas instruções.
Na realidade, pode não haver muita produtividade em um sistema
destes ("pipelining" com 2 estágios), porque:
a) o tempo de realização do estágio L não é
igual ao do estágio E.
Em geral, a execução consome mais tempo, devido principalmente
à etapa
de busca de operando. E, portanto, na maioria do tempo de execução
(E)
pode não ser possível haver outra busca de instrução.
b) Pode não ser possível buscar nova instrução
antes da execução
completa da anterior. Em uma instrução de desvio, o endereço
de desvio só
é conhecido após a execução da operação
e, nesse caso, não há como
"buscar" uma nova instrução durante o estágio
de execução. Assim, o
estágio de busca não foi superposto ao de execução,
e o de execução da
instrução seguinte também vai acontecer somente após
sua busca. Ou seja,
nada se ganhou em termos de tempo.
Para obter produtividade e rapidez do sistema, deve-se construir a UCP
com mais estágios. Quanto maior a quantidade de estágios, mais
superposição
UNIESP – Arquitetura de Computadores
19
e aumento de velocidade. É importante ressaltar que o tempo de duração
de
cada estágio deve ser o mais semelhante possível, de modo que
um estágio,
não espere o término do outro para iniciar a execução
seguinte.
EXECUÇÃO PARALELA DE INSTRUÇÕES
Desde os primórdios da computação, os projetistas tentam
construir
máquinas mais rápidas. Até certo ponto, as máquinas
podem ser aceleradas
simplesmente aumentando a velocidade do hardware. Infelizmente
computadores rápidos produzem mais calor que os lentos e a montagem
do
computador em um volume pequeno torna difícil a dissipação
desse calor. Os
supercomputadores são, muitas vezes, submersos em fréon líquido,
um
refrigerante, para retirar o calor o mais rápido possível. Considerando
tudo isso,
produzir computadores cada vez mais rápidos está-se tornando
cada vez mais
difícil, e também cada vez mais caro.
Entretanto, existe outra abordagem. Em vez de uma única CPU de alta
velocidade, é possível construir uma máquina com muitas
ALUs mais lentas (e
mais baratas) ou mesmo CPUs completas para se obter o mesmo poder
computacional a um custo menor.
As máquinas paralelas podem ser divididas em três categorias
(Flynn IN:
Monteiro (1995)), baseando-se no número de fluxos de instruções
e de dados
que elas têm:
1. SISD - Single Instruction, Single Data
Fluxo único de instruções e de dados.
2. SIMD - Single Instruction, Multiple Data
Fluxo único de instruções e múltiplo de dados.
3. MIMD - Multiple Instruction, Multiple Data
Fluxo múltiplo de instruções e de dados.
A máquina tradicional de von Neumman é SISD. Ela tem apenas
um
fluxo de instruções (i. é, um programa), executado por
uma única CPU, e uma
memória conectando seus dados. A primeira instrução é
buscada da memória
e então executada. A seguir, a Segunda instrução é
buscada e executada.
Máquinas SIMD, ao contrário, operam um múltiplos conjuntos
de dados
em paralelo. Uma aplicação típica para uma máquina
SIMD é a previsão do
tempo. Imagine o cálculo da temperatura média diária
a partir de 24 médias
horárias para muitos locais. Para cada local, exatamente o mesmo cálculo
precisa ser feito, porém com dados diferentes.
A terceira categoria de Flynn é a MIMD, na qual CPUs diferentes
executam programas diferentes, às vezes compartilhando alguma memória
em
comum. Por exemplo, no sistema de reserva de passagens aéreas, reservas
simultâneas múltiplas não prosseguem em paralelo, instrução
por instrução, e
assim temos fluxo múltiplo de instrução e fluxo múltiplo
de dados.
Outros sistemas multiprocessadores usam não apenas um barramento,
mas vários para reduzir a carga. Outros usam ainda uma técnica
chamada
cache, que consiste em manter as palavras de memória freqüentemente
referidas dentro de cada processador.
Memória Cache
UNIESP – Arquitetura de Computadores
20
A memória cache surgiu quando 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 problema 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).
O cache primário é embutido no próprio processador e
é rápido o
bastante para acompanhá-lo em velocidade. 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) usamos apenas uma pequena quantidade dela.
Para complementar, usamos também um tipo um pouco mais lento de
memória cache na forma do cache secundário, que por ser muito
mais barato,
permite que seja usada uma quantidade muito maior.
Unidades de Memória Principal
O computador não mantém toda a informação na CPU,
ela armazena
muitas coisas na memória e seleciona o que precisa a cada momento.
Existem
dois tipos de memória:
Memória ROM
ROM é a sigla para Read Only Memory (memória somente de leitura).
Já pelo nome, é possível perceber que esse tipo de memória
só permite leitura,
ou seja, suas informações são gravadas pelo fabricante
uma única vez e após
isso não podem ser alteradas ou apagadas, somente acessadas. Em outras
palavras, são memórias cujo conteúdo é gravado
permanentemente. Existem
três tipos básicos de memória ROM: PROM, EPROM e EAROM:
- PROM (Programmable Read Only Memory) - um dos primeiros tipos de
memória ROM, o PROM tem sua gravação feita por aparelhos
especiais que
trabalham através de uma reação física com elementos
elétricos. Os dados
gravados na memória PROM não podem ser apagados ou alterados;
- EPROM (Electrically Programmable Read Only Memory) - esse é um
tipo de memória ROM geralmente usado para armazenar a BIOS do
computador. A tecnologia EPROM permite a regravação de seu conteúdo
UNIESP – Arquitetura de Computadores
21
através de equipamentos especiais (geralmente encontráveis em
estabelecimentos de assistência técnica);
- EAROM (Electrically Alterable Read Only Memory) - são memórias
similares à EPROM. Seu conteúdo pode ser apagado aplicando-se
uma
voltagem específica aos pinos de programação (daí
o nome "electrically
alterable - alteração elétrica");
Um fato importante a ser citado é que, atualmente, usa-se um tipo
diferente de memória ROM. Trata-se da FlashROM, um tipo de chip de
memória para BIOS de computador que permite que esta seja atualizada
através de softwares apropriados. Essa atualização pode
ser feita por disquete
ou até mesmo pelo sistema operacional. Tudo depende dos recursos que
o
fabricante da placa-mãe em questão disponibiliza.
Memória RAM
RAM é a sigla para Random Access Memory (memória de acesso
aleatório). Este tipo de memória permite tanto a leitura como
a gravação e
regravação de dados. No entanto, assim que elas deixam de ser
alimentadas
eletricamente, ou seja, quando o usuário desliga o computador, a memória
RAM perde todos os seus dados.
Tipos
Existem 2 tipos de memória RAM: estáticas e dinâmicas
e as veremos a
seguir:
- DRAM (Dynamic Random Access Memory): são as memórias do tipo
dinâmico e geralmente são armazenadas em cápsulas CMOS
(Complementary
Metal Oxide Semiconductor). Memória desse tipo possuem capacidade alta,
isto é, podem comportar grandes quantidades de dados. No entanto, o
acesso
a essas informações costuma ser mais lento que o acesso à
memórias
estáticas. As memórias do tipo DRAM costumam ter preços
bem menores que
as memórias do tipo estático. Isso ocorre porque sua estruturação
é menos
complexa, ou seja, utiliza uma tecnologia mais simples, porém viável;
- SRAM (Static Random Access Memory): são memórias do tipo
estático. São muito mais rápidas que as memórias
DRAM, porém armazenam
menos dados e possuem preço elevado se compararmos o custo por MB.
As
memória SRAM costumam ser usadas em chips de cache.
Encapsulamentos
UNIESP – Arquitetura de Computadores
22
A seguir, são mostrados os tipos de encapsulamento de memórias
mais
usados nos PCs:
- DIP (Dual In Line Package) - esse é um tipo de encapsulamento de
memória antigo e que foi utilizado em computadores XT e 286, principalmente
como módulos EPROM (que eram soldados na placa). Também foi
muito
utilizado em dispositivos com circuitos menos sotisticados;
Memória com encapsulamento DIP
- SIPP (Single In Line Pin Package) - esse tipo encapsulamento é uma
espécie de evolução do DIP. A principal diferença
é que esse tipo de memória
possui, na verdade, um conjunto de chips DIP que formavam uma placa de
memória (mais conhecida como pente de memória). O padrão
SIPP foi
aplicado em placas-mãe de processadores 286 e 386;
- SIMM (Single In Line Memory Module) - o encapsulamento SIMM é
uma evolução do padrão SIPP. Foi o primeiro tipo a usar
um slot (um tipo de
conector de encaixe) para sua conexão à placa-mãe. Existiram
pentes no
padrão SIMM com capacidade de armazenamento de 1 MB a 16 MB. Este tipo
foi muito usado nas plataformas 386 e 486 (primeiros modelos).
Na verdade, houve dois tipos de padrão SIMM: o SIMM-30 e o SIMM-72.
O primeiro é o descrito no parágrafo anterior e usava 30 pinos
para sua
conexão. O segundo é um pouco mais evoluído, pois usa
72 pinos na conexão
e armazena mais dados (já que o pente de memória é maior),
variando sua
capacidade de 4 MB a 64 MB. O SIMM-72 foi muito utilizado em placas-mãe
de
processadores 486, Pentium e em equivalentes deste;
Memória com encapsulamento SIMM-72
- DIMM (Double In Line Memory Module) - esse é o padrão de
encapsulamento que surgiu após o tipo SIMM. Muito utilizado em placas-mãe
de processadores Pentium II, Pentium III e em alguns modelos de Pentium 4
(e
UNIESP – Arquitetura de Computadores
23
processadores equivalentes de empresas concorrentes), o padrão DIMM
é
composto por módulos de 168 pinos.
Os pentes de memória DIMM empregam um recurso chamado ECC
(Error Checking and Correction - detecção e correção
de erros) e tem
capacidades mais altas que o padrão anterior: de 16 a 512 MB. As memórias
do tipo SDRAM utilizam o encapsulamento DIMM.
Pente com encapsulamento DIMM
Memória DDR
A memória do tipo DDR (Double Data Rate), atinge taxas de
transferência de dados de duas vezes o ciclo de clock, podendo chegar
a 2,4
GB por segundo na transmissão de dados. A velocidade padrão
do barramento
DDR é de 200 MHz, mas, por se tratar de uma tecnologia recente, não
fique
surpreso se estes valores estiverem bem mais altos nos dias de hoje.
Memória Auxiliar ou Memória de Massa:
- São meios de armazenamento não voláteis, ilimitados,
têm velocidade
de acesso bem menor que as da memória residente. A memória de
massa
também faz papel de dispositivo de entrada e saída. Eles podem
ser:
Disquetes: também conhecidos como floppy disk ou disco flexível,
serve
para transferir a informação de um computador para outro, costumam-se
utilizar discos magnéticos de pequeno porte que são colocados
e retirados do
computador. Eles são utilizados também para fazer cópias
de segurança que
são guardados fora do computador. Ele é dividido em trilhas
e setores.
UNIESP – Arquitetura de Computadores
24
Disquete de 3 1/2"
Disco Rígido: também conhecido como hard disk ou winchester,
é um
disco metálico recoberto com uma camada de material em ferro magnético.
Sendo dividido em trilhas, setores e cilindros, que facilitam a localização
dos
dados no disco. Os discos rígidos têm capacidades extremamente
maiores do
que os disquetes.
Disco Rígido (winchester)
Discos Ópticos: também é possível armazenar informações
em um CD -
Compact Disk ou Disco Compacto, para isso se emprega um raio laser que
pode ser direcionado com grande precisão para um determinado ponto
do
disco. Devido à avançada tecnologia que incorporam, os CDs têm
maior
capacidade de armazenamento e são mais resistentes que os discos
magnéticos.
Compact Disk
Unidades de Saída
UNIESP – Arquitetura de Computadores
25
As unidades de saída, têm por função converter
os dados e informações
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, veja alguns
deles:
Monitor de Vídeo:
Semelhante a um aparelho receptor de televisão, onde são
apresentados os dados ou informações solicitadas pelo usuário.
Impressora:
É um dispositivo que imprime os dados ou informações
armazenados na
memória do computador. As impressoras podem ser classificadas em:
Impressoras Com Impacto: utilizando "martelos" que pressionam uma
fita carbono contra o papel de impressã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 do cartucho (fita) para
o papel, através
de pinos (ou agulhas) que pressionam essa fita contra o papel. (Obs.: quanto
maior o número de pontos impresso pelas agulhas, melhor será
a definição do
caracter do documento). Existem impressoras de 9 e de 24 agulhas, sendo que
as de 24 agulhas possuem uma melhor resolução, mas mesmo assim,
o
máximo de qualidade que estas impressoras alcançam são
360 dpi (dotch per
inch) ou ppp (pontos por polegada).cuja impressão é feita caracter
por caracter;
- Impressora de Linha: que imprime os caracteres de uma linha completa
de uma só vez.
Impressoras Sem Impacto: são impressoras silenciosas.
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
é lançada sobre o papel. As impressoras jato de tinta pode ser
de 2 tipos: "jato
de bolha" (bubble jet), as quais possuem resistores que aquecem a tinta
formando bolhas que se expandem empurrando a tinta pelos orifícios
(é o tipo
UNIESP – Arquitetura de Computadores
26
mais utilizado pelos fabricantes, como a HP e a Cannon); e "piezoelétrica",
ou
de tecnologia mecânica, como é o caso das impressoras Epson.
Fusão Térmica - ou também conhecidas como "dye sublimation",
possuem uma qualidade profissional nas cópias efetuadas, mas o seu
custo é
muito maior do que o das impressoras jato de tinta. Nestas impressoras, a
tinta
está num rolo de transferência, ou seja, um filme de plástico
que contém
painéis consecutivos de corantes (dye), nas cores secundárias:
ciano,
magenta, amarelo e preto. Este rolo passa junto à cabeça térmica
que contém
milhares de elementos de aquecimento, que aquecem os corantes o suficiente
para que evaporem, e então eles se espalham pela superfície
do papel, que
também deve ser um pape especial, próprio para abserver os vapores
dos
corantes.
Laser - são impressoras sem impacto e com baixíssimo nível
de ruído, e
possui um processo de impressão idêntico ao das fotocopiadoras
(xerox).
Funciona da seguinte maneira: no módulo de impressão, um conjunto
de
espelhos móveis e lentes redireciona o raio de luz para um cilindro
que se
move continuamente. A combinação do movimento do cilindro com
o ligar e
desligar do raio de luz, geral diversos pontos numa mesma linha. Enquanto
o
cilindro gira, o papel se movimenta e passa ao lado de um polarizador (fio
eletrificado que transfere uma carga elétrica estática para
o papel), então os
pontos de luz que atingem o cilindro são polarizados por uma carga
elétrica
idêntica à do papel e cada carga marca um ponto que será
impresso no papel.
Entre o este ponto que o cilindro foi polarizado e o contato com o papel,
existe
uma bandeja de toner (um pó plástico que tem carga inversa à
do cilindro) e
que faz com que as partículas se unam com os pontos eletrificados do
cilindro,
o qual imediatamente encontra o papel, sendo que a carga do papel é
sempre
maior, este absorve, então, o toner do cilindro. Após girar,
o cilindro passa por
um fio carregado negativamente, o qual restaura toda a superfície à
sua
condição original, permitindo o reinício do processo.
Depois o papel e toner
passam pela unidade de fusão que os aquece e fixa o toner definitivamente
no
documento.
Plotters:
Plotter: é um dispositivo para traçar gráficos ou desenhos,
através de
canetas (coloridas ou não) a ele acopladas, combinando instruções
de encostar
e levantar a caneta com os deslocamentos da folha de papel. Existem também
plotters à jato de tinta.
Speakers:
Ou caixas de som, servem para transmitir sons através do micro, sejam
músicas ou sons de voz.
UNIESP – Arquitetura de Computadores
27
Sintetizadores ou Eletrodomésticos ou Robo Industrial: atualmente o
computador é capaz de controlar quase que absolutamente tudo.
Placa Mãe
Também conhecida como "motherboard" ou "mainboard",
a placa-mãe é,
basicamente, a responsável pela interconexão de todas as peças
que formam
o computador. O HD, a memória, o teclado, o mouse, a placa de vídeo,
enfim,
praticamente todos os dispositivos, precisam ser conectados à placa-mãe
para
formar o computador.
Visão geral das placas-mãe
As placas-mãe são desenvolvidas de forma que seja possível
conectar
todos os dispositivos quem compõem o computador. Para isso, elas oferecem
conexões para o processador, para a memória RAM, para o HD,
para os
dispositivos de entrada e saída, entre outros.
A foto a seguir exibe uma placa-mãe. Trata-se de um modelo Soyo SYKT880
Dragon 2. As letras apontam para os principais itens do produto, que
são explicados nos próximos parágrafos. Cada placa-mãe
possui
características distintas, mas todas devem possibilitar a conexão
dos
dispositivos que serão citados conforme a figura abaixo:
UNIESP – Arquitetura de Computadores
28
A – Processador
B - Memória RAM
C - Slots de expansão
C1 - AGP (Accelerated Graphics Port)
C2 - CNR (Communications Network Riser)
C3 - PCI Express (PCI-E)
D - Plug de alimentação
E - Conectores IDE e drive de disquete
E1 - Conector onde deve ser encaixado o cabo que liga o drive de
disquete à motherboard.
E2 - Entradas padrão IDE (Intergrated Drive Electronics)
F - BIOS e bateria
F1- Bateria que alimenta o chip Flash-ROM
F2 - Chip Flash-ROM
G - Conectores de teclado, mouse, USB, impressora e outros.
H - Furos de encaixe
I – Chipset
I1 - Ponte Sul
I2 - Ponte Norte
UNIESP – Arquitetura de Computadores
29
Placas-mãe onboard
"Onboard" é o termo empregado para distinguir placas-mãe
que
possuem um ou mais dispositivos de expansão integrados. Por exemplo,
há
modelos que têm placa de vídeo, placa de som, modem ou placa
de rede na
própria placa-mãe.
A vantagem de se utilizar modelos onboard é a redução
de custo do
computador, uma vez que deixa-se de comprar determinados dispositivos
porque estes já estão incluídos na placa-mãe.
No entanto, é necessário ter
cuidado: quanto mais itens onboard uma placa-mãe tiver, mais o desempenho
do computador será comprometido. Isso porque o processador acaba tendo
que executar as tarefas dos dispositivos integrados. Na maioria dos casos,
placas de som e rede onboard não influenciam significantemente no
desempenho, mas placas de vídeo e modems sim.
As placas de vídeo, mesmo os modelos mais simples, possuem um chip
gráfico que é responsável pela geração
de imagens. Este, por sua vez, requer
memória para tal, principalmente quando trata imagens em 3D. Uma placa
de
vídeo onboard, mesmo quando acompanhada de um chip gráfico integrado,
acaba "tomando atenção" do processador, além
de usar parte da memória
RAM.
Se um computador é comprado para uso em uma loja ou em alguma
aplicação que não requer muito desempenho, a compra de
um computador
com placa-mãe onboard pode ser viável. No entanto, quem deseja
uma
máquina para jogos e aplicações mais pesadas deve pensar
seriamente em
adquirir uma placa-mãe "offboard", isto é, com nenhum
item integrado, ou no
máximo, com placa de som ou rede onboard.
SLOTS
Para que seja possível conectar placas que adicionam funções
ao
computador, é necessário fazer uso de slots de expansão.
Esses conectores
permitem a conexão de vários tipos de dispositivos. Placas de
vídeo, placas de
som, placas de redes, modems, etc, são conectados nesses encaixes.
Os tipos
de slots mais conhecidos atualmente são o PCI (Peripheral Component
Interconnect) - item C1 -, o AGP (Accelerated Graphics Port) - item C2 -,
o
CNR (Communications Network Riser) - item C3 - e o PCI Express (PCI-E). As
placas-mãe mais antigas apresentavam ainda o slot ISA (Industry Standard
Architecture).
A placa-mãe vista acima possui um slot AGP (usado exclusivamente por
placas de vídeo), um slot CNR (usado para modems) e cinco slots PCI
(usados
por placas de rede, placas de som, modems PCI, etc). A tendência atual
é que
tanto o slot AGP quanto o slot PCI sejam substituídos pelo padrão
PCI
Express, que oferece mais recursos e possibilidades.
UNIESP – Arquitetura de Computadores
30
Chipset
O chipset é um chip responsável pelo controle de uma série
de itens da
placa-mãe, como acesso à memória, barramentos e outros.
Principalmente nas
placas-mãe atuais, é bastante comum que existam dois chips para
esses
controles: Ponte Sul (I1) e Ponte Norte (I2):
Ponte Sul (South Bridge): este geralmente é responsável pelo
controle
de dispositivos de entrada e saída, como as interfaces IDE ou SATA.
Placasmãe
que possuem som onboard, podem incluir o controle desse dispositivo
também na Ponte Sul;
Ponte Norte (North Bridge): este chip faz um trabalho "mais pesado"
e,
por isso, geralmente requer um dissipador de calor para não esquentar
muito.
Repare que na foto da placa-mãe em que esse chip é apontado,
ele, na
verdade, está debaixo de uma estrutura metálica. Essa peça
é dissipador.
Cabe à Ponte Norte as tarefas de controle do FSB (Front Side Bus -
velocidade
na qual o processador se comunica com a memória e com componentes da
placa-mãe), da freqüência de operação da memória,
do barramento AGP, etc.
Os chipsets não são desenvolvidos pelas fabricantes das placas-mãe
e
sim por empresas como VIA Technologies, SiS e Intel (esta é uma exceção,
já
que fabrica motherboards também). Assim sendo, é comum encontrar
um
mesmo chipset em modelos concorrentes de placa-mãe.
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, etc.
O barramento ISA, apesar de não ser mais utilizado com freqüência,
esteve presente na maior parte dos computadores, o barramento PCI e o AGP,
que é usado exclusivamente para vídeo. Para que os periféricos
(placas em
geral) possam usar esses barramentos, é necessário que cada
placa (de vídeo,
de som, modem, etc) 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 diferente, que será conhecida adiante.
CMOS e BIOS
Todas as placas de CPU possuem um circuito especial, conhecido como
CMOS. Nas placas de CPU produzidas até meados dos anos 90, o CMOS era
um chip autônomo. Atualmente, o CMOS faz parte de outro chip da placa
de
CPU (VLSI). Pode estar localizado no chipset ou no chip conhecido como
Super I/O. Por isso, era muito comum usar o termo chip CMOS. Atualmente,
para sermos mais precisos, é melhor dizer apenas CMOS.
No CMOS existem dois circuitos independentes:
UNIESP – Arquitetura de Computadores
31
a-) Um relógio permanente
b-) Uma pequena quantidade de memória RAM
O CMOS é conectado a uma bateria que o mantém em funcionamento
mesmo quando o computador está desligado. Nele encontramos o relógio
permanente, um circuito que permanece o tempo todo contando as horas,
minutos, segundos, dias, meses e anos, mesmo quando o computador está
desligado.
No CMOS encontramos também uma pequena quantidade de memória
RAM. Sua quantidade é mesmo pequena, em geral apenas 64 bytes. Mesmo
pequena, esta área de memória é suficiente para armazenar
informações vitais
ao funcionamento do computador. Essas informações são
parâmetros que
indicam ao BIOS os modos de funcionamento de hardware a serem
empregados.
Por exemplo, para poder controlar o disco rígido, o BIOS precisa saber
o
seu número de cilindros, de setores e de cabeças, entre outras
informações.
Portanto, o BIOS precisa das informações existentes no CMOS
para que
possa saber como deve funcionar. As informações vão para
o CMOS no
momento em que o usuário monta seu PC e preenche essas informações,
e
isso é chamado de SETUP, em computadores comprados não é
necessário
realizar esta operação, pois o Setup já foi realizado
pelo fabricante do
computador.
CMOS
CMOS significa (Complementary Metal Oxide Semicondutor).
A função do CMOS é armazenar os dados do Setup pra que
não se estes não
sejam perdidos. O CMOS é uma pequena quantidade de memória Ram
cerca
de 128 bytes, geralmente embutida no cartucho da Bios. Como a memória
Ram
é volátil, o CMOS é alimentado por uma bateria, o que
evita a perda dos dados.
Porém, esta bateria não dura pra sempre, de modo que de tempos
em tempos
ela fica fraca e é preciso troca-la.
Bios
Bios significa "Basic Input Output system". O Bios é a primeira
camada
de software do sistema, um pequeno programa encarregado de reconhecer o
hardware, realizar o boot, e prover informações básicas
para o funcionamento
do sistema. O Bios é personalizado para cada modelo de placa mãe,
não
funcionando em nenhum outro.
Dizemos que o Bios é a primeira camada de software do sistema,
quando o micro é ligado, o Bios é a primeira coisa a ser carregada.
A função do
Bios é configurar vários recursos da placa mãe, principalmente
os endereços
de IRQ e DMA usados pelos periféricos instalados, e em seguida dar
a partida
no micro, carregando o sistema operacional e passando para ele o controle
do
sistema.
UNIESP – Arquitetura de Computadores
32
O Setup por sua vez é um pequeno programa que permite configurar o
Bios. A função da bateria da placa mãe é justamente
manter as configurações
do Setup quando o micro é desligado.
Sistemas Numéricos
É sempre difícil às pessoas, aceitarem coisas que diferem,
em alguma
coisa, do seu modo de pensar. Essa é, provavelmente, uma das razões
pelas
quais os sistemas numéricos diferentes do sistema decimal, ainda são
difíceis
de entender. No entanto, é necessário aceitar a realidade. O
sistema numérico
decimal que as pessoas usam no seu dia a dia, foi agora ultrapassado pelo
sistema binário, que é usado pelos milhões de computadores
de todo o mundo.
Todos os sistemas numéricos possuem uma base. No sistema numérico
a base é 10, no sistema binário a base é 2 e, o sistema
hexadecimal, tem base
16. O valor representado por cada algarismo no sistema, é determinado
pela
respectiva posição em relação aos outros algarismos
que constituem o número.
A soma dos valores representados por cada algarismo dá-nos o número
completo. Os sistemas binário e hexadecimal interessam-nos sobremaneira
neste livro. Além destes, iremos também abordar o sistema decimal,
de modo a
compará-lo com os outros dois sistemas. Apesar de o sistema decimal
ser um
assunto a que já estamos acostumados, iremos discuti-lo de modo a facilitar
a
compreensão dos outros sistemas.
Sistema numérico decimal
A designação de decimal para este sistema numérico, advém
de usar a
base 10 e usa os algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. À posição
de cada um
destes algarismos dentro do número está associado um determinado
valor.
Assim, e 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:
As operações de adição, subtracção,
divisão e multiplicação no sistema
numérico decimal, são realizadas da maneira que todos já
conhecemos,
portanto, não vamos abordar este assunto.
UNIESP – Arquitetura de Computadores
33
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’. O sistema
numérico binário, é o usado nos computadores e nos microcontroladores,
porque é, de longe, muito mais adequado ao processamento por parte
destes
dispositivos, que o sistema decimal. Normalmente, os números binários
que
iremos usar, contêm 8, 16, ou 32, dígitos binários, não
sendo importante, no
âmbito deste livro, discutir as razões. De momento, basta-nos
aceitar que isto é
assim.
Exemplo:
10011011 é um número binário com 8 dígitos
Aquilo que falta para nos familiarizarmos com a lógica que é
usada no
sistema numérico binário, é saber extrair um valor numérico
decimal de uma
série de zeros e uns e, claro, de uma maneira que nós possamos
entender.
Este procedimento é designado por conversão binário-decimal.
Exemplo:
Sistema numérico hexadecimal
O sistema numérico hexadecimal, tem uma 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. Escolhemos estes símbolos, afim de tornar a escrita
dos
números mais fácil. Tal como para o caso do sistema binário,
també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.
UNIESP – Arquitetura de Computadores
34
Conversões entre Sistemas
A linguagem do computador, também chamada de código de máquina,
é
composto somente de dois números: 0 e 1. E com estes dois números,
é
possível escrever absolutamente tudo.
Os códigos 0 e 1 são também chamados de sistema binário,
e significam
para o computador: 0 = desligado e 1 = ligado. A união de 8 conjunto
de 0s e
1s formam um caracter qualquer como por exemplo a letra "A": 1010
0001.