Buscar

Lista 1 para AV2

Prévia do material em texto

1 
Universidade Estácio de Sá 
Cursos Superiores – Engenharia e Informática – 1.o período 
Arquitetura e Organização de Computadores – Prof: Affonso de Cusatis Junior 
 
Lista de exercícios preparatória para a 2ª prova (AV2) – Parte 1 (com SOLUÇÕES) 
 
1) Relembre o início de nosso curso (por exemplo: slides de resumo das 1.as aulas) e diga: quais são 
os níveis pelos quais normalmente estudamos o funcionamento de um computador (lógica digital, 
montagem,...)? Quais destes níveis estão presentes quando estamos executando programas já 
prontos (ou seja, a maior parte do tempo), e quais estão presentes no processo de criação de novos 
programas? 
Resp: são os níveis mostrados na imagem abaixo, mais o nível de aplicações de usuário (nível 6), 
que compreende os programas de usuário já prontos. 
 
 
 
2) Cite os elementos que você se recorda e que são encontrados dentro de um típico processador / 
CPU (cite o nome/sigla e uma breve descrição). 
Principais fontes para estudo: slides e .doc do professor sobre CPU., ou livro MM-5 (Mário 
Monteiro, 5.a edição), cap.6; 
UC, ULA, clock, barramento(s) interno(s), registradores....... 
 
3) Em quais grupos de fios se divide a grande maioria dos barramentos? 
Principais fontes para estudo: slides do professor sobre barramentos e E/S. 
Fios (ou barramento) de dados, fios (ou barramento) de endereços, e de controle. 
 
4) Quais são os dois tipos básicos de memória RAM (incluindo os significados de seus nomes e 
principais características e uso)? 
Principais fontes para estudo: slides sobre memória, etc; lista para a AV1. 
RAM estática (SRAM) e RAM dinâmica (DRAM). Mas complete com as principais características 
de cada uma. 
 
 2 
5) São exemplos de padrões comerciais de barramentos de computadores, nas últimas 4 décadas: 
 a) ISA, PCI, MBR, MAR, AGP 
 b) ISA, VLB, PCI, AGP, USB 
 c) PCI, FireWire, AGP, XTG, BUSPlus 
 d) PCI, USB, IDE, TX11, ACC 
 e) USB, ULA, DCC, MAR, MBR 
Fonte: slides sobre barramentos; livro ST-8, cap.3 (83 a 95). (Stallings, 8.a edição) 
 
6) Cite 3 ou 4 formas pelas quais barramentos podem ser classificados (ex: “barramentos de 
computador podem ser: pretos x brancos; tricolores, flamenguistas ou vascaínos; etc ”): 
Fonte: slides sobre barramentos; livro ST-8, cap.3 (83 a 95). 
Resp: serial x paralelo; síncrono x assíncrono; dedicado x multiplexado. E ainda há uma outra 
classificação (não muito precisa), que divide barramentos em: local (ou „de memória‟), de sistema e 
de expansão. 
 
7) A transmissão de dados, em barramentos e de um modo geral, pode ser serial ou paralela. 
Explique a diferença. 
Fonte: slides sobre barramentos; livro ST-8, cap.3 (83 a 95). 
Resposta textual e individual. 
 
8) Tema: BITS DE BARRAMENTO 
Barramentos de dados de barramentos de computadores modernos (dos anos 80 até hoje), em geral, 
possuem quantos bits? 
 a) 128 ou 512 bits 
 b) 8, 64, 128 ou 512 bits 
 c) 8, 16, 32 ou 64 bits 
 d) 16, 32 ou 128 bits 
 e) 6, 12, 18 ou 28 bits 
 
9) O conjunto de instruções definido para uma determinada Unidade Central de Processamento 
(UCP) é constituído basicamente de uma mistura de formatos de instruções e modos de 
endereçamento. Sobre este assunto, qual das afirmações abaixo é incorreta? 
 
a) O modo de endereçamento por registrador é bem rápido, pois não exige acesso à memória 
b) O modo de endereçamento direto apresenta como desvantagem a limitação do espaço de 
endereçamento ao tamanho do campo de operando. 
c) Considerando o modo de endereçamento indireto, palavra de 16 bits, instrução de um 
operando e campo de operação de 8 bits, a memória endereçável é de 32 MB. 
d) O modo de endereçamento imediato tem a menor relação de tempo de acesso ao dado. 
e) O modo de endereçamento indexado (base + índice) é usado diretamente na tradução de 
trechos de programas que manipulam a estrutura de dados conhecida como vetor. 
 
