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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Arquitectura de Computadores Guia de Laboratório 2010 / 2011 INSTITUTO SUPERIOR TÉCNICO

2 Arquitectura de Computadores Guia de Laboratório 2010/ Plano das aulas 1ª Aula: 1º Trabalho Introdução ao ambiente de laboratório. Introdução à linguagem de programação Assembly: instruções de transferência de dados e modos de endereçamento. Métodos de teste e de correcção de programas. 2ª Aula: 2º Trabalho Instruções aritméticas, lógicas e de salto. Concepção, teste e correcção de pequenos programas. 3ª Aula: 3º Trabalho Noção de rotinas em Assembly e de métodos de passagem de parâmetros. 4ª Aula: 4º Trabalho Interacção com dispositivos de entrada e saída. Análise do sistema de interrupções do processador P3. 5ª Aula: Resolução de Exercícios 6ª Aula: 1ª parte do Projecto Avaliar a capacidade dos alunos de conceber, desenvolver e testar um programa em linguagem Assembly, utilizando os conceitos adquiridos nas aulas anteriores. 7ª Aula: 5º Trabalho Introdução à micro-programação. Análise de uma instrução Assembly em termos de micro-programação. Modificação do funcionamento de uma instrução Assembly. 8ª Aula: 6º Trabalho Implementação de uma nova instrução Assembly. 9ª Aula: 2ª parte do Projecto Avaliar a capacidade dos alunos de conceber e desenvolver um micro-programa de uma nova instrução Assembly, utilizando os conceitos adquiridos nas aulas anteriores. Avaliar ainda a capacidade de desenvolvimento de um programa complexo em linguagem Assembly fazendo uso dessa nova instrução. 10ª Aula: 2ª parte do Projecto Segunda parte do projecto (conclusão). 11ª Aula: Resolução de Exercícios 12ª Aula: Discussões

3 Arquitectura de Computadores Guia de Laboratório 2010/ º Trabalho Objectivos Introdução ao ambiente de laboratório. Introdução à linguagem de programação Assembly: instruções de transferência de dados e modos de endereçamento. Familiarização com os métodos de teste e de correcção de programas. Tópicos 1. Funcionamento do laboratório 1.1 Entrega da ficha do trabalho Os alunos deverão ser portadores da ficha do trabalho em papel, devidamente preparada, para que a possam entregar no fim da aula de laboratório. Notar que muitas questões podem (e devem) ser preparadas antecipadamente. Quando houver lugar à entrega de listagens de programas, estas devem vir também já impressas, podendo ser corrigidas ou modificadas manualmente no laboratório. 1.2 Estrutura de directorias e salvaguarda do trabalho realizado Os alunos irão usar espaço temporário nos discos dos computadores do laboratório. Devem, por isso, ter o cuidado de copiar todo o trabalho que efectuarem para as suas áreas pessoais. O corpo docente não se responsabiliza por trabalhos que tenham sido exclusivamente armazenados no PC do laboratório. 2. Introdução ao ambiente de laboratório 2.1 Ferramentas utilizadas para a programação em Assembly - Editor de texto: qualquer um dos existentes - Assembler: p3as 2.2 Ferramenta utilizada para o teste e execução de programas - Simulador: p3sim 3. Introdução à linguagem de programação Assembly 3.1 Estrutura de um programa 3.2 Directivas Assembly 3.3 Instruções de transferência de dados Transferências: - registo registo - registo memória - memória registo - memória memória Exemplificação dos modos de endereçamento 4. Familiarização com os métodos de teste e correcção de programas Utilização dos comandos: Janela Texto, Correr, Instrução, Escreve Registo e Escreve Memória. Nota: No final da aula deverá ser entregue a Ficha 1 devidamente preenchida.

4 Arquitectura de Computadores Guia de Laboratório 2010/ Enunciado 1. Começar uma sessão Entre em sessão no PC, podendo optar por qualquer um dos sistemas operativos disponíveis (Microsoft Windows ou Linux). Crie uma pasta temporária para o seu grupo e copie, para essa mesma pasta, os ficheiros aula1_1.as e aula1_2.as que estão disponíveis na página da cadeira e se encontram listados no Anexo I. 2. Introdução ao ambiente de laboratório Utilizando o ficheiro aula1_1.as execute as seguintes funções: 2.1 Proceda à assemblagem do programa, gerando assim o ficheiro executável (aula1_1.exe) e o ficheiro de referências (aula1_1.lis). Para isso proceda como se indica em seguida: > p3as aula1_1.as <enter> obtendo: p3as, Version 1.3, last modified Mar Assembling completed with success, object file: aula1_1.exe References file: aula1_1.lis Examine o ficheiro aula1_1.lis. Anote o valor dos endereços correspondentes às etiquetas VarTexto1, Dummy, LeCar, Inicio e Halt. Com base nestes valores, desenhe o mapa de memória deste programa (zonas da memória ocupadas pelo código e pelos dados; a título de exemplo, na ficha já se encontra indicada a zona ocupada pelos dados; recorda-se que o código tem início no endereço 0). Nota: Para visualizar a zona de código no simulador usar o menu Definições escolher Zona de Memória e indicar o valor Edite o ficheiro aula1_1.as e insira ORIG 0064h imediatamente antes da seguinte linha do programa Inicio: MOV R7, SP_INICIAL Repita o procedimento do ponto anterior (2.1), anotando os novos valores das etiquetas Inicio e Halt, e desenhe novamente o mapa de memória do programa modificado. 2.3 Utilize o simulador p3sim para testar e executar o programa. Para isso, evoque o simulador da seguinte forma: > p3sim <enter> Identifique a informação contida nas várias janelas, bem como os diversos comandos disponíveis. Seguidamente, efectue o carregamento do programa executável aula1_1.exe, através da execução da opção Carrega Programa, existente no menu Ficheiro. Verifique a alteração do conteúdo da janela de código. Analise o código desassemblado (que encontra na janela de código) e compare-o com o do programa fonte (ficheiro aula1_1.as ).

5 Arquitectura de Computadores Guia de Laboratório 2010/ Antes de iniciar a execução do programa, abra a janela de Entradas/Saídas. Para tal, seleccione a opção Janela Texto, existente no menu Ver. Seguidamente, execute o programa, seleccionando o botão Corre. 3. Introdução à linguagem de programação Assembly Utilizando o ficheiro aula1_2.as execute as seguintes funções: 3.1 No troço de programa que se encontra representado na Ficha 1 identifique: a) As zonas de definição de constantes, de dados e de código; b) Início e o fim do programa principal; c) As pseudo-instruções existentes. Descreva as suas funções. 3.2 Sem recorrer ao simulador, preencha a Tabela 1 (registos R0 a R3) da referida ficha. 3.3 Proceda à geração do ficheiro executável e ao seu carregamento no simulador, utilizando os procedimentos descritos nas Secções 2.1 e 2.2. Execute o programa instrução a instrução, seleccionando o botão Instrução. Identifique os modos de endereçamento presentes em cada instrução e preencha a Tabela 2 da Ficha 1. Justifique a diferença de comportamento do registo R Indique que valor se encontra na posição de memória 8003h e justifique que valor é esse. 3.5 Através da utilização do comando Escreve Registo, do menu Depuração, inicialize os registos R1 a R7 com o valor FFFFh. Utilizando o comando Escreve Memória, do mesmo menu, inicialize as posições de memória correspondentes às variáveis VarUmByte e VarOutroByte, também com o valor FFFFh. Repita a execução do programa utilizando o comando Reinicia seguido de Corre. Compare a informação dos registos com a informação que registou na Tabela 1 e registe as alterações verificadas na Tabela Introduza no referido programa um conjunto de instruções de transferência de dados que permitam realizar as operações que se descrevem nas alíneas seguintes. a) Utilizando o modo de endereçamento directo, copiar o conteúdo do registo R4 para a posição de memória VarOutroByte. b) Utilizando o modo de endereçamento indirecto por registo, copiar o conteúdo do registo R6 para a posição de memória VarUmaWord. c) Copiar o conteúdo da posição de memória VarOutroByte para a posição de memória VarUmByte.

