Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.

Documentos relacionados
I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

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:

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)

ORGANIZAÇÃO DE COMPUTADORES

Resolva as seguintes alíneas fazendo todas as simplificações que considerar convenientes, anotando-as junto da resposta.

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

Integer Adder / Branch Resolution. Floating-Point Adder. Floating-Point/Integer Multiplier. Load/Store Unit

1. Considere a execução do seguinte troço de código num processador com ISA compatível

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

ORGANIZAÇÃO DE COMPUTADORES

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

28 de Abril de Aula 14

1) Enumere e dê exemplo dos tipos de conflitos que podem ocorrer em um pipeline de instruções de um processador.

Arquitectura de Computadores

de saltos Aula de Abril de

AULA DE REVISÃO 3 ILP

Arquitectura de Computadores

Hierarquia de Memória

Arquitetura e Organização de Processadores. Aula 4. Pipelines

5 de Maio de Aula 15

SSC0611 Arquitetura de Computadores

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

Mestrado Integrado em Engenharia Informática e Computação. Arquitecturas Avançadas de Computadores Exame final

Exercícios resolvidos (aula de 4 de Maio) Resolução:

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

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

Architectures for Embedded Computing

Sistemas de Memória II

Conflitos. Aula de Março de

Tecnologia dos Microprocessadores. António M. G. Pinheiro Universidade da Beira Interior Covilhã - Portugal

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.

Memória Cache. Walter Fetter Lages.

Arquitetura de Computadores. Hierarquia de Memória. Prof. Msc. Eduardo Luzeiro Feitosa

2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-Taguspark 1.º Semestre 2014/2015 Duração: 60 minutos 16 dezembro 2014

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

Arquitectura de Computadores (ACom)

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

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (B) - 15/06/2007. Folha de Respostas

Evolução da arquitetura básica

Organização ou MicroArquitectura

shift register demux prefetch control inc ldpc + 1 MAR Pipelining

Memória Cache. Aula 24

Arquitectura de Computadores 2007/2008 2º Semestre 2º Teste (A) - 16/06/2008

Paralelismo ao Nível das Instruções p. 1

ELECTRÓNICA DE COMPUTADORES. Sumário

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Introdução à Arquitetura de Computadores

AULA DE REVISÃO 4 ILP

Arquitectura de Computadores (ACom)

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória

Arquitectura de Computadores (ACom)

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos

Arquitectura de Computadores (ACom)

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

Arquitectura de Computadores (ACom)

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

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007. Folha de Respostas

Microprocessadores. Família x86 - Evolução

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Microprocessadores. Execução em Paralelo Pipelines

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

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset

Memória Cache. Adriano J. Holanda. 12 e 16/5/2017

Escalonamento de Instruções

FCA - Editora de Informática xv

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

1. Esta lista de exercícios poderá ser resolvida em grupo com no máximo 3 integrantes.

Arquitetura e Organização de Computadores 2. Organização Hierárquica da Memória. Uma afirmação antiga, mas perfeitamente atual

Encadeamento de instruções

Microcontroladores e Interfaces

Gerenciamento de memória

Hierarquia de Memória

Memória Cache: Funcionamento

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Introdução à Arquitetura de Computadores

RISC simples. Aula de Março de

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

ARQUITECTURA DE COMPUTADORES 2º TESTE - RECUPERAÇÃO

SSC0611 Arquitetura de Computadores

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

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015

ARQUITECTURA DE COMPUTADORES

SSC0112 Organização de Computadores Digitais I

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Arquiteturas Superescalares

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

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2017/2018

Memória cache (cont.) Sistemas de Computação

Arquitetura de Computadores

Memórias cache: uma introdução

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2018/2019

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

Transcrição:

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 pipeline com emissão simples, execução em ordem, andar de fetch, andar de descodificação, múltiplos andares de execução (que incluem o acesso à memória de dados), e andar de write-back. Admita ainda as seguintes latências: MUL.D = ciclos, ADD.D = ciclos, DIV.D = ciclos, operações sobre inteiros = ciclo. Admita bypassing total e que necessita de ciclos para acessos à memória de dados, isto é, os loads e stores precisam de ciclos (incluindo o cálculo dos endereços). Finalmente, as condições dos branches são calculadas no primeiro andar de execução (unidade de execução de inteiros). [ val] a) Admita que este pipeline é formado por uma sequência linear de andares, em que andares posteriores servem de nops para instruções mais curtas. Desenhe cada andar do pipeline como uma caixa (sem pormenores internos), e dê-lhe uma designação apropriada. Descreva as operações efectuadas em cada um dos andares e mostre todos os caminhos de bypass (com setas entre andares). O seu objectivo consiste em construir um pipeline que nunca faz stalls, a menos que um operando não esteja pronto. Identifique cada uma das setas com o tipo de instruções que fazem o forward dos seus resultados ao longo do caminho correspondente à seta. [ val] b) Quantos branch delay slots são necessários com esta arquitectura? Porquê? [ val] c) Uma predição dinâmica de saltos poderia melhorar o desempenho do pipeline? Porquê? [ val] d) No pipeline de andares que se conhece da teórica, um LW seguido de um SW que usa o registo carregado no LW para escrever na memória de dados não produz stalls. Por exemplo: LW SW R, (R) R, (R) Isto ainda é verdade com o pipeline da alínea a)? Porquê? Grupo II Caches [ valores] Para este problema, use a seguinte informação: cache com bytes de capacidade total; palavra = bytes; política de substituição de blocos do tipo LRU; e a cache está inicialmente vazia. de

