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