Sunteți pe pagina 1din 13

UNIVERSIDADE DO VALE DO ITAJA CURSO DE CINCIA DA COMPUTAO DISCIPLINA DE ARQUITETURA DE COMPUTADORES PROFESSOR RAFAEL LUIZ CANCIAN, Msc

QUESTES SELECIONADAS DE ARQUITETURA DE COMPUTADORES Introduo Arquitetura de Computadores 1) Apresente um esquema da mquina de Von Neumann indicando do fluxo de informaes entre os componentes do computador e enumere os passos necessrios execuo de uma instruo de mquina. 2) O que um ciclo de mquina? De quais etapas ele composto? 3) Descreva os passos necessrios para executar uma instruo num computador. O que aconteceria se o segundo passo fosse eliminado? 4) Cite pelo menos 4 princpios de projeto de uma mquina RISC.

5) Trs softwares de sistema bsicos so o Sistema Operacional, Compiladores e Montadores. Qual a funo bsica de
cada um? 6) Um programa escrito em linguagem de alto nvel passa por cinco nveis hierrquicos de traduo: Compilador, Montador, Ligador e Carregador. Cite a funo principal de cada uma.

7) Sabe-se que cada uma das instrues num dado computador monoprocessado leva 1 milionsimo de segundo (1 s)
para executar. Entretanto, sua taxa de execuo de 4,5 MIPS. O que voc pode concluir sobre a estrutura do processador desse computador?

8) Os discos rgidos levam cerca de 5 a 20 milissegundos para acessar uma informao, enquanto que a memria RAM
leva cerca de 50 a 100 nanossegundos. Se a RAM to mais rpida que o disco rgido, por que no usamos apenas a RAM para armazenar os arquivos?

9) Mostre o que voc entende da seguinte definio de computador, explicando cada termo sublinhado: Um
multicomputador heterognio ligado por uma rede de inteconexo dinmica tipo switch com ns multiprocessadores RISC superescalares e vetoriais. 10) D o conceito associado s definies abaixo:

a) Abstrao especfica que o hardware fornece ao software.


b) Conjunto de implementaes da mesma arquitetura de instrues. Elas esto disponveis ao mesmo tempo, e variam de preo e performance. c) Maneira de classificar os computadores com base na tecnologia empregada na sua implementao. d) Comando individual para um computador. e) Programa que gerencia os recursos do computador, em benefcio dos programas que rodam em tal computador.

f) Memria pequena e muito rpida que age como um buffer da memria principal.
11) Se o mesmo programa, escrito em C, for compilado para certa arquitetura, o arquivo executvel no poder ser executado numa arquitetura diferente. Por que? 12) Em um processador X, todas as instrues gastam 2 ns para executar. Em um processador Y, todas as instrues gastam 1 ns para executar. Voc pode afirmar com certeza que o processador Y mais rpido que o processador X? Justifique sua resposta.

13) possvel termos computadores com implementaes de hardware diferentes, mas que executem os mesmos
softwares? Justifique. 14) Suponha que um avano tecnolgico permita um flip-flop representar trs estados, ou seja, ao invs dos dois estados de um bit, ou seja, um flip-flop poderia representar um trit. Quantos valores possveis teria um registrador de 8 trits? 15) Por que mais fcil otimizar um programa escrito em linguagem de mquina de um computador RISC do que de um computador CISC? 16) Abaixo so apresentados exemplos de instrues em linguagem de montagem de mquinas diferentes. Para cada instruo apresentada, classifique a mquina que possui tal instruo, informando se ela deve ser RISC ou CISC, com registradores de uso geral, acumulador ou mquina de pilha. a) add r1, r2, r3 b) add [r1], r2 c) add [r2] d) add

17) Modos de endereamento so a maneira no qual o processador encontra os operandos especificados numa instruo. Cite 4 modos de endereamento, e faa um esquema (incluindo registradores da CPU e a memria) para cada mode de endereamento que explique como o operando encontrado. 18) Ningum compra um computador com o objetivo de executar o Sistema Operacional. Ento por que todo computador vem com um? Qual sua funo? Ele realmente necessrio? 19) Suponha uma linguagem de programao que suporte o tipo de dados short float de 16 bits, sendo 10 bits para a mantissa e 5 bits para o expoente, representado em SM. Quais so os dois primeiros valores maiores que zero representveis por esse tipo de dados? 20) Transforme o seguinte nmero decimal para binrio: 85,65625 21) Represente os seguintes nmeros inteiros em binrio. Utilize sempre a representao em 8 bits. Indique os casos em que ocorre overflow. a) 16 b) 128 c) +128 d) 3

