Baixe o app para aproveitar ainda mais
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.
Compartilhar