Buscar

ARQUITETURA DE COMPUTADORES E MICROPROCESSADORES - A2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1. Um computador é composto por vários níveis de memória. Cada nível de memória apresenta as suas 
particularidades em relação à capacidade de armazenamento, ao tempo de acesso, à complexidade do 
circuito e ao custo de implementação. Para esta questão, numere os tipos de memória abaixo 
apresentados, iniciando, com o valor 1, pela memória que estiver mais próxima ao processador 
dentro de um computador normalmente vendido: 
(_) Pendrive USB; 
(_) GPR; 
(_) SRAM; 
(_) DDR4. 
Assinale a alternativa que apresente a sequência correta. 
 
• 1; 2; 3; 4. 
• 2; 4; 1; 3. 
• 3; 4; 1; 2. 
✓ 2; 1; 4; 3. 
• 4; 3; 2; 1. 
Resposta correta: o nível mais alto da hierarquia de memória é representado pelos registradores, como 
os GPRs. O segundo nível é representado pela memória cache, implementada com memórias do tipo 
SRAM. A memória principal, geralmente implementada com memórias DDR, ocupa o terceiro nível da 
hierarquia de memória. Por fim, temos a memória secundária, que, no caso, é representada por um 
pendrive USB. 
 
2. O mapeamento do tipo conjunto associativo representa uma fusão da memória associativa com o 
mapeamento direto. Como suas principais vantagens, podemos citar uma maior eficiência em 
relação ao mapeamento direto e uma complexidade de hardware mais baixa em relação à memória 
associativa. 
Para esta questão, suponha uma memória cache vazia composta por oito linhas do tipo 2-way set 
associative, que utiliza o mecanismo LRU para a substituição dos blocos. Suponha, ainda, que 
serão demandados os blocos de acordo com a seguinte ordem: 10; 4; 2; 3; 18; 2; 3; 12; 3; 2; 4; 18. 
Marque a alternativa que contém, respectivamente, a quantidade de miss e de hits ocorridos até o 
fim da sequência de utilização dos blocos, 
• 8; 5. 
✓ 6; 7. 
• 5; 8. 
• 4; 7. 
• 7; 6. 
Resposta correta: você observou que cada linha da cache pode conter dois blocos com os mesmos N 
últimos bits, em que N =log (2)K (com K = número de linhas da cache); e que o LRU é baseado no 
tempo de ocorrência da última demanda dos blocos. 
 
3. O sistema de memória de um nó computacional apresenta uma hierarquia que separa os módulos 
de memória em função de sua localização e de suas funcionalidades. Para cada nível da 
hierarquia, é possível associar, dentre outras coisas, modelos de mapeamento com tecnologias 
distintas de fabricação. Como exemplos, podemos empregar memórias SRAM e DRAM em níveis 
específicos da hierarquia de memória; e projetar memórias com estruturações distintas, para 
permitir uma maior eficiência de acesso. 
Para esta questão, assinale, com “V”, a(s) afirmativa(s) que você julgar verdadeira(s) e, com “F”, 
a(s) que considerar falsa(s). 
 
(_) Memórias cache são, geralmente, implementadas com SDRAM, pelo fato de serem estáticas. 
(_) Memórias derivadas de DRAM apresentam maior densidade de bits por área, porém são mais 
lentas, devido ao ciclo de refresh. 
(_) Memórias, geralmente, são organizadas na forma matricial, para propiciar um hardware menos 
complexo dos decodificadores de linhas/colunas em relação aos decodificadores das memórias 
lineares. 
(_) Os módulos de memória fazem interface com o processador por meio dos barramentos, que 
alimentam os registradores GPR do processador diretamente. 
Assinale a alternativa que contém a sequência que você avalie ser correta. 
• F; V; F; V. 
• V; F; F; V. 
✓ F; V; V; F. 
• F; V; V; V. 
• V; F; V; F. 
Resposta correta: realmente, uma das questões de as memórias caches serem mais rápidas, além de 
sua estruturação, é a tecnologia empregada: SRAM. As memórias SRAM, diferentemente das 
baseadas em DRAM, não têm ciclo de refresh. Quanto aos decodificadores de linhas/colunas, a forma 
matricial permite que, apesar de haver a necessidade de dois decodificadores (um para a linha e 
outro para a coluna), os circuitos envolvidos apresentam menor complexidade em relação aos 
decodificadores de memórias lineares. Isso significa que apresentam menores tempos de 
propagação interna de sinais e, consequentemente, podem operar em frequências mais altas. Por 
fim, os registradores do processador que fazem interface com o sistema de memória são o MBR 
( Memory Buffer Register – em português, registrador de buffer de memória) e o MAR ( Memory 
Address Register – em português, registrador de endereço de memória). 
 