22) Quatro variveis, w,x,y,z so declaradas como: signed byte w,x,y,z. Seus valores, em binrio, so 11111111,
10000000, 01111111 e 11000000, respectivamente. Mostre o resultado (binrio e decimal) das seguintes operaes aritmticas (ou informe que ocorreu overflow): a) x z b) z + y c) x + w d) y w 23) Represente o nmero 127,828125 em ponto flutuante, numa mquina com 4 bits de expoente e 10 bits de mantissa. Que nmero foi realmente representado? Qual o erro de arredondamento cometido? 24) Relacione os conceitos s suas definies . a - Barramento b - Unidade Central de Processamento c - Memria Principal d - ULA e - Unidade de Controle f - Conjunto de Instrues g - Acumulador ( ) Local onde so armazenados os dados e instrues de programas. ( ) Responsvel pela decodificao de instrues e controle de microinstrues. ( ) Realiza operaes lgicas, aritmticas e de deslocamento ( ) Todas as instrues de mquina reconhecidas por um computador ( ) Responsvel pela execuo de programas e gerenciamento de toda a mquina ( ) Local onde so guardadas as respostas operaes aritmticas e lgicas. ( ) Via de comunicao entre componentes de um computador. 25) Quais so os dois componentes principais do processador e qual a funo principal de cada uma?] 26) Quais so os trs principais fatores que levam constante evoluo dos computadores? 27) Apresente o esquema grfico de um circuito que implemente uma ULA de 1 bit, que realize as operaes de soma, subtrao, E e OU. 28) Uma matriz lgica programvel permite montar um circuito digital qualquer, simplesmente estabelecendo os pontos de conexo entre seus elementos (portas lgicas). Implemente o multiplexador 4x1 de 1 bit apresentado abaixo esquerda na matriz lgica programvel direita. Uma conexo j foi feita, como indicativo de como o circuito pode ser implementado.

S0 S1 C1 E0 E1 E2 E3 C0 S0

E0

E1 E2

E3

C0

C1

MUX 4x1

Linguagem de Mquina 1) Ao longo do tempo surgiram computadores com conjuntos de instrues de estilos diferentes. Cite quatro deles. 2) Durante a execuo de um procedimento, o programa e o procedimento precisam executar seis passos. Enumere-os. 3) Assumindo que as variveis a, b, c e d j esto armazenadas nos registradores $s0, $s1, $s2 e $s3, respectivamente, mostre como os seguintes trechos de cdigo em linguagem de alto nvel C seriam compilados para linguagem de montagem do MIPS. a) a = b + (c d); 4) b) c = d 3 ; c) a = 2*(b c) d; d) a = 3*b c / 0.5;

Assumindo que as variveis utilizadas ainda esto em memria, mostre como os seguintes trechos de cdigo em linguagem de alto nvel C seriam compilados para linguagem de montagem do MIPS. a) if (a==b) a++; else b++; c++ b) c = 1; while (c != b) c -= b++; b = 0; c) do a++ while (a != 10); d) for (c=0; c != 100; c++) if (c==5) b = a;

5) Mostre como os seguintes trechos escritos em linguagem de montagem do MIPS seriam montados em formato binrio. a) add $s0, $s1, $s2 b) ori $t0, $t0, 127 c) lao: lw $t0, 0($t1) beq $t0, $0, lao d) bne $s6, $s7, fimse addi $s6, $s6, 1 fimse: sw $s6, 32($t0)

6) Para cada instruo em linguagem de montagem apresentada abaixo, faa o papel da Unidade de Controle, ajustando os sinais de controle para que essas instrues executem corretamente. Instruo Sub Or Andi Lw Sw Beq Bne J 7) Faa uma engenharia reversa no trecho binrio apresentado abaixo, apresentando as instrues em linguagem de montagem correspondentes. a) 00110010000100011111111111111111 c) 10100001000000000000000011111111 b) 00000001011101100100000000100101 d) 00010110000100011111111111111110 Reg Dst Esc Reg UAL Fonte UAL Op Ler Mem Esc Mem MemP Reg DvI DvC

8) Considerando que voc tenha entendido o endereamento relativo a PC, explique por que um montador pode ter problemas na implementao de instrues de desvio na seguinte seqncia de cdigo: aqui: ... lalonge:add $t1, $t1, $t1 beq $t1, $t2, lalonge

9) Os microprocessadores, que costumam ser utilizados em ambientes de controle e automao, tm memria principal
muito pequena, se comparados com os PC normais (normalmente de 256 bytes e 2 KB). Por isso, em sistemas com microprocessadores o tamanho do cdigo extremamente importante. Para cada trecho de cdigo em linguagem de alto nvel listado abaixo, gere o menor cdigo assembly possvel que seja equivalente ao trecho apresentado. Assuma que as variveis j esto em registradores e no precisam ser atualizadas em memria.

a) f = 2 * g + 2 * g ; h=2*g; i = j (2 * g + 2 * g) ;

b) f = 10 ; g = f 3; if ( f < g) f = f + 1; else g = g + 1;

10) Escreva um programa em linguagem assembly do MIPS que receba um nmero n no registrador $a0 e que guarde no
registrador $v0 o valor do n-simo termo da srie de Fibonacci. Termine o programa com a instruo de retorno de funo.

11) Escreva um programa em linguagem assembly do MIPS que copia palavras do endereo armazenado no registrador
$a0 para o endereo armazenado em $a1, contando o nmero de palavras copiadas em $v0. O programa pra de copiar ao encontrar uma palavra igual a 0. Voc no precisa preservar os valores dos registradores $a0 e $a1, mas deve preservar os valores dos registradores $s0 a $s7. A palavra final deve ser copiada, mas no deve ser contada. Termine seu programa com a instruo jr $ra, que retorna de uma funo. Voc implementou a funo movstr, que copia uma string null-terminated de uma varivel a outra.

