1345 Arquitectura de Computadores



Documentos relacionados
Experiência 1 -Introdução ao Módulo Didático MC-1 e Instruções de Transferência de Dados

INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1

Acetatos de apoio às aulas teóricas

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

Arquitectura de Computadores. Dicas e Truques do Assembly do P3

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória

Arquitectura de Computadores

16. Sistemas de Memória Projecto do Sistema de Memória Implementação dos Blocos de Memória

ULA Sinais de Controle enviados pela UC

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

1. SINTAXE DA LINGUAGEM ASSEMBLY

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

Arquitectura de Computadores Unidade de Processamento

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

MICROPROCESSADORES. Unidade de Entrada/Saída (I/O) Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico.

Dispositivos de Entrada e Saída

Arquitetura de Computadores - Revisão -

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

EEC2104 Microprocessadores

Arquitetura de Computadores. Tipos de Instruções

3º Trabalho de Laboratório. Unidade de Controlo Microprogramada

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS

Microprocessador 8085 V.Lobo, Escola Naval v

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

Sistemas Lógicos II. Aula 10

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Microprocessador 8085 V.Lobo, Escola Naval v

2.5 - Instruções Lógicas do ULA

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

EEC2104 Microprocessadores

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

17. Espaço de I/O (entrada/saída) Portos paralelos de entrada e saída Porto paralelo de saída

Projecto e Controlo em Lógica Digital

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

18. Temporizadores/contadores TC (Timer/Counter) Especificação Diagrama de blocos

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1

7. A pilha e subrotinas

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

Circuitos sequenciais elementares

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Copyright 2011 VW Soluções

Funcionamento básico de um computador

Entradas/Saídas. Programação por espera activa Programação por interrupções

Organização de Computadores 1

MICROPROCESSADORES E MICROCONTROLADORES

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

Laboratório de Arquitectura de Computadores IST - Taguspark 2008/2009 Introdução aos sistemas binários Guião 1 9 a 13 de Março 2009

Autómatos Programáveis Programação

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

Circuitos sequenciais elementares

Introdução à Arquitetura de Computadores

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

Prof. Adilson Gonzaga

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

Figura 1 - O computador

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

MICROPROCESSADORES. Arquitectura do Conjunto de Instruções. Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico

- SISTEMAS DIGITAIS II

Ambiente de desenvolvimento de Programação Assembly MCU 8051 IDE

Arquitectura de Computadores

Estruturas do Sistema de Computação

BARRAMENTO DO SISTEMA

MICROPROCESSADORES E MICROCONTROLADORES

Vitor Amadeu Souza.

Memórias. Considerações iniciais Tipos de memórias RAMs Estrutura das RAMs Expansão das RAMs 12/3/10. Mário Serafim Nunes Guilherme Silva Arroz

Luis Filipe Baptista ENIDH/DEM 2

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Sistemas Digitais INE 5406

Arquitetura de um Computador

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

SIMAEAC: Um Simulador Acadêmico para Ensino de Arquitetura de Computadores

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Organização e Arquitetura de Computadores

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 01. Cursos de Computação

Sistemas Operativos I

Microprocessadores e Microcontroladores Prof. Edilson R. R. Kato Simulação do computador SAP-1

SISTEMAS INFORMÁTICOS

Introdução a Informática. Prof.: Roberto Franciscatto

Escola Secundária de Emídio Navarro

Entradas/Saídas. 1. Princípios de hardware/software de E/S 2. Camadas de software de E/S 3. Relógios (Temporizadores) 4. Gestão de consumo de potência

Componentes de um Sistema de Operação

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP:

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Placas Adaptadoras e montagem de Redes

Capítulo 12. Projeto 5 Controle de Motores de Passo Circuito e Funcionamento

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E

Controladores Lógicos Programáveis

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Transcrição:

1345 Arquitectura de Computadores Relatório do 2º Teste formativo Ano lectivo 1999/2000 Resolução da questão 1 O mapa de memória pedido é o seguinte: Endereço do fim da página FFFFH DFFFH BFFFH 9FFFH 7FFFH 5FFFH 3FFFH 1FFFH Página 7 Página 6 Página 5 Página 4 Página 3 Página 2 Página 1 Página 0 Endereço do início da página E000h C000H A000H 8000H 6000H 4000H 2000H 0000H A partir do mapa de memória anteriormente apresentado, se conclui que a selecção das páginas de memória de é feita a custa dos 3 bits mais significativos do espaço de endereçamento. A determinação da página de a seleccionar é feita de acordo com a tabela de verdade a seguir apresentada. A15 A14 A13 Intervalo CS_PG7 1 1 1 E000H-FFFFH CS_PG6 1 1 0 C000H-DFFFH CS_PG5 1 0 1 A000H-BFFFH CS_PG4 1 0 0 8000H-9FFFH CS_PG3 0 1 1 6000H-7FFFH CS_PG2 0 1 0 4000H-5FFFH CS_PG1 0 0 1 2000H-3FFFH CS_PG0 0 0 0 0000H-1FFFH

