TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Arquitetura de microprocessador 8086

Tese: Arquitetura de microprocessador 8086. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  20/3/2014  •  Tese  •  5.442 Palavras (22 Páginas)  •  538 Visualizações

Página 1 de 22

Arquitetura Intel x8086 – Simuladores

Trabalho desenvolvido para a disciplina de

Arquitetura de Computadores - EC.

Profº. Eduardo Bezerra

Porto Alegre, 28 de Abril de 2009

Sumário

Introdução 3

Arquitetura do microprocessador 8086 4

Registradores de Uso Geral 5

Registradores de Segmento 6

Apontador de Instrução: IP 7

Registrador de FLAGS 7

Memória 9

Modos de Endereçamento 10

Linguagem Assembly 11

Introdução ao Projeto dos Simuladores 12

Decodificação das Instruções 13

Exemplo de Fluxo de Instruções no Diagrama de Blocos 16

Sobre o arquivo teste 17

Simuladores 18

Simulador da arquitetura 8086 – Sem Pipeline 18

Executando o programa 18

Funcionamento 19

Cálculo do CPI 21

Simulador da arquitetura 8086 – Com Pipeline 22

O Pipeline 22

Conflitos do Pipeline 22

Hazards Estruturais 22

Hazards de Controle 22

Hazards de Dados 23

Executando o programa 24

Funcionamento 24

Cálculo do CPI 26

Sinais de Controle 27

Conclusão 29

Referências Bibliográficas 30

Introdução

O 8086 é um dos mais antigos e conhecidos microprocessadores de 16 bits. Sua popularidade se deve a ter sido escolhido como processador para a linha de computadores pessoais da IBM. Na verdade, o IBM-PC tradicional usa uma versão simplificada do 8086, o 8088. Novos membros da família IBM-PC (como o PC AT e o PS/2) usam extensões (versões melhoradas e parcialmente compatíveis) do 8086.

Arquitetura do microprocessador 8086

O microprocessador 8086 da Intel é um microprocessador de 16 bits, de forma que sua unidade lógica e aritmética, os seus registradores internos, e a maior parte das suas instruções foram projetados para trabalhar com palavras de 16 bits.

Além disso, o 8086 tem um barramento de dados de 16 bits, ou seja, pode ler e escrever na memória ou nos portos de E/S utilizando 16 bits de uma só vez. O barramento de endereços é de 20 bits, de forma que o 8086 pode endereçar 1 MB (220) posições de memória. Cada uma destas posições de memória é ocupada por um Byte.

O processador está dividido em duas unidades funcionais que cooperam entre si:

• A Unidade de Execução – ("Execution Unit" - EU): Esta unidade é responsável exclusivamente pela execução das instruções. Ela não se ocupa da transferência de informações entre o microprocessador e os demais componentes do sistema. Quando a execução de uma instrução exige o acesso a algum operando externo ao microprocessador, a EU gera uma solicitação à BIU.

• A Unidade de Interface com o Barramento – ("Bus Interface Unit" - BIU): Esta unidade se ocupa exclusivamente com a transferência de informações entre o microprocessador e o restante do sistema, ou seja, é responsável pelo endereçamento do barramento de endereços, lê instruções da memória, lê e escreve dados nas portas e na memória.

Figura 1.0: Diagrama de blocos da arquitetura interna de um processador 8086/88

A Figura 1.0 mostra a arquitetura interna dos microprocessadores 8086 e 8088. Existem basicamente duas diferenças entre eles: a largura do barramento externo de dados (8 bits no 8088, e 16 bits no 8086), e o tamanho do bloco "fila de instruções" (4 bytes no 8088 e 6 bytes no 8086).Nesta mesma figura podem ser visualizados os principais blocos são da arquitetura, sendo eles abaixo descritos:

I. Unidade Aritmética e Lógica (ALU ): unidade capaz de executar operações sobre 8 ou 16 bits. Executa operações lógicas e aritméticas, realiza a manutenção do estado do microprocessador e das flags de controle, além de manipular os registros de uso geral e dos operandos das instruções.

II. Banco de Registradores, constituído de:

• Registradores de Uso Geral: AX, BX, CX, DX, SP, BP, SI e DI;

• Registradores de Segmento: CS, DS, SS e ES;

• Apontador de Instrução: IP;

• Registrador de FLAGS.

Registradores de Uso Geral

São registradores de 16 bits, utilizados para armazenar qualquer informação durante a execução do programa.

Os registradores de uso geral são subdivididos em dois conjuntos de 4 registradores:

• Registradores

...

Baixar como (para membros premium)  txt (31.3 Kb)  
Continuar por mais 21 páginas »
Disponível apenas no TrabalhosGratuitos.com