28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86



Documentos relacionados
Linguagem de Montagem

2 - Processadores. CEFET-RS Curso de Eletrônica. Organização de Computadores. Profs. Roberta Nobre & Sandro Silva

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Componentes do Computador e. aula 3. Profa. Débora Matos

PROFESSOR ÉVERSON MATIAS DE MORAIS SISTEMAS OPERACIONAIS. Sistemas operacionais (so) Roteiro

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Infraestrutura de Hardware. Memória Virtual

Sistemas Computacionais II Professor Frederico Sauer

ARQUITETURA DE COMPUTADORES

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

ULA Sinais de Controle enviados pela UC

Evolução dos Processadores

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Arquitetura de Computadores. Tipos de Instruções

28/9/2010. Unidade de Controle Funcionamento e Implementação

Arquitetura de Computadores - Revisão -

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Introdução à Arquitetura de Computadores

Memória Cache. Prof. Leonardo Barreto Campos 1

Organização e Arquitetura de Computadores

CPU Unidade Central de Processamento. História e progresso

Estrutura de um Computador

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

ARQUITETURA DE COMPUTADORES

Memória. Espaço de endereçamento de um programa Endereços reais e virtuais Recolocação dinâmica Segmentação

3. Arquitetura Básica do Computador

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

BARRAMENTO DO SISTEMA

Organização de Computadores 2005/2006 Processadores Intel

Organização de Computadores 1

Introdução. ULA: Faz os Cálculos UC: Como isso tudo ocorre?

2. A influência do tamanho da palavra

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Sistemas Operacionais

Arquitetura de Computadores. Arquitetura de Computadores 1

Edeyson Andrade Gomes

Memória cache. Prof. Francisco Adelton

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Arquitetura de Computadores. Sistemas Operacionais IV

Sistemas Operacionais


2º Estudo Dirigido CAP 3

Introdução à Engenharia de Computação

Organização Básica do Computador

Organização e Arquitetura de Computadores I

Componentes de um Computador: Modelo Von Neumann

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Gerência de Memória. Paginação

Programação de Sistemas

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

Visão Geral de Sistemas Operacionais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Estruturas do Sistema de Computação

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

MODELO DE S.O. DEFINIÇÕES

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

ARQUITETURA DE COMPUTADORES

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Microprocessadores. Prof. Leonardo Barreto Campos 1

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

11- Tornar transparente para o processador os detalhes de operação e controle dos dispositivos periféricos.

ARQUITETURA DE COMPUTADORES

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

ARQUITETURA DE COMPUTADORES

Introdução aos Computadores

Organização e Arquitetura de Computadores I. de Computadores

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Disciplina: Introdução à Informática Profª Érica Barcelos

Unidade: Unidade Lógica e Aritmética e Registradores. Unidade I:

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de Unidade Sistemas de Arquivos

Nível da Microarquitetura

Sistemas Operacionais. Prof. André Y. Kusumoto

Exercícios Gerência de Memória

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Aula 26: Arquiteturas RISC vs. CISC

Arquitetura de Computadores. Prof. João Bosco Jr.

O Hardware Dentro da Unidade do Sistema

Sistemas de Informação. Sistemas Operacionais 4º Período

Arquitetura e Organização de Computadores

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Transcrição:

Arquitetura de Computadores Arquitetura dos Processadores Intel 80x86 Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Família Intel 80x86 Ao se falar em processadores, é inevitável deixar de citar a Intel Corporation e sua influente família 80x86, que é formada pelos principais processadores utilizados pelos computadores pessoais. Este capítulo dedica-se a apresentar uma visão geral deste modelo de arquitetura e estudar os principais componentes e respectivas tarefas desta família de processadores. 2 Intel 8086 A família 80x86 começou em junho de 1978, com o lançamento do processador 8086/8088*, que teve várias versões até 1982, quando foi substituído pelo 80286. A primeira versão lançada foi constituída por 29.000 transistores, e apresentava um desempenho de 0.33 MIPS, a uma velocidade de 5 MHz Foram ainda lançadas versões de 8 e 10 MHz, sendo que esta última atingia um desempenho de 0.75 MIPS Intel 8086 O 8086 veio atender às necessidades de aplicações que exigiam processamento de 16 bits, maior capacidade de memória, modos de endereçamento mais sofisticados (para facilitar a execução de programas escritos em linguagem de alto nível) e suporte para sistemas operacionais multiprogramados A figura a seguir ilustra os principais elementos da arquitetura do 8086 3 4 1

