Faculdade de Computação

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

Download "Faculdade de Computação"

Transcrição

1 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 desempenho listadas abaixo: a) IPC - Instructions per clock, b) Clock speed, c) CPI - Cycles per instruction. P2) A Tabela abaixo apresenta o mix de instruções de um determinado programa. Esse mix é típico de arquiteturas RISC (Reduced Instruction Set Computer). INSTRUÇÕES CICLOS DE CLOCK FREQUÊNCIA RELATIVA ALU 2 50% LOAD 4 20% STORE 4 10% BRANCH 3 20% Suponha que para a execução de tal programa são necessárias 10 milhões de instruções em linguagem de máquina. Qual o tempo de CPU gasto por este programa quando executado num computador com frequência de clock de 4 Ghz? P3) Considere um computador com frequência de clock de 2 Ghz, o qual gasta 16 ms para executar um programa do qual cada operação aritmética gasta 2 ciclos de clock. Sabe-se que 25% do tempo de execução desse programa referem-se a operações aritméticas. Qual deve ser a frequência de clock de um novo processador para que o mesmo programa rode em 12 ms, mas sabendo que no novo processador cada operação aritmética gasta 3 ciclos de clock? P4) Quando se projetam sistemas de memória, torna-se necessário conhecer as frequências de leitura e de escrita na memória, bem como as frequências de acesso a dados e de acesso a instruções. Usando as estatísticas para o conjunto de instruções MIPS mostradas na figura 1 para o programa spice, determine o seguinte: (a) A porcentagem de todos os acessos à memória que são acessos de escrita. (b) A porcentagem de todos os acessos à memória que são acessos de leitura. Suponha, neste caso, que todas as transferências de dados sejam feitos através de instruções do tipo load. Dica: Lembre-se que, durante a execução de um programa, a memória é acessada para leitura de dados e instruções e para escrever somente dados. Classe Exemplo MIPS Ling. Alto Nível gcc spice Aritmética add, sub, addi declarações de atribuições 48% 50% Transf.Dados lw, sw, lb, sb, lui ref. estrut. dados (arrays) 34% 41% Desvios Condic. beq, bne, slt, slti declar. if e loops 16% 8% Saltos j,jr, jal funções, returns, case/switch 2% 1% Figura 1: Classes de Instruções MIPS, exemplos e correspondência com linguagem de alto nível e percentual de instruções MIPS executadas por categoria para dois programas: gcc e spice. Arquitetura e Organização de Computadores 2 1

2 P5) Dois compiladores diferentes (C1 e C2) estão sendo testados em uma máquina de 100MHz. A máquina possui três classes diferentes de instruções, a saber, instruções classe A, classe B e classe C, que consomem um, dois e três ciclos, respectivamente. Ambos compiladores são empregados para produzirem código para um grande fragmento de software. O primeiro compilador (C1) utiliza 5 Milhões de instruções da classe A, 1 Milhão da classe B e 1 Milhão da classe C. O segundo compilador (C2) utiliza 10 Milhões de instruções da classe A, 1 Milhão da classe B e 1 Milhão da classe C. a) Qual sequência será mais rápida de acordo com a medida MIPS? b) Qual sequência será mais rápida de acordo com o tempo de execução? P6) Um programa é executado por 1 segundo, em um processador com um ciclo de clock de 50 ns e Throughput = 15 MIPS. a) Quanto é o CPI, para o programa? b) Vamos supor que, dadas algumas técnicas de otimização, a taxa de transferência do programa seja otimizada. No novo caso, as 40% das instruções do programa são executadas com CPI = 1, enquanto a fração das instruções restantes (60%) é executada com o mesmo CPI. o Quanto custa o SpeedUp do case1 para o case2? o Quanto é o Throughput do caso 2 expresso em MIPS? P7) Suponha que foram feitas as seguintes medidas de número médio de instruções por ciclo: Classe da instrução Aritmética Transferência de dados Salto condicional (branch) Salto incondicional (jump) CPI médio 1,0 ciclos 1,6 ciclos 1,8 ciclos 1,2 ciclos Calcule o número médio de ciclos por instrução para o MIPS. Pondere as frequências de instruções usando as estatísticas da Figura 1. Calcule o CPI, usando as frequências obtidas para o programa spice. P8) Um processador construído segundo o princípio multi-ciclo roda a uma frequência de 500 MHz e apresenta as seguintes estatísticas na execução de um programa P: Implementação Mbase Classe de Instrução CPI Frequência A 3 40% B 2 30% C 4 20% D 5 10% Propõe-se uma modificação no projeto, que permitirá operação numa frequência de 800 MHz causando, no entanto, mudanças no CPI de algumas classes de instruções, como mostrado abaixo: Implementação Motim Classe de Instrução CPI Frequência A 3 40% B 4 30% C 5 20% D 6 10% Pergunta-se: a) Qual o CPI médio de cada uma das implementações para o programa P? b) Qual a relação entre o tempo de execução do programa P na Motim e o tempo em Mbase? Arquitetura e Organização de Computadores 2 2

