Buscar

ARQUITETURA DE COMPUTADORES E MICROPROCESSADORES - A5

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. No desenvolvimento de sistemas digitais, podemos utilizar abordagens top-down e botton-up. 
Na top-down, o processo de desenvolvimento se faz de cima para baixo, especificando o elemento 
mais global e realizando subdivisões sucessivas, até obter um nível desejável de funcionalidade e 
de complexidade. Na metodologia botton-up, realiza-se a interligação de componentes previamente 
criados. Tais componentes - que criados criados na top-down e utilizados na botton-up - são 
denominados IP Core ( Intellectual Property Core - em português, núcleo de propriedade 
intelectual). 
Para esta questão, suponha os seguintes elementos: 
 
I - codificação em HDL; 
II - biblioteca de componentes; 
III - diagrama esquemático que representa a interligação de componentes digitais; 
IV - produto final ( chip ou solução baseada em FPGA). 
 
Agora, selecione a opção que contém as sequências de elementos nas abordagens top-
down e botton-up, respectivamente. 
• III → IV e II → IV. 
• I → IV → III e II → IV. 
• I → III → IV e III → IV. 
✓ I → III → IV e II → IV. 
• II → IV e I → III → IV. 
Resposta correta: a abordagem top-down começa no nível mais alto de abstração – no caso, 
representado pela codificação HDL – e com o mapeamento de componentes eletrônicos até chegar ao 
produto final. Por sua vez, na botton-up, os elementos para gerar o produto final são coletados a partir 
da biblioteca de componentes. Na prática, a fase III (diagrama esquemático) pode não estar claramente 
representada. A partir de ambientes integrados de implementação e de síntese, geram-se as 
informações a serem descarregadas para o FPGA diretamente, a partir da codificação HDL. Os 
componentes da biblioteca são, também, gerados diretamente, a partir da codificação HDL. 
 
2. 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 à simplicidade de 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; C; R; C; R. 
• C; R; R; C; R; C. 
• R; C; C; R; R; C. 
✓ R; C; C; R; C; R. 
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). 
 
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. 
• 1; 4; 3; 2. 
• 4; 2; 1; 3. 
• 3; 1; 2; 4. 
• 1; 3; 4; 2. 
✓ 1; 3; 2; 4. 
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. 
 
4. 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. 
• F; V; F; V. 
✓ V; F; F; V. 
• V; F; F; F. 
• F; F; F; V. 
• V; F; V; V. 
Resposta correta: de imediato, pode-se descartar a alternativa de dois operandos: como o ARM é 
derivado do RISC, manipula três operandos. Por meio dos formatos, podemos notar a presença de cinco 
classes de instruções (de “000” a “101”). Tais bits serão manipulados, pela unidade de controle, para 
gerar os sinais de ativação dos submódulos internos. As instruções load e store (classes 2 e 3) não 
necessitam de opcode, visto que são diferenciadas pelo valor de “L” ( bit 20). Ainda nas classes 2 e 3, 
podemos observar a presença do campo “B” ( bit 22) para diferenciar a forma de manipulação (palavra 
ou byte). 
 
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. 
• 2; 5; 7; 3. 
• 2; 4; 6; 1. 
• 1; 2; 3; 4. 
✓ 1; 4; 7; 2. 
• 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. 
 
6. 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; FIFO; LFU; write-back. 
• Content; LRU; LFU; write-back. 
✓ Tag; LRU; LFU; write-back. 
• Tag; LFU; LRU; write-back. 
• Tag; LRU; LFU; write-through. 
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. 
 
7. 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. 
• P; P; P; S; P. 
• P; P; S; S; P. 
✓ P; P; P; A; P. 
• P; P; P; P; P. 
• P; P; P; A; A. 
A resposta está correta. O pipeline pode ser aplicado a todas as etapas do ciclo de instrução. Por sua 
vez, a etapa de execução pode ser englobada pela superescalaridade, para que possa executar as 
instruções encaminhadas após terem sido decodificadas. 
 
8. Processadores DSP ( Digital Signal Processors - em português, processadores de sinais digitais) 
são construídos para aplicações que necessitem realizar o processamento de sinais digitais - 
controle industrial, instrumentação biomédica, controles aviônicos e processamento de áudio e de 
vídeo. Sendo assim, a sua estrutura é otimizada para tal finalidade. Dentre as otimizações 
existentes, podemos destacar a presença de dois datapaths para processamento paralelo. 
Para esta questão, classifique, com “V”, a(s) afirmativa(s) que você julgar verdadeira(s) e, com “F”, 
a(s) que considerar falsa(s): 
 
