Hallo, hier eine Frage zum Aufgabenteil d) :
Diese Aufgabe soll den Zweck eines Adressdekoders und dessen
Dimensionierung verdeutlichen. Zu diesem Zweck sind die hier verwendeten
Speicherbaustein-Kapazitäten und -Organisationen bewusst klein gehalten
und entsprechen nicht den Dimensionen heutige Speicherbausteine. Das
Prinzip gilt jedoch grundsätzlich.
Für einen 8-Bit-Mikroprozessor mit 16-Bit Adresswortbreite ist ein
Speicher-/Eingabe-Ausgabesystem mit isolierter EA-Adressierung
(Steuerleitung IO/M) zu entwerfen. Die Resetadresse sei 0.
1. Speicher:
Der Speicher soll jeweils zur Hälfte aus ROM und aus RAM bestehen. Es
sind ROM-Bausteine mit der Organisation 16K x 8 (d.h. 16K Adressumfang
und 8 Bit Datenwortbreite) und RAM-Bausteine 8K x 4 (d.h. 8K
Adressumfang und 4 Bit Datenbreite) verfügbar.
a) Welcher Speichertyp muss durch die Reset-Adresse adressiert werden?
Antwort ROM, da RAM temporärer Speicher ist
b) Skizzieren Sie den Speicherbelegungsplan (Memory map).
Tragen Sie zur Kontrolle folgende 16-Bit-Übergangsaddressen als
Hexadezimalzahl in die Antwortfelder ein:
Höchste Adresse des niedrigsten ROM-Adressbereiches:
3FFF
Unterste Adresse des höchsten RAM-Adressbereiches:
E000
Wie viele Bausteine werden von jedem Speichertyp verwendet?
ROM-Baustein:
2
RAM-Baustein:
8
c) Wie viele Adressleitungen haben die verwendeten ROM- und
RAM-Bausteine?
ROM-Baustein:
14
RAM-Baustein: Antwort
13
d) Skizieren Sie die Wahrheitstabelle für den Adressdecoder und
schreiben Sie die Gleichungen für die durchnummerierten und low-aktiven
Chip-Select-Leitungen /CSROM,0 .... /CSROM,x und /CSRAM,0 ... /CSRAM,y
auf. Die Leitung IO/M ist dabei zu berücksichtigen. Tragen Sie zur
Kontrolle folgende /CS-Gleichungen in die Antwortfelder ein:
Musterbeispiel:
a15+a14+a13+/a12+a11+/io/m für: a15 oder a14 oder a13 oder nichta12 oder
nichtio/m)
Für den niedrigsten ROM-Adressbereich: /CS =
Für den obersten RAM-Adressbereich: /CS =
Nun frage ich mich, wie ich die Gleichung /CS aufstelle.
Aufgabenteile a,b,c sind richtig.
Meine Wahrheitstabelle sieht wie folgt aus:
A15 A14 A13 A12 A11 A10
Ram3
FFFF 1 1 1 1 1 1
E000 1 1 1 0 0 0
Ram2
DFFF 1 1 0 1 1 1
C000 1 1 0 0 0 0
Ram1
BFFF 1 0 1 1 1 1
A000 1 0 1 0 0 0
Ram0
9FFF 1 0 0 1 1 1
8000 1 0 0 0 0 0
ROM1
7FFF 0 1 1 1 1 1
4000 0 1 0 0 0 0
ROM0
3FFF 0 0 1 1 1 1
0000 0 0 0 0 0 0
Aufgefallen ist mir schon mal, dass bei den ROM A15=0 und bei den RAM
A15= 1 ist