6 Arquitectura de Computadores Guia de Laboratório 2010/ Ficha 1 - Respostas às questões do 1º Trabalho Grupo: Turno: Nº Nome: Nº Nome: Nº Nome: Questões: 2. Introdução ao ambiente de laboratório 2.1 Endereços das etiquetas: VarTexto1 = Dummy = LeCar = Inicio = Halt = Mapa de memória: FFFFh Dados 80DFh (Dummy) 8000h (VarTexto1) 0000h 2.2 Novos endereços das etiquetas: Inicio = Halt = Mapa de memória: FFFFh 0000h

7 Arquitectura de Computadores Guia de Laboratório 2010/ Introdução à linguagem de programação Assembly 3.1 a) e b) Identifique a zona de definição de constantes, de dados (variáveis) e de código. Identifique o início e o fim do programa. ; Programa aula1_2.as LetraA EQU 'A' ; caracter ASCII ConstUmByte EQU 0fh ; hexadecimal ConstUmaWord EQU ; decimal ORIG 8000h VarUmByte WORD 12h VarOutroByte WORD 0fh VarUmaWord WORD 1234h VarUmaString STR 'Arquitectura de Computadores' ORIG 0000h Inicio: MOV R0, LetraA MOV R1, ConstUmByte MOV R2, ConstUmaWord MOV R3, R2 MOV R4, M[R1+VarOutroByte] MOV R5, M[VarOutroByte] MOV R6, M[SP] MOV R7, M[PC+ConstUmByte] ; Aqui devera' colocar o seu codigo Halt: BR Halt 3.1 c) Identifique as pseudo-instruções e descreva a função de cada uma. 3.2 Por análise do programa preencha a Tabela 1 (registos R0 a R3). Tabela 1 - Conteúdo dos registos depois da execução do programa "aula1_2.exe" R0 R1 R2 R3 R4 R5 R6 R

8 Arquitectura de Computadores Guia de Laboratório 2010/ Preencha a Tabela 2. Tabela 2 - Identificação dos modos de endereçamento Instrução MOV R0, LetraA Modo de endereçamento MOV R1, ConstUmByte MOV R2, ConstUmaWord MOV R3, R2 MOV R4, M[R1+VarOutroByte] MOV R5, M[VarOutroByte] MOV R6, M[SP] MOV R7, M[PC+ConstUmByte] Comente o comportamento do registo R0: 3.4 Valor de M[8003h] = Explique a que corresponde esse valor: 3.5 Proceda como indicado no enunciado e preencha a Tabela 3. Tabela 3 - Conteúdo dos registos depois da execução do programa "aula1_2.exe" R0 R1 R2 R3 R4 R5 R6 R7 3.6 Indique instruções que satisfaçam ao requerido no enunciado. a) b) c)

9 Arquitectura de Computadores Guia de Laboratório 2010/ º Trabalho Objectivos Instruções aritméticas, lógicas e de salto. Concepção, teste e correcção de pequenos programas. Tópicos 1. Instruções aritméticas, lógicas e de salto 2. Programação Assembly 2.1 Análise de um programa 2.2 Construção de pequenos programas a partir de uma especificação simples 3. Familiarização com os métodos de teste e de correcção de programas Utilização dos comandos: Pontos de Paragem e Continua Nota: No final da aula deverá ser entregue a Ficha 2 devidamente preenchida. Enunciado 1. Instruções de salto. Análise de um programa Copie para uma pasta temporária o ficheiro aula2.as que está disponível na página da cadeira e se encontra listado no Anexo I. 1.1 Por inspecção do referido ficheiro, identifique: a) e b) As instruções de salto incondicional e de salto condicional. Para cada instrução identificada indique em que condições é que o salto ocorre e para onde. c) A função realizada pelo programa desde o início até à etiqueta Meio. d) A função realizada pelo programa desde a etiqueta Meio até Fim. 1.2 Com recurso ao simulador p3sim execute o programa até à etiqueta Meio. Para tal, proceda como a seguir se indica: - Comece por localizar, na janela de código, a linha correspondente a essa etiqueta (Meio), recorrendo à informação existente no ficheiro de referências (aula2.lis). - Introduza um ponto de paragem nessa linha. Para tal, seleccione a linha, seleccione o comando Pontos de Paragem, existente no menu Depuração, e seleccione os botões Adiciona e Fecha. Seguidamente, execute o programa, seleccionando o botão Corre. Confirme a função identificada em 1.1.b), por análise do conteúdo da janela de memória. 1.3 Finalize a execução do programa, seleccionado o botão Continua até ser atingida a etiqueta Fim. Confirme a função identificada em 1.1.c), por análise do conteúdo da janela de memória.

10 Arquitectura de Computadores Guia de Laboratório 2010/ Na janela onde se encontra o conteúdo da memória localize a zona de memória onde está codificada a instrução BR Fim. Troque a instrução BR Fim pela instrução JMP Fim. Verifique novamente a codificação da instrução de salto. Justifique as alterações observadas. 2. Instruções aritméticas e lógicas. Concepção de programas 2.1 Utilizando a linguagem Assembly do simulador P3, conceba um programa para realizar cada uma das funções que a seguir se descrevem. a) Soma de dois números positivos de 32 bits. Os números a somar deverão estar em memória. Como cada posição de memória só contém 16 bits, cada número ocupará duas posições de memória. Assuma que o primeiro número começa na posição de memória com endereço Num1 e o segundo em Num2, devendo o resultado ser armazenado em duas posições de memória a partir do endereço Soma. Preencha os valores iniciais das posições de memória dos operandos através do comando Escreve Memória. NOTAS IMPORTANTES: - A palavra mais significativa de cada número ocupa a posição de memória de endereço mais elevado. - A operação de adição efectua-se através de registos, de acordo com o seguinte esquema: (R1,R2) (R1,R2) + (R3,R4) (R1 e R3 contêm as palavras mais significativas dos números) b) Descompactação da informação existente numa zona de memória. Cada nibble (conjunto de 4 bits) de uma palavra será colocado numa posição de memória separada. NOTAS IMPORTANTES: - Existe uma posição de memória com o número de palavras a descompactar; - Tem que ser reservado espaço em memória onde fiquem colocados os dados da descompactação. Exemplo: DadosIniciais STR 1234h, 5678h NumDados WORD 2 DadosFinais TAB 8 Em memória, com início na posição DadosIniciais, fica: Após descompactação, a memória a partir da posição DadosFinais, fica:

11 Arquitectura de Computadores Guia de Laboratório 2010/ Ficha 2 - Respostas às questões do 2º Trabalho Grupo: Turno: Nº Nome: Nº Nome: Nº Nome: Questões: 1. Instruções de salto. Análise de um programa 1.1 Analise o programa aula2.as e identifique: a) Instruções de salto incondicional (indique quando salta e para onde) b) Instruções de salto condicional (indique quando salta e para onde) c) Função do programa até à etiqueta Meio. d) Função do programa da etiqueta Meio até Fim. 1.4 Substituir BR Fim por JMP Fim. Indique o conteúdo da memória relativo à codificação das instruções e justifique as alterações.

12 Arquitectura de Computadores Guia de Laboratório 2010/ Instruções aritméticas e lógicas. Concepção de programas 2.1 a) Soma de dois números positivos de 32 bits. Listagem do programa desenvolvido (ou anexe folha): b) Descompactação de palavras de 16 bits. Listagem do programa desenvolvido (ou anexe folha):

