Arquitetura P1
- Busca a instrução na memória pro IR.
- Atualiza o contador de Instrução para a próxima instrução.
- Determina o tipo da instrução e os endereços dos dados (caso a instrução use dados).
- Busca os dados da memória e os carrega nos registradores.
- Execução da instrução.
- Armazena os resultados nos registradores de memória adequados.
- Próxima instrução (passo 01).
MinTermos (Pega os 1)
A
B
C
MinTermos
Saida (Exemplo)
0
0
0
!A
!B
!C
0
0
1
0
!A
B
!C
1
0
0
1
!A
!B
C
1
0
1
1
!A
B
C
0
1
0
0
A
!B
!C
0
1
0
1
A
!B
C
0
1
1
0
A
B
!C
1
1
1
1
A
B
C
0
S = (!A.B.!C) + (!A.!B.C) + (A.B.!C)
S = !A.!B(!C.C) + (A.B.!C)
S = !A.!B + A.B.!C
Tempo de Acesso
Ex. 1: Um sistema MP-Cache possui os seguintes tempos de acesso: - Tcache = 5 ns (CPU – Cache) - Tmp = 20 ns (CPU – Cache – MP)
Caso deseje um tempo médio de acesso de 10 ns, qual o percentual de acerto?
Tmédio = p.Tcache + (1-p).(Tmp + Tcache)
10 = p.5 + (1-p).(20 + 5)
10 = 5p + 25 - 25p
-15 = -20p p = 3/4 = 0,75 => 75%
Ex. 2: Uma memória principal tem tempo de acesso de 6 vezes maior que o tempo de acesso do cache associado. Desejando que o tempo de acesso esteja seja de 3ns para um percentual de acerto de 80%, pergunta-se o Tcache e Tmp.
Tmédio = p.Tcache + (1-p).(Tmp + Tcache)
3 = 0,8.Tcache + (1 - 0,8).(6.Tcache + Tcache)
3 = 0,8.Tcache + 0,2.7Tcache
3 = 0,8Tcache + 1,4Tcache
3 = 2,2Tcache
Tcache = 3/2,2 ns => Tmp = 18/2,2 ns
Mapeamento de Memória
Ex. 1: Um processador trabalha com palavra de 32 bits (4B). Ele está associado a uma MP de 2GB, que é 4K vezes maior que a cache. O bloco é de 256 palavras.
N = MP/Tamanho da palavra = 2GB/4B = 512M palavras = 2^29
B = 512M/256 palavras por bloco = 2M blocos
NPC = NCC x Q
NPC = 256 x 512
NPC = 128K
Cache = 2GB/4K = 512B
- Mapeamento Direto
29 bits
12 bits
9 bits
8 bits TAG = 29 - 9 – 8
Q = 2^9
Palavra/Bloco = 2^8
- Mapeamento Associativo
29 bits
21 bits
8 bits Tag + Q
Palavra/Bloco = 2^8
- Mapeamento