Arquitetura de Computadores

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Parte 1: Organização de Computadores
Parte 1: Organização de Computadores
Capitulo 6: Entrada e Saída
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
CPU: Controle e processamento
Arquitetura de Computadores
Nível de arquitetura do conjunto de instrução
Arquitetura e organização de computadores.
Organização de computadores Professora Marcela Santos Aula 8 – Conjunto de instruções.
Autor: Salvador P. Gimenez
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.
Software Básico Silvio Fernandes
ARQUITETURAS RISC E CISC
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
Exemplo de arquitetura registrador-registrador- MIPS
Arquitetura de Sistemas Operacionais
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Sistemas Operacionais
CISC e RISC.
Altera NIOS II: uma breve introdução
Professor: Erivelto Tschoeke – UDESC/CEPLAN
O MICROPROCESSADOR INTEL 8080
Sistemas Digitais Microprocessados
REPRESENTAÇÃO DE INSTRUÇÕES
Modos de endereçamento
Arquitetura de Computadores
Autor: Fernando de Mesentier Silva
2- Entendendo o que é Arquitetura e Organização
Representação de Instruçõ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.
Fundamentos de programação CUDA
SISTEMAS OPERACIONAIS
Unidade Central de Processamento UCP
ORGANIZAÇÃO DE COMPUTADORES
Arquitetura de computadores
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda Modos de Endereçamento.
Processamento de dados na UCP e memória UCP
Ambiente de Execução - Rotinas
Prof. Remy Eskinazi - Microcontroladores
Unidade Central De Processamento: Processador
Geração de Código aula-12-geração-de-código.pdf.
SISTEMAS OPERACIONAIS I
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Capítulo VIII Ambientes de Execução
Unidade Central De Processamento: Processador
Back-End Compilação aula-11-back-end.pdf.
Microprocesadores x Microcontroladores
8088 Assembly Software Básico Mitsuo Takaki.
DSC/CEEI/UFCG Introdução à Computação. DSC/CEEI/UFCG 2 Hardware – Memória  Componente de um sistema de computação cuja função é armazenar informações.
Registradores.
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.
Nível ISA.
Parte 3 Seção de Dados e Unidade de Controle
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Bruno Iran Ferreira Maciel
Arquitetura de computadores
Arquitetura de Sistemas Operacionais
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
A linguagem de Máquina – Instruções Básicas
Arquitetura do ARM RISC (Reduced Instruction Set Computer) – Conjunto relativamente grande de registradores – Modelo “load/store “de processamento Operações.
Nível ISA.
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
Modos de Endereçamento da família MC8051
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Transcrição da apresentação:

Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos

Modos de Endereçamento Imediato Direto Indireto Registrador Indireto Via Registrador Deslocamento (Indexação) Pilha 2

Endereço Efetivo Sistemas Sem Memória Virtual Endereço da Memória Principal ou Registrador Sistemas Com Memória Virtual Endereço Virtual ou Mapeamento para Endereço Físico  Mecanismo Específico

Endereçamento Imediato Operando é Parte da Instrução Algoritmo Operando = Campo de Endereço Aplicações Típicas Definição e Uso de Constantes Atribuição de Valores Iniciais a Variáveis Nenhuma Referência à Memória Rápido Magnitude Limitada 3

Diagrama de End. Imediato Instrução Opcode Operando 4

Endereçamento Direto Campo de Endereço  End. do Operando Algoritmo End. Efetivo (EA) = Campo de End. (A) Referência Única à Memória Sem Cálculos Adicionais para Obter EA Espaço de Endereçamento Limitado 5

Diagrama de End. Direto Instrução Opcode Endereço A Memória Operando 6

Endereçamento Indireto Campo de Endereço  End. de Palavra na Memória  End. do Operando Algoritmo EA = (A) Vantagem Tam. da Palavra = N  Espaço de End. 2N Desvantagem 2 Acessos à Memória para Obter Operando 7

Diagrama de End. Indireto Instrução Endereço A Opcode Memória Ponteiro p/Op. Operando 9

Endereçamento de Registrador Semelhante ao End. Direto Campo de Endereço  Registrador Onde Está Operando Algoritmo EA = R Tipicamente Campo de End. 3-4 bits  __ Registradores? 10

Endereçamento de Registrador Vantagem Tamanho do Campo de End. é Pequeno  Instruções Pequenas Não Requer Referência à Memória  Busca Mais Rápida Desvantagem Espaço de Endereçamento Limitado 11

Diagrama de End. de Registrador Instrução Opcode End. do Registrador R Registradores Operando 12

