INSTITUTO SUPERIOR TÉCNICO

Documentos relacionados
Arquitectura de Computadores

Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste - Repescagem - 27/06/2012

Arquitectura de Computadores

Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste (A) - 11/04/2012

Arquitectura de Computadores 2007/2008 2º Semestre 1º Teste (A) - 30/04/2008. Folha de Respostas

Introdução à Arquitetura de Computadores

Arquitectura de Computadores 2006/2007 2º Semestre Repescagem 1º Teste - 11/07/2007. Folha de Respostas

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores

Conjunto de Instruções (ISA) II

Introdução à Arquitetura de Computadores

Arquitectura de Computadores 3º TESTE

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 1º Teste - 03/07/2008

Arquitectura de Computadores

Prova de Arquitectura de Computadores (21010) Data: 23 de Junho de 2009

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom)

Introdução à Arquitetura de Computadores. Coletânea de Problemas. Outubro 2014

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009

Introdução à Arquitetura de Computadores. Coletânea de Problemas. Janeiro 2014

Arquitectura de Computadores

Arquitectura de Computadores

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009

Arquitectura de Computadores

Conjunto de Instruções (ISA) I

Prova de Arquitectura de Computadores (21010) Data: 18 de Junho de 2010

p-fólio Arquitectura de Computadores U.C de julho de 2018 INSTRUÇÕES

MICROPROCESSADORES 3º TESTE

Introdução à Arquitetura de Computadores

Arquitetura de Um Processador I

Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010

ORGANIZAÇÃO DE COMPUTADORES

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (B) - 15/06/2007. Folha de Respostas

Grupo I (5 valores) CD AB

INSTITUTO SUPERIOR TÉCNICO

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom)

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007. Folha de Respostas

Arquitectura de Computadores

Arquitectura de Computadores 2007/2008 2º Semestre 2º Teste (A) - 16/06/2008

Aula 14 Funcionamento de Processadores (Visão específica)

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 2º Teste - 03/07/2008

Arquitectura de Computadores (ACom)

ARQUITECTURA DE COMPUTADORES 2º TESTE - RECUPERAÇÃO

Introdução à Arquitetura de Computadores

Arquitectura de Computadores

MICROPROCESSADORES 2º TESTE - A

SISTEMAS DIGITAIS MEFT / MEAer de Abril de 2013, 19:00

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos

ANEXO de Arquitectura de Computadores Informação sobre o Processador P3 Abril 2005

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

ARQUITECTURA DE COMPUTADORES 2º TESTE A

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

Arquitectura de Computadores. Dicas e Truques do Assembly do P3

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC)

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

2. Relativamente ao datapath de ciclo único do MIPS podemos dizer que:

SISTEMAS DIGITAIS MEEC / LEIC-A de Novembro de 2012, 19:30

ORGANIZAÇÃO DE COMPUTADORES

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015

ARQUITECTURA DE COMPUTADORES

Introdução à programação em linguagem assembly

Guia de Laboratório 2013 / 2014

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

1. Considere um processador super-pipelined com 4 estágios (IF,ID,EX,WB), a operar à frequência de 1GHz, e com as seguintes caracteristicas:

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Arquitetura de Um Processador III

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

SISTEMAS DIGITAIS MEEC de Fevereiro de 2018, 11:30

Arquitectura de Computadores. Guia de Laboratório 2010 / 2011

Fundamentos de Microprocessadores ENGENHARIA ELECTROTÉCNICA

Arquitectura de Computadores

SISTEMAS DIGITAIS MEEC / LEIC-A de Novembro de 2012, 19:30

LEIC/LERC 2008/09. Repescagem do Primeiro Teste de Sistemas Operativos

Fundamentos de Microprocessadores ENGENHARIA ELECTROTÉCNICA

SISTEMAS DIGITAIS MEEC de Janeiro de 2016, 11:30

Organização de Memórias

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-Taguspark 1.º Semestre 2014/2015 Duração: 60 minutos 16 dezembro 2014

ANEXO ao Exame de Arquitectura de Computadores Informação sobre o Processador P3

Arquitectura de Computadores

Programação ao nível da máquina. Operações lógicas e aritméticas

Manual do Simulador do Processador P3

Frequência Introdução à Programação IGE e ETI 2004/2/10 1º semestre de 2003/2004 ISCTE

Exame de 2ª Época - 8 de Fevereiro de Antes de começar o exame leia atentamente esta folha de rosto

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Antes de começar o exame leia atentamente esta folha de rosto

SISTEMAS DIGITAIS MEFT/MEAer de Maio de 2017, 19:00

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

FCA - Editora de Informática xv

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Antes de começar o exame leia atentamente esta folha de rosto

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

EXERCÍCIOS RESOLVIDOS

Acetatos de apoio às aulas teóricas

Transcrição:

INSTITUTO SUPERIOR TÉCNICO Arquitectura de Computadores 2 o Semestre (2010/2011) LEIC-A, MEIC-A Departamento de Engenharia Informática 1 o Teste (A) - 7 de Abril de 2011 Duração: 1h30 + 0h30 Regras: O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue com o teste. Por favor, não escreva nesse anexo e devolva-o no final do teste. Resolva o teste no próprio enunciado. O espaço reservado para cada pergunta é suficiente para a sua resposta. Tenha em atenção que cada grupo deve ficar em folhas separadas. Utilize as costas das folhas para rascunho. Identifique todas as folhas que entregar. Folhas não identificadas não serão cotadas! Responda ao teste com calma. Se não sabe responder a uma pergunta, passe à seguinte e volte a ela no fim. I. Considere os seguintes valores para os registos do processador P3: R1 R2 R3 R4 R5 R6 R7 PC SP RE 0010h EFD9h 0037h 1AFCh A1FFh 0001h EC3Fh 0093h FB5Ah 000Ch Para as perguntas a), b) e c), indique quais são os novos valores, em hexadecimal, de todos (e apenas) os registos que são escritos na execução de cada instrução. Use? para indicar que não tem informação suficiente para determinar o novo valor de um registo. As perguntas são independentes, isto é, assuma como valores iniciais para cada pergunta os indicados na tabela acima. 1 Val. (a) COM R4 R1 R2 R3 R4 R5 R6 R7 PC SP RE 1 Val. (b) DIV M[R5], R1 R1 R2 R3 R4 R5 R6 R7 PC SP RE 1 Val. (c) RTI R1 R2 R3 R4 R5 R6 R7 PC SP RE 2 Vals. (d) Para o ciclo completo de execução da instrução RORC M[R2+20h],4 indique na tabela seguinte a sequência de acessos à memória, especificando o endereço, dados e tipo de acesso (Leitura/Escrita). Nota 1: A tabela tem 5 posições, utilize apenas as que considerar necessárias. Nota 2: Utilize os valores iniciais dos registos indicados na tabela no cimo desta página. Nota 3: Use? para indicar que não tem informação suficiente para determinar um dado valor. 1 2 3 4 5 Endereço Dados Leitura/Escrita Número: Nome: Teste A - Pág. 1 de 8

(Página propositadamente em branco, para rascunho) Número: Nome: Teste A - Pág. 2 de 8

II. Considere o programa que se segue, o qual está incompleto. ORIG 8000h NUM_DADOS WORD 16 DADOS_IN STR 2, 7, -2, 0, -5, 4, 1, -1, 21, 8, 11, -3, 7, -2, 10, 5 DADOS_OUT TAB 16 SOMA TAB 1 RESULT TAB 1 ORIG 0000h... 1 MOV M[SOMA], R0 2 MOV R1, 3 MOV R2, 4 MOV R3, 5 CICLO: MOV R4, M[R2] 6 CMP R4, R0 7 8 NEG R4 9 SKIP: ADD M[SOMA], R4 10 MOV M[R3], R4 11 INC R2 12 13 14 BR.NZ CICLO 15 MOV R4, M[SOMA] 16 17 MOV M[RESULT], R4 18 STOP: BR STOP 1 / 2 Val. (a) Complete as linhas 2, 3 e 4 do programa tendo em conta que: R1 contém o número de dados a tratar (NUM DADOS); R2 será usado como apontador para o vector DADOS IN; R3 será usado como apontador para o vector DADOS OUT. 1 / 2 Val. (b) Preencha a linha 7 do programa considerando que se pretende saltar para a etiqueta SKIP caso o valor de R4 seja maior ou igual a 0. 1 Val. (c) Indique que instruções deverão estar presentes nas linhas 12 e 13 do programa para cumprir a funcionalidade desejada. 1 Val. (d) Considerando o conteúdo de DADOS IN indique qual o conteúdo das primeiras 5 posições de DADOS OUT quando o programa termina. DADOS OUT[0] DADOS OUT[1] DADOS OUT[2] DADOS OUT[3] DADOS OUT[4] 1 Val. (e) Indique qual o conteúdo da variável SOMA quando o programa termina. SOMA= 1 / 2 Val. (f) Pretende-se que a variável RESULT contenha a média dos valores de DADOS OUT. Preencha a linha 16 do programa para conseguir esse objectivo. Número: Nome: Teste A - Pág. 3 de 8

(Página propositadamente em branco, para rascunho) Número: Nome: Teste A - Pág. 4 de 8