13 Arquitectura de Computadores Guia de Laboratório 2010/ º Trabalho Objectivos Noção de rotinas em Assembly e de métodos de passagem de parâmetros. Tópicos 1. Rotinas e métodos de passagem de parâmetros. Instruções de manipulação da pilha. 1.1 Instruções Assembly associadas à utilização de rotinas 1.2 Instruções de manipulação da pilha. 1.3 Métodos de passagem de parâmetros. 2. Concepção de programas com rotinas que permitam aplicar os conceitos anteriores. Nota: No final da aula deverá ser entregue a Ficha 3 devidamente preenchida. Enunciado 1. Análise e alteração de um programa que usa rotinas. 1.1 Analise o programa aula3.as e identifique as rotinas existentes, as suas funcionalidades e os métodos de passagem de parâmetros utilizados. 1.2 Introduza um ponto de paragem no início da rotina EscString, utilizando o procedimento descrito na alínea 1.2 do trabalho anterior. Execute o programa até ao ponto de paragem e, a partir daí, execute a rotina EscString instrução a instrução, incluindo a rotina EscCar e respectivo retorno (RETN). Analise a evolução da pilha. 1.3 Analise o programa e identifique o método de passagem de parâmetros da rotina CountBits. 1.4 Abra a Janela de Texto do simulador e execute o programa. Verifique que o número de bits a 1 da palavra processada está correcto (número introduzido premindo uma tecla entre 0 e 9). 1.5 Modifique o programa de modo a que a passagem de parâmetros da rotina CountBits seja feita pela pilha. 1.6 Tomando como ponto de partida o programa da alínea anterior reescreva a rotina CountBits de modo a que o cálculo do número de bits a 1 seja efectuado de forma recursiva (a rotina chama-se a si própria). 1.7 Modifique o programa (versão recursiva) para passar a contar o número de bits a 0. Modifique também a rotina EscNum de modo a escrever números com dois dígitos.

14 Arquitectura de Computadores Guia de Laboratório 2010/ Ficha 3 - Respostas às questões do 3º Trabalho Grupo: Turno: Nº Nome: Nº Nome: Nº Nome: Questões: 1. Análise e alteração de um programa que usa rotinas. 1.3 Indique o método de passagem de parâmetros (entrada e saída) da rotina CountBits. 1.5 Modifique o programa de modo a que a passagem de parâmetros da rotina CountBits seja feita pela pilha. Apresente o código relativo à rotina e à sua chamada (ou anexe folha).

15 Arquitectura de Computadores Guia de Laboratório 2010/ Reescreva a rotina CountBits de modo a que o cálculo do número de bits a 1 seja feito de forma recursiva (a passagem de parâmetros deve ser feita pela pilha). Apresente o código da nova rotina (ou anexe folha). 1.7 Modifique o programa para passar a contar o número de bits a 0. Modifique também a rotina EscNum de modo a escrever números com dois dígitos. Indique apenas as linhas modificadas e o código novo acrescentado (ou anexe listagem com o novo programa, com as alterações identificadas).

16 Arquitectura de Computadores Guia de Laboratório 2010/ º Trabalho Objectivos Interacção com os restantes dispositivos de entrada e saída. Aprofundamento do sistema de interrupções do processador P3. Tópicos 1. Interrupções 1.1 Interrupções na arquitectura P3 1.2 Instruções Assembly associadas às interrupções Nota: No final da aula deverá ser entregue a Ficha 4 devidamente preenchida. Enunciado 1. Interrupções 1.1 Copie para a directoria do grupo o ficheiro aula4.as que se encontra listado no Anexo I. 1.2 Analise o programa e identifique: a) O programa principal e a rotina de serviço à interrupção; b) A zona do programa que preenche a tabela de vectores de interrupção; c) A função da rotina de serviço à interrupção. 1.3 Analise a rotina EscCar e estude o seu funcionamento. Indique o papel desempenhado pelo registo R1. Notar que esta rotina deve ser vista como uma curiosidade e não deve ser considerada um exemplo de programação a seguir. 1.4 Execute o programa e confirme a sua funcionalidade. 1.5 Justifique a existência das instruções ENI e DSI na rotina EscCont. 1.6 Altere o conteúdo da tabela de vectores de interrupção correspondente ao botão 0 (I0) para o valor 10h. Que alterações tem que efectuar no assembly para o programa ter o mesmo comportamento quando se executa. 2. Entradas/saídas e interrupções 2.1 Implemente um relógio digital usando os displays de 7 segmentos, em que os dois dígitos da esquerda representam os minutos e os dois dígitos da direita representam os segundos. 2.2 Altere o programa anterior para que ao clicar no botão 0 (I0) o valor do relógio passe a ser zero. 2.3 Altere o programa anterior para que ao clicar no botão 1 (I1) o relógio pare. O relógio retoma a contagem quando se clicar de novo no botão 1. NOTA: Existe a possibilidade de executar o programa desenvolvido numa placa dedicada que emula o funcionamento do P3. Contacte o seu docente para saber como proceder.

17 Arquitectura de Computadores Guia de Laboratório 2010/ Ficha 4 - Respostas às questões do 4º Trabalho Grupo: Turno: Nº Nome: Nº Nome: Nº Nome: Questões: 1. Interrupções 1.2 Analise o programa aula4.as. a) Identifique o programa principal e a rotina de serviço à interrupção (indique as respectivas etiquetas). b) Transcreva a parte do programa que preenche a tabela de vectores de interrupção. c) Indique a função da rotina de serviço à interrupção. 1.3 Analise a rotina EscCar e indique o papel desempenhado pelo registo R Justifique a existência das instruções ENI e DSI na rotina EscCont. 1.6 Altere o vector de interrupção correspondente ao botão 0 (I0) para o valor 10h. Que alterações tem que efectuar no assembly para o programa ter o mesmo comportamento quando se executa.

18 Arquitectura de Computadores Guia de Laboratório 2010/ Entradas/saídas e interrupções - Relógio Digital (com todas as funcionalidades) Apresente o código desenvolvido ou anexe folha.

19 Arquitectura de Computadores Guia de Laboratório 2010/ ª Parte do Projecto Objectivos Avaliar a capacidade dos alunos de conceber, desenvolver e testar um programa em linguagem Assembly, utilizando os conceitos adquiridos nas aulas anteriores.

20 Arquitectura de Computadores Guia de Laboratório 2010/ º Trabalho Objectivos Introdução à microprogramação. Análise do microprograma de uma instrução Assembly. Modificação do funcionamento de uma instrução Assembly. Tópicos 1. Introdução à microprogramação 1.1 A microprogramação na arquitectura P3 1.2 Registos associados à microprogramação 2. Análise de uma instrução Assembly 2.1 Formatos e tipos de instruções Assembly 2.2 Microinstruções 2.3 Fluxograma de execução de uma instrução 2.4 Microprograma de uma instrução Assembly 3. Modificação de uma instrução Assembly Nota: No final da aula deverá ser entregue a Ficha 5 devidamente preenchida. Enunciado 1. Introdução à microprogramação. Análise de uma instrução Assembly 1.1 Copie para a directoria de grupo o ficheiro aula5.as que se encontra listado no Anexo I. Proceda à geração do ficheiro executável. 1.2 Seleccione no simulador a janela que contém a informação referente à microprogramação. Para tal, seleccione a opção Ver Controlo existente no menu Ver. 1.3 Inicie a execução do programa começando por executar apenas as duas primeiras instruções (MOV R1,10h e MOV R2,6). Para isso, premir duas vezes no botão Instrução. 1.4 Prossiga a execução do programa ciclo a ciclo de relógio, premindo uma vez o botão Clock. Tendo por base o conteúdo do registo RI identifique: a) O tipo de instrução Assembly. b) O conteúdo de cada um dos seus campos. c) O modo de endereçamento utilizado, baseado nos valores obtidos na alínea anterior. 1.5 Continue com a execução do programa, ciclo a ciclo de relógio, e preencha a Tabela 1 da Ficha 5. Para cada microinstrução identifique a que zona do Fluxograma 1 (representado na mesma ficha) está associada, descreva as acções realizadas usando Linguagem de Transferência de Registos (RTL) e indique a sua codificação hexadecimal. Preencha apenas os valores dos registos quando eles mudam de valor; quando mantêm o valor deixe os campos em branco. 1.6 Recorrendo ao conjunto de informação existente no Manual do Simulador do Processador P3, identifique o microprograma da instrução em causa

