Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material...

25
1 Anexo A1 Capítulo 1

Transcript of Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material...

Page 1: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

1

Anexo A1

Capítulo 1

Page 2: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

2

Fig. A.1. Fotografia mostrando o interior do microprocessador MIPS R3000. No lado direito do chip, pode-sever a parte operativa. O lado superior esquerdo contem a unidade de controle. O canto inferior esquerdo contema parte do sistema de memória chamada "Translation Lookaside Buffer", ou seja, a memória cache domicroprocessador.

Page 3: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

3

Fig. A.2. Fotografia mostrando o interior do microprocessador MIPS R4000. A pastilha tem a dimensão de1,5cm por 1,1cm, contendo cerca de 1,3 milhão de transistores. No lado direito do chip pode-se ver a parteoperativa para cálculo de operações com números inteiros, enquanto que o lado esquerdo contem a parteoperativa para cálculos em ponto flutuante. A unidade de controle está no centro do chip e os dois grandesblocos no alto são as memórias cache do microprocessador.

Page 4: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

4

Fig. A.3. Fotografia de um wafer de 6 polegadas contendo microprocessadores MIPS R4000 (esquerda) e umwafer de 6 polegadas contendo microprocessadores MIPS R3000 (direita). O número de pastilhas do R3000 nowafer da direita, para um rendimento de 100%, é 210. Cada pastilha mede 0,8 x 0,9cm2 e contem cerca de125.000 transistores. O número de pastilhas do R4000 no wafer da esquerda, para um rendimento de 100%, é de59. O tamanho da pastilha é 1,5 x 1,1cm2 e cada pastilha contem cerca de 1,3 milhão de transistores. Algunsdos chips do R3000 colocados nas bordas do wafer não serão utilizados; eles foram incluídos porque é mais fácilpara se criar as máscaras para imprimir o circuito no silício. Os retângulos "vazios" em ambos wafers contémcircuitos de teste usados para rapidamente se testar o wafer. O wafer do MIPS R4000 tem quatro circuitos deteste adicionais nas bordas.

Fig. A.4. Fotografia do microprocessador Intel 4004, de 1971, o primeiro microprocessador. A pastilha tem adimensão de: 0,3 x 0,4cm2 e possui 2.300 transistores.

Page 5: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

5

Anexo A2

Capítulo 4

Page 6: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

6

Anexo A3

Exercícios

Page 7: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

7

Capítulo 1

1. Encontre a palavra ou frase na lista abaixo que melhor se enquadra na descrição dasquestões q1 à q26.

a. níveis de abstração n. DRAMb. assembler o. implementaçãoc. número binário p. instruçãod. bit q. arquitetura de um conjunto de instruçõese. cache r. circuito integrado LSI (large scale integration)f. CPU s. memóriag. chip t. sistema operacionalh. compilador u. processadori. família de computadores v. semicondutorj. parte de controle w. supercomputadork. parte operativa x. transistorl. defeito y. VLSI (very large scale integration)m. pastilha z. rendimento

q1. Abstração específica que o hardware fornece ao software de baixo nível:q2. Parte ativa do computador, seguindo instruções dos programas para somar números, testarnúmeros, etc...:q3. Outro nome para processador:q4. Número na base 2:q5: Dígito binário:q6. Coleção de implementações de computadores apresentando mesma arquitetura deconjunto de instruções; ela é disponível ao mesmo tempo e varia em preço e performance:q7: Componente do processador que realiza operações aritméticas:q8: Componente do processador que controla a parte operativa, a memória e os dispositivosde I/O de acordo com as instruções do programa:q9: Hardware que obedece a abstração da arquitetura do conjunto de instruções:q10. Técnica para projetar o hardware ou software; o sistema consiste de camadas dehierarquia, onde cada camada inferior mostra detalhes da camada acima:q11. Máquina de alta performance:q12. Comando individual para um computador:q13. Circuito integrado comumente utilizado para construir a memória principal:q14. Integra dezenas à centenas de transistores dentro de um único chip:q15. Integra centenas de milhares à milhões de transistores dentro de um único chip:q16. Localização de programas quando estão sendo executados, contém dados necessáriostambém:q17. Imperfeição microscópica de um wafer:q18. Apelido, abreviação de uma pastilha ou circuito integrado:q19: Chave (switch) de liga/desliga, controlada por eletricidade:q20. Percentagem de pastilhas boas entre o número total de pastilhas no wafer:q21. Programa que gerencia, administra um computador para o benefício dos programas querodam naquela máquina:q22. Programa que traduz uma versão simbólica de uma instrução para uma versão binária(linguagem de máquina):

