Para os problemas seguintes considere os 5 andares de pipelining do MIPS:

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

Download "Para os problemas seguintes considere os 5 andares de pipelining do MIPS:"

Transcrição

1 A. Pipelining Para os problemas seguintes considere os 5 andares de pipelining do MIPS: ETCH () ID (I) EXEC (E) MEM (M) WR (W) Para resolução dos problemas utilize a tabela em anexo, na qual deve indicar para a ordem de execução das instruções em cada programa a execução dos andares de pipelining em cada ciclo de relógio. Problema 1. Considere a seguinte sequência de instruções MIPS não optimizada correspondente ao segmento de código C apresentado: Código C temp = a[j]; a[j] = a[j-1]; a[j-1] = temp; Código Assembly do MIPS R3000 $t1, $t0, $t0 # $t1 = 2*j $t1, $t1, $t1 # $t1 = 4*j $t2, $t1, $a0 # $t2 = Baseress(a)+4*j Lw $t3, 0($t2) # $t3 = a[j] i $t4, $t0, -1 # $t4 = j-1 $t4, $t4, $t4 # $t4 = 2*(j-1) $t4, $t4, $t4 # $t4 = 4*(j-1) $t4, $t4, $a0 # $t2 = Baseress(a)+4*(j-1) Lw $t5, 0($t4) # $t5 = a[j-1] Sw $t5, 0($t2) # a[j] = $t5 Sw $t3, 0($t4) # a[j-1] = $t3 (a) Quantos ciclos são necessários para executar o programa supondo um processador em que todas as instruções requerem 5 passos mas sem suporte a pipelining? (b) Quantos ciclos seriam necessários para executar o programa supondo um processador em que as instruções requerem passos diferentes (utilize para cada instrução o número de passos apresentado nas aulas teóricas) mas sem suporte a pipelining? (c) Quantos ciclos são necessários para executar o programa num processador MIPS com 5 andares de pipelining e considerando que tem suporte hardware para fazer, sempre que existam hazards com dados? (d) Indique uma solução supondo que o processador não tinha qualquer tipo de suporte hardware para lidar com hazards. (e) Reordene as instruções de modo a reduzir o número de ciclos necessário para executar o segmento de programa. Quantos ciclos são agora necessários? (f) Quantos ciclos são necessários para executar o programa num processador MIPS com 5 andares de pipelining e considerando que tem suporte hardware para fazer e forwarding? 2

2 Problema 2. Considere a seguinte sequência de instruções MIPS correspondente ao segmento de código C apresentado: Código C Int a, b, c, max; max = b; If(a > b) max = a; c = max + max; Código Assembly do MIPS R3000 # max em $t0 # a em $t1 # b em $t2 # c em $t4 i $t0, $t1, 0 Slt $t3, $t1, $t2 Bne $t3, $0, end_if i $t0, $t2, 0 End_if: add $t4 $t0 $t0 (a) Quantos ciclos são necessários para executar o programa num processador MIPS com 5 andares de pipelining e considerando que tem suporte hardware para fazer, sempre que existam hazards com dados ou hazards de controlo? [considere que o processador tem suporte hardware para escoamento (flush) de instruções] (a.1) Com as instruções para fazer no início as atribuições: a=4 e b=2; (a.2) Com as instruções para fazer no início as atribuições: a=2 e b=4; 3

3 TABELA PARA REPRESENTAR OS ANDARES DE PIPELINING EXECUTADOS EM CADA CICLO DE RELÓGIO AO LONGO DA EXECUÇÃO DO PROGRAMA Exec

4 B. RESPOSTAS 1. (a) Resposta: 55 ciclos 1. (b) Resposta: 47 ciclos 1. (c) Resposta: 39 ciclos: Exec I E MW I E M W I E M W Lw I E M W i I E M W I E M W I E M W I E M W Lw I E M W Sw I E M W Sw I E M W 1. (d) Inserir as instruções NOP necessárias para resolver os hazards com dados: Código Assembly do MIPS R3000 com instruções para resolver hazards com dados $t1, $t0, $t0 # $t1 = 2*j $t1, $t1, $t1 # $t1 = 4*j 5