12) Escreva a funo em C int fatorial(int n) que calcula o fatorial de um nmero n. Passe essa funo para linguagem de
montagem do MIPS.

Interface entre Processador e Perifricos 1) O que a arbitragem do barramento? Cite um mecanismo de arbitragem.

2) H muitas maneiras de acessar e atender dispositivos perifricos. Duas delas so o polling e as interrupes. Explique o
funcionamento bsico desses dois mecanismos.

3) Um processador executa 100 pulsos de clock cada vez que faz um pooling (varredura) no mouse. Se o processador tem
freqncia de 500MHz e faz 40 varreduras no mouse por segundo, qual a frao do tempo do processador gasto com varreduras no mouse? 4) Calcule a banda passante gerada em um barramento para mostrar num vdeo VGA (640x480) um filme com 30 quadros por segundos e resoluo de 16 bits por pixel. Considere que os dados precisam passar duas vezes pelo barramento, uma vez indo do CD-ROM para a memria e, na segunda, da memria para o vdeo. 5) Cite as principais caractersticas de barramentos sncronos e assncronos. Em que casos cada um deles mais recomendado?

6) Faa 3 desenhos, mostrando as possveis maneiras de conectar os componentes de um computador (processador,


memria e dispositivos), e identifique cada um dos barramentos ilustrados conforme a nomenclatura de barramentos: processador-memria , backplane ou barramento de entrada/sada. 7) Numa rede de computadores, qual a principal diferena entre chaveamento por pacote e chaveamento por circuito? D o exemplo de redes que utilizam essas metodologias.

8) As equaes abaixo representam o tempo dotal envolvido na transmisso de uma mensagem de b bytes usando duas
redes: uma Ethernet e uma ATM. Qual deve ser o tamanho da mensagem para que a rede ATM tenha o dobro de desempenho da rede Ethernet?

TempoTotal ATM = 623 +

b .1.10 6 6 10.10

TempoTotal Ethernet = 462 +

b .1.10 6 6 1,125.10

9) Um sistema capaz de executar 100 milhes de instrues por segundo, e suporta no mximo 1.000 operaes de entrada/sada por segundo. Considere que cada transao precise de 5 operaes de entrada/sada para ser executado, e que cada operao de entrada/sada precise de 10.000 instrues. Ignore o tempo de resposta e considere que as transaes podem ser arbitrariamente sobrepostas no tempo, e calcule a taxa mxima de transaes por segundo que esse sistema suporta. 10) O tempo necessrio para ler/escrever um dado no disco rgido a soma do seu tempo de busca, do tempo de latncia rotacional, do tempo de transferncia e do tempo da controladora. Defina corretamente cada um desses tempos envolvidos. 11) Fornea a definio correta dos seguintes termos-chave: a) Entrada/sada mapeada em memria; b) Ethernet; c) Mestre de barramento; d) Protocolo do aperto de mo 12) Um buffer no inversor um dispositivo de trs estados. Descreva para qu ele serve e como funciona.

13) Para qu serve e como funciona o mecanismo Daisy-chain? Mostre um exemplo com um processador e 4 dispositivos, indicando o dispositivo mais prioritrio e o menos prioritrio. 14) Em certo computador, a memria pode ler ou gravar um byte em 25 nano segundos. Atualmente ela est ligada a um barramento de 80 megabits por segundo. Considerando as limitaes da memria, se a taxa de transferncia do barramento for aumentada para 400 megabits por segundo, qual ser o aumento real na taxa de transferncia para a memria? 15) Desejamos apresentar um vdeo de 800x600 pixels, com 24 bits de cor por pixel. Esse vdeo deve passar pelo barramento da mquina, que pode transmitir numa taxa 100Mb/s. Assim, at quantos quadros por segundo possvel apresentar esse vdeo?

16) Os barramentos assncronos podem utilizar o protocolo handshake (aperto de mo) para realizar uma operao na
memria. Com os sinais apresentados na figura abaixo, complete o diagrama de temporizao que ilustra uma operao de escrita na memria. Ilustre com setas as dependncias entre as mudanas de estado. Linhas do Barramento Ender/Dado MREQ RD ACK RD: MREQ: Utilizado pela CPU para avisar a memria que h uma operao pendente: 0: H operao; 1: No h operao Usado pela CPU para informar que tipo de operao deve ser realizada: 0: Leitura; 1: Escrita Usada tanto pela CPU quanto pela memria para sincronizao.

ACK:

17) As prximas 3 questes referem-se s seguintes informaes sobre um disco rgido: Total de setores: 5863662 Total de clusters: 731523 Bytes por setor: 512 Setores por cluster: 8 a) H quantos bytes por trilha? b) H quantos bytes por FAT? c) H quantos bytes por cluster? 19) Com nas informaes dadas, responda as seguintes perguntas: a) Qual o tamanho total, em megabytes, do disco rgido? b) Quantos kilobytes so gastos para armazenar as FATs? 20) Supondo ainda que o disco tem 3 cm de raio, responda as seguintes perguntas: a) Qual a distncia entre dois bits consecutivos na trilha mais externa? b) Qual densidade (bits/mm) da trilha mais externa? OBS: A circunferncia de um crculo 2.pi.r, e pi = 3.14159 Nmero de FAT's: 2 Nmero de setores por FAT: 5721 Cabeas: 15 Setores por trilha: 63

