You are on page 1of 8

GABARITO AD1 - Organizao de Computadores 2006.

1. Descreva passo a passo as operaes de leitura da memria e de escrita na memria, indicando como os
registradores RDM e REM so utilizados.

Resposta :

Na leitura, inicialmente o REM atualizado com um endereo contido em um registrador qualquer da


UCP.
O endereo armazenado no REM colocado no barramento de endereos. A unidade de controle gera
um sinal de leitura no barramento de controle. So feitas a decodificao do endereo e localizao da
clula e finalmente o RDM carregado com o valor da memria principal relativo ao endereo contido
no REM, atravs do barramento de dados. Um outro registrador da UCP atualizado com o contedo do
RDM.

Na escrita, inicialmente o REM atualizado com um endereo contido em um registrador qualquer da


UCP.
O endereo armazenado no REM colocado no barramento de endereos.
Da mesma forma o RDM atualizado com um valor contido em um registrador qualquer da UCP.
A unidade de controle gera um sinal de escrita no barramento de controle. A memria atualizada com o
valor do RDM no endereo dado pelo REM.

2. Um computador possui uma capacidade mxima de memria principal com 32K clulas, cada uma capaz
de armazenar uma palavra de 8 bits.

a) Qual o maior endereo em decimal desta memria ?

Resposta: Os endereos variam de 0 at 215 - 1, ou seja, de 0 at 32767. O maior endereo


portanto 32767.

b) Qual o tamanho do barramento de endereos deste sistema ?

Resposta: Como a mquina enderea 32K clulas= 215 clulas, so necessrios 15 bits para endere-
las. Logo o barramento de endereos tem que ter tamanho igual a 15 bits.

c) Quantos bits podem ser armazenados no RDM e no REM ?

Resposta: RDM tem 8 bits, tamanho da palavra da memria principal, REM tem a mesma
quantidade de bits do barramento de endereos, 15 bits.

d) Qual o nmero mximo de bits que pode existir na memria ?

Resposta: A capacidade da memria igual ao nmero de clulas multiplicado pelo tamanho da


clula, ou seja, 32K 8 = 256K bits
3. Considere uma mquina que possa enderear 512 Mbytes de memria fsica, utilizando endereo
referenciando byte, e que tenha a sua memria organizada em blocos de 32 bytes. Ela possui uma
memria cache que pode armazenar 8K blocos, sendo um bloco por linha. Mostre o formato da memria
cache, indicando os campos necessrios (tag, bloco) e o nmero de bits para cada campo, e o formato de
um endereo da memria principal, indicando os bits que referenciam os campos da cache, para os
seguintes mapeamentos:
a) Mapeamento direto.

Resposta:

Como h 16 M blocos na memria principal e 8 K blocos na cache, ento cada linha dever acomodar 2
K blocos, um de cada vez, claro.

Formato da memria cache:

A memria cache ter 8K linhas (ou quadros) em cada linha teremos tag de 11 bits e bloco de 32 bytes.

O endereo da memria principal ter o seguinte formato:

Campo de nmero do bloco: de 11 bits (para enderear um dos 2 K blocos)


Campo de nmero da linha: de 13 bits (j que temos 8 K blocos)
Campo de endereo 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 memria cache:

A memria cache ter 8K linhas (ou quadros), em cada linha teremos tag de 24 bits e bloco de 32
bytes.

O endereo da memria principal ter o seguinte formato:

Campo de nmero do bloco: de 24 bits (para enderear um dos 16 M blocos)


Campo de endereo 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 memria cache neste caso ter um nmero 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 memria cache ser: 2k conjuntos de 4 linhas e cada linha com bloco de 32 K.

O tag da memria cache ter 13 bits e bloco de 32 bytes.

O endereo da MP ter os seguintes campos:

Tag: 13 bits (j que cada conjunto poder alocar 8K blocos)