Page 8: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

8

q23. Programa que traduz uma notação em linguagem em alto-nível para a linguagemassembler.q24. Componente retangular que resulta da divisão de um wafer:q25. Memória pequena e rápida que atua como um buffer para a memória principal:q26. Material que não conduz eletricidade muito bem:

2. Usando as categorias listadas abaixo, classifique as seguintes palavras. Use as letras àesquerda das palavras na tabela para responder. As letras destas palavras podem ser usadasmais de uma vez.

a. software de aplicação f. dispositivo de saídab. linguagem de programação de alto-nível g. computador pessoalc. dispositivo de entrada h. semicondutord. circuito integrado i. supercomputadore. minicomputador j. software de sistemas

q1. Apple II: q9. Microprocessador:q2. Assembler: q10. Mouse:q3. Compilador: q11. Sistema operacional:q4. Cray-1: q12. Pascal:q5. DRAM: q13. PDP-8:q6. Fortran: q14. Impressora:q7. IBM-PC: q15. Display de CRT:q8. Keyboard:

3. Um disco magnético contendo dados está constantemente girando. Em média, leva-se ametade de uma revolução completa do disco para que a informação desejada passe embaixoda cabeça de leitura/escrita. Assumindo-se que o disco esteja girando a uma velocidade de3600 revoluções/minuto, qual é o tempo médio para o dado desejado passar pela cabeça deleitura/escrita do disco? E qual é o tempo se o disco estivesse girando à 5400rpm?

4. Combine as três equações [i], [ii], [iii] (pág. 4) para determinar o custo/pastilha em funçãoda área da pastilha. Se ignorar constantes, qual é a relação aproximada entre o custo e a áreada pastilha?

5. Qual é o custo aproximado de uma pastilha de R4000 no wafer mostado à esquerda nafigura 1.13 (pág. 11). Assuma que o wafer de 6 polegadas custa US$750,00 e que adensidade de feito é 2/cm2. Use o número de pastilhas indicado nesta figura.

6. Mesmo exercício que o anterior, mas utilizando o wafer da direita (R3000).

Page 9: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

9

Exercícios 7. 8. e 9.:A cada nova geração, as pastilhas de circuitos de circuitos integrados DRAM tem

significantemente aumentado. No entanto, o rendimento do processo destes circuitos tempermanecido aproximadamente o mesmo (43% à 48%). A tabela a seguir mostra algunsdados estatísticos referentes à produção de memórias DRAMs entre 1980 e 1992.

7. Dado o aumento de área da pastilha de memórias DRAM, qual o parâmetro que deve sermelhorado para se manter o mesmo rendimento?

8. Derive uma fórmula para o parâmetro que deve ser melhorado, obtido no exercícioanterior.

9. Usando a fórmula obtida no exercício anterior, qual é o melhoramento calculado paraaquele parâmetro entre 1980 e 1992?

10. Defina o termo "Hierarquia de Memória" em um computador. Quais são os parâmetros eas heurísticas que devem ser considerados quando se deseja implementar uma hierarquia dememória em um computador?

11. Responda às seguintes perguntas:i) Considere uma memória RAM (Random Acess Memory = Memória de Acesso

Aleatório). Explique porque este tipo de memória é de "acesso aleatório". Um discomagnético também é de acesso aleatório? Caso negativo, qual é o tipo de acesso? Porque?

ii) Considere uma memória SRAM (RAM estática) e outra DRAM (dinâmica).Porque a memória SRAM é dita "estática"e a DRAM é dita "dinâmica"? Suponha que ambasas memórias foram concebidas na mesma tecnologia e cuja pastilha de silício apresente asdimenções de 1cm X 1cm. Neste caso: Qual das duas memórias armazena mais informação?Porque? Qual é a mais cara em termos absolutos (preço da pastilha)? Qual é a mais cara emtermos relativos (preço/bit)? Qual é a mais rápida?

12. Defina Circuito Síncrono. Qual é a diferença entre um Circuito Combinacional Síncronoe um Circuito Sequencial Síncrono? Um microprocessador é um circuito Combinacional ouSequencial? Porque?

Page 10: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

10

13. No segmento do código C abaixo, f, g, h, i, j são variáveis.