21 Arquitectura de Computadores Guia de Laboratório 2010/ (MOV M[R2+INDEX],R1). Preencha a Tabela 2 da Ficha 5 de acordo com a informação obtida. A tabela deve ser preenchida indicando as acções de cada microinstrução em linguagem de transferência de registos. Relativamente à codificação de cada microinstrução, deverão ser assinalados apenas os sinais activos a um (1) e activos a zero (0), ficando em branco as posições que correspondem a sinais indiferentes (sinais que não interferem com a execução do microprograma). 2. Modificação de uma instrução Assembly Pretende-se modificar o microprograma analisado na pergunta 1.6, de forma a substituir o modo de endereçamento indexado: MOV M[Rx+W], Ry pelo modo de endereçamento indirecto por memória: MOV M[Rx+M[W]], Ry 2.1 Indique em que fase(s) do Fluxograma 1 presente na Ficha 5 é que se efectuam as alterações. Justifique. 2.2 Analise a arquitectura do P3 representada na Ficha 5. Assinale na figura os sinais que devem ser activados a um (1) ou a zero (0) de forma a implementar uma microinstrução que realize EA M[EA]. 2.3 Modifique o microprograma analisado em 1.6 de modo a implementar o endereçamento indirecto por memória. Na Tabela 3 da Ficha 5 indique apenas as microinstruções novas/modificadas. Para cada uma dessas microinstruções indique o respectivo endereço e as respectivas acções usando linguagem de transferência de registos. 2.4 Introduza no simulador as alterações que efectuou no microcódigo. Para tal, proceda do seguinte modo: - Gere um ficheiro control.roms com a alteração a efectuar no microcódigo. Cada linha do ficheiro deve conter a seguinte informação: <endereço da microinstrução que vai ser substituída> <nova microinstrução> Notas: A. Os endereços e microinstruções devem estar em hexadecimal mas não devem incluir a letra h. Exemplo de uma linha: A009F B. Introduza apenas as linhas que pretende modificar. - Efectue o carregamento do referido ficheiro no simulador, seleccionando a opção Carrega ROM de Controlo que existe no menu Ficheiro. - Execute o programa (para as duas primeiras instruções use o botão Instrução e, a partir daí, execute ciclo a ciclo de relógio - botão Clock). Recorra à informação da janela de microprogramação para efectuar o teste do microcódigo alterado. 2.5 Indique e justifique o conteúdo da posição de memória com o endereço 8008h após a execução do programa.

22 Arquitectura de Computadores Guia de Laboratório 2010/ Ficha 5 - Respostas às questões do 5º Trabalho Grupo: Turno: Nº Nome: Nº Nome: Nº Nome: Questões: 1. Introdução à microprogramação. Análise de uma instrução Assembly 1.4 (Nota: Consulte o anexo A do Manual do Simulador do Processador P3 ) Execute um ciclo da instrução MOV M[R2+INDEX],R1. Analise o registo RI e indique: a) Se o tipo de instrução Assembly é de um ou dois operandos b) O conteúdo dos campos da instrução c) O modo de endereçamento 1.5 Execute a instrução MOV M[R2+INDEX],R1 ciclo a ciclo de relógio e preencha a tabela seguinte. Para cada microinstrução identifique a que zona do Fluxograma 1 (ver página seguinte) está associada, descreva as acções realizadas usando RTL e indique a sua codificação hexadecimal. Preencha apenas os valores dos registos quando eles mudam de valor; quando mantêm o valor deixe os campos em branco. Fluxograma Tabela 1 Execução de uma instrução ciclo a ciclo (valores em hexadecimal). Ling. de Transf. de Microinstrução Registos (RTL) IF IR M[PC] F 000 CAR SBR RI R11 (SD) R12 (EA) R13 (RD) R14 (SP) R15 (PC)

23 Arquitectura de Computadores Guia de Laboratório 2010/ IF Carregamento da Instrução OpCode OpCode=00 OpCode=01 OpCode=10 OpCode=11 OP2 OP1 Carregamento Carregamento Carregamento do Operando dos Operandos do Operando OP3 EX1 EX2 EX0 Execução da Instrução Execução da Instrução Execução da Instrução Execução da Instrução EX3 (PUSH) WB Escrita do Resultado (TEST, CMP) IH Teste de Interrupções Fluxograma 1 - Ciclo de execução de uma instrução. 1.6 Microprograma da instrução MOV M[R2+INDEX],R1. Preencha a Tabela 2 localizada na próxima página. Indicar as acções de cada microinstrução em linguagem de transferência de registos. Na codificação de cada microinstrução assinale apenas os uns (1) e os zeros (0). Deixe em branco as posições das indiferenças. 2. Modificação de uma instrução Assembly 2.1 Indique a fase do ciclo de instrução em que são efectuadas as alterações (ver Fluxograma 1).

24 End. Simb. Transferência de Registos F M5 SR1 SR2 (1) IF0 RI M[PC] (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) IAK FM CALU MA MB M2 MRB RB WM LS MCOND CC LI LF CONST / NA WR MD MAD RAD End. ROM Controlo Valor Tabela 2 - Microprogramação Arquitectura de Computadores Guia de Laboratório 2010/

25 Arquitectura de Computadores Guia de Laboratório 2010/ Indique nas figuras seguintes o valor (1, 0 ou X) dos diversos sinais de modo a implementar a microinstrução que realiza EA M[EA].

26 Arquitectura de Computadores Guia de Laboratório 2010/ Indique as alterações a efectuar ao microprograma analisado em 1.6. Indique o endereço das microinstruções novas/modificadas e as respectivas acções usando linguagem de transferência de registos (RTL Register Transfer Language). Indique, também, a codificação (em hexadecimal) de cada microinstrução. Endereço (hex) Tabela 3 Alterações ao microprograma. Microinstrução (RTL) Microinstrução (codificação em hexadecimal) 2.5 Execute ciclo a ciclo de relógio a instrução MOV M[R2+INDEX],R1 (que implementa MOV M[R2+M[INDEX]],R1). Indique e justifique o conteúdo da posição de memória com o endereço 8008h após a execução do programa.

27 Arquitectura de Computadores Guia de Laboratório 2010/ º Trabalho Objectivos Implementação de uma nova instrução Assembly. Tópicos 1. Implementação de uma nova instrução Assembly Nota: No final da aula deverá ser entregue a Ficha 6 devidamente preenchida. Enunciado 1. Implementação de uma nova instrução Assembly Utilizando os conhecimentos adquiridos sobre microprogramação, pretende-se acrescentar ao conjunto de instruções Assembly disponíveis na arquitectura P3 a seguinte instrução: I1OP op Esta instrução estende o sinal de um operando op, em que apenas são relevantes os 8 bits menos significativos, para um operando de 16 bits. Não deve ser alterado o valor de nenhum bit de estado. Exemplos: Se op = xx5ah o resultado deverá ser 005Ah. Se op = xxa5h o resultado deverá ser FFA5h. Considere que o opcode da instrução I1OP é 17h. O trabalho deverá ser realizado de acordo com as seguintes fases: 1.1 Especificação do microprograma que realiza a instrução usando linguagem de transferência de registos. Na Tabela 1 da Ficha 6 deve ser preenchido o endereço simbólico e a microinstrução em RTL. 1.2 Codificação das microinstruções de acordo com a arquitectura P3. Deverão ser assinalados apenas os uns (1) e os zeros (0). Deixe em branco as posições das indiferenças. 1.3 Especificação dos endereços/valores do microprograma a carregar numa zona livre da ROM de Controlo e carregamento do endereço de início desse microprograma na ROM A de mapeamento, na posição correspondente ao opcode da instrução (17h). 1.4 Concepção de um programa Assembly que permita testar a nova instrução usando diferentes modos de endereçamento do operando.

28 Arquitectura de Computadores Guia de Laboratório 2010/ Ficha 6 - Respostas às questões do 6º Trabalho Grupo: Turno: Nº Nome: Nº Nome: Nº Nome: Questões: 1. Implementação de uma nova instrução Assembly 1.1 Preencher na tabela da próxima página os endereços simbólicos e as microinstruções expressas em linguagem de transferência de registos. 1.2 Preencher na tabela da próxima página a codificação das microinstruções. Na codificação de cada microinstrução assinale apenas os uns (1) e os zeros (0). Deixe em branco as posições das indiferenças. 1.3 Indicar na tabela da próxima página os endereços e os valores (em hexadecimal) do microprograma. Indicar também o valor a colocar na memória ROM A de mapeamento. 1.4 Indique um programa Assembly de teste da nova instrução: Apresente o código ou anexe folha.

29 End. Simb. Transferência de Registos F M5 SR1 SR2 (1) IF0 RI M[PC] (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) IAK FM CALU MA MB M2 MRB RB WM LS MCOND CC LI LF CONST / NA WR MD MAD RAD End. ROM Controlo Valor Tabela 1 Microprogramação. Arquitectura de Computadores Guia de Laboratório 2010/ ROM A: 17

