Você está na página 1de 2

Resolução lista de exercícios

Felipe Capello

Pedro de Freitas

Resolução 1:

É um acidente pois o registrador-base é 16.384 porque o programa precisou ser carregado


no endereço 16.384. Ele poderia ter sido carregado em qualquer lugar. Já o registrador
limite é 16.384 porque o programa contém 16.384 bytes. Ele poderia ter qualquer tamanho.
O fato que o endereço é do tamanho do programa é coincidência

Resolução 2:

Quase toda a memória tem que ser copiada, o que exige que cada palavra a ser lida em
seguida, deve ser reescrita numa localização diferente. Leitura 4 bytes leva 10 nanossegundos,
por isso a leitura 1 byte leva 2,5 nanossegundos e escrever é preciso mais 2,5 nanossegundos,
para um total de 5 nanossegundos por byte compactado.

Esta é uma taxa de 200.000.000 bytes / seg. Para copiar 128 MB (227 bytes, que é de cerca de
1,34 × 108 bytes), o computador precisa de 227/200 milhões segundos, que é de cerca de 671
ms. Este número é ligeiramente pessimista, porque se o furo inicial na parte inferior da
memória é k bytes, esses bytes k não precisa ser copiado. No entanto, se existirem muitos
buracos e muitos segmentos de dados, os buracos serão pequenos, de modo que k vai ser
pequeno e o erro no cálculo também será pequeno.

Resolução 3:

O mapa de bits precisa de 1 bit por unidade de alocação. Com unidades de alocação 2^27 / n,
este é 2^24 / n bytes. A lista encadeada tem 2^27/2^16 ou 2^11 nós, cada um dos 8 bytes,
para um total de 2^14 bytes. Para pequenos valores de n, a lista encadeada é melhor. Para
valores de n grande, o mapa de bits é melhor. O ponto de cruzamento pode ser calculado
igualando essas duas fórmulas e resolvendo para n. O resultado é uma KB. Para n menor do
que 1 KB, uma ligada encadeada é melhor. Para n maior que 1 KB, um mapa de bits é melhor.
Claro que, a suposição de segmentos e buracos alternados a cada 64 KB é muito irrealista.
Além disso, precisamos de n <= 64 KB se os segmentos e buracos são 64 KB

Resolução 4:

Você também pode gostar