4. A técnica denominada pipeline consiste em tentar antecipar o início de uma nova instrução antes 
que a instrução anterior não tenha sido completada. 
Porém, poderão acontecer alguns conflitos: por exemplo, uma instrução pode necessitar da 
transferência de operandos a partir da memória, enquanto outra pode demandar a gravação na 
memória. Outro exemplo de conflito é a necessidade da carga, a partir da memória, de uma nova 
instrução a ser executada, embora a memória esteja ocupada, atendendo a uma instrução anterior 
(leitura ou gravação de operandos). Abaixo, assinale, com “S” (sim), a(s) sugest(ão)ões que você 
julgue que atenua(m) esses conflitos; e, com “N”, aquela(s) que não interfere(m) nos conflitos: 
 
 
( ) (i) aumentar o tamanho da memória cache; 
( ) (ii) dividir a memória cache L1 em duas unidades: uma L1 de instruções e uma L1 de dados; 
( ) (iii) mudar a forma de mapeamento da memória cache; 
( ) (iv) inserir um buffer entre o processador e a cache, para receber a informação a ser gravada no 
sistema de memória. 
 
 
Selecione a opção que apresente a sequência assinalada. 
• S; S; N; N. 
• N; S; N; N. 
✓ N; S; N; S. 
• S; N; S; N. 
• N; N; S; S. 
Resposta correta: realmente, para contribuir com a redução dos conflitos, deve-se aumentar o 
número de canais entre a cache e o processador; e, ainda, alterar o circuito para melhorar a eficiência 
em relação à manipulação mais demorada da cache – a operação de escrita na memória. Para 
aumentar os canais, pode-se dividir a cache em duas: a cache de instruções e a cache de dados. Para 
focar a operação de gravação, o buffer fará com que o canal seja liberado, podendo ser utilizado para 
uma leitura enquanto a gravação ainda estiver pendente. 
 
5. Nos computadores atuais, denominamos chipset o conjunto de todos os processadores auxiliares 
do gerenciamento da comunicação entre os dispositivos conectados à placa. Entendem-se, por 
dispositivos, todos aqueles que fazem parte do nó computacional: processamento, módulos de 
memória e unidade de I/O. 
O gerenciamento da comunicação envolve as políticas de acesso aos canais de comunicação, de 
modo a garantir justiça, segurança e eficiência. Em tais chipsets. aparece uma classificação de 
ponte norte e de ponte sul. 
Para esta questão, assinale os dispositivos a seguir com “N”, caso estejam conectados à ponte 
norte; e, com “S”, caso estejam conectados à ponte sul. 
 
 
(_) PCI Express. 
(_) Dispositivos USB. 
(_) HD SATA. 
(_) Memória principal. 
 
 
Selecione a alternativa que contém a sequência correta. 
• S; N; S; N. 
✓ N; S; S; N. 
• S; N; N; S. 
• N; S; N; S. 
• N; N; S; S. 
Resposta correta: as denominações norte e sul estão atreladas à hierarquia dos dispositivos. Fala-se 
que o processador está no topo da cadeia, e, consequentemente, está interligado pelo barramento 
norte. Dessa forma, ao barramento, estão conectados os dispositivos mais rápidos, como o PCI 
Express, memória principal. Por sua vez, a ponte sul conecta os dispositivos mais lentos, como os 
dispositivos USB e o HD Sata. 
 