10) Qual é o objetivo de se utilizar a memória cache nos computadores modernos? E a tecnologia 
de memória RAM utilizada? Por que não usar toda a memória principal nesta tecnologia? 
Ver capítulo 4 (memórias) (livro MM), e slides professor sobre memória. 
Resp: acelerar, na média, a busca de informações na memória, baseando-se no princípio da 
localidade. SRAM (memória RAM estática). Por questão de custo!! (além disso, o espaço ocupado 
pela memória SRAM também é maior). 
 
11) Quais são os níveis de memória cache presentes na maioria dos processadores do „mundo PC‟ 
atualmente? 
Resp: durante muito tempo os níveis L1 (level 1) e L2. Atualmente é comum: L1, L2 e L3. 
 
12) Quais são as formas se organizar uma memória cache? 
 3 
Resp: capítulo subsitemas de memória, do MMonteiro. 
Mas há várias decisões a serem tomadas, como o tamanho da cache, se será ou não dividida em 
dados x instruções, o tamannho e quantidade dos „slots‟/páginas, e a estratégia de substituição de 
páginas (FIFO, LRU, LFU...). 
 
13) Descreva o funcionamento da memória cache para uma típica operação de leitura. 
Resp: capítulo subsitemas de memória, do MMonteiro 
 
14) Que tipos de classificação são possíveis quando falamos de barramentos? 
Resp: (slides sobre barramentos, do professor) 
Resp: *** questão repetida. 
 
15) Qual será a taxa de transferência de dados em um barramento XPTO, com 16 bits de linhas de 
dados, um „clock‟ de 66 MHz, e que efetua 2 transferências de dados completas por ciclo de clock? 
Resp: 16 bits = 2 bytes. Taxa = 2B * 66M/seg * 2 (transferências/ciclo) = 264 MB/seg 
 
16) Releia o material (slides de resumo) sobre barramentos e faça uma tabela contendo: ano de 
lançamento, bits de dados, clock, para os principais padrões de barramentos surgidos (no mundo 
PC) dos anos 80 até hoje (ISA, EISA,..., PCI, AGP, PCI express). 
Resp: é particular. Mas tanto o livro Mário Monteiro, quanto o livro Stallings têm tabelas assim. 
 
17) Cite os registradores de propósito específico normalmente encontrados em uma CPU. 
Resp: CI (ou PC), REM (ou MAR), RDM (ou MBR), RI (ou IR), ACC (acumulador), PSW....... 
(início capítulo 6, Mário Monteiro, ed.4, e/ou resumo do professor, em .doc). 
 
18) O que vem a ser o chamado PSW, na CPU (cite inclusive alguns informações que ele 
normalmente armazena, ou representa)? 
Livro MM-5, cap 6; Slides sobre CPU. 
 
19) Qual é a função do circuito decodificador de instruções, dentro da CPU? 
Resp: decodificar as instruções buscadas na memória, ou seja: informar a Unidade de Controle qual 
é a instrução sendo executada, a partir de seu código de operação (opcode). 
 
20) Quais são os 3 insumos (entradas) nos quais a Unidade de Controle se baseia para poder gerar, a 
cada intervalo de tempo, os sinais de controle necessários para coordenar todo o trabalho da CPU 
(busca e execução de cada diferente tipo de instrução)? 
Resp: a saída do decodificador (que instrução é aquela), o sinal de clock (que pode ser subdividido 
em intervalos ou subciclos menores), e o registrador de status (PSW). 
 
21) O que ocorreria se não houvesse o passo de incremento automático do PC, no ciclo de instrução 
de uma CPU? 
Resp: a execução de qualquer programa ficaria em „loop‟ eterno, buscando sempre a mesma 
instrução. 
 
22) Quais são as principais categorias de instruções que encontramos no chamado nível ISA 
(instruction set architecture), ou nível de instruções, ou CIM (conjunto de instruções de máquina) 
dos computadores? 
 Instruções Aritméticas: adição, subtração, e eventualmente, outras. 
 Instruções lógicas: AND, OR, NOT (complemento), deslocamentos, etc. 
 Instruções de movimentação de dados 
CPU  CPU ex: “move” 
Da CPU  memória ex: “load” 
Da memória  CPU ex: “store” 
 instruções de desvio (desvio incondicional, condicionais e “CALLs” (chamada a subrotina)), 
 4 
 instruções de entradae saída (atualmente, poucas CPUs incluem este tipo de instrução) 
 instruções especiais de controle (ex: HALT, WAIT ou NOOP, etc). 
 
23) Quais são os micro-passos (ou seja, as etapas em termos de micro-arquitetura) que compõem a 
busca da próxima instrução? E como pode ser resumida esta seqüência de passos? 
 
