Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
hardware:bussystem [2025/11/23 15:23] swehardware:bussystem [2025/12/20 14:53] (current) – external edit 127.0.0.1
Line 1: Line 1:
 # Bus (Binary Unit System) # Bus (Binary Unit System)
  
-{{ :hardware:von-neumann-bekannt.drawio.svg?600 |}} 
  
---- 
  
-{{ :hardware:von-neumann-5-komponenten.drawio.svg?600 |}} +{{:hardware:bussystem.drawio.svg?800}}
- +
---- +
- +
-{{ :hardware:bussystem.drawio.svg?600 |}}+
  
 ### Systembus – Prinzip ### Systembus – Prinzip
Line 28: Line 22:
 * **Steuerung:** Vom Master (CPU) gesteuert. * **Steuerung:** Vom Master (CPU) gesteuert.
 * Unidirektional (CPU → Speicher/Peripheriegeräte).   * Unidirektional (CPU → Speicher/Peripheriegeräte).  
 +
 +{{:hardware:von-neumann-datenbus-kernspeicher.svg?800}}
  
 ### Steuerbus (Control Bus) ### Steuerbus (Control Bus)
Line 34: Line 30:
 * Beinhaltet auch Leitungen für Taktung und Zugriffskontrolle. * Beinhaltet auch Leitungen für Taktung und Zugriffskontrolle.
 * Bidirektional (CPU ↔ Speicher/Peripheriegeräte).  * Bidirektional (CPU ↔ Speicher/Peripheriegeräte). 
