Linguagem de Montagem



Documentos relacionados
Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza

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

Linguagem de Montagem

Linguagem de Montagem

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

Linguagem de Montagem 2. Operações e Operandos

Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos

Universidade do Algarve Faculdade de Ciências e Tecnologia Área Departamental de Engenharia Electrónica e Computação

Organização de Computadores 1

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

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

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

Evolução dos Processadores

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

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

2. A influência do tamanho da palavra

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

ARQUITETURA DE COMPUTADORES

x86 Assembly Mini-Course

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

Aritmética de Ponto Flutuante

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Rodrigo Rubira Branco

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Uso de interrupções de BIOS/DOS

EEL Microprocessadores

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

ULA Sinais de Controle enviados pela UC

Arquitetura do 8086/8088

Memória cache. Prof. Francisco Adelton

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

2. NÍVEL DE SISTEMA OPERACIONAL

Entradas/Saídas. Programação por espera activa Programação por interrupções

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

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

SIS17 - Arquitetura de Computadores

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Introdução à Engenharia de Computação

Organização de Computadores 2005/2006 Processadores Intel

Introdução à Engenharia de Computação

Laboratório de Hardware

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

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

Aula 10 Processadores de Propósito Geral

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

MODELO DE S.O. DEFINIÇÕES

Organização e Arquitetura de Computadores I

ARQUITETURA DE COMPUTADORES

Arquitetura de Computadores. Tipos de Instruções

Informática Básica. Arquitetura de Computadores. Marcelo Diniz

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

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:

Infraestrutura de Hardware. Memória Virtual

Introdução à Arquitetura de Computadores IFES Campus Serra

Arquitetura de Computadores

Introdução à Arquitetura de Computadores

Arquitetura de Computadores - Revisão -

Gerência do Sistema de Arquivos. Adão de Melo Neto

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

Marcos da Arquitetura de Computadores (1)