Intel 8086 Intel 8086 O Intel 8088 possui a mesma organização do 8086, as únicas diferenças estão no tamanho da fila de instruções (8 bytes no 8086 e 4 bytes no 8088) e no barramento de dados (16 bits no 8086 e 8 bits no 8088); devido as semelhanças, estudaremos o 8086 A arquitetura do 8086 é dividida em 2 unidades principais: a unidade de execução (EU Execution Unit) e a unidade de interface de barramento (BIU Bus Interface Unit) 5 6 Intel 8086 Enquanto a EU abrange a unidade lógica e aritmética e a unidade de controle, a BIU é responsável por controlar os acesso externos à memória principal e aos dispositivos de E/S Se durante sua execução uma instrução requer um acesso a um dado armazenado na memória, a EU solicita o acesso a BIU Intel 8086 Unidade de Execução A ULA opera sobre dados de 8 ou 16 bits; associado a ela existe um conjunto de 4 registradores de uso geral, denominados AX, BX, CX e DX Cada um destes registradores de 16 bits é formado por uma metade inferior (AL, BL, CL e DL) e por uma superior (AH, BH, CH e DH), onde podem ser realizados acessos individuais, constituindo cada metade um registrador de 8 bits 7 8 2

Intel 8086 Unidade de Execução Função dos registradores: AX: acumulador em instruções aritméticas e lógicas; BX: usado por algumas instruções para armazenar ponteiros para dados armazenados na memória CX: usado em instruções especiais, como o controle de loop DX: usado como uma extensão do reg. AX em instruções de multiplicação e divisão, armazenando a metade superior de um produto de 32 bits ou de um dividendo de 32 bits 9 Intel 8086 Unidade de Execução Além dos de uso geral, existem na EU registradores indexadores e apontadores, são eles: SI (Source Index) e DI (Destination Index): utilizados em operações envolvendo cadeias de caracteres (strings) SP (Stack Pointer) e BP (Base Pointer) são normalmente usados para realizar o acesso a pilha em chamadas e retorno de rotinas; SP aponta para o topo da pilha e o BP para a área de dados locais, na pilha, da rotina em execução Flags e Operandos são usados para registrar informações sobre o resultado de operações aritméticas e lógicas e ainda, alguns bits de controle 10 Intel 8086 Unidade da Interface de Barramento Todos os acessos à memória e às interfaces de E/S são controlados pela BIU. O 8086 possui um barramento de endereço de 20 bits, que suporta uma M.P. de até 1 MB O 8086 acessa a memória organizada de forma segmentada; nesta organização a memória é dividida logicamente em blocos chamados segmentos, cada um com um endereço-base distinto Uma locação de memória é referenciada através de seu deslocamento (offset) 11 Intel 8086 Unidade da Interface de Barramento A BIU possui um conjunto de registradores de segmento, onde cada registrador armazena dos 16 bits mais significativos do endereço-base do segmento. A cada acesso realizado, o valor do endereçobase é concatenado à esquerda com quatro bits 0, formando um endereço de 20 bits; a este endereço é somado o deslocamento (através de um somador dedicado da BIU), resultando no endereço da alocação O deslocamento é um valor de 16 bits, o que limita os segmentos a um tamanho máximo de 64 KB 12 3