5 $t2, $t1, $a0 # $t2 = Baseress(a)+4*j Lw $t3, 0($t2) # $t3 = a[j] i $t4, $t0, -1 # $t4 = j-1 $t4, $t4, $t4 # $t4 = 2*(j-1) $t4, $t4, $t4 # $t4 = 4*(j-1) $t4, $t4, $a0 # $t2 = Baseress(a)+4*(j-1) Lw $t5, 0($t4) # $t5 = a[j-1] Sw $t5, 0($t2) # a[j] = $t5 Sw $t3, 0($t4) # a[j-1] = $t3 1. (e) Resposta: 26 ciclos. Código Assembly do MIPS R3000 reordenado $t1, $t0, $t0 # $t1 = 2*j i $t4, $t0, -1 # $t4 = j-1 $t1, $t1, $t1 # $t1 = 4*j $t4, $t4, $t4 # $t4 = 2*(j-1) $t2, $t1, $a0 # $t2 = Baseress(a)+4*j $t4, $t4, $t4 # $t4 = 4*(j-1) Lw $t3, 0($t2) # $t3 = a[j] $t4, $t4, $a0 # $t2 = Baseress(a)+4*(j-1) Lw $t5, 0($t4) # $t5 = a[j-1] Sw $t3, 0($t4) # a[j-1] = $t3 Sw $t5, 0($t2) # a[j] = $t5 Exec I E M W i I E M W I E M W I E M W add I E M W I E M W 6

6 Lw I E M W I E M W Lw I E M W Sw I E M W sw I E M W 1. (f) Considerando o programa assembly original (sem a reordenação): Exec I E M W I E M W I E M W lw I E M W add I E M W I E M W I E M W I E M W Lw I E M W Sw I E M W Sw I E M W Resposta: 16 ciclos de relógio. Podem ser conseguidos 15 ciclos de relógio se entre a instrução lw e a instrução sw o valor lido da memória de dados disponível no fim do andar M puder ser utilizado pelo andar M da instrução sw. 2. (a.1) Resposta: 19 ciclos (faz o corpo do if) Exec i I E M W i I E M W addi I E M W Slt I E M W Bne I E M W I E M W I E M W (a.2) Resposta: 17 ciclos (não faz o corpo do if) Exec i I E M W i I E M W 7

