AULA DE REVISÃO 4 ILP
|
|
- Danilo Fonseca César
- 5 Há anos
- Visualizações:
Transcrição
1 AULA DE REVISÃO 4 ILP
2 Exercício 1: Qual seria o desempenho de referência (em ciclos, por iteração do loop) da sequência de código, mostrado abaixo, se nenhuma nova execução de instrução pudesse ser iniciada até que a execução da instrução anterior tivesse sido concluída? Ignore a busca e a decodificação de front-end. Latências além de um único ciclo Loop: LD F2, 0(Rx) Memory LD +4 I0: DIVD F8, F2, F0 Memory SD +1 I1: MULTD F2, F6, F2 ADD, SUB de int +0 I2: LD F4, 0(Ry) Desvios +1 I3: ADDD F4, F0, F4 ADDD +1 I4: ADDD F10, F8, F2 MULTD +5 I5: ADDI Rx, Rx,#8 DIVD +12 I6: ADDI Ry, Ry,#8 I7: SD F4, 0(Ry) I8: SUB R20, R4, Rx I9: BNZ R20, Loop
3 Exercício 1: (solução) Qual seria o desempenho de referência (em ciclos, por iteração do loop) da sequência de código, mostrado abaixo, se nenhuma nova execução de instrução pudesse ser iniciada até que a execução da instrução anterior tivesse sido concluída? Ignore a busca e a decodificação de front-end. Loop: LD F2,0(Rx) DIVD F8,F2,F MULTD F2,F6,F LD F4,0(Ry) ADDD F4,F0,F ADDD F10,F8,F ADDI Rx,Rx,#8 1 ADDI Ry,Ry,#8 1 SD F4,0(Ry) SUB R20,R4,Rx 1 BNZ R20,Loop cycles per loop iter 40
4 Exercício 2: Previsão estática de desvio Uso do desdobramento de laços (loop unrolling) para diminuir a quantidade de desvios e reordenação de instruções para diminuir o número de s. Exemplo: for (i=999; i>=0; i=i-1) x[i] = x[i] + s; Assembly MIPS: R1 é inicialmente o endereço do elemento do array com endereço mais alto, e F2 contém o valor escalar s. O registrador R2 é précalculado, de modo que 8(R2) é o endereço do último elemento a ser processado. Loop: L.D F0, 0(R1) # F0 x[i] ADD.D F4, F0, F2 # F4 x[i] + s S.D F4, 0(R1) # x[i] F4 DADDUI R1, R1, #-8 # R1 i-- (8 bytes para double) BNE R1, R2, Loop # desvia se R1!= R2 Loop: L.D F0, 0(R1) ADD.D F4, F0, F2 S.D F4, 0(R1) DADDUI R1, R1, #-8 (assume integer load latency is 1) BNE R1, R2, Loop ciclo de clock
5 Exercício 2: (solução) Desdobramento do loop em quatro cópias do corpo do laço, considerando que R1-R2 (tamanho do array) seja um múltiplo de 32, assim o número de iterações é um múltiplo de 4. Loop: L.D F0, 0(R1) ADD.D F4, F0, F2 S.D F4, 0(R1) L.D F6, -8(R1) ADD.D F8, F6, F2 S.D F8, -8(R1) L.D F10, -16(R1) ADD.D F12, F10, F2 S.D F12, -16(R1) L.D F14, -24(R1) ADD.D F16, F14, F2 S.D F16, -24(R1) DADDUI R1, R1, #-32 BNE R1, R2, Loop Resp.: Esse loop será executado em 27 ciclos ;drop DADDUI & BNE ;drop DADDUI & BNE ;drop DADDUI & BNE Loop: L.D F0, 0(R1) ADD.D F4, F0, F2 S.D F4, 0(R1) L.D F6, -8(R1) ADD.D F8, F6, F2 S.D F8, -8(R1) L.D F10, -16(R1) ADD.D F12, F10, F2 S.D F12, -16(R1) L.D F14, -24(R1) ADD.D F16, F14, F2 S.D F16, -24(R1) DADDUI R1, R1, #-32 BNE R1, R2, Loop ;drop DADDUI & BNE ;drop DADDUI & BNE ;drop DADDUI & BNE
6 Loop desdobrado e escalonado para o pipeline com latências mostradas Loop: L.D F0, 0(R1) L.D F6, -8(R1) L.D F10, -16(R1) L.D F14, -24(R1) ADD.D F4, F0, F2 ADD.D F8, F6, F2 ADD.D F12, F10, F2 ADD.D F16, F14, F2 S.D F4, 0(R1) S.D F8, -8(R1) DADDUI R1, R1, #-32 S.D F12, 16(R1) S.D F16, 8(R1) BNE R1, R2, Loop Resp.: Esse loop será executado em 14 ciclos
7 Exercício 2: Estratégias para previsão de desvios: a) Descreva a estratégia de previsão de desvios estática relacionada com a direção do desvio. b) Descreva a estratégia de previsão de desvio dinâmica com esquema de um bit. c) Compare como as duas abordagens trabalham para o caso do laço (loop) mostrado abaixo: LOOP: BNZ LOOP
8 Exercício 2: (solução) Previsão de desvio pode ser feita de várias formas: Prever que o desvio nunca será tomado: abordagem simples e estática, isto é, não depende do histórico das instruções até o momento em que ocorre a instrução de desvio condicional; continua buscando instruções na sequência em que ocorrem no programa. Prever que o desvio sempre será tomado: abordagem simples e estática, isto é, não depende do histórico das instruções até o momento em que ocorre a instrução de desvio condicional; busca sempre as próximas instruções a partir do endereço-alvo do desvio. Prever se o desvio será tomado ou não conforme o código de operação: abordagem simples e estática. Prever o desvio com base em chaves de desvio tomado e de desvio não tomado: abordagem dinâmica, isto é, depende do histórico de execução. Prever o desvio com base em uma tabela de histórico de desvios: abordagem dinâmica.
9 Exercício 3: Explique o comportamento de um preditor de desvio de dois bits (2-bit saturating counter branch predictor). Mostre na forma de diagrama de transição de estado ou tabela o estado do preditor de 2-bits e, ilustre a transição para cada execução do desvio (branch). Contador 2-bits Predição atual 00 NT 00 NT 01 NT 01 NT 10 T 10 T 11 T 11 T Execução Novo valor do contador 2-bits Considere o código abaixo e o seu correspondente código assembly gerado: Código C for (i=0; i<n; i++) if (x[i] == 0) y[i] = 0.0; else y[i] = y[i]/x[i]; Código Assembly loop: else: fall: LD F1, 0(R2) LD F2, 0(R3) BNEZ F1, else ADD.D F2, F0, F0 BEZ R0, fall DIV.D F2, F2, F1 DADDI R2, R2, 8 DADDI R3, R3, 8 DSUBI R1, R1, 1 S.D F2, -8(R3) BNEZ R1, loop Dado que: o valor de N está armazenado em R1; os endereços bases para x e y estão armazenados em R2 e R3, respectivamente; o registrador F0 contém o valor 0. Assuma que o primeiro elemento de x possui o valor 1 e os elementos restantes possuem valor 0, mostre a saída das predições para o contador de predição de 2-bits utilizado para previsão do desvio mais interno (BNEZ F1, else). Assuma que o valor inicial do contador de previsão é 00. Iteração Contador 2-bits Predição atual Execução Novo valor contador 2-bits
10 Exercício 3: (solução) Explique o comportamento de um preditor de desvio de dois bits (2-bit saturating counter branch predictor). Mostre na forma de diagrama de transição de estado ou tabela o estado do preditor de 2-bits e, ilustre a transição para cada execução do desvio (branch). Contador Predição Novo valor do Execução 2-bits atual contador 2-bits 00 NT NT NT T NT NT NT T T NT T T T NT T T 11 Incrementa quando ocorre desvio Decrementa quando não ocorre desvio Considere o código abaixo e o seu correspondente código assembly gerado: Código C for (i=0; i<n; i++) if (x[i] == 0) y[i] = 0.0; else y[i] = y[i]/x[i]; Código Assembly loop: else: fall: LD F1, 0(R2) LD F2, 0(R3) BNEZ F1, else ADD.D F2, F0, F0 BEZ R0, fall DIV.D F2, F2, F1 DADDI R2, R2, 8 DADDI R3, R3, 8 DSUBI R1, R1, 1 S.D F2, -8(R3) BNEZ R1, loop Dado que: o valor de N está armazenado em R1; os endereços bases para x e y estão armazenados em R2 e R3, respectivamente; o registrador F0 contém o valor 0. Assuma que o primeiro elemento de x possui o valor 1 e os elementos restantes possuem valor 0, mostre a saída das predições para o contador de predição de 2-bits utilizado para previsão do desvio mais interno (BNEZ F1, else). Assuma que o valor inicial do contador de previsão é 00. Iteração Contador Predição Novo valor Execução 2-bits atual contador 2-bits 1 00 NT T NT NT NT NT NT NT
11 Exercício 4: A sequência de código MIPS mostrada abaixo é executada em um computador contendo uma unidade Branch Target Buffer com preditor de desvios de dois bits. A sequência de código apresenta dois laços aninhados. O laço externo realiza duas (2) iterações e o laço interno, cinco (5) iterações. Assumindo que os dois desvios não apresentam conflito na BTB, descreva: qual é o comportamento da predição da instrução de desvio do laço interno para cada uma das dez (10) vezes em que ela é executada? Apresente sua resposta preenchendo a tabela abaixo. O estado inicial do preditor é 00. Seqüência de código _laço_externo: _laço_interno: BNEZ R1, _laço_interno;... BNEZ R2, _laço externo; Preditor Iteração 2-bits Predição Execução Atualização Resultado T (Taken), NT (Not Taken)
12 Exercício 4: (solução) A sequência de código MIPS mostrada abaixo é executada em um computador contendo uma unidade Branch Target Buffer com preditor de desvios de dois bits. A sequência de código apresenta dois laços aninhados. O laço externo realiza duas (2) iterações e o laço interno, cinco (5) iterações. Assumindo que os dois desvios não apresentam conflito na BTB, descreva: qual é o comportamento da predição da instrução de desvio do laço interno para cada uma das dez (10) vezes em que ela é executada? Apresente sua resposta preenchendo a tabela abaixo. O estado inicial do preditor é 00. Seqüência de código _laço_externo: _laço_interno: BNEZ R1, _laço_interno;... BNEZ R2, _laço externo; Iteração Preditor 2-bits Predição Execução Atualização Resultado NT T 01 ERRO NT T 11 ERRO T T 11 ACERTO T T 11 ACERTO T NT 10 ERRO T T 11 ACERTO T T 11 ACERTO T T 11 ACERTO NT T 01 ERRO NT T 11 ERRO T (Taken), NT (Not Taken)
13 Exercício 5: Os esquemas de previsão de desvios que usam o comportamento de outros desvios para fazer uma previsão são chamados de previsores de correlação ou previsores de dois níveis. Esquema de previsão (m,n) utiliza o comportamento dos últimos m desvios para escolher dentre 2 m previsores de desvio, cada qual sendo de n bits para um único desvio. O número de bits em um previsor (m,n) é determinado pela expressão abaixo 2 m x n x Número de entradas de previsão selecionadas Exemplo: a) Quantos bits existem no previsor de desvio (0,2) com 4 K entradas? b) Quantas entradas existem em um previsor (2,2) com o mesmo número de bits? Respostas: a) Previsor (0,2) com 4K entradas 2 0 x 2 x 4K = 8 Kbits b) Previsor (2,2), número de entradas? 2 2 x 2 x Entradas = 8 Kbits 1 K
14 MIPS code for D=A+B; E=A+C; # Method 1: 13 ciclos lw $t1, 0($t0) lw $t2, 4($t0) add $t3, $t1, $t2 <-- RAW ($t2) sw $t3, 12($t0) lw $t4, 8($t0) add $t5, $t1, $t4 <-- RAW ($t4) sw $t5, 16($t0) Code Scheduling to Avoid Stalls # Method 2: 11 ciclos lw $t1, 0($t0) lw $t2, 4($t0) lw $t4, 8($t0) add $t3, $t1, $t2 sw $t3, 12($t0) add $t5, $t1, $t4 sw $t5, 16($t0)
Faculdade de Computação Arquitetura e Organização de Computadores 2 3 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 22/11/2018
Problemas: Faculdade de Computação Arquitetura e Organização de Computadores 2 3 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 22/11/2018 P1) Qual é o propósito do instruction pipelining?
Leia maisEsse programa inclui dependências de tipo: escrita-escrita, leitura-escrita e escrita-leitura. Identifique e mostre estas dependências.
Faculdade de Computação Arquitetura e Organização de Computadores 2 2 a Lista de Exercícios Prof. Cláudio C. Rodrigues Data de Entrega: 02/06/2016 Problemas: P1) Qual é o propósito do instruction pipelining?
Leia maisPredição de Desvios e Processadores Superescalares Especulativos
Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os
Leia mais1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador.
Arquitetura de Computadores II Bacharelado em Ciência da Computação DCC - IM/UFRJ Prof.: Gabriel P. Silva Data: 18/04/2005 1 ª Lista de Exercícios de Arquitetura de Computadores II 1) Enumere e dê exemplo
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 maisAULA DE REVISÃO 3 ILP
AULA DE REVISÃO 3 ILP Exercício 1: Considere um bloco de código com 15 instruções cada uma com tempo de execução Tex. Elas são executadas numa unidade pipeline de 5 estágios. Os overheads do pipeline são
Leia maisSSC0510 Arquitetura de Computadores
SSC0510 Arquitetura de Computadores 9ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória
Leia maisAOC II - Arquitetura e Organização de Computadores Prof. Dr. rer. nat. Daniel Duarte Abdala. Lista de Exercícios
Lista de Exercícios PIPELINING 1. Qual a vantagem que a utilização da técnica de pipelining traz em relação a arquitetura MIPS-Multiciclo estudada em aula? Descreva textualmente. 2. Embora o desempenho
Leia maisArquitetura de Computadores II
Univers id ade Federal d o Rio d e Jan eir o DC C/IM Arquitetura de Computadores II Predição de Desvio Gabriel P. Silva Introdução Desvios: Instruções que podem alterar o fluxo de execução das instruções
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 10ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória
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 mais3. Considere o seguinte código executado no processador pipeline da figura abaixo.
UNIVERSIDADE FEDERAL FLUINENSE INSTITUTO DE COPUTAÇÃO DEPARTAENTO DE CIÊNCIA DA COPUTAÇÃO Arqitetras de Comptadores Trma :A Lista 2 Profa.: Simone artins. Indiqe como modificar o código abaio de modo qe
Leia maisde saltos Aula de Abril de
Predição de saltos Aula 13 21 de Abril de 2005 1 Estrutura desta aula Predição estática e dinâmica Custos da não predição Soluções Predição estática Predição dinâmica Branch History Tables (BHT) com 1
Leia maisEscalonamento de Instruções
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Escalonamento de Instruções Introdução Otimização de código é necessária como forma de diminuir
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 maisComputadores Vetoriais
Computadores Vetoriais Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas e Fluxos de Instrução e Dados (SISD) Single Instruction
Leia mais1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas:
1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas: unidades funcionais pipelined com as seguintes latências: 1
Leia maisI. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado
Arquitectura de Computadores 2 o Semestre (2013/2014) MEAer 2 o Teste - 19 de Junho de 2014 Duração: 1h30 + 0h15 Regras: Otesteésemconsulta, apenas tem disponível o anexo que lhe deverá ter sido entregue
Leia mais1. Considere a execução do seguinte troço de código num processador com ISA compatível
1. Considere a execução do seguinte troço de código num processador com ISA compatível com o MIPS64. loop: L.D F0,0(R1) ; F0 M[R1+0] L.D F2,8(R1) ; F2 M[R1+8] L.D F4,0(R2) ; F4 M[R2+0] SUB.D F0,F0,F2 ;
Leia mais1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC)
1. Considere um processador in-order com 5 estágios (IF, ID, EX1, EX2, WB) sem qualquer mecanismo de forwarding de dados, e o seguinte troço de código. Memória de instruções Operação MOV R1,R0 ; R1 R0
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. 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 maisProf. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h
Pipelining Avançado Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução A técnica de pipelining explora o paralelismo entre as instruções Paralelismo em Nível de Instrução (ILP). Métodos
Leia maisArquitetura e Organização de Computadores 2. Paralelismo em Nível de Instrução e a sua Exploração
Arquitetura e Organização de Computadores 2 Paralelismo em Nível de Instrução e a sua Exploração Introdução Pipelining torna-se uma técnica universal em 1985 Explora a potencial sobreposição da execução
Leia maisPredição de Desvios e Processadores Superescalares Especulativos
Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os
Leia maisMO401. Arquitetura de Computadores I
Arquitetura de Computadores I 2006 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br www.ic.unicamp.br/~ducatte 4.1 Arquitetura de Computadores I Paralelismo em Nível de Instruções Exploração Dinâmica
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 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 maisArquitectura de Computadores II. Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism)
Arquitectura de Computadores II LESI - 3º Ano Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism) João Luís Ferreira Sobral Departamento do Informática Universidade
Leia maisArquitetura e Organização de Processadores. Aula 08. Arquiteturas VLIW
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 08 Arquiteturas VLIW 1. Introdução VLIW é Very
Leia maisPrevisão de Desvios Branch Prediction
Previsão de Desvios Branch Prediction Organização de Computadores 2 Prof. Cláudio C. Rodrigues 1 Branch Prediction 1. Introdução 2. Custo de Desvios 3. Técnicas p/ redução do custo de desvio 4. Técnicas
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 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 maisResolva as seguintes alíneas fazendo todas as simplificações que considerar convenientes, anotando-as junto da resposta.
1. Considere um processador com ISA compatível com o MIPS64 e com funcionamento superpelining (Fetch, Decode, Issue, Execute, Write-back), com mecanismos de forwarding de dados, sendo o estágio de Execute
Leia maisSistemas de Computação. Instruções de Linguagem de Máquina
Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de
Leia maisProcedimentos. Sistemas de Computação
Procedimentos Chamada de Procedimentos Utilização de procedimentos: Facilitar entendimento do programa Reutilização de código Passos necessários para execução de um procedimento: Os parâmetros a serem
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 maisORGANIZAÇÃO DE COMPUTADORES
ORGANIZAÇÃO DE COMPUTADORES 2015/2016 1 o Semestre Repescagem 1 o Teste 1 de Fevereiro de 2016 Duração: 1h00 - O teste é sem consulta e sem calculadora. - Resolva o teste no próprio enunciado, o espaço
Leia maisInteger Adder / Branch Resolution. Floating-Point Adder. Floating-Point/Integer Multiplier. Load/Store Unit
Arquitectura de Computadores 2 o Semestre (2015/2016) MEAer 2 o Teste - 16 de Junho de 2016 Duração: 1h30 + 0h15 Regras: Resolva o teste no próprio enunciado. O espaço reservado para cada pergunta é suficiente
Leia maisProcessadores Superescalares. Melhorando ainda mais o desempenho...
Processadores Superescalares Melhorando ainda mais o desempenho... Roteiro da Aula Pipeline e filosofia RISC Superpipeline Superscalar Dependências de dados em processadores superscalares Renomeamento
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 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 maisInstituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.
Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores º sem. / // º Teste Duração:, horas Grupo I Superpilining [ valores] Admita que tem um
Leia mais28 de Abril de Aula 14
28 de Abril de 2005 1 Arquitecturas superescalares Aula 14 Estrutura desta aula Arquitecturas VLIW e superescalares Emissão de instruções Emissão de 2 vias Superescalares com agendamento dinâmico Exemplo
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 maisÉ um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.
Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?
Leia maisUniversidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. Pipeline
Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I Pipeline Gabriel P. Silva 29.04.2017 Introdução Pipeline é uma técnica de implementação de processadores
Leia maisArquitetura de Computadores
Arquitetura de Computadores 2018.1 Relembrando... Memória Virtual Relembrando... Memória Virtual Proteção de Memória Relembrando... Memória Virtual Proteção de Memória TLB Relembrando... Memória Virtual
Leia maisExplorando o paralelismo entre instruções
Explorando o paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline Pipeline: Uma idéia natural Linhas de montagem
Leia mais3. Arquiteturas SIMD. 3.1 Considerações iniciais
3. Arquiteturas SIMD Computadores SIMD (Single Instruction Multiple Data) são utilizados para a resolução de problemas computacionalmente intensivos da área científica e de engenharia, em que existem estruturas
Leia maisVálido Rótulo Bloco bits 8 bits 8 bits 8 bits
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO TCC04.070-Organização de Computadores I Turma :A1 Gabarito - Lista 2 1. a) 256M-1=268435455 b) Log 2 256M=
Leia maisProcessadores Superescalares - Avançando na exploração de paralelismo entre instruções
Processadores Superescalares - Avançando na exploração de paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Instruction
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
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 maisArquitetura de Computadores
Arquitetura de Computadores 2018.1 Relembrando... Paralelismo Relembrando... Paralelismo Paralelismo em Instrução Relembrando... Paralelismo Paralelismo em Instrução Paralelismo em Aritmética Relembrando...
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Cap. 06 Pipeline Prof. M.Sc. Bruno R. Silva Plano de aula Visão geral de pipelining Um caminho de dados usando pipelie Controle de um pipeline Hazards de dados e forwarding
Leia maisDisciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 22/abril/2009
Prova P1 Aluno Disciplina: Organização e Arquitetura de Computadores II Professores: Fabiano Hessel e Ney Calazans 22/abril/2009 Valor das questões: 1) 3 pontos 2) 3 pontos 3) 4 pontos 1. O fragmento de
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 Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 - Gabarito 1. Um programa P foi compilado com
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 maisInfra-estrutura de Hardware
Processadores Superescalares Melhorando ainda mais o desempenho... Roteiro da Aula Pipeline e filosofia RISC Superpipeline Superscalar Dependências de dados em processadores superscalares Renomeamento
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Pipeline Bloco de dados e bloco de controle Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Bloco de dados do MIPS Monociclo É possível identificar 5 etapas
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 maisSumário. Aula Anterior. Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits.
Sumário Aula Anterior Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits Aula 12 1 Sumário Nesta Aula Esclarecimento de dúvidas para o Exame Resolução
Leia maisArquitetura e Organização de Computadores 2
Arquitetura e Organização de Computadores 2 Escalonamento Estático e Arquiteturas VLIW Dynamic Scheduling, Multiple Issue, and Speculation Modern microarchitectures: Dynamic scheduling + multiple issue
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 maisPipeline. Prof. Leonardo Barreto Campos 1
Pipeline Prof. Leonardo Barreto Campos 1 Sumário Introdução; Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Caminho de Dados usando Pipeline; Representação Gráfica do Pipeline;
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 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 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 maisFaculdade de Computação
Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 19/04/2018 Prof. Cláudio C. Rodrigues Problemas: P1) Explique o que há de errado com as métricas de
Leia maisMestrado Integrado em Engenharia Informática e Computação. Arquitecturas Avançadas de Computadores Exame final
FEUP Mestrado Integrado em Engenharia Informática e Computação Arquitecturas Avançadas de Computadores Exame final 2011-01-11 Duração: 2H00m Com consulta Atenção: Este exame tem 6 questões em 8 páginas,
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 maisMODOS DE ENDEREÇAMENTO
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO
Leia maisIntrodução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:
CAPÍTULO 5 PIPELINE Introdução Ciclo único versus pipeline Projetando o conjunto de instruções Pipeline Hazards Caminho de dados usando o pipeline Diagramas de Pipeline Controle do Pipeline Hazard de dados
Leia maisExercícios resolvidos (aula de 4 de Maio) Resolução:
Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma
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 maisArchitectures for Embedded Computing
Architectures for Embedded Computing dinâmico / especulativo Prof. Nuno Roma ACEmb 2009/10 - DEI-IST 1 / 44 Aula anterior Na aula anterior... Pipelining: Problemas de Implementação instruções multi-ciclo
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 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 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 maisQuestionário Arquitetura e Organização de Computadores
Questionário Arquitetura e Organização de Computadores Os exercícios desta lista estão organizados em geral seguindo a apresentação do conteúdo em aula. No entanto, alguns exercícios podem requerem conhecimentos
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 maisParte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho
Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho 1 Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís
Leia maisX 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 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 maisFaculdade de Computação Arquitetura e Organização de Computadores 2 Prof. Cláudio C. Rodrigues
Faculdade de Computação Arquitetura e Organização de Computadores 2 Prof. Cláudio C. Rodrigues Exercícios de Revisão: P1) Um processador elaborado segundo o princípio multi-ciclo, executa a uma frequência
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 maisRevisão dependências de dados
Revisão dependências de dados Dependências de dados resolvidas com adiantamento (quase sempre) Deve garantir que instruções anteriores escreverão resultado, destino é mesmo que fonte, e instrução anterior
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 maisa) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização.
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 1. Um programa P foi compilado com um compilador
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 maisSistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009.
Sistemas de Computação Oitava Aula Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/12 Seção 1 Endereçamento de Memória
Leia maisFaculdade de Computação
Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Laboratório de Programação MIPS entrega 03/05/2018 Prof. Cláudio C. Rodrigues Problemas: P1) Execute as conversões abaixo: a) Converta
Leia maisEscreva um programa em código assembly correspondente ao seguinte programa C.
Exercício 11.1 Escreva um programa em código assembly correspondente ao seguinte programa C. cont=0; for (n=0; n
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 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 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 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 mais