if (i == j) goto L1;f = g + h;i = i + 1;goto L2

L1: f = g - h;i = i - 1;

L2: j = j + A[i];

Assuma que as 5 variáveis estão associadas aos registradores de $16 à $20 e que A é um arrayde 20 elementos, cujo endereço inicial na memória é Astart. Qual é o código assembler para oMIPS deste segmento de programa em C?

14. Assuma que as variáveis x, y, z estão associadas aos registradores $18, $19, $20.Assuma também que o registrador $17 contem o valor de index (variável i). Qual é o códigoassembler para o MIPS do seguinte comando em C:

If (x != y) A[i] = z + A[i]; else z = z + A[i];

15. Assuma que A é um array de 10 elementos cujo espaço de memória já foi alocado pelocompilador, e que o compilador associa as variáveis w, x, y, z aos registradores $17 à $20.Assuma também que o compilador associou o endereço Astart como o endereço inicial para oarray na memória. Traduza o trecho de programa em C abaixo para o assembler domicroprocessador MIPS:

w = A[x];y = A[ x += z];if (w != y) goto L1; else goto L2;

L1: w = A[x];y = A[x -= z];goto L3;

L2: A[x += y] += y;L3: x+= z;

Page 11: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

11

Capítulo 2

1. Você é um usuário de computador e quer comparar a performance de dois sistemasdistintos: S1 e S2. O sistema S1 custa R$10.000 e o sistema S2 custa R$15.000. As seguintesmedidas mostradas na Tabela 1 foram publicadas para estes sistemas.

Programa Tempo em S1 Tempo em S2

1 10 segundos 5 segundos

2 3 segundos 4 segundos

Tabela 1. Tempo de Execução.

a) Diz-se que um sistema é mais custo-efetivo do que outro se o seu quociente deperformance por custo é mais alto. Qual sistema é mais custo-efetivo para um usuário queutiliza somente o programa 1? Por quanto?

b) Um outro usuário está interessado na capacidade de processamento de seu escritório, queutiliza igualmente os programas 1 e 2. Que sistema é mais custo-efetivo para este usuário? Porquanto?

c) As seguintes medidas adicionais foram feitas para os sistemas S1 e S2 executando oprograma 1.

Programa Instruções Executadas em S1 Instruções Executadas em S21 20 x 106 16 x 106

Qual o valor de MIPS para o programa 1 em cada uma das máquinas?

d) Se a freqüência de clock do sistema S1 é de 20 Mhz e a freqüência de clock do sistema S2é de 30 Mhz, qual o valor de CPI para o programa 1 nos dois sistemas?

e) Se a CPI de S2 fosse a mesma de S1 (ver questão d), quantas instruções do programa 1 S2executaria em 5s?

f) Sabendo-se que o número de instruções em S1 para um programa 3 é de 55 x 106, qual deveser o valor máximo do CPI para que este programa seja executado em um tempo de CPUigual ou menor que o do programa 1?

2. Considere duas máquinas M1 e M2. M1 possui uma freqüência de clock de 50 MHz e M2possui uma freqüência de clock de 75 MHz. Ambas as máquinas possuem quatro classes deinstruções: A, B, C e D. Os valores de CPI para cada classe de instrução para cada máquinasão dados na tabela abaixo. Considere ainda que você está interessado em avaliar odesempenho destas máquinas para um programa cujas instruções estão uniformementedistribuídas entre as classes A, B, C e D. Considere também que o número de instrucões é omesmo em ambas as máquinas.

Page 12: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

12

Classe CPI em M1 CPI em M2A 1 2B 2 2C 3 4D 4 4

a) Qual máquina é mais rápida e por quanto?b) Se desejássemos que ambas as máquinas possuíssem o mesmo desempenho (que M2)para o programa mencionado acima, qual deveria ser a freqüência de clock de M1?c) Se desejássemos que ambas as máquinas possuíssem o mesmo desempenho (que M1)para o programa mencionado acima, qual deveria ser a freqüência de clock de M2?

3. Suponha que você tem dois microcomputadores PC (de fabricantes diferentes) cujaprincipal utilização é rodar duas planilhas de cálculos (uma em cada um dos PCs). Você sabeque na primeira planilha de cálculo, 25% do tempo de processamento é gasto em operações deponto flutuante, enquanto que na segunda, este tempo é de 45%. Considere também que aplanilha roda em 10s e que a segunda em 23s.