18) Com base nessas informaes, responda as seguintes perguntas:

Processamento Paralelo e Distribudo 1) Quais so os tipos de computadores paralelos e qual a principal diferena entre eles? 2) Para competir com a mquina de impresso recentemente inventada, um mosteiro da Idade Mdia decidiu produzir livros escritos a mo, colocando para tanto um grande nmero de escribas numa sala. Durante a produo do livro, o monge lder dizia em voz alta a primeira palavra a ser escrita no livro, e todos os escribas deveriam copi-la. Depois, o monge lder dizia a segunda palavra a ser escrita no livro, e todos os escribas deveriam copi-la. Esse procedimento era repetido at o livro inteiro estivesse pronto. Qual esquema de computador mais se parece com o sistema descrito? 3) Como pode ser realizado o paralelismo em nvel de instrues? E o paralelismo em nvel de processador? 4) O que e como funciona a execuo especulativa?

5) O que so e para qu servem as janelas de registradores? 6) Quais so as caractersticas principais de cada uma das seguintes arquiteturas: UMA, NUMA, COMA, MPP e COW? 7) O que so os modelos de consistncia e as caches vigilantes? Para qu eles so usados? 8) Uma rede de interconexo por comutadores com armazenamento na entrada apresenta o problema de bloqueio pelo cabea da fila. O que pode ser feito para solucionar esse problema? 9) Suponha que um fio entre os comutadores 2A e 3B da rede mega tenha partido. Algum n da rede vai deixar de se comunicar com algum outro em funo desse problema? 10) Cite quatro mtricas de desempenho usadas para avaliar redes de interconexo, e como essas mtricas so obtidas.

Pipeline

1) Explique como funciona o pipeline 2) Um projetista est propondo eliminar o sinal de controle MemParaReg. O multiplexador que tem esse sinal como
entrada usaria em seu lugar o sinal LerMem. Voc acha que esta modificao vai funcionar? Justifique sua resposta.

3) Explique porqu, no pipeline estudado, no adianta usar a predio que o salto condicional ir ocorrer para buscar a
prxima instruo aps uma instruo de salto condicional.

4) Na mquina estudada, o pipeline torna cada uma das instrues mais lenta (de 8ns para 10ns), mesmo assim, um
programa executado nessa mquina roda mais rpido. Explique porqu.

5) Considere um programa composto por 50 instrues lw, sem se preocupar com a qualidade de cdigo. Sabendo que
cada instruo depende da instruo anterior a ela, calcule a CPI real se o programa rodar no processador com pipeline estudado

6) Mostre as modificaes necessrias s instrues a seguir para possibilitar que elas faam uso do slot de desvio
retardado. Loop: lw addi beq $1, 50($7) $7, $7, 4 $7, $1, $4

7) O pipeline busca aumentar o desempenho do computador executando mais instrues em paralelo. Mas nem sempre
possvel manter o pipeline cheio, devido aos conflitos que podem ocorrer. Cite o nome dos trs tipos de conflitos que diminuem o desempenho do pipeline. Para cada um dos 3 tipos de conflito, cite todas as tcnicas que podem ser utilizadas para elimin-los ou diminuir seu impacto.

8) Em qu consiste cada uma das tcnicas de otimizao do pipeline apresentadas abaixo? Em qual tipo de conflito elas
so teis? (use o verso) a) Caches separadas d) Salto retardado b) Adiantamento ou forwarding e) Reordenamento de instrues c) Previso de salto f) Loop unrolling

13) Considere a execuo do cdigo abaixo na mquina com pipeline estudada. No final do quinto ciclo de execuo, quais
registradores esto sendo lidos e quais esto sendo escritos? add $1, $2, $3 add $4, $5, $6 add $7, $8, $9 add $10, $11, $12 add $13, $14, $15

9) Suponha que o cdigo assembly abaixo seja executado na mquina com pipeline, mas sem nenhum mtodo de
otimizao, que o endereo de destino de um salto condicional seja resolvido no 3 o estgio do pipeline, e que o perodo de relgio seja de 2 ns. Qual o tempo de execuo deste cdigo? (obs: use o diagrama abaixo. So executadas 10.000 iteraes) add laco: lw $8, $0, $0 $9, 0($8) # $8 0 # $8 $8 + 1 # $9 Mem[$8] addi $8, $8, 1

sub slti bne Instruo add $8,$0,$0 laco: addi $8,$8,1 lw $9,0($8) sub $11,$10,$9 slti $15,$8,10000 bne $15,$0, laco

$11, $10, $9 $15, $8, 10000 $15, $0, laco

# $11 $10 - $9 # $8 < 10.000 ? # se $8 < 10.000 goto laco

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 B D X M R

10) Supondo agora que o cdigo assembly da questo anterior seja executado na mquina com pipeline (Tr = 2ns), com
unidade de adiantamento, desvios retardados (salto resolvido no 2 o estgio) e reordenao de instrues. Qual o tempo de execuo deste cdigo? Calcule o aumento de desempenho obtido em relao ao tempo de execuo calculado na questo anterior. (obs: use o diagrama abaixo) Instruo add $8,$0,$0 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 B D X M R

