Вы находитесь на странице: 1из 103

Eletricazine,

www.eletricazine.hpg.ig.com.br

UNIVERSIDADE FEDERAL DO PAR


CENTRO TECNOLGICO
DEPARTAMENTO DE ENGENHARIA ELTRICA

CURSO:
MICROPROCESSADORES

Prof.: Marcelo Barretto


Mestre em Engenharia Eltrica - PUC/RJ
Professor Adjunto IV
Especialista em Redes Locais de Computadores

Ano: 2000

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Sumrio

Captulo 1: Conceitos Bsicos


1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8

- Histrico
- CPU, Memrias e Dispositivos de Entrada/Sada
- Sistema de Barramentos
- Arquitetura Padro de um Microprocessador
- Execuo de Instrues em Microprocessadores
- Algumas Instrues Importantes
- Capacidade de Interrupo
- Tcnicas de Entrada/Sada

Captulo 2: Os Microprocessadores da INTEL


2.1. O 8086/8088
2.1.1. Arquitetura
2.1.2.
Caractersticas Gerais
2.1.3.
Capacidade de Interrupo
2.2. O 80286
2.2.1.
Arquitetura e Caractersticas
2.2.2.
Diferenas no Conjunto de Instrues
2.2.3.
Implicaes no Desempenho de um Microcomputador
2.3. Os 80386
2.3.1 - Diferenas de Arquitetura e Caractersticas
2.3.2 - Diferenas no Conjunto de Instrues
2.3.3 - Verses 80386, 80386SX e 80386SL
2.3.4 - Implicaes no Desempenho de um Microcomputador
2.4 - Os i486
2.4.1 - Diferenas de Arquitetura e Caractersticas
2.4.2 - Diferenas na Capacidade de Processamento
2.5 - Os Pentium, Pentium MMX e PRO
2.5.1 - Diferenas de Arquitetura e Caractersticas
2.5.2 - Benchmarks
2.6 - Os Pentium II
2.6.1 - Arquitetura e Caractersticas
2.6.2 - Benchmarks
2.6.3 - Implicaes no Desempenho de Desktops e Servidores de Rede
2.7 ltimos Microprocessadores da INTEL

Captulo 3: Caractersticas Gerais dos Sistemas de Barramentos


3.1
3.2
3.3
3.4

- Os Barramentos Principais ISA, EISA e MCA


- Os Barramentos Locais Secundrios VESA e PCI
- Os Barramentos Secundrios IDE e Enhanced IDE
- Os Barramentos Secundrios SCSI

Captulo 4: Suporte ao Desenvolvimento de Software Bsico


4.1 - Estrutura de um Programa na Memria
4.2 - Montadores, Carregadores e Depuradores
4.3 - Uso de um Depurador de Linguagem Assembly

Pgina 2

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Captulo 5: Caractersticas Gerais dos Microprocessadores da MOTOROLA


5.1 - O 68.000
5.1.1 - Arquitetura
5.1.2 - Diferenas no Conjunto de Instrues
5.1.3 - Capacidade de Interrupo
5.2 - O 68.010
5.3 - O 68.020
5.4 - O 68.030
5.5 - O 68.040
5.6 O 68.060
5.7 Os PowerPC (IBM/Apple/Motorola)

Captulo 6: Introduo aos Microcontroladores


6.1 - Arquitetura Interna
6.2 - O microcontrolador 8052 da INTEL
6.3 O MPC860 da Motorola

Captulo 7: Introduo s Arquiteturas RISC


7.1 - Noes da Arquitetura RISC
7.2 - Implicaes no Desempenho de um Computador

Captulo 8: Arquiteturas No Convencionais


8.1 - Arquiteturas Paralelas
8.2 - Arquiteturas MIMD
8.3 - Arquiteturas Passagem de Mensagens

Pgina 3

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 1: CONCEITOS BSICOS


1.1 - HISTRICO

A histria dos microprocessadores brevemente resumida a seguir com o destaque de algumas


datas importantes:
Dcada de 40: Vlvula e Transistor (1948)
Dcada de 50: Comercializao do transistor
Dcada de 60: Circuitos Integrados SSI ("Small Scale Integrated")
Dcada de 70: Circuitos Integrados MSI ("Medium Scale Integrated")
1971:

=> Circuitos Integrados LSI ("Large Scale Integrated")


=> INTEL 4004 (CPU do primeiro microcomputador de 4 bits)

1972:

=> INTEL 8008 (CPU do primeiro microcomputador de 8 bits)

1974:

INTEL 8080 (10 vezes mais rpido que o 8008)


=> MOTOROLA 6800

1976:

=> TEXAS 9800 (CPU do primeiro microcomputador de 16 bits)

1977:

MOSTEK 6502 ==> Apple I, II e II plus


ZILOG Z80 ==> TRS-80

1978:

=> Circuitos Integrados VLSI ("Very Large Scale Integrated")


=> MOTOROLA 6809 (Melhor CPU de 8 bits do mercado)
INTEL 8088/8086 (29.000 transistores integrados)
=> Microprocessadores BIT-SLICE (de 2 a 64 bits)

Dcada de 80:
1980:
1981:
1982:
1984:
1985:
1986:
1988:
1989:

=> MOTOROLA 68.000 (68.000 transistores integrados)


=> MOTOROLA 68.010
=> INTEL 80186/80188
=> INTEL 80286 (130.000 transistores integrados)
=> MOTOROLA 68.020
=> INTEL 80386 (ou 80386DX, ou i386)
=> MOTOROLA 68.030
=> INTEL 80386SX
=> INTEL i486 (1.200.000 transistores)

Dcada de 90:

1991:
1992:
1993:
1995:

=> INTEL i386SL, i486SX


Microprocessadores com tecnologia RISC
=> INTEL i486DX2/50 e i486DX2/66
=> INTEL Pentium
=> INTEL Pentium Pro
Pgina 4

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

1997:

INTEL Pentium II

Tendncias:

Mquinas CISC ou Mquinas RISC


Pentium 166 Mhz Pentium II a 300 Mhz
Mquina de Controle Seqencial Mquina de Controle Paralelo
Mquina de Arquitetura SIMD Mquina de Arquitetura MIMD ("Data-Flow")
Arquiteturas orientadas p/ o HW Arquiteturas orientadas p/ o SW
Mquinas processando texto Mquinas processando dados multimdia

1.2 - CPU, MEMRIAS E DISPOSITIVOS DE ENTRADA/SADA

Os prximos pargrafos procuram dar uma idia da nomenclatura utilizada no restante deste
documento e introduzir os componentes principais da arquitetura de microcomputadores ou de
circuitos controlados a microprocessador.
HARDWARE: consiste de circuitos eletrnicos responsveis pela execuo direta de instrues em
linguagem de mquina: CIs, placa impressa, cabos, fontes de alimentao, etc.
SOFTWARE: consiste de algoritmos e suas representaes no computador (programas).
FIRMWARE: consiste de um software embutido em circuitos eletrnicos.
comum dizer que qualquer operao feita por software pode tambm ser construda por hardware e
qualquer instruo executada pelo hardware pode tambm ser simulada por software.
Um sistema de microcomputador tpico mostrado na figura 1. Basicamente, so trs os
componentes de qualquer sistema controlado por microprocessador ou mesmo de um sistema de
computao: Unidade Central de Processamento (CPU), Memria e Dispositivos de Entrada/Sada
(E/S).
A CPU tem finalidade bvia, a de controlar o sistema como um todo. A memria serve para
armazenar os dados que sero manipulados e os dispositivos de E/S para a comunicao da
mquina com o mundo exterior (usurio).
Os vrios tipos de Memria so definidos a seguir:
RAM - "Random Access Memory": memria de leitura/escrita, voltil, para armazenamento
temporrio de programas e dados;
RAM Esttica - RAM com menor densidade e mais rpida que a RAM dinmica. No necessita de
circuitos adicionais em um microcomputador.
RAM Dinmica - RAM com maior densidade e mais lenta que a RAM esttica. Necessita de
circuitos adicionais de controle em um microcomputador.
ROM - "Read Only Memory": memria programada quando a pastilha fabricada, no podendo ser
modificada. usada para armazenamento permanente de programas e dados;
PROM - "Programmable ROM": memria programada por um dispositivo programador de PROM.
Programvel uma nica vez;

Pgina 5

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

EPROM - "Erasable PROM": memria que pode ser apagada e reprogramada vrias vezes. Apagvel
pela incidncia de raios ultra-violeta e programvel por um dispositivo programador de EPROM;
EEPROM - "Erasable Electrically PROM": memria EPROM eletricamente modificvel, sem
necessidade de dispositivos externos apagadores ou programadores.
Os Dispositivos de Entrada/Sada so os componentes que viabilizam a interface com o usurio,
tais como: portas seriais, portas paralelas, conversores anlogo-digitais, etc
Estes componentes so ligados atravs de um sistema de barramentos, o qual ser explicado na
prxima seo.

Microprocessador
(CPU)

Memria
RAM

Memria
EPROM

Barramento de Endereos

Barramento de Dados

Barramento de Controle

Interfaces
para
Memria
Secundria

Interfaces de
Interao c/
o Usurio

HD

Imp. Matricial

Monitor

Interfaces de
Controle e
Sensoreamento

CD-ROM R/W
Sensor

Vlvula

Modem
Scanner

Figura 1 Sistema de Microcomputador Tpico e suas Interfaces

Pgina 6

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

1.3 - SISTEMA DE BARRAMENTOS

Um sistema de barramentos definido como um conjunto fsico de linhas de sinal que possuem
funes especficas dentro do sistema.
O sistema de barramentos de um microcomputador composto de 3 barramentos (ver figura 1)
independentes em suas funes eltricas: o barramento de endereos, o barramento de dados e o
barramento de controle.
O Barramento de Endereos apenas de sada (em relao CPU) e define o caminho de
comunicao dentro do sistema.
O Barramento de Dados bidirecional, sendo o meio de comunicao entre os componentes do
sistema. Na sada de dados da CPU, estes so gerados pelo microprocessador (CPU) e enviados
uma unidade que selecionada pelo barramento de endereos. Na entrada de dados, estes so
gerados por uma unidade particular e enviados ao microprocessador.
O Barramento de Controle, como o prprio nome indica, envia e recebe os sinais de controle
necessrios transferncia de dados no sistema. Este barramento composto, basicamente, de 4
tipos de sinais: leitura de memria ativa, escrita de memria ativa, entrada atravs de dispositivo
externo ativo e sada atravs de dispositivo externo ativo.

1.4 - ARQUITETURA PADRO DE UM MICROPROCESSADOR


Depois de se examinar um sistema de microcomputador de forma global, nesta seo ser
apresentada a arquitetura padro de um microprocessador, exibida na figura 2. Destacam-se os
seguintes blocos:
Registrador de Instruo (RI) - registrador que armazena a instruo sendo executada;
Contador de programa ("Program Counter - PC") - registrador que armazena o endereo de
memria da prxima instruo a ser executada;
Acumulador - registrador que contm o dado a ser processado;
Apontador de pilha ("Stack Pointer - SP") - registrador que aponta para o endereo de retorno de
subrotina, sendo este ltimo armazenado em uma pilha na memria;
Unidade Lgica e Aritmtica (ULA) - circuito combinacional utilizado para operaes lgicas e
aritmticas envolvendo dois operandos;
Decodificador de instrues - circuito combinacional utilizado para determinar qual a prxima
instruo a ser executada. Isto feito a partir do cdigo de operao armazenado previamente no
Registrador de Instruo;
Unidade de controle - circuito seqencial interno ao microprocessador utilizado para gerar os
sinais de controle necessrios execuo da instruo previamente decodificada;
Registradores auxiliares - conjunto de registradores de rascunho que podem ser usados em
conjunto ou separadamente para operaes intermedirias, sem que seja necessrio o acesso
sistemtico memria;
Pgina 7

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Flags conjunto de Flip-Flops destinados a guardar as condies resultantes da execuo de


instrues. Tais flags so fundamentais no sentido em que se constituem no nico mecanismo que o
programador Assembly dispe para desvios de processamento e implementao de algoritmos.

Barramento de
Dados
Buffer de
Dados

Acumulador
RI

Cdigo de
Instruo

Informao
Complementar

Decodificador

R1

SP

Apontador
de Pilha

..
.

PC

Contador de
Programa

Rn

Unidade Lgica e
Aritmtica (ALU)

Registradores de
Rascunho

Unidade de
Controle

S
Z
CY
AC

Buffer de Endereo
Sinais de
Controle

P
Flags

Barramento de
Endereos

Figura 2 Arquitetura Padro de um Microprocessador

1.5 - EXECUO DE INSTRUES EM MICROPROCESSADORES

Nesta seo sero dadas as explicaes bsicas para o entendimento dos microprocessadores
mais comuns do mercado.
Antes de mostrar o procedimento de execuo de instrues necessrio detalhar alguns aspectos:
os flags de condio, o formato das instrues e as operaes bsicas (de leitura e escrita) de um
microprocessador.

Flags de Condio:

Um "flag" "SETADO", forando-se o bit de flag para "1" e "RESETADO", forando-se o bit de flag
para "0". Quando uma instruo afeta um flag este alterado da seguinte maneira:
ZERO: Se o resultado da instruo tem valor 0,
Pgina 8

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

ento Z 1
seno Z 0;

SINAL: Se o bit mais significativo do resultado da operao tem valor 1,


ento S 1
seno S 0;

PARIDADE: Se a soma dos bits do resultado da operao 0,


ento P 1 (paridade PAR)
seno P 0 (paridade MPAR);

CARRY: Se o resultado da instruo provoca um "carry" (na adio) ou um "borrow" (na subtrao ou
comparao),
ento C 1
seno C 0;

CARRY AUXILIAR: Se a instruo causou um carry do bit 3 para o bit 4,


ento AC 1
seno AC 0.

Cada microprocessador tem seus prprios bits de flag. Os flags anteriormente mencionados so os
mais comuns de serem encontrados na maioria dos microprocessadores.
Mostra-se a seguir o formato de instruo, por exemplo, de um microprocessador de 8 bits. A
partir deste entendimento, pode-se por analogia, entender o formato de instrues de outros
microprocessadores. Assim, o formato de instruo do INTEL 8085 utilizado como exemplo bsico.
Formato de Instruo e dado no 8085
1. Instrues de um byte
D7 D6 D5 D4 D3 D2 D1 D0
Cdigo de Operao

Ex.:

MOV R1,R2 ; R1 <- R2

Obs.: O endereo do primeiro byte das instrues sempre usado como o endereo de instruo.
2. Instrues de dois bytes
D7 D6 D5 D4 D3 D2 D1 D0
Cdigo de Operao

D7 D6 D5 D4 D3 D2 D1 D0

Info. Complementar

Ex.:

MVI R,dado ; R <- dado

3. Instrues de trs bytes


Pgina 9

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

D7 D6 D5 D4 D3 D2 D1 D0
Cdigo de Operao

D7 D6 D5 D4 D3 D2 D1 D0

Info. Complementar

D7 D6 D5 D4 D3 D2 D1 D0

Info. Complementar

Ex.: LXI Rp, dado 16 ; Rh <- (byte3)


; Rl <- (byte 2)

Nas sees anteriores foram mostrados os componentes bsicos de um circuito controlado a


microprocessador, a arquitetura padro dos microprocessadores e a CPU do sistema. Isto era
indispensvel para a compreenso do captulo e do curso como um todo.
Ainda com o intuito de mostrar como instrues so executadas em microprocessadores, tambm
se faz necessrio explicar as operaes bsicas de um computador ou circuito controlado a
microprocessador. Estas, so as operaes de leitura de memria e escrita na memria.
Operaes Bsicas de um Computador:

Operao de Leitura:

1. A memria recebe o endereo e a solicitao de leitura;


2. A memria localiza a clula decodificando o endereo;
3. Operao de leitura propriamente dita;
4. Intervalo em que a memria no acessvel por razes tcnicas ("Descanso").

Ciclo de Acesso Memria: fases 1, 2 e 3


Ciclo da Memria: fases 1, 2, 3 e 4

Operao de Escrita:

1. A memria recebe o endereo, o dado e uma solicitao de escrita;


2. A memria localiza a clula decodificando o endereo;
3. Operao de escrita propriamente dita;

Pgina 10

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

4. ("Descanso").
Obs.: A operao de leitura muito mais freqente que a operao de escrita.

Ciclo de Instruo

Uma instruo executada por um microprocessador durante um intervalo de tempo particular


instruo, chamado, CICLO DE INSTRUO. Um ciclo de instruo composto de vrios ciclos de
mquina que variam de acordo com a instruo. Cada ciclo de mquina, por sua vez tem a durao
de vrios perodos de relgio. Em seguida, o ciclo de instruo detalhado.
O formato da instruo em linguagem de mquina mostrado a seguir. Com base neste formato
pode-se descrever textualmente o ciclo de instruo.

Linguagem de Mquina ==>

Cdigo de Operao

Informao Complementar

CICLO DE INSTRUO:
1. BUSCA
a) Envio de um endereo para a memria e execuo de uma leitura;
b) Incremento do registrador de endereo de instruo;
2. EXECUO
a) Decodificao do cdigo de operao;
b) Execuo da instruo;
3. VOLTA PARA FASE 1
--> Pode haver desvio:
- Incondicional: o valor do registro de endereo de instruo alterado;
- Condicional: se a condio satisfeita, a seqncia linear interrompida.

importante ressaltar que cada ciclo de instruo composto por vrios ciclos de mquina..
A figura 3 procura ilustrar o procedimento de execuo de um pequeno programa, passo-a-passo, j
armazenado na memria e a figura 4 mostra, sob a forma de diagrama de tempo, a execuo da
instruo LDA 0420, com todos os seus ciclos de mquina e perodos de relgio.

Pgina 11

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Caracter "A" do teclado

Porta de
Entrada 01
5

Acumulador

16

Registrador de
Instruo

Microprocessador

1
3
6
8
12
14

Endereo
0100
0101
0102
0103
0104
0105
0106
0107

Contedo
IN
01
STA
00
20
OUT
10
...

2
4
7
9
13
15

Memria de Programa

10

Endereo
2000
2001
2002
2003

Contedo
A

11

Memria de Dados

16

Porta de
Sada 10
16

Caracter "A" para o


monitor de Vdeo

Figura 3 Execuo de Instrues por um Microprocessador Passo-a-Passo


Pgina 12

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

T1 T2 T3 T4 T5

T1 T2 T3 T4 T5 T 1 T2 T3 T4

T5 T1 T2 T 3 T 4 T 5

Fase

Busca

Exec.

Busca

Exec.

Busca

Exec.

Busca

Exec.

Ciclo

Ciclo

M1

Ciclo

M2

Ciclo

M3

Ciclo

M4

Oper.

RI <- LDA

No
Usado

No
Usado

RI <- 20

No
Usado

PC

1001
->1002

1003

1004

Busca do
Cdigo de
Operao da
Instruo e
Transferncia
deste cdigo
para o
Registrador de
Instruo (RI)

RI <- 04

1002
->1003

Busca do
primeirobyte do
endereo e
transferncia
para dentro da
parte de
endereo do RI,
byte demenor
ordem

Busca do
segundobyte
do endereo e
transferncia
para dentro da
parte de
endereo do RI,
byte demaior
ordem

Bar.
A <Dados (0420)
<-(0420)
1004

A parte de
endereo do RI
depositada no
barramento de
endereos

Acumulador
recebe o contedo
da posio de
memria, cujo
endereo 0420

RI

Figura 4 Execuo da Instruo LDA 0420

1.6 - ALGUMAS INSTRUES IMPORTANTES

Normalmente, pode-se separar as instrues de linguagem Assembly de um microprocessador em


grupos. Tais grupos podem ser generalizados para a maioria dos microprocessadores com algumas
pequenas diferenas. A ttulo de exemplo, os grupos de instrues no 8085 so mostrados abaixo.

Pgina 13

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Grupo de Transferncia de Dados


Move dados entre registradores ou entre locaes de memria e registradores;
Ex.: "MOVEs", "LOADs", "STOREs" e EXCHANGE;
Grupo Aritmtico
"ADDs", "SUBTRACTs", "INCREMENTs" ou DECREMENTs" dados nos registradores ou na
memria;
Grupo Lgico
"ANDs", "ORs", "XO Rs", "COMPAREs", "ROTATEs" ou
registradores ou entre locaes de memria e registradores;

"COMPLEMENTs"

dados

entre

Grupo de Salto
"JUMPs", "CALLs" e "RETs" condicionais ou incondicionais;
Grupo de Instrues de Pilha, E/S e Controle de Mquina
Inclui instrues de manuteno de pilha, leitura escrita na/da memria, "seta" ou l mscaras de
interrupo, seta ou limpa "FLAGs"

1.7 CAPACIDADE DE INTERRUPO

Uma das tcnicas de Entrada/Sada de dados mais utilizadas na atualidade a Interrupo. Seu uso
aplica-se tanto em computadores de um modo geral, como tambm no ambiente de automao
industrial.
INTERRUPO (IRQ) um sinal de hardware enviado por um dispositivo perifrico necessitando de
imediata ateno da CPU. A utilizao desta tcnica, forosamente, envolve sinais de hardware.
comum em softwares de apoio tradicionais, como o Norton Utilities, observar a distino entre
Interrupes por Hardware e por Software. Segundo nomenclatura da INTEL, a diferena bsica que
na Interrupo por Hardware , o endereo de salto, para o qual o microprocessador ir desviar o
processamento predefinido pelo hardware do microprocessador, enquanto que na Interrupo por
Software, este endereo de salto pode ser alterado pelo usurio programador Assembly.
Um outro conceito relacionado as interrupes tambm merece ser comentado. o mascaramento
de Interrupes. Existem as Interrupes Mascarveis e as Interrupes No Mascarveis.
Quando as Interrupes so Mascarveis o processador tem a capacidade de no aceitar o pedido
de interrupo do perifrico, deixando-o pendente, de tal forma que possa atend-lo um tempo
depois. J nas Interrupes No Mascarveis, o processador no pode fazer isso, sendo obrigado a
atender imediatamente a solicitao de interrupo do perifrico.
A fim de exemplificar estes conceitos e subsidiar as explicaes sobre o mecanismo de Interrupo,
fornecida a seguir a sintaxe e a semntica de uma instruo bsica para o entendimento deste
mecanismo, a instruo RESTART.