24) De acordo com a discussão sobre formatos de instruções (slides de resumo e cap.6 do livro 
Mário Monteiro), responda: que formatos de instrução são possíveis para uma instrução de 
multiplicação (que logicamente exige a especificação de 3 informações: os 2 valores a serem 
multiplicados, e o local para o resultado). Exemplifique. 
Resp: instruções com os 3 operandos explícitos (fonte 1, fonte 2 e destino), com apenas 2 operandos 
(destino implícito), com apenas 1 operando (um dos fontes e destino implícitos, baseada em 
registrador „acumulador‟), e com 0 operandos (tanto fontes como destino estarão no topo da pilha). 
Obs: ver „desenhos‟ e exemplos, nos slides e/ou no livro Mário Monteiro (capítulo “Representação 
de instruções”). 
 
25) Em que consiste, em termos práticos (ou seja, em termos de ações a serem tomadas no nível de 
micro-arquitetura da CPU) a execução de uma instrução de desvio incondicional 
(ex: JUMP <endereço> )? 
Resp: na prática, consiste basicamente em fazer: CI  <endereço> 
 
26) Diga quais são os principais modos de endereçamento utilizados em instruções básicas, no nível 
de instruções de um computador. 
Veja resumo do professor (em .doc) e/ou capítulo 6 do livro do Mário Monteiro (ed.4). 
Resp: modo imediato, em registrador (direto em registrador), direto (em memória), indireto em 
memória, indireto em registrador, modo indexado e base + deslocamento. Veja resumo do 
professor (em .doc) e/ou capítulo 6 do livro do Mário Monteiro (ed.4). 
 
27) Explique (de preferência, através de um exemplo), como funciona o modo de endereçamento 
„base + índice‟, ou indexado. 
Resp: é o modo de endereçamento criado para que os programas possam trabalhar com „vetores‟ ou 
„arrays‟, que são as variáveis compostas indexadas (diversos valores do mesmo tipo de dados com 
um único nome inicial e uma posição ou índice, guardados de forma contígua ou adjacente na 
memória). O endereço de um elemento do vetor é sempre indicado por um par: endereço base + 
índice (do elemento dentro do vetor). 
Exemplo: (na linguagem Pascal) 
 
VAR 
 valores : array[1..5] of integer; {declara um vetor chamado valores, com 5 elementos inteiros} 
 
BEGIN 
 . . . . . 
 valores[1] := 5; { atribui (guarda) o valor 5 no 1.o elemento (o de índice 1) do vetor } 
 valores[2] := 2; 
 . . . . . 
 valores[5] := 0; { preenche com valor 0 o 5.o e último elemento do vetor valores } 
 
Sabendo-se que cada valor do tipo integer ocupa 2 bytes, e supondo, em nosso exemplo que, em 
dada execução do programa, o vetor valores seja carregado a partir do endereço 100 da memória; 
e supondo que o enderço inicial do vetor valores (que é 100) foi colocado em um registrador R7: 
 LDX R7, 1 (load indexed) 
Carrega acumulador com conteúdo da posição de memória dada por: 
 (R7) + (1-1)x(2) = 100 + 0 = 100 
Já para LDX R7, 5 (load indexed) (R7) + (5-1)x(2) = 100 + 8 = 108 
 5 
...... e assim por diante. Assim é acessado cada elemento do vetor (tanto para leitura quanto escrita). 
 
 
28) Cite um exemplo de uso (no processo de tradução) das instruções de desvio condicional (como 
JPZ – “Jump if zero”, ou BNE – “Branch if note qual”). 
 
29) Descreva sucintamente a diferença entre transmissão serial e paralela. 
Resp: consulte slides sobre barramentos e transmissão, ou livro (Stallings). 
 
 
30) Quais são as funções básicas de um módulo de entrada e saída, e os elementos principais que 
normalmente são encontrados dentro destes módulos? 
Sugestão de fonte: livro do Stallings, 5.a edição, seção 6.2 (pág. 198) (na 8.a edição, não mapeei o 
local exato do assunto ainda). 
Resp: consulte a seção do livro indicada. 
 
31) Quais são as 3 grandes técnicas para a implementação de entrada e saída em computadores 
(capítulo 6, “Entrada e Saída”, do livro Stallings)? 
Resp: E/S programada, E/S por interrupção e E/S com DMA (acesso direto à memória) 
*** dê uma lida rápida no capítulo do livro do Stallings (E/S), da 192 à 220, exceto 196-197, e 209-
214. 
 
32) No conjunto de instruções apresentado como exemplo em nosso material, quais são as 
instruções que se referem a E/S? 
Resp: são as instruções de GET e PUT, as quais, em nosso exemplo fictício de ISA – conjunto de 
instruções – poderiam ser usadas para fazer a leitura e a escrita de valores especificando uma „porta‟ 
(um endereço específico de memória no qual é „mapeado‟ um dispositivo de E/S), e um id de 
dispositivo. 
 