3 P9) Considere novamente o processador do exercício anterior, rodando o mesmo programa P. Propõe-se uma modificação no projeto para diminuir o custo da máquina, aumentando, no entanto, o CPI de algumas classes de instruções, como mostrado abaixo: Implementação Motim Classe de Instrução CPI Frequência A 2 40% B 5 30% C 6 20% D 5 10% Pergunta-se: a) Qual é a frequência de operação necessária na implementação Motim para que o desempenho da máquina na execução do programa P continue o mesmo? b) Supondo que a frequência da implementação Motim continue a mesma de Mbase, seria ainda assim possível obter o mesmo desempenho de Mbase através de otimizações no compilador? Explique e exemplifique com números concretos. P10) Analise de desempenho: a. Considere uma máquina de 500 MHz que consome 3 ciclos de clock para toda instrução executada. É o desejo de que um determinado programa realize o seu trabalho num tempo menor do que 15 microssegundos (µs). Qual é a quantidade máxima de instruções que devemos restringir o programa? b. Considere um processador de ponto flutuante. A sequência de instruções típica para o programa é composta por essa distribuição de operações: 30% FMUL, 60% FADD, 10% FDIV. Cada uma dessas operações consome o seguinte número de ciclos para executar: FMUL: 2 FADD: 1 FDIV: 10 Responda - qual é o ciclo médio por instrução (CPI)? P11) Considere duas implementações diferentes, M1 e M2, do mesmo conjunto de instruções básicas. Existem três classes de instruções, A,B,e C, em tal conjunto de instruções. A máquina M1 tem um clock de 80MHz e a M2 tem um clock de 200MHz. O número médio de ciclos gastos por cada classe de instruções em M1 e M2 é dado pela seguinte tabela: Classe CPI em M1 CPI em M2 Código gerado por C1 Código gerado por C2 Código gerado pelo compilador de terceiros A % 30% 50% B % 20% 30% C % 50% 20% A tabela também traz um resumo de informações sobre como três diferentes compiladores fazem uso do conjunto de instruções. O compilador C1 foi desenvolvido pelos fabricantes da máquina M1, o compilador C2 pelos fabricantes da máquina M2, e o outro compilador é um produto desenvolvido por terceiros. Suponha que cada um deles use o mesmo número de instruções para gerar o código referente a um determinado programa, mas que o mix das instruções seja o indicado na tabela. Usando o compilador C1 tanto em M1 quanto em M2, quantas vezes mais rápidas é a máquina M1 comparada com a máquina M2? Usando o compilador C2 em ambas as máquinas, quantas vezes mais rápidas é a máquina M2 comparada com a máquina M1? Se você adquirir a máquina M1, qual compilador escolherá? Se você adquirir a Arquitetura e Organização de Computadores 2 3