John von Neumann(Budapeste. Desenvolvido no IAS(Institute of Advanced Studies-Princeton\USA). Iniciado em1946 e finalizado em 1952

How to write Shellcodes por Luiz Fernando Camargo

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

Barramento. Barramentos. Barramento. Barramento

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Sistemas Operacionais. Professor Leslier Soares Corrêa

Capítulo 4 Gerenciamento de Memória

Organização de Computadores Como a informação é processada?

1. SINTAXE DA LINGUAGEM ASSEMBLY

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Gerência de Entrada/Saída

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

Sistemas Microcontrolados

Introdução à Arquitetura de Computadores

armazenamento (escrita ou gravação (write)) recuperação (leitura (read))

Arquitetura de Computadores - Princípio de Funcionamento da CPU. Por Helcio Wagner da Silva

O processador é um dos elementos componentes do computador moderno, sendo responsável pelo gerenciamento de todo o computador.

DISPOSITIVOS DE BLOCO. Professor: João Paulo de Brito Gonçalves

I n f o r m á t i c a

Projeto 1 - Bootloader

Notas de Cálculo Numérico

Software Básico (INF1018)

Sistemas Operacionais. Prof. André Y. Kusumoto

Conceitos Básicos sobre Sistemas Operacionais

2º Estudo Dirigido CAP 3

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS

Introdução. Hardware (Parte II) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

Computador Cleópatra

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

Organização de Computadores 2005/2006 Processadores Intel

Sistemas Lógicos II. Aula 10

Instruções funcionamento em 16 bits. 8B bytes W Mod 000 r/m

Memórias. Considerações iniciais Tipos de memórias RAMs Estrutura das RAMs Expansão das RAMs 12/3/10. Mário Serafim Nunes Guilherme Silva Arroz

Arquitetura de Sistemas Operacionais

Transcrição:

Linguagem de Montagem Organização do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1

Processador Pentium Lançado em 1993 Versão melhorada do 80486 Barramento de endereços de 32 bits (4GB) Barramento de dados de 64 bits Todos os registradores internos são de 32 bits Tamanho da palavra de 32 bits Todas as instruções operam sobre operandos de, no máximo, 32 bits 2

Processador Pentium (cont.) Registradores do Pentium O Pentium possui dez registradores de 32 bits e seis de 16 bits Internos ao processador Provêem acesso rápido aos dados Estes registradores são agrupados em: Registradores de Uso Geral Registradores de dados Registradores apontadores Registradores indexadores Registradores de Controle (Flags) Registradores de Segmentos 3

Processador Pentium (cont.) Registradores de Dados Quatro registradores de 32 bits Podem ser usados como Quatro registradores de 32 bits (EAX, EBX, ECX, EDX) Quatro registradores de 16 bits (AX, BX, CX, DX) Oito registradores de 8 bits (AH, AL, BH, BL, CH, CL, DH, DL) Uma combinação válida destes 4

Processador Pentium (cont.) Registradores Apontadores e Indexadores Quatro registradores Dois em cada grupo Podem ser usados tanto como registradores de 16 ou 32 bits Registradores Apontadores Usados para manter a pilha Registradores Indexadores Podem ser usados como registradores de dados de uso geral Desempenham papel importante nas operações com cadeias de caracteres 5

Processador Pentium (cont.) Registradores de controle (operações do processador) (operações de strings) (operações lógicas e aritméticas) (program counter) 6

Processador Pentium (cont.) Registradores de Segmento Necessários para dar suporte à organização de memória segmentada do Pentium 7

Arquitetura de Memória do Pentium Dois modos Modo Real Usa endereços de 16 bits Suporta arquitetura de memória segmentada Provê compatibilidade com códigos escritos para 8086 Modo Protegido Modo nativo do Pentium Usa endereços de 32 bits Suporta conceitos de S. O. como segmentação e Paginação Paginação é útil para implementar Memória Virtual Vamos trabalhar com programação Assembly usando apenas o modelo segmentado de memória em modo real 8

Arquitetura de Memória em Modo Real Arquitetura de Memória em Modo Real O Pentium opera como um 8086 muito mais rápido O 8086 possui 20 bits de endereçamento Todos os registradores são de 16 bits A memória é organizada em segmentos de até 64KB cada Devido ao tamanho dos registradores (2 16 = 64K) Dois componentes são necessários para especificar uma posição de memória Endereço base do segmento e deslocamento dentro do segmento (ambos números de 16 bits) 9

Arquitetura de Memória em Modo Real (cont.) O endereço base de 16 bits restringe o segmento a começar sempre em endereços múltiplos de 16 Segmentos iniciam apenas em endereços como 0, 16, 32, 48... 10

Arquitetura de Memória em Modo Real (cont.) Endereços lógicos consistem de dois componentes de 16 bits segmento:deslocamento O endereço físico é um número de 20 bits Tradução de endereço lógico para físico Acrescenta-se 4 zeros menos significativos ao endereço base Soma-se o valor do deslocamento Exemplo: Traduzir o endereço 1100:450 11000 (acrescenta-se zero ao endereço de segmento) 450 (valor do deslocamento) 11450 (endereço físico de 20 bits) 11

Arquitetura de Memória em Modo Real (cont.) 12

Arquitetura de Memória em Modo Real (cont.) Múltiplos endereços lógicos podem mapear para o mesmo endereço físico (endereço físico) (endereço físico) 1200:A9H 1000:20A9H 13

Arquitetura de Memória em Modo Real (cont.) Seis segmentos de memória em modo real * Programas podem acessar até 6 segmentos * Dois deles são: - Dados - Código * O outro tipicamente pilha * Demais segmentos: Usados p/ dados, código... 14

Arquitetura de Memória em Modo Real (cont.) Existem várias maneiras de posicionar segmentos na memória 15

Associação padrão de Registradores de Segmentos Pentium usa registradores diferentes dependendo do tipo de referencia à memória Apontador de próximas Instruções CS:(E)IP CS é o registrador de segmento base (de código) IP é o registrador de deslocamento (offset) Operações com a pilha (16-bit:SP, 32-bit:ESP) SS é o registrador de segmento base (de pilha) SP provê o deslocamento para operações como pop e push BP provê o deslocamento para outras operações Acessando Dados (ler ou escrever) DS é o registrador de segmento (de dados) Deslocamento (offset): depende do modo de endereçamento 16

Entrada/Saída E/S Diferentemente de uma linguagem de alto nível, LA não dispõem de interfaces sofisticadas de E/S (Ex.: funções scanf e printf do C) Controladores de E/S fornecem a interface necessária com dispositivos de E/S Gerenciam detalhes de baixo nível dependentes de cada dispositivo Fornecem os sinais elétricos com intensidade suficiente para garantir o correto funcionamento da comunicação 17

Entrada/Saída E/S (cont.) Registradores internos às unidades controladoras de E/S são usados no processo de comunicação 18

Entrada/Saída E/S (cont.) Os pontos de troca de dados entre processador e controladores de E/S são chamados de Portas de E/S Duas maneiras de mapear portas de E/S E/S mapeada em memória Portas de E/S são mapeadas no espaço de endereçamento de memória Ler e escrever E/S é similar a ler e escrever na memória Motorola 68000 usa este tipo de mapeamento E/S Isolada Espaço de E/S separado Requer instruções especiais para E/S Os processadores Intel suportam E/S isolada 19