Intel 8086 Unidade da Interface de Barramento No 8086, um programa residente na memória é dividido em 4 segmentos: Segmento de código: contém as instruções do programa; Segmento de dados: corresponde a área de dados do programa; Segmento de pilha: área que se destina a pilha do programa Segmento extra: área de dados adicional Intel 8086 Unidade da Interface de Barramento Para cada um destes segmentos existe um registrador que armazena os 16 bits mais significativos do endereço-base do segmento correspondente. Estes registradores são: CS: Code Segment register; DS: Data Segment register; SS: Stack Segment register; ES: Extra Segment register. 13 14 Intel 8086 Unidade da Interface de Barramento Os quatro segmentos de um programa são referenciados de acordo com o tipo de acesso a memória, por exemplo, buscas de instruções são feitas dentro do segmento de código indicado pelo valor corrente no registrador de segmento CS No acesso a instruções, o deslocamento é dado pelo conteúdo do registrador IP (Instruction Pointer), que indica a próxima instrução a ser buscada na memória O reg. IP é diferente do contador de programas, que indica a próxima instrução a ser executada Intel 8086 Unidade da Interface de Barramento Acesso a dados em memória acontecem dentro do segmento indicado pelo registrador DS, e o deslocamento é gerado pelo programa, de acordo com o modo de endereçamento usado Acesso a dados também podem ocorrer dentro do segmento extra, apontado pelo registrador ES Acesso à pilha ocorrem dentro do segmento de pilha indicado pelo registrador SS 15 16 4

Intel 8086 Busca Antecipada de Instruções O 8086 conta com um mecanismo de busca antecipada de instruções (instruction prefetch), para que o passo de busca de instrução seja desvinculado dos demais passos de execução da instrução Desta forma, novas instruções podem ser buscadas antecipadamente enquanto uma instrução anterior ainda está sendo executada Na busca antecipada, a fase de busca e a fase de execução são separadas, e o tempo de busca da instrução seguinte é mascarado pelo tempo de execução da instrução corrente. Intel 8086 Busca Antecipada de Instruções Na busca antecipada de instruções, é utilizada uma fila de instruções, para manter as instruções buscadas antecipadamente, até serem buscadas pela EU Uma instrução trazida antecipadamente permanece nesta fila até ser retirada pela EU Em uma arquitetura sem busca antecipada, o PC indica a próxima instrução a ser executada, que é exatamente a próxima instrução a ser buscada 17 18 Intel 8086 Busca Antecipada de Instruções A busca antecipada reduz o tempo médio de conclusão de cada instrução Consequentemente, o tempo para executar um certo número de instruções é menor, otimizando o desempenho Após o 8086, várias técnicas de paralelismo de operações foram desenvolvidas, como no pipelining e arquiteturas super-escalares 19 Intel 8086 conjunto de instruções As instruções do 8086 podem ser classificas nos seguintes grupos: Instruções aritméticas; Instruções lógicas; Instruções de manipulação de strings; Instruções de transferência de dados; Instruções de transferência de controle. A arquitetura do 8086 é do tipo memória-registrador, logo, as operações lógicas e aritméticas especificam explicitamente 2 operandos, sendo que que um deles atua como operando-fonte e operando-destino Apenas um dos operandos pode se encontrar na memória 20 5

Intel 8086 conjunto de instruções As instruções aritméticas operam sobre números de 8 ou 16 bits, com ou sem sinal Estão disponíveis instruções aritméticas específicas para BDC As instruções lógicas implementam as operações booleanas básicas, instruções para deslocamento aritmético e instruções para rotação do conteúdo de registradores Operações de manipulação de strings incluem: movimentação entre regiões de memória, comparação, procura de caracteres dentro da string e transferência entre registradores e a memória Intel 8086 conjunto de instruções As instruções de transferência de dados podem ser: de uso geral, que incluem as transferências de dados entre registradores, registradores e memória e acesso à pilhas; especiais, utilizadas para carregar registradores de segmento, salvar/carregar o registrador de estado e para realizar o acesso a interfaces de E/S 21 22 Intel 8086 conjunto de instruções Instruções de transferência de controle podem ser classificadas como: Condicionais: um desvio pode ou não ser executado, dependendo se a condição testada pela instrução é ou não verdadeira; Incondicionais: o desvio sempre é efetuado; são instruções de chamada/retorno de rotinas e instruções de controle de loop Estão disponíveis instruções de transferência de controle especiais, como INT, que provoca uma interrupção, usada para implementar uma chamada ao sistema operacional Intel 80286 As principais novidades na arquitetura do 80286 foram a execução de instruções em pipeline e o suporte para memória virtual Na arquitetura do 80286 foi implantado o conceito de unidades independentes, que realizam funções específicas: A unidade de barramento controla os acessos a memória e interfaces de E/S, e realiza a busca antecipada de instruções, colocadas em uma fila na unidade de barramento 23 24 6

