Capítulo 4 Nível da microarquitetura

Tamanho: px
Começar a partir da página:

Download "Capítulo 4 Nível da microarquitetura"

Transcrição

1 Capítulo 4 Nível da microarquitetura Nível acima da lógica digital Função: Implementar a ISA (Instruction Set Architecture) O projeto da microarquitetura depende diretamente da ISA, além dos objetivos de custo e performance 4.1 Exemplo de Microarquitetura Cada microarquitetura é única => não existe fórmula Exemplo: Subconjunto da JVM => Apenas instruções com inteiros (IJVM) Microprograma (ROM): Busca, decodificação e execução das instruções IJVM Cada instrução IJVM é uma função a ser chamada pelo programa principal Programa principal: Loop simples, sem fim => determina a próxima função chamada, executa a função, determina a próxima função, executa a função,... Instruções IJVM: curtas, normalmente um ou dois campos. O primeiro campo é sempre o OPCODE. Microprograma: possui um conjunto de variáveis, acessadas por todas as funções => estado do computador MAR (Memory Address Register): Porta de endereçamento de memória (32 bits) MDR (Memory Data Register): Porta de dados de memória (32 bits), leitura ou escrita na memória. PC (Program Counter): indica a posição de memória(endereço) que contém a próxima instrução a ser executada. MBR (Memory Byte Register) : Porta de dados da memória (8 bits), apenas leitura da memória SP (Stack Pointer): Aponta para o topo da pilha LV (Local Variable): Aponta para a base das variáveis locais dentro da pilha CPP (Constant Pool Pointer): Aponta para a base da área de constantes. TOS OPC H (Holding Register) 79

2 4.1.1 Data Path Possui a ULA, suas entradas e saídas. Conjunto de registradores de 32 bits (arquivo de registradores) => acessíveis apenas no nível da microarquitetura (pelo microprograma) 6 linhas de seleção da função da ULA => apenas 16 funções úteis Número negativo: Complemento de dois Argumentos da ULA: 1º argumento: sempre do registrador H (Holding) 2º argumento: Qualquer um dos outros registradores, excluindo o H e MAR 80

3 Saída da ULA: Alimenta o deslocador Deslocador: SLL8 (Shift Left Logical) SRA1 (Shift Right Arithmetic) É possível ler e escrever em um mesmo registrador no mesmo ciclo de relógio. Temporização da via de dados Subciclos: liberação dos sinais de controle leitura dos registradores operação da ULA e deslocador propagação do resultado para os deslocadores Temporização rígida; Ciclo de relógio suficientemente grande Menor tempo possível de propagação na ULA (e deslocador) Carregamento rápido dos registradores 81

4 Operação de Memória Duas comunicações com a memória porta de acesso de memória de uma palavra, 32 bits => Controlada por MAR e MDR. porta de acesso de memória de um byte, 8 bits = > Controlada por MBR e PC. MAR contém endereços de palavras PC contém endereços de bytes MAR/MDR => Utilizados para ler palavras de dados no nível ISA => 32 bits PC/MBR => Utilizados para ler o programa executável no nível ISA => 8 bits Memória física orientada por Bytes (total de 4GB) => mapeamento de MAR no barramento de endereço. Leitura de MBR no barramento B: Com sinal Sem sinal Microinstruções 29 sinais para controlar a via de dados: 9 sinais para escrita nos registradores 9 sinais para leitura dos registradores 8 sinais para controlar a ULA e deslocador 2 sinais para indicar leitura ou escrita via MAR/MDR 1 sinal para indicar busca de instrução via PC/MBR Os sinais especificam a operação da via de dados em um ciclo de relógio. Uma leitura da memória (em MDR ou MBR) iniciada ao fim do ciclo k só terá o dado disponibilizado a partir do ciclo k+2. É possível ler dados distintos da memória em dois ciclos consecutivos. Não é possível ler mais de um registrador ao mesmo tempo => decodificação da leitura => necessidade de apenas 24 bits para controlar a via de dados. 82