Você vai ao shopping para comprar um novo coprocessador para operações em pontoflutuante para instalar em um dos seus 2 PCs, encontrando dois modelos diferentes: umcoprocessador que acelera 5 vezes as operações em ponto flutuante, no caso do PC que roda aprimeira planilha de cálculos; e um outro coprocessador, que acelera 3 vezes o tempo paraexecutar as operações em ponto flutuante da máquina que roda a segunda planilha.

Pergunta: Qual dos dois coprocessadores você deve comprar? Em outras palavras, qualdeles vai gerar o maior speedup depois de instalado nos seus respectivos PCs?

4. Você está escrevendo o compilador C para uma nova máquina que será lançadabrevemente no mercado. Para um determinado comando em C você criou duas sequênciasalternativas de instruções em assembler. A seqüência S1 executa 50 instruções e a seqüênciaS2 executa 60 instrucões. Todas as instruções executadas em qualquer das seqüências são deapenas 3 classes de instruções: A, B e C. Instruções da classe A executam em 1 período declock. Instruções da classe B executam em 2 períodos de clock e instruções da classe Cexecutam em 3 períodos de clock. As percentagens de instruções de cada classe executada porcada seqüência são dadas na tabela a seguir.

Percentagem de Instruções da classe na seqüênciaClasse A B C

S1 40% 20% 40%S2 60% 20% 20%

a) Qual o CPI de cada seqüência de código?b) Qual seqüência de código executa mais rapidamente e por quanto?

5. Você está liderando o projeto de um novo processador. O projeto do processador e docompilador foram completados e você precisa decidir se você vai produzir este processadorprojetado ou se você vai gastar mais tempo para melhorá-lo. O seu grupo de engenharia lheapresenta as seguintes opções:

Page 13: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

13

i. Deixar o projeto como está. Vamos chamar esta máquina de Mbase. Ela possui um clock de50 Mhz, e as medidas mostradas na Tabela 1 foram feitas utilizando um simulador.ii. Otimizar o hardware. O grupo de hardware garante que eles podem melhorar o projeto paraque a máquina trabalhe com uma freqüência de clock de 60 Mhz. Vamos chamar estamáquina melhorada de Mótima. Um simulador foi utilizado para obter as medidas mostradasna Tabela 2 para Mótima.

Tipo de Instrução CPI Freqüência Tipo de Instrução CPI FreqüênciaA 2 40% A 2 40%B 3 25% B 2 25%C 3 25% C 3 25%D 5 25% D 4 10%

Tabela 1. Medidas da máquina Mbase. Tabela 2. Medidas da máquina Mótima.

a) Qual a CPI para cada máquina?b) Quais os valores de MIPS nativa para Mbase e Mótima?c) Quantas vezes Mótima é mais rápida do que Mbase?

d) O grupo de projetistas de compiladores ficou sabendo da discussão sobre o projetomelhorado. Este grupo propôs que o compilador da máquina fosse reprojetado para melhorara performance. Vamos chamar esta máquina com compilador melhorado de Mcomp. Asmelhorias conseguidas com este novo compilador foram estimadas de acordo com a Tabela 3.Por exemplo, se a máquina base executa 500 instruções do tipo A, Mcomp executa o mesmoprograma executando 0.9 X 500 = 450 instruções tipo A. Qual a CPI de Mcomp?

Tipo de Instrução Percentagem de Instruçõesexecutada em relação à Mbase

A 90%B 90%C 85%D 95%

Tabela 3. Instruções Executadas em Mcomp.

e) Quantas vezes Mcomp é mais rápida do que Mbase?f) O grupo projetista de compiladores afirma que é possível implementar tanto asmelhorias de hardware de Mótima, quanto as melhorias de compilador de Mcomp na mesmamáquina. Suponha que a máquina com as duas melhorias seja chamada de Mambas. (Utilizara mesma otimização do compilador - Tabela 3 - em relação à Mótima.) Quantas vezesMambas é mais rápida do que Mbase?g) O gerente de custos da empresa decidiu que apenas uma das melhorias poderá serincorporada no produto final, ou as melhorias de hardware de Mótima ou as melhorias docompilador de Mcomp poderão ser implementadas. Você estima que os tempos mostrados naTabela 4 serão necessários para implementar estas otimizações.

Melhoria Tempo para implementar Nome da máquinaHardware 6 meses Mótima

