:TI-TECHNOLOGIE: Adress-Bus
Ansprechen einzelner Komponenten -AdressraumProblem: Die CPU möchte Daten mit den einzelnen Komponenten (RAM, ROM, I/O) austauschen, die Komponenten sind jedoch parallel an den Bussen angeschlossen.
Wie kann gewährleistet werden, daß jeweils nur eine Komponente angesprochen wird?
Mussten Sie schon einmal im BIOS eine Adresse für eine Komponente (z.B. Soundkarte) einstellen? Welche Möglichkeit wird in PC's gewählt?
| Adressen n | Rechnung | Leitungen | Adressbereich Binär | Adressbereich HEX |
|---|---|---|---|---|
| 2 | log2 2 = | 1 | 0 .. 1 | 0 .. 1 |
| 16 | log2 16 = | 4 | 0 .. 1111 | 0 .. F |
| 256 | log2 256 = | 8 | 0 .. 1111 1111 | 0 .. FF |
| 1k = 1.024 | log2 1024 = | 10 | 0 .. 11 1111 1111 | 0 .. 3 FF |
| 64k = 65536 | log2 65536 = | 16 | 0 .. 1111 1111 1111 1111 | 0 .. FF FF |
| 1M = 1.048.576 | log2 1M = | 20 | 0 .. 20 Einsen | 0 .. F FF FF |
| 1G = 1.073.741.824 | log2 1G = | 30 | 0 .. 30 Einsen | 0 .. 3F FF FF FF |
Wie viele Adressleitungen werden benötigt, um n unterschiedliche Adressen bilden zu können?
Folgerung: Ein 16 Bit Adressbuss hat einen Adressraum von 216 = 64k = 65536 Adressen.
| Komponente B | ||
|---|---|---|
| Adr.dezimal | Adr. HEX | Inhalt |
| 0 | 0 | 'e' |
| 1 | 1 | 'f' |
| .. | .. | |
| 14 | E | 'g' |
| 15 | F | 'h' |
| Komponente A | ||
|---|---|---|
| Adr.dezimal | Adr. HEX | Inhalt |
| 0 | 0 | 'a' |
| 1 | 1 | 'b' |
| .. | .. | |
| 14 | E | 'c' |
| 15 | F | 'd' |
Problem: Zwei Komponenten A und B mit einem Adressraum von jeweils 16 Adressen sollen an eine CPU angeschlossen werden.
Wie viele Adressleitungen benötigt eine der Komponenten?
Eine der Komponenten benötigt 4 Adressleitungen.
Wie groß ist der Adressraum beider Komponenten, wie viele Adressleitungen werden benötigt?
Der Adressraum beträgt 2*16 = 32 Adressen, es werden 4+1 = 5 Leitungen benötigt.
Welche Adresse (in HEX) muss die CPU auf den Adressbus legen, damit die Daten 'a' bis 'h' erreicht werden?
| Inhalt | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' |
|---|---|---|---|---|---|---|---|---|
| Adresse | 0 | 1 | E | F | 10 | 11 | 1E | 1F |
Verbinden Sie die CPU mit den beiden Komponenten A und B so, daß die Komponente A im Adressraum vor Komponente B erreicht wird.
Tipp: Sie dürfen weitere logische Gatter einfügen.
Konstruieren Sie eine Baugruppe, die aus 2 Adressleitungen 4 CE-Signale erzeugt.
| Komponente | Adressleitungen | Adressen-Anzahl | CPU-Adressbereich HEX |
|---|---|---|---|
| Rom | 4 | 16 | 0..F |
| I/O | 4 | 16 | 10..1F |
| Ram | 5 | 32 | 20..3F |
Problem: Eine CPU soll mit 3 Komponenten verschaltet werden:
Wie groß muss der Adressbereich der CPU sein (Leitungen)?
Füllen Sie die Tabelle aus, die Komponenten sollen nacheinander im CPU-Adressbereich angesprochen werden können.
Jede Komponente hat einen !CE-Eingang, entwickeln Sie unter Verwendung eines Adress-Dekoders (De-Multiplexers) einen Schaltplan!
Hinweis: Die Ausgänge des Adress-Dekoders sind invertiert (siehe Tabellenbuch), Sie dürfen ein weiteres Gatter Ihrer Wahl verwenden.