[ val] a) Considere a hipótese de desenhar uma cache associativa de vias com blocos de palavras. Preencha a tabela que se segue, admitindo a sequência de endereços decimais nela indicada (de cima para baixo). Os endereços são de bytes. No caso de existir um miss, coloque um X na coluna adequada. No caso de haver um hit, indique o tipo de localidade usada para justificar o hit (temporal ou espacial). Se achar preferível, preencha em primeiro lugar a tabela da alínea c) deste problema. Ender. de leitura (byte) Tipo de miss Localidade no hit Decimal Binário Obrigat. Conflito Capacidade Temporal Espacial [ val] b) Qual é o miss rate no acesso a esta cache? E qual é o tempo médio de acesso ao sistema de memória em que a cache se inesere (apenas existe esta cache no nível, e não existem níveis superiores de caches), se o hit time no acesso à cache for de ciclos de relógio e se o acesso à memória levar ciclos de relógio? [ val] c) Mostre o estado final da cache, indicando na tabela que se segue os endereços dos bytes de início de cada palavra em cada bloco da cache. Endereço de memória do byte de início das palavras guardadas am cada bloco Índice Palavra Palavra de

Grupo III Escalonamento estático e dinâmico [ valores] O código MIPS que se segue calcula a expressão E = A*B + C*D em vírgula flutuante (FP), tendo os endereços de A, B, C D e E sido previamente guardados nos registos R, R, R, R e R, respectivamente. L.D F, (R) L.D F, (R) MUL.D F, F, F L.D F, (R) L.D F, (R) MUL.D F, F, F ADD.D F, F, F S.D F, (R) [val] a) Calcule o número de ciclos de relógio necessários à execução deste código (mais exactamente, o número de ciclos entre a emissão da primeira instrução e a emissão da última, inclusivé) admitindo um pipeline simples com execução em ordem e sem bypass (forwarding), e com emissão simples. O caminho de dados (datapath) inclui uma unidade de load/store, um somador FP e um multiplicador FP. Admita as seguintes latências, em ciclos de relógio: load =, multiplicação FP = e adição FP =. O Write-back (WB) para os registos FP demora ciclo. Admita que todas as unidades funcionais são completamente pipelined, e que não existem conflitos no WB. Admita ainda que todas as instruções antes do primeiro Load já terminaram as suas execuções, e que existe uma FIFO com capacidade infinita para guardar as instruções no andar de emissão. Use a tabela que se segue. Ciclo Instrução descodificada L.D F,(R) de

[val] b) Reordene as instruções dadas (escalonamento estático) por forma a minimizar o tempo de execução no mesmo pipeline anterior. Mostre a nova sequência e o número de ciclos de relógio de execução das instruções reordenadas. Use a tabela que se segue. Ciclo Instrução descodificada [val] c) Admita agora que o pipeline anterior foi aumentado com um dispositivo de escalonamento dinâmico especulativo. A emissão continua a ser simples. Ignore conflitos estruturais, com excepção da descodificação, que continua a exigir um ciclo por instrução. Mostre como é agora feita a execução do código original da alínea a), e quantos ciclos são necessários para a sua execução. Compare com os resultados obtidos por optimização com o escalonamento estático da alínea b). Será que o código optimizado com escalonamento estático executaria mais rapidamente nesta máquina, que possui escalonamento dinâmico? Porquê? de

Use a tabela que se segue. Ciclo Instrução descodificada Grupo IV Memória virtual [ valores] Admita o seguinte esquema de memória virtual: (i) endereços virtuais de bits (ii) páginas com kbytes (iii) memória física com Mbytes (iv) TLB com mapeamentro directo e entradas, com uma página física por entrada (v) Cada TLB possui um bit de Validade e um bit Dirty. [val] Determine o tamanho de cada entrada (PTE) do TLB em número de bits, se usar o número mínimo de bits de endereço físico. Desenhe esquematicamente a estrutura do TLB. de