Arquitectura de Computadores



Documentos relacionados
Arquitectura de Computadores

Conjunto de Instruções (ISA) I

Arquitectura de Computadores

Arquitectura de Computadores

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

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

Arquitectura de Computadores

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

Introdução à Engenharia de Computação

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

Organização de Computadores 1

Introdução à Engenharia de Computação

ULA Sinais de Controle enviados pela UC

EEC2104 Microprocessadores

1. SINTAXE DA LINGUAGEM ASSEMBLY

Arquitetura de Um Processador I

Modos de entrada/saída

MODOS DE ENDEREÇAMENTO

Processadores Características (Introdução)

Edeyson Andrade Gomes

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Programa de Unidade Curricular

Ambiente de desenvolvimento de Programação Assembly MCU 8051 IDE

Introdução à Arquitetura de Computadores

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Aula 14: Instruções e Seus Tipos

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

Introdução à Computação. Conceitos básicos sobre computadores. ISEP DEI, Angelo Martins 2006 Conceitos básicos sobre computadores - 1

Arquitectura de Computadores

Arquitetura de Computadores Moderna

Introdução à Arquitetura de Computadores IFES Campus Serra

MICROPROCESSADORES. Arquitectura do Conjunto de Instruções. Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico

ÁREA DISCIPLINAR DE CIÊNCIA E TECNOLOGIA DA PROGRAMAÇÃO. Tem sob a sua responsabilidade as seguintes unidades curriculares:

Licenciatura em Engenharia Eletrotécnica e de Computadores (3 anos)

Linguagem de Montagem

Conjunto de instruções e modos de. aula 4. Profa. Débora Matos

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

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

3º Trabalho de Laboratório. Unidade de Controlo Microprogramada

Capítulo 7 Nível da Linguagem Assembly

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

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

ARQUITETURA DE COMPUTADORES

Arquitetura de Computadores. Linguagem de Máquina

Computador Cleópatra

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Figura 1 - O computador

Instituto Superior Técnico Licenciatura em Engenharia Informática e de Computadores. Projecto de. Arquitectura de Computadores.

Funcionamento básico de um computador

Arquitectura de Computadores

INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre

MATA49 Programação de Software Básico

Arquitetura de Computadores. Ivan Saraiva Silva

ARQUITETURA DE COMPUTADORES

Solução Lista de Exercícios Processadores

Arquitectura de Computadores

Linguagem de Montagem 2. Operações e Operandos

DEPARTAMENTO DE DE ENGENHARIA ENGENHARIA MECÂNICA. Ciclo de estudos integrado conducente ao grau de mestre em engenharia mecânica

Sistemas Operacionais Aula 2

Conjuntos de Instruções

Hardware Fundamental

Livro de Ponto Automático e Controlo de Assiduidade

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

Introdução aos Computadores

Informática I. Aula 5. Aula 5-13/05/2006 1

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

CRITÉRIOS DE AVALIAÇÃO

Linguagens de Programação

IDENTIFICAÇÃO MANUTENÇÃO

Estrutura de um Computador

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

RISC simples. Aula de Março de

28/9/2010. Unidade de Controle Funcionamento e Implementação

Ferramentas Web, Web 2.0 e Software Livre em EVT

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

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Conjunto de Instruções e Arquitectura p.1

Introdução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto

Introdução à Arquitetura de Computadores

1. Verificar se a Microsoft.NET Framework 2.0 está instalada. Se não estiver, efectuar o download a partir do link e instalar:

Disciplina: Laboratório de Circuitos Digitais

1. INTRODUÇÃO. Computador Digital: É uma máquina capaz de solucionar problemas através da execução de instruções que lhe são fornecidas.

Programação ao nível da máquina. Operações lógicas e aritméticas

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

A Reestruturação da Licenciatura em Engenharia Informática de Junho de 2013

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

PLANIFICAÇÃO ANUAL ANO LETIVO DE 2013/2014 Curso de Educação e Formação Tipo 3 Nível 2

Gestão de projectos na Web

4-1. Parte2: A Arquitetura do Conjunto de Instruções

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 1º Teste - 03/07/2008

Microprocessadores. Prof. Leonardo Barreto Campos 1

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

Transcrição:

