Arquitetura de microprocessador 8086
Tese: Arquitetura de microprocessador 8086. Pesquise 862.000+ trabalhos acadêmicosPor: userboy • 20/3/2014 • Tese • 5.442 Palavras (22 Páginas) • 585 Visualizações
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
...