Prévia do material em texto
1. A utilização de processadores ARM ( Advanced RISC Machine - em português, máquina RISC avançada) vem ganhando espaço, ultimamente, por sua eficiência computacional e por seu baixo consumo energético. O ARM, originalmente baseado no Berkeley RISC I, foi concebido, na metade da década de 1980, pela empresa Acorn Computers. Atualmente, vários fabricantes produzem processadores baseados no ARM, dentre os quais podemos citar Intel, Samsung, Nvidia, Atmel e Texas Instruments. Para esta questão, marque, com “V”, a(s) afirmativa(s) que você julgar verdadeira(s) e, com “F”, a(s) que considerar falsa(s). (_) O campo cond no formato das instruções auxilia o pipeline a evitar instruções condicionais desnecessárias. (_) Pelo fato de o ARM ser derivado do RISC, é uma máquina de três operandos e apresenta arquitetura de Harvard. (_) Os acessos à memória podem ser realizados por intermédio de instruções do tipo load, store e mov. (_) Ao contrário da família x64, os dispositivos de I/O do ARM são mapeados como endereços de memória. Agora, selecione a alternativa que contém a sequência correta. ✓ V; V; F; V. • V; F; V; V. • V; F; V; F. • F; V; F; V. • F; V; V; F. Resposta correta: em função de o ARM ser derivado do RISC, conserva, em suas características, a manipulação de três operandos e poucos modos de endereçamento (acessos à memória somente por meio de load e de store. O campo cond sinaliza se a instrução deve ou não ser executada em função dos valores do registrador de flags. Por fim, realmente, os dispositivos de I/O são mapeados como endereços de memória (na família x64, são portos de I/O). 2. Sistemas dotados de vários processadores podem ser classificados em multiprocessadores e em multicomputadores. Os multiprocessadores são aqueles que dispõem de memória compartilhada com várias CPUs. Por sua vez, os multicomputadores apresentam recursos de memória e de I/O vinculados a apenas uma CPU interligada a uma rede de comunicação. Falando, especificamente, de multiprocessadores, podemos subdivi-los em SMP ( Symmetric Multiprocessing - em português, multiprocessadores simétricos) e em NUMA ( Non-Uniform Memory Access - em português, acesso à memória não uniforme). Para esta questão, associe as características seguinte com “S” (SMP) ou com “N” (NUMA). (_) O tempo de acesso à memória não é uniforme, pelo fato de a memória ser distribuída. (_) O tempo de acesso à memória é o mesmo em relação a todos os processadores. (_) Cada processador apresenta um canal dedicado à sua memória local e uma interface com um barramento, para interconectar-se aos demais processadores. (_) Existe uma limitação do número de processadores, devido à degradação do sistema ocasionada pelo tráfego no barramento. Agora, assinale a alternativa que contém a sequência que você julgue ser a correta. • S; N; N; S. • S; S; N; N. ✓ N; S; N; S. • N; N; S; S. • S; N; S; N. Resposta correta: você observou que, em uma máquina SMP, existe apenas um módulo de memória, que é compartilhado com todos os processadores. Essa característica faz com que o tempo de acesso seja uniforme. Porém, o sistema pode degradar-se se houver excesso de troca de informações pela rede. Esse problema é atenuado pelas máquinas NUMA, que apresentam memórias distribuídas – atreladas a cada processador. No entanto, essa topologia faz com que o tempo de acesso não seja uniforme. 3. O ARM é um processador derivado do padrão RISC. Sendo assim, apresenta, como uma de suas características básicas, a pequena quantidade de formatos de instruções. Em relação a esses formatos, podemos mencionar que o ARM manipula três níveis de instruções: ARM, thumb e thumb-2. Especificamente no nível ARM, podemos encontrar sete formatos. Para esta questão, analise os sete formatos e marque as afirmativas a seguir com “V” (verdadeiras) ou com “F” (falsas): (_) o ARM manipula cinco classes de instruções e três modos de endereçamento; (_) o ARM é um processador de dois operandos; (_) instruções do tipo load-store têm um opcode formado por 4 bits. (_) O ARM é capaz de distinguir entre a manipulação de uma palavra e a de um byte. Agora, selecione a alternativa correta. ✓ V; F; F; V. • V; F; V; V. • F; V; F; V. • F; F; F; V. • V; F; F; F. 4. Existem algumas abordagens de processadores. As mais conhecidas são CISC ( Complex Instruction Set Computer - em português, computador com conjunto de instruções complexas), RISC ( Reduced Instruction Set Computer - em português, computador com conjunto de instruções reduzidas) e VLIW ( Very Long Instruction Word - em português, palavra de instrução muito longa). Alguns processadores adotam, ainda, alguma abordagem híbrida, como é o caso da linha x64, que integra as abordagens CISC e RISC. Para esta questão, analise as afirmativas a seguir. I - Nos processadores CISC, a quantidade de registradores GPR tende a ser maior em relação à das máquinas RISC. II - As instruções dos processadores RISC têm um tamanho único. III - Os processadores RISC apresentam uma alta otimização em relação ao seu pipeline. IV - Nos processadores RISC, as instruções são divididas em micro-operações - razão do nome “instruções reduzidas”. Agora, assinale a alternativa correta. • Apenas as afirmativas I, II e III são verdadeiras. ✓ Apenas as afirmativas II e III são verdadeiras. • Apenas as afirmativas II e IV são verdadeiras. • Apenas as afirmativas I e IV são verdadeiras. • Apenas as afirmativas II, III e IV são verdadeiras. Resposta correta: realmente, os processadores RISC tendem a conter um número maior de registradores em relação aos CISC, para que possam otimizar a sua utilização e proporcionar ganhos ao já otimizado pipeline. Além disso, as operações RISC, de tamanho único, não são subdivididas em micro-operações. 5. 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 com uma 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. • Hardware; software; hardware; linear. • Hardware; hardware; software; circular. • Software; hardware; software; linear. • Software; hardware; software; circular. ✓ Hardware; software; hardware; circular. Resposta correta: a sua resposta está correta. Realmente, na abordagem via hardware, os grupos de registradores atuam como um buffer circular no mecanismo de janelas de registradores. Por sua vez, na abordagem via software, uma análise do código é realizada pelo compilador, a fim de otimizar o uso dos grupos de registradores. 6. As duas filosofias reinantes, atualmente, no mercado dos computadores são a CISC (Complex Instruction Set Computer - em português, computador com conjunto de instruções complexas) e a RISC (Reduced Instruction Set Computer - em português, computador com conjunto de instruções reduzidas). Alguns processadores adotam, ainda, uma filosofia híbrida - ou seja, uma fusão entre CISC e RISC. As máquinas RISC têm, como grande vantagem, um melhor aproveitamento de seu pipeline, devido à simplicidadede suas instruções e à baixa quantidade de modos de endereçamento. Nesta questão, associe as características à filosofia CISC (marcando o item com “C”) ou à filosofia RISC (marcando-o com “R”). (_) Vários conjuntos de registradores. (_) Instruções de múltiplos ciclos. (_) Possibilidade de acesso à memória por meio de várias instruções. (_) Acesso à memória apenas pelas instruções load e store. (_) Instrução dividida em micro-operações. (_) Máquina de três operandos. Assinale a alternativa que você julgue ser a correta: • R; C; R; C; C; R. • C; R; R; C; R; C. • C; R; C; R; C; R. ✓ R; C; C; R; C; R. • R; C; C; R; R; C. Resposta correta: os processadores RISC otimizam a manipulação dos registradores, devido ao fato de conterem instruções de três operandos (maior reaproveitamento de informações); e ao fato de mapear os registradores em conjuntos, o que possibilita o mecanismo de janela de registradores. O datapath menos complexo do RISC se deve aos poucos formatos de instruções e de formas de endereçamento – inclusive, as únicas instruções que fazem acesso à memória são load e store. Quanto aos processadores CISC, suas instruções consomem vários ciclos de instruções, pois são divididas em micro-operações, frente ao único ciclo dos RISC). 7. 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. • F; F; F; V. • V; V; V; V. • V; V; F; F. ✓ V; V; F; V. • F; V; F; V. Resposta correta: você analisou, corretamente, o datapath, relacionando os bits [31:26] ao opcode que servirá como entrada da unidade de controle, a fim de produzir os sinais de controle. Além disso, os bits [15:11], [25:21] e [20:16] são mapeados como os registradores destino e os dois registradores - fonte, respectivamente. A ALU realiza, além das operações inerentes às operações lógicas e aritméticas, o endereço a ser acessado na memória de dados e o endereço para o novo valor do PC, no caso de haver instruções de desvio. Sendo assim, os resultados de operações aritméticas e lógicas são direcionados ao banco de registradores por intermédio de um seletor de dados (MUX). Por fim, o fato de as memórias de dados e de as instruções aparecerem de forma distinta indica que o MIPS utiliza a arquitetura de Harvard. 8. A família TMS320C67X engloba processadores do tipo DSP (Digital Signal Processors - em português, processadores de sinais digitais). Os DSPs são processadores otimizados para executar códigos voltados ao processamento de sinais digitais. Mais especificamente em relação ao TMS320C67X, podemos mencionar que são constituídos por dois datapaths, que integram os seguintes submódulos: “.L”, “.S”, “.M” e “.D” - tendo otimizações para funções específicas. Para esta questão, associe as funcionalidades aos módulos citados (marcando-os com “L”, com “S”, com “M” ou com “D”): (_) otimizado para operações do tipo multiplicação; (_) responsável pelas transferências de dados entre a memória e o banco de registradores; (_) otimizado para executar desvios condicionais; (_) otimizado para operações aritméticas, de comparação, lógicas e de deslocamento. Agora, selecione a alternativa que contém a sequência correta. • S; M; S; L. • M; D; L; S. ✓ M; D; S; L. • M; S; D; L. • L; D; S; M. Resposta correta: realmente, o módulo “M” é otimizado para multiplicações. O módulo “D” realiza o interfaceamento entre o banco de registradores e o módulo “DMA, EMIF”. A unidade “S” visa, dentre outras funcionalidades, aos desvios condicionais. Por fim, “L” desempenha as operações básicas (aritméticas, comparação, lógicas e deslocamento). 9. 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. ✓ Apenas as afirmativas I, II e IV são verdadeiras. • Apenas as afirmativas II, III e IV são verdadeiras. • Apenas as afirmativas I, II e III são verdadeiras. • Apenas as afirmativas II e IV são verdadeiras. • Apenas as afirmativas I e II são verdadeiras. Resposta correta: circuitos menos complexos têm, como consequência, uma menor dissipação de potência; um trajeto menor para a propagação dos sinais; e, consequentemente, um tempo menor de propagação. Como a frequência de operação é inversa ao tempo, podem-se aplicar frequências maiores para a sincronização do processador. Quanto à eficiência computacional, não é possível tirar conclusões comparativas com um processador CISC sem conhecer os pormenores de seu processamento. 10. Segundo a taxonomia de Flynn, um sistema computacional pode ser classificado de acordo com os fluxos de instruções e de dados. Dentro dessa classificação, encontramos os seguintes itens: SISD, SIMD, MISD e MIMD. Especificamente sobre as máquinas SIMD (Single Instruction, Multiple Data - em português, única instrução, múltiplos dados), podemos mencionar que sua aplicação é mais voltada para códigos que manipulam, por exemplo, matrizes ou vetores, cujas células são manipuladas paralelamente (processamento não sequencial). Reflita sobre os itens a seguir e assinale aquele(s) que apresenta(m) um melhor resultado quando forem aplicados a uma estrutura SIMD. (_) I - Sistemas meteorológicos. (_) II - Instruções MMX, que poderão ser executadas nas GPUs (Graphic Processing Unit). (_) III - Sistemas comerciais baseados em cliente-servidor. (_) IV - Sistemas de geoprocessamento. Assinale a alternativa que apresente a sequência correta: • Somente I e IV. ✓ Somente I, II e IV. • Somente III e IV. • Somente I, II e III. • Somente II, III e IV. Resposta correta: todas as opções apresentadas, excetuando o cliente-servidor, são aplicações baseadas emvetores e em matrizes. Sendo assim, justificam a utilização do paradigma SIMD. A aplicação do tipo cliente-servidor é puramente sequencial: o cliente depende do resultado do processamento do servidor.