6. Na manipulação da memória cache, poderão ocorrer dois eventos como resposta a uma demanda 
originada pelo processador: miss e hit. Um miss ocorre quando o item demandado não se encontra 
na cache, e um “ hit” ocorre quando o item se encontra na cache. 
Para esta questão, suponha que uma cache contenha oito linhas; utilize mapeamento do tipo 
memória associativa; e adote, como mecanismo de substituição de blocos, o LRU ( least recently 
used - em português, menos recentemente usada). Suponha, ainda, que, inicialmente, 
a cache esteja vazia; e queos blocos serão demandados de acordo com a seguinte ordem: 10; 4; 
2; 3; 6; 2; 3; 8; 3; 5; 8. 
Marque a alternativa que contém, respectivamente, a quantidade de miss e de hits ocorridos até o 
fim da sequência de utilização dos blocos. 
• 4; 3. 
• 3; 4. 
• 4; 7. 
✓ 7; 4. 
• 8; 3. 
Resposta correta: você realizou, corretamente, a substituição dos blocos de acordo com o LRU e não 
se esqueceu de contar as demandas iniciais dos quatro primeiros blocos (quando a cache estava 
vazia) que ocasionaram o evento miss. 
 
7. Nos sistemas de memória, a organização dos blocos armazenados é denominada mapeamento. 
Sendo mais específico em relação à cache, o mapeamento envolve as políticas e os mecanismos 
que possam direcionar o bloco dentro da cache; e, consequentemente, como localizá-lo em futuras 
demandas. 
Ainda quanto à cache, existem três tipos de mapeamento: memória associativa, mapeamento 
direto e conjunto associativo. No mapeamento direto e no conjunto associativo, cada bloco tem, 
exatamente, uma única posição (linha) para ser armazenado. 
Para esta questão, suponha uma memória composta por oito linhas que receberá os seguintes 
blocos: 33, 28, 47 e 10. 
Agora, selecione a alternativa que contém a sequência correta dos números das linhas que 
receberão os blocos. 
✓ 1; 4; 7; 2. 
• 2; 5; 7; 3. 
• 1; 2; 3; 4. 
• 2; 4; 6; 1. 
• 4; 1; 7; 2. 
Resposta correta: você observou que o número da linha corresponde ao resto da divisão do número 
do bloco pelo número da linha. O número da linha poderá ser gerado, também, com a coleta dos três 
últimos bits do número do bloco. O valor 3 é obtido em função da quantidade de linhas – no caso, 
oito linhas. Dessa forma, tem-se log 2(8) = 3. 
 
8. Atualmente, os sistemas computacionais podem ser implementados a partir de codificações com 
HDL ( Hardware Description Language - em português, linguagem de descrição de hardware). 
Duas linguagens dominam o mundo das HDL: Verilog e VHDL. A partir do código, é possível fazer 
a síntese de circuitos com ferramentas integradas, de modo a permitir, antes da concepção física, a 
simulação dos circuitos; e a verificar a correção de suas funcionalidades. 
Para esta questão, assinale, com “V”, a(s) afirmativa(s) que você julgar verdadeira(s) e, com “F”, 
a(s) que considerar falsa(s). 
 
(_) Em Verilog, a definição “ reg [7:0] Memory[255:0];” define um vetor de registradores com oito 
(zero a sete) linhas e com uma largura de 256 (0 a 255) bits. 
(_) Em Verilog, a definição “ inout” indica que o pino do circuito permite apenas a entrada de 
valores. 
(_) Verilog permite a manipulação de “if ternário” igual à linguagem C/C++. Por exemplo, a linha 
“ data[7:0] = (~rw && en) ? 8'bz : databuffer[7:0];” consiste em um “if ternário”. 
(_) Em manipulação de hardware, o bit menos significativo (LSB; Least Significant Bit - em 
português, bit menos significativo) é o bit mais à direita, referenciado como “bit 0”. 
Assinale a alternativa que contém a sequência que você avalie ser correta. 
• V; F; F; V. 
• F; V; F; V. 
• V; V; F; F. 
• V; F; V; F. 
✓ F; F; V; V. 
Resposta correta: em muitas ocasiões, a linguagem Verilog se assemelha à C/C++, como é o caso da 
possibilidade de utilizar “if ternários”. A definição de pinos pode ser feita com input (quando o pino 
for exclusivo para entrada de dados); com output (quando for somente saída de dados); e 
com inout (quando o pino permitir tanto a entrada quanto a saída de informações). A definição de 
registradores unidimensionais, em Verilog, segue a sintaxe “ reg [NUM_BIT_MSB:0] nome”. No caso, 
se tivéssemos [7:0], teríamos um registrador cuja largura é de 8 bits. Note-se que o bit 0 representa o 
LSB, localização mais à direita. A introdução de uma dimensão após o nome do registrador indica a 
implementação de uma estrutura bidimensional. Nesta questão, há uma estrutura de 256 linhas cuja 
largura das linhas é de 8 bits. 
 
