Sistemas de Mirpocessadores I – prova 2 – Primeira avaliação
Transcrição
Sistemas de Mirpocessadores I – prova 2 – Primeira avaliação
Sistemas de Microprocessadores I – Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador atual, tipo Pentium, cite 4 mudanças que considera como principais? 2 – Quais as duas principais aplicações da memória pilha na estrutura segmentada de um programa? 3 - A partir de que endereço físico de memória está armazenado o dado acessado em cada uma das instruções abaixo? Qual o modo de endereçamento usado em cada uma delas? Admita SI = DI = DS = 0100h, BX = ES = 0030h. a) MOV AX, [SI+03] b) MOV [DI], AX c) MOV [BX+SI+05], DX d) MOV AL, [30h] e) INC ES:[BX+SI+04] 4 - Dentre as opções apresentadas abaixo, marque com “1” as que são características apenas dos micros de 8 bits, com “2” as que são características apenas dos micros de 16 bits, com “3” as que são características apenas de micros de 32 bits, com “x1” as que são características dos micros de 8 e 16 bits, com “x2” as que são características dos micros de 16 e 32 bits e com x3 as que são características comuns a todos eles (considere como referência bibliográfica apenas a apostila do curso). ( ) Capacidade de endereçamento máxima de 1Mbyte; ( ) Estrutura "pipelined"; ( ) "Bus" de dados de 8 bits; ( ) "Bus" de endereços de 16 bits; ( ) "Bus" de dados de 32 bits; ( ) Capacidade de endereçamento de 4 Gigabytes de memória física; ( ) Capacidade de executar instruções de acesso a memória com 0 (zero) estados de espera ( ) Unidade aritmética de ponto flutuante interna ao microprocessador ( ) Caché interno ( ) Capacidade de endereçamento máxima de 64 Kbytes de memória; ( ) Estrutura seqüencial ( ) Barramento de endereços limitado a 20 bits. ( ) Busca antecipada de instruções. 5 - Dentre as opções apresentadas abaixo, marque com “1a” as que são características próprias de arquiteturas RISC, com “2a” as que são características próprias de arquiteturas CISC, com “3a” as que são características próprias de arquiteturas SISC, com “x1” as que são características comuns dos micros de arquitetura RISC e CISC, com “x2” as que são características comuns aos micros de arquitetura SISC e RISC e com x3 as que são características comuns a todos eles (considere como referência bibliográfica apenas a apostila do curso). ( ) Conjunto de instruções baseado na abordagem load/store ( ) Conjunto de instruções voltados a aplicação ( ) Nenhuma instrução aritmética, lógica ou de E/S opera diretamente na memória ( ) Instruções executadas em ciclo único ( ) Instruções e modos de endereçamento simples ( ) Instruções e modos de endereçamento dedicados ( ) Instruções implementadas em hardware ( ) Abordagem otimizada de instruções implementadas em hardware e em software ( ) Estrutura “pipelining” otimizada ( ) Elevado número de registradores de uso geral ( ) Uso de registradores de uso específico a aplicação ( ) Ausência de registradores de uso específico ( ) Caches internos para instruções e dados ( ) Número e formato de instruções tão grande quanto possível ( ) Número de modos de endereçamento tão grande quanto possível ( ) Instruções executadas em múltiplos ciclos ( ) Acesso à memória através dos diversos tipos de instruções ( ) Existência de registradores de uso específico ( ) Controle e interpretação de instruções através de micro-código. 6. Associe cada linha da coluna 1 com uma linha da coluna 2 que melhor se associe. Uma marcação errada ou em branco anula uma marcação certa. Coluna 1 Apresenta um conjunto muito específico de instruções Dados e instruções acessados por barramentos distintos Mesma memória compartilhando instruções e dados Modos de endereçamento simples Acesso direto a memória sem a interferência direta do μprocessador Unidade de memória de mais rápido acesso de um μComputador Memória de mais lento acesso de um computador com arquitetura de Von Neumann Modo de endereçamento adequado para tratamento de vetores e matrizes Indicador de empréstimo em uma operação de subtração Deslocamento em um segmento de dados, código ou pilha. Ponteiro do segmento de código Estrutura desenvolvida a partir do 8086 Primeiro a permitir a inclusão de uma memória cache externa Memória volátil construída com componentes dinâmicos Programa residente em ROM Unidade onde são processadas todas as instruções Tipo de memória onde estão localizadas as instruções buscadas de um programa e ainda não decodificadas. Quando desabilitado impede a ocorrência de interrupções Define a capacidade de endereçamento de um μProcessador Microcomputador em um chip Apontam para a próxima instrução que será executada. Mapeamento de endereço não utilizado pela linha x86 Instruções de diferentes tamanhos e diferentes tempos de execução Memória implementada com componentes estáticos. Define os ciclos de barramento de um μComputador. Estrutura própria dos micros x86 anteriores ao 8086 Coluna 2 1 80386 DX 2 80486DX 3 ALU 4 Cache 5 CF 6 CISC 7 CPU 8 CS:IP 9 10 11 12 13 14 15 16 17 DMA DRAM E/S por mapeamento de memória Endereçamento efetivo FIFO Firmware Harvard HD IF 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Indexado indexado por base Memória de Massa Memória Principal Microcontrolador Pipelined Registrador de Instrução Registros internos ao μProcessador RISC Seqüencial SISC Via de Controle Via de endereços Von Neumann 7. Sabendo que o clock de processamento de um µprocessador é de 2,50 GHz e que qualquer ciclo de barramento ocorre em 1 período de clock, qual o tempo necessário para três execuções de um loop com as três instruções seqüências dadas abaixo? Considere que cada unidade executa sua tarefa num tempo equivalente a um ciclo barramento. Se forem incluídos dois ciclos de espera em ciclos de leitura a memória de dados, qual o atraso verificado na execução do mesmo loop? Com zero estados de espera, qual o maior tempo de resposta que uma memória ligada a este microprocessador pode apresentar? a) Construa o pipeline para os dez primeiros ciclos de barramento admitindo as quatro unidades do Gx86 (UB – Unidade de busca, UI – unidade de decodificação, EU – unidade de execução e UA – unidade de geração de endereço de memória de dados). I1 = {UB, UI, UE, UA, UB} I2 = {UB, UI, UA, UB, UE, UA, UB} I3 = {UB, UI, UE, UA, UB} UB UI UE UA 1 2 3 4 5 6 7 8 9 10 b) Após a execução dos três loops com as três instruções acima, qual a quantidade total de ciclos gastos e qual a taxa média de ciclos por instrução, dada por: CPI Total de C iclos N de Instru ções . c) Se estas mesmas instruções fossem executadas num computador com estrutura seqüencial, qual o ganho ou Speedup CPI ou ciclos seqüencial da estrutura pipeline para a seqüencial após a três execuções do loop? CPI ou ciclos pipelined 8. Um programa apresenta as seguintes linhas de código: 1 DOSSEG 2 .MODEL small 3 .stack 4 .DATA 5 var1 DB 0 6 var2 DB 31h, 34h, 38h, 39h, 32h, 33h, 35h, 30h, 00 7 .CODE 8 main PROC 9 MOV AX, @DATA 10 MOV DS, AX 11 MOV BX, OFFSET var1 12 MOV AL,30H 13 XOR AH, AH 14 volte1: CMP AH,[BX+1] 15 JZ fim 16 SUB [BX+1], AL 17 INC BX 18 INC [var1] 19 JMP volte1 20 fim: MOV AH, 4Ch 21 INT 21h 22 main ENDP 23 END Com base no programa anterior, responda: a) Qual o tamanho reservado para a área de pilha? Qual o tamanho do segmento de dados? b) Após a execução da linha 19, quais os valores armazenados em BX e IP se [var1] = 08 c) Quais os valores finais das variáveis var1 e var2? d) Escolha quatro linhas com diferentes modos de endereçamento e os referencie na terceira coluna. 09. Qual o tipo de interleave mostrado na figura a e na figura b mostradas abaixo? Qual é o utilizado pelos microcomputadores que usam processadores x86? Apresente (pelo menos duas) vantagens e desvantagens do interleave mostrado na figura b com relação ao mostrado na figura a. Figura a. M0 M1 0 2 n n 2n 2 -1 M2 2 2n 3n 2 -1 M3 2 3n 4n 2 -1 2 -1 Figura b M0 M1 M2 M3 0 1 2 3 2 -4 2 -3 2 -2 2 -1 4n 4n 4n 4n 10. Considere o algoritmo apresentado abaixo e transcreva para linguagem assembly 10.a) todo o laço 2. 10.b) os laços 1 e 5. Variáveis: Inteira: I, J, N, K Vetor Inteiro: X, Y Início do Programa: N = 20 I=1 Laço 1: Enquanto I for menor ou igual a N faça X(I) = 1 I=I+1 Fim do Laço 1 I=2 Laço 2: Enquanto I for menor ou igual a N faça J=2 Laço 3: Enquanto (I * J) for menor ou igual a N faça X(I * J) = 0 J=J+1 Fim do Laço 3 I=I+1 Laço 4: Enquanto X(I) for igual a zero e I menor ou igual a N faça I=I+1 Fim do Laço 4 Fim do Laço 2 I=1 K=1 Laço 5: Enquanto I for menor ou igual a N faça Se X(I) for igual a 1 então faça Y(K) = I K=K+1 Fim do Se I=I+1 Fim do Laço 5 K=K-1 Fim do Programa 11. Seja o seguinte trecho de código: ... CMP AL,BL JC R1 JZ R2 MOV AL,CL CMP AL,DL JNC R4 JMP R5 ... Indique qual será o destino de desvio em cada um dos casos a seguir: a. AL = 10h, BL = 05h, CL = F0h, DL = F0h b. AL = 9Ah, BL = 12h, CL = 31h, DL = B5h c. AL = 03h, BL = 03h, CL = 19h, DL = 7Ch d. AL = 7Fh, BL = A0h, CL = 34h, DL = B6h 12. Para cada uma das afirmações feitas a seguir, assinale V ou F, conforme considerar a afirmação verdadeira ou falsa. Cada resposta errada ou em branco anula uma resposta certa. ( ) O endereço de retorno das sub-rotinas é armazenado na pilha pela instrução CALL ( ) Os “flags” do Gx86 são alterados somente por instruções que causam alterações no acumulador. ( ) A instrução RET é usada ao final de uma sub-rotina para retornar ao DOS. ( ) Quando o valor do flag zero é 1, pode-se garantir que há no mínimo um registrador cujo valor é zero. ( ) A instrução POP transfere 2 bytes para a pilha, com o mais significativo sendo movido primeiro para o destino. ( ) A diretiva .CODE é usada para indicar o endereço inicial de um programa. ( ) A Unidade de Controle é responsável pela execução das operações de comparação solicitadas pelos programas. ( ) Registradores e cachês L1 e L2 são componentes internos à CPU. ( ) O chipset não pode ser fabricado por uma empresa diferente da que fabrica a placa-mãe. ( ) Na segmentação de programa, a memória principal é dividida em páginas, relativamente grandes quando comparadas com os blocos de uma memória cache. ( ) A arquitetura Intel x86, que atualmente está presente na maioria dos microcomputadores, tem suas raízes no microcomputador 8086. Só foi possível manter esta compatibilidade devido à arquitetura RISC destes processadores. ( ) O ISA foi o primeiro padrão de barramento de 32 bits.