Aumento de Desempenho. Aumentando a Velocidade de Execução. Mesclando o Laço de Interpretação. mic-2
|
|
- Giovanna Domingues Araújo
- 5 Há anos
- Visualizações:
Transcrição
1 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 de clock possa ser menor Sobreposição de execução de instruções 2 Mesclando o Laço de Interpretação Antes Depois
2 Arquitetura com Barramentos Antes Depois Unidade de Busca de Instruções A é usada intensamente em todo ciclo para uma variedade de operações tendo que fazer a busca das instruções e a montagem dos campos contidos nas instruções, adicionalmente ao trabalho real da execução da instrução Necessária para liberar a de algumas dessas tarefas Uma unidade independente para buscar e processar as instruções 5 Unidade de Busca de Instruções ()
3 Unidade de Busca de Instruções () Apresenta 2 MBRs sendo uma de 8 bits (MBR1) e outra de 1 bits (MBR2) Monitora o byte (ou bytes) recentemente consumido pela unidade de execução Também disponibiliza o próximo MBR1 (tal qual ocorre na Mic-1 ) e percebe automaticamente quando um byte ou mais bytes são consumidos pela unidade principal Possui duas interfaces com o barramento B: MBR1 e MBRU1, o primeiro é estendido em sinal para 2 bits e o último é estendido para zero 7 Unidade de Busca de Instruções () De modo semelhante, o MBR2 oferece a mesma funcionalidade mas contém os próximos 2 bytes. Também com 2 interfaces para o barramento B A é responsável por buscar uma sequência de bytes Faz isso buscando palavras de bytes antes da hora e carrega os bytes consecutivos em um registrador de deslocamento que fornece um ou dois bytes por vez, na ordem que foram buscados. A função do registrador de deslocamento é manter a fila de bytes da memória 8 Unidade de Busca de Instruções () Sempre em MBR1 está o byte mais antigo no registrador de deslocamento e em MBR2 os dois mais antigos (com byte mais antigo a esquerda) Eventualmente, os 2 bytes que estão em MBR2 podem ser de palavras diferentes, porque instruções IJVM não se alinham em fronteiras de palavras na memória 9
4 Unidade de Busca de Instruções () Sempre que MBR1 é lido, desloca-se um byte para direita. Quando MBR2 é lido, desloca-se 2 bytes a direita Quando há espaço no registrador de deslocamento para buscar uma outra palavra inteira, a inicia o processo de leitura na memória para ler essa palavra. Esta organização permite que MBR seja lido em ciclos consecutivos 10 FSM para Implementação da 11 Datapath mic-2 To and from main memory ontrol signals Enable onto B bus Write bus to register Instruction fetch unit () bus MAR MDR P MBR SP LV PP TOS OP H MBR2 control Memory control registers A bus B bus N Z 12
5 Microprograma para Mic-2 Label Operations omments nop1 goto (MBR) to next instruction iadd1 MAR = SP = SP! 1; rd Read in next-to-top word on stack iadd2 H = TOS H = top of stack iadd MDR = TOS = MDR+H; wr; goto (MBR1) Add top two words; write to new top of stack isub1 MAR = SP = SP! 1; rd Read in next-to-top word on stack isub2 H = TOS H = top of stack isub MDR = TOS = MDR!H; wr; goto (MBR1) Subtract TOS from Fetched TOS-1 iand1 MAR = SP = SP! 1; rd Read in next-to-top word on stack iand2 H = TOS H = top of stack iand MDR = TOS = MDR AND H; wr; goto (MBR1) AND Fetched TOS-1 with TOS ior1 MAR = SP = SP! 1; rd Read in next-to-top word on stack ior2 H = TOS H = top of stack ior MDR = TOS = MDR OR H; wr; goto (MBR1) OR Fetched TOS-1 with TOS dup1 MAR = SP = SP + 1 Increment SP; copy to MAR dup2 MDR = TOS; wr; goto (MBR1) Write new stack word Label pop1 Operations MAR = SP = SP! 1; rd omments Read in next-to-top word on stack nop1 pop2 goto (MBR) Wait for to read next instruction pop TOS MDR; goto (MBR1) opy new word to TOS iadd1 MAR = SP = SP! 1; rd Read in next-to-top word on stack iadd2 swap1 H MAR = TOS SP! 1; rd H Read = top 2nd of word stack from stack; set MAR to SP iadd swap2 MDR MAR = SP TOS = MDR+H; wr; goto (MBR1) Add Prepare top two to write words; new write 2nd to word new top of stack swap H = MDR; wr Save new TOS; write 2nd word to stack isub1 MAR = SP = SP! 1; rd Read in next-to-top word on stack swap MDR TOS opy old TOS to MDR isub2 H = TOS H = top of stack swap5 MAR SP! 1; wr Write old TOS to 2nd place on stack isub MDR = TOS = MDR!H; wr; goto (MBR1) Subtract TOS from Fetched TOS-1 swap TOS H; goto (MBR1) Update TOS iand1 MAR = SP = SP! 1; rd Read in next-to-top word on stack iand2 H = TOS H = top of stack iand MDR = TOS = MDR AND H; wr; goto (MBR1) AND Fetched TOS-1 with TOS ior1 MAR = SP = SP! 1; rd Read in next-to-top word on stack 1 ior2 H = TOS H = top of stack ior MDR = TOS = MDR OR H; wr; goto (MBR1) OR Fetched TOS-1 with TOS dup1 MAR = SP = SP + 1 Increment SP; copy to MAR dup2 MDR = TOS; wr; goto (MBR1) Write new stack word pop1 MAR = SP = SP! 1; rd Read in next-to-top word on stack pop2 Wait for read pop TOS = MDR; goto (MBR1) opy new word to TOS Microprograma swap1 MAR = SP! 1; rd para Read 2nd word Mic-2 from stack; set MAR to SP swap2 MAR = SP Prepare to write new 2nd word swap H = MDR; wr Save new TOS; write 2nd word to stack swap MDR = TOS opy old TOS to MDR swap5 MAR = SP! 1; wr Write old TOS to 2nd place on stack Label swap TOS Operations = H; goto (MBR1) omments Update TOS nop1 bipush1 goto SP = (MBR) MAR = SP + 1 Set up MAR to next forinstruction writing to new top of stack iadd1 bipush2 MAR MDR = SP TOS = = SP MBR1;! rdwr; goto (MBR1) Read Update instack next-to-top in TOSword andon memory stack iadd2 iload1 H MAR = TOS = LV + MBR1U; rd H Move = toplv of+ stack index to MAR; read operand iadd iload2 MAR MDR = SP TOS = = SP MDR+H; + 1 wr; goto (MBR1) Increment Add top two SP; words; Movewrite newto SPnew to MAR top of stack isub1 iload TOS MAR = MDR; SP = SP wr;! goto 1; rd(mbr1) Read Updateinstack next-to-top in TOSword andon memory stack isub2 istore1 H MAR = TOS = LV + MBR1U H Set = MAR top oftostack LV + index isub istore2 MDR = TOS; = wr MDR!H; wr; goto (MBR1) opy Subtract TOS TOS for from storing Fetched TOS-1 iand1 istore MAR = SP = SP! 1; rd Read Decrement in next-to-top SP; readword newon TOS stack iand2 istore H = TOS H Wait = top forof read stack iand istore5 MDR TOS = TOS MDR; = goto MDR(MBR1) AND H; wr; goto (MBR1) AND Update Fetched TOS TOS-1 with TOS ior1 wide1 goto MAR (MBR1 = SP = OR SP 0x100)! 1; rd Next Readaddress in next-to-top is 0x100 word Ored on stack with opcode wide ior2 iload1 MAR H = TOS = LV + MBR2U; rd; goto iload2 Identical H = top of tostack iload1 but using 2-byte index wide ior istore1 MDR MAR = TOS LV + = MBR2U; MDR ORgoto H; wr; istore2 goto (MBR1) OR Identical Fetched to istore1 TOS-1but with using TOS2-byte index ldc dup1w1 MAR = SP PP = + SP MBR2U; + 1 rd; goto iload2 Increment Same as wide SP; copy iload1to but MAR indexing off PP dup2 iinc1 MDR MAR = TOS; LV + MBR1U; wr; goto rd (MBR1) Write Set MAR newtostack LV + word index for read pop1 iinc2 MAR H = MBR1 = SP = SP! 1; rd Read Set H in tonext-to-top constant word on stack pop2 iinc MDR = MDR + H; wr; goto (MBR1) Wait Increment for read by constant and update pop goto1 TOS H = P = MDR;! 1 goto (MBR1) opy new P toword H to TOS swap1 goto2 MAR P = = H SP + MBR2! 1; rd Read Add offset 2nd word and update from stack; P set MAR to SP swap2 goto MAR = SP Prepare Have to wait to write for newto2nd fetch word new opcode swap goto H goto = MDR; (MBR1) wr Save Dispatch newtotos; nextwrite instruction 2nd word to stack swap iflt1 MDR MAR = SP TOS= SP! 1; rd opy Read old in next-to-top TOS to MDR word on stack swap5 iflt2 MAR OP = TOS SP! 1; wr Write Save TOS old TOS in OP to 2nd temporarily place on stack swap iflt TOS = H; MDR goto (MBR1) Update Put newtos top of stack in TOS bipush1 iflt SP N = = OP; MAR if = (N) SP goto + 1 T; else goto F Set up MAR on Nfor bit writing to new top of stack bipush2 MDR = TOS = MBR1; wr; goto (MBR1) Update stack in TOS and memory UFES iload MAR = LV + MBR1U; rd Arquitetura Move de omputadores LV + index to MAR; read operand 1 iload2 MAR = Figure SP = -0. SP + The 1 microprogram for the Mic-2 (part 1Increment of 2). SP; Move new SP to MAR iload TOS = MDR; wr; goto (MBR1) Update stack in TOS and memory istore1 MAR = LV + MBR1U Set MAR to LV + index istore2 MDR = TOS; wr opy TOS for storing istore MAR = SP = SP! 1; rd Decrement SP; read new TOS istore Wait for read istore5 TOS = MDR; goto (MBR1) Update TOS wide1 goto (MBR1 OR 0x100) Next address is 0x100 Ored with opcode Microprograma wide iload1 MAR = LV + MBR2U; rd; goto iload2 para Identical to iload1 Mic-2 but using 2-byte index wide istore1 MAR = LV + MBR2U; goto istore2 Identical to istore1 but using 2-byte index ldc w1 MAR = PP + MBR2U; rd; goto iload2 Same as wide iload1 but indexing off PP Label Operations omments ifeq1 MAR = SP = SP! 1; rd Read in next-to-top word of stack ifeq2 OP = TOS Save TOS in OP temporarily ifeq TOS = MDR Put new top of stack in TOS ifeq Z = OP; if (Z) goto T; else goto F 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 icmpeq H = MDR; rd opy second stack word to H if icmpeq OP = TOS Save TOS in OP temporarily if icmpeq5 TOS = MDR Put new top of stack in TOS if icmpeq Z = H! OP; if (Z) goto T; else goto F If top 2 words are equal, goto T, else goto F T H = P! 1; goto goto2 Same as goto1 F H = MBR2 Touch bytes in MBR2 to discard F2 goto (MBR1) invokevirtual1 MAR = PP + MBR2U; rd Put address of method pointer in MAR invokevirtual2 OP = P Save Return P in OP invokevirtual P = MDR Set P to 1st byte of method code. invokevirtual TOS = SP! MBR2U TOS = address of OBJREF! 1 invokevirtual5 TOS = MAR = H = TOS + 1 TOS = address of OBJREF invokevirtual MDR = SP + MBR2U + 1; wr Overwrite OBJREF with link pointer invokevirtual7 MAR = SP = MDR Set SP, MAR to location to hold old P invokevirtual8 MDR = OP; wr Prepare to save old P invokevirtual9 MAR = SP = SP + 1 Inc. SP to point to location to hold old LV invokevirtual10 MDR = LV; wr Save old LV invokevirtual11 LV = TOS; goto (MBR1) Set LV to point to zeroth parameter. ireturn1 MAR = SP = LV; rd Reset SP, MAR to read Link ptr UFES ireturn Arquitetura Wait de omputadores for link ptr 15 ireturn LV = MAR = MDR; rd Set LV, MAR to link ptr; read old P ireturn MAR = LV + 1 Set MAR to point to old LV; read old LV
6 Microprograma para Mic-2 F2 Label goto Operations (MBR1) omments invokevirtual1 MAR = PP + MBR2U; rd Put address of method pointer in MAR invokevirtual2 OP = P Save Return P in OP invokevirtual P = MDR Set P to 1st byte of method code. invokevirtual TOS = SP! MBR2U TOS = address of OBJREF! 1 invokevirtual5 TOS = MAR = H = TOS + 1 TOS = address of OBJREF invokevirtual MDR = SP + MBR2U + 1; wr Overwrite OBJREF with link pointer invokevirtual7 MAR = SP = MDR Set SP, MAR to location to hold old P invokevirtual8 MDR = OP; wr Prepare to save old P invokevirtual9 MAR = SP = SP + 1 Inc. SP to point to location to hold old LV invokevirtual10 MDR = LV; wr Save old LV invokevirtual11 LV = TOS; goto (MBR1) Set LV to point to zeroth parameter. ireturn1 MAR = SP = LV; rd Reset SP, MAR to read Link ptr ireturn2 Wait for link ptr ireturn LV = MAR = MDR; rd Set LV, MAR to link ptr; read old P ireturn MAR = LV + 1 Set MAR to point to old LV; read old LV ireturn5 P = MDR; rd Restore P ireturn MAR = SP ireturn7 LV = MDR Restore LV ireturn8 MDR = TOS; wr; goto (MBR1) Save return value on original top of stack 1 Pipelining mic- Datapath mic- ciclos para operar: arregar A e B Executar a operação e carregar Escrever os resultados nos registradores ada um destes pedaços é chamado de micropasso (microstep) To and from main memory ontrol signals Enable onto B bus Write bus to register Instruction fetch unit () Figure -1. The three-bus data path used in the Mic-. 18 bus latch MAR MDR P MBR1 SP LV PP TOS OP H MBR2 control A latch Memory control registers A bus B latch B bus N Z
7 SWAP em Mic-2 Label Operations omments swap1 MAR = SP! 1; rd Read 2nd word from stack; set MAR to SP swap2 MAR = SP Prepare to write new 2nd word swap H = MDR; wr Save new TOS; write 2nd word to stack swap MDR = TOS opy old TOS to MDR swap5 MAR = SP! 1; wr Write old TOS to 2nd place on stack swap TOS = H; goto (MBR1) Update TOS 19 Implementação de SWAP em mic- ciclo Swap1 Swap2 Swap Swap Swap5 Swap MAR=SP-1;rd MAR=SP H=MDR;wr MDR=TOS MAR=SP-1;wr B=SP =B-1 MAR=;rd MDR=mem B=SP =B MAR= B=MDR =B B=TOS H=;wr =B B=SP TOS=H; goto (MBR) mem=mdr MDR= =B-1 B=H MAR=;wr mem=mdr =B TOS= 11 goto(mbr1) 20 Pipeline 1 Instruction 2 ycle 1 ycle 2 ycle ycle Ti me 21
8 mic- Principais omponentes de Mic- From memory To/from memory 7 IJVM length 1 2 Instruction fetch unit isters A Decoding unit B Micro-op ROM index 5 Final Drives stage Drives stage 5 Drives stage Drives stage 7 Goto Queueing unit Micro-operation ROM M M M M IADD ISUB ILOAD IFLT Queue of pending micro-ops MIR1 MIR2 MIR MIR 2 Pipeline em Mic Decodificador Fila Operandos Execução Resultados (write back) Memória 2
9 Sistema com Três Níveis de ache PU package Processor board PU chip L1-I L1-D Unified L2 cache Keyboard controller Split L1 instruction and data caches Graphics controller Unified L cache Disk controller Board-level cache (SRAM) Main memory (DRAM) 25 Problema dos Desvios if (i == 0) MP i,0; compare i to 0 k = 1; BNE Else; branch to Else if not equal else Then: MOV k,1; move 1 to k k=2; BRNext;unconditionalbranchtoNext Else: MOV k,2; move 2 to k Next: (a) (b) 2 Predição de Desvios Slot Valid / no branch address/tag (a) Valid Prediction bits Slot address/tag (a)histórico de desvio de 1-bit (b)histórico de desvio de 2-bits (b) Target address (c)mapeamento entre endereço das instruções de desvio e endereço alvo de desvio Slot Valid address/tag (c) Prediction bits 27
10 FSM de 2-bits para Predição de Desvios No branch 00 Predict no branch No branch 01 Predict no branch one more time No branch 10 Predict branch one more time No branch 11 Predict branch 28 PU Superescalar com Instruções em Ordem isters being read isters being written y # Decoded Iss Ret R=R0 * R R=R0+R R5=R0+R R=R1+R R7=R1 * R R1=R0!R R=R * R R1=R+R PU Superescalar com Instruções Fora de Ordem isters being read isters being written y # Decoded Iss Ret R=R0 * R R=R0+R R5=R0+R R=R1+R R7=R1 * R S1=R0!R R=R * S S2=R+R Figure -. Operation of a superscalar Arquitetura PU de omputadores with out-oforder issue and out-of-order completion. 0
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 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 maisCapí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 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 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 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 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 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 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 maisUniversidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel
Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Processadores 8086 Registradores: 16 bits 1978 Data bus:
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 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 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 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 maisArquitetura e Organização de Processadores. Aula 4. Pipelines
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de
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 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 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 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 maisUNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em
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 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 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 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 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 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 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 maisArquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)
Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Instruções Comandos utilizados para indicar ao hardware o que deve ser feito Utilizaremos neste curso o conjunto de instruções
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 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 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 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 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 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 maisAJProença, Sistemas de Computação, UMinho, 2017/ ou + Unidades (Centrais) de Processamento (CPU)
Introdução aos Sistemas de Computação (2) 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 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 maisNotas 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 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 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 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 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 maisCircuitos Sequenciais
1 Circuitos Sequenciais Elementos de estado ou elementos de memória Exemplos de circuitos sequenciais: Latches Flip-flops Registradores Conjunto de registradores Memória Conjunto de Registradores Parte
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 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 maisTempo de processador desperdiçado a fazer nada. Processor register 1 clock cycle (0.5 2 GHz) $??? DRAM semiconductor memory ns $10 $20
Caches Cache Acesso à memória é lento Tempo de processador desperdiçado a fazer nada CPU Memória Memory technology Typical access time $ per GiB in 2012 Processor register 1 clock cycle (0.5 ns @ 2 GHz)
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 maisMicroprocessadores. Família x86 - Evolução
Família x86 - Evolução António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt i8086 16 bits de dados 20 bits de endereços 1MByte Clock 2 [4,8] MHz i80286 24 bits de endereço
Leia maisOrganização de Computadores
Organização do Processador - Parte A Capítulo 5 Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás Conteúdo Caminho de dados Caminho de controle Implementação
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 maisMicroprocessadores. Execução em Paralelo Pipelines
Execução em Paralelo Pipelines António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Pipelines de Instrucções Instrucções são divididas em diferentes Estágios Pipelines
Leia maisMicroprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização
Microprocessadores I Aula 6 Arquitetura do Microprocessador 8085 - Pinagem e Diagrama de Temporização 1 O 8085 contém em seu CI circuitos para executar operações de cálculos e comunicação com periféricos.
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 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 maisCache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset
-- Internet Bus Memória Fully Associative Direct Mapping Direct Mapping Direct Mapping 7 Endereço Byte offset Hit Tag Endereço Byte offset Index Block offset bits 8 bits bits bits V Tag Valid Tag K entries
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 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) Historia ARM Começou a vida como parte da Acorn Computer. 1978 Arcon Computer de Cambridge produziam computadores e foram sucesso no Reino
Leia maisCapítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1
Capítulo 6 Hazards 1998 organ Kaufmann Publishers Ch6c 1 Dependências de Dados Problema: iniciar uma instrução antes da anterior ter finalizado dependências que voltam no tempo são hazards de dados qual
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 maisCapítulo 7 Sistemas de Memória. Ch7a 1
Capítulo 7 Sistemas de Memória Ch7a 1 Memórias: Revisão SRAM (Static RAM): Valor é armazenado por meio da interligação de um par de inversores Rápido, mas consome mais espaço que DRAM (4 a 6 transistores)
Leia maisMicrocontrolador 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 maisSistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a
5197 - Sistema Digitais Bacharelado de Informática UEM DIN - Prof. Elvio v. 17a Roteiro A Família AVR Introdução ao ATmega328 Características Gerais Memórias Família AVR AVR = Advanced Virtual RISC Fundadores
Leia maisParadigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 18/08/2016
Paradigma CISC Arquitetura ARM Cortex-M3 Prof. Hugo Vieira Neto Complex Instruction Set Computer Conjunto de instruções inicialmente simples Avanços tecnológicos permitiram a fabricação de computadores
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 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 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 maisArquitetura de Computadores Trabalhos Práticos
Arquitetura de Computadores Trabalhos Práticos Trabalhos Práticos 1. Bloco de memória em Verilog 2. Y86 1 instrução 5 ciclos 3. Y86 pipeline 4. Y86 dual core com cache 5. Trabalho no CUDA 3 pontos 7 pontos
Leia maisWilliam Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU
William Stallings Organização de computadores digitais Capítulo 11 Estrutura e função da CPU Encruzilhada na arquitetura de computadores 2004/2005 Antiga opinião Nova visão a energia é de graça, os transistores
Leia maisSISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3
Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3 Prof. André Schneider de Oliveira andreoliveira@utfpr.edu.br
Leia maisPIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações
Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado
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 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 maisEstrutura 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 maisMicro-Arquiteturas de Alto Desempenho. Introdução. Ementa
DCC-IM/NCE UFRJ Pós-Graduação em Informática Micro-Arquiteturas de Alto Desempenho Introdução Gabriel P. Silva Ementa Revisão de Organização de Computadores Hierarquia de Memória Memória Virtual Memória
Leia mais1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é
1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro
Leia maisDisciplina de Organização de Computadores I
USP - ICMC - SSC SSC 0610 - Eng. Comp. - 2o. Semestre 2010 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisEstrutura do tema ISC
Introdução aos Sistemas de Computação (3) num computador (1) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. num computador 4. O
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI3441 Arquitetura de Sistemas Embarcados - Instruções de Desvio Loop - Ponto Flutuante - Multiplicação e Divisão - Pseudo-Instruções - Processadores ARM Escola Politécnica da Universidade de São Paulo
Leia maisArquitetura de Computadores I Prof. Ricardo Santos (Cap 2)
Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) 1 Fluxo de controle Vimos até agora: beq, bne Uma nova instrução: if $s1 < $s2 then $t0 = 1 slt $t0, $s1, $s2 else $t0 =
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 maisDisciplina de Organização de Computadores I
USP - ICMC - SSC SSC 0610 - Eng. Comp. - 2o. Semestre 2010 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
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 maisArquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)
Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Fluxo de Controle Vimos até agora: beq, bne Uma nova instrução: slt $t0, $s1, $s2 if $s1 < $s2 then $t0 = 1 else $t0 = 0
Leia maisA organização e arquitetura do microprocessador IBM Power5
A organização e arquitetura do microprocessador IBM Power5 Rodrigo Santos de Souza Escola de Informática Universidade Católica de Pelotas (UCPEL) Rua Félix da Cunha, 412, CEP: 96010-000 rsouza@ucpel.tche.br
Leia maisHierarquia de memória
Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt)
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 maisInfraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW
Infraestrutura de Hardware Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem
Leia maisTiago Alves de Oliviera
Tiago Alves de Oliviera 1 Capítulo 6 do Livro do Mario Monteiro Capítulo 5 (5.1, 5.2, 5. e 5.4) do Livro do Patterson 2 Processador executa instruções CPU (central processing unit) UCP (unidade central
Leia maisDisciplina de. Organização de Computadores Digitais
USP - ICMC - SSC SSC 0511 - Sist. Informação - 2o. Semestre 2014 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisDisciplina de. Organização de Computadores Digitais
USP - ICMC - SSC SSC 0511 - Sist. Informação - 2o. Semestre 2014 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisProf. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO
Linguagem de Montagem Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO 1 Introdução Independente da linguagem de programação utilizada, todo programa
Leia maisEndereçamento e Formato de Instruções
Endereçamento e Formato de Instruções S W Song MAC 412 - Organização de Computadores Endereçamento e Formato de Instruções Veremos: Espaço de endereçamento Formato de instruções Códigos de operação (opcodes)
Leia maisArquitetura de Computadores. Prof. João Bosco Jr.
Arquitetura de Computadores Prof. João Bosco Jr. Aula 2 (CPU) Modelo do Computador Von Neumann Processadores Memórias E/S Barramentos Modelo do Computador Von Neumann CPU Fluxo de Execução Normal PC =>
Leia maisSistemas 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 mais2. 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 maisOrganização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções
Capítulo 2 Hennessy Patterson 1 Instruções Linguagem da máquina Vamos trabalhar com a arquitetura do conjunto de instruções MIPS (Micrrocessor without interlocked pipeline stages Micrrocessador sem estágios
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 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 maisORGANIZAÇÃO DE COMPUTADORES
Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e
Leia mais