Pgina 14

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Instruo RST n (Restart)


RST uma instruo CALL de propsito especial. RST "push" ou "empurra" bytes do Program
Counter (PC) sobre a pilha e ento faz a CPU saltar para um dentre vrios endereos
predeterminados.
((SP) - 1) <-- (PCH)
((SP) - 2) <-- (PCL)
(SP) <-- (SP) - 2
(PC) <-- 8 * (NNN)
NNN - Nmero binrio entre 000 e 111 (entre 0 e 7 em decimal)
SP - Stack Pointer
PCH - Byte mais significativo do Program Counter
PCL - Byte menos significativo do Program Counter
Ex.: Endereos de salto possveis no INTEL 8085:

HEXADECIMAL
0000
0008
0010
0018
0020
0024
0028
002C
0030
0034
0038
003C

DECIMAL
0
8
16
24
32
36
40
44
48
52
56
60

RST
0
1
2
3
4
TRAP
5
5.5
6
6.5
7
7.5

Interrupes por Hardware:


Ex.: O 8085 inclui 4 sinais de entrada (hardware) que geram internamente instrues RST:
RST 5.5, RST 6.5 e RST 7.5 (Mascarveis)
TRAP (no Mascarvel)

Interrupes por Software:


Quando um dispositivo de E/S pede o servio de interrupo e a IRQ est habilitada pelo sistema de
interrupo do processador, este reconhece o pedido e prepara suas linhas de dados para aceitar
qualquer instruo de um byte do dispositivo. RST geralmente a instruo escolhida, pois uma
instruo CALL de propsito especial que estabelece o retorno ao programa principal.

Ex.: O 8085 possui 1 entrada e 1 sada que implementa este tipo de interrupo
INTR pino de entrada
INTA pino de sada

Pgina 15

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Para o processador no se confundir, ao receber dois pedidos de interrupo simultneos, provido


um mecanismo de prioridade que estabelece uma ordem no atendimento destes pedidos.

Prioridade das Interrupes no 8085

NOME

PRIORIDADE

ENDEREO DE SALTO (1)

TRAP

0024H

RST 7.5
RST 6.5
RST 5.5
INTR

2
3
4
5

003CH
0034H
002CH
(2)

TIPO DE "TRIGGER"
Pulso Positivo amostrado
at Alto Nvel
Pulso Positivo "Latched"
Sensvel a Nvel (Alto)
Sensvel a Nvel (Alto)
Sensvel a Nvel (Alto)

(1) O processador coloca o contedo do Program Counter sobre a pilha, antes de saltar para o
endereo indicado
(2) - Depende da Instruo fornecida a CPU quando a Interrupo reconhecida

A figura 5 ilustra o mecanismo de Interrupo no 8085. A figura 6 mostra o mesmo para o ZILOG Z80
e a figura 7 exibe os circuitos integrados tpicos dos ambientes INTEL e ZILOG. importante
ressaltar a diferena entre os mecanismos de prioridade de interrupo das duas empresas.

Pgina 16

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

INTEL
8085

INTR

INTA

RST nn

Dispositivo
Perifrico

Ex.: RST 7
3

Endereo
0038
0039
003A

Dado
C3 (JMP)
00
80

Programa sendo executado


6001
6002
6003

1
INTR
6

Pilha
(SP)

02
60

Subrotina de Servio de
Interrupo
8000

...
...
RET

Figura 5 Mecanismo de Interrupo no INTEL 8085

Pgina 17

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

___
INT
____
INTA

1
ZILOG
Z80

Dispositivo
Perifrico

Registrador da CPU

80

80

Programa sendo executado


4002
4003
4004
2

Pilha
(SP)

60XX
4

1 ___
INT
6

04
40

Subrotina de Servio de
Interrupo
6050

04

...
...
RETI

Tabela de Endereos de
Interrupo
8003
8004
50
8005
60
8006

Figura 6 Mecanismo de Interrupo (Modo 2) no ZILOG Z80

Pgina 18

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

PIO

DMA

Barramentos
Z80
CPU
Mecanismo
"Daisy Chain"
CTC

SIO

Prioridade Fixa

8274

8253

Barramentos
8085
CPU

8259
(PIC)

8257

8272

Prioridade
Controlada

Figura 7 Mecanismos de Prioridade de Interrupo ZILOG e INTEL

8259 Controlador de Prioridade de Interrupo (PIC)


8257 Controlador de DMA Programvel (PDC)
8272 Controlador de Disco Flexvel
8274 Controlador Serial Multiprotocolo
8273 Temporizador Programvel

1.8 TCNICAS DE ENTRADA E SADA

Pgina 19

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Alm da tcnica de Interrupo detalhada na seo anterior, existem duas outras tcnicas, tambm
muito utilizadas em sistemas de computao de um modo geral. So estas: "Polling" e Acesso
Direto Memria (ou DMA Direct Access Memory).
"POLLING": uma tcnica de Entrada/Sada de dados onde a CPU, explicitamente, consulta o
perifrico com o objetivo de saber se o mesmo possui dados para transmitir ou se est livre para os
receber. Esta tcnica no envolve sinais de hardware e pode ser implementada por software;
ACESSO DIRETO MEMRIA: uma tcnica de Entrada/Sada de dados onde a CPU no
participa do processo de transferncia de dados, exceto no seu incio e aps o seu trmino. Um
outro dispositivo perifrico necessrio, o chamado "Controlador de DMA", para assumir o controle
dos barramentos do sistema e controlar as transferncias de dados.
Na maior parte dos casos, o uso desta tcnica obriga o uso combinado das anteriores para que o
processo de transferncia de dados seja iniciado e terminado corretamente. A figura 8 ilustra passoa-passo o procedimento de transferncia de dados para a ou da memria, sem interferncia da CPU.

Memria

Disp. 0

Disp. 1

Barramentos
s
do
Da

CPU

HOLD
CDMA

3 HOLDA

DRQ
1

Disp. 3

Disp. 2

DACK
4

Driver ptico

Figura 8 Entrada/Sada por Acesso Direto Memria

1 DRQ Data Request: Solicitao de Acesso Direto Memria feito pelo dispositivo perifrico ao
Controlador de DMA (CDMA);
2 HOLD Hold Request: Solicitao de controle de barramentos feito pelo CDMA ao processador;
3 HLDA Hold Acknowledgement Resposta do processador ao CDMA, avisando que partir
daquele momento, este poder assumir o controle temporrio dos barramentos para a
transferncia de dados;
4 DACK Data Acknowledgement Resposta do CDMA ao dispositivo perifrico, avisando que
assumiu o controle dos barramentos e a transferncia de dados poder se iniciar.
A programao do CDMA consiste basicamente de informar o mesmo sobre o endereo inicial do
bloco de bytes a ser transferido, o sentido da transferncia e o tamanho de bloco ou o endereo final.
Depois que os comandos so fornecidos ao dispositivo perifrico o processo continua, sem

Pgina 20

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

interferncia da CPU. Aps a transferncia, o sinal DRQ retirado, consequentemente, todos os


outros sinais so retirados e a CPU reassume o controle dos barramentos.

Pgina 21

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 2: OS MICROPROCESSADORES DA INT EL


2.1 O 8086/8088
A figura 9 exibe o Diagrama em Blocos da Arquitetura do 8086.

2.1.1 Arquitetura

Unidade de Execuo
AH
BH
CH
DH

AL
BL
CL
DL
SP
BP
SI
DI

Unidade de Interface de
Barramento

0000

IP
CS
DS
SS
ES

0000
0000
0000
0000

Unidade de Controle de
Barramento

ALU (Unidade Lgica e


Aritmtica)
Unidade de Controle

1
2
3
4
5
6

Status
Fila de Cdigo Objeto
de Instruo
Registrador de Instruo

Figura 9 Arquitetura do 8086

Fonte: "The 8086 Book", Rector R. e Alexy G. - OSBORNE/McGraw-Hill

Pgina 22

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Registradores do 8086/8088

Registrador
AX = AH + AL
BX = BH + BL
CX = CH + CL
DX = DH + DL
SP
BP
SI
DI
IP
Flags H + Flags L
CS
DS
SS
ES

Finalidade
Acumulador
Base (2 acumulador)
Contador (usado em instrues de mltiplas interaes)
Dado (algumas instrues movem dados de uma porta de E/S para a posio
de memria endereada por DX)
Apontador de Pilha
Apontador de Base
ndice Fonte
ndice Destino
Apontador de Instruo
Flags
Segmento de Cdigo
Segmento de Dados
Segmento de Pilha
Segmento Extra

Observaes:
1.
2.
3.
4.

O registrador SP est estreitamente ligado ao ES, em funo das operaes relacionadas


manuteno da pilha;
O registrador IP est estreitamente ligado ao CS, em funo das operaes relacionadas
execuo de instrues;
O endereo fonte de um String de dados obtido partir de SI + DS;
O endereo destino de um String de dados obtido partir de DI + ES.

2.1.2 Caractersticas Gerais

Capacidade de Endereamento:
20 bits de endereamento => 1.0 Megabytes ou 512 Kwords
Operaes com: Bit, Byte, Word e Bloco
Organizao da Memria:
a) Fsica: => 2 x 512 Kbytes. End. mpar (D7 D0)
End. Par (D15-D8)
b) Endereamento relativo base de endereos de Registradores de Segmento: Code (CS),
Data (DS), Stack (SS) e Extra (ES).

Endereo

Registrador

Contedo

End. da Memria de Programa

IP
CS
(IP+CS) Endereo Final

0MMMM
NNNN0
PPPPM

Pgina 23

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

End. da Memria de Dados

XX
DS
(XX+DS) Endereo Final

0MMMM
NNNN0
DDDDM

End. da Memria de Pilha

XX
SS
(XX+SS) Endereo Final

0MMMM
NNNN0
SSSSM

End. da Memria Extra

XX
ES
(XX+ES) Endereo Final

0MMMM
NNNN0
DDDDM

Observaes:
1.

2.

Cada registrador de segmento (16 bits) identifica o incio de um segmento 64 Kbytes. Como so
4 (quatro) os registradores de segmento, pode-se selecionar apenas um de 4 segmentos de 64
Kbytes de cada vez. Isto significa que de 1 MBytes, tm-se apenas 1 de 16 possveis
segmentos endereveis diretamente (1 MBytes / 64 Kbytes = 16);
XX pode ser um registrador qualquer da CPU, como por exemplo: IP, quantidade de 16 bits, DI ou
SI, BX, BP, etc.

c) Posies de FFFF0-FFFFF (32 Bytes) reservadas para Reset => Aps o Reset, a CPU
executa sempre a instruo contida no endereo FFFFF0, onde normalmente existe um JUMP.
d) Posies de 00000-003FF (1024 Bytes) reservadas para operaes com Interrupo => 256
possveis vetores de interrupo;

Endereamento de Entrada/Sada
- 256 dispositivos diretamente;
- 64 Kbytes indiretamente
Tamanho dos Registradores Internos : 16 bits
Tamanho do Barramento de Dados: 16 bits
Coprocessador matemtico: 8087

2.1.3 Capacidade de Interrupo

1. Interrupes Predefinidas (requisitadas por hardware ou software)


De 0 a 31:

IRQ 0
IRQ 1
IRQ 2
...

Diviso por Zero


Passo-a-Passo
NMI (Not Maskable Interrupt)

2. Interrupes de Hardware (definidas pelo usurio)


De 32 a 255:

Solicitadas via pino INTR da CPU

Pgina 24

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Observao: O dispositivo solicitante deve colocar em D0-D7 (8 bits menos significativos do


barramento de dados) o Nmero de Interrupo para a CPU. A CPU multiplica este nmero por 4 e
com o resultado, enderea a posio de memria contendo o vetor correspondente na TABELA DE
VETORES DE INTERRUPO. A figura 10 ilustra estes conceitos.

1a. Instruo
Rotina de Servio
de Interrupo
IRET

Nmero de
Interrupo

003FF
x 4
IP
CS

Tabela de
Vetores de
Interrupo

00000

Figura 10 Busca da Rotina de Servio de Interrupo no 8086

Dos 4 bytes do VETOR DE INTERRUPO, os 2 primeiros formam o contedo do IP (Instruction


Pointer) e 2 bytes restantes formam o contedo do CS - Registrador de Segmento de Cdigo (Code
Segment). Desta maneira formado o Endereo de Incio da Rotina de Servio de Interrupo.
3. Interrupes de Software (definidas pelo usurio)
De 32 a 255: Solicitadas via instruo "INT nn"
nn = Nmero da Interrupo a ser executada
Para finalizar este item deve-se comentar a posio do microprocessador 8088 em relao ao 8086.
Sobre o 8088

Pgina 25

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Uma das nicas diferenas entre os dois processadores a de que o barramento de dados no 8088
possui um comprimento de 8 bits (o barramento do 8086 de 16 bits). Este fato possibilitou aos
fabricantes de microcomputadores o aproveitamento quase total dos circuitos perifricos do 8080
(mais conhecidos e mais baratos), reduzindo sobremaneira o custo final da mquina. Como o 8086,
efetivamente, no era utilizado como um microprocessador de 16 bits, propagandeou-se em larga
escala que microcomputadores com CPU 8088 possuam o mesmo desempenho e mais baixo custo
do que mquinas com CPU 8086. A verdade que o momento era de transio para uma CPU mais
poderosa e os fabricantes de placas ainda no haviam tomado uma posio definitiva respeito.
Assim, o 8088 arquiteturalmente (rodava os mesmos programas) igual ao 8086, com a diferena
principal apenas no comprimento do barramento de dados.

Sobre o par 80186/80188


Aps os microprocessadores 8086 e 8088, a INTEL lanou o processador 80186, com desempenho
cerca de 30% superior ao 8086. O 80186 era um 8086 com novos blocos de hardware internos. Tal
microprocessador encontrou sua utilizao na rea de controle de processos, gerenciamento de
terminais e automao industrial. Entretanto, no fez sucesso comercial na rea de
microinformtica, pois suas melhorias em relao a software eram muito poucas.
A exemplo do par 8086/8088, uma CPU 80188 tambm foi produzida pela INTEL, com as mesmas
caractersticas do 80186, exceo do barramento de dados, dimensionado para 8 bits

2.2 O 80286

2.2.1 Arquitetura e Caractersticas


O microprocessador 80286 surgiu com duas grandes novidades para a rea de microinformtica. A
primeira foi que o barramento de endereos da pastilha cresceu para 24 bits (no mais os 20 bits do
8086 e 80186), o que implica em uma capacidade de endereamento de 16 MBytes. A segunda foi a
introduo de dois modos de funcionamento da CPU: o MODO REAL (compatvel com o 8086) e o
MODO PROTEGIDO (especfico para o 286). Uma terceira inovao, o suporte a memria virtual (na
poca, no totalmente explorada), permitia o endereamento de at 1 Gigabytes. Os itens que se
seguem procuram fornecer mais detalhes sobre esta CPU.
Modo Real: Neste modo, o 80286 compatvel em software (a nvel de cdigo objeto) com o
8086/8088. O fato de emular o 8086/8088 significa dizer que a memria a ser utilizada pelo programa
no pode ultrapassar 1.0 MBytes, consequentemente, no utilizando toda a capacidade de
endereamento disponvel. Sendo a CPU mais evoluda em hardware e permitindo a utilizao de
osciladores a cristal de freqncias mais altas, sem dvida mquinas com esta CPU, mesmo
operando neste modo, possuam maior desempenho que os famosos XTs.
Modo Protegido: Neste modo, o 80286, tambm pode rodar programas 8086/8088 e alm disso,
rodar programas escritos especificamente com o cdigo fonte 80286. Neste modo, o 80286
automaticamente mapea 1.0 Gigabytes de endereos virtuais por tarefa dentro de um espao de
endereo real de 16.0 Megabytes. No modo protegido, o 80286 prov proteo de memria para
isolar o sistema operacional e assegurar a privacidade de cada tarefa sendo executada. Assim, o
80286, foi especialmente otimizado para suportar sistemas multitarefa e multiusurio.

Pgina 26

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Registradores do 80286

Registrador
AX = AH + AL
BX = BH + BL
CX = CH + CL
DX = DH + DL
SP
BP
SI
DI
IP
Flags H + Flags L
CS
DS
SS
ES

Finalidade
Acumulador
Base (2 acumulador)
Contador (usado em instrues de mltiplas interaes)
Dado (algumas instrues movem dados de uma porta de E/S e a posio de
memria endereada por DX)
Apontador de Pilha
Apontador de Base
ndice Fonte
ndice Destino
Apontador de Instruo
Flags
Segmento de Cdigo
Segmento de Dados
Segmento de Pilha
Segmento Extra

Observao: Exatamente os mesmos registradores do 8086

Capacidade de Endereamento:
24 bits de endereo 16.0 MBytes
Operaes com: byte, word, double word, quad word, BCD, ASCII, apontador e ponto flutuante;
Relgio:

80286-4
80286-6
80286
80286x

==> 4.0 Mhz


==> 6.0 Mhz
==> 8.0 Mhz
==> 12.0 Mhz e 16 Mhz

Organizao de Memria:
2 x 8.0 MBytes;

a) fsica

b) Endereamento:
31

16 15

Seletor de Segmento

0
Offset

O seletor de segmento (16 bits) especifica um ndice dentro de uma tabela em memria residente
cujo contedo um endereo base de 24 bits. O endereo real de memria obtido com a soma
deste endereo base (24 bits) mais o offset (16 bits), totalizando 24 bits de endereo.
c)

Posies de 00000-003FF (1024 bytes 256 possveis vetores de interrupo) reservadas,


como no 8086, para operaes com interrupo, no modo real;

d) Posies de FFFF0-FFFFF reservadas para "reset", no modo real;


Pgina 27

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Endereamento de Entrada/Sada:
- 256 dispositivos diretamente;
- 64 Kbytes indiretamente
Tamanho dos Registradores Internos: 16 bits
Tamanho do Barramento de Dados: 16 bits
Coprocessador matemtico: 80287
Capacidade de Processamento de Instrues: aprox. 1.5 MIPS
(80286 a 8 Mhz)

2.2.2 - Diferenas no Conjunto de Instrues

O conjunto de instrues do 80286 dividido em sete categorias: transferncia de dados,


aritmticas, deslocamento/lgicas, manipulao de strings, controle de transferncia, de alto nvel e
de controle de processador.
Entre as instrues adicionais podem ser citadas as seguintes:
PUSHA salva o contedo da totalidade dos registradores;
POPA restaura o contedo da totalidade dos registradores;
INS entra string de caracteres;
OUTS sai string de caracteres;
ENTER chama procedure;
LEAVE libera procedure;
e mais 15 instrues que somente podem ser executadas no modo protegido;

2.2.3 Implicaes no Desempenho de um Microcomputador

Sistemas de microcomputador baseados no 80286 foram os primeiros sistemas com capacidade


para rodar sistemas operacionais de rede multiusurio e/ou multitarefa, na poca, por exemplo, o
Netware 2.x da Novell, o qual era escrito em C e Assembly 80286. Tais sistemas, paulatinamente,
passaram funo de computador pessoal (desktop) e no mais a de servidor.

2.3 - OS 80386

2.3.1 - Diferenas de Arquitetura e Caractersticas

O microprocessador 80386 compatvel em software com o 8086. A INTEL optou por manter esta
compatibilidade para aproveitar toda a enorme base de software escrita para os 8086 e 80286. Sendo

Pgina 28

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

assim, o 386 executa a maioria dos programas escritos para o 8086 e 80286, simplesmente por que
este emula estas CPUs, no fazendo uso de todas as suas capacidades.
Primeiro microprocessador de 32 bits da INTEL, o 80386 trouxe um novo modo de operao, em
adio aos dois modos do 80286 (Real e Protegido), o modo Virtual. O microprocessador abordado
nos prximos pargrafos o 80386 mais potente da famlia, que na literatura chamado de
80386DX, ou 80386 "Full" ou ainda, como a INTEL o denominou, simplesmente, 80386.
A figura 11 mostra os registradores do 80386.

Registradores Gerais de
Endereo e Dados
31

15
7 0
AH
AL
BH
BL
CH
CL
DH
DL
SI
DI
BP
SP

Registradores Seletores
de Segmento
15
EAX
EBX
ECX
EDX
ESI
EDI
EBP
ESP

0
CS
SS
DS
ES
FS
GS

Cdigo
Pilha
Dados

Apontador de Instruo
e Registrador de Flags
IP
FLAGS

EIP
EFlags

Figura 11 Registradores do 80386