Compilador 6 meses McompAmbas 8 meses Mambas

Tabela 4. Tempo para implementar melhorias.

Page 14: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

14

Você lembra ter lido em um jornal científico recentemente que as novas CPUs que temsido lançadas no mercado apresentam uma melhoria de performance de aproximadamente50% por ano, ou aproximadamente 3.4% por mês. Assumindo que a máquina base possui umaperformance idêntica a dos seus competidores hoje, qual otimização você decidiriaimplementar? Seria mais vantajoso lançar a máquina no mercado imediamente sem nenhumadas modificações?

Page 15: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

15

Capítulo 3

1. Um microprocessador consiste em um circuito seqüencial. Um circuito seqüencial podeser descrito como um conjunto de registradores e uma lógica combinacional que gera osvalores lógicos que devem ser armazenados neste conjunto de registradores a cada ciclo declock. A freqüência máxima de clock na qual um microprocessador pode operar édeterminada pela velocidade da lógica combinacional utilizada entre os registradores.Portanto é importante determinar o tempo de execução de cada circuito utilizado nesta lógicacombinacional. Este tempo de execução é fortemente dependente da tecnologia utilizada paraa fabricação do componente, e esta tecnologia muda substancialmente de um ano para outro.Uma prática comum é utilizar uma medida normalizada em unidades de tempo (ut). Para esteexercício, considere os seguintes tempos para os circuitos elementares :

• Cada porta lógica elementar, ou seja um E, um OU ou um INVERSOR possui um atraso de1 ut.• Um circuito multiplexador possui dois níveis lógicos, portanto seu atraso é de 2 ut.• O tempo necessário para gerar a saída vai-um em um circuito somador elementar é de 2 ut.• O tempo necessário para gerar a saída soma em um circuito somador elementar é de 2 ut.

a) No caso de uma soma, quanto tempo leva para gerar as saídas Vai-um e Resultadona ULA apresentada na fig. 3.8?

b) Considere que a ULA de 32 bits da fig. 3.9 é construída com ULAs de 1 bit como amostrada na fig. 3.8. Quanto tempo leva para efetuar uma soma de 32 bits?

2. Considere que uma operação de deslocamento à direita ou à esquerda leve 1 utindependentemente do número de bits no registrador em que ela ocorre e que a ULA leve 2 utpara somar tanto números positivos quanto negativos. Considere ainda os seguintes númerosexpressos em binário: A = 0001111000111

B = 0010101010101

Indique na tabela abaixo quanto tempo (medido em unidades de tempo), as seguintesoperações necessitam para serem realizadas se os algoritmos de multiplicação indicadosforem utilizados.

Operação Multiplicação 1 Alg. de BoothA x BB x A

3. Considere um computador cuja ULA opera com operandos de 32 bits. Marque com um xem cada linha da tabela abaixo para indicar se a operação especificada resulta em overflowquando realizada neste computador.

Operação Resulta Overflow Não Resulta Overflow

$7FFFFFF0 +$000000FE

Page 16: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

16

$00FEdCBA +$00100000$80000001 +$00000ABC

4. Considere a operação A x B onde A é o multiplicando e B o multiplicador, executadapelos algoritmos de Multiplicação 1 e Booth apresentados em aula. Para operações demultiplicação cujos operandos possuem 32 bits e que geram um produto de 64 bits. Escrevana tabela abaixo quantas operações de adição/subtração são executadas para os operandosindicados abaixo.

Operandos Multiplicação 1 Alg. Booth

A = $0F0F 0F0F 0F0F 0F0FB = $0000 FFFF 0000 0000A = $0000 FFFF 0000 0000B = $0F0F 0F0F 0F0F 0F0F

5. Considere um computador que representa números inteiros com sinal em palavras de 16bits utilizando notação de complemento de dois. Qual é o maior número positivo e qual é onúmero negativo de maior magnitude que podem ser representados neste computador?

Maior número positivo:Número mais negativo:

6. Nas operações indicadas abaixo, os operandos estão representados em complemento de 2.

(a) $00000FFF + $00007FE0(b) $0FFE07E0 + $0001F81F(c) $FFFF0001 - $FFFF0000(d) $7FABCDE0 + $F0A3F4B5

Considere que estas operações devem ser realizadas em um processador que possuiuma ULA de 32 bits. Os resultados das operações realizadas por esta ULA devem serarmazenados também em um registrador de 32 bits. Para cada operação indique se ocorreoverflow. Se não ocorrer indique o resultado da operação em notação hexadecimal e decimal(apresente seus cálculos).