4 máquina M2, qual compilador escolherá? Qual máquina você compraria, admitindo que todos os demais critérios são idênticos, inclusive o custo? P12) Amdahl s law: Considere uma máquina que execute um programa consistindo de 50% de operações de multiplicação de ponto flutuante, 20% de operações de divisão e os 30% restantes com outros tipos de instruções. a) Desejamos uma máquina que execute 4 vezes mais rápido. Podemos acelerar a operação de divisão no máximo em 3 vezes e a operação de multiplicação no máximo 8 vezes. Seria possível alcançar ao melhoramento de performance desejado para a máquina realizando melhoramento somente em uma instrução, e qual seria? P13) Suponha que podemos melhorar o desempenho de instruções de ponto flutuante da máquina por um fator de 15 (as mesmas instruções de ponto flutuante executam 15 vezes mais rápido nesta nova máquina). Qual é o percentual de instruções de ponto flutuante seriam necessárias para alcançar um Speedup de no mínimo 5? P14) Suponha que um segmento do código de um programa consista em uma parte puramente sequencial que consome 25 ciclos para executar, e um loop iterativo que consome 100 ciclos por iteração. Consideram-se as iterações do loop como independentes, e não pode ser paralelizada. Se o loop será executado 100 vezes, qual será o máximo ganho de Speedup usando um número infinito de processadores (comparados a sistemas de um único processador)? P15) Estamos interessados em duas implementações de uma máquina, uma delas com um hardware especial para processamento em ponto flutuante e outra, sem tal hardware. Considere um programa P, com o seguinte mix de instruções: Multiplicação em ponto flutuante 10% Soma em ponto flutuante 15% Divisão em ponto flutuante 5% Instruções inteiras 70% A máquina MFP (com processamento em ponto flutuante) possui um hardware especial para realizar diretamente as operações sobre valores reais. O número de ciclos de clock gastos em cada operação está definido a seguir: Multiplicação em ponto flutuante 6 Soma em ponto flutuante 4 Divisão em ponto flutuante 20 Instruções inteiras 2 A outra máquina, denominada MNFP (sem processamento em ponto flutuante), não possui o hardware especial para processar diretamente as operações em ponto flutuante. Portanto, tais operações precisam ser realizadas a partir de instruções inteiras, que gastam 2 ciclos de clock. O número de instruções inteiras para executar cada uma das operações em ponto flutuante é dado a seguir: Multiplicação em ponto flutuante 30 Soma em ponto flutuante 20 Divisão em ponto flutuante 50 Ambas as máquinas têm um clock de MHz. Encontre os valores correspondentes ao MIPS nativo de cada uma das máquinas. Arquitetura e Organização de Computadores 2 4

5 P16) Se a máquina MFP do exercício anterior precisar de 300 milhões de instruções para executar o programa P, pergunta-se: De quantas instruções a máquina MNFP precisa para executar o mesmo programa? P17) Implementações do cálculo da raiz-quadrada de ponto flutuante (FP) sofrem variações significativas de desempenho. Suponha que a raiz-quadrada de ponto flutuante (FPSQR) seja responsável por 30% do tempo de execução de um determinado benchmark, as medidas foram obtidas para uma máquina específica. Uma proposta é adicionar hardware para FPSQR que acelerará esta operação por um fator de 10. Como alternativa poderíamos fazer todas as instruções FP executarem mais rápido - instruções FP são responsáveis por um total de 60% do tempo de execução. A equipe de projeto acredita que eles podem fazer todas as instruções FP executarem três vezes mais rápido com o mesmo esforço requerido para a raiz-quadrada rápida. Compare estas duas alternativas de projeto e determine qual ofereceria maior aceleração (speedup)? P18) Benchmarks: Números SPECs são medidas do tempo consumido para executar certos programas de benchmarks representativos. Um número maior significa que o tempo de execução do correspondente benchmark é menor. Alguns afirmam que isto atribui uma vantagem injusta aos processadores que são projetados para usar um ciclo de clock mais rápido, sugerem que os números SPECs devam ser normalizados em relação a frequência do clock, desde que clocks mais rápidos estão associados a tempos de execução menores e por esta razão números SPECs maiores. Avalie se esta sugestão é uma boa ou má idéia? Explique Digamos que seu projeto será avaliado com base no número SPEC/MHz, qual seria a principal decisão de projeto que você faria? P19) Você está projetando um computador a partir do zero (prancheta) e que o orçamento da companhia permite uma pequena quantidade de memória. Quais das seguintes características você escolheria na ISA e na microarquitetura,e por quê? Explique brevemente. a) Instruções de comprimento variável ou fixo? b) Instruções complexas ou simples? c) Um cache L2 grande ou pequeno? (L2 é o último nível de cache) d) Uma unidade de pré-busca (prefetcher) agressiva ou conservativa? e) Cache de blocos grandes ou pequenos? P20) Para este exercício, sua tarefa é comparar a eficiência de memória de quatro estilos diferentes de conjuntos de instruções. Os estilos de arquitetura são: Acumulador: todas as operações usam o acumulador, que é o único registrador disponível. Operações load/store transferem dados entre o acumulador e a memória, outras operações, como add e sub, usam o acumulador como um dos operandos de origem (se houver mais de um) e como o operando de destino. Memory-Memory: todos os três operandos de cada instrução estão na memória. Instruções aritméticas incluem add e sub. Stack: todas as operações ocorrem no topo da pilha. Apenas a memória de acesso push e pop e todas as outras instruções, como add e sub, removem seus operandos da pilha e os substituem pelo resultado. A instrução dup replica o elemento do topo da pilha. A implementação usa uma pilha para as duas primeiras entradas; acessos que usam outras posições de pilha são referências de memória. Load / Store: todas as operações ocorrem nos registradores, e as instruções register-to-register, como add e sub, possuem três operandos por instrução. Existem 16 registros de propósito geral, e os especificadores de registro têm 4 bits de comprimento. Para medir a eficiência da memória, faça as seguintes suposições sobre os quatro conjuntos de instruções: O opcode é sempre 1 byte (8 bits). Todos os endereços de memória são 2 bytes (16 bits). Todos os operandos de dados são 4 bytes (32 bits). Todas as instruções são um número inteiro de bytes de comprimento. Não há outras otimizações para reduzir o tráfego de memória, e todas as variáveis serão colocadas inicialmente na memória. Por exemplo, uma carga de registro exigirá 4 bytes de instrução da Arquitetura e Organização de Computadores 2 5