No MODO REAL, o 80386 compatvel em software (a nvel de cdigo objeto) com o 8086/8088,
inclusive com a mesma limitao de memria (1.0 MBytes). Sendo a CPU mais evoluda em
hardware (p.e. registradores de 32 bits) e permitindo a utilizao de osciladores a cristal de
freqncias ainda mais altas que os 80286, sem dvida, mquinas com esta CPU possuem
desempenho bem maior que os 286. Assim, neste modo, o mecanismo de endereamento, o
tamanho de memria e a manipulao de interrupes so todos idnticos ao modo real do 80286.
As instrues 80386 tambm podem ser utilizadas neste modo.
No MODO PROTEGIDO, o 80386, se comporta exatamente como no modo de mesmo nome do
80286, sendo que enderear 4.0 Gigabytes de memria real (ao invs dos 16.0 MBytes do 80286)
e 64 Terabytes de memria virtual. Neste modo, o mecanismo de endereamento tambm diferente
daquele utilizado no 80286. Enquanto no 80286 o endereo base de 24 bits (aos quais so
adicionados 16 bits de offset), no 80386 este endereo de 32 bits (aos quais so adicionados 16
ou 32 bits de offset).
Quando operando no modo protegido, o 80386 pode fazer uso de uma tcnica chamada de
SEGMENTAO. Esta tcnica organiza a memria em mdulos lgicos chamados segmentos. Este
modo de gerenciamento de memria provm a base para a proteo de segmentos de memria. Por
Pgina 29

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

exemplo, uma tabela do sistema operacional pode residir em um segmento e, como tal, deve ser
protegido da interferncia de usurios no privilegiados, os quais poderiam "derrubar" o sistema.
Uma outra tcnica til de gerenciamento de memria para sistemas operacionais multitarefa em
memria virtual a tcnica chamada de PAGINAO. Independentemente da segmentao, a qual
modulariza programas e dados em segmentos de comprimento varivel, a paginao divide
programas em pginas uniformes mltiplas. Dessa forma, somente um pequeno nmero de pginas
de cada tarefa precisa estar na memria em um dado instante. A paginao til para o
gerenciamento da memria fsica do sistema.
O 80386 possui 4 nveis de proteo otimizados para suportar as necessidades de sistemas
operacionais multitarefa, os quais devem proteger e isolar programas de usurios, uns dos outros, e
programas do prprio sistema operacional, dos usurios. Tais nveis de proteo se constituem, em
outras palavras, em um sistema de privilgio hierrquico de 4 nveis:
PL=0 (mais privilegiado) - Ncleo do sistema operacional;
PL=1 - Servios do Sistema Operacional;
PL=2 - Extenses do Sistema Operacional e
PL=3 - Aplicaes.
Quando operando no MODO VIRTUAL, o 80386 permite a execuo simultnea de aplicaes 8086,
sistemas operacionais 8086 e suas aplicaes, aplicaes 80286 e, ainda, aplicaes 80386.
Assim, em um computador 386 multiusurio, uma pessoa pode estar rodando uma planilha DOS,
enquanto outra usa o DOS e uma terceira roda mltiplos utilitrios e aplicativos UNIX.
A MEMRIA CACHE um bloco de memria RAM (do tipo esttica) que, tendo tempo de acesso
menor que a memria principal (do tipo dinmica), pode ser lido muito mais rapidamente. Assim,
antes de se executar um programa que est na memria principal, a regio contendo o programa
transferida para a memria cache e s ento o programa executado. Isto reduz drasticamente o
tempo de acesso RAM e aumenta a velocidade de execuo dos programas. No 80386, o uso de
memria cache era opcional, isto , apenas algumas mquinas (dependendo do fabricante) incluam
uma pastilha controladora de memria cache, o 82385 (gerenciavam at 256 Kbytes), e sua incluso
implicava em um aumento da placa me. Esta pastilha s era encontrada nas ltimas verses
micros 386.

Caractersticas Principais:
Capacidade de Endereamento:
32 bits de endereo 4.0 Gigabytes
Operaes com: bit, campos de bit, string de bits, byte, word, double word, quad word, BCD, ASCII,
apontador e ponto flutuante;
Relgio:

80386-12
80386-16
80386x
80386x
Am386-40

12.5 Mhz
16.0 Mhz
20.0 Mhz
33.0 Mhz
40.0 Mhz

Organizao de Memria:
a) Fsica:

2 x 2.0 Gigabytes;
4 x 1.0 Gigawords;
8 x 0.5 Gigalongwords

b) Endereamento:
Pgina 30

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

3 espaos de endereo ==> lgico, linear e fsico


Endereamento Lgico (ou Virtual): Consiste de um segmento seletor (14 bits) e de um
offset (soma de componentes de endereamento: BASE, INDEX, DISPLACEMENT => 32 bits),
totalizando 46 bits de endereamento, consequentemente, um espao de 64 Terabytes;
Endereamento Linear: A unidade de segmentao translaciona o endereo lgico para
um endereo linear de 32 bits, implicando em 4.0 Gigabytes;
Endereamento Fsico: Se a unidade de paginao no est habilitada, o endereo linear
de 32 bits corresponde a um endereo fsico, tambm de 4.0 Gigabytes.
c)

Posies de 00000000-000003FF (1024 bytes 256 possveis vetores de interrupo)


reservadas, como no 8086 e 80286, para operaes com interrupo, no modo real;

d) Posies de FFFFFFF0-FFFFFFFF reservadas para "reset", no modo real;


Endereamento de Entrada/Sada:
- 256 dispositivos diretamente, como nos 8086 e 80286;
- 64 Kbytes indiretamente
Tamanho dos Registradores Internos: 32 bits
Tamanho do Barramento de Dados: 32 bits
Coprocessador matemtico: 80387
Capacidade de Processamento de Instrues: aprox. 4.0 a 10.0 MIPS
(80386 32 bits em 16, 20 e 25 Mhz)

2.3.2 - Diferenas no Conjunto de Instrues


O conjunto de instrues do 80386 dividido em nove categorias: transferncia de dados,
aritmticas, deslocamento/lgicas, manipulao de strings, controle de transferncia, suporte de
linguagem de alto nvel, suporte de sistema operacional e de controle de processador. As diferenas
no conjunto de instrues esto intimamente ligadas s instrues de suporte de linguagem de alto
nvel e de sistema operacional.
Uma das fraquezas do projeto 286 foi a sua incapacidade de emular o 8086, mantendo a proteo e
a memria virtual. Com o 286, s se poderia emular o 8086 se este estivesse no modo real, quando a
proteo est completamente desabilitada. O projeto do 386 corrigiu este problema e permitiu ento
que vrias tarefas 8086 sejam emuladas ao mesmo tempo no seu modo VIRTUAL.
A fim de fornecer compatibilidade em software com os 80286, o 80386 podia executar instrues de
16 bits no modo real e no modo protegido. Prevendo a expanso para o 386, a INTEL, especificou
para o 286 que os bits no usados por um descritor de segmento deveriam ser posicionados em "0".
O 386 interpreta isso como um identificador de segmento 286. Assim, o processador examina o
contedo de um bit D do descritor de segmento. Se "0", ento todos os comprimentos de operando
e endereos efetivos so assumidos como de 16 bits (cdigo 286). Se 1, ento o comprimento
default de 32 bits (cdigo 386). Independentemente da preciso default, o 80386 pode executar
instrues de 16 ou 32 bits, atravs de um prefixo automaticamente adicionado pelos montadores
Assembly da INTEL.

Pgina 31

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Fonte: "80386 High Performance Microprocessor with Integrated Memory Management", INTEL
Corporation - Advance Information, october 1985;

Alm das diferenas anteriormente mencionadas, pode-se ainda citar algumas outras:
1.

O tempo de execuo das instrues diferente em vrios casos. Na maior parte, o 386 mais
rpido que o 286;

2.

Existem vrios cdigos indefinidos no 286 que, se executados, provocariam uma falha de cdigo
(INT 6). No 386 a instruo ser executada;

3.

O prefixo LOCK (impede que outros dispositivos acessem a memria do processador) para o
8086 irrestrito, mas para o 386 proibido em vrias instrues. O problema era que o uso
indiscriminado do LOCK resultava em que dispositivos eram inibidos por perodos
inaceitavelmente longos. No ambiente no protegido do 8086, cabia s aplicaes no deixar que
isto ocorresse. No ambiente protegido do 386, apenas algumas instrues podem ser precedidas
deste prefixo, quelas que no interferem com a velocidade de execuo de tarefas.

2.3.3 Verses 80386, 80386SX e 80386SL

O 80386SX podia ser interfaceado a circuitos perifricos de 16 bits, mas roda os softwares de 32 bits
escritos para o 386, pois sua arquitetura interna de 32 bits. O seu barramento de dados de 16
bits (a metade dos 32 bits do 80386). Enderea at 16 MBytes de memria real (bem menos que os
4 Gigabytes do 80386). Era comercializado pela INTEL com relgio mximo de 20 Mhz (o 80386 era
encontrado com relgio de 33 Mhz). Sua capacidade de execuo de instrues varia entre 3 e 4
MIPS (menos da metade dos 11,4 MIPS do 80386 a 33 Mhz). O coprocessador utilizado com o
386SX era o 80387SX.
O 80386SL era um microprocessador tambm derivado do 80386 e foi projetado especialmente para
uso em computadores portteis ("Lap Tops"). Esta pastilha foi o resultado da integrao de trs
circuitos: a CPU 386SL, um controlador de barramento e um controlador de vdeo grfico, diminuindo
assim, o tamanho e o peso do equipamento, alm de proporcionar uma caracterstica particular de
economia de energia. A memria real enderevel do 386SL era de 32 MBytes (16 MBytes a mais
que o 386SX), sua freqncia de operao era de 20 Mhz e o barramento de dados de 16 bits (como
no 386SX). A unidade gerenciadora de energia era capaz de baixar a zero a atividade na CPU,
enquanto se l a tela do micro ou no intervalo da digitao. A aplicabilidade do 386SL em "lap Tops"
foi indiscutvel.

2.3.4 - Implicaes no Desempenho de um Microcomputador

Com base nas explicaes fornecidas nos itens anteriores pode-se dizer o seguinte:
A exemplo do que ocorreu com o 80286 em relao ao 8086, sistemas de microcomputador
baseados no 80386, paulatinamente, passaram de servidores a desktops. Uma verso do Netware da
Novell, a verso 3.12, at os dias atuais muito utilizada, usa toda a capacidade deste
microprocessador, uma vez que foi escrita em C e assembly 386.

Pgina 32

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

O 80386 dispunha de um modo de execuo muito melhor adaptado ao funcionamento multitarefa do


que o 80286. Na poca, sistemas baseados neste microprocessador eram os nicos capazes de
suportar de uma s vez os sistemas operacionais DOS, OS/2 e UNIX.

2.4 - OS I486

A INTEL, segundo deciso da justia dos EUA, no pode registrar nmeros, 386 e 486 p.e., como
suas marcas. Optou ento, por acrescentar um "i" (i minsculo) na frente dos nmeros. Assim, 486,
80486 ou i486 eram nomes encontrados na literatura para designar o mesmo processador.
Inicialmente ser abordado o i486 e em seguida o i486SX.

2.4.1 - Diferenas de Arquitetura e Caractersticas

A arquitetura interna do i486 foi otimizada em relao ao 80386 ou i386. Isto possibilitou a introduo
na pastilha de algo acima de um milho de transistores (quatro vezes mais que o i386 possui). Os
fabricantes de computadores foram diretamente beneficiados por esta densidade de integrao, uma
vez que a placa me sofreu uma reduo significativa de tamanho e o processo de projeto e
montagem foi simplificado. Tambm o microcdigo de instrues foi otimizado, de forma a manter o
mximo possvel as operaes no interior da pastilha e, consequentemente, eram necessrios
menos ciclos de relgio para executar as mesmas instrues que o i386 j executava. O 486 usa
ambas as bordas do sinal de Relgio para a CPU, enquanto os 286 e 386 usavam apenas uma
borda.
Pode-se dizer que, a grosso modo, o ganho de desempenho veio, essencialmente, da memria
cache e do coprocessador (essencial em ambientes de CAD/CAM). Entretanto, em ambientes de
microinformtica, considerados mais simples, que usam planilhas e bancos de dados, o ganho de
desempenho com o uso do coprocessador foi praticamente nulo.
O i486 incorpora o i386 com as suas instrues, memria cache de 8 Kbytes de RAM esttica (mais
rpida que a dinmica) e gerenciador prprio (80385) e coprocessador aritmtico (80387). Foram
adicionadas ao conjunto de instrues do i386 cinco instrues: trs para gerenciamento da
memria cache e duas, includas a pedido da Microsoft, para tratamento de tarefas concorrentes
pelo OS/2. Como no i386, a pastilha enderea diretamente at 4.0 Gigabytes e indiretamente at 64
Terabytes.

2.4.2 - Diferenas na Capacidade de Processamento

O i486 a 25 Mhz possui uma capacidade de processamento de instrues de aproximadamente 20.0


MIPs (duas vezes mais rpido que um i386 nos mesmos 25 Mhz) e totalmente compatvel com
este ltimo.
Como mencionado, a capacidade de processamento do 486 foi amplamente influenciada pela
memria cache. Isto detalhado a seguir.
H muitas discusses sobre o melhor tamanho da memria cache, mesmo entre os fabricantes de
microcomputadores, por isso mesmo so oferecidas ao usurio as mais diferentes opes. Uma vez
que esta a responsvel direta pelo aumento de desempenho da mquina, uma escolha acertada

Pgina 33

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

poderia beneficiar grandemente o usurio. O que se constata na literatura especializada que o


melhor tamanho para a memria cache o tamanho do maior programa que vai ser executado
naquela mquina. Entretanto pode-se tornar excessivamente caro colocar o mximo possvel de
memria cache, no compensando os benefcios correspondentes.
O i486 permitiu memria cache externa, alm dos 8 Kbytes internos. Assim, algumas mquinas
eram oferecidas com 256 Kbytes externos. Considerando-se o desempenho relativo a um XT 4.77
Mhz, pode-se fornecer alguns dados de desempenho, como discriminados abaixo:

i486, 33 Mhz, cache externo de 64 Kbytes


Cache interno e externo desabilitado

6,5 vezes mais rpido;


26 vezes mais rpido;

Somente cache externo habilitado


Somente cache interno habilitado

38 vezes mais rpido;

Caches interno e externo habilitados

72 vezes mais rpido;

Conclui-se destes dados que o cache interno extremamente importante, mesmo sendo muito
menor que o externo. Isto se deve a sua lgica de construo e, obviamente, ao fato de estar dentro
da prpria pastilha de CPU.
Quando se carrega um programa na memria cache e este executado, considera-se que isto um
"acerto" e cada vez que se deve movimentar um bloco da memria principal para a RAM de cache,
considera-se que isto um "erro". Existe, portanto, uma taxa de acertos ("Hit Rate") relacionada
com o tamanho da memria cache. Um cache externo maior, evidentemente, possibilitar uma
melhor taxa de acertos, uma vez que poder conter mais programas. Assim, a velocidade do cache
interno aliada a uma melhor taxa de acertos provida pelo cache externo, possibilitar um melhor
desempenho da mquina como um todo.

Sobre o i486SX

O i486Sx foi lanado pela INTEL para fazer frente a concorrncia acirrada do microprocessador
Am386-40 de 40 Mhz da Advanced Micro Devices (AMD), mais veloz que o seu microprocessador
mais rpido, o i386 33 Mhz. Deve-se entender o "SX" com uma verso desprovida de algo que sua
verso completa, ou "full", ou ainda "DX", continha.
O i486SX possui um barramento de dados de 32 bits, exatamente como o i486. Isto no aconteceu
com o i386SX, o qual possui 16 bits para dados, 16 a menos que i386. Basicamente, o i486SX opera
a uma taxa de relgio de 20 Mhz e possui uma unidade de ponto flutuante interna (como o i486),
mas esta encontra-se desativada. Estes dois fatores levaram a uma diminuio no custo da pastilha
de 60% em relao ao i486. O i486SX, mesmo a 20 Mhz segundo a INTEL, era 45% mais rpido que
o i386 (33 Mhz), com um custo apenas 17 % superior. J o i486 25 Mhz era 20% mais rpido que o
i486SX (20 Mhz) e custava 270% mais caro (custo em maro de 1992). Um quadro exibido pela
revista Micro Sistemas em maro de 1992 mostrava o seguinte:

CPU (clock)
i386 (33)
i486SX(20)

Custo (US$)

MIPs

Custo do MIP (US$)

214
250

11,4
16,5

18,77
15,15
Pgina 34

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

i486 (25)

671

20,0

33,55

Sobre o i486 50 Mhz (i486/50 e i486DX2/50)

Em junho de 1991 a INTEL lanou o i486 50 Mhz e somente em junho de 1992 a revista PC
Magazine americana publicou testes de desempenho sobre as primeiras mquinas fabricadas com
esta CPU. Antes desta CPU, a lder em desempenho da INTEL era o i486 33 Mhz. Segundo a citada
revista, o i486/50 30% mais rpido que i486/33 a um custo (naquele ano) 10 a 20% maior. Uma
observao importante que mquinas equipadas com esta CPU definitivamente no eram baratas,
mas a relao custo beneficio em relao ao i486/33 era atraente. Isto significou, em outras palavras,
que se algum estivesse disposto a pagar o preo de uma mquina 486/33, era melhor que o fizesse
por uma i486/50, em funo da melhor relao custo/benefcio.
Em maro de 1992 a INTEL anunciou as chamadas pastilhas "Speed-Doubler". Tais pastilhas
introduziram opes de preo e desempenho nos i486. Uma dessas opes, o i486DX2/50 que
opera internamente a 50 Mhz, mas comunica-se com os barramentos a 25 Mhz. Isto permite o
projeto de sistemas baseados, externamente, no i486 25 Mhz, facilitando mais uma vez o dia-a-dia
dos fabricantes de micro e minicomputadores. A segunda opo a pastilha "full" i486DX/50. Esta
pastilha 30% mais rpida que a anterior.
Em linhas gerais, pode-se dizer que para mquinas necessitando de uma atividade de Entrada/Sada
intensa, como servidores de arquivos p.e., o i486DX2/50 no seria a primeira escolha. J para
mquinas "stand-alone" em ambientes de CAD/CAM esta seria uma boa escolha.
O i486DX/50 contm basicamente a mesma lgica de processador que o i486DX/33, com
coprocessador, 8 Kbytes de cache e 1,2 milho de transistores, mas houve alguns refinamentos
tcnicos na parte de 50 Mhz, a qual usa um projeto de pastilha de trs camadas e no de duas
camadas como o i486DX/33.

Sobre os i486DX2/66 e i486DX4/100

Em novembro de 1992, foram disponibilizadas comercialmente mquinas sob controle da pastilha


i486DX2/66, ou seja, operando internamente a 66 Mhz e externamente a 33 Mhz. Testes preliminares
revelaram que esta pastilha 30% mais rpida que o i486DX/50.
O i486DX4/100, possui um clock interno de 99 MHz, operando externamente a 33 MHz. Esta
pastilha entrou e saiu rapidamente do mercado, dando lugar aos microprocessadores da classe
Pentium.

Algumas Observaes:
Os problemas relacionados a estes microprocessadores so a quantidade de calor desprendida, que
precisa ser dissipada, e a emisso de sinais de alta frequncia, podendo tambm sofrer
interferncias do meio ambiente, como o caso das televises que emitem sinais na faixa de 54 a
890 Mhz. A partir dos i486, os fabricantes iniciaram a utilizao de ventiladores acoplados aos
dissipadores, para reduzir os efeitos da alta temperatura. Tambm alguns gabinetes so
comercializados com algum tipo de blindagem interna de modo a minimizar a influncia das
frequncias externas.
Com a crescente demanda do mercado por redes de computadores e, consequentemente, por
equipamentos de gerenciamento e interconexo de tais redes, observou-se que as CPUs de pontes
Pgina 35

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

(Bridges), roteadores (Routers), ponte-roteadores (Brouters) e passarelas


(Gateways)
frequentemente, so CPUs INTEL do tipo 286 e 386. Neste mercado, modelos mais sofisticados
desses equipamentos frequentemente fazem uso de CPUs MOTOROLA e alguns at mesmo de
processadores RISC.

2.5 - OS PENTIUM, PENTIUM MMX E PRO

2.5.1 - Diferenas de Arquitetura e Caractersticas


Antes de iniciar as explicaes sobre os Pentium MMX e PRO, necessrio mencionar os primeiros
microprocessadores da classe Pentium, os simplesmente Pentium (ncleo P54C).

Os Pentium
Essencialmente, o Pentium consiste de dois processadores i486 em paralelo. Logo, mais instrues
so processadas ao mesmo tempo, tipicamente, o dobro. Pode-se destacar algumas caractersticas
importantes.

Pipelines
O microprocessador Pentium construdo em torno de 2 pipelines (ou Pipes) inteiros (U e V),
paralelos, de propsito geral e 1 unidade com pipeline, de ponto flutuante. O pipe U chamado
de Principal e o pipe V chamado de Secundrio. O Pipe U possue algumas limitaes sobre
instrues que executa. Os dois Pipes tem cinco estgios cada um, como mostrado na figura 12.
O Pentium pode buscar at 2 instrues por ciclo. Durante a execuo de uma instruo, as
prximas duas instrues so testadas. Se possvel, a primeira executada no Pipe U e a Segunda
no Pipe V. Se no possvel, uma instruo passada ao Pipe U e nenhuma instruo passada
ao Pipe V. O comportamento funcional das instrues nos dois Pipes exatamente o mesmo de
instrues executadas sequencialmente.
Caches
O Pentium possui um subsistema de cache interno com 2 conjuntos (um para instruo e outro para
dados) de caches associativos de 8 Kbytes. Como o cache de dados disposto em 8 bancos, este
pode ser acessado simultaneamente por ambos os Pipes, desde que as referncias sejam para
bancos diferentes.

Prebuscador de Instrues (Instruction Prefetcher)


O, aqui chamado, Prebuscador de Instrues possui 4 buffers de 32 Bytes. No estgio PF, dois
buffers de prebusca operam em conjunto com o buffer chamado BTB (Branch Target Buffer ).
Somente 1 dos buffers de prebusca requisita prebuscas em um dado tempo. Se uma instruo de
salto buscada, o BTB prev se o salto ocorrer ou no. Se o salto no vai ser executado tudo
continua linearmente. Se para ser executado, o outro buffer de prebusca habilitado e inicia a
prebusca como se o salto fosse executado. Se finalmente o salto no for realizado, os pipelines de
instruo so limpos e a atividade de prebusca recomea. Como o cache de instrues e dados so
separados, prebuscas de instrues no conflitam com referncias a dados para acesso ao cache.