30 Arquitectura de Computadores Guia de Laboratório 2010/ ª Parte do Projecto Objectivos Avaliar a capacidade dos alunos de conceber e desenvolver um programa de uma nova instrução Assembly, utilizando os conceitos adquiridos nas aulas anteriores. Avaliar ainda a capacidade de concepção, desenvolvimento e teste de um programa complexo em linguagem Assembly, fazendo uso dessa nova instrução.

31 Arquitectura de Computadores Guia de Laboratório 2010/ Anexo I - Listagens dos programas aula1_1.as ; Programa aula1_1.as ; ; ZONA I: Definicao de constantes ; Pseudo-instrucao : EQU CR EQU 0Ah FIM_TEXTO EQU '@' IO_READ EQU FFFFh IO_WRITE EQU FFFEh IO_STATUS EQU FFFDh SP_INICIAL EQU FDFFh ; ; ZONA II: definicao de variaveis ; Pseudo-instrucoes : WORD - palavra (16 bits) ; STR - sequencia de caracteres. ; Cada caracter ocupa 1 palavra ORIG 8000h VarTexto1 STR 'LEIC!!', FIM_TEXTO VarTexto2 STR ' Arquitectura de Computadores', FIM_TEXTO VarTexto3 STR '1o Ano - 2o Semestre', FIM_TEXTO VarMenu0 STR '** Instrucoes para a utilizacao do programa Aula1_1.as **', FIM_TEXTO VarMenu1 STR 'Visualizacao de uma mensagem - prima 1, 2 ou 3', FIM_TEXTO VarMenu2 STR 'Fim de execucao - prima outra tecla', FIM_TEXTO VarPrompt STR ' > ', FIM_TEXTO TextoFim STR 'Fim de execucao!', FIM_TEXTO VarPalavra WORD 1234h Dummy TAB 1 ; ; ZONA III: codigo ; conjunto de instrucoes Assembly, ordenadas de forma a realizar ; as funcoes pretendidas ORIG 0000h JMP Inicio ; LeCar: Rotina que efectua a leitura de um caracter proveniente do teclado. ; Entradas: --- ; Saidas: R1 - caracter lido ; Efeitos: alteracao do registo R1 LeCar: CMP R0, M[IO_STATUS] BR.Z LeCar MOV R1, M[IO_READ] RET ; EscCar: Rotina que efectua a escrita de um caracter para o ecran. ; O caracter pode ser visualizado na janela de texto. ; Entradas: pilha - caracter a escrever ; Saidas: --- ; Efeitos: alteracao do registo R1 ; alteracao da posicao de memoria M[IO] EscCar: MOV R1, M[SP+2] MOV M[IO_WRITE], R1 RETN 1 ; MudaLinha: Rotina que efectua a escrita de um caracter de mudanca de linha. ; Entradas: --- ; Saidas: --- ; Efeitos: ---

32 Arquitectura de Computadores Guia de Laboratório 2010/ MudaLinha: PUSH R1 PUSH CR CALL EscCar POP R1 RET ; EscString: Rotina que efectua a escrita de uma cadeia de caracter, terminada ; pelo caracter FIM_TEXTO. Pode-se definir como terminador qualquer ; caracter ASCII. ; Entradas: R2 - apontador para o inicio da cadeia de caracteres ; Saidas: --- ; Efeitos: --- EscString: PUSH R1 PUSH R2 Ciclo: MOV R1, M[R2] CMP R1, FIM_TEXTO BR.Z FimEsc PUSH R1 CALL EscCar INC R2 BR Ciclo FimEsc: CALL MudaLinha POP R2 POP R1 RET ; EscMenu: Rotina que efectua a escrita do menu que contem as instrucoes de ; utilizacao do programa. ; Entradas: -- ; Saidas: --- ; Efeitos: --- EscMenu: PUSH R2 CALL MudaLinha CALL MudaLinha MOV R2, VarMenu0 CALL EscString CALL MudaLinha MOV R2, VarMenu1 CALL EscString MOV R2, VarMenu2 CALL EscString CALL MudaLinha POP R2 RET ; EscPrompt: Rotina que efectua a escrita do prompt, que indica o inicio da ; leitura ; Entradas: -- ; Saidas: --- ; Efeitos: --- EscPrompt: PUSH R2 CALL MudaLinha MOV R2, VarPrompt CALL EscString POP R2 RET ; ProgramaPrincipal: programa que recebe um caracter do teclado e, de acordo ; com o caracter recebido (1, 2 ou 3), imprime uma ; de tres mensagens. Caso receba um caracter diferente, ; termina a execucao. Inicio: MOV R7, SP_INICIAL MOV SP, R7 CALL EscMenu Opcao: CALL EscPrompt CALL LeCar CALL MudaLinha CMP R1, '1' BR.Z Texto1 CMP R1, '2' BR.Z Texto2 CMP R1, '3' BR.NZ EscFim Texto3: MOV R2, VarTexto3

33 Arquitectura de Computadores Guia de Laboratório 2010/ CALL EscString BR Opcao Texto2: MOV R2, VarTexto2 CALL EscString BR Opcao Texto1: MOV R2, VarTexto1 CALL EscString BR Opcao EscFim: MOV R2, TextoFim CALL EscString Halt: BR Halt aula1_2.as ; Programa aula1_2.as LetraA EQU 'A' ; caracter ASCII ConstUmByte EQU 0fh ; hexadecimal ConstUmaWord EQU ; decimal ORIG 8000h VarUmByte WORD 12h VarOutroByte WORD 0fh VarUmaWord WORD 1234h VarUmaString STR 'Arquitectura de Computadores' ORIG 0000h Inicio: MOV R0, LetraA MOV R1, ConstUmByte MOV R2, ConstUmaWord MOV R3, R2 MOV R4, M[R1+VarOutroByte] MOV R5, M[VarOutroByte] MOV R6, M[SP] MOV R7, M[PC+ConstUmByte] ; Aqui devera' colocar o seu codigo Halt: BR Halt aula2.as ; Programa aula2.as ; NOTA: Este programa nao esta' comentado INTENCIONALMENTE!! FIM_STR EQU '@' ORIG 8000h VarStrOrigem STR 'Arquitectura de VarStrDestino TAB 30 ORIG 0000h Inicio: MOV R1, VarStrDestino MOV R2, VarStrOrigem Ciclo: MOV R3, M[R2] CMP R3, FIM_STR BR.Z Meio MOV M[R1], R0 INC R1 INC R2 BR Ciclo Meio: MOV R3, M[R2] MOV M[R1], R3 DEC R2 DEC R1 CMP R1, VarStrDestino BR.NN Meio Fim: BR Fim

34 Arquitectura de Computadores Guia de Laboratório 2010/ aula3.as ; Programa aula3.as ; ZONA I: Definicao de constantes ; Pseudo-instrucao : EQU CR EQU 0Ah FIM_TEXTO EQU '@' IO_READ EQU FFFFh IO_WRITE EQU FFFEh IO_STATUS EQU FFFDh SP_INICIAL EQU FDFFh ; ZONA II: definicao de variaveis ; Pseudo-instrucoes : WORD - palavra (16 bits) ; STR - sequencia de caracteres. ; Cada caracter ocupa 1 palavra ORIG 8000h VarTexto1 STR 'Pressione uma tecla entre 0 e 9: ', FIM_TEXTO VarTexto2 STR 'Numero de bits a 1 = ', FIM_TEXTO VarErro1 STR 'ERRO: Tecla Invalida', FIM_TEXTO ; ZONA III: codigo ; conjunto de instrucoes Assembly, ordenadas de forma a realizar ; as funcoes pretendidas ORIG 0000h JMP Inicio ; LeCar: Rotina que efectua a leitura de um caracter proveniente do teclado. ; Entradas: --- ; Saidas: R1 - caracter lido ; Efeitos: alteracao do registo R1 LeCar: CMP R0, M[IO_STATUS] BR.Z LeCar MOV R1, M[IO_READ] RET ; EscCar: Rotina que efectua a escrita de um caracter para o ecra. ; O caracter pode ser visualizado na janela de texto. ; Entradas: pilha - caracter a escrever ; Saidas: --- ; Efeitos: alteracao do registo R1 ; alteracao da posicao de memoria M[IO] EscCar: PUSH R1 MOV R1, M[SP+3] MOV M[IO_WRITE], R1 POP R1 RETN 1 ; MudaLinha: Rotina que efectua a escrita de um caracter de mudanca de linha. ; Entradas: --- ; Saidas: --- ; Efeitos: --- MudaLinha: PUSH R1 PUSH CR CALL EscCar POP R1 RET ; EscString: Rotina que efectua a escrita de uma cadeia de caracter, terminada ; pelo caracter FIM_TEXTO. Pode-se definir como terminador qualquer ; caracter ASCII. ; Entradas: R2 - apontador para o inicio da cadeia de caracteres ; Saidas: --- ; Efeitos: ---