6 memória: um para o opcode, um para o registrador destino e dois para um endereço de memória; também haverá 4 bytes para o operando. Da mesma forma, uma instrução de memória adicionará 7 bytes de instrução da memória: um para o opcode e dois para cada um dos 3 endereços de memória, e haverá 8 databites da memória para o processador e 4 bytes de dados do processador para a memória. Para cada um dos quatro estilos de arquitetura, escreva a seqüência do código de instrução para o seguinte fragmento de programa: a = b + c; b = a + c; d = a b; Para cada seqüência de código, calcule os bytes de instrução buscados e os bytes de dados de memória transferidos (lidos ou gravados). a) Qual arquitetura é mais eficiente medida pelo tamanho do código? b) Qual arquitetura é a mais eficiente medida pela largura de banda total de memória requerida (código mais dados)? c) Se as respostas não são as mesmas, por que elas são diferentes? Arquitetura e Organização de Computadores 2 6

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Arquitetura e Organização de Computadores 2 1 a Lista de Exercícios entrega em 25/09/2018 Prof. Cláudio C. Rodrigues Problemas: P1) A Tabela abaixo apresenta o mix de instruções

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

Avaliação de Desempenho

Avaliação de Desempenho Avaliação de Desempenho Clock do Sistema Cristal de Quartzo envia onda de sinais constantes que são convertidas em sinais digitais 1GHz = 1 bilhão de pulsos Taxa de pulsos = taxa de clock Incremento de

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

Avaliação de desempenho

Avaliação de desempenho Universidade Federal do Rio Grande do Sul Instituto de Informática Organização de Computadores Aula 9 Avaliação de desempenho INF01113 Organização de Computadores 9-1 Avaliação de desempenho 1. Introdução

Leia mais

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 é

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

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

CAPÍ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

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho Ciência da Computação Arq. e Org. de Computadores Avaliando e Compreendendo o Desempenho O Que Veremos Avaliando e compreendendo o desempenho: Introdução Definindo desempenho Medindo o desempenho e seus

Leia mais

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

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

Desempenho. Sistemas de Computação

Desempenho. Sistemas de Computação Desempenho Definição Medidas de desempenho utilizadas Tempo de resposta ou tempo de execução: tempo decorrido entre o início da execução de um programa e o seu final Quantidade de trabalho realizada em

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 [email protected] Colegiado de Engenharia

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 7ª Aula Pipeline Profa. Sarita Mazzini Bruschi [email protected] Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 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 [email protected]

Leia mais

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

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

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

Exemplo Amdahl. O speedup total é dado por:

Exemplo Amdahl. O speedup total é dado por: Í Revisão da prova Questão 20: A exploração do paralelismo em nível de instruções em uma arquitetura superescalar é realizada identificando no fluxo de instruções aquelas que são independentes a fim de

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

SSC0902 Organização e Arquitetura de Computadores

SSC0902 Organização e Arquitetura de Computadores SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi [email protected] Arquitetura CISC CISC Complex Instruction