Outra forma de chegar a mesma conclusão, consiste em lembrar-nos de que no espaço de endereçamento de 64K somente há espaço para 8 página de memória de (Como é obvio isto implica que nenhuma das paginas de tem o seu espaço de endereçamento parcial/totalmente sobreposto ao de outra(s) página(s) de ). O circuito da figura a seguir apresentada implementa a função requerida: Foi assumida a existência dos sinais WR e RD (lógica positiva) derivados dos sinais RD e WR do CPU. O sinal de IO / M funciona como um trinco que inibe o circuito de descodificação das páginas de memória de quando o CPU pretende aceder a um qualquer porto de entrada/saída. Resolução da questão 2 Para a implementação da página de memória de x8 a partir dos módulos RAM 2114A, seguiremos o seguinte raciocínio: Para implementar um endereçamento de são necessários 13 bits (A12-A0). Para endereçar as 2114A, 1Kx4 são necessários 10 bits (A0-A9). De aqui facilmente se conclui que os 10 bit LSB do espaço de endereçamento da página de irão directamente as entradas de endereçamento das RAMs, pelo que só precisamos dos 3 bit mais significativos do espaço de endereçamento de para seleccionar os diversos pares de 2114A necessários a implementação do módulo. São precisos 8 pares de 2114A para implementar uma página de x8. As próximas figuras tornarão o raciocínio mais explícito. A entrada que faz a desinibição do circuito responsável pela descodificação dos módulos de 1K na página de (CS_PG#) está ligada a 1 e 2º Teste Formativo 2

somente 1 das saídas do circuito de descodificação das páginas de (CS_PG0...CS_PG7). Isto garante que somente o circuito que faz o mapeamento dos módulos de 1K nas páginas de, pertencente a página de que se encontra seleccionada, se encontra activo. CIRCUITO RESPONSAVEL PELO MAPEAMENTO DOS MÓDULOS DE 1K (2114A) NA PÁGINA DE DIAGRAMA DE BLOCOS SIMPLIFICADO DE UMA PÁGINA DE MEMÓRIA DE x8 IMPLEMENTADA A CUSTA DE MÓDULOS DE 1Kx4 (2114A) Resolução da questão 3 2º Teste Formativo 3

A próxima figura apresenta o circuito de endereçamento dos 4 portos pelo método da selecção linear. Foi considerado a existência dos sinais de I/OR E I/OW (lógica positiva) e que as entradas das portas são igualmente activas a 1. O sinal de I/OR se encontra activo sempre que o CPU pretende fazer uma leitura sobre um porto de entrada. O sinal de I/OW pelo seu lado se encontra activo sempre que o CPU pretende fazer uma escrita sobre um porto de saída. Resolução da questão 4 Uma solução que satisfaz os requisitos estipulados é dada pela seguinte tabela de verdade: Bits do Address Bus A1 A0 0 0 Porto B - Saida 0 1 Porto A - Entrada 1 0 Porto D - Saída 1 1 Porto C - Entrada 2º Teste Formativo 4

O circuito de descodificação, encontra-se na seguinte figura: No que se refere aos programas pedidos, a seguir se apresentam as diversas listagens dos programas. Resolução da questão 5 ; ********************************************************** ; PROGRAMA:MAIOR ; FUNÇÃO:GUARDAR NO ENDEREÇO 0060H O MAIOR DOS CONTEÚDOS DAS ; MEMÓRIAS DE ENDEREÇOS ENTRE 0040H E 005FH ; CONTEUDOS RESTRINGIDOS ENTRE 0-127.EQU TABLE, H'0040 ;INICIO DA TABELA DE DADOS.EQU RANGE, H'01F ;NO DE ELEMENTOS.EQU RES, H'0060 ;ENDEREÇO DESTINO.ORG H'0000 ;INICIO DO PROGRAMA MAIOR: LXI H,TABLE ;HL PASSA APONTAR O INICIO DA ;TABELA MVI A,0 ;INICIA A COM O MENOR VALOR ;POSSIVEL MVI C,RANGE ;INICIALIZA CONTADOR LOOP: CMP M JNC L1 ;ACC >= M[HL]? MOV A,M ;NAO -> ACTUALIZA ACC L1: INX H ;SIM -> PASSA PARA A PROXIMA ;POSICAO DCR C ;DECREMENTA CONTADOR JNZ LOOP :FIM DE LOOP? STA RES ;AFECTA RES COM O MAIOR VALOR ;ENCONTRADO HLT.END Resolução da questão 6 ; ********************************************************** ; PROGRAMA:ALTERE 2º Teste Formativo 5

; FUNÇÃO:ALTERA PARA 00 OS CONTEÚDOS NEGATIVOS DETECTADOS NAS ; MEMORIAS DE ENDEREÇOS ENTRE 0030H E 0040H ;.EQU TABLE, H'0030 ;INICIO DA TABELA DE DADOS.EQU RANGE, H'010 ;NO DE ELEMENTOS.ORG H'0000 ;INICIO DO PROGRAMA ALTERE: LXI H,TABLE ;HL APONTA PARA O INICIO DA ;TABELA MVI C,RANGE ;INICIALIZA CONTADOR LOOP: MOV A,M ;ACC <- M[HL] ORA A JP L1 ;ACC >= 0? XRA A ;NAO -> ACC <- 0 MOV M,A ;ACTUALIZA M[HL] L1: INX H ;SIM -> INCREMENTA O APONTADOR ;PARA A PROX. ;POSICAO DCR C ;DECREMENTA CONTADOR JNZ LOOP ;FIM DE LOOP? HLT.END 2º Teste Formativo 6

Resolução da questão 7 ; ********************************************************** ; PROGRAMA:DESLOCAR ; FUNÇÃO:DESLOCAR UM LED ACESSO NUMA FILA DE 8 LEDS, FUNÇÃO DE ; 2 INTERRUPTORES LIGADOS A UM PORTO DE SAIDA. O SENTIDO DO DES- ; LOCAMENTO DEPENDE DO INTERRUPTOR I1 E A CONTINUAÇÃO OU PARAGEM ; DEPENDE DO INTERRUPTOR I2 ; ASSUME-SE QUE O INTERRUPTOR I1 ESTA LIGADO AO BIT A0 DA PORTA ; E O INTERRUPTOR I2 AO BIT A7 DA MESMA PORTA. ; CONSIDERA-SE AINDA QUE SE NO BIT A0 O VALOR FOR 0 ENTÃO O DESLO- ; CAMENTO É PARA DIREITA SE FOR 1 PARA ESQUERDA ; CONSIDERA-SE AINDA QUE SE BIT A7 DA PORTA ESTIVER O VALOR 1 QUE O ; DESLOCAMENTO ESTA AUTORIZADO, CASO CONTRARIO QUE ESTA INIBIDO. ; PARA EFEITOS DA FILA DE LEDS, CONSIDERA-SE AINDA QUE O LED SITUADO ; NA EXTREMIDADE MAIS A ESQUERDA ESTA LIGADO AO BIT A7 DA PORTA DE ; SAIDA ENQUANTO O QUE ESTA SITUADO MAIS A DIREITA ESTA LIGADO AO ; BIT A0 ; ASSUME-SE AINDA QUE O REFRESCAMENTO É FEITO SENSIVELMENTE DE SEG. ; EM SEGUNDO, QUE EXISTE UMA ROTINA DE DELAY APROPRIADA, QUE A PORTA ; DE ENTRADA SE ENCONTRA NO ENDEREÇO 10H E A PORTA DE SAÍDA NO ENDERE-; ÇO 11H..EQU STACK, H'2000 ;INICIO DA PILHA.EQU PORT_A, H'10 ;PORTA DE ENTRADA.EQU PORT_B, H'11 :PORTA DE SAIDA.EQU LED_INICIO, H'01 ;CONFIGURAÇÃO INICIAL DOS LEDS.ORG H'0000 ;INICIO DO PROGRAMA INICIO: LXI SP,STACK ;INICIALIZA O SP MVI B,LED_INICIO ;INICIALIZAÇÃO COM A ;CONFIGURACAO ;DE INICIO FOREVER: CALL AUTORIZAR ;ROTINA QUE VERIFICA SE NO ;PORTO ;DE ENTRADA O INTERRUPTOR I2 ;ESTA DESINIBIDO CALL DESLOCAR ;ROTINA QUE FAZ O DESLOCAMENTO CALL DELAY ;ROTINA DE DELAY FORNECIDA JMP FOREVER AUTORIZAR: IN PORT_A ;DETERMINA SE I2 ESTA DESINIBIDO RAL RC JMP AUTORIZAR ;FAZ POLLING ENQUANTO NAO ESTIVER ;I2 DESINIBIDO DESLOCAR: RAR ;DESLOCAR O LED DE ACORDO COM I1 RAR JC ESQUERDA MOV A,B ;DESLOCAMENTO PRA DIREITA RRC ;(A7)<-(A0);CY<-(A0);(A[n])<- A[n+1]) OUT PORT_B MOV B,A RET ESQUERDA: MOV A,B ;DESLOCAMENTO PRA ESQUERDA RLC ;(A0)<-(A7);CY<-(A7);A[n+1])<-(A[n]) OUT PORT_B MOV B,A RET.END 2º Teste Formativo 7

Resolução da questão 8 Considerando que o display é activo a 0, e tendo em conta os dados apresentados na seguinte tabela, podemos determinar o valor a ser escrito no display de 7 segmentos. Bits da porta de saída BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 DIGITO Segmentos do display a b c d e f g 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 2 0 0 0 0 1 1 0 3 1 0 0 1 1 0 0 4 0 1 0 0 1 0 0 5 1 1 0 0 0 0 0 6 0 0 0 1 1 1 1 7 0 0 0 0 0 0 0 8 0 0 0 1 1 0 0 9 ;*************************************************************** ; PROGRAMA:CONTAGEM ; FUNÇÃO:COMANDAR POR RELOGIO EXTERNO, ATRAVES DA ENTRADA ; RST6.5 O RITMO A QUE É INCREMENTADO UM DIGITO QUE É ; VISUALIZADO NUM DISPLAY 7 SEGMENTOS (0->1->2->..9->0->..) ; TENDO EM CONTA QUE A ENTRADA RST 6.5 É ACTIVADO POR NÍVEL, ; TER-SE-A QUE SIMULAR POR SOFTWARE Á ACÇÃO ACTIVADO POR FLANCO.EQU STACK, H'2000 ;INICIO DA PILHA.EQU PORT_B, H'11 :PORTA DE SAIDA.EQU DISPLAY_INICIO, H'00 ;CONFIGURACAO ;INICIAL DOS LEDS.ORG H'0000 ;INICIO DO PROGRAMA INICIO: LXI SP,STACK ;INICIALIZAÇÃO DO SP MVI A, H'0D ;ACC <- 00001101 SIM ;DESMASCAR O RST6.5 MVI B,DISPLAY_INICIO ;INICIALIZA O CONTADOR ;DE DIGITOS LOOP1: CALL CONVERSAO_DYS ;ACTUALIZA DISPLAY DE ;7 SEGMENTOS COM O ;VALOR DO DIGITO ;ARMAZENADO NO REG B EI HLT ;AGUARDA ACÇÃO DE ;INTERRUPT 2º Teste Formativo 8

INR B MOV A,B CPI H'0A ;CHEGAMOS A 10? JM LOOP1 ;NAO -> CONTINUA LOOP MVI B,DISPLAY_INICIO ;SIM ->FAZ ;INICIALIZAÇÃO AO ;CONTADOR JMP LOOP1 ;REPETE O CICLO SEM ;FIM ;*************************************************************** ;A ROTINA CONVERSAO_DYS EXECUTA UMA TABLE LOOKUP, UTILIZANDO ;COMO INDICE PARA A TABELA O ENDEREÇO CONSTITUIDO PELA BASE (O ;APONTADOR [HL] QUE CONTEM O INICIO DA TABELA) E UM OFFSET ; CONSTITUIDO POR UM APONTADOR DE 2 BYTES (PAR DE), NO QUAL O ;REGISTO [E] E AFECTADO COM O VALOR DO DIGITO A SER VISUALIZADO CONVERSAO_DYS: LXI LXI MOV MOV DAD MOV OUT RET H,TABLE_SEG D,H'0 A,B E,A D A,M PORT_B.ORG H'34 ; ROTINA DE ATENDIMENTO DO RST 6.5 RST65: PUSH PSW ;SALVAR TODOS OS REGISTO DO CPU ;NO STACK PUSH B PUSH D PUSH H INNER: RIM ;RECOLHER NO ACC A IMAGEM DO RST ;QUE REQUEREM ATENDIMENTO ANI H'20 ;EXTRAIR EXCLUSIVAMENTE ;INFORMAÇÃO ;SOBRE A ENTRADA RST 6.5 JNZ INNER ;ENQUANTO ESTIVER ACTIVA ;AGUARDAR. ESTA SENDO SIMULADA ;POR SOFTWARE A ACÇÃO ACTIVADO ;POR FLANCO POP H ;RESTAURAR TODOS OS REGISTO DO ; CPU A POP D ;PARTIR DO STACK POP B POP PSW RET TABLE_SEG:.DB H'01 ; DIGITO 0.DB H'4F ; DIGITO 1.DB H'12 ; DIGITO 2.DB H'06 ; DIGITO 3.DB H'4C ; DIGITO 4.DB H'24 ; DIGITO 5.DB H'60 ; DIGITO 6.DB H'0F ; DIGITO 7.DB H'00 ; DIGITO 8 2º Teste Formativo 9

.DB H'0C ; DIGITO 9.END 2º Teste Formativo 10