Gabarito Teste 3 EA078 U Micro e Minicomputadores: Hardware Prof. Antônio Quevedo Gabarito Teste 3 1. (4,0 pts) O que o hardware anexo ao microprocessador MC68000 deve fazer (quais os sinais devem ser ativados ou inativados, e por qual período) para introduzir 2 wait states em um ciclo de leitura de memória? O tempo mínimo de ciclo de leitura do MC68000 é de quatro ciclos de clock (ou oito estados). Para uma freqüência de clock de 8MHz, a duração de um ciclo de clock tem o valor: tcyc = 1/(8x106 ) = 125 ns Em um ciclo de leitura de duração mínima, não há estados de espera (wait states), e o sinal DTACK* (Data Transfer Acknowledge) precisa ser ativado (ir para nível lógico “0”) até um tempo tASI antes do final do estado S4 (tASI =20ns). Se isso não ocorrer, serão gerados estados de espera entre S4 e S5, até que DTACK* vá para nível lógico “0”, com uma antecedência de tASI antes da queda de nível do sinal de clock do próximo ciclo. Para que se introduza 2 estados de espera, o sinal DTACK* precisa ser atrasado o correspondente a um ciclo de clock (125ns), ou dois estados, a partir do ponto em S4 em que iria ser ativado (nível “0”), e precisa descer para nível baixo antes de 20ns do final do pulso de clock seguinte. 2. (6,0 pts) Em um sistema usando o processador MC68000, temos dois CIs de memória de 16k x 16 (16kWords), sendo um de EPROM (CI1) e outro de SRAM (CI2). Cada um dos CIs é ligado às linhas A01 até A14 . Para se decodificar a memória, se utiliza a linha A23 apenas, sendo que quando ela estiver em “L”, seleciona-se o CS* da EPROM e quando ela estiver em “H”, seleciona-se o CS* da SRAM. a) Qual o tipo de decodificação de memória usado neste exemplo? Justifique em poucas palavras. (2 pontos). b) Esboce o mapa de memória, informando o espaço de memória utilizado por cada bloco, bem como o número de repetições do bloco, se for o caso. (4 pontos) a) A decodificação é do tipo decodificação parcial de endereço. A justificativa é que a decodificação parcial não envolve todas as linhas de endereço do MC68000, o que é o caso aqui, em que se utiliza para a decodificação a linha A23 , e para o endereçamento as linhas A01 até A14 . b) Esboço do Mapa de Memória. Se a linha de endereço A23 estiver em nível lógico alto, estará endereçando a metade superior da área de endereçamento do MC68000, que vai de $800000 a $FFFFFF. Já se estiver em nível lógico baixo, estará endereçando a metade inferior, que vai de $000000 a $7FFFFF (223 = 8MB). O CS* da EPROM (CI1, de 16KWords) é ativado quando A23 está em nível baixo, e, portanto, o seu bloco de memória é repetido 256 vezes dentro da área de endereçamento de 1 Gabarito Teste 3 8MB, área esta definida pelo fato de A23 estar em nível lógico baixo. Já o CS* da SRAM (CI2, também de 16KWords) é ativado quando A23 está em nível alto, e, portanto, será repetido 256 vezes dentro do espaço de endereçamento de 8MBytes dos endereços superiores. O cálculo do número de repetições, tanto do bloco de EPROM, quanto do bloco de SRAM, está representado a seguir. 8MB / 16KW = 8MB / 32KB = 8388608 / (32 x 1024) = 256 repetições O mapa de memória para esta configuração pode então ser representado, como mostra a tabela 1. $000000 $007FFE $000001 M1 (EPROM) … $007FFF … $7FFFFE $7FFFFF $800000 $800001 $807FFE M2 (SRAM) $807FFF … … $FFFFFE Endereçamento de M1 se repete 256 vezes. Endereçamento de M2 se repete 256 vezes. $FFFFFF Tabela 1: Mapa de Memória para o Sistema usando o MC68000. 2