Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 1 Nome: _____________________________________ Código: _____________________ Data: _____/_____/_____ Introdução à Arquitetura de Computadores Prof. Denivaldo Lopes Prova de Reposição I 1.Responda as seguintes perguntas (Pontos: 2,0): a. O que é SMP e MPP? Diferencie-os. Resp: SMP (Symmetric MultiProcessing) permite a existência de várias CPUs em uma mesma motherboard, que compartilham a mesma memória (regiões da memória gerenciada pelo SO). Uma única cópia do Sistema Operacional gerencia todas as CPUs. MMP (Massively Parallel Processing or Massively Parallel Processor ) permite a existência de várias CPUs cada uma tendo sua própia memória. As CPUS se comunicam através de um sistema de comunicação extremamente veloz. Uma cópia do Sistema Operacional para cada CPU. b. O que é CISC e RISC? Estabeleça as diferenças entre eles. Resp: CISC (Complex Instruction Set Computing): suporta instruções complexas e as suas instruções possuem diferentes tempos de ciclo de instrução. Ex: Processadores da Pentium da Intel e Athlon da AMD. RISC (Reduced Instruction Set Computing): suporta instruções simples e as instruções possuem o mesmo tempo de ciclo de instrução, com exceção dos saltos e chamadas de subrotina. Ex: Processadores Sparc da Sun e PowerPc da IBM. c. O que é um computador com arquitetura Harvard e Von Neuman? Resp: Na máquina de Von Neumann há um só barramento para endereços e, outro para dados. Na máquina de Harvard, há barramentos de dados e de endereços diferenciados para memória e dispositivos de entrada/saída. NOTA: N = RESOLUÇÃO Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 2 d. Quais são os componentes estruturais principais de um computador? Explique-os. Resp: Unidade central de processamento (CPU): controla a operação do computador e realiza suas funções de processamento de dados. A CPU é o processador. Memória principal: armazena dados. E/S: move dados entre o computador e seu ambiente externo. Interconexão do sistema: algum mecanismo que oferece comunicação entre CPU, memória principal e E/S. e. Quais são as diferenças básicas entre Microprocessador e microcontrolador? Resp: Microprocessador é um sistema capaz de executar operações lógicas e aritméticas e fazer tomadas de decisão baseada em dados. Também pode ser visto como todos os componentes de uma CPU em um único chip. Entretanto, um microprocessador precisa de memória principal (RAM), dispositivos de entrada-saída, sistema de clock e conversores de sinais para que possa funcionar. Microcontrolador computa dados, mas com capacidade reduzida se comparada aos microprocessadores. Possui elevada capacidade de fazer entrada- saída. Deve ser pequeno, barato e auto-condido. Funciona em temperaturas extremas. Consome pouca energia se comparado ao microprocessador. Possui memória reduzida. 2. Discorra sobre a estrutura de alto nível de um computador. Em seguida, detalhe a estrutura da CPU e da Unidade de Controle (Pontos: 2,0) Resp: Unidade central de processamento (CPU): controla a operação do computador e realiza suas funções de processamento de dados. A CPU é o processador. Memória principal: armazena dados. E/S: move dados entre o computador e seu ambiente externo. Interconexão do sistema: algum mecanismo que oferece comunicação entre CPU, memória principal e E/S. A estrutura de uma CPU contém: Unidade de controle: controla a operação da CPU e, portanto, do computador. Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 3 Unidade aritmética e lógica (ALU): realiza as funções de processamento de dados do computador. Registradores: oferece armazenamento interno à CPU. Interconexão da CPU: algum mecanismo que oferece comunicação entre unidade de controle, ALU e registradores. A unidade de controle: Lógica de sequenciação: responsável por determinar a seqüência da execução da instrução. Registradores e decodificadores da unidade de controle: armazenam as instruções, decodificam-na para gerar os sinais de controle. Memória de controle: armazena as microoperações que geram os sinais de controle durante o ciclo de instrução. 3. Um programa de benchmark é executado em um processador de P MHz. O programa executado consiste de S execuções de instruções, com a mistura de instruções e quantidade de ciclos de clock apresentados na Tabela 1. Pontos (2,0) Tabela 1. Quantidades de instruções e ciclos de clock por instrução Tipo de instrução Quantidade de instruções Ciclos de clock por instrução Aritmética de inteiros 40.000 1 Transferência de dados 10.000 3 Ponto flutuante S – 60.000 3 Transferência de controle 10.000 2 Onde: P = N x 10 S = N x 100.000 Determine o CPI efetivo, a taxa de MIPS e o tempo de execução para esse programa. Resp: Para N=1 𝐶𝑃𝐼 = 𝐶𝑃𝐼𝑖 𝑥 𝐼𝑖 𝑛𝑖=1 𝐼𝑐 Tipo de instrução Quantidade de instruções Ciclos de clock por instrução CPIi Aritmética de inteiros 40.000 1 40.000 Transferência de dados 10.000 3 30.000 Ponto flutuante 40.000 3 120.000 Transferência de 10.000 2 20.000 Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 4 controle 𝐶𝑃𝐼𝑖 𝑥 𝐼𝑖 𝑛 𝑖=1 210.000 𝐶𝑃𝐼 = 210.000 100.000 = 2,10 𝑇 = 𝐼𝑐 𝑥 𝐶𝑃𝐼 𝑥 𝜏 𝑇 = 100.000 𝑥 2,10 𝑥 1 10 𝑥 106 = 21,00𝑚𝑠 𝑇𝑎𝑥𝑎 𝑀𝐼𝑃𝑆 = 𝐼𝑐 𝑇 𝑥 106 = 100.000 21 𝑥 10−3𝑥106 = 4,76 𝑀𝐼𝑃𝑆 N P S Arit. Int. Transf. Dados Ponto Flut. Transf. Cont. CPI MIPS T 1 10 100.000 40.000 10.000 40.000 10.000 2,10 4,76 2,10E-02 2 20 200.000 40.000 10.000 140.000 10.000 2,55 7,84 2,55E-02 3 30 300.000 40.000 10.000 240.000 10.000 2,70 11,11 2,70E-02 4 40 400.000 40.000 10.000 340.000 10.000 2,78 14,41 2,78E-02 5 50 500.000 40.000 10.000 440.000 10.000 2,82 17,73 2,82E-02 6 60 600.000 40.000 10.000 540.000 10.000 2,85 21,05 2,85E-02 7 70 700.000 40.000 10.000 640.000 10.000 2,87 24,38 2,87E-02 8 80 800.000 40.000 10.000 740.000 10.000 2,89 27,71 2,89E-02 9 90 900.000 40.000 10.000 840.000 10.000 2,90 31,03 2,90E-02 10 100 1.000.000 40.000 10.000 940.000 10.000 2,91 34,36 2,91E-02 4.A estrutura do computador IAS e seu conjunto de instruções são fornecidos na Figura 1 e na Tabela 2, respectivamente. Considere que A=A(1), A(2), ..., A(50), B=B(1), B(2), ...,B(50) e C=C(1), C(2), ...,C(50) sejam três vetores (arrays unidimensionais) compostos de50 números em cada um, que são usados para formar um array D tal que D(i)= A(i) + B(i) – C(i) para i=1,2,3,...,50. Usando o conjunto de instruções do IAS, escreva um programa para resolver esse problema. (Pontos: 2,0) Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 5 Localização Instrução Comentários 0 49 Contador N 1 1 Constante 2 50 Constante 3L LOAD M(100) Carrega A(I) no acumulador 3R ADD M(150) Faz Acumulador = A(I) + B(I) 4L SUB M(200) Faz Acumulador = Acumulador - C(I) 4R STOR M(250) D(I) = Acumulador 5L LOAD M(0) Carrega contador N 5R SUB M(1) Faz N – 1 (decrementa) 6L JUMP+ M(7, 0:19) Salta para 7L se N é não negativo 6R JUMP M(6, 20:39) Fica em um loop em 6R 7L STOR M(0) Atualiza N com valor de Acumulador 7R ADD M(1) Incrementa o acumulador 8L ADD M(2) Faz Acumulador + M(2) 8R STOR M(3, 8:19) Modifica endereço de 3L 9L ADD M(2) Faz acumulador + M(2) 9R STOR M(3, 28:39) Modifica endereço de 3R 10L ADD M(2) Faz acumulador + M(2) 10R STOR M(4, 8:19) Modifica endereço de 4L 11L ADD M(2) Faz acumulador + M(2) 11R STOR M(4, 28:39) Modifica endereço de 4R 12L JUMP M(3, 0:19) Salta para 3L 5. O processador da Figura 2 possui um conjunto básico de código em linguagem assembly, linguagem de máquina e micro-código dado na Tabela 3. Escreva um programa em assembly, depois forneça o código de máquina, que execute as seguintes operações de alto nível : (Pontos: 2,0) S = 2; K = S -1; T = S + 3; U = 8; P = U - T; W = P - K; Boa sorte! Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 6 Resp: Localização Instrução Código de Máquina Comentário 0 LOAD ACC, 2 20 ACC ← 2 1 MOVE <0>, ACC 03 <0> ← ACC # salva S 2 SUB ACC, 1 12 ACC ← ACC - 1 3 MOVE <1>, ACC 13 <1> ← ACC # salva K 4 LOAD ACC,0 00 ACC ← 0 5 ADDM ACC, <0> 06 ACC ← 0 + <0> # carrega S 6 ADD ACC, 3 31 ACC ← ACC + 3 7 MOVE <2>, ACC 23 <2> ← ACC # salva T 8 LOAD ACC, 8 80 ACC ← 8 9 MOVE <3>,ACC 33 <3> ← ACC # salva U A SUBM ACC, <2> 27 ACC ← ACC - <2> B MOVE <4>, ACC 43 <4> ← ACC # salva P C SUBM ACC, <1> 17 ACC ← ACC - <1> D MOVE <5>, ACC 53 <5> ← ACC # salva W E HLT 04 Parada F Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 7 Figura 1. Organização do IAS Tabela 2. Conjunto de instruções do IAS Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 8 Universidade Federal do Maranhão – UFMA ˧ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/n o - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 9 CP (Contador de Programa) MP (Memória de Programa) MC (Memória de Controle) AC (Acumulador) MUX ULA (Unidade Lógica e Aritmética) RAM 4 4 4 4 4 4 4 4 4 Clock 4 STACK M U X 4 4 Figura 2. Processador simples Tabela 3. Conjunto de instruções para o processador simples da Figura 2. Código Assembly Código de Máquina Micro-código Comentário LOAD ACC, <const> <const> 0 EE 91 ACC ← <const> ADD ACC, <const> <const> 1 EE 41 ACC ← ACC + <const> SUB ACC, <const> <const> 2 ED A1 ACC ← ACC - <const> MOVE <address>, ACC <address> 3 44 01 <address> ← ACC HLT 04 5E 35 Parada ADDM ACC, <address> <address> 6 2E 49 ACC ← ACC + <address> SUBM ACC, <address> <address> 7 E4 00 ACC ← ACC - <address>
Compartilhar