Intel 80286 Intel 80286 A unidade de instrução decodifica as instruções, colocando as instruções decodificadas em uma fila; a instrução decodificada fornece de maneira mais detalhada todas as informações necessárias à execução da instrução A unidade de controle, a ULA e o conjunto de registradores formam a unidade de execução A unidade de execução retira da fila da UI as instruções já decodificadas A ULA do 80286 é de 16 bits e o conjunto de registradores é idêntico ao do 8086 25 26 Intel 80286 A unidade de endereço é responsável por controlar a memória virtual, o que torna possível a execução de programas com tamanho de código maior do que a capacidade da memória principal 27 Intel 80286 modos de operação O 80286 pode operar em dois modos, chamados modo real e modo protegido No modo real, o 80286 opera com um modelo de memória semelhante ao do 8086, contando com uma memória segmentada de 1 Mbyte No modo protegido é utilizada a memória virtual; neste modo, é dividida em 16384 segmentos, cada um com 64 Kbytes de capacidade Em teoria, seria possível executar programas com até 1 Gbyte de tamanho, mas devido ao barramento de endereço externo de 24 bits, o tamanho máximo de MP é de 16 Mbytes 28 7

Intel 80286 modos de operação No modo protegido é possível a execução de sistemas operacionais multiprogramados de maneira mais eficiente, uma vez que provê proteção entre segmentos pertencentes a diferentes programas É importante observar que estes dois modos de operação são estáticos: quando o 80286 é iniciado, começa a operar no modo real; a execução de uma instrução especial comuta sua operação para o modo protegido, e permanece neste modo até que seja reiniciado 29 Intel 80286 modos de operação Programas para o 8086 não podem ser executados no modo protegido, pois quando o sistema passa a funcionar neste modo, os registradores de segmento assumem funções diferentes daquelas no 8086 (uma limitação corrigida no 80386) As diversas unidades no 80286 podem operar simultaneamente, realizando tarefas que fazem parte da execução de diferentes instruções, implementando a técnica conhecida como pipeline; no 8086 a execução é puramente sequencial 30 Devido a um período de transição, foram lançadas duas versões do : SX: barramento de dados externo é de 16 bits; DX: barramento de dados externo é de 32 bits; A arquitetura do 80386 é formada por oito unidades lógicas, cujas funções básicas são: Bus Interface Unit (Unidade de barramento): responsável por controlar os acessos externos à memória e interfaces de E/S; recebe os pedidos de acesso à memória de várias outras unidades 31 32 8

Prefetch unit: realiza a busca antecipada de instruções; possui uma fila de instruções, com capacidade de 16 bytes, que solicita acessos à memória para a unidade de barramento sempre que a fila estiver parcialmente vazia ou quando uma instrução de transferência de controle é executada Decode unit: retira uma instrução da fila de instruções e gera uma instrução decodificada, que é armazenada na fila de instruções decodificadas (decoded queue) que, por sua vez, são retiradas pela unidade de controle para serem executadas A unidade de dados (data unit) é formada por uma ULA e um conjunto de registradores de 32 bits, representado abaixo: 31 16 15 0 AH AX AL BH BX BL CH CX CL DH DX DL EAX EBX ECX EDX ESP EBP ESI EDI 33 34 Existem 4 registradores de dados de 32 bits (EAX, EBX, ECX e EDX) nos quais podem ser feitos acessos a metade inferior de cada um, como registradores de 16 bits (AX, BX, CX e DX) que, por sua vez, podem ser considerados como formados por dois registradores de 8 bits, mantendo a compatibilidade com arquiteturas anteriores Os registradores apontadores ESP e EBP e os registradores indexadores ESI e EDI são realizados acesso apenas como registradores de 32 bits 35 A memória virtual do 80386 é gerenciada pela três unidades restantes: protection unit, segmentation unit e paging unit O 80386 implementa um modelo de memória virtual organizada em segmentos e páginas; A unidade de proteção verifica se um endereço se encontra dentro dos limites de um segmento; As unidades de segmentação e paginação realizam a conversão entre endereços virtuais e endereços reais 36 9

