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/no - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 1 Nome: _____________________________________ Código: _____________________ Data: _____/_____/_____ Introdução a Arquitetura de Computadores Prof. Denivaldo Lopes Prova I 1. Forneça uma definição para (Pontos: 1,25): a. Arquitetura, Organização, Estrutura e Função de computadores. Resp: Arquitetura de computador refere-se aos atributos de um sistema visíveis a um programador ou, em outras palavras, aqueles atributos que possuem um impacto direto sobre a execução lógica de um programa. Organização de computador refere-se às unidades operacionais e suas interconexões que realizam as especificações arquiteturais. Estrutura é o modo como os componentes são inter-relacionados. Função é a operação individual de cada componente como parte da estrutura. b. Microprocessador e microcontrolador. Diferenciando-os. 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. c. Lei de Moore. Resp: A Lei de Moore indica que o número de transistores que poderia ser colocado em um único chip estava dobrando a cada ano. d. Classificação Geral de Computadores. Explique-os. 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/no - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 2 Resp: Os computadores podem ser classificados em: Computadores Analógicos: manipulam sinais elétricos do tipo contínuo. A programação geralmente se acha implementada na fiação dos circuitos. São utilizados principalmente para controle de processo e instrumentação. Computadores Digitais: manipulam sinais elétricos do tipo discreto. A programação é elaborada através do uso de uma linguagem de programação. Computadores Híbridos: reúnem características dos computadores analógicos e digitais. e. Memória quanto à tipologia, à volatilidade e ao acesso. Explique-os. Resp: Tipologia: -Principal: são memórias que o processador pode endereçar diretamente, sem as quais o computador não pode funcionar; - Secundária: são memórias que não podem ser endereçadas diretamente, a informação precisa ser carregada em memória principal antes de ser tratada pelo processador. Não são estritamente necessárias para a operação do computador. Volatilidade: - Volátil: a informação armazenada nessa memória é apenas temporária, quando o computador é desligado, os dados são perdidos. Ex: Memória RAM de um computador. - Não volátil: A informação armazenada nessa memória perdura mesmo após o desligamento do computador. Também é dita persistente. Ex: a memória ROM da BIOS de computadores, EPROM e CD-ROM. Acesso: - Seqüencial: caso um dado desejado esteja em uma posição específica, então há necessidade de passar pelas informações anteriores a procurada até atingir a posição desejada. Ex: fita de backup. - Randômico: caso um dado esteja em uma posição específica, o processador pode diretamente apontar para a posição sem haver necessidade de percorrer as localidades anterirores. Ex: memória DRAM. 2. Conceitue (Pontos: 1,25): a. Arquiteturas CISC e RISC, diferenciando-os; Resp: CISC (Complex Instruction Set Computing): suporta instruções complexas e que são executadas em vários ciclos do clock. Ex: Processadores da Pentium da Intel e Athlon da AMD. Universidade Federal do Maranhão – UFMA ˥ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/no - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 3 RISC (Reduced Instruction Set Computing): suporta instruções simples e que são executadas em um único ciclo do clock. Ex: Processadores Sparc da Sun e PowerPc da IBM. b. Máquina de Von Neumann e Harvard, diferenciando-os. 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. c. SMP e MPP, diferenciando-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. d. Estrutura de um computador. 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. Estrutura de uma CPU (processador). Resp: Unidade de controle: controla a operação da CPU e, portanto, do computador. 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. Universidade Federal do Maranhão – UFMA ˥ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/no - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 4 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,5) 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 50.000 1 Transferência de dados 30.000 2 Ponto flutuante S – 90.000 2 Transferência de controle 10.000 2 Onde: P = N x 25 S = N x 150.000 Determine o CPI efetivo, a taxa de MIPS e o tempo de execução para esse programa. N P S Arit. Int. Transf. Dados Ponto Flut. Transf. Cont. CPI MIPS T 1 25 150.000 50.000 30.000 60.000 10.000 1,67 15,00 1,00E-02 2 50 300.000 50.000 30.000 210.000 10.000 1,83 27,27 1,10E-02 3 75 450.000 50.000 30.000 360.000 10.000 1,89 39,71 1,13E-02 4 100 600.000 50.000 30.000 510.000 10.000 1,9252,17 1,15E-02 5 125 750.000 50.000 30.000 660.000 10.000 1,93 64,66 1,16E-02 Resp: Para N=1 ��� = ∑ ����� �� �� � �� Tipo de instrução Quantidade de instruções Ciclos de clock por instrução CPIi Aritmética de inteiros 50.000 1 50.000 Transferência de dados 30.000 2 60.000 Ponto flutuante 60.000 2 120.000 Transferência de controle 10.000 2 20.000 ������ �� � � � 250.000 Universidade Federal do Maranhão – UFMA ˥ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/no - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 5 ��� = 250.000150.000 = 1,67 � = �� ��� � � = 150.000 1,67 125 10� = 10�� �� � ��� = ��� 10� = 150.000 10 10!" 10� = 15 ��� 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) e B=B(1), B(2), ...,B(50), C= C(1), C(2), ..., C(50) sejam três vetores (arrays unidimensionais) compostos de 50 números em cada um, que são utilizados 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,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 SUB M(150) Faz Acumulador = A(I) – B(I) 4L ADD 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) Universidade Federal do Maranhão – UFMA ˥ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/no - Campus Universitário do Bacanga 65080-040 - São Luís - MA - Brasil 6 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,5) P = 5; Q = P + 2; S = 4; T = S + 3; U = Q – T; Boa sorte! Resp: Localização Instrução Código de Máquina Comentário 0 LOAD ACC, 5 50 ACC ← 5 1 ADD ACC, 2 21 ACC ← ACC + 2 2 MOVE 0, ACC 03 <0> ← ACC 3 LOAD ACC, 4 40 ACC ← 4 4 ADD ACC, 3 31 ACC ← ACC + 3 5 MOVE 1,ACC 13 <1> ← ACC 6 LOAD ACC, 0 00 ACC ← 0 7 ADDM ACC, <0> 06 ACC ← ACC + <0> 8 SUBM ACC, <1> 17 ACC ← ACC - <1> 9 HLT 04 Parada A B C D E F Universidade Federal do Maranhão – UFMA ˥ Centro de Ciências Exatas e Tecnologia - CCET Departamento de Engenharia de Eletricidade Av. dos Portugueses, s/no - 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/no - 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/no - 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