(_) O DSP trabalha com o chamado fetch packet - um agrupamento de oito instruções passíveis de 
serem paralelizadas. 
(_) A memória cache do DSP segue, assim como os processadores RISC, a arquitetura de 
Harvard. 
(_) Cada datapath apresenta o seu próprio banco de registradores para aumentar a eficiência 
do pipeline. 
(_) O pipeline é inerente apenas às fases busca das instruções ( program fetch), despacho das 
instruções ( instruction dispatch) e decodificação da instrução ( instruction decode). 
 
Agora, selecione a alternativa que contém a sequência correta. 
• V; F; V; F. 
• F; F; V; F. 
• V; V; F; F. 
• F; V; F; F. 
✓ V; V; V; F. 
Resposta correta: o DSP segue uma filosofia VLIW ( Very Long Instruction Word – em português, palavra 
de instrução muito longa), em que um grupo de instruções é coletado, para que as instruções sejam 
paralelizáveis em seus dois datapaths (cada datapath contém quatro unidades funcionais de 
processamento). Além disso, cada datapth apresenta o seu próprio conjunto de registradores (cujos 
dados podem ser intercambiados) para que a execução seja realizada com pipeline em todas as etapas 
do ciclo de instrução. 
 
9. No mapeamento direto e no conjunto associativo, cada bloco pode ser endereçado a somente uma 
linha. O número da linha é gerado por meio dos N bits menos significativos da identificação do 
bloco, em que N é dado pela expressão N=log (2)K (com K igual ao número de linhas da cache). 
Para esta questão, suponha uma memória composta por oito linhas em que deverão ser 
armazenados os seguintes blocos: 33, 28, 47 e 10. Suponha, ainda, que o endereçamento do bloco 
é realizado com uma palavra de 8 bits. 
Selecione a alternativa que contém a sequência correta das tags a serem armazenadas. 
• 00101010; 00111001; 01101100; 10001010. 
✓ 00100; 00011; 00101; 00001. 
• 00100001; 00011100; 00101111; 00001010. 
• 00101; 00111; 01101; 10001. 
• 00001; 00101; 00011; 00100. 
Resposta correta: você se lembrou de que, no mapeamento direto e no conjunto associativo, podem ser 
desprezados, na geração das tags, os N bits menos significativos. Dessa forma, no caso desta questão, 
as tags são formadas apenas por 5 bits. 
 
10. A arquitetura do conjunto de instruções (ISA - Instruction Set Architecture) é específica para cada 
família de processadores. O ISA define o elenco das instruções exportadas pelo processador e os seus 
formatos correspondentes. O formato de uma instrução define, dentre outras coisas, como as 
informações a serem processadas serão coletadas. 
Em relação ao ISA, o que pode podemos afirmar? Atribua V (verdadeiro) ou F (falso) a cada 
afirmativa e, em seguida, marque a alternativa com a sequência que julgar correta. 
(_) Pode-se ser estabelecido um tamanho variável para o opcode. Por exemplo, as instruções que 
apresentarem uma maior possibilidade de utilização poderão ter opcodes com tamanhos menores. 
(_) Os processadores RISC (Reduced Instruction Set Computer) são máquinas de dois operandos, 
pois são máquinas com código reduzido. 
(_) Podemos mapear as instruções segundo grupos funcionais por meio de valores de bits específicos 
de seu opcode. Os demais bits representariam a própria instrução dentro da referida classe. Isso 
facilitaria a implementação da unidade de controle. 
(_) Datapath é uma representação gráfica da interconexão dos módulos do processador e dos 
caminhos (e dos respectivos pontos de roteamento) em que as informações poderão trafegar. Porém, 
não engloba a representação das fases de execução das instruções. 
Tais fases são pertinentes apenas ao controle do pipeline. 
• F; V; F; V. 
✓ V; F; V; F. 
• V; F; F; V. 
• V; V; V; F. 
• V; F; V; V. 
Resposta correta: de fato, o opcode pode ser de tamanho variável para ot imizar o tamanho do código 
gerado. Porém, essa estratégia tem, como principal desvantagem, a complexidade do circuito de 
decodificação. Na construção do ISA, podemos mapear grupos de instruções por meio dos bits mais 
significativos, objetivando a implementação de um decodificador mais simples. Quanto ao datapath, 
as fases de execução da instrução ficam evidentes ao analisarmos as interfaces dos módulos e o 
fluxo das informações no circuito.

Continue navegando