Além dos modos real e protegido, já existentes no 80286, o 80386 possui mais um modo, chamado modo 8086 virtual Neste modo, programas desenvolvidos para o 8086 podem ser executados em um ambiente multiprogramado protegido No 80386 é possível comutar livremente do modo protegido para o modo real e vice-versa, o que ocorre, por exemplo, na abertura de uma janela MS-DOS na interface gráfica Windows (que executa em modo protegido), possibilitando a execução de programas escritos para o 8086 (modo virtual) A arquitetura do 80386 inclui todas as instruções disponíveis nas versões anteriores, além de várias outras, com destaque para as de teste de bits, procura de caracteres em strings e movimentação e conversão de dados No 80386 estão disponíveis 11 modos de endereçamento (incluindo os usados em versões anteriores) além de um novo componente utilizado no cálculo do endereço efetivo, chamado escala (scale) 37 38 Escala é um fator (1, 2, 4 ou 8) que multiplica o índice nos modos de endereçamento indexado A escala facilita o acesso a vetores com elementos de 16, 32 ou 64 bits; por exemplo, para percorrer um vetor com elementos de 32 bits, são necessários incrementos de 4 bytes no endereço efetivo Se for utilizada uma escala 4, cada incremento de 1 do índice resulta, após a multiplicação do índice pela escala, no incremento de 4 bytes no endereço efetivo Intel 80486 Do ponto de vista arquitetural, o 80486 é basicamente uma extensão da arquitetura do 80386, contendo uma memória cache de 8 Kbytes e uma unidade de ponto flutuante Em sistemas baseados no 80386 a memória cache e a unidade de ponto flutuante são externos ao processador 39 40 10

Intel 80486 Intel 80486 Uma estratégia de mercado muito utilizada nesta época e que é empregada até hoje são as diferentes versões de implementação, oferecendo diferentes recursos com custos variados 80486-SX: não possui a unidade de ponto flutuante integrada com o processador, apenas a memória cache 80486-DX: possui unidade de ponto flutuante e cache integradas com o processador; a frequência de clock do processador é a mesma usada nos ciclos de barramento para acessos à memória e interfaces de E/S 41 42 Intel 80486 80486-DX2: a frequência de clock interna ao processador é o dobro da frequência externa usada nos ciclos de barramento, o que permite a compatibilidade entre versões mais novas do processador com hardware de sistemas mais antigos e lentos Foi lançada ainda uma versão DX4 do 80486, com o clock interno triplicado, mas ficou pouco conhecida por ter sido lançada após o Pentium Intel 80486 memória cache O 80486 possui uma cache com capacidade de 8 kbytes, para o armazenamento de instruções e dados, organizada em 128 conjuntos de 4 linhas cada tag controle linha 0 (16 bytes) linha 1 linha 2 conjunto 0 linha 3......... conjunto 127 43 44 11

