Ney Laert Vilar Calazans Exemplo de Apresentação de TP1 Descrição Resumida de uma Arquitetura de Processador: o estudo de caso do Intel 8086 ORGANIZAÇÃO.

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Arquitetura de Computadores
WebDesign Redes de Computadores Aula 05
Arquitetura e organização de computadores
Execução de Programas Partes de um programa: ‣ Dados
SOFTWARE BÁSICO.
A Arquitetura: conjunto de instruções
Aula 4 – Sumário Linguagem assembly do MAC-1 A pilha
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
Unidade Lógica e Aritmética Introdução à Ciência da Computação
Arquitetura dos Microprocessadores 8086 e 8088
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
PROCEDIMENTOS COM RECURSIVIDADE
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Sistemas Operacionais
Introdução à Informática
O MICROPROCESSADOR INTEL 8080
REPRESENTAÇÃO DE INSTRUÇÕES
ANEXO-1: INSTRUÇÕES (MOVIMENTAÇÃO DE DADOS)
Assembly x86.
Autor: Fernando de Mesentier Silva
A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número.
EEL Microprocessadores
Aula Prática - Assembly
Funcionamento básico de um computador
Linguagem de Montagem.
Linguagem de Montagem Vetores.
Representação de Instruções
Classes de Arquiteturas Tipos de operação Codificação das operações
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
João Ferreira, Dez 2003STRINGS, 1/6 Definição de String String (sentido lato) -> um string é um conjunto de valores (não necessariamente interpretáveis.
Linguagem de Montagem PROVA 4 – 3/12.
ORGANIZAÇÃO DE COMPUTADORES
Prática de Programação Assembly 8086
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
2 -1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM - Laboratório.
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Agenda Modos de Endereçamento.
Processamento de dados na UCP e memória UCP
Unidade Central De Processamento: Processador
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Unidade Central De Processamento: Processador
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Arquitetura de Computadores
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc
A Linguagem de Máquina – Funções e recursividade Prof. André Luis M. Silva orgearq wordpress.com.
8088 Assembly Software Básico Mitsuo Takaki.
Arquitetura de Computadores 2009 Infra-estrutura Hardware
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
Rotinas do BIOS e DOS Serviços de vídeo (INT 10H)
Parte 3 Seção de Dados e Unidade de Controle
Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM Arrays e modos.
Aula 4 – Sumário Linguagem assembly do MAC-1: Funções e procedimentos
Lucas Aranha ASSEMBLY Lucas Aranha
Afonso Ferreira Miguel
Arquitetura de Sistemas Operacionais
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
O Stack e Subrotinas Permitem reusar o código Escreva e depure o código uma vez, use-o quantas vezes for preciso Uma Subrotina deve ser chamada Uma Subrotina.
Arquitetura do ARM RISC (Reduced Instruction Set Computer) – Conjunto relativamente grande de registradores – Modelo “load/store “de processamento Operações.
Modos de Endereçamento da família MC8051
Arquitetura ARM Subrotinas.  Implementar uma sub-rotina requer dois passos: 1.Armazenar o endereço de retorno. 2.Desviar a execução para o endereço da.
Programação em Assembly Conceitos Iniciais Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Ney Laert Vilar Calazans
Transcrição da apresentação:

Ney Laert Vilar Calazans Exemplo de Apresentação de TP1 Descrição Resumida de uma Arquitetura de Processador: o estudo de caso do Intel 8086 ORGANIZAÇÃO DE COMPUTADORES Última atualização - 13/março/2016 – v5.0

Sumário 1.Introdução 2.Diagrama de Blocos do I Os Elementos Definitórios da Arquitetura I Registradores do Programador em Linguagem de Montagem 2.Conjunto de Instruções 3.Formatos de Instrução 4.Modos de Endereçamento 5.Linguagem de Montagem 6.Modelo de Acesso à Memória 4.Exemplo de Programa - Soma dos Elementos de um Vetor 5.Referências

1 - Introdução Primeiro membro da família x ou iAPX86 Processador de 16 bits em um chip Projetado entre no mercado em versão simplificada do 8086, base do primeiro PC Principal mudança - barramento de dados de 8 e não 16 bits

Sumário 1.Introdução 2.Diagrama de Blocos do I Os Elementos Definitórios da Arquitetura I Registradores do Programador em Linguagem de Montagem 2.Conjunto de Instruções 3.Formatos de Instrução 4.Modos de Endereçamento 5.Linguagem de Montagem 6.Modelo de Acesso à Memória 4.Exemplo de Programa - Soma dos Elementos de um Vetor 5.Referências

2 - Diagrama de Blocos do I-8086 Execution Unit – Bloco de Dados, com Registradores de Dados Registradores Apontadores Registradores de Índice ULA de 16 bits Flags – registrador de status Bloco de Controle Control e Timing Fila de Instruções – “pre-fetch” Unidade de Interface com Barramentos Registradores de Segmento (4) Instruction Pointer – o PC

Sumário 1.Introdução 2.Diagrama de Blocos do I Os Elementos Definitórios da Arquitetura I Registradores do Programador em Linguagem de Montagem 2.Conjunto de Instruções 3.Formatos de Instrução 4.Modos de Endereçamento 5.Linguagem de Montagem 6.Modelo de Acesso à Memória 4.Exemplo de Programa - Soma dos Elementos de um Vetor 5.Referências

3 - Elementos Definitórios Registradores Registradores de Dados 8 de 8 bits interpretáveis como 4 de 16 AH, AL (AX) BH, BL (BX) CH, CL (CX) DH, DL (DX) Registradores de Controle Todos de 16 bits Ponteiros (SP, BP, SI, DI) Registradores de Segmento Code, Data, Stack and Extra Instruction Pointer – o PC Flags – High e Low

3 - Elementos Definitórios Conjunto de Instruções Conjunto de Instruções ou Instruction Set Ao todo são 117 instruções O código objeto de cada instrução ocupa de 1 a 6 bytes Lista das classes de instrução e exemplos Data transfer instructions – MOV, LDA, LDS,... Arithmetic instructions – ADD, ADC, INC, SUB, DIV, MUL, IMUL, IDIV Logic instructions – AND, OR, XOR, NOT,... Shift instructions – SAL, SHL, SHR, SAR,... Rotate instructions – ROL, ROR, RDL, RCR,... Flag control instructions – CLC, STC, LAHF, SAHF,... Compare instructions – CMP Jump instructions – JMP, JA, JB, JGE, JNE,... Subroutines and subroutine handling instructions – CALL, PUSH, RET,... Loop and loop handling instructions – LOOP, LOOPE,... Strings and string handling instructions – MOVS, CMPS,...

3 - Elementos Definitórios Formatos de Instrução

3 - Elementos Definitórios Modos de Endereçamento Existe um total de 18 modos de endereçamento A registrador - MOV AH,BL / MOV SP,BP – operandos do mesmo tamanho Deslocamento apenas - MOV AL, DS:[1234h] Indireto a registrador – MOV AL, [BX] (usam DS por omissão) Modos indexados – MOV CL, 20h[BX] / MOV AL, SS:5FH[BX] Indexado com base – MOV AL, [BX][SI] Indexado com base mais deslocamento – MOV AL, FFH[BX][SI] Etc.

3 - Elementos Definitórios Linguagem de Montagem Linguagem de Montagem Diretivas, definição de dados, rótulos LabelMnemonicOperandComment data exCodeDB 0;A byte variable myWordDW ?;Uninitialized word var..code MAIN PROC mov DS to address mov ds,ax; of data segment jmpExit;Jump to Exit label movcx,10;This line skipped! Exit: movah,04Ch;DOS function: Exit prog moval, exCode;Return exit code value int 21h;Call DOS. Terminate prog MAINENDP;End Program END MAIN; and specify entry point

3 - Elementos Definitórios - 6 – Modelo de Acesso à Memória PC possui 20 bits – i.e. gera um mapa de memória de 2 20 posições, ou 1M posições Cada posição contém um byte (endereçamento a byte) Logo o mapa de memória contém 1Mbytes, ou bytes para ser exato Primeira posição do mapa é endereço 00000H Última posição do mapa é FFFFFH Interface do processador  16 bits no barramento de dados (duas posições de memória acessadas por operação

Sumário 1.Introdução 2.Diagrama de Blocos do I Os Elementos Definitórios da Arquitetura I Registradores do Programador em Linguagem de Montagem 2.Conjunto de Instruções 3.Formatos de Instrução 4.Modos de Endereçamento 5.Linguagem de Montagem 6.Modelo de Acesso à Memória 4.Exemplo de Programa - Soma dos Elementos de um Vetor 5.Referências

4 – Exemplo de Programa – Soma de uma constante aos elementos de um vetor ; Programa que calcula a soma dos elementos de um vetor, ; armazena o resultado na posição de memória 'm' name"calc-sum" org100h ; Diretiva para colocar o código do programa ; a partir do endereço de memória 100 hexa ; no segmento de dados. movcx,5; Gera número de elementos do vetor moval,0; Registrador AL (8 bits), vai guardar a soma movbx,0; BX contém índice do vetor (inicializado com 0) next:addal,vector[bx] ; Instrução acima busca o próx. elem. do vetor incbx; Incrementa o índice loopnext ; Executa laço até cx=0 (loop  CX-1, salta se CX /=0) movm,al; Armazena res. da soma em AL na posição m end:ret ; Variáveis do programa vectordb5, 4, 5, 2, 1 mdb0

Sumário 1.Introdução 2.Diagrama de Blocos do I Os Elementos Definitórios da Arquitetura I Registradores do Programador em Linguagem de Montagem 2.Conjunto de Instruções 3.Formatos de Instrução 4.Modos de Endereçamento 5.Linguagem de Montagem 6.Modelo de Acesso à Memória 4.Exemplo de Programa - Soma dos Elementos de um Vetor 5.Referências

5 - Referências [WIK11]Wikipedia. “x86 assembly language”. Available at X86_assembly_language, captured in March, X86_assembly_language [INT79] Intel Corporation. “Intel 8086”. Family Users Manual, pages. [INT90] Intel Corporation. “ BIT HMOS MICROPROCESSOR 8086/8086-2/8086-1”. Microprocessor Datasheet, September pages. [SAF15]Safar, Felix. “14 The Instruction Set of 8086”. Clase de Teoría Inaugural Available at 4_Instruccion_set.pdf 4_Instruccion_set.pdf [WIK16]Wikipedia. Intel Available at captured in March,