Pgina 36

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

O Pentium emprega um esquema de previso dinmica de saltos (Dynamic Branch Prediction).


Se a previso correta, no h penalidade na execuo de uma instruo de salto. Se no correta,
as penalidades so as seguintes:
1.
2.
3.

3 ciclos, se o JUMP condicional foi no Pipe U;


4 ciclos, se o JUMP condicional foi no Pipe V e
3 ciclos em qualquer dos Pipes para CALLs e instrues de JUMP incondicional.

Prefetch
(PF)

Estgio de
Decodificao 1
(DS1)

Pipe U

Pipe V

Estgio de
Decodificao 2
(DS2)

Estgio de
Decodificao 2
(DS2)

Execuo

Execuo

Writeback

Writeback

Figura 12 Pipelines de Inteiros do Pentium

Write Buffers
O Pentium possui 2 buffers de escrita, um para cada Pipe (U ou V). A finalidade desses buffers
aumentar o desempenho de escritas consecutivas na memria. Esses buffers de 64 bits so
carregados simultaneamente em um perodo de relgio. Escritas nesses buffers so enviadas para o
barramento externo do processador. Tais operaes de escrita acontecem sempre na ordem em que
ocorrem. No so possveis leituras intermedirias.

Pgina 37

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Unidade de Ponto Flutuante


A Unidade de Ponto Flutuante do Pentium acrescenta um Pipeline de 3 estgios aos Pipes j
mencionados (U e V). As instrues de ponto flutuante seguem normalmente pelo pipeline at o
estgio E (Execuo). Aps este estgio, as instrues dispendem pelo menos um clock para cada
um dos 3 estgios: X1, X2 e WF. A maioria das instrues de ponto flutuante tem um perodo de
latncia superior a um perodo de relgio. Entretanto, tal latncia escondida pela existncia dos 3
estgios. Alm disso, instrues com inteiros (e no de ponto flutuante) so tratadas durante este
perodo de latncia. A figura 13 exibe a integrao dos Pipelines de Inteiros e Ponto Flutuante. Os 3
primeiros estgios do Pipe de Inteiros so desacoplados do Pipe de Ponto Flutuante. Os dois
ltimos so integrados.

X1

Prefetch
(PF)

Estgio de
Decodificao 1
(DS1)

Estgio de
Decodificao 2
(DS2)

X2

WF

Execuo Writeback

Estgios do Pipe de Ponto Flutuante desacoplados


Estgios Integrados dos Pipes
Pipeline de Inteiros somente

Figura 13 Integrao dos Pipelines de Inteiros e de Ponto Flutuante do Pentium

Os Pentium MMX
Os microprocessadores Pentium com tecnologia chamada pela INTEL de MMX (algo como
Multimedia Extensions) trouxeram quatro enriquecimentos bsicos de projeto arquitetnico:
1.
2.
3.
4.

Arquitetura SIMD;
4 novos tipos de dados.
8 registradores MMX de 64 bits e
57 novas instrues;

Como a prpria INTEL propagandeia, esta mudana na arquitetura do processador foi a mais
importante desde o 80386, o qual extendeu a arquitetura de 16 para 32 bits e introduziu trs modos
de funcionamento (real, protegido e virtual). Como de fato se verificou, tais mudanas foram
incorporadas a todas as geraes de processadores subsequentes da empresa.
Segundo a INTEL, a definio desta tecnologia foi resultado de trabalho conjunto entre arquitetos de
microprocessadores e desenvolvedores de software. Dentre os softwares analisados, incluiram-se
Grficos, Vdeo MPEG, Sntese de msica, compresso de voz, reconhecimento de voz,

Pgina 38

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

processamento de imagens, jogos e vdeo-conferncia. O ncleo deste processador foi chamado de


P55C.
Esta anlise mostrou muitas caractersticas comuns entre as diversas categorias de software. Os
atributos chave para estas aplicaes foram:

Tipos de dados pequenos e inteiros (por exemplo: pixel grfico de 8 bits, amostras de
udio de 16 bits);
Loops pequenos altamente repetitivos;
Multiplicaes e acumulaes frequentes;
Algoritmos de computao intensiva;
Operaes altamente paralelas.

Assim, foi projetado um grupo de instrues novo, com instrues inteiras de propsito geral, visando
a otimizao do processamento de tais aplicaes.
Arquitetura SIMD (Single Instruction Multiple Data)
Tcnicas SIMD foram utilizadas de forma a permitir que mltiplas peas de informao pudessem ser
processadas com uma nica instruo, provendo um certo paralelismo, reduzindo loops de
computao intensiva e, consequentemente, aumentando o desempenho de aplicaes multimdia e
de comunicaes.
Novos Tipos de Dados
O tipo de dado principal da arquitetura MMX um pacote inteiro de ponto fixo, onde mltiplas
palavras inteiras so agrupadas em uma nica quantidade de 64 bits. Estes pacotes so
manipulados por registradores MMX de 64 bits.
Como exemplo de benefcio pode-se citar o pixel, geralmente representado em inteiros de 8 bits, ou
bytes. 8 desses pixels podem ser empacotados em uma nica quantidade de 64 bits e movidos
para um registrador MMX. Uma instruo MMX ao ser executada, busca 8 pixels de uma s vez, faz
as operaes lgicas e aritmticas sobre os oito elementos e escreve o resultado em um outro
registrador MMX.
A figura 14 exibe os novos tipos de dados do Pentium MMX.

Pgina 39

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Packet Byte (8 elementos de 8 bits)


63

31

Packet Word (4 elementos de 16 bits)


63

31

Packet Doubleword (2 elementos de 32 bits)


63

31

Quadword (1 elemento de 64 bits)


63

Figura 14 Novos Tipos de Dados do Pentium MMX

Registradores MMX
A figura 15 exibe o layout dos oito novos registradores MMX

Campo
TAG

63

0
MM7

MM0

Pgina 40

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Figura 15 Registradores MMX

Novas Instrues
As instrues MMX cobrem vrios grupos funcionais, incluindo:
1.
2.
3.
4.
5.
6.

Operaes aritmticas bsicas;


Operaes de comparao;
Instrues de converso entre novos tipos de dados (packets) e de pequenos para
grandes tipos de dados;
Operaes lgicas tais como: AND, OR, NOT e XOR;
Operaes de Shift;
Instrues MOV para dados de 32 ou 64 bits;

As instrues lgicas e aritmticas so projetadas para suportar diferentes tipos de dados. Tais
instrues possuem um cdigo de operao para cada tipo de dado suportado. Como resultado, as
novas instrues so implementadas com 57 cdigos de operao. Um aspecto importante que
instrues
MMX
no
so
privilegiadas,
podendo
ser
usadas
em
aplicaes,
codificadores/decodificadores, algoritmos e drivers.

Categoria

Aritmtica

Comparao

Converso

Mnemnico

Nr. De Cdigos de
Operao Diferentes

Descrio

PADD [B,W,D]

PADDS [B,W]

PADDUS [B,W]

PSUB [B,W,D]

PSUBS [B,W]

PSUBUS [B,W]

PMULHW
PMULLW
PMADDWD

1
1
1

PCMPEQ
[B,W,D]
PCMPGT
[B,W,D]
PACKUSWB

PACKSS
[WB,DW]
PUNPCKH
[BW,WD,DQ]

Add with wrap-around on [byte, word,


doubleword]
Add signed with saturation on [byte,
word]
Add unsigned with saturation on [byte,
word]
Subtract with wrap-around on [byte,
word, doubleword]
Subtract signed with saturation on [byte,
word]
Subtract unsigned with saturation on
[byte, word]
Packed multiply high on words
Packed multiply low on words
Packed multiply on words and add
resulting pairs
Packed compare for equality [byte,
word, doubleword]
Packed compare greater than [byte,
word, doubleword]
Pack words into bytes (unsigned with
saturation)
Pack [words into bytes, doublewords
into words] (signed with saturation)
Unpack (interleave) high-order [bytes,
words, doublewords] from MMXTM
register

3
1

Pgina 41

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Lgicas

PUNPCKL
[BW,WD,DQ]
PAND
PANDN
POR
PXOR
PSLL [W,D,Q]

PSRL [W,D,Q]

PSRA [W,D]

1
1
1
1
6

Shift

Transferncia MOV [D,Q]


de Dados
Gerenciamen- EMMS
to de Estado
MMX e Ponto
Flutuante

4
1

Unpack (interleave) low-order [bytes,


words, doublewords] from MMX register
Bitwise AND
Bitwise AND NOT
Bitwise OR
Bitwise XOR
Packed
shift
left
logical
[word,
doubleword, quadword] by amount
specified in MMX register or by
immediate value
Packed shift right logical [word,
doubleword, quadword] by amount
specified in MMX register or by
immediate value
Packed shift right arithmetic [word,
doubleword] by amount specified in MMX
register or by immediate value
Move [doubleword, quadword] to MMX
register or from MMX register
Empty MMX state

Pipeline Superescalar
Os Pentium MMX adicionam mais estgios ao pipeline. A integrao do Pipe MMX com o Pipe de
inteiros muito similar a do Pipe de Ponto Flutuante. A Figura 16 mostra esta estrutura de pipeline.
Os Pentium MMX adicionam um estgio de pipeline inteiro. Os bytes de instruo so prebuscados
do cache de cdigo no estgio de prebusca PF e passados ao estgio de busca F. Quaisquer
prefixos so decodificados no estgio F.

Pgina 42

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

PF

DS1

DS2

MR/W

Mex

WB

E1

E2

E1

E2

WM/M2

M3

WMul

E3

Estgios do Pipe de MMX desacoplados


Estgios Integrados dos Pipes
Pipeline de Inteiros somente
Figura 16 Estrutura Pipeline MMX

O estgio F desacoplado da decodificao de instrues por meio de um buffer FIFO (First In,
First Out), o qual est situado entre os estgios F e D1 (Decode 1). Esta FIFO mantm at 4
instrues.
A cada perodo de relgio, 2 instrues so colocadas nesta FIFO. Pares de instruo so
colocados para fora de F e dentro de D1. Uma vez que a taxa mdia de execuo de instrues
menos que duas por clock, a FIFO est normalmente cheia. Quando a FIFO est cheia, esta deve
bufferizar qualquer freio que pode ocorrer durante a busca de instruo. Esta FIFO previne, o
estgio de Execuo do pipe, de um freio na execuo de instrues.

Exemplos de Instrues MMX

Para ilustrao, o tipo de dado ser uma palavra de 16 bits (word), contudo a maioria das operaes
pode ser realizada para 8 e 32 bits.
A figura 17 mostra uma operao de adio (PADD[W] - Add with wrap-around on [word]). So
realizadas 4 adies de 8 elementos de 16 bits. Cada uma independente da outra e em paralelo.
Neste caso, o resultado mais direta excede o valor mximo representvel em 16 bits e o 17 bit
perdido.

Pgina 43

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

a3

a2

a1

FFFF

b3

b2

b1

8000

a3+b3 a2+b2 a1+b1 7FFF

Figura 17 Instruo PADD[W]

A figura 18 mostra uma outra operao de adio (PADDUS[W] - Add unsigned with saturation on
[word]). Neste caso, uma saturao ocorre. Saturao significa que se a adio resulta em
overflow ou a subtrao em underflow, o resultado alterado para o maior ou para o menor valor
representvel, respectivamente. Para uma operao sem sinal, com uma palavra de 16 bits, o maior
e o menor valor so: FFFFh e 0000h. Isto importante para clculos de pixels, onde a perda do 17
bit poderia causar um pixel preto logo aps um pixel branco em um grfico 3D.

a3

a2

a1

FFFF

b3

b2

b1

8000

a3+b3 a2+b2 a1+b1 FFFF

Figura 18 Instruo PADDUS[W]

Os novos games 3D manipulam objetos 3D. Estas computaes, tipicamente, so baseadas em


matrizes 4 x 4, as quais so multiplicadas por 4 vetores vrias vezes. O vetor possui a informao de
X, Y, Z e a correo de perspectiva para cada pixel. A matriz 4 x 4 usada para girar, escalonar,
translacionar e atualizar a informao de correo das perspectiva para cada pixel. Esta matriz
aplicada a muitos vetores. A figura 19 mostra esses clculos e o que faz a instruo PMADD.

Pgina 44

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Giro e Escala

Translao

x'

a0

a1

a2

a3

y'

b0

b1

b2

b3

c0

c1

c2

c3

d0

d1

d2

d3

z'

w'

Perspectiva

x = a0.x + a1.y + a2.z + a3

Figura 19 Instruo PMADD

Os Pentium PRO
Diferentemente dos 5 estgios do Pentium. O Pentium PRO possui um pipeline de 12 estgios,
desacoplado. Isto lhe confere um desempenho 33% superior ao Pentium comum. Sua
microarquitetura superescalar torna possvel a execuo de 2 instrues por clock. A figura 20
detalha este pipeline.
O Pipeline do Processador Pentium PRO possui 3 unidades que se comunicam atravs de um Pool
de Instrues: A Unidade de Busca/Decodificao (ou Front-End), a Unidade de
Despacho/Execuo (ou Core) e a Unidade de Retiro (ou Retire). A figura 21 exibe a ligao entre
estas unidades.

Port
2
BTB
0

BTB
1

IFU0

IFU1

IFU2

ID0

ID1

RAT

ROB
Rd

Port Port
4
3

ROB
Wb

RS

RRF

Port
0 Port
1

Figura 20 Pipeline do Pentium PRO

Pgina 45

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Unidade de
Busca/
Decodificao

Unidade de
Despacho/
Execuo

Unidade de
Retiro

Pool de
Instrues

Figura 21 As 3 unidades do Pentium PRO

A Unidade de Busca/Decodificao possue como entrada o conjunto de instrues de programa


de usurio armazenado no cache de instrues L1 (interno). Tal unidade decodifica este conjunto em
uma srie de microperaes que representam o fluxo de dados daquele conjunto.
A Unidade de Despacho/Execuo aceita o fluxo de dados, esquematiza a execuo das
microperaes sujeitas a dependncia de dados e disponibilidade de recursos. Em seguida,
armazena o resultado dessas execues especulativas.
A Unidade de Retiro conhece como e quando confirmar do resultado especulativo temporrio para
um estado arquitetural permanente.
A Unidade de Interface de Barramento responsvel pela conexo das 3 unidades internas ao
mundo real. Esta unidade comunica-se diretamente com o cache L2 (externo), suportando at 4
acessos concorrentes ao cache.
A figura 22 ilustra mais detalhadamente estes aspectos.

Pgina 46

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Barramento
de Sistema

Cache L2

Unidade de Interface de Barramento

Cache de
Instrues L1

Unidade de
Busca/
Decodificao

Cache de Dados L1

Unidade de
Despacho/
Execuo

Unidade de
Retiro

Pool de
Instrues

Figura 22 A Interface das 3 unidades com a memria usando Caches


Unificados de 8K/8K do Pentium PRO

Execuo Dinmica de Instrues


Execuo Dinmica, segundo a INTEL, a combinao nica de 3 tcnicas de processamento:

Predio de Mltiplos Saltos. Inicialmente o processador olha mltiplos passos atrs no


software e prediz quais saltos ou grupos de instrues, provavelmente, sero processadas;

Anlise do Fluxo de Dados. Em seguida, analisa quais instrues so dependentes do resultado


ou dados de outras instrues, para criar uma sequncia otimizada de instrues;

Pgina 47

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Execuo Especulativa. As instrues so ento puxadas especulativamente, com base no


esquema otimizado.

Arquitetura Superscalar
Arquitetura Superscalar uma microarquitetura capaz de sinmultaneamente buscar, decodificar e
executar mltiplas operaes inteiras por perodo de relgio. Tipicamente o Pentium PRO percebe
entre 20 e 30 instrues na frente do IP (Instruction Pointer).

Suporte a Mltiplos Processadores


O barramento externo do Pentium PRO foi otimizado para suportar de 1 a 4 CPUs. A figura 23 ilustra
este fato.

Figura 23 Esquema de Multiprocessamento do Pentium PRO

Pgina 48

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

2.5.2 Benchmarks

Pgina 49

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Pgina 50

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

2.6 - OS PENTIUM II

2.6.1 - Arquitetura e Caractersticas


O Pentium II vem evoluindo continuamente, de acordo com os novos desenvolvimentos ou opes da
INTEL. Trataremos aqui da arquitetura inicial deste processador, cujo codinome ainda Klamath.
A caracterstica principal do Pentium II foi a incorporao da tecnologia MMX s Unidades de
Execuo do processador Pentium PRO. Sendo assim, tornou-se recomendvel tanto para
servidores, quanto para desktops. So discriminadas a seguir as principais caractersticas do
Pentium II.

Cache interno L1 32 Kbytes (16 K para instrues + 16 K para dados). Cache duas vezes maior
que o do Pentium PRO;
Cache externo L2 de 512 Kbytes em velocidade (half speed), fazendo parte do cartucho de
metal e plstico que inclui o ncleo da CPU;
Tecnologia de Processo de fabricao CMOS de 0,35 microns. A verso de 333 MHz usa o
processo de 0,25 microns;
Encapsulamento em cartucho SEC (Single-Edge Contact) de 242 pinos, diferentemente do
Pentium PRO, o qual usava soquete ZIF (Zero Force Insertion);
Suas primeiras verses, com arquitetura idntica, operam nas velocidades de 233, 266, 300 e
333 MHz. Verses a 350 e 400 MHz, trazem ligeiras diferenas;
Opera na velocidade interna de 66 MHz FSB (Front-Side Bus), exatamente como o Pentium
PRO;
Possui 5 unidades de execuo, como no Pentium PRO;
Alimentao de 2,8 Volts;
Endereamento fsico de at 64 Gigabytes;
7,5 milhes de transistores integrados;
Suporte para at 2 processadores em uma placa, permitindo o multiprocessamento simtrico
(SMP);
Segundo a INTEL, sua arquitetura foi otimizada para aplicaes de 32 bits;
Usa a interface de barramento chamada SLOT 1, diferentemente do Socket 7 do Pentium MMX.
A interface SLOT 1 dever ainda ser usada at o incio do ano 2000 em verses mais avanadas
deste processador, tais como o Katmai 450 e 500 MHZ e o Coppermine 533 a 6xx MHz;

2.6.2 - Benchmarks
A Figura 24 apresenta o iCOMP 2.0 (Benmchmark Multimdia da INTEL) para vrias verses do
Pentium II, excluindo-se a verso de 333 MHz. Em seguida exibida na Figura 25, uma CPU
Pentium II na presena de uma interface de acelerao grfica AGP (Advanced Graphics Port).

Pgina 51

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Pgina 52

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Figura 24 Desempenho do Pentium II Relativo ao Pentium MMX e PRO

Pgina 53

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Figura 25 Benchmarks de processadores INTEL, AMD e CYRIX


Fonte: www.tomshardware.com
Pgina 54

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

2.6.3 Implicaes no Desempenho de Desktops e Servidores de Rede

Obs.: Transparncias mostradas em sala de aula

2.7 ltimos Microprocessadores da INTEL

Pode-se identificar 3 linhas ligeiramente diferentes de processadores da INTEL:


1.
2.
3.
4.

Pentium II passando a Pentium III


Celeron e
Itanium (antigo codnome Merced)
Prximas CPUs: McKinley, Madison, Deerfield, ...

Linha Pentium II

1.

Pentium II - KLAMATH

Pgina 55

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

KLAMATH Antigo codinome da primeira verso do Pentium II;


512 KB de Cache L2 a velocidade nas verses de 266 a 300 MHz;
Arquitetura P6 (mais evoluda do que a do Pentium PRO P55C);
Processo de fabricao CMOS de 0,35 microns (igual ao do Pentium PRO);
66 MHz FSB (Front-Side Bus).

2.

Pentium II - DESCHUTES

Segunda verso do Pentium II;


512 KB de Cache L2 a velocidade na verso de 333 MHz;
Arquitetura P6;
Processo de fabricao CMOS de 0,25 microns;
100 MHz FSB (Front-Side Bus) nas verses de 350 e 400 MHz.

3.

Pentium III (codnome Katmai)

Terceira verso do Pentium II;


Conjunto de Instrues com 70 novas instrues MMX2 ou KNI (Katmai New Instructions);
Registradores de 128 bits;
512 K de cache nvel 2;
Arquitetura P6;
Suporte a DirectX 6.1;
Barramento do sistema de 100 e 133 MHz FSB;
Verses de 450, 500, 533, 550, 600, 650, 677, 700, 750, 733, 750, 800, 850, 866 e 1000 MHz.

4.

Pentium III - COPPERMINE

Verso menor do KATMAI;


Processo de fabricao CMOS de 0,18 microns;
Conjunto de Instrues MMX2 ou KNI (Katmai New Instructions);
256 KB de Cache L2 na velocidade do Clock e dentro da pastilha (on die);
Arquitetura P6;
Caminho de dados de 256 bits (mais do que os 64 bits dos Pentium II e III anteriores);
100 MHz FSB nas verses de 450 e 500 MHz.

5.

Pentium II - XEON

Ncleo do DESCHUTES;
Processo de fabricao CMOS de 0,25 microns;
512 KB ou 1 MB de Cache L2, full speed (operando na mesma velocidade do ncleo), fora da
pastilha, em 400 MHz;
100 MHz FSB em SDRAM;
Arquitetura Dual, P6;
4 GB de RAM Principal e 64 GB de RAM enderevel.

6.

