Upload
everton-seib
View
5
Download
0
Embed Size (px)
Citation preview
Arquitectura de Computadores
1
LEE – 2º Ano
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
Microprocessador 80386 3
bus interface unit (BIU)
central processing unit (CPU)
memory management unit (MMU)
Arquitectura
4
Microprocessador 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
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
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
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
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
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
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
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
Microprocessador 80386
Arquitectura interna e Registadores
13
Registadores de Propósito Geral
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.
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
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.
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
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.
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
Alexandro Lopes
Evanildo Gomes
José Gomes
Teodoro Reis
Obrigado!