Baixe o app para aproveitar ainda mais
Prévia do material em texto
2020.2 - TÓPICOS AVANÇADOS EM ARQUITETURA DE COMPUTADORES TRABALHO PARA AVALIAÇÃO PARA AV2 G A B A R I T O Questão 1 Considere um sistema de computação constituído de um Processador, DUAS memórias cache, L1 e L2 e a Memória Principal (MP). O tempo de transferência de um dado entre processador e cache L1 é de 5 ns (nanosegundos), o tempo de transferência de um bloco de dados entre cache L1 e cache L2 é de 15 ns e entre cache L2 e memória principal é de 40 ns. Sabe-se que apenas 7 % das transferências são realizadas entre a MP e a cache L2. Calcule, qual deverá ser a eficiência de transferências entre cache L1 e processador e entre Cache L1 e cache L2 com o emprego dessa estrutura, para que o tempo médio de transferência entre os 4 dispositivos seja de 11,55 ns ( nanosegundos)? MOSTRE OS CÁLCULOS Resp: O tempo médio de acesso será, como o nome indica, uma combinação matemática das percentagens e tempos entre os componentes. Tem-se que: TM = 11,55ms e 7 % de acessos entre MP e Cache L2. A percentagem de acessos Cache L1-Processador é desconhecida e vai-se identificar pela incógnita X. Consequentemente, a percentagem de acessos entre Cache L2 e Cache L1 será a diferença das duas anteriores para 100 (total padrão de acessos), ou seja: 100 – X – 7 ou 93 – X Então, em 100 acesso, X vezes há Acerto e o sistema gasta 5 ns de transferência da Cache L1 para Processador; em (93 – X) vezes, que o sistema não acha o dado na Cache L1 ele encontra na Cache L2 e, nesse caso, gasta 15 ns para levar uma cópia do bloco que contem o dado para a cache L1 e dai mais Associação Carioca de Ensino Superior Centro Universitário Carioca http://www.unicarioca.br/index.php 5 ns para o dado ser levado da cache L1 para processador, total de 20 ns. E, por último, em 7% das vezes o sistema não encontra o dado nem na Cache L1 nem no cache L2 e precisa gastar 40 ns para trazer o bloco que contém o dado para cache L2 e dai mais 15 ns para outro bloco (que contém o dado) para cache L1 e mais 5 ns para processador; total 60 ns. Assim, TM = (( X * 5ns) + ((93 – X) * 20 ns) + ( 7 x 60 ns) / 100 Ora, como TM =11,55, tem-se que: 11,55 = (5X + 1860 - 20X + 420) 100 1155 = - 15 X + 1860 + 420.............Trocando as parcelas de lugar, troca-se sinal 15 X = 2280 – 1155 15X = 1125 X = 75 %--------percentagem Cache L1 para Processador Percentagem Cache L2 para Cache L1 = 93 – X = 18 % Questão 2 Considere um sistema de computação de 32 bits, que possui um conjunto de instruções que realizam operações aritméticas com números inteiros (complemento a 2 – C2) e em ponto flutuante. Quando o sistema realiza operações em C2, usa a representação padrão do bit de sinal (mais à esquerda) e os restantes bits para magnitude (esta em C2). A representação em ponto flutuante é única (não há representação para dupla precisão) e segue o formato SN - E - SE - F, sendo a base de representação 2 e fração do tipo normalizada, com 23 bits. Durante a execução de um programa, uma das instruções aritméticas de ponto flutuante produz um resultado expresso em hexadecimal (base 16) como: 8 9 0 C 8 0 0 0 Como neste instante o valor da Fração (F) ainda não está normalizado, calcule, qual deverá ser o novo valor de Expoente (E) para deixar F normalizada? indique o novo valor em binário e em decimal Formato dos números em ponto flutuante Como os números tem 32 bits, cada bit de sinal tem 1 bit e a Fração foi indicado ter 23 bits, então o campo expoente tem largura de 7 bits, sendo o formato mostrado na figura acima, na sequência definida no enunciado. O valor em base 16, 8 9 0 C 8 0 0 0, convertido para base 2 e enquadrado no formato definido é mostrado a seguir com o espaçamento entre os bits de acordo com o formato:: 1 0001001 0 00011001000 0000 0000 0000 SN = 1 – negativo E = 0001001 = 910 SE = 0 – positivo F = 00011001000000000000000 SE se desejar realizar a operação para verificar o valor de N em decimal tem-se que: N = - 0,00011001 x 2 +9 ou, movendo a vírgula 9 casas para a direita (por causa do expoente + 9) obtém-se um inteiro 1100102 = - 5010 Mas observe que a Fração NÃO ESTÁ NORMALIZADA, pois ANTES da vírgula tem-se 0 e não 1 como definido para a forma normalizada.. Para se tornar normalizada é preciso deslocar o ponto (vírgula fracionária) 4 posições para a direita na Fração, isto é, multiplicar o número por 24 . Fazendo isso ( multiplicando a Fração por 24 ela ficaria igual a 110010000000000000000000, correspondendo a 1,1001 Mas, para o valor do número não ser alterado, é preciso ajustar o expoente, dividindo o número também por 24, isto é, subtraindo 4 do valor do expoente, que ficará (9 -4) igual a + 5. Resposta: o expoente passou a ser 00001012 = 510 O número continuará o mesmo em decimal: N = - 1,1001 x 2+5...Realizando a operação, move-se a vírgula da Fração 5 casas para a direita (expoente + 5), ficando: 1100102 = - 5010 Questão 3 Considere um sistema de computação cujo processador tem uma unidade de controle que funciona usando a tecnologia de Pipeline, o qual foi projetado com 6 estágios. Sabe-se que o processador opera com 2 GHZ , que cada estágio consome uma quantidade igual de tempo, igual a 4 unidades de tempo (4 ciclos). Considerando o consumo de tempo na execução de 40 instruções pelo pipeline, caLcule, qual deverá ser o valor da medida de desempenho deste processador em MIPS (milhões de Instruções por Segundo)? Resp: O pipeline tem 6 estágios (M = 6) e cada estágio ocupa 4 ciclos (P=4) e deseja-se medir tempo gasto com 40 instruções (n =40). O consumo total de tempo dessas 40 instruções será dado pela fórmula: T = (M x P) + (n – 1) x P, sendo M = quantidade de estágios do pipeline; n = quantidade de instruções e P = valor de ciclos de cada estágio. Sendo M =6; P = 4 e n = 40, tem-se: T = (6 x 4) +( 39 x 4) = 24 + 156 = 180 ciclos. Conforme informado, o processador opera com frequência de 2GHz, então cada ciclo dura: 1 / 2 x 109 = 0,5 nanoseg Então, as 40 instruções do pipeline gastaram 180 ciclos x 0,5 ns/ciclo = 90 nanosegs Se 40 instruções gastam 90 ns, uma instrução, em média, consome 90 / 40 = 2,25 ns ou 2,25 x 10-9 segundos Se 1 instrução consome 2,25 x 10-9 seg, então em 1 segundo serão executadas 1 / (2,25 x 10-9) instruções. Separando as parcelas tem-se: 1 / 2,23 x 1 / 10-9 ou ainda 0,444 x 109 instruções. Total de instruções: 444 x 106 ou 444 milhões instruções por segundo ou 444 MIPS Questão 4 Um determinado sistema de computação possui um Processador que funciona com frequência de relógio (“clock”) de 2 GHz e possui uma Unidade de Controle (UC), contendo a programação para realização de todas as microoperações necessárias ao funcionamento operacional do Processador. Considere um trecho de microoperações, mostradas em LTR (linguagem de transferência de registradores): P0: INT Bar-------BC P1: Barr OK------ BC Pn ------pulsos de relógio em sequência, P2: Leitura------- BC n ----0 , 1, 2, 3...... REM--------- CI P3: BE ------------REM DEC-----------BE RAS P4: CAS Buffer-------Mem P5: BD------ Buffer P6: RDM--------BD Responda: a) Mostre, JUSTIFICADAMENTE, quanto tempo foi gasto para executar essa sequência de microoperações? b) Explique se a sequência acima é executada usando o método de programação por hardware ou pelo método de microprogramação? Resp: a) Como o relógio (“clock”) do processador opera com frequência de 2 GHz, então, a duração de cada ciclo (período ou P) sendo o inverso da frequência será: P (ciclo) = 1 / F = 1 / 2 X 109 ou P = 0,5 x 10-9 = 0,5 ns (nanosegundos) (1 GHz = 109 Hz ou 109 ciclos por segundo) Cada um ou mais microoperações, indicadas por um PX acima, é realizada em um ciclo de relógio ou seja, em 0,5 ns.A última sequência de microoperações é antecedida do ciclo P6 ou seja, o sétimo ciclo, já que o primeiro da sequência é P0. Logo, nessa sequência gastou-se 7 x 0,5 = 3,5 ns (nanosegundos) b) Uma sequência de microoperações consiste da lógica de execução criada pelo programador de sistemas do Fabricante, que realiza sua programação usando a LTR definida na Fábrica. Ela independe do tipo de método de execução (micoprogramação ou programação por Hardware. A forma de executar cada microoperação varia conforme o método, mas a sequência de microoperações será a mesma, pois é definida ANTES do método de execução. Questão 5 Uma das análise mais importantes de um projeto de processadores refere-se a sua habilidade de realizar cálculos matemáticos, pois afinal esta é a sua atividade fim. Esta análise envolve diversos fatores, como, por exemplo: • a definição da estratégia de realização dos cálculos: tipos ponto fixo e ponto flutuante; • A capacidade das unidades de cálculo, isto é, o tamanho (largura) limite dos números envolvidos • O formato da representação dos dados numéricos em cada caso (ponto fixo e ponto flutuante). Sobre este assunto, responda os seguintes itens: a) Qual das estratégias de ponto fixo é mais adequada e por que? b) Mesmo que você não ache adequado o emprego de complemento a dois, explique porque esta representação utiliza um valor negativo a mais do que os valores positivos. Resp: a) As duas mencionadas estratégias, ponto fixo e ponto flutuante caracterizam métodos de representação diferentes (um para inteiros e outro para fracionários ou números grandes e pequenos, que não podem ser representados (limite de algarismos) em ponto fixo. Na de Pto Fixo tem-se 3 modalidades: Simal/Magnitude (S/M) – Complemento a 1 (C1) e complemento a 2 (C2). No que se refere a representações em Ponto Fixo, há décadas os fabricantes optaram por complemento a 2 ( C2), por ser mais eficiente que as outras: - ela só tem uma representação para o zero, enquanto as outras possuem DUAS representações para o zero, um complicador; - executa operações de forma mais rápida que S/M, pois não precisa comparar sinais, etc - custo menor, pois somente tem um circuito digital de soma, seja para soma mesmo ou para subtração (soma de complemento), enquanto a de S/M precisa de dois circuitos separados, uma para soma e outro para subtração. b) Em C2, representa-se apenas um valor de zero e, neste caso, sobra o valor 1...seguido de zeros, que indica o número mais negativo (sem correspondente positivo).
Compartilhar