Pentium III Xeon (Tanner) 500 e 550 MHz)

Pentium II Xeon com KNI;


Suporte a operao com at 8 processadores;
Encapsulamento SECC (Single Edge Contact Cartridge);
512 KB/1 MB/2 MB (500 MHz) e 512 KB (550 MHz) de cache em CSRAM L2, full speed, fora
da pastilha;
32 KB (16 K para dados + 16 K para instrues) de cache nvel 1;

Pgina 56

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

100 MHz FSB, indo para 133 MHz FSB;

7.

Pentium II - CASCADES

Verso Menor do Tanner;


Processo de fabricao CMOS de 0,18 microns;
256 KB de Cache L2, full speed, dentro da pastilha (on-die);
133 MHz FSB;
Clock maior do que 600 MHz.

Linha CELERON
1.

CELERON (verso sem cache)

Ncleo do DESCHUTES em 0,25 microns;


Sem Cache L2;
Arquitetura P6 (do Pentium PRO);
Interface em SLOT 1 (encapsulamento do Pentium II);
66 MHz FSB;
Descontinuado em 1999.

2.

CELERON (codnome Mendocino) (verso com 128 K da cache)

Nova verso do CELERON;


Encapsulamento PPGA de 370 pinos (Plastic Pin Grid Array);
Verses de 400 e 433 MHz em encapsulamento SEPP de 242 contactos (Single Edge
Processor Package)
128 KB de Cache L2 dentro da pastilha (on-die);
32 KB (16 K para dados + 16 K para instrues) de cache nvel 1;
Arquitetura P6 (do Pentium Pro)
Barramento de sistema de 66 MHz FSB;
Verses de 400, 433, 466, 500 e 533 MHz;
Interface Slot 1 dever ser abandonada, passando a slot 2;

ITANIUM (codnome Merced)

Lanamento previsto para o ano 2000;


Usar Interface SLOT M (nova);
EPIC (Explicit Parallel Instruction Computing);
128 registradores de Inteiros;
128 registradores de Ponto Flutuante;
Mltiplas Unidades de Inteiros e de Ponto Flutuante;
Arquitetura de 64 bits (precisar de sistema operacional de 64 bits);
Frequncia de Relgio provvel de 1 Ghertz;
Mais de 30 milhes de transistores integrados;
Processo de fabricao de 0,18 ou 0,13 microns.

Pgina 57

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 3: CARACTERSTICAS GERAIS DOS SISTEMAS DE


BARRAMENTOS
3.1 OS BARRAMENTOS PRINCIPAIS ISA, EISA E MCA

Os barramentos ISA 8 bits e ISA 16 bits foram os barramentos utilizados pelos primeiros
microcomputadores realmente populares do mercado. A sigla ISA significa Industry Standard
Architecture. Os famosos PCs XT utilizavam o ISA 8 bits, que suportava placas de expanso
contendo um nico pente. J o ISA 16 bits suporta placas de expanso contendo dois pentes
separados por uma ranhura. Este barramento tambm conhecido no jargo tcnico como AT. Os
famosos XTs baseava-se em CPUs 8088 ou 8086. J os PCs AT baseavam-se em CPUs 80286,
80386 e at i486.
Na arquitetura ISA, a comunicao com os perifricos gerenciada pelo microprocessador e
realizada atravs de canais de E/S. As transferncias se davam de 16 em 16 bits (tamanho do
barramento de dados) a uma frequncia de apenas 8 MHz, mesmo na presena de um processador
mais rpido, como por exemplo, o 486DX4/100. Isto se tornou um problema com o aumento da
velocidade dos microprocessadores. A taxa de transferncia fica restrita a 1 MBytes/segundo.
Surgiram ento novas propostas de barramento principal para os microcomputadores do mercado,
entre as quais as propostas EISA e MCA.
O Barramento EISA ("Extended Industry Standard Architecture") de 32 bits foi um produto
resultante da formao de um consrcio composto de fabricantes de "clones" ("Gang of Nine") ou a
Gang dos Nove, nominalmente: Wyse, AST Research, Tandy, Compaq, Hewlett-Packard, Zenith,
Olivetti, NEC e Epson, mnemonicamente chamado, "WATCHZONE".
O argumento desses fabricantes era o de que sempre procuraram oferecer aos seus usurios
produtos de mais baixo custo e com ampla disponibilidade de placas de expanso, qualidades que
na poca (e nem hoje) no eram (no so) encontradas na opo pelo barramento MCA.
Para que o barramento EISA fosse compatvel com a maioria das placas (ISA 8 e ISA 16) j
disponveis no mercado, os conectores da placa me (onde se encaixam as placas de expanso)
dos microcomputadores foram mudados para conectores EISA/ISA. Ou seja, tanto placas ISA de 8
ou 16 bits, quanto placas EISA podiam e podem ser inseridas nos slots do sistema.
O artifcio consistiu de dotar o conector de duas linhas de contactos, uma ISA e outra EISA. Placas
ISA penetram at a metade do conector fazendo uso da primeira linha de contatos (compatvel ISA 8
e 16 bits). Placas EISA penetram completamente no conector fazendo uso da segunda linha de
contatos (compatvel EISA). A profundidade de penetrao das placas determinada pelo nmero de
ranhuras das placas. No caso das placas ISA existe somente uma nica ranhura e no das placas
EISA existem 6 ranhuras (uma ranhura maior e cinco menores). Assim, a profundidade dos contatos
do pente das placas de expanso EISA passa dos atuais 0,79 cm para 1,32 cm.
O Barramento MCA ("Micro Channel Architecture"), tambm de 32 bits, embora tenha havido
uma verso de 16 bits, foi o padro de barramento adotado pela IBM para os slots de um micro ou
supermicrocomputador, o qual era incompatvel com os barramentos ISA (8 bits e 16 bits). Mesmo
com a deciso da IBM de abrir o projeto de seu barramento para outros fabricantes de placas de
expanso, o padro ISA/EISA fez parte da maioria dos sistemas 486 disponveis no mercado
americano e brasileiro da poca.
Segundo artigo da revista BYTE americana de novembro de 1989, o barramento EISA permite a taxa
de transferncia mxima de 33 Megabytes/segundo, enquanto no barramento MCA 16 bits esta taxa

Pgina 58

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

cai para 20 MBytes/segundo. Ainda segundo a mesma revista, as placas EISA so mais baratas e
de fabricao mais fcil. Matrias na revista PC Magazine Brasil de agosto de 1992 apontavam o
desempenho de 40 Mbytes/segundo para o barramento MCA de 32 bits numa frequncia de relgio
da ordem de 10 MHz, diferentemente dos 8,0 Mhz utilizados nos ISA e EISA).

3.2 OS BARRAMENTOS LOCAIS SECUNDRIOS VESA, PCI E AGP


Independentemente dos barramentos principais, surgiram no mercado, no incio da dcada de 90,
mquinas fazem uso de um barramento local ("Local Bus"), ou seja, mquinas que implementam
uma conexo direta entre a CPU e a parte de I/O. Assim, o trfego de dados da CPU para os
perifricos fica na velocidade da CPU, atingindo um desempenho de at 200 MegaBytes/segundo.
O Barramento VESA
A Video Electronics Standards Association VESA - baseada na idia de que as interfaces de vdeo
integradas placa-me eram uma limitao s rpidas atualizaes que surgiam a todo momento no
mercado de vdeo, lanou um padro de conexo para placas de vdeo. A associao j existia antes
do advento do barramento local e cuidava de padres de arquitetura e compatibilidade de projetos
relacionados a vdeo de alta performance.
Assim, em 1992, foi elaborado um projeto de barramento de 32 bits, direcionado originalmente s
interfaces de vdeo. O padro VL-Bus, como ficou conhecido, teve aceitao imediata, no s pelas
definies de vdeo como tambm por sua arquitetura aberta, que permitia a implementao de
outros tipos de interfaces de barramento local, como de discos e redes.
O VESA Local Bus veio introduzir o conceito de barramento prprio, interligado diretamente CPU.
Operando em 32 bits e na mesma frequncia do processador principal o barramento VESA consegue
taxas de transferncias de at 132 MB/s, mas somente no modo rajada (Burst).
Basicamente, o barramento VESA duplica os sinais do 486, o que reduz o custo do projeto das
placas-mes e melhora sensivelmente o desempenho em relao ao barramento ISA.
Uma das limitaes deste barramento quanto frequncia e nmero de conectores, ou placas a ele
conectadas. Isto ocorre por estar ligado diretamente ao barramento do processador e operar em
frequncias muito altas. Assim, o nmero de perifricos conectados de no mximo trs. Os
projetistas podem acrescentar mais conectores, alm do nmero mximo recomendado pela
associao, mas fazendo isto sacrificariam a velocidade do barramento.
O VL-Bus, da VESA, desenvolveu uma maneira de acelerar grficos, descarregando-os do
barramento ISA, mais lento. Antes da adoo do padro VESA, foram desenvolvidos alguns
barramentos locais proprietrios, que davam poucas opes aos usurios, pois seus conectores no
eram padronizados. Com a nova verso 2.0, o VESA VL-BUS soluciona muitas das limitaes do
seu antecessor. O barramento pode operar a 50 MHz, possuindo um caminho de dados de 64 bits,
ao invs de 16 ou 32. A VESA produziu um procedimento para testes de compatibilidade e
conformidade para adaptadores. Com isto, os fabricantes de placa podiam colocar um logotipo
"compatvel com VESA" na caixa.
A maioria das empresas nacionais suportavam o padro VL-Bus. Este no somente foi, em sua
poca, o mais difundido, como era o padro para o qual havia o maior nmero de placas de expanso
do mercado.
O Barramento PCI
O Barramento PCI (Peripheral Component Interconnect), outra arquitetura com barramento local, foi
criado pela Intel logo aps o VESA. O Local Bus PCI veio aperfeioar o conceito VESA, introduzindo
um controlador de perifricos padronizado e definindo uma frequncia fixa de operao em 33 MHz.

Pgina 59

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

O resultado foi um barramento mais barato que o EISA e MCA, embora um pouco mais caro que o
VESA.
A diferena bsica entre o PCI e o VL-Bus est no projeto. Mais moderno e com capacidade para
suportar futuras alteraes no hardware dos PCs, o PCI rene caractersticas que o tornaram mais
atraente e mais enxuto que o VESA.
Alm de ter sido projetado prevendo ambientes com mltiplos processadores, o PCI define o uso de
componentes multimdia no barramento local. O bus mastering tambm suportado, junto com uma
linguagem prpria de controle de barramento.
Segundo a Intel, placas desenhadas para serem usadas em barramento PCI funcionam em qualquer
mquina, seja ISA, EISA ou MCA.
Outra caracterstica existente nas especificaes do PCI e ausente do VESA a facilidade de
configurao. As placas PCI so autoconfigurveis, dispensando ajustes por jumpers ou chaves DIP.
Para isso, porm, todas as placas precisam ter 256 registradores, para armazenamento de
informaes, dispostos de uma certa maneira para assegurar a compatibilidade entre diversos
computadores.
O PCI tem como caractersticas o barramento assncrono e a arquitetura multiplexada, possui uma
largura de barramento de 32 ou 64 bits, o que o torna mais apropriado para processadores baseados
no chip Pentium. um barramento do tipo mezzanino, significando que ele independente do
barramento do processador. Alm disso, a especificao do PCI mais precisa do que a do VESA e
isto j resultou em incompatibilidades em adaptadores VESA. Finalmente, o PCI no dedicado a
um processador INTEL x86, mas tambm pode ser usado por processadores Motorola.
O PCI supera, atualmente, tudo o que existe em mteria de barramento de comunicao,
apresentando taxas de transferncia de dados na ordem de 132 MB/s em 32 bits e de at 264 MB/s
em 64 bits. Em relao ao nmero de slots de expanso, o PCI permite o controle de at 10
dispositivos auto-configurveis de alto desempenho.
Na comunicao de vdeo, o PCI supera todas as expectativas, apresentando uma performance 3
vezes superior a uma VGA ISA e 3 vezes a de uma VGA-VESA.
Os dois barramentos locais descritos tm praticamente a mesma velocidade em 32 bits, atingindo
picos de desempenho de 132 MB/s, mas este nmero pode variar muito, se forem considerados os
estados de espera e as operaes do modo burst.
A tabela 1 procura relacionar as vrias velocidades envolvidas nos barramentos mencionados. A
Tabela 2 exibe no s a limitao de 33 MHz do barramento PCI, como a relao entre a velocidade
da mquina e o CHIPSET da mesma.

Barramento

ISA 8
ISA 16
ISA 16
MCA 16
MCA 32
EISA
PCI 32
PCI 32
PCI 32

Relgio PlacaVelocidade no
Me (MHz)
Barramento de Dados
(MHz)
8
8
8
10

8
8
33

25
30
33

Tamanho do
Barramento de
Dados (bits)

Velocidade no
Barramento
(Mbytes/s)

8
16
32
16
32
32

8
16

32

132

20
40
33

Pgina 60

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

PCI 64

64

264

Tabela 1 - Desempenho de Barramentos da Placa-Me

CPU

P60
P66
P75
P90
P100
P120
P133
P150
P166
P200
6X86-120
6X86-133
6X86-150
6X86-166
6X86-200
K6-166
K6-200
K6-233
PPRO 180
PPRO 200
PMMX 166
PMMX 200
PMMX 233
PII 233
PII 266
PII 300

CLK da
Placa-Me
(MHz)
60
66
50
60
66
60
66
60
66
66
50
55
60
66
66
66
66
66
60
66
66
66
66
66
66
66

CLK x

CLKIN da
CPU (MHz)

Chip Set
(CK/2)

1
1
1,5
1,5
1,5
2
2
2,5
2,5
3
2
2
2
2
3
2,5
3
3,5
3
3
2,5
3
3,5
3,5
4
4,5

60
66
75
90
99
120
132
150
165
198
100
110
120
132
198
165
198
231
180
198
165
198
231
231
264
297

30
33
25
30
33
30
33
30
33
33
25
?
30
33
33
33
33
33
30
33
33
33
33
33
33
33

Velocidade no
Barramento de
Dados (Mbps)
30
33
25
30
33
30
33
30
33
33
25
?
30
33
33
33
33
33
30
33
33
33
33
33
33
33

Velocidade
Placa de
Vdeo (Mbps)
15
16,5
12,5
15
16,5
15
16,5
15
16,5
16,5
12,5
?
15
16,5
16,5
16,5
16,5
16,5
15
16,5
16,5
16,5
16,5
16,5
16,5
16,5

A arquitetura P54C (Pentium Clssicos - de 60 a 200 MHz) suporta os multiplicadores de 1,5 a 3


A arquitetura P55C (Pentium PRO - de 180 a 200 MHz) possui os multiplicadores de 2,5 a 4
A arquitetura P6 (Pentium II - de 233 a 333 MHz) possui os multiplicadores de 3,5 a 5

Tabela 2 - Desempenho do Barramentos de Dados

O Barramento AGP
O Barramento AGP (Accelerated Graphics Port) uma nova plataforma de especificao de
barramento direcionada para capacidades grficas de alto desempenho, em particular, grficos 3D.
Tais aplicaes requerem grande rea armazenamento de informaes a fim de que a imagem 3D do
monitor possa ser refrescada ou atualizada o mais rpido possvel.

Pgina 61

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

A interface AGP promovida pelo A.G.P. Implementors Forum, o qual prov suporte e facilidades na
adoo da especificao. Fazem parte deste Forum vrios fabricantes de PCs, assim como
fabricantes de componentes grficos.
Esta interface, como conhecida, adiciona novas caractersticas s placas aceleradoras grficas,
tais como: acesso em pipeline dedicado memria principal e taxas de transferncia mais rpidas.
Esta interface no concorrente do barramento PCI, pois foi projetada pela INTEL especialmente
para uso dedicado por controladores grficos e no para substituir o PCI. Este permanece um padro
para um sistema de barramento de I/O, de uma maneira mais geral.
A interface AGP foi projetada para componentes grficos ponto-a-ponto e fisicamente separada do
barramento PCI, usando um conector separado. A AGP permite alocao dinmica da memria
principal, tornando-a mais flexvel.
Esta interface est incorporada maioria das placas-mes de hoje baseadas no processador
Pentium II. A figura 26 mostra um diagrama de blocos da interface AGP, na presena dos
componentes da placa-me.

Figura 26 A Interface AGP