33) Um processador possui um RDM com capacidade de armazenar 32 bits e um REM com 
capacidade de armazenar 24 bits. Sabendo-se que em cada acesso são lidas 2 células da memória 
RAM (MP) e que o barramento de dados (BD) tem tamanho igual ao da palavra, pergunta-se: 
 a) Qual é o tamanho da palavra e de cada célula da memória? 
Célula de memória: 16 bits (pois RDM = 32 = 2 x a palavra de memória). Da palavra = 32 (pois barramento 
de dados deve ter o mesmo tamanho do RDM = 32, e neste caso, tem o mesmo tamanho da palavra). 
 b) Qual é a capacidade máxima de endereçamento do computador em questão? 
2 elevado a 24 (=tamanho do REM, ou MAR) = 2**20 * 2**4 = 1M * 16 = 16M endereços (ou células). 
 c) Qual é o total máximo de bits que podem ser armazenados na memória RAM (MP)? 
= 16M células x 16 bits (tamanho de cada célula) = 256Mbits (ou 32MB). 
 
34) Descreva (nome e descrição sucinta) os tipos de controle em processadores (ou seja, as duas 
formas básicas de projeto e implementação de Unidades de Controle, em CPUs). (fonte: livro Mário 
Monteiro, 5.a edição, pág.555) 
Para detalhes: veja final do capítulo 6, livro MMonteiro. 
Resp (parcial): controle microprogramado (ou por micro-programação / micro-código), e controle 
“direto em hardware”, ou “hardwired”. Para detalhes: veja final do capítulo 6, livro MMonteiro. 
 
35) Cite os principais marcos da evolução histórica da arquitetura „x86‟, da empresa Intel e 
concorrentes (de preferência, monte uma tabela). 
Fonte: livro do Stallings, 5.a edição, seção 2.3 (pág. 46). 
Resp: consulte a seção do livro indicado. 
 
36) O que vem a ser a técnica de Pipeline? Que tipo de instrução mais atrapalha a melhoria de 
desempenho desta técnica? 
 6 
Resp: veja informações sobre pipeline na seção específica nos livros Mário Monteiro, ou Stallings. 
 
37) Quais são os dois grandes paradigmas (filosofias) para o projeto e construção de CPUs e de 
conjuntos de instruções (cite as siglas e seus significados)? 
Resp: CISC (Complex Instruction Set Computer) – “computadores com conjunto de instruções 
complexas”; e RISC (Reduced Instruction Set Computer) – “computadores com conjunto de 
instruções reduzido” (na verdade, o termo simples seria melhor do que reduzido). 
 
 
 
 
*** para maiores detalhes, veja questões específicas na parte 2 da lista de exercícios da AV2! 
 
 
38) Com relação ao capítulo “Nível do Sistema Operacional”, responda: 
 
 a) quais são as duas funções básicas de um Sistema Operacional? 
 b) quais os conjuntos de informação que compõem o contexto de um processo? 
Resp: Contexto de hardware, contexto de software e espaço de endereçamento. 
 c) e o nome normalmente dado à estrutura de dados usada para implementar este contexto? 
Resp: normalmente é chamada de PCB (process control block). 
 d) quais são os estados pelos quais pode passar um processo? 
Resp: executando (running), pronto (ready) e bloqueado, ou em espera (wait). Além dos estados 
especiais „criado‟ e „terminado‟, que são mais rarose ocorrem apenas uma vez, por pouco tempo. 
 e) o que é um código “relocável”? 
Resp: é aquele código (ou seja, o conjunto de instruções que compõem um programa) que foi 
traduzido, montado e „ligado‟ de forma a poder ser carregado em qualquer ponto da memória para 
funcionar. 
 f) o que é a técnica conhecida como swap? 
 g) qual é o objetivo principal do uso da memória virtual? 
 h) quais são as formas básicas de „mapeamento‟ da memória virtual? E a diferença entre eles? 
 i) qualquer instrução pode ser executada por qualquer programa, num dado momento? 
 j) o que é fragmentação de memória? 
 
 
Sugestão de fonte: slides do professor sobre Sistemas Operacionais; livro ST-8, cap.8; livro ST-5, 
cap.7. 
 
 
 
 
 
OBS: algumas leituras recomendadas! 
Reserve um tempo, antes ou depois da prova, para ler: 
 
http://www.hardware.com.br/artigos/end-moore/ 
http://www.hardware.com.br/dicas/moore.html 
http://www.hardware.com.br/livros/hardware/como-sao-fabricados-processadores.html 
 
e fique à vontade para ler vários outros do autor Carlos Morimoto, bem como do Laércio 
Vasconcelos, que são muito bons, e têm muito a nos ensinar.

Continue navegando