- 
- 
---- 
- 
- 
-# Darstellung von Zeilen und Spalten bei einem 8-Bit-Adressbus 
- 
-Ein **8-Bit-Adressbus** kann insgesamt **$2^8 = 256$** Speicherzellen adressieren. 
- 
-Intern wird die 8-Bit-Adresse meist in **Zeilen (Row)** und **Spalten (Column)** aufgeteilt.  
- 
-Typisch ist eine **4-Bit-Zeilenadresse** und eine **4-Bit-Spaltenadresse**: 
- 
-$$ 
-A_7,A_6,A_5,A_4,A_3,A_2,A_1,A_0 
-$$ 
- 
-Aufteilung: 
- 
-$$ 
-\underbrace{A_7,A_6,A_5,A_4}*{\text{Row (4 Bit)}}; 
-\underbrace{A_3,A_2,A_1,A_0}*{\text{Column (4 Bit)}} 
-$$ 
- 
-Damit ergibt sich: 
- 
-* Anzahl der Zeilen: 
- 
-$$ 
-2^4 = 16 
-$$ 
- 
-* Anzahl der Spalten: 
- 
-$$ 
-2^4 = 16 
-$$ 
- 
-* Gesamt: 
- 
-$$ 
-16 \times 16 = 256 
-$$ 
- 
---- 
- 
-## Beispieladresse 
- 
-Adresse (binär): 
- 
-$$ 
-1011,0010 
-$$ 
- 
-Aufteilung: 
- 
-* Row: 
-   
-  $1011 = 11_{\text{dezimal}}$ 
-   
- 
-* Column: 
-  $$ 
-  0010 = 2_{\text{dezimal}} 
-  $$ 
- 
-Ergebnis: Zugriff auf Speicherzelle **Zeile 11, Spalte 2**. 
- 
- 
- 
-## Was ist *wirklich* im Chip? 
- 
- 
-**Intern** gibt es natürlich Verbindungen (Leiterbahnen). 
- 
-Aber auch hier gilt: Es sind **nicht 16×16 Drähte für jede einzelne Zelle**, sondern **organisierte Leitungen**, die zusammen mit Decodern arbeiten. 
- 
- 
- 
- 
- 
- 
-Eine Speicherzelle (insbesondere DRAM) besteht typischerweise aus: 
- 
-* **einem Transistor** 
-* **einem kleinen Kondensator** 
- 
-Diese Zellen liegen **in einer Matrix**, wie ein Koordinatensystem: 
- 
-``` 
-Zeilen   → Word Lines (WL) 
-Spalten → Bit Lines (BL) 
-``` 
- 
-Also: 
- 
-* **16 Word Lines (Zeilenleitungen)** 
-* **16 Bit Lines (Spaltenleitungen)** 
- 
-Damit kann man eine **16×16-Matrix = 256 Zellen** adressieren. 
- 
---- 
- 
-# 2. Warum braucht man keine 256 Drähte? 
- 
-Weil jede Zeile **eine gemeinsame Word Line** teilt 
-und jede Spalte **eine gemeinsame Bit Line**. 
- 
-Das Prinzip: 
- 
-* Jede der 16 Zeilenleitungen verbindet **alle Zellen in dieser Zeile**. 
-* Jede der 16 Spaltenleitungen verbindet **alle Zellen in dieser Spalte**. 
- 
-Die Kombination aus einer aktiven Word Line + einer bestimmten Bit Line führt direkt zu **genau einer Zelle**. 
- 
-Also: 
- 
-$$ 
-16\ \text{Word Lines} + 16\ \text{Bit Lines} = 32\ \text{interne Leitungen} 
-$$ 
- 
-Nicht 256. 
- 
---- 
- 
-# 3. Wie kommt das Adresssignal zu einer bestimmten Zeile/Spalte? 
- 
-Durch **Decoder**: 
- 
-* **Row Decoder**: Nimmt 4 Bits und aktiviert genau 1 von 16 Word Lines. 
-* **Column Decoder**: Nimmt 4 Bits und wählt genau 1 Bit Line. 
- 
-Also: 
- 
-* Von außen: **8 Bits Adresse** 
-* Im Chip: Aufgeteilt in 4 Bit Row + 4 Bit Column 
-* Decoder wählen 1 Word Line + 1 Bit Line 
-* Dadurch **Zugriff auf eine bestimmte Zelle** 
- 
---- 
- 
-# 4. Beispielhafte Darstellung 
- 
-### Externe Anschlüsse: 
- 
-``` 
-A7 A6 A5 A4 A3 A2 A1 A0   (8 Adressdrähte) 
-``` 
- 
-### Interne Struktur: 
- 
-``` 
-             Row-Decoder (4 Bit) 
-         ┌────────────────────────┐ 
-4 Bit →  │ aktiviert genau 1 WL   │ → 16 Word Lines 
-         └────────────────────────┘ 
- 
-             Column-Decoder (4 Bit) 
-         ┌────────────────────────┐ 
-4 Bit →  │ wählt 1 Bit Line        │ → 16 Bit Lines 
-         └────────────────────────┘ 
- 
-                   16 x 16 Zellen 
-           +---------------------------+ 
-WL0  →      o       o ...      | 
-WL1  →      o       o ...      | 
-             ...                   | 
-WL15 →      o       o ...      | 
-           +---------------------------+ 
-                ↑ 
-               BL (über Decoder ausgewählt) 
-``` 
- 
- 
- 
-**Ja, die Speicherzellen sind intern verdrahtet.** 
-Aber: 
- 
-* **Es sind keine 256 direkten Drähte** 
-* Sondern **32 interne Leitungen** (16 Word Lines + 16 Bit Lines) 
-* Und Decoder entscheiden, welche davon aktiv ist 
- 
-Das ist hocheffizient und spart Platz und Energie. 
- 
---- 
- 
-Ah, jetzt kommen wir zu einem klassischen Architekturthema: **Adressraum bei 32-Bit-Systemen**. Lass uns das Schritt für Schritt erklären. 
- 
---- 
- 
-# 1. Adressbusbreite vs. adressierbarer Speicher 
- 
-Die **Adressbusbreite** bestimmt, wie viele Speicherzellen ein Prozessor maximal adressieren kann: 
- 
-$$ 
-\text{adressierbarer Speicher} = 2^{\text{Adressbusbreite}} 
-$$ 
- 
-* Bei einem **32-Bit-Prozessor** sind **32 Adressleitungen** verfügbar. 
-* Also können theoretisch adressiert werden: 
- 
-$$ 
-2^{32} = 4.294.967.296 \text{ Adressen} 
-$$ 
- 
-* Meist gilt 1 Adresse = 1 Byte → **4.294.967.296 Byte = 4 GB**. 
- 
---- 
- 
-# 2. Warum nur 4 GB? 
- 
-* **32 Bit können binär maximal 2³² unterschiedliche Zahlen darstellen** (0 bis 4.294.967.295). 
-* Jede Zahl entspricht einer **Speicheradresse**. 
-* Damit kann der Prozessor **nicht mehr als 2³² Bytes = 4 GB** direkt adressieren, egal wie viel RAM physisch vorhanden ist. 
- 
---- 
- 
-# 3. Einschränkungen in der Praxis 
- 
-* Tatsächlich stand in alten Systemen manchmal sogar **weniger als 4 GB zur Verfügung**, z. B. wegen **Memory-Mapped I/O** (Grafikkarten, Peripherie blockieren Adressraum). 
-* Erst bei **64-Bit-Systemen** mit 64 Adressleitungen kann der theoretische Adressraum auf **16 Exabyte** wachsen (praktisch nutzbar deutlich kleiner). 
- 
---- 
- 
-# 4. Merksatz 
- 
-> **32 Bit → maximal 2³² Adressen → 4 GB RAM.** 
-> Mehr RAM geht nur, wenn der Prozessor mehr Adressleitungen hat (z. B. 36-Bit-PAE oder 64-Bit-Prozessor). 
- 
- 
- 
-