11) Assuma que um defeito de fabricao ocorreu no hardware do caminho de dados (unidade de processamento) da figura
anexa. Como conseqncia do defeito, alguns sinais de controle ficam sempre ativados ou sempre desativados, embora deveriam ser ativados/desativados pelo controle para algumas instrues. Este tipo de defeito conhecido como uma falha do tipo "amarrado em zero" ou amarrado em um. Descreva o efeito deste tipo de defeito no funcionamento do processador. Quais instrues no funcionam mais? Qual erro acontece? a. UALFonte = 0 b. DvC = 1 c. MemParaReg = 1

12) Suponha que se queira implementar a instruo load word register, com a sintaxe lwr <regd>, <regs>, <regt>, que
acessa a memria no endereo dado pela soma dos registradores <regs> e <regt> e coloca seu contedo no registrador <regd>, ou seja: <regd> := Mem[<regs> + <regt>]. O hardware apresentado capaz de executar essa nova instruo? Se for, indique o valor de cada sinal de controle para que essa instruo seja executada corretamente. Se no for, modifique o hardware para que ele seja capaz de executa-la.

Desempenho de Computadores

1) O que so benchmarks? Qual o problema com benchmarks sintticos?


2) Por que MIPS e MFLOPS no so boas mtricas de desempenho? Em que casos em que elas poderiam ser usadas com segurana? 3) O que estabelece a Lei de Amdhal?

4) Num computador, cada comando de uma linguagem de alto nvel traduzido em m instrues de uma linguagem
intermediria. E cada instruo intermediria traduzida em n instrues de mquina. Cada instruo de mquina precisa de p pulsos de clock para ser executada. Se um computador tem freqncia de q MHz, quantos comandos de alto nvel esse computador executa por segundo? 5) Num sistema embarcado de tempo real para certa indstria, um brao mecnico deve ser controlado por um microcontrolador. A rotina de controle do brao j foi desenvolvida, e sabe-se que ela envolve a execuo de 550 mil instrues de mquina. Para que brao mecnico funcione corretamente, necessrio garantir que essa rotina seja executada em at 16,5 milissegundos, ou o brao poder ser esmagado por uma prensa hidrulica. Atravs do manual do microprocessador descobriu-se que cada instruo executa em 1,5 pulsos de relgio. Ento qual deve ser a menor freqncia do processador para que o brao mecnico no seja destrudo?

6) Desejamos comparar o desempenho de duas mquinas diferentes: X e Y, cujo mix de instrues de um programa tpico
apresentado abaixo. A verso do programa compilado na mquina X tem 3 vezes mais instrues que o programa compilado na mquina Y. A mquina Y tem uma freqncia de clock de 600MHz. Qual deve ser a freqncia da mquina X para que ambas tenham o mesmo desempenho quando executando esse programa? Classe de instruo A B C D Mquina X CPI 1 2 3 4 % 35 25 20 20 Mquina Y CPI 2 2 4 6 % 50 35 10 5

7) Imagine a seguinte notcia hipottica divulgada pela imprensa: Nossa empresa vai comercializar a partir de amanh a
primeira verso de um chip de 800MHz o qual oferece uma melhora de 20% no desempenho em relao ao ltimo chip considerado como topo de linha, que roda a 666MHz. O novo chip poder ser instalado na mesma placa onde anteriormente estava um chip da gerao anterior (que rodava a 400MHz), para melhorar em 70% o desempenho do sistema.. Comente a definio ou as definies de desempenho que voc acredita que a empresa utilizou em sua nota imprensa. Voc acha que a notcia constitui uma propaganda enganosa?

8) Trs vendedores vieram empresa onde voc trabalha oferecer seus produtos, digamos M1, M2 e M3, com preos de
U$ 1.000, U$ 2.000 e U$ 3.000, respectivamente. Seu chefe mandou voc avaliar as mquinas e decidir especificamente pela compra da mquina que apresentar o maior desempenho por U$ pago. Sua deciso ir determinar a troca de todas as mquinas da empresa, o que representa um grande investimento. Nos computadores de sua empresa vrios programas so necessrios, e claramente alguns so mais usados que outros. Assumindo que o desempenho de uma mquina o inverso do tempo de execuo da carga de trabalho (workload) ao qual ela ser submetida, que a importncia relativa de um programa sua taxa de uso, e que o benchmark deve ser composto por todos os programas da carga de trabalho, decida adequadamente pela compra da melhor mquina para sua empresa e garanta seu emprego. Os programas usados na empresa (workload), sua taxa de uso e seu tempo de execuo (em s) para cada mquina oferecida (pacientemente coletados por voc) so apresentados abaixo. Programa P1 P2 P3 P4 P5 Taxa de Uso 50% 25% 15% 7% 3% Texec M1 8 1 2 2 1 Texec M2 4 3 6 10 20 Texec M3 3 2 5 4 7

