Arquitectura de Computadores

Documentos relacionados
Arquitectura de Computadores

Introdução aos Computadores Introdução à Ciência de Computadores Outubro / 16

Arquitectura de Computadores

Fundamentos de Sistemas Operacionais

ULA Sinais de Controle enviados pela UC

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções

Organização de Computadores 1

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

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

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

Informática I. Aula Aula 19-20/06/06 1

Introdução à Informática

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

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

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

Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

O Funcionamento do Processador

Unidade Central de Processamento

Figura 1 - O computador

SIS17-Arquitetura de Computadores

Organização Básica do Computador

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

Fundamentos de Programação. Diagrama de blocos

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

Arquitectura de Computadores

Arquitetura de Computadores. Ivan Saraiva Silva

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

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

Introdução à Arquitetura de Computadores

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

Fundamentos de Arquitetura e Organização de Computadores

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Organização e Arquitetura de Computadores I

Estrutura de um Computador

Introdução a Programação Aula 01

Introdução à Programação de Computadores Parte I

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

Componentes de um Computador: Modelo Von Neumann

Nivel de Linguagem de Montagem (Assembly)

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

Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva

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

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

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

MODOS DE ENDEREÇAMENTO

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

Funcionamento básico de um computador

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

Edeyson Andrade Gomes

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

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

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Introdução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem

Oganização e Arquitetura de Computadores

Funcionamento básico de um computador

Desenho do Processador

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

ARQUITETURA DE COMPUTADORES

Arquitetura e Organização de Computadores

P L A N I F I C A Ç Ã O A N U A L

Microcontroladores e Microprocessadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Arquitetura de von Neumann

Organização e Arquitetura de Computadores I

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

RISC simples. Aula de Março de

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:

Manual do Simulador do Processador P3

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

Introdução à Computação: Arquitetura von Neumann

Nível da Microarquitetura

Medidas de Desempenho do Processador

Conjunto de Instruções e Arquitectura p.1

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

FCA - Editora de Informática xli

Sistemas Operacionais. Rodrigo Rubira Branco

Microprocessadores e Aplicações

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

Arquitetura de Banco de Dados

OBJETIVO GERAL DA DISCIPLINA

ARQUITETURA DE COMPUTADORES

DESCRITIVO TÉCNICO PLATAFORMA PCS

Data Path / Control Path Controle do MIPS

Projetando um Computador

Introdução à Engenharia de Computação

Microprocessadores. Prof. Leonardo Barreto Campos 1

Projetando um Computador Parte II Arquitetura do Processador BIP

Laboratório de Arquitectura de Computadores IST - Taguspark 2008/2009 Introdução aos sistemas binários Guião 1 9 a 13 de Março 2009

Arquitetura de Computadores II MIPS64. Prof. Gabriel P. Silva

Sistemas Lógicos II. Aula 10

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

Arquitetura de Computadores - Revisão -

Organização e Arquitetura de Computadores

Arquitecturas de Software Enunciado de Projecto

Sistema de Controlo com Acesso Remoto

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 1 de Março, 2010 José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 1 / 18

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 2010-03-01 2 / 18

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 3 / 18

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 3 / 18

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 3 / 18

Tipos de Computadores José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 3 / 18

Tipos de Computadores Jose Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 4 / 18

Tipos de Computadores Jose Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 5 / 18

Tipos de Computadores Jose Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 5 / 18

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

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

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 2010-03-01 6 / 18

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 2010-03-01 6 / 18

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 2010-03-01 7 / 18

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 2010-03-01 8 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 Sistemas Digitais Projectista de Processador Projectista de Sistemas Digitais José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 9 / 18

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 2010-03-01 10 / 18

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 2010-03-01 11 / 18

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 2010-03-01 12 / 18

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 2010-03-01 13 / 18

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 2010-03-01 13 / 18

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 2010-03-01 13 / 18

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 2010-03-01 14 / 18

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 2010-03-01 14 / 18

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 2010-03-01 14 / 18

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 2010-03-01 15 / 18

Modos de Endereçamento Modo de endereçamento Por registo Operação op RX José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Operação op RX op M[RX] José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Operação op RX op M[RX] op W José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Directo Operação op RX op M[RX] op W op M[W] José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Directo Indexado Operação op RX op M[RX] op W op M[W] op M[RX+W] José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Directo Indexado Relativo Operação op RX op M[RX] op W op M[W] op M[RX+W] op M[PC+W] José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Directo Indexado Relativo Baseado Operação op RX op M[RX] op W op M[W] op M[RX+W] op M[PC+W] op M[SP+W] José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Directo Indexado Relativo Baseado Indirecto 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]] José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 16 / 18

Modos de Endereçamento Modo de endereçamento Por registo Indirecto por registo Imediato Directo Indexado Relativo Baseado Indirecto Duplamente indirecto por registo 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 2010-03-01 16 / 18

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 2010-03-01 16 / 18

Revisão 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 2010-03-01 17 / 18

Próxima Aula pilha codificação das instruções arquitecturas de acesso à memória acesso a periféricos José Monteiro (DEI / IST) Arquitectura de Computadores 2010-03-01 18 / 18