Nmero de conjuntos: 11 bits (j que existem 2K conjuntos)
Endereo da palavra: 5 bits (j que temos 32 bytes por blocos)

4. Explique em detalhes a organizao hierrquica do subsistema de memria nos computadores atuais.

Resposta:

H muitas memrias no computador: O subsistema de memria interligado de forma bem estruturada e


organizado hierarquicamente em uma pirmide com os nveis descritos a seguir.

No topo da pirmide teramos os registradores, que so pequenas unidades de memria que armazenam
dados na UCP. So dispositivos de maior velocidade de transferncia, menor capacidade de
armazenamento e maior custo.

Em um nvel abaixo teramos a memria cache, cuja funo acelerar a velocidade de transferncia das
informaes entre UCP e MP e, com isso, aumentar o desempenho do sistema. A UCP procura
informaes primeiro na Cache. Caso no as encontre, as mesmas so transferidas da MP para a Cache.

Abaixo da memria cache teramos a memria bsica de um sistema de computao, que a memria
principal. Dispositivo onde o programa (e seus dados) que vai ser executado armazenado para que a
UCP busque instruo por instruo para execut-las.

Finalmente, na base da pirmide teramos a memria secundria, memria auxiliar ou memria de


massa, que fornece garantia de armazenamento mais permanente aos dados e programas do usurio.
Alguns dispositivos so diretamente ligados: discos rgidos, outros so conectados quando necessrio:
disquetes, fitas de armazenamento, CD-ROM. Possuem menor velocidade de transferncia, maior
capacidade de armazenamento e menor custo.

5. Considere uma mquina com 64K clulas de memria onde cada clula armazena uma palavra e cada
instruo tem o tamanho de uma palavra. Esta mquina possui um conjunto de instrues com 32
instrues distintas, sendo cada uma delas composta de um cdigo de operao e um nico operando,
que indica o endereo de memria.

a) Qual o tamanho mnimo do REM ?

Resposta: Como a mquina enderea 64K clulas= 216 clulas, so necessrios 16 bits para endere-
las. Logo o REM tem que ter tamanho mnimo igual a 16 bits.

b) Qual o tamanho mnimo do RI ?

Resposta: O RI tem que ter capacidade para armazenar uma instruo. Como podemos ter 32
instrues distintas, utilizam-se 5 bits para o campo do cdigo de operao. O outro campo da
instruo contm o endereo do operando, para o qual se necessitam de 16 bits. Logo o tamanho total
da instruo 21, e portanto o tamanho mnimo de RI 21.

c) Qual a capacidade da memria em bits ?

Resposta: A capacidade da memria igual ao nmero de clulas multiplicado pelo tamanho da


clula. Como cada clula armazena uma instruo, teremos que a capacidade da memria 64K
21 = 1344K bits

d) Se a largura do barramento de dados desta mquina for igual metade do tamanho de uma instruo,
como funcionar o ciclo de busca ?
Resposta: No ciclo de busca tero que ser executados dois acessos memria para poder acessar os
bits da instruo

6. Considere um computador que possua uma UCP com CI de 16 bits e RI de 40 bits. Suas instrues
possuem dois operandos do mesmo tamanho (cada um com 16 bits) e um cdigo de operao. Cada
clula de memria tem o tamanho igual ao de uma instruo.

a) Qual o tamanho da instruo ?

Resposta: O tamanho da instruo igual ao tamanho do RI, 40 bits

b) Qual o tamanho do cdigo de operao ?

Resposta: A instruo possui um tamanho total de 40 bits e possui trs campos, dois para operandos
com tamanho de 16 bits e um para o cdigo de operao que tem tamanho igual a 40-32=8 bits

c) Considerando que a configurao bsica dessa mquina de 16 Kbytes de memria, mostre se


possvel aumentar a quantidade de memria desta mquina. Caso seja possvel, calcule a
quantidade mxima que pode ser adicionada a este sistema.

