20
Arquitectura de Computadores 1 LEE – 2º Ano

92612256-8086-Vs-80386

Embed Size (px)

Citation preview

Page 1: 92612256-8086-Vs-80386

Arquitectura de Computadores

1

LEE – 2º Ano

Page 2: 92612256-8086-Vs-80386

Microprocessador 80386

Introdução

O microprocessador 8086 e8088 foi sucedido pelo microprocessador 80286, primeiro processador lançado pela Intel que operava no modo protegido.

O microprocessador 80386 aperfeiçoou os modos protegidos do 80286 e expandiu o registo de dados para 32 bits.

A arquitectura para o processador 80386 tornou-se a base para a fundação dos processadores 80486, Pentium, and Pentium Pro…

2

Page 3: 92612256-8086-Vs-80386

Microprocessador 80386 3

bus interface unit (BIU)

central processing unit (CPU)

memory management unit (MMU)

Arquitectura

Page 4: 92612256-8086-Vs-80386

4

Microprocessador 80386

Page 5: 92612256-8086-Vs-80386

Microprocessador 80386

A Bus Interface Unit (BIU) manipula 32 bits de endereços, como também os vários sinais de

controle. Como o BIU do 8086 esta operação é manter a fila de instrução vazia por isso o processador nunca tem de esperar para a instrução fecth.

Como o 8086, os Microprocessadores 80386 organizem suas

memórias em bancos. Quando o tamanho do bus é setado para

32 bits, são solicitados 4 bancos. o 386 é capaz de aceder a 4

bytes ou duble Word (dword) em um ciclo básico. É de notar que

apesar, que o dword precisa começar num endereço divisível

por 4. Se isto não for o caso, 2 ciclos básicos serão solicitados

para acessar os 4 bytes.

5

Page 6: 92612256-8086-Vs-80386

Microprocessador 80386

Duas novas características acrescentadas:

“Pipelining Adresse” → os endereços da próxima posição da memória a ser acedida é saída por meio de uma fonte de corrente do 386 por ciclo.

Vantagem: dá a memoria mais tempo de descodificação de endereços e faz isto simples para a memoria manter com dois pulsos de clocks por ciclo básico do processador (Two-clock-pulses-per-bus-cycle processor).

Tamanho (Grandeza) de base de dados dinâmicos → permite transferir entre 32 bits e 16 bits de largura de base de dados “ on the fly”. Desta maneira o chip pode armazenar 16 bits de memoria externa em cartão de memoria ou dispositivos de entrada e saída (I/O) . Quando o modo 16 bits é seleccionado, a BIU ajusta automaticamente o tempo de ciclo básico a usar apenas 16 bits menos significativos de bus de dados.

6

Page 7: 92612256-8086-Vs-80386

Microprocessador 80386

A Central Processing Unit (CPU)

7

Unidade de Instrução (IU)

Recupera as instruções para fila de instruções, descodifica-as e armazena-as na fila de instruções descodificadas

Unidade de Execução (EU)

Contém a ALU (Unidade Lógica aritmética) os mesmos registos de dados de propósito geral mais significativo. Como no 8086, agora expandida para 32 bits cada

Como no 8086 esta arquitectura permite a procura e execução de instruções a sobrepor optimizando sistemas de perfomance

Page 8: 92612256-8086-Vs-80386

Microprocessador 80386

A Memory Management Unit (MMU) Dividida em duas partes:

→Unidade de segmentação: gera endereços físicos no 8086, enquanto o 386 opera no modo Real. Quando opera em modo protegido, o descritor de registos armazena o endereço base, tamanho, e atributos de vários segmentos. Em efeito estes registos cache armazenam a tabela de descritores na RAM, permitindo o processador fazer transferências mais rápidas.

→Unidade de paginação: determina os endereços físicos associados com cada segmento activo e permite segmentos serem divididos em páginas de 4 Kbytes. Normalmente só as páginas mais recentes são mantidas em memória, com outras trocadas fora do disco. Desta forma, actualmente os programas que solicitam mais memórias que as que existem fisicamente podem ser executadas. A esta memória designa-se por memória virtual.

8

Page 9: 92612256-8086-Vs-80386

Microprocessador 80386

Modos de operação (ou Trabalho)

Os microprocessadores 80386 podem funcionar em três modos de trabalhos diferentes e incompatíveis entre si.

9

Modo Real

Modo protegido

Modo Virtual

Page 10: 92612256-8086-Vs-80386

Microprocessador 80386

Modo Real

Principais características: Simplicidade e compatibilidade com versões anteriores

Espaço de endereçamento de memória é 1MB

O tamanho dos Segmentos è de 64 KB

Este modo não permite implementar outras facilidades tais como:

Multitarefa

Níveis de privilégio

Paginação da memória

Memória virtual

10

Page 11: 92612256-8086-Vs-80386

Microprocessador 80386

Modo Protegido Características:

Podem-se aceder aos 4GB de memória física

Permite o acesso a até 64 TB de memória virtual

A possibilidade de ser implementados mecanismo de protecção de informação

Permite a multitarefa

Permite a segmentação e paginação de memória

A possibilidade de implementar mecanismos de protecção na execução de varias tarefas em simultâneo dispondo de 4 níveis de privilégios entre as diferentes tarefas