5 Os 24 bits controlam a via de dados em um ciclo da via de dados => necessidade de informar o que será feito no próximo ciclo => inclusão dos campos NEXT_ADDRESS e JAM. ADDR: Contém o endereço da possível próxima microinstrução JAM: Determina como a próxima microinstrução é selecionada ALU: Funções da ULA e Deslocador C: Seleção de qual registrador é carregado do barramento C MEM: Funções da memória B: Seleção de qual registrador é lido no barramento B Controle das Microinstruções: MIC 1 Seqüenciador: Determina quais sinais de controle devem ser habilitados em cada ciclo, responsável por seguir uma seqüência de operações necessárias para a execução de uma única instrução ISA: 1. Determina o estado de cada sinal de controle do sistema 2. Explicita o endereço da próxima microinstrução a ser executada Control Store: memória que contém todo o microprograma (512 palavras de 36 bits). As microinstruções NÃO são armazenadas seqüencialmente na memória de controle => cada microinstrução especifica sua sucessora. MPC (MicroProgram Counter): Especifica o endereço da memória de controle MIR (MicroInstruction Register): Saída de dados da memória de controle 83

6 MIR é carregado na transição negativa do clock com o dado apontado por MPC. 84

7 JMPC = 0 Bit de mais alta ordem de MPC = (JAMZ AND Z) OR (JAMN AND N) OR NEXT_ADDRESS(8). Duas possíveis sucessoras para a microinstrução corrente: JMPC = 1 MPC = MBR OR NEXT_ADDRESS Normalmente os 8 bits de mais baixa ordem de NEXT_ADDRESS são zero. O bit de mais alta ordem pode ser "1" ou "0". 4.2 Exemplo de ISA: IJVM Pilhas (Stacks) Local de memória utilizada para variáveis temporárias (locais). Acessada por dois registradores: LV Local Variables aponta para a base das variáveis locais SP Stack Pointer aponta para o topo da pilha Quadro local: estrutura de dados entre LV e SP 85

8 Pilha de operandos: Quando a pilha é utilizada para armazenar valores intermediários em uma expressão. Nem todas as máquinas utilizam este recurso Modelo de Memória da IJVM Memória vista de duas formas: Vetor de 4G bytes Vetor de 1G palavras, cada palavra 4 bytes Endereços implícitos que fornecem a base para um ponteiro => as instruções só podem acessar a memória indexando a partir destes ponteiros. Separação da memória em quatro partes, acessíveis a qualquer momento: 1. Área de constantes (Constant Pool): Não pode ser escrita por um programa. Carregada quando o programa é lido para a memória. Consiste de constantes, strings e ponteiros para outras áreas de memória. CPP: Aponta sempre para a base desta área (endereço da primeira palavra da área de constantes). 2. Quadro de variáveis Locais (Local Variable Frame): Não inclui a pilha de operandos Utilizada para a alocação de variáveis durante a execução de um procedimento. A pilha de operandos está localizada exatamente acima do quadro de variáveis locais. Argumentos da chamada do procedimento armazenados no começo do quadro de variáveis locais. LV: Possui o endereço da primeira posição do quadro de variáveis locais. 3. Pilha de Operandos: A pilha não excede um certo tamanho, garantido pelo compilador Java. A área da pilha de operandos é alocada acima da área de variáveis locais SP: aponta para o topo da pilha de operandos => valor alterado durante a execução do programa. 4. Área de Métodos: Região de memória que contém o programa. 86

9 Tratada como um vetor de bytes. PC: Aponta para a próxima instrução a ser buscada. CPP, LV e SP => Ponteiros para palavras (4 bytes), todos offsets utilizados para indexar estas áreas de memória são offsets de palavras => LV+1 não representa a posição de memória do byte acima de LV mas a posição de memória do quinto byte acima de LV. PC => Ponteiro para byte 87

10 4.2.3 Conjunto de instruções IJVM Cada instrução consiste de um OPCODE e, em alguns casos, de um operando (offset de memória ou constante) byte, const e varnum: um byte disp, index e offset: dois bytes Fontes das palavras a serem colocadas na pilha: Área de constantes: LDC_W Quadro de variáveis locais: ILOAD Área de instruções: BIPUSH Local de armazenamento das variáveis retiradas da pilha: Quadro de variáveis locais: ISTORE Própria pilha: IADD, ISUB, IAND, IOR Saltos: Incondicional: GOTO Condicional: IFEQ, IFLT, IF_ICMPEQ Chamada de função (método): INVOKEVIRTUAL Retorna de função : IRETURN 88