III. Considere o seguinte excerto de um programa para o processador P3. BASETIME EQU 0300 TIMER_UNITS EQU FFF6h TIMER_CTRL EQU FFF7h LEDS_CTRL EQU FFF8h MASK_ADDR EQU FFFAh SP_INIT EQU FFD0h Var1 ORIG 8000h WORD 0000h ORIG 0000h JMP Main... Timer: MOV R1, BASETIME MOV M[TIMER_UNITS], R1 MOV R1, 1h MOV M[TIMER_CTRL], R1 CALL PiscaLed RTI TrataI0: MOV R1, 0001h XOR M[TIMER_CTRL], R1 RTI Main: MOV R1, SP_INIT MOV SP, R1 CALL InitInts CALL Timer ENI... Halt: BR Halt ; Interrupts Initialization ; Timer Initialization 1 1 / 2 Vals. (a) Considere que a rotina InitInts efectua a activação das interrupções 0 e 15. Desenvolva a respectiva rotina em código assembly, comentando as respectivas instruções. Efectue também as alterações necessárias ao código por forma a adicionar as rotinas de interrupção à tabela de vectores de interrupção. Número: Nome: Teste A - Pág. 5 de 8

1 1 / 2 Vals. (b) A inicialização do temporizador é feita de modo incorrecto. Justifique a afirmação e indique eventuais consequências deste procedimento. Apresente uma pequena rotina de inicialização e as respectivas correcções na rotina Main. 1 Val. (c) Indique, justificando, qual a funcionalidade da rotina TrataI0. 1 1 / 2 Vals. (d) Considere a rotina PiscaLed. Desenvolva em código Assembly a rotina que permita fazer piscar o LED menos significativo da placa de IO do processador P3. Sugestão: pode utilizar a variável Var1 para auxiliar o desenvolvimento desta rotina. Número: Nome: Teste A - Pág. 6 de 8

IV. 1 1 / 2 Vals. (a) Considere o seguinte troço de código em Assembly do P3: TABLEDIM EQU 0020 ORIG 01A0h ProcData: SHRA M[R3+TABLEDIM], 12 CALL.C ProcData... Traduza estas instruções Assembly para o código objecto correspondente, indicando o endereço de memória e o respectivo conteúdo em hexadecimal. Endereço Conteúdo Nota 1: Tenha em atenção a base de representação das constantes. Nota 2: Preencha apenas as linhas da tabela que considerar necessárias. 1 Val. (b) Numa futura evolução do processador P3 foi considerada a hipótese de extender o banco de registos para 32 registos (em vez dos actuais 16 registos), mantendo-se a codificação das instruções com palavras de 16 bits. Enumere um exemplo concreto que ilustre bem uma vantagem desta opção e outro exemplo que demonstre uma desvantagem desta decisão. Número: Nome: Teste A - Pág. 7 de 8

1 / 2 Val. (c) Qual dos programas em Assembly corresponde à melhor compilação de cada um dos seguintes troços de programa em C. Considere que não ocorre overflow nas operações e que o tipo de dados short int é representado com 16-bits. i. #define N 3 short int a, b, c, m; m=(a+b+c)*n A: B: C: D: E: MOV R1, M[a] ADD R1, M[b] ADD R1, M[c] MUL R1, 3 MOV M[m], R1 MOV M[m], M[a] ADD M[m], M[b] ADD M[m], M[c] MUL M[m], 3 MOV R1, M[a] ADD R1, M[b] ADD R1, M[c] MOV M[m], R1 ADD R1, R1 ADD M[m], R1 ADD R1, M[a] ADD R1, M[b] ADD R1, M[c] MOV M[m], R1 ADD R1, R1 ADD M[m], R1 Nenhuma das anteriores 1 / 2 Val. ii. #define N 20 register short int s, i; short int a[n]; s=0; for (i=0; i<n; i++) s=s+a[i]; A: B: C: D: E: MOV M[s], R0 MOV R1, R0 E1:CMP R1, 20 BR.Z E2 ADD M[s], M[R1+a] INC R1 BR E1 E2: MOV R1, R0 MOV R2, R0 E1:CMP R2, 20 BR.NN E2 ADD R1, M[R2+a] INC R2 BR E1 E2: MOV R1, R0 MOV R2, R0 E1:CMP R2, 20 BR.P E2 ADD R2, M[R1+a] INC R2 BR E1 E2: MOV s, R0 MOV i, R0 E1:CMP i, 20 BR.NN E2 ADD s, a[i] INC i BR E1 E2: Nenhuma das anteriores 1 1 / 2 Vals. (d) Indique se as seguintes afirmações são verdadeiras ou falsas. Tenha em atenção que: Cada pergunta certa vale +0,5 valores; Cada pergunta errada vale -0,25 valores; A cotação mínima da pergunta é 0. i. No processador P3, a activação da flag C na sequência de uma operação aritmética indica que o respectivo resultado ultrapassou a gama de representação permitida. Verdadeiro Falso ii. Logo após a invocação de uma rotina, a posição de memória M[SP] armazena o endereço de retorno para onde o programa deve retornar após a execução da instrução RET. Verdadeiro Falso iii. Se o registo R7 tiver o valor 8000h, então a instrução XOR R1,R7 é equivalente à instrução NEG R1. Verdadeiro Falso Número: Nome: Teste A - Pág. 8 de 8