Intel 80486 memória cache Intel 80486 memória cache O 80486, assim como a maioria dos processadores, utiliza um modelo de cache n- associativa por conjunto Um endereço de cache é composto pelos seguintes campos: Byte, formado pelos 4 bits menos significativos; Conjunto, formado pelos 7 bits seguintes; Tag, formado pelos 21 bits mais significativos do endereço. Observe que o tamanho destes campos está relacionado com a configuração da cache, que pode variar entre diferentes processadores 45 46 Intel 80486 memória cache A não coincidência do tag do endereço com os tags armazenados no conjunto indica que o byte referenciado não se encontra na cache (cache miss) É usado um bit de controle para saber se o bloco armazenado em uma linha selecionado foi ou não modificado desde o seu carregamento na cache No caso da substituição de blocos, o bit de controle serve para determinar se o bloco selecionado pode ser simplesmente descartado ou deve atualizar o dado correspondente na M.P. 47 Intel 80486 memória cache A memória cache no 80486 utiliza a política de substituição LRU (Least Recently Used) Para minimizar os caches misses residuais, o 80486 implementa uma memória cache secundária, em uma estrutura conhecida como memória cache de dois níveis A quantidade de memória cache varia dependendo do modelo do 80486; a cache primária é integrada ao processador e possui um tamanho de no máximo 64 Kbytes; a cache secundária é externa ao processador e pode chegar a capacidade de 512 Kbytes 48 12

Como possui suporte a memória virtual, o 80486 pode operar em dois modos: No modo real, o mecanismo de memória virtual é desativado, e o modelo de memória é idêntico ao do 8086: os programas visualizam uma memória segmentada, com um tamanho máximo de 1 Mbyte No modo protegido, o mecanismo de memória virtual é ativado, e o espaço de endereçamento é de 64 Tbytes, enquanto o tamanho do espaço de endereçamento real é de 4 Gbytes O uso da memória virtual requer uma unidade de MMU (Memory Management Unit), que contém o hardware necessário ao uso da memória virtual 49 O 80486 suporta os modelos de memória virtual segmentada e paginada O endereçamento virtual é organizado em segmentos com tamanho entre 1 byte e 4 Gbytes, e cada segmento, por sua vez, pode ser subdivido em páginas com 4 Kbytes de tamanho O exemplo a seguir ilustra duas situações: na primeira, a utilização de memória virtual apenas segmentada; na segunda, com a paginação ativada, o DAT de segmentação gera um endereço linear, que por sua vez é convertido pelo DAT de paginação no endereço real 50 Na M.V. segmentada, o DAT considera que os endereços virtuais são formados por um seletor de segmento (segment selector) de 14 bits e um deslocamento (offset) de 32 bits O seletor de segmento é formado pelos 14 bits mais significativos de um dos registradores de segmento disponíveis OBS: DAT (Dynamic Address Translator): realiza o mapeamento entre um endereço físico real e um endereço virtual, gerado pelo sistema O deslocamento é o próprio endereço gerado pelo programa, e indica a posição do byte onde será feito o acesso em relação ao início do segmento 51 52 13

segmentada segmentada Os 13 bits mais significativos do seletor de segmento são usados para indexar uma tabela de descritores A tabela de descritores desempenha o papel da tabela de mapeamento: cada entrada da tabela contém um descritor de segmento que, dentre outras informações, indica o endereço-base do segmento na memória principal O endereço-base da tabela de descritores é armazenada em um registrador específico, o DTR (Description Table Register) 53 54 segmentada segmentada O seletor de segmento é concatenado ao endereço em DRT, resultando no endereço de um descritor de segmento O deslocamento é então somado ao endereçobase do segmento indicado pelo descritor de segmento, resultando no endereço real do byte referenciado 55 56 14

paginada Na paginação do 80486, o mapeamento é feito em dois níveis: primeiro, existe uma tabela de diretório, que indica os endereços-base das tabelas no segundo nível Cada tabela no segundo nível é chamada de tabela de página, e contém os endereços-base das páginas na memória principal paginada O campo recebido do DAT de segmentação é dividido logicamente em três campos: Diretório: com 10 bits, para acessar uma entrada na tabela de diretório; Tabela: com 10 bits, é usado para o acesso a uma entrada em uma das tabelas de página; Deslocamento: com 12 bits, indica a posição do byte dentro da página 57 58 paginada 59 15