9. Para a utilização do barramento e de alguns dispositivos de I/O ( Input/ Output - em português, 
entrada/saída); e, também, de serviços baseados em conexão das redes de comunicação de 
dados, adota-se um mecanismo denominado handshake. Com o handshake, garante-se que ou o 
dispositivo ou o canal poderá ser utilizado por aquele que conseguiu fechar a conexão. 
Para esta questão, sequencie as etapas listadas a seguir, do ponto de vista do solicitante da 
conexão, de acordo com a ordem em que ocorrem. 
 
 
(_) Envio de um sinal de requisição de uso (REQ). 
(_) Envio de um sinal ACK. 
(_) Espera de um sinal de concessão de uso (ACK). 
(_) Envio das informações. 
 
 
Selecione a alternativa que contém a sequência correta. 
• 4; 2; 1; 3. 
• 1; 3; 4; 2. 
✓ 1; 3; 2; 4. 
• 3; 1; 2; 4. 
• 1; 4; 3; 2. 
Resposta correta: no handhake, antes do estabelecimento da conexão, há a necessidade de verificar se o 
canal se encontra disponível para o uso. Para que isso aconteça, existe a negociação de utilização 
representada pelo envio da requisição de uso; pelo recebimento da confirmação da disponibilidade; e 
pelo envio do encerramento das tratativas de conexão, para que, somente depois, possa ser iniciado o 
envio das informações. 
 
10. A manipulação da memória cache envolve algumas políticas em relação ao seu mapeamento e à 
substituição de seus blocos. Estas políticas impactam, diretamente, a sua estruturação. Podemos 
distinguir o mapeamento em três tipos: memória associativa, mapeamento direto e conjunto 
associativo. Por sua vez, as políticas de substituição de blocos são divididas em LRU, em LFU e em 
FIFO. Ainda quanto à substituição dos blocos, podemos destacar as políticas de escrita, de write-
back e de write-through. Para esta questão, analise o texto a seguir e complete as lacunas 
apropriadamente. 
A estruturação de uma memória cache pode ser dividida nos seguintes campos: ____ (que contém a 
identificação do bloco) e o próprio conteúdo do bloco. Além desses dois campos básicos, podemos 
encontrar um campo que informa a última utilização do bloco, quando a política de escrita for do tipo 
____; um campo que informa a quantidade de acessos ao bloco, quando for usado o ____ ; e um 
campo que indica se o bloco foi modificado, quando a política de escrita for do tipo ____. 
Assinale a alternativa que contém a ordem correta de preenchimento. 
• Tag; LRU; LFU; write-through. 
• Content; LRU; LFU; write-back. 
✓ Tag; LRU; LFU; write-back. 
• Tag; LFU; LRU; write-back. 
• Tag; FIFO; LFU; write-back. 
Resposta correta: realmente, o campo relativo à identificação do bloco é denominado tag. Os blocos 
adicionais estão vinculados às demais políticas da cache. Por exemplo, no caso da LRU (least 
recently used – em português, menos recentemente usada), devemos armazenar o momento da 
última utilização do bloco. Por outro lado, na LFU (least frequently used – em português, menos 
frequentemente usado), deve-se armazenar a frequência da utilização do bloco. Por fim, quando se 
usa a política de escrita do tipo write-back, devemos armazenar um bit, indicando se o bloco foi ou 
não modificado, para que, no processo de substituição desse bloco, possa haver a atualização da 
memória de nível abaixo de forma apropriada.

Continue navegando