A Organização de Computadores
Por: AlexSantos75 • 24/5/2018 • Trabalho acadêmico • 2.843 Palavras (12 Páginas) • 866 Visualizações
! [pic 1]
AD1 - Organização de Computadores 2018.1 Data de entrega 13/03/2018
- (2,5) Considere uma máquina com arquitetura semelhante àquela apresentada em aula. Pode-se endereçar no máximo 256 M células de memória onde cada célula armazena uma palavra e cada instrução tem o tamanho de uma palavra. Todas as instruções desta máquina possuem o mesmo formato: um código de operação, que permite a existência de um valor máximo de 236 códigos, e dois operandos, que indicam dois endereços de memória.
- Qual o tamanho mínimo do REM ? (0,3)
REM = Barramento de endereços, este terá a capacidade de endereçar 256Mcélulas = N
N = 256Mcélulas => N = 228 => e = 28 bits
REM = barramento de endereços = 28 bits
- Qual o tamanho mínimo do CI ? (0,3)
CI terá o tamanho mínimo necessário para endereçar toda a memória = REM = 28 bits
- Qual o tamanho do barramento de endereços ? (0,3)
REM = barramento de endereços = 28 bits
- Qual o tamanho mínimo do RI ? (0,5)
O tamanho mínimo para RI deverá ser o tamanho de uma instrução
Cada instrução tem o tamanho de uma palavra = tamanho de célula
CodOper deverá permitir 236 códigos diferentes (instruções).
CodOper = 8 bits (256 códigos diferentes)
1º.operando corresponde a 1 endereço de memória = 28 bits
2º.operando corresponde a 1 endereço de memória = 28 bits
Instrução = CodOper + Operando1 + Operando2 => Instrução = 8 + 28 +28 = 64 bits
O tamanho mínimo para RI deverá ser 64 bits
- Qual a capacidade máxima da memória em bits ? (0,5)
T = M x N => T = tamanho da célula x quantidade de células da memória principal =>
tamanho da célula (M) = 64 bits
total de endereços da memória (N) = 256M células
T = 64 bits/célula x 228 células => T = 16 G bits (ou 2Gbytes)
- Se a largura do barramento de dados desta máquina for igual à metade do tamanho de uma instrução, como funcionará o ciclo de busca ? (0.6)
Seriam necessários 2 ciclos de busca para transferir uma instrução completa
- (1,0) Considere uma máquina cujo relógio possui uma frequência de 1500 MHZ. Calcule o tempo de UCP utilizado para executar 100 instruções nesta máquina, para cada caso abaixo:
1.500MHz = 1.500.000.000 Hz
Tempo de um ciclo de relógio = 1/1.500.000.000 = 0,000 000 000 6667 seg ou 0,6667ns (nanosegundos)
- Execução em uma máquina que realiza a execução das instruções de forma sequencial, sendo que cada instrução é executada em um ciclo de relógio.
Tempo de execução de 1 instrução = 1 ciclo de relógio = 0,6667ns
100 instruções executadas sequencialmente = 100 × 0,6667ns = 66,67ns (para executar 100 instruções)
- Execução em uma máquina que utiliza um pipeline de 4 estágios, considerando que o tempo de execução de um estágio é 25% do ciclo de relógio da máquina e não há atrasos na execução do pipeline, devido a desvios condicionais.
Tempo para execução de 1 estágio = 25% do ciclo de relógio = 25% de 0,6667ns = 0,1667ns
Tempo para execução de uma instrução = 4 estágios × t = 4 x 0,1667 = 0,6667ns
Tempo para execução das demais em pipeline = 99 × t = 99 x 0,1667 = 16,50ns
Tempo para execução das 100 instruções = 0,6667 (primeira instrução) + 16,50 (para as demais) = 17,17ns
- Execução em uma máquina que utiliza um pipeline de 5 estágios, considerando que o tempo de execução de um estágio é 20% do ciclo de relógio da máquina e não há atrasos na execução do pipeline, devido a desvios condicionais
Tempo para execução de 1 estágio = 20% do ciclo de relógio = 20% de 0,6667ns = 0,1333ns
Tempo para execução de uma instrução = 5 estágios × t = 5 x 0,1333ns = 0,6667ns
Tempo para execução das demais em pipeline = 99 × t = 99 x 0,1333ns = 13,2ns
Tempo para execução das 100 instruções = 0,6667 (primeira instrução) + 13,2 (para as demais) = 13,87ns
- (1,0) Um computador possui uma capacidade máxima de memória principal com 4G células, cada uma capaz de armazenar uma palavra de 8 bits.
- Qual é o maior endereço em decimal desta memória ?
N = quantidade de células = 4G células = 4 x 230 = 4.294.967.296 células
Maior endereço em decimal = N – 1 = 4.294.967.296 – 1 = 4.294.967.295
- Qual é o tamanho do barramento de endereços deste sistema ?
Para atender a especificação do computador hipotético, a de ter uma memória
máxima de 4G células, deveremos ter um barramento de endereços de no mínimo 32 bits.
- Quantos bits podem ser armazenados no RDM e no REM ?
Barramento de endereços = REM = 32 bits
RDM = barramento de dados, como o barramento de dados = tamanho da palavra que será transferida durante um processo de leitura/escrita => RDM = 8 bits
- Qual é o número máximo de bits que pode existir na memória ?
Como M = quantidade de bits em uma célula, neste computador, cada célula = palavra
então M = 8bits e N = 232
Total de bits da memória = T = N x M
T = N x M = 232 x 8 = 32 G bits
- (1,5) Considere uma máquina que possa endereçar 2 Gbytes de memória física, utilizando endereço referenciando byte, e que tenha a sua memória organizada em blocos de 4 Kbytes. Ela possui uma memória cache que pode armazenar 2M blocos, sendo um bloco por linha. Mostre o formato da memória cache, indicando os campos necessários (válido, 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:
OBS: Informado na plataforma e por email que os 2Mblocos da cache deveriam ser corrigidos para 2Kblocos
- Mapeamento direto.
Memória Principal
- Tamanho da memória (em bytes) = 2Gbytes, como cada célula contém 1 byte, temos, então, N = 2G células
- A MP está organizada em blocos de 4K bytes, como cada célula = 1 byte ( K = 4K células/bloco )
N = 2G células e K = 4K células/bloco, o total de blocos da MP ( B ) será:
Total de blocos: B = N / K => B = 2G células / 4K células/bloco => B = 512K 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 = 2K blocos
- Tamanho da memória cache em células = Q x K = 2K blocos x 4K células/bloco = 8 M células (8 Mbytes)
[pic 2][pic 3]
...