7 i I E M W Slt I E M W Beq I E M W lush add after bne lush second add after bne I E M W 1. Para simular ( deve introduzir o seguinte código na Applet Java: i $4 $0 10 i $8 $0 2 $9 $8 $8 $9 $9 $9 $10 $9 $4 Lw $11 0($10) i $12 $8-1 $12 $12 $12 $12 $12 $12 $12 $12 $4 Lw $13 0($12) Sw $13 0($10) Sw $11 0($12) 2. Para simular ( deve introduzir o seguinte código na Applet Java: # max em $t0 # a em $t1 # b em $t2 #Com a=2 e b=4 0: addi $9 $0 2 1: addi $10 $0 4 2: i $8 $9 0 3: Slt $11 $9 $10 4: Bne $11 $0 6 5: i $8 $10 0 6: add $12 $8 $8 #Com a=4 e b=2 0: addi $9 $0 4 1: addi $10 $0 2 2: i $8 $9 0 3: Slt $11 $9 $10 4: Bne $11 $0 6 5: i $8 $10 0 6: add $12 $8 $8 8

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação

Leia mais

AULA DE REVISÃO 3 ILP

AULA 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 mais

Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios

Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios 1) Explore conversões de números a partir de números binárias com sinal e sem sinal para decimal:

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

Introdução ao Processamento Paralelo

Introdução ao Processamento Paralelo Introdução ao Processamento Paralelo Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução Crescente aumento de desempenho dos PCs (máquinas convencionais). Existem aplicações que requisitam

Leia mais

Pipelining - analogia

Pipelining - analogia PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access

Leia mais

Arquitetura de Computadores. Linguagem de Máquina

Arquitetura de Computadores. Linguagem de Máquina Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP

Leia mais

Visão Geral de Pipelining

Visão Geral de Pipelining Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções

Leia mais

Conflitos. Aula 9. 31 de Março de 2005 1

Conflitos. Aula 9. 31 de Março de 2005 1 Conflitos Aula 9 31 de Março de 2005 1 Estrutura desta aula Taxonomia dos conflitos Dependências entre instruções Conflitos num pipeline Conflitos estruturais Conflitos de dados Conflitos de controlo Ref:

Leia mais

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64 Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução

Leia mais

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014. Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.1 1/21 1 Linguagens de programação 2 Compilação 2/21 Layout 1

Leia mais

Predição de Desvios e Processadores Superescalares Especulativos

Prediçã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 mais

Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA.

Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA. Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA Pipelining Pipelining é uma técnica que permite a execução de múltiplas

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

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

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

Leia mais

MODOS DE ENDEREÇAMENTO

MODOS 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 mais

Esse programa inclui dependências de tipo: escrita-escrita, leitura-escrita e escrita-leitura. Identifique e mostre estas dependências.

Esse 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 mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 8ª Aula Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estágios para execução da instrução: A instrução LOAD é a mais longa Todas as instruções seguem ao menos os

Leia mais

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

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 mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

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

Leia mais

Caminho dos Dados e Atrasos

Caminho dos Dados e Atrasos Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém

Leia mais

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB 2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código

Leia mais

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores

Infraestrutura de Hardware. Revisão Pipeline, Superescalar e Multicores Infraestrutura de Hardware Revisão Pipeline, Superescalar e Multicores Pipeline Pipeline é uma técnica que visa aumentar o nível de paralelismo de execução de instruções ILP (Instruction-Level Paralellism)

Leia mais

Do alto-nível ao assembly

Do alto-nível ao assembly Do alto-nível ao assembly Compiladores Cristina C. Vieira 1 Viagem Como são implementadas as estruturas computacionais em assembly? Revisão dos conceitos relacionados com a programação em assembly para

Leia mais

Sistemas de Computação Gabarito - Lista 2

Sistemas de Computação Gabarito - Lista 2 Sistemas de Computação 2005.2 Gabarito - Lista 2 1. a) Resposta: CPI=0,5 X 7 + 0,3 X 4 + 0,15 x 6 + 0,05 X 3=3,5 + 1,2 + 0,9 + 0,15=5,75 Tempo de execução=5,75 X 500 X 1.000.000 x 10-9 = 28,75 x 10-1 =2,875

Leia mais

Computador: Hardware + Software

Computador: Hardware + Software Conceitos Básicos de Arquitetura de Computadores Capítulo 3 Computador: Hardware + Software 1 Computador: Hardware + Software Aplicação (Netscape) Software Hardware Compilador Montador Processor Memory

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática

Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Um Caminho de Dados Pipeline Para a ISA MIPS: Aprendendo na Prática Francisco Carlos Silva Junior 1, Ivan Saraiva Silva 1 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Caixa Postal

Leia mais

Escreva um programa em código assembly correspondente ao seguinte programa C.

Escreva 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 mais

Arquitetura de Computadores Moderna

Arquitetura de Computadores Moderna Arquitetura de Computadores Moderna Eduardo Barrére (eduardo.barrere@ice.ufjf.br) DCC/UFJF Baseado no material do prof. Marcelo Lobosco Agenda Visão Geral Objetivos do Curso Ementa Bibliografia Avaliações

Leia mais

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Capí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 mais

AOC II - Arquitetura e Organização de Computadores Prof. Dr. rer. nat. Daniel Duarte Abdala. Lista de Exercícios

AOC 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 mais

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS

AULA 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 mais

Arquitetura de Computadores

Arquitetura de Computadores Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,

Leia mais

Arquitectura de Computadores II. Exercícios sobre pipelining

Arquitectura de Computadores II. Exercícios sobre pipelining Arqitectra de Comptadores II LESI - 3º Ano Eercícios sobre pipelining Departamento do Informática Universidade do inho Abril 22 Considere o modelo de ma arqitectra IPS com o pipeline da figra em aneo,

Leia mais

Exercícios Resolvidos

