6 Speicherstruktur und Datenpfade 6. Folie 1 Speicherstruktur und Datenpfade Bisher: • Flipflops zur Speicherung binärer Information (1-bit) • Register zur temporären Datenmanipulation Datenspeicherung und Aufgabe: Speicherung und Transport größerer Datenmengen Lösung: R1 R2 R5 R3 R6 R4 k=4, m=4 ⇒ 16 Bit k=8, m=2 ⇒ 16 Bit Bus mit k = 4 bzw. k = 8 Bus mit Zeitmultiplex-Betrieb Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade 6.1 Folie 2 Prinzipielle Speicherzugriffsmethoden • Speicher mit eingeschränktem Zugriff auf die Daten: FIFO und LIFO • Speicher mit freiem Zugriff: RAM 6.1.1 FIFO Struktur: First In - First Out n Register QA B QB C QC D QD PI P0 < A Beide Busse haben eindeutige Datenflussrichtung < T Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 3 6.1.2 LIFO Struktur: Last In - First Out Der Aufbau ist ähnlich wie bei einem FIFO, jedoch jetzt mit umschaltbarer Schieberichtung. Als Bezeichnungen werden auch die Begriffe Keller- oder Stapelspeicher verwandt. A B PI PO C Der gemeinsame I/O-Bus hat bidirektionale Datenflussrichtung D T I/O Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 4 6.1.3 Random Access (RAM) Interessent Auswahlschaltung * Richtung * Takt *… R1 R2 R3 Steuerbus Adress- Datenbus bus Grundlagen der Technischen Informatik 1 Register Version: WS07/08 6 Speicherstruktur und Datenpfade 6.2 Folie 5 Busse 6.2.1 Einleitung In den bisher betrachteten Schaltungen haben wir Verbindungen zwischen Gattern betrachtet, die nur in einer Richtung arbeiten, sie sind unidirektional. Dies bedeutet, dass jeder Ausgang einer Komponente nur mit dem Eingang oder den Eingängen der nächsten Komponenten verbunden ist. Im Gegensatz dazu stehen Busse. Sie haben die Eigenschaft mehrere Ausgänge anzubieten, wobei zu einem Zeitpunkt immer nur einer der Ausgänge aktiv sein darf. Bussysteme werden eingesetzt, um die Anzahl der Verbindungen zwischen den verschiedenen Einheiten eines Systems enorm zu reduzieren. Dies ist insbesondere bei großen Einheiten mit langen Verbindungen wichtig. 6.2.2 Hierarchie der Busse in digitalen Systemen Aufgabe: Kommunikation zwischen... Register-Bus ALU, CU und Registern typisches Übertragungsmedium Beispiele Metallische Schichten auf Mikrochips typische Datenraten [MB/s] <1000 CPU-Bus CPU und Hauptspeicher Geätzte Leiterbahnen bzw. CPU und Cache auf Platinen System-Bus Hauptplatine und z.B. Grafikkarte Geätzte Leiterbahnen auf Platinen (E)ISA-Bus, PCI-Bus <200 E/A-Bus Hauptplatine und E/Asowie Massenspeichergeräten Flachbandkabel, Rundkabel SCSI-Bus <80 Netz-Bus Computersystemen Koaxkabel, Twisted Pair, Satellitenverbindung Ethernet (LAN), ATM <20 Grundlagen der Technischen Informatik 1 <400 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 6 6.2.3 Bidirektionaler Signalverkehr Eigenschaften dieser Lösung: Ö Große Anzahl an Verbindungen Ö Lange Verbindungen (falls physikalisch unterschiedliche Einheiten) Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 7 Dies führt zu der Verbindung von Komponenten mit einem Bus. Busse erlauben den bidirektionalen Datenverkehr zwischen mehreren Teilnehmern über ein gemeinsames Leitungsbündel. Serielle Busse sind lediglich ein Sonderfall, bei dem die bitparallele Übertragung seriell durchgeführt wird. Spezielle Eigenschaft: Zu jedem beliebigen Zeitpunkt • • darf nur ein Sender aktiv sein (Eindeutigkeit der Nachricht), dürfen beliebig viele der angeschlossenen Empfänger diese Nachricht empfangen. Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 8 6.2.4 Open-Collector-Treiber TTL-OC-Gatter: Schaltungssymbol (NAND): U cc E1 E2 & A A E1 E2 Die Zusammenschaltung mehrerer Treiber auf dem Bus erfolgt ausnahmsweise durch direkte Verbindung der Gatterausgänge und Verbindung mit einem externen Pull-up-Widerstand. V CC R OC1 OC2 OC3 ... A ... ... • Sobald mindestens ein Transistor durchschaltet, ist A = 0 (UA ≈ 0,2V) • Wenn alle Transistoren sperren, ist A = 1 (UA ≈ VCC) • Ein Transistor ist durchgeschaltet, wenn UBE > 0,7 V • Ein Transistor ist gesperrt, wenn UBE ≤ 0,7 V UBE ergibt sich als Folge der logischen Verknüpfung der Eingänge der einzelnen Gatter Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 9 Die Zusammenschaltung mehrerer Open-Collector-Ausgänge mit einem Widerstand (oft als Pull-up-Widerstand bezeichnet) ergibt eine zusätzliche Verknüpfungsfunktion: Daher die Bezeichnung Wired AND. Aufgrund oben ausgeführter Überlegungen zu den Spannungsverhältnissen am gemeinsamen Knoten ergibt sich die logische Funktion eines UND-Gatters. Als weitere Vereinbarung muss für die Definition von Busschaltungen festgelegt werden, dass bei nicht-aktiven Sendern die Ausgangstransistoren sperren (also eine logische 1 auf den Bus schalten), damit der aktive Treiber allein über den Zustand der Leitung entscheiden kann. Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 10 6.2.5 Tri-State Technik TTL-TS-Gatter: Ucc T A D EN T GND Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade EN D Folie 11 A Inverter mit Tri-State-Ausgang 1 D A EN Funktion: EN D T1 T2 A 0 0 0 0 Z 0 1 0 0 Z 1 0 1 0 1 1 1 0 1 0 A D D A Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 12 Eine Busschaltung mit Tri-State-Gattern entsteht durch Zusammenschaltung der Ausgänge und hat folgende Eigenschaften: • Z-Zustände haben keinen Einfluss auf den Pegel der Busleitung (hochohmig), • es ist kein Pull-up-Widerstand erforderlich, • es muss kein Signalpegel als passiv definiert werden, • 0- und 1-Pegel sind gleichermaßen stark getrieben. Vorteile : Nachteile: Die Tri-State-Technik hat sich beim Rechnerbau gegenüber der Open-Collector-Technik durchgesetzt. Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Grundlagen der Technischen Informatik 1 Folie 13 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 14 Eine Kombination von Tri-State-Technik und Richtungsumschaltung ergibt den häufig verwendeten bidirektionalen Bustreiber: EN D 1 1 A EN E DIR E: gemeinsamer Enable; DIR: Richtungsdefinition E 1 1 0 DIR Aktion 0 1 X Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 15 6.2.6 Speicherstruktur in integrierten Schaltungen Grundelement: Adressierbare 1-Bit-Speicherzelle D In & & D Out A Anordnung im integrierten Halbleiterspeicher: Adressen Dec. Speichermatrix mit mxn Zellen Schreib-/Leseschaltung Daten Steuerleitungen Steuerlogik m Worte mit n Bit Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 16 Organisationsformen: a) Wortweise Adressierung 11 1n m1 mn Adresse Dec. Bit 1 Daten Bit n Schreib-/Lese-Schaltung b) Bitweise Adressierung Y-Adresse 11 1n m1 mn X-Adresse Dec. S/L Datum Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 17 Adressierung Wortweise Bitweise CS 1 D11 D10 Dn1 CSyn CSy1 n 1 D n0 n CSx D1 D0 Vorteile Nachteile Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 18 6.2.7 Ansteuerung des Speichers Chip Select CS Output Enable OE Read/Write R/W Steuerlogik Schreib-/ Leselogik CS OE R / W Speicherfunktion 0 1 0 schreiben 0 0 1 lesen 1 X X inaktiv Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 19 R / W ist als Impuls definiert (nicht als Flanke), um Toleranzen der Transportzeiten bei den Daten zu erlauben. Der Speicherzugriff erfolgt daher in Zyklen: a) Lesezyklus Adr. CS R/W Freigabe der Daten OE Daten tA tCS tZ tA: tOE: tZ: tCS: t OE Adresszugriffszeit Output enable Zykluszeit (Chip Select) Zugriffszeit Achtung: tA < tZ, erst nach Ablauf von tZ kann neuer Lesevorgang beginnen. 1. 2. Anlegen der Adresse CS (aus Adresse gefolgert) 3. 4. Output frei schalten OE = 0 nach tOE müssen gültige Daten vorliegen ! ⇒ Nach dem Anlegen der Adresse muss eine gewisse Zeit tA gewartet werden, bis die Daten aufgrund der internen Schaltund Laufzeiten (tCS, tOE) am Ausgang gültig sind. Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 20 b) Schreibvorgang Adr. CS R/W OE Daten tZ tCS t R/W t D1 tZ: Zykluszeit t R / W : Schreibimpuls tAS: Address Setup Time (von Start tz (Das Schreibsignal muss eine Mindestdauer aktiviert sein) tCS: (Chip Select) Zugriffszeit tDI: Haltezeit der Daten (tDI = tDW + tH) tDW: Mindesthaltezeit von Daten und Adresse vor der positiven Flanke von R / W tH: Mindesthaltezeit beginnend mit der pos. Flanke von R / W Mit der positiven Flanke von R / W werden die Daten eingelesen. Dazu müssen sie eine Mindestzeit tDW stabil angelegen haben und noch eine Mindestzeit tH anliegen. 1. 2. 3. 4. Anlegen der Adresse CS (aus Adresse gefolgert) stabile Daten für den Zeitraum tDI die positive Flanke von R / W bedeutet das eigentliche Lesen vom Bus Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 21 6.2.8 Speicherarten Realisierung der 1-Bit-Speicherzellen entscheidet über die Funktionen • RAM: random access memory Schreib-/Lesespeicher flüchtiger Speicher: Speicherinhalt geht ohne Stromversorgung verloren • Flipflop -> statisches Element (SRAM) • Transistoren plus Kapazitäten (die den Zustandspeichern, Kondensator verliert Kapazitäten, Auffrischen nötig (refresh))-> dynamisches Element (DRAM) Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade • ROM: Folie 22 read only memory Festwertspeicher “0” Nur ein Element entscheidet + “1” uber 0- oder I-Zustand Schematischer Aufbau: hohe Komplexitat mögliche Realisierung: A0 A1 Adress-Decoder Rw Rw D Rw Rw vereinfachte Darstellung: RL Leseverstärker D3 RL D2 RL RL D1 D0 Nicht flüchtiger Speicher. Der Hersteller entscheidet über den Speicherinhalt (fest). Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade • PROM: Folie 23 programmable ROM programmierbarer Festwertspeicher Ax Dx S: fusible link, Schmelzsicherung Der Anwender kann den Speicherinhalt einmalig von 1 auf 0 "brennen" (Koppelelemente werden einmalig durch einen Überstrom weggebrannt von 1 auf 0. „Kappen der Dioden“ / „Durchbrennen der Sicherungen“) • EPROM: erasable PROM (MOS-ROM-Zelle mit “floating gate”) Programmierung über Spannungsimpulse (isolierte Kondensatorplatte). Keine Ladung Æ Kanal leitet Ladung speichert Æ Kanal gesperrt Löschen über UV-Licht. Programmierung und Löschen des ROM durch den Anwender möglich. Es sind aber aufwendige und zeitraubende Verfahren erforderlich, da jeweils das EPROM ein- und ausgebaut werden muss. (Ladung kann über Jahre gespeichert werden.) • EEPROM: electrical EPROM (ähnlich EPROM) Programmierung und Löschen kann über den eingebauten Zustand erfolgen. (Elektronische Spannung) Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade • Folie 24 PLA: programmable logic array (programmierbare logische Anordnung) Aus PROM abgeleitet: PROM dekodiert jede der 2k möglichen Adressen und gibt das entsprechende Datenbit wieder. - PLA hat nur ausgewählte (programmierte) Adressen, denen der Wert I zugeordnet wird. - PROM Programmierbarer Inhalt PAL 1 1 1 vollständige UND Marix 1 1 Programmierbare UND Matrix 1 AdressDecoder ODER Matrix Register ODER Matrix Vorteile der PALs: - - - große Freiheit bei der Darstellung logischer Funktionen dabei geringerer Aufwand/Kosten als bei Programmierung der vollständigen Wertetabelle im ROM durch unterschiedliche Kombination der Wortbreite von Ein- und Ausgängen sowie eventuell interne Register als Rückkopplung ergeben sich äußerst flexible und preisgünstige Bauelemente (zum reinen Speichern ungeeignet wegen geringer Kapazität) Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 25 Auswahlkriterien: • Geschwindigkeit • Kapazität • Wortbreite (Organisation) • Möglichkeiten zum Ändern / Sichern der Inhalte Zusammenfassung: UND ODER ROM fest fest PROM/EPROM fest programmierbar PAL programmierbar fest PLD programmierbar programmierbar Grundlagen der Technischen Informatik 1 Version: WS07/08 6 Speicherstruktur und Datenpfade Folie 26 6.2.9 Struktur und Anwendung im System Die Adressierung aller Speicherplätze erfolgt Zentraleinheit über eine Hierarchie von Decodern: von der Datenbus Speicher Systemdecoder AdressA n A0 bus Speicher Speicher Decoder An A0 Ak A0 In modernen Prozessorsystemen existieren spezielle Bausteine zur Adressverwaltung (Umrechnung virtueller in physikalische Adressen). Dies ändert jedoch nichts am hier dargestellten Prinzip. Grundlagen der Technischen Informatik 1 Version: WS07/08