35 Arquitectura de Computadores Guia de Laboratório 2010/ EscString: PUSH R1 PUSH R2 Ciclo: MOV R1, M[R2] CMP R1, FIM_TEXTO BR.Z FimEsc PUSH R1 CALL EscCar INC R2 BR Ciclo FimEsc: POP R2 POP R1 RET ; EscNum: Rotina que efectua a escrita de um algarismo, fazendo a conversao ; necessaria para ASCII. ; Entradas: R1 - numero a escrever ; Saidas: --- ; Efeitos: --- EscNum: PUSH R1 ADD R1,'0' PUSH R1 CALL EscCar POP R1 RET ; PrintBits: Rotina que efectua a escrita da representacao em binario no ecra ; de uma palavra de 16 bits. ; Entradas: R1 palavra a imprimir ; Saidas: --- ; Efeitos: --- PrintBits: PUSH R1 PUSH R2 PUSH R3 PUSH ' ' CALL EscCar PUSH '(' CALL EscCar MOV R2, 15 procbit: SHL R1, 1 MOV R3, '0' ADDC R3, R0 PUSH R3 CALL EscCar DEC R2 BR.NN procbit PUSH ')' CALL EscCar POP R3 POP R2 POP R1 RET ; CountBits: Rotina de calculo do nãºmero de bits a '1' numa palavra de 16 bits. ; Entradas: R1 - palavra a processar ; Saidas: R1 - resultado ; Efeitos: altera R2 CountBits: MOV R2, R0 continua: SHR R1, 1 ADDC R2, R0 CMP R1, R0 BR.NZ continua MOV R1, R2 RET ; Programa Principal: programa que recebe um algarismo do teclado, ; retornando o numero de bits a '1' da correspondente representacao ; em binario. Caso receba um caracter invalido, retorna uma ; mensagem de erro. Inicio: MOV R7, SP_INICIAL

36 Arquitectura de Computadores Guia de Laboratório 2010/ MOV SP, R7 ProcWord: CALL MudaLinha MOV R2, VarTexto1 CALL EscString CALL LeCar ; Devolve em R1 o caracter lido (simbolo ASCII) SUB R1,'0' ; Conversao do simbolo ASCII CMP R1,0 ; Deteccao de condicao de erro BR.N Erro CMP R1,9 BR.P Erro CALL EscNum CALL PrintBits CALL MudaLinha CALL CountBits ; Escrita do numero lido (R1) ; Escrita da representacao em binario ; do numero lido ; Contagem do numero de bits a '1' MOV R2, VarTexto2 ; Escrita do valor calculado no ecra CALL EscString CALL EscNum CALL MudaLinha JMP ProcWord Erro: CALL MudaLinha MOV R2, VarErro1 CALL EscString JMP ProcWord Fim: BR Fim aula4.as ; Programa aula4.as SP_INICIAL EQU FDFFh INT_MASK_ADDR EQU FFFAh INT_MASK EQU b IO_WRITE EQU FFFEh DELAY_COUNT EQU 0800h ; Palavra de memoria que contem a variavel de contagem ORIG 8000h Contador WORD 0000h ; Tabela de interrupcoes ORIG FE00h INT0 WORD ResetCont ; Codigo ORIG 0000h JMP Inicio ; ResetCont: Rotina que faz o reset do contador ; Entradas: --- ; Saidas: --- ; Efeitos: alteracao do conteudo da posicao de memoria M[Contador] ResetCont: MOV M[Contador], R0 RTI ; ContHex: Rotina que incrementa o contador ; Entradas: M[Contador] - contador ; Saidas: --- ; Efeitos: alteracao do conteudo da posicao de memoria M[Contador] ContHex: INC M[Contador] RET

37 Arquitectura de Computadores Guia de Laboratório 2010/ ; HexAscii: Rotina que efectua a conversao de hexadecimal para ASCII ; Entradas: R1 - valor (hexadecimal) a converter ; Saidas: R1 - valor (ASCII) convertido ; Efeitos: alteracao do registo R1 HexAscii: CMP R1, 10 BR.NN Maior9 ADD R1, '0' BR FimHexAscii Maior9: SUB R1, 10 ADD R1, 'A' FimHexAscii: RET ; EscCont: Rotina que efectua a escrita do contador ; Entradas: --- ; Saidas: --- ; Efeitos: --- EscCont: PUSH R2 DSI MOV R2, 4 Ciclo: CALL ProcNibble DEC R2 BR.NZ Ciclo ENI CALL EscBranco POP R2 RET ; ProcNibble: Rotina que efectua o processamento de cada nibble do contador ; Entradas: M[Contador] ; Saidas: M[Contador] ; Efeitos: --- ProcNibble: PUSH R1 ROL M[Contador], 4 MOV R1, M[Contador] AND R1, 000fh CALL HexAscii PUSH R1 CALL EscCar POP R1 RET ; EscBranco: Rotina que efectua a escrita de um espaco ; Entradas: --- ; Saidas: --- ; Efeitos: --- EscBranco: PUSH R1 MOV R1, ' ' PUSH R1 CALL EscCar POP R1 RET ; EscCar: Rotina que efectua a escrita de um caracter para o ecran. ; O caracter pode ser visualizado na janela de texto. ; Entradas: pilha - caracter a escrever ; Saidas: --- ; Efeitos: alteracao do registo R1 EscCar: POP R1 POP M[IO_WRITE] PUSH R1 RET ; Delay: Rotina que provoca um atraso ; Entradas: --- ; Saídas: ---- ; Efeitos: --- Delay: PUSH R1 MOV R1, DELAY_COUNT Delay_L1: DEC R1 BR.NZ Delay_L1 POP R1 RET Inicio: MOV R7, SP_INICIAL MOV SP, R7 MOV R7, INT_MASK

38 Arquitectura de Computadores Guia de Laboratório 2010/ CicloCont: MOV M[INT_MASK_ADDR], R7 ENI CALL EscCont CMP M[Contador],R0 CALL.Z Delay CALL ContHex BR CicloCont aula5.as ; Programa aula5.as - estudo da microprogramacao INDEX EQU 8000h ORIG 8000h VECTOR STR 8002h, 1, 2, 3, 4, 5, AAAAh, 7, 8 ORIG 0000h Inicio: MOV R1, 10h MOV R2, 6 Alterar: MOV M[R2+INDEX], R1 ; NOTA: A instrucao mantem-se mas o seu comportamento devera ; passar a ser equivalente a: MOV M[R2+M[INDEX]], R1 Fim: BR Fim

Guia de Laboratório 2013 / 2014

Guia de Laboratório 2013 / 2014 LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Guia de Laboratório 2013 / 201 INSTITUTO SUPERIOR TÉCNICO 2 Plano das aulas 1ª Aula: Resolução de Exercícios

Leia mais

Arquitectura de Computadores. Guia de Laboratório

Arquitectura de Computadores. Guia de Laboratório LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Arquitectura de Computadores Ano lectivo de 2004/2005 Guia de Laboratório INSTITUTO SUPERIOR TÉCNICO Arquitectura de Computadores - Guia de Laboratório

Leia mais

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

Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste (A) - 11/04/2012 Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste (A) - 11/04/2012 Número: Nome: INSTRUÇÕES: - A duração da prova é de 2 horas. - Preencha imediatamente o seu número e nome de forma bem legível,

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores Introdução à Arquitetura de Computadores 2014/2015 1º Semestre 2º Teste 28 de Janeiro de 2015 Duração: 1h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue com

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores Introdução à Arquitetura de Computadores 2013/2014 1º Semestre 2º Teste 1 de Fevereiro de 2014 Duração: 1h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue com