Resposta: A capacidade mxima da memria em bytes que este sistema pode ter igual a: nmero
de clulas tamanho de cada clula = 216 40/8 = 320 K bytes. Ento se esta mquina possui 16
Kbytes, pode-se acrescentar mais 304 Kbytes.

7. Considere o sistema visto na aula 4 que possui uma memria com 256 clulas, sendo que cada clula
pode armazenar 12 bits. Cada instruo possui 4 bits que indicam o cdigo de operao e 8 bits que
indicam o operando. Suponha que, em um determinado momento, alguns endereos da memria
contenham os seguintes contedos (todos os valores esto em hexadecimal):

Endereo Contedo
20 170
21 529
22 150
23 351
24 250
25 170
26 451
27 270
28 820
29 000
50 006
51 001
70 003
Considere que nos endereos 20 a 29 esto armazenadas instrues de um programa e nos endereos 50,
51 e 70, valores numricos (inteiros sem sinal).

a) Traduza as instrues para as siglas e operandos correspondentes. Por exemplo, a instruo


contida no endereo 20 LDA 70.

Resposta:

Endereo Contedo
20 LDA 70
21 JZ 29
22 LDA 50
23 ADD 51
24 STR 50
25 LDA 70
26 SUB 51
27 STR 70
28 JMP 20
29 HLT
50 006
51 001
70 003

b) Supondo que o CI possua o endereo 20, indique como ser realizada a execuo de cada
instruo deste programa e mostre o contedo de todos os endereos da tabela e dos
registradores RDM, REM, RI, CI e ACC ao final da execuo deste programa.

Resposta: Seqncia de execuo das instrues:

LDA 70 Carrega ACC com valor 3


JZ 29 - Vai buscar instruo no prximo endereo porque ACC diferente de 0
LDA 50 - Carrega ACC com 6
ADD 51 - Soma contedo de ACC com 1 (ACC=7)
STR 50 - Armazena valor 7 na posio de memria de end. 50
LDA 70 Carrega ACC com valor 3
SUB 51 Subtrai contedo de ACC de 1 (ACC=2)
STR 70 Armazena o valor 2 na posio de memria de end. 70
JMP 20 Busca a instruo na posio de memria de endereo 20
LDA 70 Carrega ACC com valor 2
JZ 29 - Vai buscar instruo no prximo endereo porque ACC diferente de 0
LDA 50 - Carrega ACC com 7
ADD 51 - Soma contedo de ACC com 1 (ACC=8)
STR 50 - Armazena valor 8 na posio de memria de end. 50
LDA 70 Carrega ACC com valor 2
SUB 51 Subtrai contedo de ACC de 1 (ACC=1)
STR 70 Armazena o valor 1 na posio de memria de end. 70
JMP 20 Busca a instruo na posio de memria de endereo 20
LDA 70 Carrega ACC com valor 1
JZ 29 - Vai buscar instruo no prximo endereo porque ACC diferente de 0
LDA 50 - Carrega ACC com 8
ADD 51 - Soma contedo de ACC com 1 (ACC=9)
STR 50 - Armazena valor 9 na posio de memria de end. 50
LDA 70 Carrega ACC com valor 1
SUB 51 Subtrai contedo de ACC de 1 (ACC=0)
STR 70 Armazena o valor 0 na posio de memria de end. 70
JMP 20 Busca a instruo na posio de memria de endereo 20
LDA 70 Carrega ACC com valor 0
JZ 29 - Vai buscar instruo na posio de memria de endereo 29 porque ACC igual a 0
HLT para execuo do programa

Contedo da memria:

Endereo Contedo
20 170
21 529
22 150
23 351
24 250
25 170
26 451
27 270
28 820
29 000
50 009
51 001
70 000

Contedo dos registradores ao final da execuo:

RDM : 000 (instruo HLT)


REM: 29 (endereo da instruo HLT)
RI: : 000 (instruo HLT)
CI: 2A (endereo seguinte ao da instruo HLT)
ACC: 000

