Microarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1
|
|
- Lívia Gorjão Lancastre
- 5 Há anos
- Visualizações:
Transcrição
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 dos Registradores MAR - Endereço de memória MDR - Dados da memória PC - Contador de programa MBR - Byte de memória SP - Ponteiro para o topo da pilha de variáveis locais LV - Ponteiro para base da pilha CPP - Ponteiro para conjunto de constantes H - Resultado da ULA TOS - Contém o valor do ponteiro apontado por SP OPC - Registrador temporário 3
2 Sinais e Funções da ALU 6 linhas de controle F 0 e F 1 determinam as operações da ALU ENA e ENB para habilitação das entradas INVA para inverter a entrada esquerda INC para forçar um carry no bit de baixa ordem, efetivamente adicionando 1 ao resultado F0 F1 ENA ENB INVA INC Função A B A B A + B A + B A B B - A B A A and B A or B Temporização do Datapath 5 Memória A máquina exemplo possui duas formas de se comunicar com a memória Porta de memória endereçada por palavra de 32-bits Controlada por dois registradores MAR (Memory Address Register) MDR (Memory Data Register) Porta de memória endereçada por byte 8-bits Controlada por um registrador PC, o qual lê 1 byte nos 8 bits de mais baixa ordem de MBR 6
3 Operações com Memória 7 Formato de Microinstruções Bits NEXT_ADDR J M P C J A M N J A M Z S L L 8 S R F F A E N A E N B I N V A I N H C O P C T O S C L S P P V P C P M D R M A R W R R D F E Barramento T B C H Addr JAM ULA C Mem B Registradores do barramento B 0 = MDR 5 = LV 1 = PC 6 = CPP 2 = MBR 7 = TOS 3 = MBRU 8 = OPC 4 = SP 9-15 nenhum 8 Sequenciamento Qual sinal de controle tem que se habilitado em cada ciclo? Determinado pelo sequenciamento Precisa produzir dois tipos de informação em cada ciclo: O estado de todos os sinais de controle do sistema O endereço da próxima microinstrução a ser executada 9
4 10 Conjunto de Instruções IJVM Hex Mnemônico Significado 0x10 BIPUSH byte Coloca byte na pilha 0x59 DUP Copia a palavra do topo da pilha na pilha 0xA7 GOTO offset Desvio incondicional 0X60 IADD Soma 2 palavras do topo da pilha e empilha o resultado 0X7E IAND Realiza um AND lógico de 2 palavras do topo da pilha 0X99 IFEQ offset Retira uma palavra da pilha e desvia se é zero 0X9B IFLT offset Retira uma palavra da pilha e desvia se é menor que zero 0X9F IF_ICMPEQ offset Retira duas palavras da pilha e desvia se igual 0X84 IINC varnum const Adiciona uma constante a uma variável local 0X15 ILOAD varnum Coloca variável local na pilha 0XB6 INVOKEVIRTUAL disp Invoca um método 0X80 IOR Retira duas palavras da pilha e coloca um OR entre elas 0XAC IRETURN Retorna de um método com um valor inteiro 0X36 ISTORE varnum Retira uma palavra da pilha e armazena em uma variável local 0X64 ISUB Retira duas palavras da pilha e coloca a sua diferença 0X13 LDC_W index Coloca uma constante do Pool de Constantes na pilha 0X00 NOP Não faz nada 0X57 POP Apaga uma palavra da pilha 0X5F SWAP Troca as duas palavras do topo da pilha de lugar 0XC4 WIDE Prefixo: a próxima instrução apresenta índice de 16 bits 11 Modelo de Memória IJVM Pool de Constantes CPP Pilha Corrente de Operandos Quadro 1 de Variáveis Locais Quadro 2 de Variáveis Locais Quadro 1 de Variáveis Locais SP LV Área de Métodos PC 12
5 Pilha para Armazenamento de Variáveis Locais Procedimentos necessitam espaço para armazenar variáveis locais possibilitando chamadas recursivas 13 Pilha para Armazenamento de Operandos Necessita de espaço para manter os operandos durante uma operação aritmética 14 Chamadas a Procedimentos Colocar (push) na pilha uma referência (pointer) a um objeto a ser chamado (apesar da arquitetura não ser orientada a objetos, a nomenclatura será mantida por consistência) Colocar parâmetros dos procedimentos na pilha Executar a instrução INVOKEVIRTUAL 15
6 A Pilha e INVOKEVIRTUAL 16 A Pilha e IRETURN 17 Operações Possíveis Qualquer operação ao lado pode ser estendida pela adição de << 8 para deslocar o resultado para a esquerda por 1 byte. Por exemplo, uma operação comum é H = MBR < < 8 DEST = H DEST = SOURCE DEST = H DEST = SOURCE DEST = H + SOURCE DEST = H + SOURCE + 1 DEST = H + 1 DEST = SOURCE + 1 DEST = SOURCE! H DEST = SOURCE! 1 DEST =!H DEST = H AND SOURCE DEST = H OR SOURCE DEST = 0 DEST = 1 DEST =!1 18
7 Microprograma para Mic-1 19 Microprograma para Mic-1 swap6 TOS = H; goto Main1 Update TOS bipush1 SP = MAR = SP + 1 MBR = the byte to push onto stack bipush2 PC = PC + 1; fetch Increment PC, fetch next opcode bipush3 MDR = TOS = MBR; wr; goto Main1 Sign-extend constant and push on stack iload1 H = LV MBR contains index; copy LV to H iload2 MAR = MBRU + H; rd MAR = address of local variable to push iload3 MAR = SP = SP + 1 SP points to new top of stack; prepare write iload4 PC = PC + 1; fetch; wr Inc PC; get next opcode; write top of stack iload5 TOS = MDR; goto Main1 Update TOS istore1 H = LV MBR contains index; Copy LV to H istore2 MAR = MBRU + H MAR = address of local variable to store into istore3 MDR = TOS; wr Copy TOS to MDR; write word istore4 SP = MAR = SP! 1; rd Read in next-to-top word on stack istore5 PC = PC + 1; fetch Increment PC; fetch next opcode istore6 TOS = MDR; goto Main1 Update TOS wide1 PC = PC + 1; fetch; goto (MBR OR 0x100) Multiway branch with high bit set wide iload1 PC = PC + 1; fetch MBR contains 1st index byte; fetch 2nd wide iload2 H = MBRU << 8 H = 1st index byte shifted left 8 bits wide iload3 H = MBRU OR H H = 16-bit index of local variable wide iload4 MAR = LV + H; rd; goto iload3 MAR = address of local variable to push wide istore1 PC = PC + 1; fetch MBR contains 1st index byte; fetch 2nd wide istore2 H = MBRU << 8 H = 1st index byte shifted left 8 bits wide istore3 H = MBRU OR H H = 16-bit index of local variable wide istore4 MAR = LV + H; goto istore3 MAR = address of local variable to store into ldc w1 PC = PC + 1; fetch MBR contains 1st index byte; fetch 2nd ldc w2 H = MBRU << 8 H = 1st index byte << 8 ldc w3 H = MBRU OR H H = 16-bit index into constant pool ldc w4 MAR = H + CPP; rd; goto iload3 MAR = address of constant in pool Figure The microprogram for the Mic-1 (part 1 of 3). 20 Microprograma para Mic-1 Label Operations Comments iinc1 H = LV MBR contains index; Copy LV to H iinc2 MAR = MBRU + H; rd Copy LV + index to MAR; Read variable iinc3 PC = PC + 1; fetch Fetch constant iinc4 H = MDR Copy variable to H iinc5 PC = PC + 1; fetch Fetch next opcode iinc6 MDR = MBR + H; wr; goto Main1 Put sum in MDR; update variable goto1 OPC = PC! 1 Save address of opcode. goto2 PC = PC + 1; fetch MBR = 1st byte of offset; fetch 2nd byte goto3 H = MBR << 8 Shift and save signed first byte in H goto4 H = MBRU OR H H = 16-bit branch offset goto5 PC = OPC + H; fetch Add offset to OPC goto6 goto Main1 Wait for fetch of next opcode iflt1 MAR = SP = SP! 1; rd Read in next-to-top word on stack iflt2 OPC = TOS Save TOS in OPC temporarily iflt3 TOS = MDR Put new top of stack in TOS iflt4 N = OPC; if (N) goto T; else goto F Branch on N bit ifeq1 MAR = SP = SP! 1; rd Read in next-to-top word of stack ifeq2 OPC = TOS Save TOS in OPC temporarily ifeq3 TOS = MDR Put new top of stack in TOS ifeq4 Z = OPC; if (Z) goto T; else goto F Branch on Z bit if icmpeq1 MAR = SP = SP! 1; rd Read in next-to-top word of stack if icmpeq2 MAR = SP = SP! 1 Set MAR to read in new top-of-stack if icmpeq3 H = MDR; rd Copy second stack word to H if icmpeq4 OPC = TOS Save TOS in OPC temporarily if icmpeq5 TOS = MDR Put new top of stack in TOS if icmpeq6 Z = OPC! H; if (Z) goto T; else goto F If top 2 words are equal, goto T, else goto F T OPC = PC! 1; fetch; goto goto2 Same as goto1; needed for target address F PC = PC + 1 Skip first offset byte UFES F PC = PC + 1; fetch Arquitetura PC de now Computadores points to next opcode 21 F3 goto Main1 Wait for fetch of opcode
8 Microprograma para Mic-1 Label if icmpeq6 Operations Z = OPC! H; if (Z) goto T; else goto FComments If top 2 words are equal, goto T, else goto T OPC = PC! 1; fetch; goto goto2 Same as goto1; needed for target address F PC = PC + 1 Skip first offset byte F2 PC = PC + 1; fetch PC now points to next opcode F3 goto Main1 Wait for fetch of opcode invokevirtual1 PC = PC + 1; fetch MBR = index byte 1; inc. PC, get 2nd byte invokevirtual2 H = MBRU << 8 Shift and save first byte in H invokevirtual3 H = MBRU OR H H = offset of method pointer from CPP invokevirtual4 MAR = CPP + H; rd Get pointer to method from CPP area invokevirtual5 OPC = PC + 1 Save Return PC in OPC temporarily invokevirtual6 PC = MDR; fetch PC points to new method; get param count invokevirtual7 PC = PC + 1; fetch Fetch 2nd byte of parameter count invokevirtual8 H = MBRU << 8 Shift and save first byte in H invokevirtual9 H = MBRU OR H H = number of parameters invokevirtual10 PC = PC + 1; fetch Fetch first byte of # locals invokevirtual11 TOS = SP! H TOS = address of OBJREF! 1 invokevirtual12 TOS = MAR = TOS + 1 TOS = address of OBJREF (new LV) invokevirtual13 PC = PC + 1; fetch Fetch second byte of # locals invokevirtual14 H = MBRU << 8 Shift and save first byte in H invokevirtual15 H = MBRU OR H H = # locals invokevirtual16 MDR = SP + H + 1; wr Overwrite OBJREF with link pointer invokevirtual17 MAR = SP = MDR; Set SP, MAR to location to hold old PC invokevirtual18 MDR = OPC; wr Save old PC above the local variables invokevirtual19 MAR = SP = SP + 1 SP points to location to hold old LV invokevirtual20 MDR = LV; wr Save old LV above saved PC invokevirtual21 PC = PC + 1; fetch Fetch first opcode of new method. invokevirtual22 LV = TOS; goto Main1 Set LV to point to LV Frame 22 Microprograma para Mic-1 Label Operations Comments ireturn1 MAR = SP = LV; rd Reset SP, MAR to get link pointer ireturn2 Wait for read ireturn3 LV = MAR = MDR; rd Set LV to link ptr; get old PC ireturn4 MAR = LV + 1 Set MAR to read old LV ireturn5 PC = MDR; rd; fetch Restore PC; fetch next opcode ireturn6 MAR = SP Set MAR to write TOS ireturn7 LV = MDR Restore LV ireturn8 MDR = TOS; wr; goto Main1 Save return value on original top of stack Figure The microprogram for the Mic-1 (part 3 of 3). 23 Formato de Instruções BIPUSH (0!10) BYTE Figure The BIPUSH instruction format. ILOAD (0x15) INDEX WIDE (0xC4) ILOAD (0x15) (a) (b) INDEX BYTE 1 INDEX BYTE 2 Figure (a) ILOAD with a 1-byte index. (b) WIDE ILOAD with a 2-byte index. IINC (0x84) INDEX CONST Figure The IINC instruction has two different operand fields. 24
9 Sequência de Microinstruções Address 0!1FF 0!115 0!100 0!C4 0!15 0!00 Control store wide_iload1 Main1 1 wide1 iload1 Microinstruction execution order WIDE ILOAD ILOAD Situação Inicial de Microinstruções Memory n + 3 n + 2 n + 1 n Registers PC OPC MBR H 1 Byte OFFSET BYTE 2 OFFSET BYTE 1 GOTO (0xA7) n 0xA7 OFFSET BYTE 2 OFFSET BYTE 1 GOTO (0xA7) OFFSET BYTE 2 OFFSET BYTE 1 GOTO (0xA7) OFFSET BYTE 2 OFFSET BYTE 1 GOTO (0xA7) OFFSET BYTE 2 OFFSET BYTE 1 GOTO (0xA7) n + 1 n + 1 n + 2 n + 2 n n n OFFSET BYTE 1 OFFSET BYTE 1 OFFSET BYTE 1 OFFSET BYTE 2 OFFSET 1 << 8 (a) (b) (c) (d) (e) Main1 goto1 goto2 goto3 goto4 26 Compilando Java para IJVM 27
10 Situação da Pilha depois de cada Instrução 0 j 1 k j 2 j + k 3 4 j 5 3 j j j j
Capítulo 4 Nível da microarquitetura
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
Leia maisAumento 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 maisTE 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 maisUm 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 maisArquitetura 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 maisNí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 mais1. 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 maisO 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 maisNí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 maisORGANIZAÇÃ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 maisPARTE 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 maisWilliam 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 maisArquiteturas 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 maisDataPath II Tomando o controle!
DataPath II Tomando o controle! Datapath and Control Queremos implementar parte do MIPS lw, sw add, sub, and, or, slt beq e depois o j Instruction Word Formats Register format: add, sub, and, or, slt op-code
Leia maisInstituto 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 maisTó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 maisProcessamento 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 maisInfraestrutura 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 maisArquitecturas 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 maislw, 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 maisJVM 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 maisInfra-estrutura de Hardware
CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação
Leia maisMicroprocessadores 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 maisRelembrando 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 maisOrganizaçã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 maisRelembrando 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 maisMIPS 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 maisSSC0114 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 mais4-1. Parte2: A Arquitetura do Conjunto de Instruções
4-1 Parte2: A Arquitetura do Conjunto de Instruções 4-2 Bibliografia [1] Miles J. Murdocca e Vincent P. Heuring, Introdução à Arquitetura de Computadores [2] Marcelo Rubinstein Transparências do curso
Leia maisOrganizaçã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 maisNí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 maisO Processador: Via de Dados e Controle (Parte C: microprogramação)
O Processador: Via de Dados e Controle (Parte C: microprogramação) Ch5B 1 Possibilidades para o projeto de UCs Initial representation Finite state diagram M icroprogram Sequencing control Explicit next
Leia maisIntroduçã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 maisSistemas Microprocessados
Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ A satoutfpredubr Sobre o material Essas transparências foram baseadas no manual do ATmega8 da Atmel,
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor
Leia maisAULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 05: Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE SÃO PROCEDIMENTOS? Procedimentos são um conjunto
Leia maisMinistério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski
Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem
Leia maisESTRUTURA 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 maisOrganizaçã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 maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisµinstruções µoperações representadas em binário podem ser compactadas numa só µinstrução exemplo (as 3 últimas µinstruções anteriores):
µinstruções µoperações representadas em binário cada µoperação é realizada por um ou mais 1s cada bit é um sinal de controlo (excepto rrr_oe) podem ser compactadas numa só µinstrução exemplo (as 3 últimas
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisInfraestrutura 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 maisO Processador: Via de Dados e Controle
O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:
Leia maisInfra-estrutura de Hardware
CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação
Leia maisArquitectura 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 maisArquitectura de Computadores II. Máquinas Virtuais
Arquitectura de Computadores II 3º Ano Máquinas Virtuais João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Março 2003 Máquinas Virtuais Questões que levaram à introdução de máquinas
Leia maisUnidade 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 maisOrganização ou MicroArquitectura
Organização ou MicroArquitectura DataPath MIPS32 AC Micro-Arquitectura: DataPath do MIPS Datapath e Controlpath Datapath circuito percorrido pelas instruções, endereços e ados IP Inst. Mem. Register File
Leia maisUnidade 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 maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisOrganizaçã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 maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
Leia maisProjetos Digitais e Microprocessadores 1 o Semestre de 2005 Prof. Luis Allan Künzle Prova Final 05/07/2005 Prova sem consulta.
Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores o Semestre de 5 Prof. Luis Allan Künzle Prova Final 5/7/5 Prova sem consulta. [Questão - Peso,5] Conecte o registrador
Leia maisArquitectura 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 maisOrganização de Computadores
Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização
Leia maisSistemas 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 maisInfraestrutura 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 maisArquitectura de Computadores
Nuno Cavaco Gomes Horta / Paulo Lopes 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
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 3ª Aula Visão Geral e Conceitos Básicos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Copyright William Stallings & Adrian J Pullin Tradução, revisão e
Leia maisParte 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 maisPipeline. 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 maisOrganizaçã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 maisMIPS ISA (Instruction Set Architecture)
MIPS ISA (Instruction Set Architecture) MIcroprocessor without Interlocking Pipeline Stages MIPS Processador RISC de 32 bits Referência dos Processadores RISC Mais de 100 Milhões de processadores vendidos
Leia maisArquiteturas de Computadores
Arquiteturas de Computadores Implementação de MIPS multiciclo (cont.) Fontes dos slides: Patterson & Hennessy book website (copyright Morgan Kaufmann) e Dr. Sumanta Guha CPI em uma CPU multiciclo Assuma
Leia maisArquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016
Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 Operações Lógicas Embora os primeiros computadores se concentrassem em words completas, logo ficou claro que era útil atuar sobre
Leia maisRegistradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture
Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture
Leia maisçã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 maisOrganizaçã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 maisUniversidade 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 maisA Arquitetura: conjunto de instruções
A Arquitetura: conjunto de instruções código instrução comentário 0000 NOP Nenhuma operação 0001 STA MEM() AC 0010 LDA AC MEM() 0011 ADD AC MEM() + AC 0100 OR AC MEM() OR AC 0101 AND AC MEM() AND AC 0110
Leia maisCPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3
CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas
Leia maisInstruções de Máquina
Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador
Leia mais09 Unidade de controlo. v0.1
09 Unidade de controlo v0.1 Introdução Um micro-processador pode consistir apenas em alguns elementos: ALU Registers Lógica de controlo (ou unidade de controlo) 18 December 2014 Sistemas Digitais 2 Lógica
Leia maisAJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:
Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.
Leia maisUniversidade de São Paulo
Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.
Leia maisData types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira
x86 Data types In C: char short int/long double/long long 2 O stack O stack cresce em direção a endereços de memória menores Instruções fundamentais: push, pop 0xFF90 0xA331 0xFF8E 0xFF8C 0xFF8A 0x4712
Leia mais18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados
Capítulo 2: Manipulação de Dados Ciência da Computação: Uma visão abrangente 11a Edition Autor J. Glenn Brookshear Editora Bookman Copyright 2012 Pearson Education, Inc. Capítulo 2: Manipulação de dados
Leia maisEspecificaçã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 mais3. INSTRUÇÕES. Instrução é uma palavra da linguagem de máquina. Instruction Set do MIPS ( usado pela NEC, Nintendo, Silicon Graphics e Sony.
3. INSTRUÇÕES Instrução é uma palavra da linguagem de máquina Instruction Set do MIPS ( usado pela NEC, Nintendo, Silicon Graphics e Sony. Operações O MIPS trabalha com 3 operandos. add a,b,c # a b + c
Leia maisCAPÍTULO 4 CAMINHO DE DADOS E CONTROLE
CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo
Leia maisArquitectura 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 maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisProjeto de Processadores Programáveis
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Projeto de Processadores Programáveis DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sumário Processadores
Leia maisConjunto 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 maisLISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO
LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações
Leia maisOrganização de Sistemas de Computadores
Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =
Leia maisORGANIZAÇÃ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 maisInfraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento
Infraestrutura de Hardware Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de
Leia maisORGANIZAÇÃ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ção de Computadores I
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 I Aula 4 1. Projeto da Arquitetura
Leia maisOtimizaçã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 maisProcessador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador
Leia maisO Porcessador: Via de Dados e Controle (Parte B: multiciclo) 1998 Morgan Kaufmann Publishers Ch5B 1
O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 998 organ Kaufmann Publishers Ch5B Abordagem ulticiclo Dividir a instrução em passos, cada passo corresponde a um ciclo Balancear a quantidade
Leia mais25/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 maisInfraestrutura 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 maisUCP 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