Leia mais

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

Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste - Repescagem - 27/06/2012 Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste - Repescagem - 27/06/2012 Número: Nome: INSTRUÇÕES: - A duração da prova é de 2 horas. - Preencha imediatamente o seu número e nome de forma

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores Introdução à Arquitetura de Computadores 2013/2014 1º Semestre 2º Teste 17 de Janeiro de 2014 Duração: 1h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue com

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Tutorial do P3 2013 / 2014 INSTITUTO SUPERIOR TÉCNICO 1. Conteúdo 1. Conteúdo... 1 2. Introdução... 2 3.

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 13: Título: P3 - Sumário: Unidade de do P3 (micro-sequenciador, teste de variáveis, memórias de mapeamento,

Leia mais

Arquitetura de Um Processador III

Arquitetura de Um Processador III Arquitetura de Um Processador III José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-15 José Costa (DEI/IST) Arquitetura

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Geração do Código Objecto (10.7 e 10.8) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 14: Título: Sumário: do P3 - Microprogramação Unidade de do P3; Unidade de do P3 (micro-sequenciador,

Leia mais

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

Arquitectura de Computadores 2006/2007 2º Semestre Repescagem 1º Teste - 11/07/2007. Folha de Respostas Arquitectura de Computadores 00/00 º Semestre Repescagem 1º Teste - /0/00 Número: Nome: INSTRUÇÕES: - A duração da prova é de 1, horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido.

Leia mais

Conjunto de Instruções (ISA) II

Conjunto de Instruções (ISA) II Conjunto de Instruções (ISA) II José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-18 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores Introdução à Arquitetura de Computadores 2014/2015 1º Semestre 2º Teste 16 de Janeiro de 2015 Duração: 1h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue com

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Ano Lectivo de 2008/2009 2 o Semestre 1 o Teste 20 de Abril de 2009 Duração: 1h30+0h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue

Leia mais

Conjunto de Instruções (ISA) I

Conjunto de Instruções (ISA) I Conjunto de Instruções (ISA) I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-16 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

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

Arquitectura de Computadores 2007/2008 2º Semestre 1º Teste (A) - 30/04/2008. Folha de Respostas Arquitectura de Computadores 00/00 º Semestre º Teste (A) - 0/0/00 Número: Nome: INSTRUÇÕES: - A duração da prova é de, horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido. - Identifique

Leia mais

INSTITUTO SUPERIOR TÉCNICO

INSTITUTO SUPERIOR TÉCNICO 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

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Tutorial do P3 Referência 2014 / 2015 INSTITUTO SUPERIOR TÉCNICO Paulo Lopes, José Costa 2014/2015 2 1.

Leia mais

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

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom) UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática Arquitectura de Computadores (ACom) LEIC-A, MEIC-A Acetatos das Aulas Teóricas Versão 1.0 - Português Aula

Leia mais

MICROPROCESSADORES 3º TESTE

MICROPROCESSADORES 3º TESTE Nº MICROPROCESSADORES 3º TESTE Ano Lectivo: 25/26 Data: 6 de Junho de 26 Ano Curricular: 1º Ano 2º Semestre Duração:2h INFORMAÇÕES GERAIS 1. Identifique todas as folhas do enunciado com nome e número antes

Leia mais

Arquitetura de Um Processador I

Arquitetura de Um Processador I Arquitetura de Um Processador I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-08 José Costa (DEI/IST) Arquitetura de

Leia mais

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

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007. Folha de Respostas Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007 Número: Nome: INSTRUÇÕES: - A duração da prova é de 2 horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido.

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 3º Trabalho de Laboratório Introdução à Microprogramação e ao Processador P3 Objetivo: Pretende-se com este trabalho conferir aos alunos um conjunto de competências relacionadas

Leia mais

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

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (B) - 15/06/2007. Folha de Respostas Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (B) - 15/06/2007 Número: Nome: INSTRUÇÕES: - A duração da prova é de 2 horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido.

Leia mais

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

Prova de Arquitectura de Computadores (21010) Data: 23 de Junho de 2009 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 23 de Junho de 2009 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 3º Trabalho de Laboratório Introdução à Microprogramação e ao Processador P3 Objetivo: Pretende-se com este trabalho conferir aos alunos um conjunto de competências relacionadas

Leia mais

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

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Ano Lectivo de 2009/2010 2 o Semestre 1 o Teste 16 de Abril de 2010 Duração: 1h30+0h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue

Leia mais

Grupo I (5 valores) CD AB

Grupo I (5 valores) CD AB Grupo I (5 valores) Ministério da Ciência, Tecnologia e Ensino Superior 1. [2] Considere o seguinte mapa de Karnaugh da função F(A,B,C,D). Simplifique a função de modo a obter uma soma de produtos, e um

Leia mais

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

Introdução à Arquitetura de Computadores. Coletânea de Problemas. Outubro 2014 LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Coletânea de Problemas Outubro 2014 (Versão 3.0) INSTITUTO SUPERIOR TÉCNICO - Introdução à Arquitectura

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 06: Título: : entradas e saídas, interrupções e temporizador Sumário: desenvolvimento do ; ; Entradas

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 08: Título: Sumário: Programação em (programação estruturada, comentários, constantes); Exemplos de

Leia mais

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

Introdução à Arquitetura de Computadores. Coletânea de Problemas. Janeiro 2014 LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Coletânea de Problemas Janeiro 2014 (Versão 2.1) INSTITUTO SUPERIOR TÉCNICO - Introdução à Arquitectura

Leia mais

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

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

INSTITUTO SUPERIOR TÉCNICO

INSTITUTO SUPERIOR TÉCNICO INSTITUTO SUPERIOR TÉCNICO Arquitectura de Computadores 1 o Semestre (2011/2012) MEAer Departamento de Engenharia Electrotécnica e de Computadores 2 o Teste - 13 de Janeiro de 2012 Duração: 1h30 + 0h30

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 5 de Fevereiro de 27 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 3 minutos de tolerância. O estudante

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 06: Título: : entradas e saídas, interrupções e temporizador Sumário: desenvolvimento do ; ; Entradas

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 5 de Fevereiro de 25 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 3 minutos de tolerância. O estudante

Leia mais

Arquitectura de Computadores 3º TESTE

Arquitectura de Computadores 3º TESTE Arquitectura de Computadores 3º TESTE Ano Lectivo: 2008/2009 Data: 6 de Janeiro de 2008 INFORMAÇÕES GERAIS Duração: 2h00 1. Mantenha na secretária apenas a sua identificação e uma caneta (azul ou preta).

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

Leia mais

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

Prova de Arquitectura de Computadores (21010) Data: 18 de Junho de 2010 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 18 de Junho de 2010 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Fundamentos (9, 10.1 a 10.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico

Leia mais

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

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 26 de julho de 2013 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 30 minutos de tolerância. O estudante

Leia mais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Conhecida pelo PROCESSADOR Conhecida pelo Usuário COMPILADOR LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY 2 INSTRUÇÕES EM ASSEMBLY Para programar

Leia mais

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

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 2º Teste - 03/07/2008 Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 2º Teste - 03/07/2008 INSTRUÇÕES: - A duração da prova é de 1,5 horas. - Responda apenas nos locais indicados. - Identifique todas as folhas

Leia mais

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

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015 Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-T.º Semestre 204/205 Duração: 60 minutos 6 janeiro 205 NOME NÚMERO. (2,5+,5 valores) Considere o seguinte programa. Periferico

Leia mais

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

Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015 Repescagem - 2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-T 1.º Semestre 2014/2015 Duração: 60 minutos 16 janeiro 2015 NOME NÚMERO 1. (2,5+1,5 valores) Considere o seguinte programa.

Leia mais

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

Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

MICROPROCESSADORES 2º TESTE - A

MICROPROCESSADORES 2º TESTE - A MICROPROCESSADORES 2º TESTE - A Ano Lectivo: 2005/2006 Data: 8 de Maio de 2006 Ano Curricular: 1º Ano 2º Semestre Duração: 2h00 INFORMAÇÕES GERAIS 1. Identifique todas as folhas do enunciado com nome e

Leia mais

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

Arquitectura de Computadores 2007/2008 2º Semestre 2º Teste (A) - 16/06/2008 rquitectura de Computadores 2007/2008 2º Semestre 2º Teste () - 16/06/2008 INSTUÇÕES: - duração da prova é de 1,5 horas. - esponda apenas nos locais indicados. - Identifique todas as folhas do teste com

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

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

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 1º Teste - 03/07/2008 Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 1º Teste - 03/07/2008 INSTRUÇÕES: - A duração da prova é de 1,5 horas. - Responda apenas nos locais indicados. - Identifique todas as folhas

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Microprogramação (7.5); Unidade de Processamento do P3 (12.1) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática

Leia mais

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

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom) UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática Arquitectura de Computadores (ACom) LEIC-A, MEIC-A Acetatos das Aulas Teóricas Versão 1.0 - Português Aula

Leia mais

FORMATO DO PROGRAMA FONTE

FORMATO DO PROGRAMA FONTE FORMATO DO PROGRAMA FONTE As declarações do programa fonte são constituídas pelos seguintes campos: 1) Campo do Rótulo: o primeiro caractere deve ser alfabético

