Problemas de Arquitectura de Computadores IST - Taguspark 2016/2017 Endereçamento. Prob 3 a 12 de Abril de 2017 (semana 12) 1 Objectivos Aprender a desenhar sistemas de memória e interfaces com periféricos destinados a um microcomputador. 2 Arquitectura A arquitectura de memória a usar está representada na figura 1. Esta arquitectura destina-se a ser usada pelo processador PEPE cuja interface se recorda na figura 2.
UART A0-A15 D0-D15 A?-A? RP A0-A9 WR RAM P Data_P A?-A? RI A0-A9 WR RAM I Data_I A11 A12 A13 A15 Vcc A14 A0 A1 A2 En0 En1 En2 X/Y O0 O1 O2 O3 O4 O5 O6 O7 Rom P1 C/nD WR Gnd Rx Tx A1-A11 Rom A0-A10 OE ROM A Data_P A0-A10 OE ROM B Data_I Figura 1 Arquitectura de memória e periféricos BGT BRT WAIT A15..A0 DATA_I DATA_P 16 0 INTA INT3 INT2 INT1 INT0 PEPE BA RESET Figura 2 Interface de sistema do PEPE O processador PEPE é caracterizado por ter um barramento de dados de 16 bits para acesso a palavras (words) mas que pode aceder separadamente a octetos (bytes) em memória, usando, para tal, apenas metade do barramento de dados. No caso do acesso a octetos (instruções MOVB), o PEPE usa o Data_P, no acesso a endereços pares, e o Data_I no acesso a endereços ímpares, sendo o Data_P projectado sobre os bits mais
significativos (D15-D) e o Data_I sobre os menos significativos (D7-D0), caso o processador esteja configurado em Big Endian (em Little Endian seria o oposto). 3 Primeira parte (análise de um sistema de memória) Vamos, em primeiro lugar, resolver um problema de análise sobre a arquitectura apresentada na figura 1. Problema 1 Considere o sistema de memória representado na figura 1 e que se destina a ser usado num microcomputador baseado no PEPE. a) Qual a dimensão de cada uma das ROMs e qual o espaço de endereçamento ocupado pelo sistema de ROMs? b) Qual a dimensão de cada uma das RAMs? c) Em que endereços do espaço de endereçamento do PEPE estão mapeadas as ROMs? d) Em que modo devem ser as ROMs acedidas, modo byte ou word? Justifique. 4 Segunda parte (modificações ao sistema de memória) Vamos agora resolver um problema de projecto de sistemas de memória usando ainda a arquitectura apresentada na figura 1. Problema 2 Considere o sistema de memória representado na figura 1 e que se destina a ser usado num microcomputador baseado no PEPE. a) Quais os bits do bus de endereços que devem ser ligados às duas RAMs para que se tenha uma zona de memória RAM de 2K bytes no total? (Nota: pretende-se que as RAMs sejam acedidas quer em modo byte, quer em modo word). b) Projecte a lógica necessária para que o sistema de RAM possa ser usado (leitura/escrita) em modo byte com uma capacidade de 2Kx bits, mas que possa ser igualmente usado (leitura/escrita) em modo word com uma capacidade de 1Kx16 bits c) Faça as ligações necessárias de tal forma que o sistema de RAM esteja projectado a partir de 6000H. d) Faça as ligações necessárias para que a UART representada possa ficar acessível a partir do endereço 7C0H e apenas nos endereços pares. Utilize para isso uma PROM 74S2 (32 palavras com 2 sinais de enable activos a LOW). e) Escreva um pequeno troço de código em Assembly do PEPE que ilustre a forma de aceder aos registos internos desta UART.
5 Terceira Parte (problemas propostos) Problema 3 Dispõe de um sistema com um bus de endereços com16 bits (A O a A 15 ) e um bus de dados com bits (D O a D 7 ). a) Escreva, em hexadecimal, o número de palavras potencialmente endereçáveis por esse sistema. b) Se as memórias disponíveis para configurar o sistema forem ROMs de 1Kx4 e RAMs de 2Kx4, qual a capacidade de memória com que o sistema fica? c) Faça o logigrama do sistema descrito na alínea anterior, sabendo que cada memória dispõe de uma entrada de activa a LOW, de modo a que a memória ROM fique localizada nos endereços menores e a memória RAM nos endereços maiores. Pode usar para o efeito descodificadores de 3 entradas e saídas e as gates necessárias. Problema 4 Um sistema de acesso a memória possui um bus de endereços com 16 bits (A O a A 15 ) e um bus de dados de bits (D O a D 7 ). a) Se as memórias para configurar o sistema forem 2 ROM de Kx e RAM de 2Kx, qual a capacidade de memória com que o sistema fica? b) Faça o logigrama do sistema descrito com as memórias referidas na alínea anterior, de modo a que a memória ROM fique localizada nos endereços menores de memórias (a partir do endereço OOOOH) e a memória RAM fique localizada na zona de menores endereços da metade superior da memória (a partir do endereço 000H). A leitura de informação consecutiva em ROM é feita alternadamente da ROM1 e da ROM 2. Qualquer das memórias ROM ou RAM tem uma entrada de activa a LOW. Problema 5 Considere um sistema com um bus de endereços de 16 bits (A0 a A15) e um bus de dados com 16 bits igualmente (D0-D15). O bus de controlo deste sistema contém, entre outros, os sinais de e WR activos a LOW e um sinal de BHEN que quando está LOW indica que se pretendem ler os bits mais significativos do bus de dados (D- D15) e quando está HIGH que é inibida essa leitura. A sua conjugação com o bit de endereço. A0 permite ler o bus de dados de três formas distintas: (1) D0-D15, (2) D0- D7 e (3) D-D15 neste caso deslocados para as linhas D0-D7. Pretende dotar-se este sistema de K bytes de memória RAM usando memórias de 2Kx com um sinal de e um sinal de WE ambos activos a LOW. Esta memória deve ficar localizada a partir do endereço 1000H. a) Faça o logigrama das ligações destes dispositivos de memória ao sistema usando como descodificador uma PROM de 16 palavras de bits, que tem além das entradas de endereços e saídas activas a zero, um sinal de OE/ que quando a HIGH permite pôr todas as saídas a HIGH.
b) Especifique o conteúdo de cada uma das 16 palavras da PROM.