7. Qual a representação binária e decimal dos seguintes números representados abaixo emcomplemento de dois?

a. $FFFFFE0Cb. $FFFFFFFFc. $7FFFFFFFd. $7FFFFFFAe. $FFFFd001f. $007FFFE0

Page 17: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

17

8. Considere que o circuito apresentado na fig. 3.8 é utilizado para implementar uma ULA de1 bit. Os atrasos através de portas lógicas são normalmente contados em ns. Assuma osseguintes atrasos para os componentes dos circuitos.• As portas lógicas elementares (E, OU e inversor) possuem um atraso de 10 ns.• O multiplexador de duas entradas possui um atraso de 20 ns.• O multiplexador de três entradas possui um atraso de 30 ns.• O somador elementar possui um atraso de 20 ns entre quaisquer entrada e saída.

Considere que uma ULA de 16 bits seja construída pela concatenação de 16 ULAs de1 bit implementadas com o circuito descrito acima. A arquitetura da ULA de 16 bits é similara da fig. 3.9. Ao responder as perguntas abaixo, explique o raciocínio que você empregoupara obter o resultado.

(a) Quanto tempo leva para realizar uma soma na ULA de 16 bits?(b) Quanto tempo leva para realizar uma subtração na ULA de 16 bits?

Capítulo 4

Page 18: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

18

1. Quais são as possíveis causas de formação de “bolhas” em uma arquitetura em pipeline?Que técnicas estão disponíveis para reduzir o custo da formação de bolhas nestasarquiteturas?

2. Qual a diferença entre uma arquitetura “superpipeline” e uma arquitetura “superscalar”? Épossível construir uma máquina que seja ao mesmo tempo superscalar e superpipeline? Casoafirmativo, como seria a organização desta máquina?

3. Um estagiário de engenharia projetou uma máquina para operar em pipeline comcinco estágios. Quando a máquina começou a operar, o estagiário terminou o seu estágio eabandonou a empresa sem deixar nenhuma documentação sobre o tempo de execução de cadaestágio. Você inicia o seu estágio de informática nesta mesma empresa e seu supervisorsolicita que você escreva um programa para determinar a latência da máquina.

Para resolver o problema, você escreve dois trechos lineares de programa, isto é,trechos de programa que não possuem desvios, e nos quais você tem certeza que não existemdependências de qualquer natureza.

O seu primeiro trecho de programa possui 500 instruções e executa em 50.4 ms (este éo tempo decorrido entre a busca da primeira instrução e o término da última instrução doprograma). O seu segundo trecho de programa possui 1000 instruções e executa em 100.4 ms.Após assistir você realizando estes experimentos, o seu supervisor lhe pergunta:

a. Qual a latência do pipeline?b. Qual é o tempo de execução do estágio mais lento deste pipeline?

4. Considere uma máquina em pipeline que utiliza previsão estática de que um branch nuncaocorre. Esta máquina possui os seguintes tempos de operação em cada estágio:

1. Busca de instrução: 30 ns2. Decodificação de Instrução: 35 ns3. Execução de Instrução: 80 ns4. Acesso à Memória: 100 ns5. Escrita em Registradores: 45 ns

a) Qual a latência para execução de instruções nesta máquina?b) Qual o tempo perdido por causa do aparecimento de bolhas devido ao branch no final deum laço de 10 instruções que executa 10.000 vezes? Calcule a % na queda de desempenho.c) Qual seria o tempo perdido se a máquina utilizasse previsão estática de que o branchsempre ocorre? Qual seria a dificuldade adicional do projeto para implementar esta previsão?d) Qual a freqüência de execução de instruções nesta máquina?e) Responda a letra (b) para previsão dinâmica, supondo que o compilador setou um flag deque este desvio ocorre.f) Mesmo que em (e), porém previsão dinâmica para instrução que não ocorre.

Page 19: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

19

g) A gerência de desenvolvimento solicitou que a freqüência de execução de instruções sejadobrada utilizando-se a mesma tecnologia. Para tanto decidiu-se transformar a máquina emuma máquina “superpipelined” aumentando-se o número de estágios no pipeline. Foisolicitado que se usasse um número mínimo de estágios na máquina superpipelined. Comovocê modificaria a máquina acima para alcançar o objetivo de dobrar a freqüência deexecução de instruções? Qual seria a nova latência?