Leia mais

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Engenharia de Eletrónica e Telecomunicações e de Computadores e Engenharia Informática e de Computadores e Engenharia Informática, Redes e Telecomunicações INSTITUTO

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta / Paulo Lopes Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES 2º Trabalho de Laboratório Unidade de Controlo Hardwired Objectivo: Pretende-se que os alunos compreendam a metodologia usada na síntese, implementação e programação de um

Leia mais

1 - Ambiente de desenvolvimento

1 - Ambiente de desenvolvimento Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Microprogramação (7.5); Unidade de Processamento do P3 (12.1) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática

Leia mais

FCA - Editora de Informática xv

FCA - Editora de Informática xv Índice Geral Agradecimentos ix Prefácio xi Índice das Simulações xxv 1 - Introdução ao mundo dos computadores 1 1.1 O computador como ferramenta... 2 1.2 A importância dos computadores... 4 1.3 Processamento

Leia mais

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Engenharia de Eletrónica e Telecomunicações e de Computadores e Engenharia Informática e de Computadores e Engenharia Informática, Redes e Telecomunicações INSTITUTO

Leia mais

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

2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-Taguspark 1.º Semestre 2014/2015 Duração: 60 minutos 16 dezembro 2014 2.º Teste de Introdução à Arquitetura de Computadores IST LEIC-Taguspark 1.º Semestre 2014/2015 Duração: 60 minutos 16 dezembro 2014 NOME NÚMERO 1. (1,5+1,5 + 1 valores) Considere o seguinte programa,

Leia mais

Manual do Simulador do Processador P3

Manual do Simulador do Processador P3 Manual do Simulador do Processador P3 Guilherme Arroz José Monteiro Arlindo Oliveira Instituto Superior Técnico Lisboa, Portugal Fevereiro 2003 Conteúdo 1 Introdução 3 2 Arquitectura do Processador P3

Leia mais

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

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos Teste de Arquitectura de Computadores LEIC, LERCI e LEE IST - Taguspark Profs responsáveis: José Delgado e Rui Rocha 2º Semestre 2004/2005 1º teste, turno B 2 de Abril de 2004 RESOLUÇÃO Início: 10H00 FIM:

Leia mais

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

p-fólio Arquitectura de Computadores U.C de julho de 2018 INSTRUÇÕES Ministério da Ciência, Tecnologia e Ensino Superior p-fólio U.C. 21010 Arquitectura de Computadores 26 de julho de 2018 INSTRUÇÕES O tempo de resolução do p-fólio é de uma hora e trinta minutos (90 minutos)..

Leia mais

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

Arquitectura de Computadores MEEC (2014/15 2º Sem.) Arquitectura de Computadores MEEC (2014/15 2º Sem.) Unidade de Controlo Prof. Nuno Horta PLANEAMENTO Introdução Unidade de Processamento Unidade de Controlo Arquitectura do Conjunto de Instruções Unidade

Leia mais

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5 PREFÁCIO 1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO 1 1.1 Bases de Numeração 3 1.1.1 Representação de Números Inteiros em Base b 3 1.1.2 Representação de Números em Base 2 5 1.1.3 Representação de Números Fraccionários

Leia mais

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29 Índice Geral Agradecimentos... vii Prefácio... ix Índice Geral... xiii Índice das Simulações... xxiii Índice das Figuras... xxvii Índice das Tabelas... xli Índice dos Programas... li 1 - Introdução ao

Leia mais

Controlo de um Elevador

Controlo de um Elevador Instituto Superior Técnico Licenciatura em Engenharia Informática e de Computadores Projecto de Arquitectura de Computadores 2007/2008 Controlo de um Elevador 1 / 13 Índice 1 Objectivo...3 2 Simulador

Leia mais

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Engenharia de Eletrónica e Telecomunicações e de Computadores e Engenharia Informática e de Computadores INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA 1.º Trabalho

Leia mais

Fundamentos de Programação

Fundamentos de Programação Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 25 de Setembro de 2006 Este trabalho corresponde à instalação, no seu computador, do interpretador

Leia mais

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC Sistemas Digitais 2 o Semestre Projeto CPU Data da apresentação: 26/27 de outubro

Leia mais

Execução detalhada de instruções

Execução detalhada de instruções LEI Sistemas de Computação 2014/15 Execução detalhada de instruções TPC3 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

Unidade de Controle. UC - Introdução

Unidade de Controle. UC - Introdução Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre

Leia mais

Porque usar um montador? Formato de uma linha de código fonte:

Porque usar um montador? Formato de uma linha de código fonte: Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob

Leia mais

Execução detalhada de instruções

Execução detalhada de instruções MIEI Sistemas de Computação 2015/16 Execução detalhada de instruções TPC4 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

Compilador de LP3 para C3E e P3

Compilador de LP3 para C3E e P3 Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem

Leia mais

Fundamentos de Programação

Fundamentos de Programação Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 22 de Setembro de 2008 Este trabalho corresponde à instalação, no seu computador, do interpretador

Leia mais

TASM DEFINIÇÃO DE UMA NOVA TABELA DE CONVERSÃO

TASM DEFINIÇÃO DE UMA NOVA TABELA DE CONVERSÃO TASM O TASM (Telemark Assembler) é um assemblador baseado em tabelas de conversão que corre em MS-DOS ou Linux. Código Assembly escrito de acordo com uma determinada sintaxe pode ser compilado usando o

Leia mais

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I.

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I. UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação - SSC SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica

Leia mais

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

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v CIRCUITOS SEQUENCIAIS ESTRUTURA GERAL Varáveis de entrada Variáveis de saída Variáveis de estado Circ. combinatório Memória Circuito Combinatório Memória Actual Seguinte CIRCUITOS SEQUENCIAIS Exemplo :

Leia mais

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007 Assembly 8051 Aplicações de Microprocessadores 2006/2007 Sintaxe do Assembly [Label] Op-code [Operando] [Comentário] tabela: movc a,@a+dptr ; vai à tabela buscar o seu correspondente ASCII 2 2 Instruções

Leia mais

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v CIRCUITOS SEQUENCIAIS ESTRUTURA GERAL Varáveis de entrada Variáveis de saída Variáveis de estado Circ. combinatório Memória Circuito Combinatório Memória Actual Seguinte CIRCUITOS SEQUENCIAIS Exemplo :

Leia mais

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Conjunto de Instruções

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações

Leia mais

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

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época

Leia mais

Memória de dados interna

Memória de dados interna Memória de dados interna A MD interna na família 51 proporciona 128 bytes ou 256 bytes de MD interna (conforme a versão do componente) Os endereços 0 a 7FH incluem os bancos de registos R0 a R7, posições

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

PROJECTO DE UM SISTEMA DE FECHADURA ELECTRÓNICA

PROJECTO DE UM SISTEMA DE FECHADURA ELECTRÓNICA TRABALHO DE LABORATÓRIO V PROJECTO DE UM SISTEMA DE FECHADURA ELECTRÓNICA 1. INTRODUÇÃO Pretende-se com este trabalho que os alunos projectem um sistema de fechadura electrónica. Este trabalho é considerado

Leia mais