Prévia do material em texto
1) Sabe-se que uma instrução pode ser representada, genericamente, pelo seu opcode em conjunto com os seus operandos. O termo opcode se refere ao código que representa a instrução. Porém, a quantidade de operandos pode variar entre as famílias de processadores, pois podem seguir padrões distintos para a elaboração de seus ISA (Instruction Set Architecture - em português, arquitetura do conjunto de instruções). Para esta questão, complete as lacunas do texto abaixo com as instruções apropriadas.Na máquina de zero operando, também conhecida como máquina à pilha, é utilizada uma pilha de dados para fornecer informações ao módulo responsável pelo processamento. A manipulação da pilha é feita por intermédio das instruções ____ (para empilhar dados na pilha) e ____ (para desempilhar da pilha). Já nos processadores de um operando, surge a figura de um registrador “acumulador”, para servir de fonte e de destino das operações. A manipulação do registrador é realizada pelas instruções ____ (para instanciar o acumulador) e ____ (para salvar o valor do acumulador na memória). Em máquinas RISC, como o MIPS, utilizam-se instruções com esses mesmos nomes para realizar movimentações de dados entre o registrador e a memória. Por fim, máquinas de dois e de três operandos utilizam GPR (General Purpose Register - em português, registradores de propósito geral). Em processadores x86, os registradores GPR são manipulados por meio de instruções do tipo ____. Agora, assinale a alternativa que você julgue conter as expressões que completam as lacunas corretamente. 2) A linguagem Assembly é formada por mnemônicos, que correspondem às instruções exportadas pelo processador em questão. Geralmente, instruções de linguagens de alto nível, após terem sido compiladas, são convertidas em uma sequência de várias instruções Assembly. Nesta questão, considere o seguinte código escrito em um Assembly hipotético: mov Reg1, 5mov Reg2, 4 add Reg2, 1 sub Reg1, Reg2 je p_elseadd Reg2, 2 sub Reg1, 5jump p_final p_else:sub Reg2, 1 p_final: sub Reg1, Reg2 js p_finaltotalsub Reg2, 1 p_finaltotal: No código acima, além das instruções de movimentação de dados, de soma e de subtração, foram, também, utilizadas as seguintes instruções de desvio: · “Je” (jump equal), que desvia o fluxo caso a flag “zero” tenha sido instanciada em “1” - ou seja, caso a operação da ULA resulte em um valor nulo; · “js” ( jump signal), que desvia o fluxo caso a flag “sinal” tenha sido instanciada em “1” - ou seja, caso a operação da ULA resulte em um valor negativo; · “jump”, que introduz um desvio não condicional. Agora, assinale a alternativa que contém os valores finais de “ Reg1” e de “ Reg2”, respectivamente. 3) 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) 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, 5) 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. 6) O processador MIPS é um exemplo de arquitetura RISC. Sendo assim, podemos relacioná-lo a algumas características dos processadores RISC: poucos formatos de instruções; máquina de três operandos; e transferência de informações entre a memória e o banco de registradores por intermédio apenas das instruções load e store. Tais particularidades podem ser identificadas quando analisamos o seu datapath. Esta questão é baseada no datapath do processador MIPS. Analise as afirmativas a seguir, classificando-as com “V” (verdadeiras) ou com “F” (falsas). (_) Os opcodes das instruções são representados pelos bits de 26 a 31. (_) Nas instruções do tipo “add reg3, reg2, reg1”, o registrador destino é mapeado pelos bits [15:11]; e as fontes, pelos bits [25:21] e [20:16]. (_) Os valores produzidos pela ALU podem ser diretamente gravados na memória de dados. (_) O MIPS também usa a abordagem da arquitetura de Harvard em seu sistema de memória. Agora, selecione a alternativa correta. 7) Quando são realizadas a caracterização e certas reflexões sobre processadores CISC, sempre vêm à tona as suas instruções, que têm menor complexidade em relação às dos processadores RISC. Consequentemente, o seu hardware é, igualmente, menos complexo. A baixa complexidade das instruções faz com que possam ser executadas em apenas um ciclo de instrução, municiando o pipeline com mais eficiência. Para esta questão, analise as afirmativas a seguir e as avalie como verdadeiras (“V”) ou como falsas (“F”). I - Ter um hardware menos complexo significa fazer um menor percurso para a propagação dos sinais internos. Consequentemente, há um tempo de propagação menor, o que proporciona a possibilidade de trabalhar com frequências de clock maiores. II - Com todas as instruções sendo executadas em apenas um ciclo de máquina, o controle do pipeline se torna mais simples, possibilitando uma maior eficiência. III - Um hardware menos complexo significa uma alta limitação do processamento das instruções, fazendo com que máquinas RISC executem um número muito maior de instruções em comparação com as máquinas CISC. Esse fato faz com que as máquinas RISC sejam sempre menos eficientes em relação às CISC. IV - Com um hardware menos complexo, pode-se criar projetos que apresentem uma menor dissipação de potência, o que proporciona um menor consumo energético. (V) Agora, assinale a alternativa que você julgue ser a correta. 8) Uma das características marcantes dos processadores RISC é a utilização de janelas de registradores. Em tal abordagem, os registradores são agrupados de forma que cada janela seja alocada para uma função do código. Assim, tem-se os registradores ditos temporários, que visam a estabelecer a interface entre a evocação e o retorno das funções. Dessa forma, pode-se evitar a reutilização indevida dos registradores e, portanto, a sobrescrita de valores de forma prematura.Para esta questão, preencha, apropriadamente, as lacunas do texto a seguir. A utilização das janelas de registradores consiste em uma otimização cuja abordagem se baseia em ____. Na abordagem por ____, os registradores são utilizados de acordo comuma análise do código. Na abordagem por ____, os conjuntos de registradores atuam como um buffer ____, caso em que são necessários registradores de índices para as regiões da janela salva e da janela atual. Agora, assinale a alternativa que contém a ordem correta de preenchimento. 9) Pipeline e superescalaridade são exemplos de técnicas baseadas no processamento paralelo para buscar aumento de performance computacional. A ideia básica do pipeline consiste em tentar antecipar o início de execução de uma nova instrução antes da finalização do ciclo de instrução anterior. Por outro lado, na superescalaridade, ocorre a replicação de unidades funcionais, de modo que se tenha a possibilidade de duas ou mais instruções serem executadas simultaneamente. Sabe-se, também, que o ciclo de instrução consiste nas seguintes etapas, que são realizadas por módulos dedicados: (a) busca da instrução; (b) decodificação da instrução; (c) busca dos operandos; (d) execução; e (e) escrita dos resultados. Considere cada módulo especificado a seguir e assinale, com “P”, os que se relacionam ao pipeline; com “S”, os que se integram à superescalaridade; e, com “A”, os que participam tanto da abordagem com pipeline quanto da abordagem superescalar: (_) módulo de busca da instrução; (_) módulo de decodificação da instrução; (_) módulo de busca dos operandos; (_) módulo de execução; (_) módulo de escrita do resultado. Agora, assinale a alternativa que contém a sequência que você julgue ser a correta. 10) 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.