Você está na página 1de 14

Microprocessadores

Prof. Arthur Braga

Tópicos
„ Processadores
„ A CPU 286
„ A CPU 386
„ Modo Real e Protegido
„ A CPU 486
„ A CPU Pentium
„ Arquiteturas CISC e RISC

1
Processadores
„ Desde o ano de 1978, quando a INTEL lançou a CPU 8086 (CISC), até os
dias de hoje, já foram lançadas várias gerações deste que é o processador
de maior sucesso no mundo.
Arquiteturas CISC
Ano Geração Arquitetura Processadores
1978 1ª. IA-16 8086 e 8088
1982 2ª. IA-16 286
1985 3ª. IA-32 386 DX, 386 SX
1989 4ª. IA-32 486 DX, 486 SX
1993 5ª. IA-32 Pentium e Pentium MMX
1995 6ª. IA-32 Pentium-Pro, Pentium II e Pentium III
2000 7ª. IA-32 Pentium 4
2002 8ª. IA-32 Pentium 4 HT
2005 9ª. IA-32 Pentium D (Dual core)
Arquiteturas RISC
Ano Geração Arquitetura Processadores
2001 1ª. IA-64 Itanium
2002 2ª. IA-64 Itanium 2

A CPU 286

• 24 linhas de endereço, resultando em 16 MB


endereçáveis de memória
• Relógio mais rápido (chega a 25 MHz)
• Novas instruções, de forma a apoiar ambiente
multitarefa
• Menor número de períodos de relógio por instrução
• Barramento de dados de 16 bits, com 2 períodos de
relógio por ciclo
• Modo protegido com um gerenciador de memória
integrado, oferecendo:
• 1 gigabyte de endereço virtual por tarefa,
• chaveamento de tarefas eficiente e verificação
dos direitos de acesso em uma única instrução,
• programação orientada a níveis de privilégio e
a descritores
• Registradores idênticos aos do 8086
Entrada no modo protegido via
software !
Voltar ao modo REAL ? RESET !

2
A CPU 286

A CPU 386

• Barramento de endereços e dados de 32 bits,


permitindo endereçar 4 GB de memória física.
• Novas instruções para manusear dados de 32 bits.
• Offsets de endereços de 32 bits e gerenciador de
memória com novos recursos.
• Suporte, em hardware, para segmentação e paginação
(memória virtual).
• Aumento de desempenho provocado por:
• barramento de 32 bits,
• fila de instruções de 16 bytes,
• novos tipos de dados,
• menor quantidade de períodos de relógio por
instrução,
• gerenciador de memória mais rápido e
• relógio mais veloz (de 16 a 33 MHz).
• Compatibilidade com o software do 8086/88 (modo
real e modo virtual) e 286 (modo protegido).

3
A CPU 386

A CPU 386

4
A CPU 386

A maioria das flags foi herdada do 8086 e 286. Entretanto, outras foram
criadas para o ambiente multitarefa.

Modo Real e Protegido

5
PROCESSADORES: Modo protegido
O modo protegido define um ambiente para o controle e execução de
tarefas, que é composto por um arranjo de registradores e estruturas de
dados ou tabelas, mapeadas na memória, conforme a figura abaixo.
A Tabela de Descritores Globais é criada e
gerenciada pelo S.O. para definir alguns
segmentos de memória e para manter residentes
estruturas de dados (descritores) que ajudem no
controle do gerenciamento das tarefas que estão
em execução concorrente.
A Tabela de Descritores Locais armazena
descritores que só são utilizados pela tarefa que
está em processamento.

A Tabela de Descritores de Interrupç


Interrupção é
criada e gerenciada pelo S.O. E armazena as
inormações necessárias para desviar o controle
da máquina para o manipulador apropriado..

O Segmento de Estado da Tarefa é criado pelo


S.O. – um por tarefa em execução concorrente.

O Diretó
Diretório de Pá
Páginas e as Tabelas de
Páginas são utilizadas pelo S.O. Na
implementação da memória virtual.

Arquitetura do 386
A CPU 386 pode ter sua arquitetura entendida como seis unidades funcionais
independentes que operaram simultaneamente:
1) Unidade de Interface com o Barramento: além de ler as instruções
(fetch), transfere os dados entre a CPU e a memória, ou entre a CPU e
dispositivos de I/O.
2) Unidade de Pré-Busca de Código: sempre que encontrar o barramento
ocioso, lê os próximos códigos de forma a manter cheia sua fila de 16
bytes (de código).
3) Unidade de Decodificação de Instrução: possui uma fila interna de 3
instruções, através de uma tabela de microcódigos, converte as
instruções em em microinstruções, gerando microcódigo.
4) Unidade de Execução: executa as operações especificadas pelas
instruções (através de microcódigos).
5) Unidade de Segmentação Juntas, forman a unidade de gerenciamento
6) Unidade de Paginação de memória (MMU) do 386.

Qual a vantagem de aumentar das 2 Unidades Básicas do 8086 para 6


Unidades ?????

