sábado, 1 de março de 2014

OPERAÇÕES QUE OCORREM NUM PC



Escreva a seqüência de microoperações que devem ser realizadas pelo ciclo de execução das seguintes instruções:

a) SUB Op. ACC ACC – (Op.)

Resposta:
t1: REM (RI(Endereço))
t2: RDM Memória
t3: ACC (ACC) - (RDM)

b) JMP Op. CI Op

Resposta:
t1: CI (RI(Endereço))

c) INC Op. (Op.) (Op.) + 1

Resposta:
t1: REM (RI(Endereço))
t2: RDM Memória
t3: ACC (RDM) + 1
t4: RDM ACC
t5: Memória RDM


Considere uma máquina que possa endereçar 512 Mbytes de memória física, utilizando endereço referenciando byte, e que tenha a sua memória organizada em blocos de 32 bytes. Ela possui uma memória cache que pode armazenar 8K blocos, sendo um bloco por linha. Mostre o formato da memória cache, indicando os campos necessários (tag, bloco) e o número de bits para cada campo, e o formato de um endereço da memória principal, indicando os bits que referenciam os campos da cache, para os seguintes mapeamentos:

a) Mapeamento direto.

Resposta:
Como há 16 M blocos na memória principal e 8 K blocos na cache, então cada linha deverá acomodar 2K blocos, um de cada vez, é claro.

Formato da memória cache:
A memória cache terá 8K linhas (ou quadros) em cada linha teremos tag de 11 bits e bloco de 32 bytes.
O endereço da memória principal terá o seguinte formato:
Campo de número do bloco: de 11 bits (para endereçar um dos 2 K blocos)
Campo de número da linha: de 13 bits (já que temos 8 K blocos)
Campo de endereço da palavra: 5 bits (já que temos 32 bytes por bloco)

b) Mapeamento totalmente associativo.

Resposta:

Como há 16 M blocos na MP e eles podem ficar em quaisquer dos 8 K blocos da Cache, temos:

Formato da memória cache:
A memória cache terá 8K linhas (ou quadros), em cada linha teremos tag de 24 bits e bloco de 32 bytes.
O endereço da memória principal terá o seguinte formato:
Campo de número do bloco: de 24 bits (para endereçar um dos 16 M blocos)
Campo de endereço da palavra: 5 bits (já que temos 32 bytes por bloco)

c) Mapeamento associativo por conjunto, onde cada conjunto possui quatro linhas, cada uma de um bloco.

Resposta:

A memória cache neste caso terá um número de conjuntos igual a 8K linhas/ 4 = 2 K. Onde, cada um
dos 16M blocos pode ficar em um dos 2K conjuntos, ou seja, cada conjunto poderá alocar 8K blocos.
Assim, o formato da memória cache será: 2k conjuntos de 4 linhas e cada linha com bloco de 32 K.
O tag da memória cache terá 13 bits e bloco de 32 bytes.
O endereço da MP terá os seguintes campos:
Tag: 13 bits (já que cada conjunto poderá alocar 8K blocos)
Número de conjuntos: 11 bits (já que existem 2K conjuntos)
Endereço da palavra: 5 bits (já que temos 32 bytes por blocos)


Um comentário: