quinta-feira, 27 de março de 2014

MEMÓRIA PRINCIPAL



Cálculos -  Capacidade da Memória Principal ( MP )

01.  Definições Importantes

a.   A memória principal é organizada em um conjunto de N
      células, cada uma podendo armazenar um quantidade M
      de bits;
b.   N = a capacidade da memória, dada pela quantidade  de
       células ou de endereços que a memória possui;

c.   M quantidade de bits que podem ser armazenados  em uma
      célula.
      Obs.:   Esses bits representam a informação em si, seja uma
           Instrução ( ou parte dela ) ou um dado ( ou parte dele );

d.   E = quantidade de bits ( ou tamanho ) de cada endereço;

e.   T = total de bits que podem ser armazenados na memória.
                                                                                               M
f.    Pode-se armazenar em cada célula um valor entre 0 e 2    - 1.
                M
      São  2       combinações possíveis;
                                            8
g.   Se  M = 8 bits, tem-se 2    = 256. Logo é possível armazenar
      valores de:

   00000000 ( 0     ou  0  )  até   11111111 (  255     ou  FF    ).
                         10        16                                   10           16

h.   A capacidade da memória principal é dada  por:
                                     E
                           N = 2           .

i.    O total de bits que podem ser armazenados na MP é dado por:


                                        T = N x M    ,

onde  por  ( I )  pode-se escrever:

                           E
                  T = 2     x   M


Exercícios :

1.   Uma memória principal possui espaço de 512 células, com  8 bits de tamanho.  Quantos bits essa memória é capaz de armazenar.  Em  seguida, verifique quantos bits são necessários para representar cada um dos endereços da memória.

      Solução:

 N  = total de células = 512
 M  =  tamanho da célula = 8 bits
 T   =  total de bits da memória = ?
 E   =  quantidade de bits para representar um endereço = ?

    Temos  que :

 T   =   N  x  M ,    logo vem:

  T = 512 x 8  = 4096 bits =  4 x 1024 bits =  4 K bits.

    Sabemso que :

                 E                                   9
        N = 2       e       N = 512 =  2      ,    logo :

                 9        E
               2   =   2   ,

     Onde podemos concluir que :  E =  9 bits.


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)