9) Voc deseja acelerar sua mquina, e h duas possibilidades de melhoramentos: fazer os acessos ao monitor de vdeo executarem 4 vezes mais rpido que antes (comprando uma placa aceleradora de 4x), ou fazer o acesso ao disco rgido 2 vezes mais rpido que antes (comprando um HD com 2x mais taxa de transferncia). Voc repetidamente executou um programa que leva 200 segundos para rodar. Deste tempo, voc determinou que 20% usado para acesso ao monitor de vdeo, 50% para acesso ao disco rgido e o restante para outras tarefas. a) Qual ser a acelerao total se melhorarmos o acesso ao monitor de vdeo. b) Qual ser a acelerao total se melhorarmos o acesso ao disco rgido? c) Qual ser a acelerao total se fizermos ambos os melhorarementos?

10) Voc gerente de projeto de um famoso processador. Assuma que, nesse processador, instrues de multiplicao
tomam 12 ciclos para executar e que so 10% das instrues em um programa tpico, e que os outros 90% das instrues requerem uma mdia de 4 ciclos para cada instruo. Sua equipe de projetistas de hardware indicou que possvel reduzir o nmero de ciclos requeridos pela multiplicao de 12 para 6 ciclos (dobrando sua velocidade!!!), mas isso implicaria um aumento de 20% no perodo do relgio. Nada mais seria afetado. Eles devem prosseguir com a alterao? Quantas vezes a mquina ficaria mais rpida com essa alterao? 11) Estamos interessados em duas implementaes uma mquina, um 80486 DX, com coprocessador numrico capaz de executar instrues em ponto flutuante, e um 80486 SX, sem esse hardware especial para operaes em ponto flutuante. Considere um programa tpico, com o seguinte mix de instrues: Multiplicao em ponto flutuante Adio em ponto flutuante Diviso em ponto flutuante Instrues inteiras 15% 10% 15% 60%

A mquina DX possui coprocessador para ponto flutuante, portanto pode executar operaes em ponto flutuante diretamente. O nmero de ciclos requeridos para cada tipo de operao : Multiplicao em ponto flutuante Adio em ponto flutuante Diviso em ponto flutuante Instrues inteiras 12 5 25 2

A mquina SX no tem hardware de ponto flutuante, portanto ela precisa emular as operaes em ponto flutuante usando instrues inteiras. O nmero de instrues inteiras necessrias para implementar cada operao em ponto flutuante : Multiplicao em ponto flutuante Adio em ponto flutuante Diviso em ponto flutuante 30 20 50

O 80486 SX possui freqncia de 166MHz, enquanto que o 80486 DX possui freqncia de 66MHz. Qual mquina mais rpida e quo mais rpida?

12) Suponha um computador com as seguintes caractersticas: Frequncia do relgio de 250MHz; Barramento cache/RAM
de 64 bits; Tempo de acesso RAM de 80 ns; Tempo de envio de endereo e envio/recebimento de informao da RAM de 4 ns; Cache de 512KB com 4 palavras por bloco; Endereos e palavras de 32 bits. Suponha ainda as seguintes caractersticas de um programa tpico: Mix de instrues: 44% aritmticas ou lgicas, 30% loads, 10% saltos condicionais, 11% stores e 5% saltos incondicionais; CPI mdio das instrues (apenas executando) de 1,1; Taxa de faltas na cache de instrues: 1,2%; Taxa de faltas na cache de dados: 1,3%. Qual o tempo total de execuo desse programa se ele tem 1.109 instrues ? Hierarquia de Memria 1) As memrias de um computador so divididas em nveis hierrquicos, de registradores memria terciria. Cite quais so esses nveis e como variam a velocidade e a capacidade de armazenamento nesses nveis. 2) Uma memria tem 131072 bits de capacidade. Se essa memria for organizada com resoluo de um byte, quantos endereos ter? 3) Cite 4 vantagens em utilizar o mecanismo de memria virtual. 4) O que a localidade espacial? O que a localidade temporal? 5) Um programa possui muitos laos, poucos desvios condicionais e acesso seqencial a um vetor. J um segundo programa possui poucos laos, muitos desvios e faz acesso aleatrio a posies num vetor. Essas caractersticas tm alguma implicao na taxa de acerto na cache desses programas? Justifique sua resposta. 6) Complete as sentenas: A memria de um computador dividida em nveis hierrquicos. Os nveis mais prximos do processador, acessados mais freqentemente, tm capacidade de armazenamento ........... (maior / menor) que os nveis mais distantes, e tambm tempo de acesso mais ......... (rpido / lento) que os nveis mais distantes. Do mais prximo para o mais distante do processador, esses nveis hierrquicos so: ..................................., ....................................., ....................................., .................................. 7) Quais so os 3 tipos de memria cache existentes? Qual a diferena entre eles?

8) Suponha uma cache com um total de 8 palavras e a seguinte sequncia de referncias a endereos na memria: 0, 1, 6, 7, 8, 4, 0, 14, 9, 15, 0, 4, 5, 6, 9. Mostre o estado final da cache, a quantidade de acertos e a quantidades de faltas, se a cache for: a) Mapeamento direto e uma palavra por bloco. b) Mapeamento direto e duas palavras por bloco. c) Associativa por conjunto, com 2 conjuntos e uma palavra por bloco.