End. Indireto Via Registrador Semelhante ao End. Indireto Campo de End.  Registrador R com End. do Operando Algoritmo EA = (R) Vantagens e Desvantagens Um Acesso à Memória a Menos 13

Diagrama de End. Indireto Via Registrador Instrução Opcode End. do Registrador R Memória Registradores Ponteiro para Op. Operando 14

End. Por Deslocamento Combina Capacidades de End. Direto e Indireto Via Registrador Algoritmo EA = A + (R) Dois Campos de End. A = End. Explícito, Usado Diretamente R = Registrador com Deslocamento 15

Diagrama de End. Por Deslocamento Instrução Opcode Registrador R Endereço A Memória Registradores + Ponteiro para Op. Operando 16

End. Por Deslocamento Três Usos Comuns Endereçamento Relativo End. Via Registrador-Base Indexação

End. Por Deslocamento End. Relativo R = Program Counter, PC EA = A + (PC) Deslocamento Relativo ao End. da Instrução Explora Conceito de Localidade e Uso da Cache Maioria das Referências à Memória  Posições Próximas da Instrução Atual Ver Apêndice 4A 17

End. Por Deslocamento End. Via Registrador-Base R = Endereço Base A = Deslocamento Forma Conveniente de Implementar a Segmentação de Memória Referência a R Pode Ser Explícita ou Implícita Ex.: Registradores de Segmento no 80x86 18

End. Por Deslocamento Indexação A = Base R = Deslocamento EA = A + R Conveniente para Acessar Matrizes R++ 19

Indexação – Combinações Pós-Indexação EA = (A) + (R) Pré-Indexação EA = (A+(R)) Diagramas Atividade! 20

Endereçamento à Pilha Topo da Pilha (Implicitamente)  Operando Pilha Seqüência Linear de Posições de Memória Bloco Reservado Lista Push-Down Fila LIFO (Last In, First Out) Apontador de Topo da Pilha (Stack Pointer)  Registrador Referência à Pilha = End. Indireto Via Registrador 21

Formatos de Instrução Disposição de bits da Instrução Inclui Código de Operação (OpCode) Zero ou Mais Operandos (Implícita ou Explicitamente) Usualmente Mais de Um Formato de Instrução em Um Conjunto de Instrução

Formatos de Instrução Questões Fundamentais Tamanho de Instrução Alocação de bits Instruções de Tamanho Variável

Tamanho de Instrução Afeta e É Afetada por Tamanho da Memória Organização da Memória Estrutura de Barramento Complexidade da CPU Velocidade da CPU Determina Riqueza e Flexibilidade da Máquina para Programador Assembly

Tamanho da Instrução Conflito Demanda dos Programadores Fornecer Repertório de Instruções Poderoso Necessidade de Economizar Espaço Demanda dos Programadores Mais Códigos de Operação  Prg. Compacto Mais Operandos  Prgs. Mais Compactos Mais Modos de End.  Mais Flexibilidade Maior Espaço de Endereçamento

Tamanho da Instrução Instruções Maiores = Desperdício? Espaço Instr. de 32 bits = 2 X Instr. de 16 bits Utilidade É Duas Vezes Maior? Tamanho da Instrução = Unidade de Transferência de Dados Memória-CPU? Nº de Instruções Obtidas em Um Ciclo de Busca

Alocação de bits Conflito Uso de OpCodes de Tamanho Variável Nº de OpCodes Capacidade de Endereçamento Uso de OpCodes de Tamanho Variável Tamanho Mínimo para OpCode

Alocação de bits Fatores de Uso dos bits As Escolhas São Críticas? Número de Modos de Endereçamento Número de Operandos Memória ou Registrador 8 a 32 Registradores Visíveis ao Usuário Número de Conjuntos de Registradores Dois ou Mais: Dados e Deslocamento Faixa de Endereços Granularidade de Endereçamento Tamanho da Palavra X Acesso ao Byte/Palavra As Escolhas São Críticas?

Instruções de Tamanho Variável Instruções de Tamanhos Diferentes X Tamanho Único Custo Principal Complexidade da CPU Tamanhos de Instruções = Múltiplos ou Divisores do Tamanho da Palavra Estratégia Típica: Buscar Sempre o Nº de Bytes do Tamanho da Maior Instrução

Pentium Pesquisar Conclusões Modos de Endereçamento Formatos de Instrução Conclusões Instruction Set = Simples ou Complexa? Compatibilidade e Legado Fornecer ao Desenvolvedor de Compiladores Ferramentas para Produzir Código Eficiente

Por onde estudar ? Computer Organization and Architecture William Stallings Cap. 10