Arquitectura de Computadores Fundamentos (9, 10.1 a 10.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 5 de Março, 2009 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 1 / 16

Sumário da Aula Tipos de computadores Arquitectura básica de um computador Níveis de abstracção Código máquina vs linguagem Assembly Instruções Assembly José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 2 / 16

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 3 / 16

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 3 / 16

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 3 / 16

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 3 / 16

Tipos de Computadores Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 4 / 16

Tipos de Computadores Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 5 / 16

Tipos de Computadores Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 5 / 16

Tipos de Computadores Vendas mundiais de microprocessadores no ano 2000: Servidores PCs Outros José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 6 / 16

Tipos de Computadores Vendas mundiais de microprocessadores no ano 2000: Servidores PCs Outros 4.000.000 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 6 / 16

Tipos de Computadores Vendas mundiais de microprocessadores no ano 2000: Servidores PCs Outros 4.000.000 150.000.000 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 6 / 16

Tipos de Computadores Vendas mundiais de microprocessadores no ano 2000: Servidores PCs Outros 4.000.000 150.000.000 1.000.000.000 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 6 / 16

Arquitectura de um Computador Instruções (programa) Ambiente Entradas (sensores) Saídas (actuadores) Processador Estado (memória) Realidade (analógica) Interface (analógica-digital) Controlador / Observador (digital) José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 7 / 16

Estrutura Interna de um Processador Unidade de processamento Unidade de controlo Palavra de controlo Bits de estado Banco de registos ULA PC IR Barramento de endereços Barramento de dados José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 8 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Níveis de Abstracção Nível 5 Aplicação Programador Nível 4 Linguagem de Alto Nível Compilador Nível 3 Linguagem Assembly Assembler Nível 2 Nível 1 Nível 0 Código Máquina Microprograma em Linguagem de Transferência de Registos Projectista de Processador Projectista de José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 9 / 16

Código Máquina Endereço Valor Base 2 Base 16 Base 2 Base 16 0001000000000000 1000 1010111001110000 AE70 0001000000000001 1001 0000000001000000 0040 0001000000000010 1002 1000011001110000 8670 0001000000000011 1003 0000000010110000 00B0 0001000000000100 1004 1000011001110000 8670 0001000000000101 1005 0000000010110001 00B1 0001000000000110 1006 0100000000000001 4001 0001000000000111 1007 1010110001110000 AC70 0001000000001000 1008 1111000000000000 F000 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 10 / 16

Código Máquina Assembly Endereço Código Assembly Código Máquina 1000h MOV R1, M[0040h] AE70h 1001h 0040h 1002h ADD R1, M[00B0h] 8670h 1003h 00B0h 1004h ADD R1, M[00B1h] 8670h 1005h 00B1h 1006h NEG R1 4001h 1007h MOV M[F000h], R1 AC70h 1008h F000h José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 11 / 16

Linguagem Assembly ORIG 1000h N1 EQU 0040h N2 EQU 00B0h N3 EQU 00B1h N4 EQU F000h MOV ADD ADD NEG MOV R1, M[N1] R1, M[N2] R1, M[N3] R1 M[N4], R1 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 12 / 16

Tipos de Instruções Assembly Transferência de Dados Transferem informação de um local (registo, posição de memória ou porto de entrada/saída) para outro, sem alterar a informação original. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 13 / 16

Tipos de Instruções Assembly Transferência de Dados Transferem informação de um local (registo, posição de memória ou porto de entrada/saída) para outro, sem alterar a informação original. Manipulação de Dados Aplicam um operador aritmético ou lógico ao operando(s), especificados pela sua localização, e guardam o resultado da mesma. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 13 / 16

Tipos de Instruções Assembly Transferência de Dados Transferem informação de um local (registo, posição de memória ou porto de entrada/saída) para outro, sem alterar a informação original. Manipulação de Dados Aplicam um operador aritmético ou lógico ao operando(s), especificados pela sua localização, e guardam o resultado da mesma. Controlo Permitem alterar a sequência normal de instruções e definir qual a próxima instrução a ser executada. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 13 / 16

Campos de uma Instrução Assembly Código de Operação (Opcode): especifica a instrução a executar José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 14 / 16

Campos de uma Instrução Assembly Código de Operação (Opcode): especifica a instrução a executar Localização dos Operandos: indicação sobre onde (registo ou memória) ir buscar os dados de entrada e guardar o resultado (modo de endereçamento) José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 14 / 16

Campos de uma Instrução Assembly Código de Operação (Opcode): especifica a instrução a executar Localização dos Operandos: indicação sobre onde (registo ou memória) ir buscar os dados de entrada e guardar o resultado (modo de endereçamento) Especificação dos Operandos: índice do registo a usar ou endereço de memória a aceder José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 14 / 16

Localização dos Operandos Registos internos do processador. Constante, especificada na própria instrução. Posição de memória. Porto de entrada/saída. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 15 / 16

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Directo Indexado Relativo Baseado Indirecto Duplamente indirecto por registo Impĺıcito Operação op RX op M[RX] op W op M[W] op M[RX+W] op M[PC+W] op M[SP+W] op M[M[W]] op M[M[RX]] José Monteiro (DEI / IST) Arquitectura de Computadores 2009-03-05 16 / 16