Capítulo 5

Page 20: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

20

1. Numa implementação simplificada de um chip de memória, são necessários no mínimodois pinos para alimentação elétrica, usualmente chamados de Vcc e Gnd1, um v para indicarse a operação é de escrita ou leitura (WE), um sinal para selecionar o chip de memória (CS),e ainda um sinal para habilitar o chip de memória (ME), entre outros. Além destes sinais dealimentação e controle, o chip necessita ter um determinado número de linhas de dados eendereço de acordo com a sua configuração.

Na tabela abaixo, indique o número mínimo de pinos que os chips com asconfigurações dadas podem ter. Indique também quantas linhas de endereço você utilizariapara endereçar row e column, e qual o número total de portas AND utilizadas nosdecodificadores com a sua organização.

Organização # Pinos Linhas paraRow

Linhas paraColumn

# PortasAND

Capacidade(bits)

4Mx4bits1Mx4bits2Mx8bits256Kx16bits16Mx1bit512Kx8bits

2. Considere a implementação de um sistema de memória de 16 Mbytes organizado empalavras de 16 bits utilizando o chip µPD4216400 que possui uma organização de 4Mx4bits.Responda:

a) Quantos chips são necessários? Projete os bancos de memória.b) Projete a organização do espaço de endereçamento de memória.c) Quais linhas de endereçamento devem ser usadas para selecionar os bancos de

memória? Projete o multiplexador para os bancos supondo o sinal de chip select sendo ~CS.

3. Considere um chip de memória com organização de 64Mbytesx8bits. A equipe de projetodeste chip está considerando as configurações abaixo para o número de linhas de endereçoutilizadas para o endereçamento de row e column. Indique na tabela a seguir o número totalde portas AND que seriam usadas nos circuitos decodificadores do chip para cadaconfiguração.

Sabendo-se que este é um chip DRAM, e assumindo a configuração do decodificadorde 13x13 abaixo, quantos transistores são necessários para implementar o array de células e alógica de decodificação?

Linhas de End. p/Row Linhas de End. p/Column # total de portas AND13 1314 1215 11

1 Em vários manuais de fabricante, você poderá verificar que muitos chips possuem mais de um pino para Gnd eVcc. O uso de múltiplos pinos para alimentação é uma decisão feita pelos projetistas em função de restrições delayout interno. Nós vamos considerar que apenas dois pinos sejam necessários para alimentação.

Page 21: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

21

4. Considere a implementação de uma memória com 32 Mbytes organizada em palavras de 8bits utilizando o chip µPD4216800 que possui uma organização de 8Mx4bits.

a) Quantos chips são necessários?b) Quais linhas de endereçamento devem ser usadas para selecionar bancos de

memória?

Capítulo 6

Page 22: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

22

1. Porque a memória cache, sendo uma memória de muito pouca capacidade dearmazenamento, consegue acelerar o processamento de uma CPU de forma tão efetiva?

2. Qual a diferença entre as técnicas de atualização de dados na cache “escrita através”(write through) e “escrita de volta” (write back)? Quais as vantagens e desvantagens de cadauma delas?

3. Considere um computador com uma memória principal de 16 Mbytes e uma cache de 64Kbytes. Construa um gráfico com os valores do espaço de gerenciamento e do tamanho dacache (medido em bits) em função do tamanho do bloco da cache (considere blocos de 8, 16,32, 64, 128, 256, 512 e 1024 bits).

4. Considere uma cache com mapeamento direto com 16 blocos. Cada bloco do tamanho deuma palavra. Considere que a seguinte seqüência de palavras é acessada: 1, 4, 8, 5, 20, 17, 19,56, 9, 11, 4, 43, 5, 6, 9, 17 (endereços expressos em decimal). Assuma que a cache estáinicialmente vazia. Identifique cada um dos acessos acima como um acerto ou uma falha.Mostre o conteúdo de toda a cache ao final da seqüência de acessos.

5. Considere uma memória principal de 1MB e uma cache de 16 Kbytes, organizada emblocos com tamanho de 2 bytes. Qual o ÍNDICE e o TAG do bloco (expresso emhexadecimal) no qual o endereço 78FEC da memória principal é mapeado?

6. Considere uma cache de 64 Kbytes com mapeamento direto e organizada em blocos de 8bytes, inserida em um computador com uma memória principal de 16 Mbytes. Quantos blocosda memória principal são mapeados em um mesmo bloco da cache?