11

Page 12: 92612256-8086-Vs-80386

Microprocessador 80386

Modo Virtual Permite múltiplos programas 8086 (ou outras aplicações de 80386) ser executados de forma independente entre eles.

Cada modo tarefa virtual do 80386 vê 1MB do espaço de endereçamento, que via paginação, pode ser mapeado em qualquer lugar em 4GB física do espaço de endereçamento de 80386.

Comparado ao modo real cada limite que limita o 386 a 1MB de memória física e uma tarefa de 8086, modo virtual 80386 permite procura de muitas tarefas como também outros estilos de programa de 386 (Endereçamento no modo protegido), que executam simultaneamente. Ou seja o 80386 pode operar em modo protegido e modo virtual simultaneamente.

12

Page 13: 92612256-8086-Vs-80386

Microprocessador 80386

Arquitectura interna e Registadores

13

Registadores de Propósito Geral

Page 14: 92612256-8086-Vs-80386

Microprocessador 80386

Registradores de uso geral 8 Registadores de 32 bits:

Podem ser divididos em registadores de 16 bits: AX, BX, CX, DX, SP, BP, SI,DI

14

EAX, EBX, ECX, EDX, ESP, EBP, ESI, EDI

Podem ser divididos em Registadores de 8 Bits AL, AH, BL, BH, CL, CH, DL, DH

EAX = Acumulador: Utilizado em operações Aritméticas e operações especificas como entrada, saída e tradução. EBX = Base: Trabalho com Matrizes e tabelas ECX = Contador: Contador em caso de operações repetitivas de controlo de cadeias. EDX = Dados: Usado junto com AX nas operações de multiplicação e divisão de 32 bits. Especifica endereço do porto de E/S em operações que o demandem.

Page 15: 92612256-8086-Vs-80386

Microprocessador 80386

Registadores Ponteiros de Stack ESP = Ponteiro de Stack (Stack Pointer): Aponta ao inicio do Stack com uso

das instruções de manejo da mesma.

EBP = Ponteiro base (base Pointer): Aponta a uma determinada área dentro do stack dedicado ao armazenamento de dados (variáveis locais e parâmetros das funções nos programas compilados).

Registadores Índice ESI = Índice fonte (Source Index): Registador de índice com uso de

endereçamento indirecto e em operações de cadeias.

EDI = Índice destino (Destination Index): Também aplicado no trabalho com uso do endereçamento indirecto e no armazenar dos valores de deslocamento em operações com cadeias.

IP = Ponteiro de instrução (instruction pointer): Marca o deslocamento da instrução em curso dentro do segmento de código. É modificado automaticamente com a leitura de uma instrução.

15

Page 16: 92612256-8086-Vs-80386

Microprocessador 80386

Registadores de Estado ou Indicadores (Flags)

16

CF (Carry flag): Indica carry em uma operação de 8 ou 16 bits (adição, subtração, rotação e deslocamento) PF (Parity Flag): Se activa depois das operações aritmético-lógicas indicando se a quantidade de bits (“1”’) resultantes é par (“0”) ou impar (“1”). AF ( Auxiliar Flag): Utilizado para ajuste em operações BCD. Indica carry entre duas metades de um operador de 4 dígitos em BCD. ZF (Zero Flag): Indica resultado 0 ou comparação igual. SF (Sign Flag): Indicador de resultado ou comparação negativa. Em 1 indica resultado negativo ou seja reflete o estado do bit mais significativo.

Page 17: 92612256-8086-Vs-80386

Microprocessador 80386

OF (Overflow flag): Indicador de overflow. Indica que o resultado de uma operação supera o tamanho do operado destino.

TF (Trap Flag): Útil para a execução depuração.

IF (Interrupt Flag): Indicador de interrupções. Em “1” permite a execução de interrupções externas.

DF (Direction Flag): Indica o sentido do avance (ascendente ou descendente). Em 1 permite que os ponteiros ESI e EDI se decrementem.

VM (Virtual Mode): Em 1 habilita o modo virtual dos 386

RF, NT, IOPL, E.I

17

Page 18: 92612256-8086-Vs-80386

Microprocessador 80386

Registadores de Segmento Definem áreas de 64 Kb dentro do espaço de endereços do 80386. Estas áreas podem ser sobrepostas total ou parcialmente. Não é possível aceder a uma posição de memoria não definida por algum

segmento.

18

CS = Registador de Code Segment: Contém o endereço do segmento com as instruções do programa. DS = Registador data Segment: Segmento da área de dados do programa. SS = Registador de Stack Segment: Segmento de pilha. ES, FS, GS = Registadores de Extra Segment: Segmento de ampliação da área de dados.

Page 19: 92612256-8086-Vs-80386

19

8086 80386

Barramento de dados 16/8 bits 32 bits

Dimensão Registos 16 bits 32 bits

Barramento de endereços 20 bits 32 bis

Dimensão memória 1 Mbytes 4 Gbytes

Protecção de memória Não Sim

Frequência relógio 5-8 Mhz 16-40 Mhz

Microprocessador 80386

Conclusão

Page 20: 92612256-8086-Vs-80386

Alexandro Lopes

Evanildo Gomes

José Gomes

Teodoro Reis

Obrigado!