8. Considere a execuo de 5 instrues, cada uma delas com tempo de execuo igual a Tex. Calcule o
tempo para executar estas 5 instrues, para cada caso abaixo:

a) Execuo em uma mquina que realiza a execuo das instrues de forma seqencial
Resposta: Ttotal = 5 Tex

b) Execuo em uma mquina que utiliza um pipeline de 3 estgios, considerando que o tempo de
execuo da instruo pode ser dividido igualmente entre os estgios e no h atrasos na execuo
do pipeline, devido a desvios condicionais.
Resposta: O tempo de execuo total de um grupo de instrues em uma arquitetura pipeline dado
pelo tempo de execuo de uma instruo (Tinstr) somado a ((Nmero de instrues -1) Tempo de
um estgio (T estag))
Ttotal = Tex + 4 Tex/3 = 2,33 Tex

c) Execuo em uma mquina que utiliza um pipeline de 4 estgios, considerando que o tempo de
execuo da instruo pode ser dividido igualmente entre os estgios e no h atrasos na execuo
do pipeline, devido a desvios condicionais.

Resposta: Ttotal = Tex + 4 Tex/4 = 2 Tex

d) Execuo em uma mquina que utiliza um pipeline de 5 estgios, considerando que o tempo de
execuo da instruo pode ser dividido igualmente entre os estgios e no h atrasos na execuo
do pipeline, devido a desvios condicionais.

Resposta: Ttotal = Tex + 4 Tex/5 = 1,8 Tex

e) Execuo em uma mquina que utiliza um pipeline de 6 estgios, considerando que o tempo de
execuo da instruo pode ser dividido igualmente entre os estgios e no h atrasos na execuo
do pipeline, devido a desvios condicionais.

Ttotal = Tex + 4 Tex/6 = 1,67 Tex

9. O barramento PCI possui algumas verses diferentes relacionadas taxa de transferncia (nmero de
bytes que podem ser transmitidos em um segundo) e a freqncia do relgio, conforme mostrado na
tabela abaixo:

Tipo de barramento Taxa de transferncia (Mbytes/s) Freqncia do relgio (MHz)


V1 132 33
V2 264 66
V3 264 33
V4 512 66

Nota: Os nomes V1, V2, V3 e V4 no fazem parte do padro, s foram utilizados no exerccio para
referenciar as diversas verses.

Indique para cada uma das verses, quantos ciclos de relgio so necessrios para realizar a transferncia
de 128 bits no barramento.

Resposta: O nmero de bits que podem ser transferidos em um ciclo de relgio dado por:
Nbitsporciclo=Taxa de transferncia / Freqncia do relgio. Ento para se transferir 128 bits, sero
necessrios 128/ Nbitsporciclo ciclos de relgio.

Para V1, temos que Nbitsporciclo= (132 8) M / 33 M = 32, logo Nmero de ciclos = 128/32= 4
Para V2, temos que Nbitsporciclo= (264 8) M / 66 M = 32, logo Nmero de ciclos = 128/32= 4
Para V3, temos que Nbitsporciclo= (264 8) M / 33 M = 64, logo Nmero de ciclos = 128/64= 2
Para V4, temos que Nbitsporciclo= (512 8) M / 66 M = 64, logo Nmero de ciclos = 128/64= 2

10. Escreva a seqncia de microoperaes que devem ser realizadas pelo ciclo de execuo das seguintes
instrues:

a) SUB Op. ACC ACC (Op.)

Resposta:
t1: REM (RI(Endereo))
t2: RDM Memria
t3: ACC (ACC) - (RDM)

b) JMP Op. CI Op

Resposta:

t1: CI (RI(Endereo))

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

Resposta:

t1: REM (RI(Endereo))


t2: RDM Memria
t3: ACC (RDM) + 1
t4: RDM ACC
t5: Memria RDM

You might also like