7. Considere uma pastilha de memória estática utilizada para implementação de memóriacache. Esta pastilha é organizada em blocos contendo 1 única palavra de 16 bits, e possui umacapacidade de 256 palavras. Considere que esta memória cache é usada com esquema deendereçamento completamente associativo em um sistema de memória cuja capacidade de 8Kpalavras. Especifique os valores relacionados abaixo.

a) Capacidade da memória medida em bytes: ____________b) Número de bits de endereço necessários para endereçar todas as palavras damemória:_________c) Número de palavras da memória principal que podem ser mapeadas na mesma posição dacache:________d) Suponha mapeamento direto na cache, e responda novamente a letra (c).e) Suponha mapeamento com associatividade 2 na cache, e responda novamente a letra (c).

Page 23: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

23

8. Considere uma cache de 4Kbytes, organizada em blocos de 8 bytes e operando em umcomputador que possui uma memória principal de 4 Mbytes.

a) Quantos blocos da memória principal podem ser mapeados no bloco $0010 damemória cache?

b) Quantos bits os campos de etiqueta (tag) e índice (index) esta cache possui?c) Qual o valor do campo de etiqueta (tag) do byte armazenado no endereço $001A

BCDE da memória principal?

9. Considere um sistema computacional baseado em microprocessador com uma memóriaprincipal de 16 Mbytes e uma memória cache de 4 Kbytes. Assuma que a cache é organizadaem blocos de 16 bits, que o mapeamento da memória principal para a memória cache é direto,isto é, que existe uma única posição possível na cache para cada palavra armazenada namemória principal, e que o processador trabalha com palavras de 1 byte. Assuma também queos seguintes valores estão armazenados nas posições especificadas da memória principal.

15 0 15 015 0

$07F300$7A8B $080300 $048C $1AB300 $FAFA

$07F302$8B9C $080302 $159D $1AB302 $FOFO

$07F304$9CAD $080304 $26AE $1AB304 $DED0

$07F306$ADBE $080306 $37BF $1AB306 $DAD0

$07F308$BECF $080308 $48C0 $1AB308 $F0CA

$07F30A$CFD0 $08030A $59D1 $1AB30A $FACE

$07F30C$D0E1 $08030C $6AE2 $1AB30C $CAFE

$07F30E$E1F0 $08030E $7BF3 $1AB30E $C0C0

A figura a seguir mostra uma porção da memória cache. Os valores numéricos noscampos de índice, tag e validade estão expressos em binários. No campo de dados os valoresestão expressos em números hexadecimal.

15 0Índice Tag V Dados

0011 0000 000 0000 0111 1111 0 $FAFA

0011 0000 001 0110 1000 0100 0 $FOFO

0011 0000 010 0000 1001 0000 0 $DED0

0011 0000 011 0000 1100 0000 0 $DAD0

0011 0000 100 0001 1010 1011 0 $F0CA

Page 24: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

24

0011 0000 101 0001 1010 1011 1 $FACE

0011 0000 110 0001 1010 1011 1 $CAFE

0011 0000 111 0001 1010 1011 1 $C0C0

a) Indique abaixo o conteúdo dos campos de Tag, Validade e Dados na cacheapós uma seqüência de acessos de leitura nos endereços abaixo. Indique os valores de Tag eValidade em números binários e o campo de Dados em hexadecimal.

$07F302, $07F304, $07F306, $080304, $080304, $07F308, $1AB30A, $1AB30C, $07F302

15 0

Índice Tag V Dados

0011 0000 000

0011 0000 001

0011 0000 010

0011 0000 011

0011 0000 100

0011 0000 101

0011 0000 110

0011 0000 111

b. Quantos acessos de leitura à memória principal são feitos durante a seqüênciade acessos acima? Explique.

Capítulo 7

Page 25: Anexo A1 Capítulo 1 - politecnica.pucrs.brvargas/Disciplinas/Arquitetura_I/Anexos1... · Material que não conduz eletricidade muito bem: 2. ... dados estatísticos referentes à

25

1. Porque que não é possível utilizar a técnica de “escrita através” na implementação desistemas de memória virtual?

2. Qual a grande vantagem de um microprocessador que contém uma TLB?

3. Porque a técnica de escrita-através (write-through) não é compatível com aimplementação de sistemas com memória virtual?