Exercícios Resolvidos Exercícios Resolvidos Exame de Época Normal, 2003/2004, Parte Prática: 1.(0,5 val.) Considere o seguinte troço de programa em linguagem Assembly do MIPS:.data 0x10010000 palavra1:.word 13 palavra2:.word

Leia mais

Arquitetura de computadores

Arquitetura de computadores Arquitetura de computadores Docentes Teóricas: Helder Daniel Práticas: Amine Berquia Horas de contacto: 30 T 30 P Horas de trabalho: 168 ECTS: 6 Conteúdo História: do IAS (1946) at e o CRAY T3E (1996)

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Infraestrutura 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 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 mais

Faculdade 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 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 mais

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p. Pipelining Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Pipelining p. Análise de performance Desenho ciclo único de relógio é ineficiente

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Questionário Arquitetura e Organização de Computadores

Questioná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 mais

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br

MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio bazilio@ic.uff.br Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e

Leia mais

Infra-estrutura de Hardware

Infra-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 mais

Usando o simulador MIPS

Usando o simulador MIPS Usando o simulador MIPS O objetivo desta aula prática será a utilização do simulador MipsIt para executar programas escritos em linguagem de máquina do MIPS. 1 Criando um projeto Cada programa a ser executado

Leia mais

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

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

Leia mais

Revisão dependências de dados

Revisã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 mais

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

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

Leia mais

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.

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. 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 mais

Paralelismo a Nível de Instrução

Paralelismo a Nível de Instrução Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos

Leia mais

PLACA CENTRAL - MANUAL DE UTILIZAÇÃO

PLACA CENTRAL - MANUAL DE UTILIZAÇÃO 1 Hardware APRENDER COM A ROBÓTICA PLACA CENTRAL - MANUAL DE UTILIZAÇÃO Figura 1 Placa CPU (face dos componentes) U1 µcontrolador T89C51RD2 U2 FPGA EPF10K10LC84-4 U3 PAL 16L8 U4 Buffer 74HCT244 U5 Interface

Leia mais

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Registradores 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

INTRODUÇÃO À PROGRAMAÇÃO

INTRODUÇÃO À PROGRAMAÇÃO O que é um programa? Matlab vs outras linguagens de programação Paradigma de programação Fases de desenvolvimento de um programa CPU Hardware Periféricos Sistema Software Aplicação O que é um programa?

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃ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 mais

Especificação do Projeto de Processador RISC

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

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Prof. Doutora Ana Isabel Leiria Ano Lectivo 2004/05 Prof. Doutora Margarida Madeira e Moura Eng. António Rosado Ano lectivo 2005/06 Pág. 1 Guias das aulas práticas 1. INTRODUÇÃO

Leia mais

http://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

http://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis! http://www.ic.uff.br/~boeres/fac.html! 1 Conteúdos: Debora, Edcarllos, livros! slides disponíveis! Unidade central de Processamento realiza operações básicas codificadas em 0s e 1s instrução contém código

Leia mais

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

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

Leia mais

SSC0510 Arquitetura de Computadores

SSC0510 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 mais

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas

Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Pae II Transferência de Dados Lógicas Controle Supoe a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

2. Relativamente ao datapath de ciclo único do MIPS podemos dizer que:

2. Relativamente ao datapath de ciclo único do MIPS podemos dizer que: Preencher na correcção 1: 2: 3: 4: 5: 6: 7: 8: F: Estas questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma das respostas está correcta,

Leia mais

Previsão do Desempenho. AC1 13ª aula Previsão do Desempenho 1

Previsão do Desempenho. AC1 13ª aula Previsão do Desempenho 1 Previsão do Desempenho AC1 13ª aula Previsão do Desempenho 1 De que depende T exec? Um programa necessita de um determinado número de ciclos do CPU para executar (clockcycles). Cada ciclo tem uma duração

Leia mais

Descrição e análise da implementação em Assembly MIPS da função itoa

Descrição e análise da implementação em Assembly MIPS da função itoa Descrição e análise da implementação em Assembly MIPS da função itoa Alana Rocha 1, Guilherme Alves 2, Guilherme Nunes 3 e Luiz Guilherme 4 Objetivo e visão geral do documento Este documento tem o objetivo

Leia mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura 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 mais

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

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