11 Execução de um método 1. A função que chama o método coloca um apontador (OBJREF) para o objeto a ser chamado na pilha; 2. A função que chama o método coloca os parâmetros do método na pilha (Parâmetro 1, Parâmetro 2, Parâmetro 3). 3. Finalmente executa se o INVOKEVIRTUAL 4. A instrução INVOKEVIRTUAL possui um deslocamento (disp), como argumento => indica a posição na área de constante que possui o endereço inicial na área de métodos. Primeiros 4 bytes na área de método: 2 bytes indicando o número de parâmetros (OBJREF é contado como o Parâmetro 0) => Juntamente com SP fornece a posição de OBJREF. LV apontará para OBJREF. 2 bytes indicando o tamanho da área de variáveis locais do método que será executado => necessário para determinar a nova posição de SP. Quinto byte é a primeira instrução a ser executada. 5. Os dois primeiros bytes da área de métodos são utilizados para posicionar LV => OBJREF é substituído por um ponteiro indicando a posição do antigo PC. 6. Acima do antigo valor de PC, o antigo valor de LV também é armazenado. 7. SP passa a apontar para o endereço da posição do antigo LV (pilha encontra se vazia). 8. PC passa a apontar para o quinto byte da área de métodos. 89

12 90

13 Retorno de um método A instrução IRETURN reverte as operação da instrução INVOKEVIRTUAL Desaloca o espaço utilizado pelo método que estava sendo executado. Retorna a pilha para o estado anterior: OBJREF e todos os parâmetros são retirados da pilha O valor de retorno é colocado no topo da pilha, na posição inicialmente ocupada por OBJREF. 91

14 4.2.4 Compilando Java para IJVM 92

15 4.3 Exemplo de Implementação Microintruções e Notação Memória do microprograma: 36 bits por palavra Controle a cada ciclo: Possibilita executar diversas operações concorrentemente Necessário para compreender e verificar as operações Mais fácil para uma possível otimização (redução de ciclos por instrução) Notação: MAL (Micro Assembly Language) SP = SP+1; rd => incrementa SP e inicia uma operação de leitura da memória MDR = SP => copia o valor de SP para MDR MD = H + SP => adiciona o conteúdo do registrador H ao registrador SP escrevendo o resultado em MDR. MDR = SP + MDR => INVÁLIDO! (um dos argumentos tem que ser H) H = H MDR => INVÁLIDO! (o subtraendo deve vir de H) SP = SP+1;rw => Incrementa SP e inicia uma operação de escrita na memória (4 bytes) SP = SP+1; fetch => incremeta SP e inicia uma operação de busca de instrução (1 byte) goto label => salto incondicional para a próxima microinstrução marcada por "label" Z = TOS => Utilizada para verificar se o valor de um registrador é nulo. Simplesmente passa o registrador pela ULA, sem armazenar o resultado. N = TOS => Similar a anterior, porém testa se o valor do registrador é negativo. if (Z) goto L1; else goto L2 => Salto condicional Z=TOS; if (Z) goto L1; else goto L2 goto (MBR or value) => goto (MBR) => utiliza o bit JMPC 93

16 Nem todas as operações são permitidas O mesmo registrador não pode receber um valor da memória e da via de dados no mesmo ciclo: MAR = SP;rd MDR = H Cada microinstrução fornece o endereço para a próxima microinstrução 94

17 4.3.2 Implementação do IJVM usando o MIC microinstruções As microinstruções não estão necessariamente em posições subsequentes TOS: contém o valor da memória apontada por SP Topo da pilha OPC: registrador temporário. Pode ser utilizado para armazenar o valor de PC em uma instrução de salto. A seqüência de microinstruções sempre começa no endereço igual ao OPCODE do IJVM. BIPUSH: Coloca um byte na pilha ILOAD: WIDE: Altera o índice das instruções ILOAD e ISTORE IINC: Soma uma constante a uma variável local 95

18 96

19 97

20 98

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Máquina de Vários Níveis Modernas (ISA) Interpretação (microprograma) ou execução direta ou microarquitetura Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação

Leia mais

Microarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1

Microarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1 Microarquitetura IJVM mic-1 Datapath mic-1 Este é mais um exemplo de datapath para microarquitetura IJVM desenvolvida por Andew Tanenbaum Parte da CPU que contém a ALU, suas entradas e saídas 2 Função