Leia mais

Infraestrutura de Hardware. Desempenho

Infraestrutura de Hardware. Desempenho Infraestrutura de Hardware Desempenho Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface entre

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 Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em

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

ção de Computadores II

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

UCP: Construindo um Caminho de Dados (Parte I)

UCP: Construindo um Caminho de Dados (Parte I) UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres

Leia mais

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

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

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder [email protected] Prof. Sergio Takeo [email protected] Prof. Antonio

Leia mais

Organização de Computadores

Organizaçã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 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

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

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

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

Desempenho. Na otimização do projeto, as métricas mais importantes são custo e desempenho. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 1

Desempenho. Na otimização do projeto, as métricas mais importantes são custo e desempenho. Arquiteturas de Alto Desempenho - Prof a Luiza Mourelle 1 A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção de computadores e inovação no projeto de computadores. O projeto

Leia mais

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções

Organizaçã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 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 [email protected] Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

Infraestrutura de Hardware. Instruindo um Computador

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

Avaliando e Compreendendo o Desempenho. Capítulo 4

Avaliando e Compreendendo o Desempenho. Capítulo 4 Avaliando e Compreendendo o Desempenho Capítulo 4 Desempenho Mensurar, analisar e informar Fazer escolhas inteligentes Por que um hardware é melhor que outro para programas diferentes? Que fatores do desempenho

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

Arquitetura e Organização de Computadores

Arquitetura 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 [email protected] Baseado nos slides do capítulo

Leia mais

Organização e Arquitetura de Computadores I

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

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /

Leia mais

Arquitetura de Computadores. Conjunto de Instruções

Arquitetura de Computadores. Conjunto de Instruções Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas

Leia mais

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

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

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

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

SSC0611 Arquitetura de Computadores

SSC0611 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 [email protected] 1 Arquitetura MIPS MIPS: Microprocessor

Leia mais

Conjunto de Instruções. Alisson Brito

Conjunto de Instruções. Alisson Brito Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas

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

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC

Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação. Arquitetura de Computadores I. RISC versus CISC Universidade Federal do Rio de Janeiro Bacharelado de Ciência da Computação Arquitetura de Computadores I RISC versus CISC Gabriel P. Silva 04.11.2014 Introdução Um dos objetivos de uma arquitetura de

Leia mais

2ª Lista de Exercícios de Arquitetura de Computadores

2ª Lista de Exercícios de Arquitetura de Computadores 2ª Lista de Exercícios de Arquitetura de Computadores 1. Descreva as funções desempenhadas pelos escalonadores de curto, médio e longo prazo em um SO. 2. Cite três motivos pelos quais o controle do processador

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

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

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

a) 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

Explorando o paralelismo entre instruções

Explorando o paralelismo entre instruções Explorando o paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline Pipeline: Uma idéia natural Linhas de montagem

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

Arquitetura de Computadores I

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

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador

Leia mais

O Funcionamento do Processador

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

Leia mais

Instruções. Maicon A. Sartin

Instruções. Maicon A. Sartin Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis

Leia mais

O Funcionamento do Processador

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

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Conhecida pelo PROCESSADOR Conhecida pelo Usuário COMPILADOR LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY 2 INSTRUÇÕES EM ASSEMBLY Para programar

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

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 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

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia 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

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação

Leia mais

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

Aula 17: UCP: Construindo um Caminho de Dados (Parte I) Aula 17: UCP: Construindo um Caminho de Dados (Parte I) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (I) FAC 1 / 33

Leia mais

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

Arquitetura 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 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 [email protected] Colegiado de Engenharia de Computação O QUE SÃO PROCEDIMENTOS? Procedimentos são um conjunto

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

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

Organização de Sistemas Computacionais Processadores: Organização da CPU

Organização de Sistemas Computacionais Processadores: Organização da CPU Universidade Paulista UNIP Curso: Ciências da Computação Turma: CCP30 Turno: Noturno Disciplina: Arquitetura de Computadores Professor: Ricardo Loiola Alunos: Thiago Gomes dos Santos Matrícula: C63873-0

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

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

Organização e Arquitetura de Computadores I

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

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Expoente Mantissa Frac. UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Expoente Mantissa Frac. 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 Data de entrega 16/09/2016 por e-mail ([email protected])

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