A Figura 27 (fonte: www.tomshardware.com/agp.html#AGP - Some Critical Thoughts) procura exibir as


taxas de transferncia envolvidas no barramento AGP.

Pgina 62

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

No artigo mencionado, o autor procura demonstrar que o pico terico para o AGP de 528 MBytes/s
(8 x 66 Mbits/segundo), pois a atual limitao do transporte de dados da CPU para a memria
principal est em 66 MHz do Clock do barramento: Therefore AGP will never be able to get a
throughput of 528 MB/s, since this is the whole bandwidth of main memory and thus it has to
be shared with CPU and others . E mais, esta taxa somente vlida com o uso de memrias
SDRAM, pois em memrias do tipo EDO consideravelmente mais lenta. O autor explica que o que
o AGP realmente necessita que o barramento principal das mquinas suba para 100 MHz
(chegando atualmente ao mercado), quando ento o pico terico seria de 800 Mbytes/s.
Existem propostas concorrentes do AGP da INTEL, as quais colocam nas placas grficas a memria
necessria ao refrescamento do vdeo e no usam a memria principal do sistema que
compartilhada por todos os outros perifricos. A INTEL raciocina que isto pode resultar em um custo
mais elevado do que proposta AGP, em funo do alto custo das memrias.

Figura 27 Desempenho da Interface AGP

A figura 28 exibe um benchmark entre uma placa grfica com barramento PCI e uma com
barramento AGP. Enfatiza-se que os barramentos, como mencionado anteriormente, no so
comparveis, uma vez que se destinam a diferentes objetivos. Notar que em resolues normais,
640x480 pixels, no h praticamente diferena de desempenho entre as duas placas testadas.

Pgina 63

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Figura 28 Benchmark entre duas placas grficas AGP e PCI

O propsito de um barramento de expanso prover um caminho para usurios adicionarem


dispositivos de hardware (placas em slots) em um PC, usando conectores padronizados. O que
difere uma proposta de outra so vrios aspectos. A Tabela 3 compara os atributos do sistema para
os barramentos ISA 8 bits e ISA 16 bits.

Atributo do Sistema
Processador
Modos da CPU
Slot de Expanso
Tipo de slot
Interrupes
Canais de DMA
RAM mxima
Controlador Disco Flexvel

PC ou XT
8088/8086
Real
8 bits
ISA 8 bits
8 + NMI
4
1 MB
360 KB / 720 KB

PC AT Clssico
286 e maior
Real/Protegido
16 bits
ISA 16 bits
16 + NMI
8
16 MB
1.2 MB / 1.44 MB

Tabela 3 Barramentos ISA 8 bits e 16 bits

Com o avano tecnolgico e o surgimento do INTEL 80386, com um barramento de dados de 32 bits,
a paz nas indstrias terminou e, como j mencionado, surgiu uma briga entre o MCA da IBM e o
EISA da Gang dos Nove, vencida pelo EISA em termos mercadolgicos. A Tabela 4 exibe uma
comparao entre o EISA e o ISA 16 bits.

Atributo do Sistema
Capacidade de Memria
Largura do Bus de Dados
Faixa de DMA
Caminho de dados do DMA
Mxima Taxa de DMA
Arbitrao de Barramento
Caminho de dados do Bus
Master
Clock Sncrono

ISA 16 bits

EISA

16 MB
16 bits
16 MB
8/16 bits
2 Mbytes/s
nica
16

4 GB
32 bits
4 GB
8/16/32 bits
33 Mbytes/s
6 Bus Masters
16/32

8.33 MHz

8.33 MHz

Tabela 4 ISA 16 bits e EISA

Para finalizar este captulo, vale ressaltar alguns aspectos do barramento PCI.
O PCI considerado um barramento mezzanino, ou seja, nem ligado diretamente CPU, nem
ligado diretamente aos dispositivos de I/O. divorciado da CPU, dando a esta alguma independncia
e a abilidade de competir com mais dispositivos. multiplexado no tempo, significando que linhas de
endereos e linhas de dados compartilham conexes. Possui um modo de rajada prprio, o qual

Pgina 64

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

permite que um ciclo de endereo pode ser seguido por tantos ciclos de dados quanto o overhead
do sistema permitir.
A 33 MHz pode transferir 32 bits por perodo de relgio, implicando numa taxa de 132 MBytes/s (4
bytes x 33 Mbits/s). A especificao 2.1 do PCI inclui um barramento de 64 bits a 66 MHz,
implicando em uma taxa terica mxima de 528 MBytes/s (8 bytes x 66 Mbits/s), conforme exibido
na Figura 27.

3.3 OS BARRAMENTOS SECUNDRIOS IDE E ENHANCED IDE


Atualmente h dois tipos de barramentos, ditos aqui, secundrios: O EIDE (Enhanced Integrated
Drive Eletronics) e o SCSI (Small Computer System Interface). Nesta seo trataremos
destes dois tipos. Na literatura tcnica, normalmente este barramento chamado de interface.
Portanto, a partir deste momento usaremos os dois termos indistintamente.
A interface IDE
Esta interface se tornou padro de mercado durante muitos anos por dois bons motivos: a facilidade
de uso e o baixo custo. Desenvolvida pela Western Digital e pela Compaq, foi uma evoluo natural
da interface de disco original do IBM AT - a ST 506 - apresentada em 1984. As controladoras IDE (e
no EIDE) no possuiam ROM na placa, pois os sistemas IBM PC AT e compatveis dispunham de
rotinas internas da BIOS para suportar este padro de disco rgido. As controladoras IDE usam
endereos de portas I/O de 1F0 a 1F7 para os registradores de controle e IRQ14 para o atendimento
s interrupes.
A antiga controladora IDE continha um pequeno cache de disco, que variava de 32 a 512 KB, o qual
proporcionava um ganho de desempenho. Os discos IDE possuem a controladora integrada no
prprio disco. A controladora conectada ao barramento do sistema usando um nico cabo de fita
achatada. Ele acoplado a um conector de 40 pinos na placa-me ou numa placa adaptadora
separada. A placa simplesmente uma interface para o barramento do sistema PC.
Uma de suas caractersticas populares a transparncia. No necessrio um driver especial para
um disco IDE, pois este definido e suportado na BIOS do sistema e na prpria interface IDE.
As desvantagens principais da interface IDE so: a limitao no tamanho dos discos que podem ser
acoplados e nas taxas de transferncia de dados que podem ser alcanadas.
A capacidade dos drives IDE restringida no pela BIOS ou pela interface individualmente, mas pela
combinao das duas. Tanto a BIOS do PC padro, quanto a interface IDE suportam drives de
grande capacidade. Entretanto, quando combinadas, no conseguem suportar drives acima de 528
MB, devido aos diferentes nmeros de bits que cada uma reserva para definir as diferentes
caractersticas: cilindros, cabeas e setores por trilha - de um drive.
A taxa de transferncia de uma unidade IDE est limitada ao mximo de 5 MBytes/s, num
barramento ISA. Uma placa IDE controlava no mximo dois discos rgidos e dois acionadores de
discos flexveis.
A Interface EIDE
O barramento IDE possui atualmente uma verso mais avanada, chamada de EIDE (Enhanced
IDE), com melhor desempenho, mais recursos, suportando at 4 drives de (dois canais) dispositvos
conectados ao barramento, incluindo CD-ROMs e melhor aproveitamento do barramento local, seja
VESA ou PCI. Os discos do antigo padro IDE tinham no mximo 528 MB e velocidade mxima de 5
MBytes/s, enquanto os EIDE chegam at 8,4 GB, tamanho mximo de disco e arquivo reconhecido
pelo Windows NT, por exemplo. A velocidade mxima atingida por esses discos 13,3 MBytes/s.
Em condies normais a taxa alcanada pelo EIDE de 10 MBytes/s.

Pgina 65

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

3.4 OS BARRAMENTOS SECUNDRIOS SCSI


O Barramento SCSI
A interface SCSI uma interface de propsito geral usada para acoplar vrios dispositivos de I/O ao
computador. Esta consiste num barramento paralelo de 8 bits que pode suportar at oito
dispositivos, entre discos rgidos, acionadores de discos flexveis, CD-ROMs, fitas DAT, Scanners e
a prpria placa controladora. Cada um possui um controlador prprio, que recebe instrues atravs
do barramento. A placa de interface SCSI, que ocupa um conector de expanso do PC, chamada
de placa hospedeira. Ela controla o barramento SCSI, envi ando comandos e dados para os
dispositivos, recebendo confirmaes e dados dos mesmos.
O barramento SCSI usa um protocolo de comandos e no uma interface de unidade. Para ler um
bloco de dados, a placa hospedeira envia um comando atravs do barramento, como uma sequncia
de bytes. O dispositivo alvo decodifica e executa, enviando depois os dados. Teoricamente, isto
oferece independncia de dispositivo. Na prtica, entretanto, nem sempre isto se verifica, devido s
variaes nas implementaes de diferentes fabricantes.
O padro SCSI define um tipo de dispositivo que possui algoritmo interno de manipulao das
requisies de leitura e escrita de dados. Ao contrrio das interfaces IDE, que operam numa relao
Mestre-Escravo, as controladoras SCSI podem reordenar as requisies aleatrias de dados,
provenientes de diversos dispositivos, para minimizar o tempo de busca das informaes.
Os discos rgidos SCSI tm capacidade que varia desde 200 MB (mnimo recomendvel) at
dezenas de gigabytes, no precisando de nenhum recurso especial de configurao. Vale lembrar
que o DOS 6.22 e o Windows 3.11 viam arquivos e discos de at 2 GB, apenas. Essas diferenas
refletem-se nas aplicaes destinadas aos dois tipos de interface (SCSI e IDE). Os sistemas SCSI
so recomendados para ambientes que exijam segurana, rapidez e suporte a vrios dispositivos.
Os discos SCSI so atualmente divididos em SCSI-1, SCSI-2 e SCSI-3. O SCSI-1 o primeiro
padro, define um barramento paralelo de 8 bits, que suporta tranferncias de at 5 MBytes/s.
O SCSI-2 surgiu logo depois da consolidao do primeiro padro. O SCSI-2 suporta um barramento
mais rpido, de 16 ou 32 bits e mantm a compatibilidade com o anterior, de 8 bits. O SCSI-2 foi
divulgado publicamente em 1990 e pode atingir, teoricamente, a taxa de transferncia de at 40
MBytes/s.
Os dispositivos SCSI-2 que suportam o barramento mais rpido, de 10 MBytes/s, so chamados
Fast SCSI, enquanto os que aceitam barramento de 16 ou 32 bits de 20 MBytes/s, so conhecidos
como Wide SCSI. Existem ainda interfaces e dispositivos que combinam esses dois pades, o Fast
SCSI e o Wide SCSI, que podem atingir velocidades de at 40 MBytes/s. O padro SCSI-3 um
barramento de 16 bits, com velocidade de at 40 MBytes/s, cabeamento de fibra ptica, podendo
suportar de 8 a 32 dispositivos.
Uma controladora SCSI Disk Array possui alta performance e confiabilidade. Dentro do Disk Array,
todos os discos so vistos como um s. Isto possibilita a distribuio dos dados pelos vrios discos,
permitindo um acesso de alto desempenho atravs de operaes de I/O simultneas. Alm disso, o
Disk Array dispe de vrias implementaes de RAID (Redundant Array of Inexpensive Disk) que
garantem a integridade das informaes, como o mirroring (espelhamento) e a tcnica de paridade.
A Tabela 5 exibe um resumo das velocidades alcanadas pelos diversos padres de barramento
secundrio.
Barramento
IDE

Dados

Conector
(pinos)

Perifricos
(nmero)

Taxa de Transferncia
(Mbytes/s)

16

40

Pgina 66

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

EIDE
SCSI
Fast SCSI-2
Fast & Wide SCSI-2
Ultra Fast Wide SCSI-2

16
8
8
16
16

40
50
50
68
68

4
8
8
8
32

10
5
10
20
40

Pgina 67

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 4: SUPORTE AO DESENVOLVIMENTO DE


SOFTWARE BSICO

4.1 ESTRUTURA DE UM PROGRAMA NA MEMRIA


A Figura 29 exibe a evoluo da estrutura de um programa na memria, desde o 8085 at o i486.
80386/i486
8086/8088
8080/8085
FFFFFFFF
FFFFF
FFFF

Pilha

64 KB =>

Cdigo

Dados 1

Pilha

Dados

4.0 GB => Dados 2

Dados
1.0 MB =>

0000

Pilha

Extra

Cdigo

Cdigo

00000

00000000

Figura 29 Estrutura de um Programa na Memria (do 8085 ao i486)

4.2 MONTADORES, CARREGADORES E DEPURADORES DE LINGUAGEM


ASSEMBLY

O desenvolvimento de software em linguagem Assembly assemelha-se em muito com o


desenvolvimento de software em linguagens de alto nvel, como C, PASCAL, FORTRAN, etc. No
caso das linguagens de alto nvel temos programas editores, compiladores, ligadores e depuradores
para auxiliar no desenvolvimento de software.
O processo de desenvolvimento de software mostrado na figura 30.

COMPILADORES

Mdulo Fonte ou
Programa Fonte
MONTADORES

LIGADORES

Mdulo Objeto ou
Programa Objeto

Mdulo de Carga ou
Programa Executvel

CARREGADORES

Pgina 68

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Figura 30 Processo de Desenvolvimento de Software em Assembly


A linguagem Assembly depende do microprocessador utilizado. Mesmo microprocessadores da
mesma famlia possuem conjuntos de instrues diferentes. As linguagens so dependentes da
arquitetura do microprocessador e exigem o conhecimento desta.
No caso das linguagens de baixo nvel tm-se MONTADORES, CARREGADORES e
DEPURADORES. Em seguida, so dadas as respectivas definies.

MONTADORES: So programas que traduzem o programa fonte escrito em linguagem Assembly


para programas objetos. Montadores testam a correo da sintaxe utilizada pela linguagem para
representar o programa fonte;

CARREGADORES: So programas que transferem o contedo do programa objeto, j montado,


da memria secundria para a memria principal do microcomputador;

DEPURADORES: So programas que auxiliam no processo de testar a correo do programa


objeto. Depuradores testam a semntica do programa objeto j montado.

4.3 - USO DE UM DEPURADOR DE LINGUAGEM ASSEMBLY

O formato tpico de uma linha fonte inclui os campos RTULO, MNEMNICO, OPERANDO(S) e
COMENTRIOS, separados por caracteres separadores de campos, tais como ":" e ";".
Tm-se trs tipos de linhas fonte: INSTRUES, DIRETIVAS e CONTROLES (prprios de cada
montador Assembly ou "Assembler").
O montador Assembly do 8080/Z80, a partir de um arquivo ".ASM" gera dois tipos de arquivo, um em
formato hexadecimal, ".HEX" (programa objeto) e outro em formato hexadecimal mais o programa
fonte original, ".PRN" (este ltimo pode ser impresso). O carregador usa como entrada o arquivo em
hexadecimal para gerar um programa executvel, ".COM", como sada.
Existem vrios montadores Assembly para o 8086/8088, entre eles o chamado MASM ("Macro
ASseMbler Programming"). A figura abaixo mostra o processo de gerao de arquivos com o MASM
e demonstra o uso de um depurador Assembly.

C:\>edlin arq.asm
...
C:\>masm arq;
...
C:\>link arq;
...
C:\>debug arq.exe

==> Gera arq.asm


==> Gera arq.obj
==> Gera arq.exe
==> Depura arq.exe

-A 100
0939:0100 MOV AH,2
0939:0102 MOV DL,21
0939:0104 INT 21
0939:0106 INT 20
0939:0108 <Enter>

==> Assemblar

-U 100 106

==> Desassemblar (Unassenbly)

Pgina 69

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

0939:0100 B402
0939:0102 B221
0939:0104 CD21
0939:0106 CD20

MOV
MOV
INT
INT

-R

AH,02
DL,21
21
20
==> Mostrar contedo dos Registradores

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000


DS=0939 ES=0939 SS=0939 CS=0939 IP=0100 NV UP DI PL NZ NA PO NC
0939:0100 B402
MOV AH,02

-T

==> Executa passo-a-passo (Trace)

AX=0200 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000


DS=0939 ES=0939 SS=0939 CS=0939 IP=0102 NV UP DI PL NZ NA PO NC
0939:0102 B221
MOV DL,21
-T

==> Executa passo-a-passo

AX=0200 BX=0000 CX=0000 DX=0021 SP=FFEE BP=0000 SI=0000 DI=0000


DS=0939 ES=0939 SS=0939 CS=0939 IP=0104 NV UP DI PL NZ NA PO NC
0939:0104 CD21
INT
21
-G

==> Executa programa (Go)

!
Program terminated normally
-Q

==> Sai do DEBUG (Quit)

C:\>
Para concluir este item pode-se dizer que qualquer software em linguagem Assembly pode ser
desenvolvido e testado em um microcomputador comum para posterior gravao em memria PROM,
EPROM ou EEPROM, a qual ficaria residente no sistema controlado por microprocessador.
Programadores e apagadores de EPROM esto disponveis no mercado para facilitar o processo de
programao fsica da EPROM e eventual apagamento devido a alteraes no programa residente.
No caso da EEPROM, isto no necessrio, pois este tipo de memria pode ser apagado e
reprogramado (Electricaly Erasable) diretamente no sistema a microprocessador sem desligamento
da mquina.

Pgina 70

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 5: CARACTERSTICAS GERAIS DOS


MICROPROCES-SADORES DA MOTOROLA
5.1 O 68.000
No interior deste captulo sero citadas, oportunamente, as diferenas entre o 68.000 e o seu
concorrente mais prximo na poca, o 8086. Ser dado um enfoque comparativo para que se possa
ter uma idia das diferenas de arquitetura entre os micros da linha PC/PS e os da linha
Apple/Macintosh e suas implicaes no desempenho dessas mquinas.
O nome Macintosh surgiu quando em 1796, em Ontrio - Canad, um fazendeiro de nome McIntosh
tornou popular uma ma, lhe dando o seu nome. Jef Raskin, consumidor habitual deste tipo de
ma e responsvel, no seu incio, pelo projeto de um micro revolucionrio na APPLE, batizou este
micro de Macintosh (com erro voluntrio de ortografia).
O 68.000 foi o primeiro microprocessador de 16 bits da MOTOROLA e o terceiro a surgir no mercado,
tendo sido precedido pelo 8086 da INTEL e pelo Z8000 da ZILOG. O 68.000 no compatvel em
software com a famlia de 8 bits da MOTOROLA (vide 6800). Esta optou pelo projeto de um conjunto
de instrues de mximo desempenho e simplicidade, ao invs de compatibilidade com os seus
predecessores.
O 68.000, possui caractersticas internas apropriadas para suportar o sistema operacional UNIX. Em
outras palavras, foi concebido para receber um sistema operacional multitarefa e multiusurio,
diferentemente do 8086. Nestes termos, pode-se dizer que este muito mais potente que um 8086.

5.1.1 - Arquitetura
A arquitetura do 68.000 usava a tcnica de "pipeline" para aumentar a taxa de execuo de
instrues. O 8086 tambm fazia uso de "pipeline", utilizando para isso uma fila de 6 bytes para
cdigo objeto.
O 68.000 endereava 16.0 MBytes diretamente, atravs de suas 24 linhas de endereo, e
indiretamente 64 MBytes. O 8086 podia enderear diretamente apenas 64 Kbytes e 1.0 Mbytes,
respectivamente, atravs de seus registradores de segmento.
O 68.000 operava em dois modos: modo Supervisor e modo Usurio. No Modo Supervisor o 68.000
podia executar instrues privilegiadas, no executveis no Modo Usurio. Assim, o 68.000
suportava um sistema operacional multitarefa e multiusurio. O 8086 no possua modos similares,
apenas a partir do 80286 pode-se contar com o suporte a ambientes multitarefa e multiusurio.
Internamente, o 68.000 possua 17 registradores de 32 bits, sendo oito para dados e nove para
endereos (dois desses ltimos reservados para apontadores de pilha). O 8086 tinha somente 4
registradores de 16 bits mais trs registradores de ndice separados. Esta caracterstica trazia
vantagens em desempenho para o 68.000, uma vez que mais operaes podiam ser realizadas no
interior da pastilha, evitando acessos frequentes memria principal, o que significaria atrasos ainda
maiores no processamento.
O 68.000 em seu encapsulamento de 64 pinos possua linhas de dados e endereos separadas. J
o 8086 multiplexava linhas de dados e endereos em seu encapsulamento de 40 pinos, sendo ento
necessria uma lgica de demultiplexao externa a pastilha para recuperar os barramentos de
dados e endereos. Se por um lado a MOTOROLA no economiza espao, ao mesmo tempo elimina
a necessidade de circuitos adicionais na placa-me.

Pgina 71

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

O 68.000 era compatvel em hardware com os circuitos perifricos de 8 bits da prpria MOTOROLA.
Uma similaridade encontrada no 8088 da INTEL, tambm compatvel em hardware com os circuitos
perifricos de 8 bits da prpria INTEL. As duas fbricas sempre lanam pastilhas compatveis com
circuitos perifricos de seus antecessores.
Os tipos de dados suportados pelo 68.000 so: bit, nibble (4 bits), byte, word e long-word (32 bits).
Este opera em ponto flutuante to rpido quanto o par 8086/8087. Aqui praticamente no existem
diferenas importantes.

5.1.2 Diferenas no Conjunto de Instrues


O conjunto de instrues do 68.000 era composto de apenas 56 instrues bsicas, podendo
atingir at 1000 combinaes. O 8086 possua um conjunto complexo de instrues em nmero
elevado e na sua maioria com finalidades especficas. Do ponto de vista do programador Assembly
razovel raciocinar que este consiga programar mais rpido com um conjunto poderoso de poucas
instrues ao invs de um conjunto tambm poderoso, mas com um nmero elevado de instrues a
escolher.

5.1.3 Capacidade de Interrupo


A MOTOROLA usa a designao de "Exceo" para o que o 8086 interpreta como "Interrupo". A
MOTOROLA considera que interrupes so casos particulares de excees. O 68.000 tratava dois
tipos de exceo: as excees geradas internamente e as geradas externamente, como segue.

Excees Internas: procedimentos de exceo so executados quando a CPU detecta erros


internos, tais como: erros de endereamento, violao de privilgio e cdigos de operao ilegais
ou quando a CPU executa determinadas instrues de programa, tais como: TRAP e TRACE;

Excees Externas: procedimentos de exceo so executados quando a CPU recebe sinais


de hardware de fontes externas, tais como: erros de barramento, reset e pedido de interrupo.

Uma tabela de vetores para processamento de excees fica alocada na memria residente,
contendo 256 possveis vetores para processamento de excees (1024 bytes). No 68.000 h 7
(sete) nveis de prioridade para excees. No 8086 havia 3 (trs) nveis de prioridade de interrupo
(software, no mascarvel e mascarvel, nessa ordem). Isto no chega a ser uma vantagem do
68.000, uma vez que no caso de microcomputadores, tais nveis so largamente suficientes.
A vantagem do 68.000 aqui vinha do fato de que o tratamento de excees possua um esquema
mais direto e simples que no 8086, onde o programador tem mais preocupaes. Vale ressaltar, que
quanto menor o tempo de programao maior a produtividade do programador e mais
rapidamente os produtos so lanados no mercado.

5.2 O 68.010

H pouco a dizer sobre o 68.010, a no ser que este idntico ao 68.000, com algumas ressalvas.
A primeira a de que usa suporte para memria virtual, ou seja, possui os pinos e os sinais
necessrios comunicao com um circuito gerenciador de memria virtual (no disponvel no
68.000). A segunda a de que inclui algumas novas instrues, justamente para gerenciamento
desta memria virtual.

Pgina 72

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

5.3 O 68.020

O 68.020, diferentemente do 68.010, um microprocessador interna e externamente de 32 bits, ou


seja possui uma arquitetura interna preparada para manipular quantidades de 32 bits e acessa a
memria de dados de 32 em 32 bits. Alm disso, pode enderear diretamente 4 Gigabytes de
memria, atravs de seu barramento de endereos de 32 bits.
O 68.020 dotado de 3 (trs) unidades lgicas e aritmticas, possui uma memria cache interna de
256 bytes ou 64 "long-words" (32 bits) e usa uma estrutura "pipeline" de 3 instrues (busca,
decodificao e execuo) de 32 bits. A busca de uma instruo no 68.020 significa um acesso a
uma instruo de 32 bits e no dois acessos de 16 bits para buscar uma nica instruo (como
ocorre no 68.000 e 68.010).
O 68.020 a 16.67 Mhz compatvel em cdigo objeto com o 68.010 e possui um desempenho 6
(seis) vezes superior ao do 68.000 a 8 Mhz. Foram includas ainda, 20 novas instrues e dois novos
registradores foram acrescentados no modo supervisor.

5.4 O 68.030

O antigo Mac SE/30 (CPU 68.030 a 15,667 Mhz) era 4 (quatro) vezes mais rpido que o Mac SE
(CPU 68.000). A pastilha 68.030 incorpora a unidade de gerenciamento de memria virtual ou PMMU
("Paged Memory Management Unit"). O barramento do Mac SE/30 foi mudado do NuBus (dos Mac
Plus e SE) para o chamado "Direct Slot 030", a fim de se adaptar a capacidade de endereamento
de 32 bits do 68.030. Por isso, este microcomputador no aceitava placas de expanso usadas nas
verses anteriores.
Um outro antigo modelo, o Mac IIcx tambm operava sob controle da CPU 68.030, mas numa
frequncia de relgio de 25 Mhz. Alm disso, incorporava uma pastilha (68.882) de gerenciamento de
memria virtual e um slot adicional para cache.
No se pode comparar a frequncia de relgio de 15,76 Mhz do 68.030 com as frequncias, por
exemplo do i386 33 Mhz. Arquiteturalmente diferentes, os microprocessadores da INTEL usam vrios
perodos de relgio (algumas instrues necessitam de at 236 perodos de relgio) ou vrios ciclos
de mquina para executarem uma instruo, enquanto que os microprocessadores MOTOROLA
usam poucos perodos de relgio (a mais longa instruo tem uma durao de apenas 74 perodos
de relgio). Portanto, as frequncias baixas utilizadas pelos microprocessadores MOTOROLA no
significam baixo desempenho como se poderia precipitadamente concluir.
Um resumo das caracterstica listado a seguir.

Compatibilidade em cdigo com a famlia 68.000;


Unidade de Ponto Flutuante fora da pastilha;
Unidade de Gerenciamento de Memria on-chip;
256 Bytes de cache de instrues e dados;
Interface de Memria de Rajada (Burst);
Mecanismo de Dynamic Bus Sizing, o qual permite rodar cdigo de 8, 16 e 32 bits;
Disponvel em 16, 20, 25, 33, 40 e 50 MHz;
18 MIPS a 50 MHz;

5.5 O 68.040

Pgina 73

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

As primeiras verses de Macintosh eram baseadas na CPU 68.000. Verses mais recentes so
baseadas nas CPUs 68.040, 68.060 e Power PC.
O Diagrama em Blocos do 68.040 mostrado na Figura 27.

Figura 27 Diagrama em Blocos do 68.040

Duas unidades de memria independentes se comunicam com a IU e a FPU. Cada unidade possui
uma MMU, unidade de gerenciamento de memria virtual, que translaciona endereo lgico para
fsico. Instrues no interior da pastilha e cache de dados operam independentemente e so
acessadoa em paralelo com a translao de endereo. O cache aumenta o desempenho geral. Tanto
a IU como a FPU possuem pipeline e a IU executa concorrentemente com a FPU. O Controlador de
Barramento opera em modo Burst, de forma concorrente com todas as outras unidades funcionais. O
nvel Write-Back de pipeline recebe sempre um resultado prvio da computao que poder ou no
ser escrito em memria externa. Isto aumenta o desempenho, pois o acesso memria externa
sempre mais demorado que o acesso ao cache interno. Assim, o resultado da computao s
escrito em memria externa, aps confirmao do mesmo.

As principais caractersticas do 68.040 so:

Barramentos de Endereos (4 GBytes) e Dados de 32 bits no multiplexados;


Pipeline de 6 estgios (ver Unidade de Inteiros)
Compatibilidade em cdigo com a famlia 68.000;
Suporte de Ponto Flutuante on-chip (diferentemente do 68.030);
Unidade de Gerenciamento de Memria on-chip (como no 68.030);
4 KB de cache de instrues e 4 KB de cache de dados;
Interface de Memria de Rajada (Burst);
Mecanismo de Dynamic Bus Sizing, o qual permite rodar cdigo de 8, 16 e 32 bits;
44 MIPS a 40 MHz;
Disponvel em 25, 33 e 40 MHz;
O 68040V alimentado por 3,3 Volts.

Pgina 74

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

O Barramento do Macintosh
Neste ponto, vale comentar brevemente o barramento do principal concorrente do PC.
O padro de barramento do Macintosh, por volta de 1989, era o NuBus, ou ANSI/IEEE 1196-1987,
concebido no MIT no fim dos anos 70, com forte apoio da Western Digital e da Texas Instruments. A
banda passante do NuBus era de 20 MBytes/s e, se utilizado em "modo bloco" podia chegar a
uma taxa de 37,6 MBps. Neste ponto, vale ressaltar as bandas passantes, na poca, do PC XT, 1,0
MBps, e de um PC AT, 2 MBps. Naqueles anos, o nico barramento comparvel era o MCA 16 bits,
utilizado nos PS/2 da IBM, o qual possua a mesma banda passante do NuBus.
Com este barramento os Macintosh aceitavam placas de 8, 16 e 32 bits. J nos PCs/PSs, isto
variava segundo a mquina. O NuBus foi concebido para ser utilizado por qualquer microprocessador,
enquanto que o MCA aceitava somente microprocessadores da INTEL. A implicao disto era que
um Macintosh aceitava uma placa 386 da INTEL, podendo rodar DOS ou OS/2, o inverso no era
verdadeiro, isto , no se podia, em princpio, colocar uma placa da APPLE em um PS/2. O fato
que os antigos barramentos dos XTs e ATs esto definitivamente obsoletos, pela sua banda
passante hoje considerada insuficiente.

Sobre o Sistema Operacional do Macintosh


Enquanto os PCs funcionavam sob controle do DOS e do controvertido OS/2, os Macintosh eram
controlados por um sistema operacional de propriedade da APPLE, que desde seu lanamento, em
1984, procurou no ser hermtico e chegar de uma vez mais prximo do usurio final. Corre o boato
que o MS-Windows na sua verso inicial nada mais era do que uma cpia pior do sistema
operacional do Macintosh. Assim a APPLE, aproveitando os resultados dos trabalhos do PARC
("Palo Alto Research Center") da XEROX, apresentou um dos primeiros sistemas a adotar a
representao simblica, sob a forma de "cones" (pictograma que representa um documento, um
programa, uma funo, etc) de arquivos. Este sistema era composto de um trio: a memria ROM da
mquina, os arquivos "System" e "Finder", aos quais vieram se somar cerca de 20 outros mdulos
anexos.
A memria ROM teve pelo menos trs verses e continha, alm dos programas de interfaceamento
com o hardware, programas grficos, caixa de ferramentas, etc. Os arquivos "System" e "Finder"
eram indissociveis e complementares. Um Macintosh no era "bootvel" se estes dois arquivos no
fosem encontrados no mesmo subdiretrio.
As palavras-chave do sistema operacional do Macintosh so muitas: menus "pop-up" e "pull-down",
janelas, cones, memria morta (ROM), memria viva (RAM), interface SCSI ("Small Computer
System Interface"), ToolBox (sub-programas em ROM), "copy", "paste", HFS ("Hierarchical File
System"), etc.
Juntamente com a verso 5.0 do sistema operacional, foi lanado o "MultiFinder", um "Finder"
multitarefa. O "MultiFinder" foi disponibilizado em 1987, anos antes do aparecimento dos primeiros
sistemas operacionais multitarefa para micros. A APPLE tem, assim, larga experincia com este
tipo de sistema.
Por volta de 1992, a Apple anunciou que o sistema operacional acompanhando os novos micros seria
o "System 7.1". O Sistema se tornaria "internacional", ou seja, com telas e menus em ingls,
espanhol, francs, japons e portugus. Esta verso do software vinha embutida nos Macintosh.

Pgina 75

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

5.6 O 68.060
As principais caractersticas do 68.060 so resumidas a seguir.

Compatibilidade total em cdigo com o 68.040;


Implementao Superescalar da arquitetura do 68.000;
Execuo de 3 instrues por perodo de relgio;
2 Caches de 8 KB on-chip;
Barramento de Dados e Endereos de 32 bits no multiplexados (como no 68.040);
Disponvel em 50 e 66 MHz;
100 MIPS a 66 MHz;
68EC060 no possui FPU, nem MMUs;
68LC060 no possui FPU

O Diagrama em Blocos do 68.060 mostrado na Figura 27.

Figura 28 Diagrama em Blocos do 68.060

O mais importante nesta CPU que a unidade de Inteiros, IU, contm um pipeline dual, uma
interface lgica para a FPU e controle lgico para a escrita de dados no cache e MMU. Isto implica
na execuo de mais de uma instruo durante cada ciclo de clock.
Os seis estgios no pipeline de execuo de inteiros so:
1.
2.
3.
4.
5.
6.

Decode (DS) A instruo completamente decodificada;


Clculo do Endereo Efetivo (AG) Clculo da locao do dado;
Busca do Endereo Efetivo (OC) O dado buscado da locao de memria;
Execuo de Inteiros (EX) O dado manipulado durante a execuo;
Disponibilidade de dados (DA) O resultado est disponvel;
Write-Back (WB) O dado resultante escrito no cache on-chip ou na memria externa.

Pgina 76

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

O Branch Cache na Unidade de Busca permite a deteo antecipada do salto, antes que a mudana
de fluxo afete a unidade inteira.

5.7 OS POWERPC (IBM/APPLE/MOTOROLA)

5.7.1 - Origem
A idia inicial das 3 gigantes da indstria era a de projetar um microprocessador de enorme
desempenho em um nico chip. Isto permitiria um balanceamento entre mximo desempenho,
facilidade de fabricao e baixo custo. A raiz do projeto foi a arquitetura POWER da IBM.
Assim, os projetistas removeram instrues raramente utilizadas e minimizaram caractersticas que
restringiam o paralelismo. Tambm foram includas extenses para prover um suporte adicional
funes freqentemente utilizadas.
Instrues LOAD e STORE
Simplicidade na Implementao. Retirada de update degenerado. Uma instruo de LOAD que
tenta carregar um operando no mesmo registrador usado pelo endereo efetivo resultante dita
degenerada (somente um valor deve ser carregado no registrador alvo). No PowerPC isto foi deixado
em aberto. Esta mudana no reduz a funcionalidade, mas simplifica a implementao.
Excees de Ponto-Fixo
Diminuio do Perodo de Latncia. Instrues de ponto-fixo ou ponto-flutuante atualizam um
registrador de condio baseado no tipo de resultado. Esta atualizao pode aumentar o perodo de
latncia. Mesmo sendo necessrio, tal modo de funcionamento no de uso freqente. No PowerPC
foi acrescentada uma instruo SUBTRACT para completar o conjunto de instrues de ponto-fixo, a
qual no altera ou usa o bit de CARRY.
Computao de Ponto-Fixo
Remoo/Substituio de Instrues. Foram retiradas do conjunto, quatro instrues baseadas em
Diferena ou Zero e Valor absoluto por causa de seu uso no frequente e benefcio limitado de
desempenho. Trs outras instrues que envolviam trs operandos fonte tambm foram removidas
por adicionarem complexidade implementao. Tais instrues foram substitudas por trs ou
quatro outras instrues.
Ponto-Flutuante
A arquitetura POWER provm um modelo computacional de ponto-flutuante que contm um conjunto
completo de instrues LOAD e STORE para operandos de ponto-flutuante de simples e dupla
preciso. Contudo, a computao de preciso simples feita usando operaes de preciso dupla,
em seguida arredondando o resultado para preciso simples. Foi adicionado ao PowerPC um
conjunto completo de operaes aritmticas e de acumulao de preciso simples, de forma a
baixar o custo e aumentar a velocidade de operaes de preciso simples, tornando mais lenta a
computao em preciso dupla. Em sistemas pequenos, isto aumenta o desempenho
significativamente, uma vez que grficos, por exemplo, no necessitam de preciso dupla.
Modelo de Armazenamento
A arquitetura do POWER relegava a tarefa de manter a coerncia do cache ao software e usava um
modelo de consistncia fraco de armazenamento. O PowerPC tambm depende do software para
manter a consistncia de armazenamento de instrues, mas adicionalmente permite ao software

Pgina 77

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

especificar quais pginas de armazenamento de dados o processador manter em um estado


consistente.
Extenses de 64 bits
Os registradores acessveis s instrues de ponto-fixo foram estendidos para 64 bits, com poucas
excees. Um bit de Modo de ambiente foi adicionado ao registrador de status da mquina para
selecionar ambiente de 32 ou 64 bits. As especificaes de 4 instrues existentes de LOAD de
ponto-fixo foram mudadas para implementaes de 64 bits. Vrias instrues aritmticas, de pontofixo e de ponto-flutuante foram adicionadas para manipular operaes com e sem sinal em 64 bits.

5.7.2 A Famlia PowerPC


A famlia PowerPC da Motorola possui vrios membros, os quais possuem utilizao especfica. Os
microprocessadores usados em computadores handheld, notebooks, desktops, workstations e
servidores so:

PowerPC 601;
PowerPC 603;
PowerPC 604;
PowerPC 620;

Os utilizados embutidos em hardwares para rede, comunicaes e microcontroladores so:

PowerPC 602;
PowerPC 603;
MPC821;
MPC823;
MPC860;
MPC505.

Como no podia deixar de ser, alm dos microprocessadores, a Motorola tambm fabrica circuitos a
serem utilizados como perifricos desses microprocessadores, tais como: MPC105 (Controlador de
cache, ponte PCI e interface de DRAM num nico chip).
A seguir sero fornecidas resumidamente as caractersticas de alguns deles.

PowerPC 620

O PowerPC 620 uma implementao de 64 bits da arquitetura RISC do PowerPC com as seguintes
caractersticas:

Compatvel em software com os 601, 603 e 604;


Capacidade de execuo de 4 instrues por perodo de relgio;
6 unidades de execuo independentes, incluindo:

2 unidades de Inteiros de Ciclo nico


Unidade de Inteiros Multiciclo
Unidade de Processamento de Saltos
Unidade Load/Store
Unidade de Ponto Flutuante

Pgina 78

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

32 Kbytes de cache de instrues e 32 Kbytes de cache de dados, fisicamente separados;


Suporte a Cache 128 bits L2 on-chip de 1 a 128 Mbytes;
MMU suporta 1 TeraBytes de memria fsica e 1 HeptaBytes de memria virtual;
Barramento de Dados de 128 bits;
Barramento de Endereos de 40 bits;
7 milhes de transistores integrados;
Tecnologia de Processo CMOS esttico de 0,5 micron.

PowerPC 750/740

Os microprocessadores PowerPC 750/740 so implementaes de 32 bits, de baixa potncia, da


arquitetura RISC PowerPC. A nica diferena entre os mesmos a de que o 750 possui uma
interface de cache L2 dedicada on-chip.
As principais caractersticas do PowerPC 750 so;

Compatvel em software e barramento com os 603e e 604e;


Capacidade de execuo de 3 instrues por perodo de relgio;
6 unidades de execuo independentes, incluindo:

2 unidades de Inteiros
Unidade de Registradores de Sistema
Unidade de Processamento de Saltos
Unidade Load/Store
Unidade de Ponto Flutuante

Projeto de 1,9 a 2,5 Volts (interno) e 3,3 Volts (I/O) com 3 modos de salvamento de potncia;
Cache L1 de 32 Kbytes para instrues e 32 Kbytes para dados, fisicamente separados;
Suporte a Cache L2 on-chip de at 1 MBytes (o PowerPC 740 no possui cache L2 on-chip);
MMU suporta 4 GigaBytes de memria fsica e 1 PetaBytes (2 52 bits) de memria virtual;
Barramento de Dados de 64 bits;
Barramento de Endereos de 32 bits;
6,5 milhes de transistores integrados;
Tecnologia de Processo CMOS esttico de 0,25 ou 0,29 micron;
O PowerPC 750 opera nas velocidades de 200, 233, 266, 300, 333 e 366 MHz;
O PowerPC 740 opera nas velocidades de 200, 233, 266 e 300 MHz;
671 MIPS @ 366 MHz (750) e 550 MIPS @ 300 MHz (740).

Pgina 79

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 6: INTRODUO AOS MICROCONTROLADORES

6.1 ARQUITETURA INTERNA


Os microcontroladores so microprocessadores de propsito especial. Estas pastilhas contm todos
os circuitos perifricos necessrios aos equipamentos normalmente utilizados na rea de controle
processos. Os microprocessadores comuns so considerados de propsito geral. Como o nome
indica, so microprocessadores destinados a controlar.
A arquitetura interna dos mesmos, normalmente, dotada de CPU, memria RAM, memria
EPROM, portas paralelas, portas seriais, temporizadores, contadores e lgica de expanso de
barramento.
A ttulo de exemplo so detalhados dois microcontroladores. O primeiro um antigo membro da
famlia de microcontroladores da INTEL, o 8052. Este citado por razes histricas e prticas, pois
de 8 bits e muitos equipamentos de hoje ainda so baseados nesta pastilha. O segundo um
microcontrolador mais sofisticado, fabricado pela Motorola, o MPC860.

6.2 O MICROCONTROLADOR 8052 DA INTEL


Como j mencionado, o 8052 faz parte de uma famlia de microcontroladores, conforme tabela a
seguir:

ROM Interna
RAM Interna

8051
4 KB
128

8031
128

8751
4 K (EPROM)
128

8052
8K
256

8032
256

83C512B
16 a 32 K
512

As caractersticas gerais, especificamente do 8052 incluem:

CPU de 8 bits;
Oscilador e Circuitos de Relgio Embutidos;
32 linhas de Entrada e Sada;
64 KB para endereos da memria de dados;
64 KB para endereos da memria de programa;
3 contadores/temporizadores de 16 bits;
5 fontes de interrupo (2 externas, 2 internas e 1 da porta serial);
Porta Serial Full-Duplex;
Processador Booleano;
4 modos de funcionamento para os 3 Temporizadores;
4 modos de funcionamento para a Porta Serial.

Pgina 80

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

O Diagrama em Blocos da Arquitetura do Microcontrolador 8052 da INTEL mostrado na Figura 31.

ROM /
EPROM
(8 KBytes)

3 Contadores/
Temporizadores
(16 bits)

RAM
(256 Bytes)

CPU (8 bits)
8052

Controle de
Expanso de
Barramento

Entrada/Sada
Paralela
Programvel
(32 Linhas)

Entrada/Sada
Serial
Programvel

Figura 31 Diagrama em Blocos do Microcontrolador 8052 da INTEL

Para dar uma idia comparativa, em relao a microprocessadores de propsito geral, so listados
abaixo os Registradores Internos do 8052.
A Acumulador
B Reg. Utilizado em operaes de multiplicao, diviso e rascunho
PSW Reg. De Status (CY, ACY, OVF, PARITY, ...)
SP Stack Pointer
DPTR Endereo de 16 bits
P0, P1, P2 e P3 Latches das Portas
SBUFF Buffer para a Porta Serial
TH0, TL0, TH1, TL1, TH2, TL2 Temporizadores de 16 bits
IP, IE, TMOD, TCON, SCON, PCON Reg. de Controle
O acesso memria externa feito com o auxlio dos seguintes sinais: PSEN (Programa Store
Enable) para a memria de programa e RD (Read) e WR (Write) para a memria de dados mais
os endereos correspondentes.

Pgina 81

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

A Figura 32 mostra a organizao de memria do 8052.

ROM Interna
(8 KBytes)

64
KBytes

RAM Externa
(Dados)

64
KBytes

RAM Externa
(Programas)

128
Bytes

RAM Interna

Registradores
Internos

Figura 32 Organizao de memria do 8052

As interrupes so:

INT 0 e INT 1 Pinos da CPU projetados para receber pedidos externos de interrupo;

TF0 e TF1 So geradas pelos Contadores/Temporizadores internos;

INT Proveniente da Porta Serial interna.

6.3 O MPC860 DA MOTOROLA


O MPC860 uma combinao de microprocessador e perifrico projetado para funcionar em uma
ampla variedade de aplicaes de controlador, particularmente em produtos de comunicao e rede.

Pgina 82

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Esta pastilha a gerao seguinte do MC68360 para aplicaes de redes e comunicao de dados.
Esta pastilha integra 2 blocos de processamento: o primeiro o ncleo do PowerPC e o segundo
o Mdulo Processador de Comunicao (CPM), muito similar ao MC68360. Esta arquitetura dual
provm um consumo mais baixo de potncia do que o tradicional, por que o CPM assume as tarefas
de controle de perifricos do ncleo PowerPC.
As principais caractersticas do MPC860 so:

Ncleo PowerPC embutido com capacidade de 88 MIPS a 66 MHz;


4 KB de Cache de instrues;
4 KB de Cache de Dados;
32 bits de barramento de dados;
32 linhas de endereo;
MMUs de dados e instrues;
Controlador de Memria (8 bancos);
4 Temporizadores de 16 bits ou 2 de 32 bits;
Unidade de Integrao de Sistema (SIU): Monitor de IRQ espria, Sintetizador de Clock,
Decrementador PowerPC, controlador de RESET, ...;
7 IRQs externas, 16 IRQs internas e 12 pinos de porta com capacidade de interrupo;
Mdulo Processador de Comunicaes (CPM): 16 canais de DMA, 3 registradores paralelos de
I/O, at 5 KB de RAM de porta dual, controlador RISC, ...;
4 Geradores de Baud Rate (independentes);
4 Controladores de Comunicao Serial (SCC): Ethernet, HDLC/SDLC, UART, Apple Talk,
Infravermelho serial (IrDA);
2 Canais de Gerenciamento Serial (SMC);
1 interface perifrica serial;
Interface paralela (porta Centronics ou mais rpida);
Interface PCMCIA (2 soquetes independentes);
Atribuidor de Time Slot, permitindo SCCs e SMCs rodarem em operao multiplexada e nomultiplexada, suporta T1, ISDN,...;
Opera em 3,3 Volts e compatvel com TTL 5,0 Volts

Pgina 83

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 7: AS ARQUITETURAS RISC


7.1 - NOES DE ARQUITETURA RISC

Todos os processadores mencionados at a seo anterior, em geral, so considerados como


mquinas CISC ("Complex Instruction Set Computer"). Guardadas as diferenas de projeto
arquitetnico entre INTEL e MOTOROLA, todas essas mquinas possuem um conjunto de
instrues, considerado por pesquisadores de arquitetura como, demasiado grande. Ainda que
estruturas pipeline possam ser encontradas no interior das mquinas CISC, isto no significa que
seu projeto tenha sido direcionado para a otimizao da compilao de programas, como bem o
caso das RISC.
As mquinas RISC ("Reduced Instruction Set Computer") apareceram no incio dos anos 80 em
laboratrios de empresas (p.e. IBM), como o IBM 801, e em instituies de pesquisa: RISC I e RISC
II na Universidade da Califrnia - Berkeley e MIPS na Universidade de Stanford. Em 1985, todas as
trs estavam operacionais.
Cada um dos projetos tinha diferentes requisitos e objetivos, mas alguns princpios eram comuns:

1.
2.
3.
4.

As operaes eram registrador-para-registrador (e no memria-para-memria) com somente


instrues LOAD e STORE para acesso memria;
Tanto operaes (muitas delas completadas em um nico ciclo) como modos de endereamento
eram reduzidos (somente os modos Indexado e Relativo ao Contador de Programa);
O formato das instrues eram simples e no ultrapassavam o limite do tamanho de palavra;
O tratamento dado aos Saltos ou "JUMPS" RISC evitavam penalidades na estrutura pipeline.

O objetivo das mquinas RISC era o de aumentar a eficincia da interface entre o compilador e o
hardware e no, diminuir o "gap" entre o usurio e o hardware. Este ltimo tem sido o objetivo das
mquinas consideradas CISC, como os microprocessadores de desktops e alguns servidores.
A compilao em processadores RISC simples e o cdigo gerado eficiente, at mesmo em
funo da prpria filosofia de se ter um conjunto reduzido de instrues. Ao lado disso, com o avano
tecnolgico da integrao VLSI ("Very Large Scale Integration"), tambm tornou-se possvel realizar
o mximo de operaes no interior do circuito integrado, aumentando sobremaneira a velocidade das
operaes.
Pelo fato das instrues serem simples e pouco numerosas, vrias transferncias CPU/Memria e
vice-versa so necessrias. Este problema vem sendo resolvido com a tcnica de "cache", ou seja,
ler um grupo de instrues de uma nica vez, enfileir-las e execut-las em seguida.
Um outro aspecto diz respeito aos numerosos registradores internos a processadores RISC. Pode-se
armazenar nesses registradores uma grande quantidade de dados temporrios, no interior da
pastilha, sem que sejam necessrios vrios acessos memria principal.
A tcnica de "pipeline" em vrios nveis tambm utilizada para aumentar ainda mais a taxa de
execuo de instrues.
Algumas mquinas RISC executam uma instruo por ciclo de relgio, isto para implementar um
pipeline eficiente. As mquinas clssicas utilizam vrios ciclos de mquina, contendo vrios ciclos
de relgio para a execuo de uma nica instruo.

Pgina 84

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

As instrues RISC, em geral, so de mesmo comprimento para aproveitar de maneira eficiente a


estrutura pipeline, uma vez que comprimentos diferentes levariam ao aumento do nmero de acessos
memria para busca de instrues e, no caso de necessidade de uso de memria virtual, poderiam
haver quebras de pginas difceis de serem gerenciadas.

7.2 - IMPLICAES NO DESEMPENHO DE UM COMPUTADOR

Pelas razes mencionadas na sesso anterior, processadores RISC possuem, no momento, um


desempenho superior ao de processadores CISC.
Pode-se dizer tambm que mquinas RISC foram construdas para diminuir o "gap de desempenho"
das mquinas e no o "gap semntico" entre o usurio e a mquina. Processadores CISC, ao
contrrio, como qualquer um pode notar, diminuram muito esse "gap semntico".
Um outro aspecto no menos importante foi o contra-senso, durante uma certa poca, de se utilizar
mquinas RISC como equipamento central controlando vrios terminais, pois certamente o projeto da
sua arquitetura no foi direcionado para tal e sua parte de Entrada/Sada muito menos. O que uma
mquina que usa um processador RISC como CPU faz otimizar a ao de compiladores e
aumentar muito a velocidade de processamento, tornando-a adequada ao desenvolvedor de
aplicaes "pesadas" ou aqueles que necessitam de recursos grficos e de processamento,
considerados hoje, de primeira qualidade.
Com o aumento sistemtico do desempenho de microprocessadores padro da indstria, incluindo
caractersticas arquiteturais de mquinas RISC, a diferena conceitual entre uma e outra arquitetura
praticamente inexiste.

Pgina 85

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

CAPTULO 8: ARQUITETURAS NO CONVENCIONAIS


8.1 ARQUITETURAS PARALELAS

A primeira pergunta a fazer : O que uma Arquitetura Paralela ?


uma coleo de elementos de processamento cooperantes para resolver problemas
grandes mais rapidamente

A segunda pergunta seria: Qual a motivao para as pesquisas em Computao Paralela ?


1.

Aumento de Desempenho - Premissa do arquiteto de computadores: Projetar e construir os


vrios nveis de um sistema de computador para maximizar o desempenho e programabilidade,
dentro dos limites de tecnologia e custo;

2.

Demanda de Usurios: Estruturas organizacionais inovadoras e diversas, frequentemente


chegam a necessidade de criao de novos modelos de programao;

3.

Demanda de Aplicaes: fsica, qumica, biologia, CAD, Vdeo, grficos, ..

4.

Tendncias de Tecnologia: Crescimento de clock esperado lento, nmero de transistores num


chip crescendo;

5.

Tendncias de Arquitetura: Paralelismo no nvel de instrues limitado;

6.

Tendncias de hoje: microprocessadores de hoje possuem suporte amultiprocessamento,


servidores e estaes chegando ao multoprocessamento, microprocessadores de amanho so
multiprocessadores;

7.

Tendncias de Aplicaes: variao do desempenho com o custo aumentando progressivamente


(figura 35). SPEEDUP = Desempenho (P processadores) / Desempenho (1 processador)

As figuras que se seguem procuram demonstrar as motivaes para investimentos em arquiteturas


paralelas

Pgina 86

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Demanda de Aplicaes

Figura 33 Evoluo nas necessidades em computao cientfica

10 GIPS

1 GIPS
T elephone
Number
Recognition

100 MIPS
200 W ords
Isolated Speech
Recognition

10 MIPS

1 MIPS

Sub-Band
Speech Coding

1980

1985

1,000 W ords
Continuous
Speech
Recognition
ISDN-CD Stereo
Receiver

5,000 Words
Continuous
Speech
Recognition
HDTV Receiver
CIF Video

CELP
Speech Coding
Speaker
Veri cation

1990

1995

Figura 34 Evoluo nas necessidades de processamernto de voz e imagem

Pgina 87

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Pgina 88

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Tendncias de Tecnologia

100

Supercomputers

Mainframes
Microprocessors
Minicomputers
1

0.1
1965

1970

1975

1980

1985

1990

1995

Figura 35 Crescimento do Desempenho de Computadores

1,000

Clock rate (MHz)

Performance

10

100

10

uu u

i8086 u

u
u
u
u
u
u
u
u
R10000
u
u
u
u
u
u
uuu
uu
uu
u
u
Pentium100
u
u
u
u
u
u
u
u
uuu
uu
uu
u
u
uu
uuu
u
uu u
u
u
u
uu
ui80386

i80286

u
u

i8080

uu
u i8008

i4004

0.1
1970

1975

1980

1985

1990

1995

2000

2005

Figura 36 Taxa de Crescimento da Freqncia de Relgio

Pgina 89

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

100,000,000
u

Transistors

10,000,000

u
uu u
u
R10000
u
u
uu Pentium
uu
uu
uu
u
u
u
u
u
uu
u
uuu
u
u u
uu
u
u
u
u
u
i80386
i80286 u u
u u R3000
u
u
R2000
u

1,000,000
100,000

u i8086

10,000

u
u i8080

u
u i8008

i4004

1,000
1970

1980
1990
2000
1975
1985
1995
2005

Figura 37 Taxa de Crescimento do Nmero de Transistores por Chip

Pgina 90

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

A figura 38 exibe uma classificao amplamente usada na literatura de arquitetura de computadores.


As arquiteturas so classificadas em SISD, SIMD, MISD e MIMD, sendo mais poderosa aquela que
implementa a execuo de mltiplas instrues sobre mltiplos dados, a MIMD (Multiple
Instructions Multiple Data). A sigla das restantes so: SISD (Single Instruction Single Data), SIMD
(Single Instruction Multiple Data) e SIMD (Single Instruction Multiple Data).

Figura 38 Classificao de Flynn

Na rea de arquiteturas especificamente paralelas outras classificaes podem ser encontradas.


Uma das quais estabelece 4 classes de Arquiteturas Paralelas:
1.

Arquiteturas Vetoriais

Processadores especficos (proprietrios)

Memria centralizada

Espao de endereamento nico (vrios processadores endeream a mesma memria)

Tempo de acesso uniforme (os processadores acessam qualquer parte da memria em


tempos iguais)

Componentes especficos

Tecnologia agressiva

Memria compartilhada

Pgina 91

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

2.

3.

4.

Arquiteturas SIMD

Processadores especficos (proprietrios)

Memria distribuda

Espao de endereamento mltiplo (cada processador possui sua prpria memria)

Tempo de acesso no uniforme (o tempo de acesso memria por um processador pode


diferir, dependendo da localizao da clula)

Componentes especficos ou disponveis comercialmente

Tecnologia padro

Memria distribuda

Passagem de Mensagens (atravs de uma rede de comunicao)

Arquiteturas MIMD com espao de endereamento nico

Processadores comerciais (microprocessador)

Memria centralizada ou distribuda

Espao de endereamento nico

Tempo de acesso uniforme ou no uniforme

Componentes disponveis comercialmente (memria, lgica)

Tecnologia padro

Memria compartilhada

Arquiteturas MIMD Passagem de Mensagens

Processadores comerciais (microprocessador)

Memria distribuda

Espao de endereamento mltiplo

Tempo de acesso no uniforme

Componentes disponveis comercialmente

Tecnologia padro

Memria distribuda

Passagem de Mensagens (atravs de uma rede de comunicao)

Outro conceito importante so as fontes de paralelismo:

Paralelismo de Dados: h um reagrupamento de dados devendo seguir o mesmo


processamento;

Paralelismo de Controle: h a presena de partes independentes (tarefas, sequncia de


operaes) dentro de um programa;

Paralelismo de Fluxo: h um jogo de dados renovado constantemente durante a


execuo.

Pgina 92

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Resta perguntar: Quais os problemas a resolver numa arquitetura paralela ?

1.

Alocao de Recursos

2.

Acessos a Dados, Sincronizao e Comunicao

3.

Quo grande a coleo ?


Qual a potncia dos seus elementos ?
Quanta memria utilizar ?

Como fazer os elementos cooperarem e se comunicarem ?


Quantos dados so transmitidos entre processadores ?
Quais so as abstraes e primitivas para a cooperao ?

Desempenho e escalabilidade

Quais as conseqncias no desempenho ?


Como graduar isto ?

A seo seguinte tratar especificamente de mquinas MIMD Passagem de Mensagens,


simplesmente por que estas tm merecido a ateno de pesquisadores do mundo todo.

8.2 MQUINAS MIMD PASSAGEM DE MENSAGENS

No momento atual, ano 1999, verifica-se uma taxa de 50 a 100% de aumento de desempenho nos
microprocessadores a cada ano. A capacidade das RAMs dinmicas quadruplica a cada 3 anos. A
densidade dos discos magnticos cresce 50% anualmente. Isto fora uma tendncia de se utilizar
microprocessadores padro. Alm disso, o usurio fora uma tendncia de que a potncia dos
sistemas de computador deve aumentar com o nmero de processadores, o que hoje no
corresponde a realidade.

Um outro aspecto verificar os modelos utilizados pelos 500 computadores mais rpidos do mundo.
A figura 39 exibe a tendncia de uso de mquinas Passagem de Mensagens.

Pgina 93

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

350

Number of systems

300 n

313
239
u

250
200

u187

0s
11/93

u MPP
n PVP
s SMP
110
s
n
106

100
50

284
u

n 198

150

319
u

s
63
11/94

11/95

106
n
s
73
11/96

Figura 40 Os 500 computadores mais rpidos do mundo

Pode-se classificar as Mquinas Passagem de Mensagens em 2 classes, segundo o


gerenciamento de memria:
1.
2.

Multiprocessadores de Memria Compartilhada (espao de endereamento nico)


Multicomputadores Passagem de Mensagens (memria distribuda nos ns)

A figura 41 mostra as diferenas entre as classes.

Pgina 94

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Modelo de Programao Passagem de Mensagens


Mensagens

Processo

Processo

Processo

Processo

Dados

Dados

Dados

Dados

Dados Particionados (espaos de endereos privados)

Modelo de Programao com Memria Compartilhada


Operaes de
Sincronizao

Processo

Processo

Processo

Processo

Dados

Dados globalmente acessveis


(espao de endereo compartilhado)

Figura 41 Dois Modelos de Arquiteturas Paralelas MIMD

Pgina 95

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Pgina 96

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Exemplo de Mquinas Passagem de Mensagens

O IBM SP-2

Power 2
CPU

IBM SP-2 node

L2 $

Memory bus

4-way
interleaved
DRAM

Memory
controller

MicroChannel bus
NIC
I/O

DMA
i860

NI

DRAM

General interconnection
network formed fr
om
8-port switches

Pgina 97

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Exemplo de Mquinas Passagem de Mensagens

O INTEL PARAGON

i860

i860

L1 $

L1 $

Intel
Paragon
node

Memory bus (64-bit, 50 MHz)

Mem
ctrl

DMA
Driver

Sandia s Intel Paragon XP/S-based Supercomputer

2D grid network
with processing node
attached to every switch

NI

4-way
interleaved
DRAM

8 bits,
175 MHz,
bidirectional

Pgina 98

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Kai Hwang definiu 3 geraes de mquinas MIMD Passagem de Mensagens:


Primeira gerao (1983-1987) Tecnologia de placas de processadores utilizando redes hipercubo,
sendo a passagem de mensagens realizadapelo software. Um exemplo dessas mquinas o
Cosmic Cube, desenvolvido pela Caltech por C. Seitz e o INTEL iPSC/1.
Segunda Gerao (1988-1992) Arquitetura com uma topologia de grade, sendo o roteamento
realizado por hardware. Um exemplo o INTEL Paragon e iPSC/2.
Terceira Gerao (1992-1997) Tende a ser uma arquitetura de paralelismo sofisticado, podendo
serem citados a J-Machine, a Corporation Machine CM5 e o IBM SP/2.
O IBM SP-2 uma tentativa de assegurar preferencialmente a transio a partir das estaes de
trabalho at mquinas paralelas topo de linha, ao invs de visar diretamente o mercado topo de linha.

O Cosmic Cube
Entidade bsica: o processo, que envia e recebe mensagens.
Operao: Cada n pode conter vrios processos que so executados concorrentemente, se
entrelaando.
Arquitetura: 64 processadores 8086/8087 5 Mhz. Cada n ligado a 6 outros ns (6-cube) por
canais de comunicao bidirecionais, assncronos e ponto-a-ponto. Ns possuem 128 KB de RAM e
8 KB de ROM (inicializao, boot, refrescamento de memria e programas de diagnstico).
Sistema Operacional: Cada n executa um micro-ncleo. Cada micro-ncleo pode criar e matar
processos sobre seu n, gerenciar carga em memria e tratar interrupes. A cada processo est
associado um nico e global ID (identificador) para endereamento de mensagens. Cada mensagem
possue um cabealho contendo DESTINO, ID do EMISSOR, TIPO DE MENSAGEM e TAMANHO
DA MENSAGEM.

O INTEL Paragon
O Paragon oferece um alto nvel de desempenho, flexibilidade e utilizabilidade em aplicaes
destinadas a supercomputadores, acima dos tradicionais computadores vetoriais.
Arquitetura: Cada n um multiprocessador de memria compartilhada e usa no mnimo 2
processadores i860XP: um ou mais (processadores de aplicao) destinado a executar as
aplicaes e um (processador de mensagens) dedicado comunicao entre ns. Os ns so
distribudos em uma rede 2D com ligaes de 16 bits suportando at 175 Mbytes/s em cada direo.
Isto viabiliza uma largura de banda de at 5,6 Gbytes/s para um modelo XP/s com 76 ns. A
transferncia de blocos de dados da memria para a interface de rede feita atravs de dois canais
de DMA a uma velocidade de 400 Mbytes/s com um sistema de coerncia de cache.
Sistema Operacional: Consiste de UNIX melhorado, totalmente distribudo ao longo dos ns,
eliminando a necessidade de se ter um host ou front-end.
Linguagens: Compiladores Fortran-77, C, C++ e Ada produzem cdigo otimizado para aplicaes
paralelas
O Paragon o resultado de 10 anos de pesquisas e desenvolvimento comeado na Caltech por C.
Seitz, depois no MIT por W. Dally e enfim pelo projeto Touchstone Intel-DARPA.
Pgina 99

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

A J-Machine

A J-Machine um computador concorrente implementado segundo o modelo MIMD de memria


distribuda. Seu projeto comeou no MIT em 1988 partir das experincias de Dally na Caltech sobre
o processamento base de passagem de mensagens. A idia central de que processadores so
baratos e memria cara. Foi projetado para implementar todos os modelos de programao
(passagem de mensagens, memria compartilhada, dados paralelos, data-flow e atores).
Entidade bsica: MDP (Message-Driven Processor). O MDP um microcomputador VLSI de 36 bits
e 1,1 milho de transistores, memria de 4096 palavras de 36 bits e uma porta de rede. Foi
concebido para ser eficiente dentro de um multiprocessador. Cada n contm 4K do MDP mais 1
Mbytes de memria externa. O MDP possui ainda 6 portas de rede de duplo sentido e 1 porta de
diagnstico. Cada porta de rede corresponde a uma direo (+x, -x, +y, -y, +z, -z) que faz o MDP se
corresponder com um MDP adjacente.
Cada n pode injetar na rede 2 palavras de 72 bits por ciclo de relgio. Uma rede de 1024 ns
permite um largura de banda de 1,8 Gbytes/s.
Ambiente e Programao: Smaltalk concorrente e C dirigido mensagens.

8.3 TENDNCIAS EM ARQUITETURAS PARALELAS


Pode-se resumir as atuais tendncias em arquiteturas paralelas nos seguintes pontos:

Redes de Estao de Trabalho

Reduo do tempo de Desenvolvimento

Arquiteturas baseadas em Tecnologia Padro

Suporte a todos os Modelos de Programao

Redes de Estao de Trabalho - Alguns autores comparam a evoluo dos sistemas de


informtica atuais uma cadeia alimentar invertida, na qual os pequenos comero os grandes. Os
PCs atacam o mercado de estaes de trabalho que por sua vez consumiram o de
minicomputadores e avanam sobre o de mainframes e supercomputadores.
A relao Preo/desempenho das estaes de trabalho aumenta 80% por ano e no aumenta mais
que 20 a 30% para os supercomputadores.
Nota-se tambm uma convergncia entre as Redes de Estaes de Trabalho e os Processadores
massivamente paralelos.

Reduo do Tempo de Desenvolvimento A estatstica do tempo de desenvolvimento de


supercomputadores mostra que este demasiadamente longo. A soluo SP/2 da IBM parece
adaptar-se bem a esta deficincia. Os projetistas procuram fundar sua concepo em tcnicas j
testadas e provadas, sendo descartada sistematicamente, toda inovao considerada complexa de
realizar.

Pgina 100

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

Arquiteturas baseadas em Tecnologia Padro Esta idia inicialmente fundamentada no fator


custo, mas tambm se baseia no aproveitamento rpido das ltimas evolues em
microprocessadores.

Suporte a todos os Modelos de Programao Este um requisito que tem se tornado


desejvel, a fim de evitar a especializao das mquinas. Ou seja, a arquitetura deve possuir o
suporte necessrio execuo de aplicaes nos modelos de: passagem de mensagens, dados
paralelos, memria compartilhada, etc.

Pgina 101

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

BIBLIOGRAFIA

Livros:

1.

TANENBAUM, Andrew :"Structured Computer Organization", second edition, Prentice-Hall, Inc.,


1984.

2.

RUSSELL, Rector; ALEXY, George: "The 8086 Book", Ed. Osborne/ McGraw-Hill, 1981;

3.

ARTWICK, Bruce A., "Practical Hardware Details for 8080, 8085, Z80 e 6800 Microprocessors
Systems", Prentice-Hall, 1981;

4.

KANE, Gerry, "68000 Microprocessor Handbook", Osborne/McGraw-Hill, 1981;

5.

OSBORNE, Adam; KANE,


Osborne/McGraw-Hill, 1981;

6.

NORTON, Peter, "Desvendando o PC", Editora Campus Ltda., 1987;

7.

LEVENTHAL, Lance; WALSH, Colin;"Microcomputer Experimentation with the INTEL SDK-85",


Prentice-Hall, 1980;

Gerry;

"OSBORNE

16-bit

Microprocessor

Handbook",

Webgrafia

www.lri.fr
www.laas.fr
www.intel.com
http://www-techdoc.intel.com/
http://developer.intel.com/sites/developer/
http://www.cyrix.com/site_index.html
www.amd.com
http://www.tomshardware.com/
www.mot.com
http://www.mcu.motsps.com/index.html
http://www.lri.fr/~fci/goinfreWWW/projets97/fedak/Survey.html
http://ee.stanford.edu/
http://umunhum.stanford.edu/papers.html

Artigos:

1.

"Microprocessors - The First Twelve Years"; Proceedings IEEE, Vol. 71, No. 11, november 1983.

2.

"Microprocessors in Brief"; IBM Journal Research and Development, Vol. 29, No. 2, march 1985.

3.

"Optimizing Microprocessor Input/Output Techniques"; Computer Design, april 1981.

4.

"A Survey of Advanced Microprocessors and HLL Computer Architectures"; IEEE Computer,
august 1986.

Pgina 102

Eletricazine,

www.eletricazine.hpg.ig.com.br

Microprocessadores
_________________________________________________________________________________________________
____

5.

"An Introduction to GaAs Microprocessor Architecture for VLSI"; IEEE Computer, march 1986.

6.

Artigos diversos das revistas: Byte USA, Byte Brasil, Electronic Design, Exame Informtica,
Computer Design, PC Magazine USA, PC Magazine Brasil, PC World, SVM Macintosh.

7.

FEDAK, Gilles; Les Machines MIMD Passage de Messages, Laboratoire de Recherche en


Informatique, 1996

Manuais:

1.

INTEL Corporation, "The MCS-85 Family User's Manual, january 1983;

2.

INTEL Corporation, "Application Techniques for the intel 8085 Bus", 1978;

3.

INTEL Corporation, "8080/8085 Assembly Language Programming Manual, 1978;

4.

INTEL Corporation, "Microsystem Components Handbook - Volume I, 1984;

5.

INTEL Corporation, "An Introduction to ASM 86", 1981;

6.

INTEL Corporation,"MCS-51 Family of Single Chip Microcomputers User's Manual, july, 1981;

7.

INTEL Corporation,"80386 High Performance Microprocessor


Management" - Advance Information, october 1985;

8.

INTEL Corporation,"iAPX 86/88, 186/188 User's Manual" - Programmer's Reference, may 1983;

9.

ZILOG, Inc., "Z80-CPU Technical Manual", 1977;

with

Integrated

Memory

10. ZILOG, Inc., "Z80-Assembly Language Programming Manual", 1977;


11. MOTOROLA Inc., "Motorola Microprocessors Data Manual", 1981;

Pgina 103

Вам также может понравиться