Leia mais

Um Exemplo de Nível ISA: o IJVM. Pilhas. Pilhas. O Modelo de Memória da IJVM. Pilhas de Operandos. Nível ISA

Um Exemplo de Nível ISA: o IJVM. Pilhas. Pilhas. O Modelo de Memória da IJVM. Pilhas de Operandos. Nível ISA Ciência da Computação Arq. e Org. de Computadores Nível ISA Prof. Sergio Ribeiro Um Exemplo de Nível ISA: o IJVM Objetivo: Introduzir um nível ISA (Instruction Set Architecture), a ser interpretado pelo

Leia mais

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura Ciência da Computação Arq. e Org. de Computadores Nível da O projeto do nível de microarquitetura depende: da arquitetura do conjunto das instruções a serem implementadas. dos objetivos de custo e desempenho

Leia mais

TE Arquitetura e Organização de Computadores

TE Arquitetura e Organização de Computadores TE 11008 Arquitetura e Organização de omputadores Nível da Microarquitetura Ronaldo de Freitas Zampolo LaPS/ENGOMP/ITE/UFPA TE 11008 Arquitetura e Organização de omputadores Microarquitetura p. 1 Tópicos

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Índice 1- Introdução 2- Exemplo de Microarquitetura

Leia mais

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES Máquina de Vários Níveis Modernas (ISA)

Leia mais

1. Macroarquitetura 2. Emulador do MIC-1 3. O Nível ISA: IJVM. Bibliografia. Teresina - 2011. 3.1. Pilhas 3.2. Conjunto de Instruções IJVM

1. Macroarquitetura 2. Emulador do MIC-1 3. O Nível ISA: IJVM. Bibliografia. Teresina - 2011. 3.1. Pilhas 3.2. Conjunto de Instruções IJVM Universidade Federal do Piauí Centro de Tecnologia Departamento de Engenharia Elétrica Macroarquitetura - Linguagem de Máquina - Prof. Marcos Zurita zurita@ufpi.edu.br www.ufpi.br/zurita Teresina - 2011

Leia mais

Parte Operativa x Controle Aula 12. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

Parte Operativa x Controle Aula 12. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática x Controle Aula 12 Microarquitetura Parte Operativa (ou Caminho de Dados) Constituída de todos os componentes responsáveis pela execução das operações elementares sobre os dados (transformações nos dados)

Leia mais

Aumento de Desempenho. Aumentando a Velocidade de Execução. Mesclando o Laço de Interpretação. mic-2

Aumento de Desempenho. Aumentando a Velocidade de Execução. Mesclando o Laço de Interpretação. mic-2 Aumento de Desempenho mic-2 Aumentando a Velocidade de Execução Redução do número de ciclos de clock necessários para a execução de uma instrução Simplificação a organização de forma a permitir que o ciclo

Leia mais

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle William Stallings Organização de computadores digitais Capítulo 14 Operação da Unidade de Controle Microoperações o A execução de um programa em um computador se faz através: o do ciclo de Busca e Execução.

Leia mais

Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática

Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática 5º Ano da Licenciatura em Engenharia Informática Ramo de Computadores e Sistemas Disciplina de Projecto 2003/2004 IJVM em

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 28 Operação da Unidade de Controle Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/44 Apresentação 1. Bases Teóricas 2. Organização de computadores...

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Organização e Projeto de Computadores

Organização e Projeto de Computadores Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Arquitecturas Alternativas. Java Virtual Machine