Leia mais

Controle em Processador Segmentado

Controle em Processador Segmentado Revisão segmentação Todos os processado modernos usam segmentação segmentação não reduz a latência de uma instrução mas ajuda na vazão/produção do programa inteiro várias tarefas em execução simultânea

Leia mais

Microcontroladores e Interfaces

Microcontroladores e Interfaces Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Aula A3 15 Mar 05 - M Datapath e a sua Unidade de Controlo

Leia mais

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. Pipelines João Canas Ferreira Mar-Abr 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 6) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 1/52 Conceitos básicos

Leia mais

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Resposta:

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Resposta: 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 mais

Processadores Superescalares. Melhorando ainda mais o desempenho...

Processadores 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 mais

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

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

Leia mais

Sistemas de Computação. Instruções de Linguagem de Máquina

Sistemas 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 mais

Conjunto de instruções e modos de. aula 4. Profa. Débora Matos

Conjunto de instruções e modos de. aula 4. Profa. Débora Matos Conjunto de instruções e modos de endereçamento aula 4 Profa. Débora Matos Conjunto de Instruções A = ((B + C) x D + E F)/(G x H) A H denotam posições da memória endereços As arquiteturas possuem as seguintes

Leia mais

Organização de Computadores Software

Organização de Computadores Software Organização de Computadores Software Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Objetivos: Entender

Leia mais

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h

Prof. 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 mais

Documento Auxiliar do Conhecimento de Transporte Eletrônico

Documento Auxiliar do Conhecimento de Transporte Eletrônico Documento Auxiliar do Conhecimento de Transporte Eletrônico 8338 Documento Auxiliar do Conhecimento de Transporte Eletrônico 8339 Documento Auxiliar do Conhecimento de Transporte Eletrônico 8340 Documento

Leia mais

Variáveis e estruturas de controlo. Introdução à Programação André L. Santos

Variáveis e estruturas de controlo. Introdução à Programação André L. Santos Variáveis e estruturas de controlo Introdução à Programação André L. Santos Variáveis Uma variável pode ser vista como um espaço em memória onde um valor de determinado tipo (p.e. inteiro) pode ser guardado.

Leia mais

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

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

1.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.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 mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Válido Rótulo Bloco bits 8 bits 8 bits 8 bits

Vá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 mais

Módulo 10. Medição do Desempenho

Módulo 10. Medição do Desempenho Módulo 10 Medição do Desempenho 1. Introdução Pretende-se com esta aula prática que os alunos se familiarizem com o processo de profiling de programas e que avaliem o impacto no desempenho de um programa

Leia mais

Relembrando desempenho...

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

Leia mais

Capítulo 7 Nível da Linguagem Assembly

Capítulo 7 Nível da Linguagem Assembly Capítulo 7 Nível da Linguagem Assembly Presente em quase todos os computadores modernos. Implementado por tradução. Linguagem fonte => Linguagem alvo. O programa no arquivo fonte não é executado diretamente

Leia mais

UNIVERSIDADE 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 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 mais

Arquitectura de Computadores II. Pipelining Avançado e Paralelismo ao Nível da Instrução (ILP Instruction Level Paralelism)

Arquitectura 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 mais

Relembrando desempenho...

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

Leia mais

1. 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 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 mais

Sequenciamento dinâmico

Sequenciamento dinâmico Sequenciamento dinâmico João Canas Ferreira Outubro de 2004 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3 a. ed., MKP c JCF, 2004 AAC (FEUP/LEIC) Sequenciamento

Leia mais

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Introduçã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 mais

Organização. Trabalho realizado por: André Palma nº 31093 Daniel Jesus nº 28571 Fábio Bota nº 25874 Stephane Fernandes nº 28591

Organização. Trabalho realizado por: André Palma nº 31093 Daniel Jesus nº 28571 Fábio Bota nº 25874 Stephane Fernandes nº 28591 Organização Trabalho realizado por: André Palma nº 31093 Daniel Jesus nº 28571 Fábio Bota nº 25874 Stephane Fernandes nº 28591 Introdução Conceito de Organização De um modo genérico pode-se dizer que uma

Leia mais