9) Sabendo que os endereos tm 32 bits e a memria enderevel byte a byte, qual o tamanho total de uma cache de
512KB associativa por conjunto, com quatro conjuntos de duas palavras por bloco? Qual a porcentagem de informao til armazenada nessa cache em relao ao seu tamanho total? 10) ) A seguir apresentamos uma srie de referncias a endereos de palavras: 1, 4, 8, 5, 20, 17, 19, 56, 9, 11, 4, 43, 5, 6, 9, 17. Considerando uma cache mapeada diretamente, com 8 blocos de uma palavra cada, que estava inicialmente vazia, identifique cada referncia como uma falta ou um acerto no acesso cache e mostre o contedo final da cache, aps o processamento de todas as referncias. 11) O que ocorre durante falta na cache? Qual a penalidade paga? Quais os tempos envolvidos? 12) Qual a diferena dos seguintes mtodos de escrita em memria:

a) Write-back. b) Write-through. c) Write-through com buffer.


13) Assinale Verdadeiro ou Falso s sentenas abaixo. ( ( ( ( ( ) Toda memria cache tira proveito da localidade temporal. ) Toda memria cache tira proveito da localidade espacial. ) A falta por conflito ocorre em caches totalmente associativas. ) A falta por capacidade ocorre apenas em caches com mapeamento direto. ) Caches associativas por conjunto tm taxa de falta maiores que das caches mapeadas diretamente.

14) Suponha uma cache qualquer. Mantendo constante a quantidade de informao til que ela armazena, o que aconteceria com a penalidade e com a taxa de faltas se: a) Aumentssemos a quantidade de blocos e diminussemos a quantidade de palavras por bloco? Ou seja, diminussemos sua associatividade? b) Aumentssemos a quantidade de palavras por blocos e diminussemos a quantidade de bloco? Ou seja, aumentssemos sua associatividade? 14) Que caractersticas um programa deve possuir para ter alta localidade temporal e baixa localidade espacial em relao s instrues? 15) Fornea a definio correta dos seguintes termos abaixo: a) Endereo fsico b) Endereo virtual ( ( ( ( ( ( ( ( ( c) Falta de pgina d) Tabela de pginas e) Translation Lookaside Buffer f) Localidade espacial

16) Marque cada sentena abaixo como Verdadeira ou Falsa. ) O mecanismo write-through recomendado na escrita de pginas em memria. ) O Sistema Operacional deve desabilitar as excees enquanto j estiver tratando alguma exceo. ) Pode-se ter uma falta de pgina se houve um acerto na TLB. ) Pode-se ter uma falta na cache se houve um acerto na TLB. ) O aumento da freqncia do processador diminui o impacto negativo da penalidade por faltas na cache. ) O aumento do tamanho de uma pgina aumenta a taxa de faltas de pgina. ) O aumento do tamanho de uma pgina aumenta o tamanho da tabela de pginas. ) O aumento do tamanho de uma pgina aumenta a taxa de acertos na TLB. ) O aumento do tamanho de uma pgina aumenta o nmero de bits no end. virtual para o nmero da pgina.

17) Marque cada sentena abaixo como Verdadeira ou Falsa.

) O aumento do tamanho de uma pgina aumenta o nmero de pginas na memria.

18) Que caractersticas um programa deve possuir para ter baixa localidade temporal e alta localidade espacial em relao s instrues? 19) Suponha que o endereo virtual possui 32 bits e as pginas so de quatro KB. Se cada entrada na tabela de pginas possui quatro bytes, qual o tamanho total da tabela de pginas de um processo? 20) Algumas tcnicas so usadas para reduzir a quantidade de memria necessria ao armazenamento da tabela de pginas. Mostre como funcionam duas das cinco tcnicas apresentadas no livro.

21) Apresente um esquema com os mecanismos de hardware envolvidos na traduo do endereo virtual em endereo
fsico (endereo virtual, endereo fsico, tabela de pginas, cache, TLB, memria fsica e disco), a relao entre esses mecanismos e o tamanho dos campos envolvidos (quantos bits tem cada informao). 22) A paginao no MIPS R2000 tem 0 nveis, a do Pentium II tem 1 nvel ou 2 nveis e a paginao do MC68030 tem 4 nveis. O que significam os nveis de paginao? Fornea informaes relevantes que demonstrem seu conhecimento do assunto. 23) Descreva claramente qual o papel do Sistema Operacional no gerenciamento da memria virtual. Em que momentos ele invocado? O que ele deve fazer? Que cuidados o Sistema Operacional deve ter nesse gerenciamento? 24) Para acessar uma informao na memria, o processador inicialmente a procura na cache. Se no encontrar, ento procura na memria principal, onde certamente a encontrar. Ou seja, se a informao estiver na cache, o tempo gasto apenas o tempo de acesso cache. Se no estiver, o tempo gasto o tempo de acesso cache mais o tempo de acesso memria principal. Se o tempo de acesso cache for de 1 ns e o tempo de acesso memria principal for de 40 ns, qual seria o tempo mdio de acesso a uma informao se a taxa de acerto na cache for de: a) 50%; b) 95% 25) Em certo computador, o tempo de acesso cache de 1ns e o tempo de acesso RAM 40ns. Qual deve ser a taxa de acerto na cache de um programa que executa nesse computador para que, em mdia, ele leve 4ns acessando um dado na memria? 26) Associe corretamente as colunas, relacionando os conceitos s suas definies. a) Falta por conflito b) TLB c) Tabela de pginas d) Penalidade por falta e) LRU f) Write-back g) Write-through h) Memria virtual ( ( ( ( ( ( ( ( ) Esquema no qual a atualizao da cache e da memria principal ocorre ao mesmo tempo, garantindo a consistncia dos dados armazenados nessas duas memrias. ) Esquema de substituio no qual o bloco substitudo aquele que no usado h mais tempo. ) Falha no acesso cache que ocorre quando vrios blocos competem pelo mesmo conjunto de endereos da cache. ) Tcnica de organizao da memria que usa a memria principal como uma cache para a memria secundria. ) Cache que guarda os mapeamentos de endereos mais recentes, de maneira a evitar acessos tabela de pginas. ) Tempo necessrio busca de um bloco em um nvel inferior da hierarquia da memria. ) Esquema que manipula as escritas atualizando os valores somente quando o bloco modificado for devolvido memria de mais baixo nvel da hierarquia. ) Estrutura de dados que contm as informaes para a traduo de um endereo virtual em um endereo real.