Arquitecturas Alternativas. Java Virtual Machine Arquitecturas Alternativas Java Virtual Machine Compilação da linguagem Java A linguagem Java é uma linguagem interpretada que é executada por uma máquina virtual software denominada JVM (Java Virtual

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 Arquitetura de Computadores SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Leia mais

Estrutura e Funcionamento da CPU. Adriano Maranhão

Estrutura e Funcionamento da CPU. Adriano Maranhão Estrutura e Funcionamento da CPU Adriano Maranhão 1 S Relembrando S Compiladores de linguagens ao fazer a conversão da linguagem de alto nível para chegar na fase da linguagem de baixo nível como assembly

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Leia mais

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Datapath do MIPS MIPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas

Leia mais

lw, sw add, sub, and, or, slt beq, j

lw, sw add, sub, and, or, slt beq, j Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de Arquitetura de Computadores Conjuntos de Instruções: modos de endereçamento e formatos Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Endereçamento Normalmente, os campos de endereço são

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

COMPUTADOR 2. Professor Adão de Melo Neto

COMPUTADOR 2. Professor Adão de Melo Neto COMPUTADOR 2 Professor Adão de Melo Neto Modelo Barramento de Sistema É uma evolução do Modelo de Von Newman. Os dispositivos (processador, memória e dispositivos de E/S) são interligados por barramentos.

Leia mais

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

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 27 Estrutura e Função da CPU Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/33 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.5.

Leia mais

JVM Máquina Virtual Java

JVM Máquina Virtual Java JVM Máquina Virtual Java Cristiano Damiani Vasconcellos cristiano.vasconcello@udesc.br JVM - Introdução Processador virtual; Possui seu próprio conjunto de instruções; Arquitetura baseada em pilha de operandos;

Leia mais

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

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções

Leia mais

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço

Leia mais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Capítulo 6 Nível do Sistema Operacional

Capítulo 6 Nível do Sistema Operacional Capítulo 6 Nível do Sistema Operacional - Sistema Operacional: Programa que, do ponto de vista do programador, adiciona uma grande quantidade de instruções e funcionalidades bem além das disponibilizadas

Leia mais

Unidade Central de Processamento 2. Registradores

Unidade Central de Processamento 2. Registradores Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Microcontrolador FemtoJava Pipeline (Low Power)

Microcontrolador FemtoJava Pipeline (Low Power) Microcontrolador FemtoJava Pipeline (Low Power) UFRGS Programa de Pós graduação em Computação CMP 237 Arquitetura e Organização de Processadores Prof. Dr. Flávio Rech Wagner Aluno: Paulo Roberto Miranda

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra 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 etc.) e de controle, durante a execução de

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Fluxo Seqüencial de Controle e Desvios (1) Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Fluxo

Leia mais

Organização e Arquitetura de Computadores INTRODUÇÃO

Organização e Arquitetura de Computadores INTRODUÇÃO Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo

Leia mais

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve: Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto

Leia mais

Infraestrutura de Hardware. Instruindo um Computador

Infraestrutura de Hardware. Instruindo um Computador Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 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 etc.) e de controle, durante

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Unidade de Controle. UC - Introdução

Unidade de Controle. UC - Introdução Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre

Leia mais

Unidade II. Organização de Computadores. Prof. Renato Lellis

Unidade II. Organização de Computadores. Prof. Renato Lellis Unidade II Organização de Computadores Prof. Renato Lellis Ciclo de Execução da Instrução 1. Trazer a próxima instrução da memória até o registrador 2. Alterar o contador de programa para indicar a próxima

Leia mais

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Arquitectura de Computadores MEEC (2014/15 2º Sem.) Arquitectura de Computadores MEEC (2014/15 2º Sem.) Unidade de Controlo Prof. Nuno Horta PLANEAMENTO Introdução Unidade de Processamento Unidade de Controlo Arquitectura do Conjunto de Instruções Unidade

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Modos de Endereçamento e Formatos Rodrigo Hausen 11 de novembro de 2011 http://cuco.pro.br/ach2034 1/26 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

Algoritmos Computacionais

Algoritmos Computacionais UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Estrutura e Função do Processador Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Organização

Leia mais

UCP 8051 (parte 02) Professor Adão de Melo Neto

UCP 8051 (parte 02) Professor Adão de Melo Neto UCP 85 (parte 2) Professor Adão de Melo Neto Barramento de endereços UCP 85 É unidirecional (6 BITS), porque a informação flui apenas em uma direção, da CPU para a memória ou para os elementos de E/S.

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

18/10/2010. Unidade de Controle Controle. UC Microprogramada

18/10/2010. Unidade de Controle Controle. UC Microprogramada Arquitetura de Computadores Unidade de Controle Controle Microprogramado Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO UC Microprogramada

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

Arquitetura de Microprocessadores

Arquitetura de Microprocessadores Arquitetura de Computadores UNIDADE 4 Arquitetura de 05-02-2019 Sumário Arquitetura de um microprocessador; Acesso à memória; A arquitetura de von Neumann apenas mostra a conceção ideológica do que deveria

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