6
Arquitetura do 386
PIPELINE: Técnica onde diversas unidades funcionais se interligam e se
comunicam de forma a obter a uma maior rapidez e eficiência na execução das
operações elementares que compõem uma instrução. A comparação com a
linha de montagem de automóveis é esclarecedora, pois não se espera
terminar um carro para iniciar a montagem seguinte. Na verdade, montam-
se diversos carros simultaneamente (cada carro em um estágio distinto). A
mesma idéia acontece com o pipeline de uma CPU, pois não se espera
terminar a execução da instrução atual para iniciar a busca e decodificação da
próxima. Executa-se uma instrução por vez, porém, no pipeline da CPU, estão
sendo processadas as próximas instruções, em estágios distintos.

EXEMPLO
Vamos supor uma lavanderia em que cada etapa possa ser realizada em 30
minutos:
1) Colocar a roupa na máquina-de-lavar, e lavá-la.
2) Depois de lavada, colocá-la na máquina-de-secar roupa.
3) Depois de secar, passar a ferro.
4) Depois de passada, arrumá-la no armário. Considere 4 mudas de roupa !

E no 386 ?

7
• Esquema simplificado da arquitetura do 386

2xCPU Dados / Tratar endereços Dados Operação c/ o coprocessador Habilitação


Controle a 16 bits de bytes

Qualquer combinação dos *BEi é válida desde que habilitem bancos consecutivos.

8
Possí
Possíveis Combinaç
Combinações de *BEi (0 indica *BEi habilitado)

Palavras desalinhadas:
1) Palavras de 32 bits que não iniciem em endereço múltiplo de 4.
2) Palavras de 24 bits que não iniciem em endereço múltiplo de 4 ou múltiplo de 4 +1.
3) Palavras de 16 bits que iniciem em endereço múltiplo de 4 +3.

Soluç
Solução: realizar um ciclo adicional de barramento.

A CPU 486
• Adição do co-processador matemático (80387 com
desempenho maior, pois está integrado na mesma pastilha
semicondutora da CPU)
• Adição de um cache de 8 KB, para instruções e dados
(cache L1)
• Modificação do sistema de interface com o barramento, de
forma a transferir dados em um único período de relógio -
modo rajada (transfere até 16 bytes em 5 períodos de
relógio)
• Recursos para um cache de segundo nível (L2)
• Dramático aumento de desempenho, em relação ao 386,
devido a:
• fila de instruções de 32 bytes;
• operação em modo rajada, com uma transferência
por CLK;
• cache integrado;
• redução significativa do número de clocks por
instrução;
• coprocessador matemático integrado;
• relógios mais velozes: 25, 33, 50, 66, 100 MHz.

9
A CPU 486

Registrador EFLAGS de um 486

10
Esquema simplificado do pipeline do 486.
O pipeline do 486 possui oito estágios, e foi projetado de forma a permitir que
algumas instruções fossem executadas com um único período de relógio.

A CPU PENTIUM

11
A CPU PENTIUM

Arquitetura superescalar do Pentium


„ As características superscalares do Pentium estão ligadas à sua via dupla
de acesso para inteiros, chamadas de U e V e, automaticamente,
emparelha as instruções para aumentar o número de execuções por
período de relógio.
„ Instruções que apresentam dependência entre si não podem ser
executadas simultaneamente.
„ A via U executa instruções com dados inteiros ou com ponto-flutuante.
„ A via V só pode trabalhar com dados inteiros.
„ A ordem em que as instruções viajam pela via dupla nunca é diferente da
seqüência que tinham no programa.
„ As instruções de desvio podem provocar uma grande penalidade na
velocidade dos processadores superescalares – por exemplo, a CPU pode
estar processando instruções em ambas as vias de acesso, quando
encontra uma instrução de desvio que vai mudar toda a seqüência da
execução, fazendo com que todo o trabalho dos estágios anteriores seja
desperdiçado.
„ O Pentium possui um preditor de desvios, e pré-carrega em buffers as
instruções que foram prognosticadas.

12
Arquitetura superescalar do Pentium

Reduced Instruction Set Computer


Complex Instruction Set Computer

13
Bibliografia Básica
„ Zelenovsky, Ricardo e Mendonça, Alexandre, PC um
guia prático de Hardware e Interfaceamento, MZ Editora
Ltda, 4a. edição, 2006. (http://www.mzeditora.com.br/)
„ Brey, Barry, The Intel Microprocessors - 8086/88, 286,
386 and 486 - Architecture, Programming and
Interfacing, Third Edition, PHI, 1994.
„ Zanco, Wagner da Silva. Microcontroladores PIC
16F628A/648A – uma abordagem prática e objetiva,
Editora Érica, 2005.

Material da Disciplina
http://www.dee.ufc.br/~arthurp

Outras Fontes:
„ Notas de aula Prof. Otacílio/DEE/UFC.
„ Notas de aula Prof. Luiz Henrique/DEE/UFC.
„ Notas de aula Profs. Cláudio Faria e Lideir Viana.
„ Site lab. LSI/USP:
http://www.lsi.usp.br/~chip/
„ Notas de aula Prof. Adilson Gonzaga/SEL/EESC/USP:
http://iris.sel.eesc.sc.usp.br

14

Você também pode gostar