Curso de Tecnologia em Sistemas de Compu
Curso de Tecnologia em Sistemas de Compu
Curso de Tecnologia em Sistemas de Compu
1. (2,0) Suponha que você deve projetar uma máquina com as seguintes especificações:
• Capaz de endereçar 256 M células de memória principal, sendo que cada célula armazena
2 bytes.
• Deve possuir os registradores RDM (utilizado para enviar e receber dados para/de o
barramento de dados), REM (utilizado para enviar endereços no barramento de
endereços), CI (utilizado para indicar o endereço da instrução a ser lida da memória) e RI
(utilizado para armazenar uma instrução).
• Cada instrução deve conter um código de operação e um operando como mostrado
abaixo:
Cód. Operando
Oper
onde Operando é um endereço da memória principal.
• Deve poder ter um máximo de 16 códigos de operação diferentes.
b) (0,2) Indique qual deve ser o tamanho mínimo em bits do do barramento de endereços.
tamanho do BE = 28 bits
c) (0,4) Calcule o número de células que uma instrução necessita para ser armazenada.
Cada instrução = código de operação + 1 operando
1o.. operando = endereço de uma célula = 28 bits
cod.operação = tamanho necessário para 16 códigos diferentes = 4 bits
tamanho da instrução = 4 + 28 = 32 bits
a) Mapeamento direto.
Memória Principal
• Tamanho da memória (em bytes) = 512Mbytes, como cada célula contém 1 byte, temos, então, N = 512M
células
• A MP está organizada em blocos de 16 células (K=16 células)
• N = 512M células e K = 16 células / bloco, o total de blocos da MP ( B ) será:
Total de blocos: B = N / K => B = 512M células / 16 células/bloco => B = 32 M blocos
Memória Cache
OBS: O K (quantidade de células/bloco) tem de ser igual a MP.
• Tamanho da memória cache (em blocos ou linhas) => Q = 4K blocos
• Tamanho da memória cache em células = Q x K = 4K blocos x 16 células/blocos = 64 Kcélulas
(64Kbytes)
Memória principal
512M células: N Organização da cache
32M blocos: B linha válido tag Conteúdo (bloco)
0 1 bit 13 bits 16 células de 8 bits cada = 128bits
1
2
3
4
5
…...
Q-2
Q-1
Para endereçarmos toda a MP precisamos da seguinte quantidade de bits ( E )
sendo N = 2E => N = 512M células => N = 229 => E = 29 bits
13 12 4
Memória Principal
=> N = 512M células
=> K = 16
=> B = 32 M blocos
Memória Cache
OBS: O K (quantidade de células/bloco) tem de ser igual a MP.
=> Q = 4K blocos
=> Tamanho da memória cache = 4Kblocos = = 64 K células
Memória principal
512M células: N Organização da cache
32M blocos: B linha válido tag Conteúdo (bloco)
0 1 bit 25 bits 16 células de 8 bits cada = 128bits
1
2
3
4
5
…...
Q-2
Q-1
Tamanho do endereço da MP = 29 bits
25 4
Memória Principal
=> N = 512M células
=> K = 16
=> B = 32 M blocos
Memória Cache
OBS: O K (quantidade de células/bloco) tem de ser igual a MP.
=> Q = 4K blocos
=> Tamanho da memória cache = 4Kblocos = 64 K células
=> 1 conjunto = 2 linhas (ou quadros) => Total de conjuntos ( C ) = 4K blocos / 2 => C = 2K conjuntos
Memória principal
512M células: N Organização da cache
32M blocos: B Conjunto linha válido tag Conteúdo (bloco)
0 0 1 bit 14 bits 16 células de 8 bits cada = 128bits
1
1 2
3
2 4
5
…...
C-1 Q-2
Q-1
3. (2,5) Considere uma máquina que pode ter seu ciclo de busca e execução de uma
instrução dividido em 5 estágios totalmente independentes: Busca (BI), Decodificação
(DE), Execução (EX), Leitura de Dados (LD) e Escrita de Resultado (ER). Cada um dos
estágios BI e ER possui a duração de 5 ns e cada estágio DE, EX e LD tem duração de 2
ns. Cada instrução desta máquina precisa executar os 5 estágios.
a) (0,5) Uma implementação desta máquina foi realizada de modo que cada instrução
deve ser completamente realizada em um único ciclo de relógio e uma instrução só
começa a ser realizada após o término da anterior. Calcule a duração do ciclo de
relógio que esta implementação deve possuir. Lembre-se que todas as instruções
necessitam dos 5 estágios.
1º. Estágio 2º. Estágio 3º. Estágio 4º. Estágio 5º. Estágio
BI DE EX LD ER
5ns 2ns 2ns 2ns 5ns
O ciclo de relógio deverá ter o tempo de 16ns (5ns + 2ns + 2ns + 2ns + 5ns)
1º. Estágio 2º. Estágio 3º. Estágio 4º. Estágio 5º. Estágio
5ns 5ns 5ns 5ns 5ns
BI DE EX LD ER
c) (1,0) Mostre o tempo em que um programa que contenha 100 instruções será
executado pela implementação do item a e do item b. Considere que estas 100
instruções podem ser executadas em fluxo constante.
Seja Tex = tempo de execução de uma instrução = número de estágios x ciclo de
relógio (determinado nos itens anteriores)
Para o item a (sem pipeline) :
Tex = 1 estágio de 16ns = 16ns
Ttotal = 100 instruções x Tex = 1600 ns
STR Op
1 CI <- CI + 1
2 RI <- (CI)
Afirmações