Sistemas Digitais Transferências entre Registradores

Sistemas Digitais Transferências entre Registradores Sistemas Digitais Transferências entre Registradores Referência Bibliográfica: Logic and Computer Design Fundamentals Mano & Kime Adaptações: josé artur quilici-gonzalez Sumário Transferências entre Registradores

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

X Y Z A B C D

X Y Z A B C D 29) A seguinte tabela verdade corresponde a um circuito combinatório de três entradas e quatro saídas. Obtenha a tabela de programação para o circuito em um PAL e faça um diagrama semelhante ao apresentado

Leia mais

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F. Prefetch & Pipeline Otimização de Execução em Processadores Modernos Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter

Leia mais

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Conjunto de Instruções

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Endereçamento O Campo de endereço em uma instrução é pequeno. Para referenciar uma faixa de endereços maior na memória principal, ou em alguns

Leia mais

Estrutura Básica de um Computador

Estrutura Básica de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura Básica de um Computador Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção

Leia mais

Compiladores Geração de Código

Compiladores Geração de Código Compiladores Geração de Código Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp O Back-end Até agora vimos as fases do front-end do compilador: Análise Léxica Análise Sintática Análise Semântica

Leia mais

Organização de computadores. Aula 05

Organização de computadores. Aula 05 Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

Organização de Unidades de Processamento

Organização de Unidades de Processamento Organização de Unidades de Processamento João Canas Ferreira Março de 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 5) c JCF, 2004 ASPD (FEUP/LEEC)

Leia mais

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema

Leia mais

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES ESSA APRESENTAÇÃO POSSUI QRCODE PARA ACESSAR INFORMAÇÕES ADICIONAIS AOS SLIDES. Código QR Reader Código QR INTRODUÇÃO A ARQUITETURA DE COMPUTADORES Qual

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

Leia mais

Organização de Computadores Aula 05

Organização de Computadores Aula 05 Organização de Computadores Aula 05 Componente Computador Unidade Central de Processamento (CPU) Memória Unidades de E/S Barramentos Modelo de Von Neumann Apresentado em 1945 Conceito de programa armazenado

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Ciclo de instruções Ciclo de instruções / Pipelining Subciclos de um ciclo de instruções: - Busca: traz a próxima instrução até a CPU - Execução:

Leia mais

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo

Leia mais

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1 Conjunto de Instruções Prof. Leonardo Barreto Campos 1 Sumário Introdução; CISC; RISC; MIPS; Representação de Instruções; SPIM; Prof. Leonardo Barreto Campos 2/58 Sumário Operações Lógicas; Instruções

Leia mais

Arquitetura de Computadores. Conjunto de Instruções

Arquitetura de Computadores. Conjunto de Instruções Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas

Leia mais

ção de Computadores II

ção de Computadores II Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2 2. MIPS monociclo:

Leia mais

Símbolos e abreviaturas utilizadas na descrição das instruções

Símbolos e abreviaturas utilizadas na descrição das instruções Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte

Leia mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

2º Estudo Dirigido CAP 3

2º Estudo Dirigido CAP 3 2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 13: Título: P3 - Sumário: Unidade de do P3 (micro-sequenciador, teste de variáveis, memórias de mapeamento,

Leia mais

Especificação do Projeto de Processador RISC

Especificação do Projeto de Processador RISC UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO Especificação do Projeto de Processador RISC mycpu Neste documento é apresentada a especificação do projeto da disciplina Organização e Arquitetura de Computadores

Leia mais

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina) Processamento e Linguagem de Máquina O processador Programação Assembler (Linguagem de Máquina) O PROCESSADOR Literatura Tanenbaum e Stallings Abordagens similares mas divergentes Foco maior em funcionamento

Leia mais

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES Prof. Dr. Daniel Caetano 2014-1 Lembretes Recordar a organização interna da CPU Conhecer os registradores de controle Apresentar o ciclo de

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

Unidade de Controle. Sinais e temporização da busca de instrução. Prof. Eduardo Appel

Unidade de Controle. Sinais e temporização da busca de instrução. Prof. Eduardo Appel Unidade de Controle Prof Eduardo Appel appel@upftchebr Uma CPU de um microprocessador pode interpretar o conteúdo de uma palavra de memória como sendo o código de instrução Mas pergunta-se: Qual o número

Leia mais