Escolar Documentos
Profissional Documentos
Cultura Documentos
ARQUITETURA
DE
COMPUTADORES
1
Podemos perceber claramente que o aumento do numero de transistores foi
muito expressivo, e em contra partida, o tamanho dos processadores não aumentou, isso
se deve a enorme redução de seus componentes internos, para se ter uma idéia, vejamos
a tabela abaixo com o tamanho dos transistores que compõem os principais
processadores:
Transistor NPN
Processadores Quânticos
A idéia de usar átomos para processar dados não é nova, existem pesquisas neste
sentido desde o início da década de 80, mas eram apenas teorias vagas, que apenas
atualmente começam a tomar forma.
2
Num processador quântico, temos átomos ao invés de transistores. Ao invés de bits
temos bits quânticos, ou qubits. A idéia fundamental é que num átomo, a rotação de
cada elétron corresponde a um pequeno movimento magnético, que pode ser controlado
caso o átomo seja colocado sobre uma superfície magnética suficientemente sensível.
Unidade lógica
e aritmética
Equipamento
Memória de
Principal E/S
Unidade de
Controle
CPU
3
A estrutura geral do IAS, consiste em:
AC MQ
MBR
IBR PC
IR MAR Memória
Principal
M
Circuitos
de Sinais de
Controle Controle
4
Onde:
Unidade de Controle de Programa
MBR - Registrador temporário de dados
(Memory Buffer Register): contém uma palavra com dados a ser armazenada na
memória ou é utilizado para receber uma palavra da memória.
5
Capítulo 2
Barramentos – Estruturas de interconexão
Leitura
MEMÓRIA
Escrita N palavras
0
Dados
.
Endereço .
.
Dados N-1
Endereço
M portas Dados externos
Dados internos
Sinais INT
Dados externos
6
Instruções Endereço
PROCESSADOR
Dados
(CPU) Sinais controle
7
Diversos dispositivos podem ser conectados a um barramento, podendo um sinal
transmitido por qualquer dos dispositivos ser recebidos por todos os outros dispositivos
conectados ao barramento. Se dois dispositivos transmitem sinais ao barramento mesmo
tempo, esses sinais irão sobrepor e serão então adulterados. Dessa maneira, para que a
transmissão ocorra com sucesso, apenas um dispositivo pode transmitir sinais pelo
barramento a cada instante.
... ...
CPU Memória Memória E/S E/S
Linhas de controle
Linhas de endereço
Linhas de Dados
8
para o desempenho global do sistema.
As linhas de endereço são utilizadas para designar a fonte ou o destino dos dados
a serem transferidos pelo barramento de dados. Por exemplo, quando o processador
deseja ler uma palavra (de 8, 16 ou 32 bits) da 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. Em geral, as linhas de
endereço também são empregadas para endereçar as portas de entrada e saída.
Tipicamente, os bits mais significativos são utilizados para identificar um módulo
particular do sistema conectado ao barramento e os bits menos significativos
identificam uma posição na memória ou porta de E/S desse módulo.
As linhas de controle são usadas para controlar o acesso e a utilização das linhas
de dados e de endereço. Como as linhas de dados e de endereço são compartilhadas por
todos os componentes, deve existir uma maneira de controlar sua utilização. Os sinais
de controle são utilizados tanto para transmitir comandos quanto para transmitir
informações de temporização entre os módulos do sistema. Os sinais de temporização
indicam a validade das informações de dados e de endereço. Os sinais de comando de
comando especificam as operações a serem executadas.
9
sistema, ao qual são conectados os módulos da memória principal. A memória principal
pode ser conectada apenas no barramento do sistema, não precisando ser conectada ao
barramento local. Dessa maneira, as transferências de dados entre os componentes de
E/S e a memória principal por meio do barramento do sistema não interferem na
atividade do processador.
Barramento local
Processador Memória
Cache
Controlador
Memória de E/S
Principal local
Barramento do Sistema
Barramento de expansão
Embora esta arquitetura tradicional seja eficiente, ela não é satisfatória para a
maioria dos dispositivos de E/S mais modernos, por apresentarem desempenho cada vez
maiores. A abordagem mais adotada pela indústria para satisfazer as demandas
crescentes por melhor desempenho consiste em utilizar um barramento de alta
velocidade que seja integrado ao resto do sistema requerendo apenas uma ponte entre o
barramento do processador e o barramento de alta velocidade. Este arranjo é conhecido
como arquitetura de mezanino.
10
2.3 Os Barramentos mais conhecidos
11
barramento periférico ou mezanino. Comparando as especificações com outros
barramentos mais comuns, o PCI apresenta melhor desempenho do sistema para
subsistemas de E/S de alta velocidade. O padrão atual permite o uso de até 64 linhas de
dados de 66 MHz, com uma taxa bruta de transferência de dados de 528 Mbytes/s ou
4,224 Gbps. Mas não é apenas a alta velocidade que torna o PCI atraente. O PCI é
especificamente projetado para satisfazer os requisitos de custos de E/S dos sistemas
modernos; sua implementação requer poucos chips, e outros barramentos podem ser
conectados ao barramento PCI.
Estrutura do PCI
12
endereços e dados.
Pinos de controle da interface: controla a temporização das transações e
fornece coordenação entre iniciador e alvo de cada transação;
Pinos de arbitração: diferentemente das outras linhas do barramento PCI,
estas linhas não são compartilhadas. Cada mestre do PCI possui seu próprio
par de linhas de arbitração que o conectam diretamente ao árbitro central do
barramento PCI;
Pinos de erros: utilizados para indicar erros de paridade e outros erros.
Além da velocidade, o AGP permite que uma placa de vídeo possa acessar
diretamente a memória RAM. Este é um recurso muito utilizado em placas 3D, onde a
placa usa a memória RAM para armazenar as texturas que são aplicadas sobre os
polígonos que compõem a imagem tridimensional.
Apesar de, usando-se o barramento PCI, também ser possível utilizar a memória
para armazenar as texturas, neste caso os dados teriam que passar pelo processador,
degradando o desempenho geral da máquina.
AGP Pro - Além dos slots AGP tradicionais, temos um outro padrão, o AGP
Pro. O AGP Pro é na verdade um slot AGP 4x com 48 contatos a mais, 20 de um lado e
mais 28 do outro. Estes contatos adicionais são usados para aumentar a capacidade de
13
fornecimento elétrico do slot.
Os slots AGP Pro devem tornar-se padrão nas placas mãe, já que muitas placas
de vídeo virão apenas neste formato e não poderão ser usadas em placas mãe com slots
AGP comuns. Um slot AGP Pro suporta o uso de placas AGP comuns, mas um slot
AGP comum não suporta o uso de uma placa AGP Pro.
Até pouco tempo atrás, podíamos contar apenas com as portas seriais e paralelas
para a conexão de dispositivos externos, como impressoras e mouses. Mas, tendo
apenas duas portas seriais e uma paralela, temos recursos de expansão bastante
limitados. Além disso, a velocidade destas interfaces deixa muito a desejar.
14
Figura: Conectores USB
Podemos conectar até 127 periféricos a uma única saída USB em fila, ou seja,
conectando o primeiro periférico à saída USB da placa mãe e conectando os demais a
ele. A controladora USB do micro é o nó raiz do barramento. A este nó principal
podemos conectar outros nós chamados de “HUB”. Um HUB nada mais é do que um
benjamim que disponibiliza mais encaixes, sendo 7 o limite por HUB. O HUB possui
permissão para fornecer mais níveis de conexões, o que permite conectar mais HUBs ao
primeiro, até alcançar o limite de 127 periféricos permitidos pela porta USB. A idéia é
que periféricos maiores, como monitores e impressoras possam servir como HUBs,
disponibilizando várias saídas cada um. Os "monitores USB" nada mais são do que
monitores comuns com um HUB USB integrado.
Esse barramento veio para substituir o barramento PCI convencional, ele utiliza
um barramento de 8 bits (4 bits em cada direção) que opera a freqüências extremamente
altas, 2.5 GHz no padrão original. Isto permite uma taxa de transmissão teórica de 2.5
gigabits (ou pouco mais de 300 MB/s) em cada sentido ou 5 gigabits no total, muito
mais que os 133 MB/s do velho PCI de 32 bits.
15
sentido.
Outro ponto interessante é que por utilizar apenas 8 bits de dados, o padrão 1x
utiliza um slot muito pequeno, com cerca de ¼ do tamanho de um slot PCI tradicional.
Com isto, o padrão prevê que estes slots sejam "encaixados" no espaço vago na borda
da placa mãe, como uma seqüência do slot PCI. Com isto, abrem-se as portas para uma
transição gradual, como no caso do ISA para o PCI, onde durante vários anos as placas
vinham com os dois tipos de slots e você podia misturar placas nos dois padrões.
16
Capítulo 3
Memórias
Registradores
Memória Cache
Memória Interna
Memória Principal Disco Magnético
CD-ROM
CD-RW
Memória Externa DVD-RW
DVD-RAM
Fita Magnética
Armazenamento de
segurança
17
Desempenho (Tempo de acesso, tempo de ciclo e taxa de
transferência)
Tecnologia (Semicondutores, Magnética, Óptica e Magneto-Óptica)
Características físicas (Volátil, não-Volátil, Apagável, não-apagável)
Organização
A unidade básica de memória é o dígito binário, chamado bit. Um bit pode ter
um 0 (zero) ou um 1 (um). Ele é a unidade mais simples possível.
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 16 bits
7 7
8 12 bits
9
10
11
8 bits
Os bytes em uma word podem ser numerados da esquerda para a direita (big
endian) ou da direita para a esquerda (little endian). A figura a seguir (ítem a) mostra
parte da memória de um computador de 32 bits cujos bytes são numerados da esquerda
para a direita, como nos chips da família Motorola. Na figura o ítem (b) mostra a
18
representação análoga para um computador de 32 bits usando numeração da direita para
a esquerda, como nos chips da família Intel.
endereço endereço
1001 00000000 1001 00000000
1000 00000000 1000 00000000
0111 00000110 0111 00000000
word de 0110 00000000 word de 0110 00000000
32 bits 0101 00000000 32 bits 0101 00000000
0100 00000000 0100 00000110
0011 00000000 0011 00000000
0010 00000000 0010 00000000
0001 00000000 0001 00000000
0000 00000000 0000 00000000
(a) - Big Endian (b) - Little Endian
Figura: Modelos de Memória Big Endian e Little Endian.
Caso a operação seja de gravação, o dado a ser gravado na memória deve ser
antecipadamente colocado no MBR e quando for acionado a linha de gravação WR o
valor de MBR é enviado para a memória através do barramento de dados e o
controlador de memória armazena o dado no endereço especificado pelo barramento de
endereço.
Qualquer acesso à memória necessitará dos registradores mar e MBR bem como
das linhas de controle RD e WR.
19
O comprimento da memória (quantidade de palavras) depende da largura do
barramento de endereço, na ordem de 2n, onde n é a quantidade de linhas no barramento
de endereço. Por exemplo, se um barramento de endereço tem 4 linhas, a memória terá
16 palavras (24).
20
3.4 Tecnologias de Memórias
Existe um outro tipo de memória muito mais rápida que a memória dinâmica.
Esse tipo de memória -- chamada memória estática e geralmente abreviada por SRAM
(Static RAM) -- utiliza em vez de capacitores, circuitos digitais chamados flop-flops
para armazenamento de cada bit. Esse circuitos armazenam os dados sem a necessidade
de nenhum ciclo de refresh.
Memórias Dinâmicas
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
Figura: Esquema da matriz de capacitores de uma memória dinâmica.
Quando o processador precisa ler algum dado da memória, ele coloca o dado no
barramento de dados, o endereço no barramento de endereços e aciona apropriadamente
o barramento de controle. O controlador de memória percebe que é uma operação de
leitura em memória e pega o valor do endereço e o divide em dois: a parte mais
21
significativa do endereço selecionará a linha, e a parte menos significativa do endereço
selecionará a coluna.
Essa seleção ocorre em conjunto com dois sinais básicos para o controle das
memórias: RAS (Row Address Strobe) e CAS (Column Address Strobe). O primeiro
sinal indica que o valor presente no barramento de endereços está informando a linha de
onde o dado deverá ser lido, enquanto o segundo sinal indica que o valor está
informando a coluna de onde o dado deverá ser lido.
Memória ROM
22
apropriados.
Memória RAM
Os módulos SIMM de 30 vias são mais antigos, e são usados apenas em micros
386 e 486. Os módulos SIMM de 30 vias são módulos de 8 bits, enquanto tanto o 386,
quanto o 486 são processadores de 32 bits. Como o processador precisa de 32 bits, e
cada pente fornece apenas 8, é preciso combinar 4 pentes, que serão acessados pelo
processador como se fossem um só. Temos então que usar estes módulos em quartetos,
4 módulos ou 8 módulos, mas nunca um número quebrado.
É importante lembrar que todos os 4 pentes que formam um banco precisam ser
idênticos, caso contrário podem ocorrer tratamentos do micro. Você pode usar 4
módulos de um tipo para formar o primeiro banco e 4 módulos diferentes para formar
um segundo banco, mas nunca misturar dentro de um mesmo banco.
23
Módulo DIMM de 168 vias
Memória DDR
Além disso, as DDR podem realizar o dobro de operações por ciclo de clock.
Por exemplo, uma memória DDR de 266 MHz trabalha, na verdade, com 133 MHz,
24
mas como ela realiza duas operações por vez, é como se trabalhasse a 266 MHz (o
dobro). A indicação destas memórias é com relação a sua taxa de transferência de MB
por segundo.
Memória Velocidade
SDRAM PC-100 800 MB/s
SDRAM PC-133 1.064 MB/s
DDR-200 ou PC-1600 1.600 MB/s
DDR-266 ou PC-2100 2.100 MB/s
DDR-333 ou PC-2700 2.700 MB/s
DDR-400 ou PC-3200 3.200 MB/s
Dual DDR-226 4.200 MB/s
Dual DDR-333 5.400 MB/s
Dual DDR-400 6.400 MB/s
Tabela: Taxa de Transferência memórias DDR
Basicamente existem duas controladoras na placa mãe para acessar estes tipos de
memória. As memórias atuais seguem o padrão de 64 bits. Usando duas controladoras
simultaneamente, o acesso passa a ser de 128 bits. Para entender melhor, imagine que
você use dois pentes de 256 MB de memória RAM DDR-333 em seu computador. O
computador trabalhará com elas como sendo um conjunto de 512 MB com barramento
de 64 bits (ou seja, 2.700 MB por segundo). Essa configuração funcionando no esquema
Dual DDR fará com que o barramento passe a ser de 128 bits, aumentando a velocidade
para 5.400 MB por segundo.
O mais importante é que para trabalhar em Dual Channel é necessário que sua
placa-mãe tenha esse recurso. Além disso ela só é eficiente se utilizado com
processadores modernos.
Memória DDR2
A memória DDR2 é uma evolução da tão utilizada memória DDR. Entre suas principais
características estão o menor consumo de energia elétrica, menor custo de produção,
maior largura de banda de dados e velocidades mais rápidas. A memória DDR2 não é
compatível com placas-mãe que trabalham com memória DDR, Além disto o DDR2
conta com 240 terminais e a abertura está posicionada em um local diferente das DDR.
25
A tecnologia DDR2 requer 1,8 V. Por causa disso, a memória DDR2 acaba
tendo melhor desempenho no controle da temperatura. Além disto o padrão DDR2
trabalha com as freqüências de 400 MHz, 533 MHz, 667 MHz e 800 MHz, etc.
Assim como nas DDR a nomenclatura das DDR2 referenciam sua taxa de transferência:
Sempre que a CPU vai buscar uma nova instrução (ou dado), ela acessa a
memória cache;
Se a instrução (ou dado) estiver no cache (hit cache), ela é transferida em alta
26
velocidade para a CPU;
Se a instrução (ou dado) não estiver no cache (miss cache), então o sistema
transfere a instrução (ou dado) desejada da Memória Principal para o cache. Só que esta
transferência não é só da instrução desejada, mas dela e de um grupo subseqüente, na
pressuposição de que instruções do grupo serão requeridas pela CPU em seguida.
Mapeamento Direto
Se o cache for de 256 kb, ele será dividido em 16.384 linhas (256 kb = 262.144
bytes -- como cada linha tem 16 bytes (128 bits), o cache e cada bloco de memória
serão divididos em 16.384 linhas). No caso de um cache de 512 kb, ele será dividido em
32.768 linhas.
O cache pode ser usado para acessar qualquer bloco. Entretanto, cada linha do
cache aponta exclusivamente para a linha de mesmo número na RAM,
independentemente do bloco -- isto é, tanto no primeiro bloco, quanto no segundo, no
terceiro ou no último, a Quinta linha ocupará a Quinta linha no cache.
Isso significa que é impossível Ter no cache dois ou mais dados que ocupem o
mesmo número de linha, independentemente do bloco que ocupam. Por exemplo, o
conteúdo da décima linha do primeiro bloco e o conteúdo da décima linha do vigésimo
bloco nunca poderão estar presentes simultaneamente no cache, já que serão
obrigatoriamente armazenados na décima linha do cache. O último dado lido é o que
prevalecerá.
27
Memória
0 KB
0
1
2
3 Bloco 0
4 256 KB
1
Cache de 256 KB
0
1 16382
2 16383
256 KB
3 Bloco 1
4 256 KB
1 512 KB
Bloco 2
16382 256 KB
16383 768 KB
Bloco 31
256 KB
8 MB
Com isso, a probabilidade de um dado estar presente no cache aumenta, pois não
há situações “proibidas” como no cache com mapeamento direto.
28
Porém, ao contrário do verdadeiro esquema de mapeamento direto, você poderá
encontrar, no cache de memória, os dados de 2 linhas de mesmo número de ordem, até o
limite máximo do número de unidades em que o cache de memória foi dividido -- ou
seja, em um cache associativo de 4 vias, podem-se armazenar até 4 linhas de mesmo
número de ordem.
29
Capítulo 4
Unidade Central de Processamento
Para entender a organização da CPU, devemos considerar as ações que ela deve
executar:
30
Abaixo temos um exemplo de “pinagem” de um processador real:
D4 D5
D3 D6
D2 D7 BARRAMENTO DE
D1 D8 DADOS
D0 D9
D10
D11
D12
D13
D14
D15
GRD
A23
A22
A21
VCC
A20
A19 BARRAMENTO DE
A18 ENDEREÇOS
A17
A16
A15
A14
A13
A12
A11
A10
A0 A9
A1 A8
A2 A7
A3 A6
A4 A5
4.1.1 Registradores
31
LODD [ 0C7h]
Como podemos ver, nas instruções que acessam a memória (load e store), é
necessário pelo menos um byte para especificar o endereço do dado a ser buscado da
memória, além do restante da instrução (código da operação) que dirá o que fazer com
este dado (por exemplo, carregar no registrador AC, como acima). Assim, na instrução
acima, são necessários 2 bytes para representar uma instrução destas.
32
Se o registrador MBR tiver apenas 8 bits, deverão ser feitos 2 acessos à memória
para preencher todo o registrador IR com a instrução correta (00C7h) ou LODD
[00C7h].
4.1.2 Barramentos
Entrada Entrada
Controle Controle
Multiplexador Decodificador
2 para 1 4 para 8
Saída Saída
Normalmente uma ULA tem dois bits de função, que determinam qual a função
33
que a ULA deve realizar. A ULA que usaremos como exemplo pode calcular: A + B, A
and B, A, not A.
A B
F0 F1 Função
0 0 A+B
0 1 A and B
1 0 A F0 N
1 1 Not A
F1 ULA Z
F (A, B)
4.1.5 Deslocadores
S0
S1 Deslocador
Saída
Figura: Deslocador
34
4.1.6 Relógios (clocks)
São circuitos que emitem uma seqüência periódica de pulsos. Estes pulsos
definem os ciclos da máquina, sendo que em cada ciclo, ocorre uma atividade básica, tal
como a execução de uma micro-instrução.
1x
Relógio Atraso
2x
Atraso
3x
Atraso
Interrupções
desabilitadas
Interrupções
Busca a Executa a habilitadas Verifica
inicio próxima instrução interrupções;
instrução
Processa
interrupção
PARADA
35
Agora vejamos em detalhes o funcionamento de um ciclo de instrução:
36
4.2.1 Instruções por Ciclo
Quando se faz uma soma em uma calculadora, basta teclar cada um dos
algarismos do 1° numero, teclar o sinal de mais, depois teclarmos os algarismos do
segundo numero e teclarmos o sinal de igual.
Podemos concluir que a freqüência não é o único fator a ser considerado para
determinar qual o melhor processador, e sim analisarmos também a construção do
processador para definir a sua eficácia.
37
vários estágios de produção: produtos em vários estágios do processo de produção
podem ser trabalhados simultaneamente. Em uma pipeline de instruções, assim como
em uma linha de montagem, novas entradas são aceitas em uma extremidade, antes que
entradas aceitas previamente apareçam como saídas na outra extremidade.
Estágios Estágios
Processo 1
Processo 1 Processo 2 Processo 3 Processo 2
Processo 3
P1c P2c P3c P1c P2c P3c
P1b P2b P3b P1b P2b P3b
P1a P2a P3a P1a P2a P3a
Tempo Tempo
a) Execução seqüencial de 3 processos de b) Execução em pipeline de 3 processos de
3 estágios 3 estágios
Cada ciclo é, por sua vez, constituído por uma seqüência de uma ou mais
operações fundamentais, denominadas micro-operações. Uma única micro-operação
geralmente envolve uma transferência de dados entre registradores, transferência de
dados entre um registrador e um barramento externo ou uma operação simples da ULA.
38
A Unidade de Controle de um processador efetua duas tarefas: (1) faz com que o
processador execute micro operações na seqüência apropriada, determinada pelo
programa que está sendo executado; e (2) gera sinais de controle que causam a execução
de cada micro-operação.
Por exemplo, um ciclo de busca pode ser constituído pelas micro-operações que
seguem:
t1: MAR (PC)
t2: MBR Memória
PC (PC) + I
t3: IR (MBR)
Para que esta seqüência seja realizada corretamente, supõe-se a existência de um
relógio, para propósitos de temporização, e que ele emite pulsos de relógio
regularmente espaçados. Cada pulso de relógio define uma unidade de tempo. Portanto,
todas as unidades de tempo têm a mesma duração. Cada micro-operação é executada
dentro de um intervalo de uma única unidade de tempo. A notação t1, t2 e t3
representam unidades de tempo sucessivas.
Este conjunto de micro-operações para realizar o ciclo de busca definem uma
micro-instrução de busca. Uma seqüência de micro-instruções, denominamos micro-
programa ou firmware. Este último termo reflete o fato de que um micro-programa é
um meio termo entre o hardware e o software.
O micro-programa para ser executado é previamente armazenado em uma
memória de controle interna a Unidade de Controle. Veja a figura:
Registrador de Instrução
Unidade de
Controle
Decodificador
Memória de Controle
Registrador de Micro-instrução
Decodificador
39
A arquitetura a nível de micro-programação é denominada micro-arquitetura.
Para que possamos entender o funcionamento a nível de micro-programação tomaremos
um exemplo hipotético. As vias de dados de nossa micro-arquitetura são ilustradas na
figura que segue. Elas correspondem àquela parte da CPU que contém a ULA, suas
entradas e suas saídas.
A ULA gera dois bits de status (PWS), com base corrente da ULA: N, que é
ligado quando a saída da ULA é negativa, e Z, que é ligado quando a saída da ULA é
zero.
Nas escritas, o MBR pode ser carregado com a saída do deslocador, em paralelo,
ou no lugar de uma escrita na memória de rascunho. M1 controla a carga de MBR a
partir do deslocador. M2 e M3 controlam as leituras e escritas da memória. Nas leituras,
o dado lido da memória pode chegar à esquerda da ULA através do multiplexador A,
indicado por AMUX. A linha de controle A0, determina se o latch A ou o MBR que
40
deve alimentar a ULA.
Barramento C Bar. A Bar. B
PC
AC
SP
IR
TIR
+1
-1
amask
smask
L0 Latch A Latch B L1
MAR
MBR
M0
AMUX
M2
M1
F0 N
M3
ULA
F1 Z
S0
Deslocador
S1
41
Micro-instruções
MIR
A C U S M M R W E
M O L H B A D R N C B A ADDR
U N A R R C
X D
B seleciona fonte do Barramento B: 0 == PC, 1== AC, 2 == SP, 3== ... etc.
A seleciona fonte do Barramento A: 0 == PC, 1== AC, 2 == SP, 3== ... etc.
ADDR Caso haja desvio em COND, ADDR contém o endereço a ser acessado
42
Temporização de Micro-instruções
MBR := AC
A C U S M M R W E
M O L H B A D R N C B A ADDR
U N A R R C
X D
0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
c) ULA = 10, indica que a saída da ULA corresponde a entrada do lado do Latch A.
43
e) MBR = 1, significa que deve haver carga do MBR.
j) C = 0000, uma vez que não haverá carga pelo barramento C, esse valor é irrelevante.
l) B = 0000, como a entrada do barramento B não será usada pela ULA, esse valor é
irrelevante.
EXEMPLO 2:
A C U S M M R W E
M O L H B A D R N C B A ADDR
U N A R R C
X D
0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
b) … l) iguais ao do exemplo 1.
44
Capítulo 5
Conjunto de Instruções: Características e funções
Cada instrução deve conter toda a informação necessária para que a CPU possa
executá-la. Basicamente uma instrução é constituída pelos elementos:
Exemplo:
ADDD X, A, B // [X] [A] + [B]
SUBD X, A, B // [X] [A] - [B]
45
Supondo que um programa escrito em linguagem de alto nível tenha a seguinte
instrução:
X = A * (B + C * D – E / F) (2.1)
MPYD T1, C, D
DIVD T2, E, F
ADDD X, B, T1
SUBD X, T2, X
MPYD X, A, X
Exemplo:
MPYD C, D
DIVD E, F
ADDD B, C
SUBD B, E
MPYD A, B
MOVE X, A
MOVE X, C
MPYD X, D
46
MOVE T1, E
DIVD T1, F
ADDD X, B
SUBD X, T1
MPYD X, A
Exemplo:
ADDD Op // AC AC + [Op]
LODD C
MPYD D
STOD X
LODD E
DIVD F
STOD Y
LODD B
ADDD X
SUBD Y
MPYD A
STOD X
Exemplo:
47
• Por registrador;
• Indexado
Exemplo:
LOCO 5 // AC 5
JMP continua // PC endereço representado por Continua
Exemplo:
LODD X // X é um endereço de memória representado pela
variável X
MOV AX, [X] // copia o conteúdo da variável X no registrador AX
(instrução INTEL)
Exemplo:
LODD [X] // o registrador AC recebe o conteúdo do endereço
apontado pelo conteúdo do endereço X
Memória
LOAD [x] Principal
48
5.2.4 Modo de endereçamento de memória por Registrador
Exemplo:
LODD A // o registrador AC recebe o conteúdo do registrador
A
MOV ax, bx // o valor do registrador bx é copiado no registrador
ax (instrução INTEL)
MOV ax, [bx] // o registrador ax recebe o valor contido no endereço
especificado pelo registrador bx (instrução INTEL)
É usado quando se usa uma estrutura de dados do tipo vetor ou matriz, onde
tem-se um ponto inicial e um deslocamento dentro da estrutura.
Exemplo:
LODD vet(0) // o registrador AC recebe o conteúdo do primeiro
elemento do vetor vet.
Memória
LODD vet(0)
Principal
ADDD vet(1) ...
05Dh
Supondo que o endereço inicial de vet = 74h
74h
Inicialmente o registrador AC recebe o conteúdo do endereço 74h
(05Dh) equivalente ao elemento vet(0) e depois AC recebe a soma 010h
do próprio AC com o conteúdo do endereço 75h (010h) 75h ...
equivalente ao elemento vet(1). Ao final das duas instruções, AC
será igual a 06Dh. ...
49
5.3 Palavra de Status de Programa (PSW)
Para que a CPU execute a instrução (6), x deverá ser igual a zero, senão a instrução (6)
será ignorada e será executada a instrução (8). Sabemos que PC sempre aponta para a
próxima instrução a ser executada (6 ou 8 no caso). Mas como a CPU toma a decisão de
qual valor será colocado em PC? Antes de ser atribuído um valor para PC (6 ou 8) é feito
uma comparação entre os valores atuais de x e de y (linha 4). O resultado desta
comparação deve ser guardado em um local da CPU para que ela possa tomar uma
decisão posterior. Geralmente este resultado é do tipo "igual a zero", "maior que", "menor
que", "diferente de", etc. Estes valores podem facilmente ser representado por um bit
(verdadeiro - 1ou falso - 0).
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- - - - OF DF IF TF SF ZF - AF - PF - CF
Ov Dir Int Tr Si Ze Au Pa Ca
erfl ect err ap gn ro xili rit rry
ow ion upt Fla al Fla ar y Fla
Fla Fla ion g Fla g Fla Fla g
g g Fla g g g
g
50
A implementação do algoritmo acima deve resultar em um trecho de programa
como a seguir:
X=5
Y=3
LODD X
JNZE DIFERENTE
LODD Y
STOD X
JUMP FIM
DIFERENTE:
ADDD Y
STOD X
FIM:
X=5
Y=3
LODD X
JNZE DIFERENTE
LODD Y
JUMP FIM
DIFERENTE:
ADDD Y
FIM:
STOD X
51
Quando o microprocessador executa uma instrução de desvio, ele coloca o novo
endereço em PC. Agora, o microprocessador começa a ler instruções a partir do novo
endereço. A próxima instrução lida é a que está no novo endereço, e não a que está no
endereço após a instrução de desvio. A execução "pula" para a instrução do novo
endereço.
1 Instrução 1
2 Instrução 2
3 Instrução 3
4 Instrução 4
5 Instrução 5
6 Desvio 1
1 Colocar 100 no AC
2 Instrução 1
3 Instrução 2
4 Instrução 3
5 Instrução 4
6 Instrução 5
7 Decrementar o AC
8 Compara o AC com 0
9 Desvia se ZF = 1
10 Instrução 6
52
Capítulo 6
Arquiteturas Risc, Cisc e Supercomputadores
Outra vantagem é que por terem um menor número de circuitos internos, podem
operar a freqüências mais altas. Embora pareça estranho que uma processador com
menos instruções seja melhor (mais rápido) do que um com centenas de instruções. Mas
isso acontece, porque justamente por ser mais simples consegue ser mais eficiente.
Não existe atualmente nenhum processador que siga estritamente uma das duas
filosofias. Tanto processadores da família Intel como o Pentium II e o Pentium III assim
como processadores HP PA8000 ou g4 (equipa os macintosh) misturam as duas
53
características.
Na verdade estão juntando o melhor de cada uma dessas filosofias para aumento
de performance. Fazendo uma análise do ponto de vista prático, a vantagem de uma
arquitetura CISC é que já temos muitas instruções guardadas no próprio processador, o
que facilita o trabalho dos programadores, já em um RISC o programador teria que
executar para uma tarefa mais complexa, por exemplo.
Até agora tivemos uma visão de computadores pessoais (PC), mas esse na
verdade são apenas versões simplificadas ou menores dos grandes MAINFRAMES
(computadores de grande porte, surgiram nos anos 70, e geralmente utilizam terminais
burros ou sem processamento).
• Velocidade do processador;
• Gasto de tempo para os processadores trabalharem juntos em uma
única tarefa.
54
• Velocidade de entrada e saída (e/s) entre processador e memória.
Segundo a IBM:
55
Capítulo 7
Dispositivos de Entrada e Saída (E/S)
Entre outras diferenças, os dispositivos de entrada e saída são muito mais lentos
que o computador, característica essa que impõe restrições à comunicação, de vez que o
computador precisaria esperar muito tempo pela resposta do dispositivo. Outra
diferença fundamental diz respeito às características das ligações dos sinais dos
dispositivos.
Dessa forma, a ligação dos dispositivos de E/S era feita através de circuitos
simples (as interfaces) que apenas resolviam os aspectos de compatibilidade dos sinais
elétricos entre os dispositivos de E/S e a UCP. Os aspectos relativos a diferenças de
velocidade (especialmente tempo de acesso) eram resolvidos através de programas (isto
é, por software).
56
• Converter informações da linguagem humana para a linguagem da
maquina;
• Recuperar informações dos dispositivos de armazenamento;
A UCP não se comunica diretamente com cada dispositivo de E/S e sim com
"interfaces", de forma a compatibilizar as diferentes características. O processo de
comunicação ("protocolo") é feito através de transferência de informações de controle,
endereços e dados propriamente ditos.
Comunicação em Paralelo
57
sinais (os bits) correspondentes a cada byte cheguem simultaneamente à extremidade
oposta do cabo, onde então serão re-agrupados em bytes. Como os condutores que
compõem o cabo usualmente terão pequenas diferenças físicas, a velocidade de
propagação dos sinais digitais nos condutores poderá ser ligeiramente diferente nos
diversos fios.
Comunicação Serial
Como todos os bits são transferidos pelo mesmo meio físico (mesmo par de
fios), as eventuais irregularidades afetam todos os bits igualmente. Portanto, a
transmissão serial não é afetada por irregularidades do meio de transmissão e não há
skew. No entanto, a transmissão serial é intrinsecamente mais lenta (de vez que apenas
um bit é transmitido de cada vez).
58
Transmissão síncrona
Transmissão assíncrona
59
7.4 Funcionamento dos dispositivos mais conhecidos
60
A cabeça de leitura e gravação de um disco rígido funciona como um eletroímã.
A diferença é que num disco rígido, este eletroímã é extremamente pequeno e preciso, a
ponto de ser capaz de gravar trilhas medindo menos de um centésimo de milímetro.
Quando estão sendo gravados dados no disco, a cabeça utiliza seu campo
magnético para organizar as moléculas de óxido de ferro da superfície de gravação,
fazendo com que os pólos positivos das moléculas fiquem alinhados com o pólo
negativo da cabeça e, conseqüentemente, com que os pólos negativos das moléculas
fiquem alinhados com o pólo positivo da cabeça. Usamos neste caso a velha lei “os
opostos de atraem”.
ATA (ou IDE) e Serial ATA ou simplesmente SATA são os padrões mais
conhecidos de discos rígidos. O SATA foi criado para substituir os discos ATA,
também conhecidos como IDE. A taxa de transferência máxima teórica de um disco
Serial ATA é de 150 MB/s ou 300 MB/s, contra os 133 MB/s de um disco rígido IDE.
A diferença entre esse cabo de 80 vias e o cabo IDE comum de 40 vias é que ele
possui um fio de terra entre cada fio original, funcionando como uma blindagem contra
interferências. Em nosso tutorial Tudo que você precisa saber sobre discos rígidos
61
ATA-66, ATA-100 e ATA-133 abordamos em mais profundidade este assunto.
Atualmente a taxa de transferência máxima que temos no padrão IDE é de 133 MB/s
(ATA-133).
No Serial ATA, por outro lado, a transmissão dos dados é feita de modo serial,
ou seja, transmitindo um bit por vez. A maioria das pessoas pensa que a transmissão
serial é mais lenta que a transmissão em paralelo. Acontece que isto só é verdade se
compararmos os dois tipos de transmissão usando a mesma taxa de clock. Neste caso a
transmissão paralela será pelo menos oito vezes mais rápida, já que pelo menos oito bits
(um byte) serão transmitidos por pulso de clock, enquanto que na transmissão serial
apenas um bit será transmitido por pulso de clock. No entanto, se um clock maior for
usado na transmissão serial, ela pode ser mais rápida do que a transmissão paralela. Isto
é exatamente o que acontece com o Serial ATA.
62
Figura: visão interna de um drive de disquete.
Os discos são fabricados de uma material plástico envolvido por uma fina
camada metálica onde são armazenados os dados.
Figura:Leitura
e gravação de dados no disquete
63
Não demorou muito para os fabricantes perceberem que, com um mínimo de
esforço, o CD também poderia ser usado para gravar dados. Criou-se então uma
distinção: os CDs destinados a gravar música passaram a ser chamados de CD-DA, ou
"Compact Disk Digital Audio" enquanto os destinados à gravação de dados passaram a
ser chamados de CD-ROM, ou "Compact Disk Read Only Remory".
A diferença é que enquanto num HD cada setor engloba 512 bytes, num CD
cada setor (também chamado de "large frame") contém 2.352 bytes.
64
Sobram então 2.048 bytes em cada setor para armazenamento de dados. Como
cada CD possui 330.000 setores, chegamos a 650 MB de capacidade total de
armazenamento de dados.
Existe uma diferença básica entre esses dois tipos de mídia de armazenamento,
sendo:
DVD significa Digital Versatile Disc (antes denominado Digital Video Disc).
Contém informações digitais, tendo uma maior capacidade de armazenamento que o CD
áudio ou CD-ROM, devido a uma tecnologia óptica superior, além de padrões
melhorados de compressão de dados. Basicamente sua forma de armazenamento é igual
ao do CD vista anteriormente.
DVD-R e DVD+R: somente permitem uma gravação e podem ser lidos pela
maioria de leitores de DVDs.
65
DVD-RW: permite gravar e apagar cerca de mil vezes (mídia de pior qualidade).
DVD+RW: permite gravar e apagar cerca de mil vezes, podendo ser lido pela
maioria de leitores de DVD (mídia de melhor qualidade).
O Teclado
66
Esse código então é processado e interpretado pelo PC, apresentando o resultado
dessa operação na tela (pode ser um simples caractere ou uma chamada de um
processo).
O Mouse
Ao movimentar o mouse, uma bola gira na direção do movimento. Com isso ela
move dois rolamentos posicionados a um ângulo de 90 um do outro. Um responde pela
movimentação vertical pela tela e o outro pela horizontal.
Nas extremidades dos rolamentos existem pontos metálicos, cada vez que a
extremidade toca um desses pontos, ele gera um sinal elétrico, esse sinal é enviado para
o microcomputador através do cabo do mouse, que converte o número, a combinação e
a freqüência dos sinais dos dois codificadores na distância, direção e velocidade
necessárias para mover o cursor na tela.
Mouse Óptico
Os modelos mais modernos de mouse são totalmente óticos, não tendo peças
móveis. De modo muito simplificado, eles tiram fotografias que são comparadas e que
permitem deduzir o movimento que foi feito. O mouse ótico não é uma invenção tão
moderna quanto parece: já no início da década de 90 a Sun fornecia máquinas com um
mouse ótico que exigia um mousepad especial, com uma padronagem matricial. O
mouse ótico atual, porém, usa uma tecnologia muito mais avançada que pode funcionar
em qualquer superfície não reflexiva.
67
Para que isso seja possível ele transformar os sinais digitais em sons que podem
ser transmitidos pelo sistema telefônico comum, que são decodificados pelo modem
receptor.
Os modems ainda são o meio de acesso mais popular à Internet. O termo modem
também é usado em relação a outros aparelhos que modulam sinais digitais na forma de
sinais analógicos, como por exemplo os modems usados nos sistemas de acesso à
Internet via cabo ou ADSL, assim como em algumas arquiteturas de rede.
Os SoftModems por sua vez, funcionam apenas como uma interface de ligação
com a linha telefônica, todas as tarefas são executadas pelo processador principal, o que
claro degrada bastante o desempenho global do micro.
Como são compostos por muito menos componentes, os SoftModems são muito
mais baratos que os HardModems.
68
Memória de Vídeo
Toda placa de vídeo usa uma memória para armazenar as imagens que estão
sendo criadas. Numa placa de vídeo 2D a quantidade de memória não interfere em
absolutamente nada no desempenho da placa, ela apenas determina quais resoluções e
quantidade de cores que serão suportadas.
Uma placa antiga, com apenas com 1 MB de memória por exemplo, será capaz
de exibir 16 milhões de cores em resolução de 640x480 ou 65 mil cores em resolução
de 800x600. Uma placa com 2 MB, já seria capaz de exibir 16 milhões de cores em
resolução de 800x600. Uma placa de 4 MB já seria capaz de atingir 16 milhões de cores
em 1280x1024 e assim por diante.
7.4.4.4 Monitores
O monitor tem uma importância vital, pois em conjunto com a placa de vídeo
forma o principal meio de comunicação entre a máquina e nós. Os fatores que
diferenciam os inúmeros modelos de monitores à venda no mercado, são basicamente o
tamanho, o Dot Pitch ou o tamanho dos pontos que compõe e tela, as resoluções
suportadas e a taxa máxima de atualização da imagem:
Dot Pitch – ou tamanho dos pontos que compõem a tela. Se você pegar uma
lupa e examinar a tela de seu monitor, verá que a imagem é formada por pontos verdes,
azuis e vermelhos.
69
Cada conjunto de três pontos é chamado de tríade, e a distância diagonal entre
dois pontos da mesma cor, o que compõe justamente a medida de uma tríade é chamada
de Dot Pitch. O mais comum é encontrarmos monitores com Dot Pitch de 0.29
milímetros quadrados. Alguns monitores mais recentes, porém, utilizam pontos
menores, de 0.22 ou 0.19 mm, o que garante uma imagem de melhor qualidade.
Monitores LCD
Colocando lado a lado um monitor LCD e outro CRT, a primeira diferença que
salta à vista é justamente o tamanho. Os monitores de cristal são muito mais finos que
os tradicionais, o que explica seu uso em computadores portáteis
Outra vantagem dos monitores LCD, é o fato de possuir uma tela realmente
plana, o que elimina as distorções de imagem causadas pelas telas curvas dos monitores
CRT, e aumenta a área útil do monitor, já que não temos espaços desperdiçados nos
cantos da imagem.
70
Os monitores de cristal líquido também gastam menos eletricidade. Enquanto
um monitor tradicional de 14 polegadas consome por volta de 90 W, um LCD
dificilmente ultrapassa a marca dos 40W.
Outra vantagem é que estes monitores emitem uma quantidade muito menor de
radiação nociva, o que os torna especialmente atraentes para quem fica muito tempo em
frente ao monitor diariamente.
No monitor LCD é fabricado com uma tecnologia que consiste no uso de cristais
líquidos para formar a imagem.
Para formar a tela de um LCD, uma fina camada de cristal líquido é colocada
entre duas camadas de vidro. Este sanduíche por sua vez é colocado entre duas camadas
de um elemento polarizador.
Atrás desta tela é instalada uma fonte de luz, geralmente composta de lâmpadas
fluorescentes, que emitem pouco calor, responsáveis pela iluminação da tela.
Os sons emitidos por esse alto-falante ou “speaker” são gerados pelo próprio
processador, que por lidar apenas com números binários, pode apenas combinar
seqüências de bits 1 e 0 para gerar alguns sons rudimentares, como bips e outros ruídos,
que geralmente são usados apenas para chamar a atenção do usuário quando ocorre
algum erro.
71
Figura: Placas de Som Externa e Interna.
Além disso ela permite que o micro gere sons, tocados por um par de caixas
acústicas. A placa de som também traz entrada para um microfone e para um joystick.
O sinal é processado, enviado para a placa de som, reorganizado para ser melhor
tratado pelos recursos da placa, e em seguida enviado para o sistema de caixas de som
acopladas ao computador.
72
Referências Bibliográficas
Livros:
Internet:
73