27) Sabe-se que o tempo mdio de acessos memria (TMAM) dado pela frmula a seguir: TMAM = tempo gasto em um
acerto + Taxa faltas x Penalidade por falta. Suponha que possamos dobrar o tamanho da cache, melhorando a taxa de faltas de 0,05 para 0,03 faltas por referncia. Isto faz com que o tempo de acesso cresa para 1,2 ciclo de clock. Usando o TMAM como mtrica, determine se as modificaes so ou no convenientes. 28) Por que motivo um compilador efetuaria a otimizao especificada a seguir? Justifique porqu essa alterao pode melhorar o desempenho desse programa. /* Antes */ /* Depois */

for (j = 0 ; j < 20 ; j++) for (i = 0; i < 200; i++) x[i, j] = x[i, j] + 1;

for (i = 0 ; i < 200 ; i++) for (j = 0; j < 20; j++) x[i, j] = x[i, j] + 1;

29) Calcule o nmero total de bytes necessrios implementao de uma cache associativa por conjunto, com 512 blocos, 16 conjuntos e 8 palavras de 4 bytes por conjunto. 30) Marque cada sentena abaixo como Verdadeira ou Falsa. ( ( ( ( ( ( ( ( ( ( ) O mecanismo write-through recomendado na escrita de pginas em memria. ) Pode-se ter uma falta de pgina se houve um acerto na TLB. ) Pode-se ter uma falta na cache se houve um acerto na TLB. ) O aumento do tamanho de uma pgina aumenta a taxa de faltas de pgina. ) O aumento do tamanho de uma pgina aumenta o tamanho da tabela de pginas. ) O aumento do tamanho de uma pgina aumenta a taxa de acertos na TLB. ) Toda memria cache tira proveito da localidade temporal. ) A falta por conflito ocorre em caches totalmente associativas. ) A falta por capacidade ocorre apenas em caches com mapeamento direto. ) Caches associativas por conjunto tm taxa de falta maiores que das caches mapeadas diretamente.

31) Considere uma hierarquia de memria usando uma das trs organizaes para a memria principal mostradas na figura
abaixo. Suponha que o tamanho do bloco da cache de 16 palavras, que o comprimento da organizao b da figura de quatro palavras, e que a organizao c tem quatro bancos. Se a latncia da memria principal para um novo acesso for de 10 ciclos de clock e o tempo de transferncia for de 1 ciclo, qual ser a penalidade por falta para cada uma dessas organizaes?

32) Suponha um computador com organizao de memria do tipo (c) da figura acima. A freqncia do processador de 1GHz, o tempo de transferncia pelo barramento de 3 ns / palavra, o tempo de acesso memria de 15 ns / palavra, h 4 bancos de memria, e a cache tem uma palavra por bloco. Nesse computador um programa foi executado inmeras vezes e a taxa de faltas nas duas caches foi, em mdia, 3%. Das instrues executadas, 25% acessavam a memria. Voc estima que, se colocasse uma cache de mesmo tamanho (de informao til), mas agora de 8 palavras por bloco, a taxa de faltas seria ento 4 vezes menor, o que talvez melhore o desempenho do sistema de memria, pois, em contrapartida, tal soluo acarretaria uma penalidade maior. Supondo que sua estimativa esteja certa, deseja-se saber se a colocao dessa nova cache deixaria o programa mais rpido ou no. E tambm quanto mais rpido (ou mais lento).

33) Suponha um computador que possua a organizao de memria c da figura acima, onde haja 4 bancos de memria e o
barramento tenha largura de uma palavra (32 bits). A memria principal SRAM com tempo de acesso de 5 nanossegundos, o tempo de envio/recebimento de uma palavra atravs do barramento de 1 ns, e a cache tem mapeamento direto com 4 palavras por bloco. A freqncia do processador de 500 MHz. Suponha agora que essa mquina rode um programa tpico com as seguintes caractersticas: 40% das instrues executadas acessam dados na memria (lw ou sw), tendo 1,6% de taxa de falta na cache de instrues, e 2,1% de taxa de falta na cache de dados. Desconsiderando as faltas nas caches, as instrues executadas por esse programa gastam, em mdia, 1,5 ciclos de clock. Avalie a porcentagem do tempo de execuo desse programa gasto esperando pela memria durante as faltas nas caches.

S-ar putea să vă placă și