26.12.2013 Aufrufe

semi synchroner Systembus

semi synchroner Systembus

semi synchroner Systembus

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 9<br />

Zeitverhalten des Bussystems<br />

Systemsteuer- und<br />

Schnittstellenbausteine<br />

Ausnahmebehandlung<br />

DMA<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-1


Aufbau eines einfachen µP<br />

Betriebs-<br />

Spannungen<br />

Quarz<br />

Systemtakt<br />

RESET<br />

Register-<br />

satz<br />

Takt<br />

Steuerung,<br />

Decoder<br />

BR<br />

Statussignale<br />

Steuersignale<br />

ALU<br />

HR<br />

HR<br />

AC<br />

Adresswerk<br />

PC<br />

AP<br />

DBP<br />

ABT<br />

Datenbus<br />

Steuerbus<br />

Adressbus<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-2


<strong>Systembus</strong>-Schnittstelle<br />

Enthält diverse Zwischenspeicher-Register (Puffer) zur kurzfristigen<br />

Aufbewahrung von Adressen und Daten, z. B.<br />

‣ Befehlszähler: Adresse des nächsten Befehls<br />

(Instruction Pointer, Program Counter)<br />

‣ Adresspuffer: Adresse des gewünschten Operanden im<br />

Hauptspeicher<br />

‣ Datenbuspuffer: Wert des gerade bearbeiteten Operanden<br />

Enthält Aus- und Eingangstreiber (Tristate-Treiber)<br />

<strong>Systembus</strong>-<br />

Schnittstelle<br />

Datenbuspuffer<br />

Adresspuffer<br />

Befehlszähler<br />

+1<br />

Adressbuspuffer<br />

Datenbus<br />

Steuerbus<br />

Adressbus<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-3


9.1 Zeitverhalten der <strong>Systembus</strong>signale<br />

Synchroner <strong>Systembus</strong><br />

Semi-Synchroner Synchroner <strong>Systembus</strong><br />

A<strong>synchroner</strong> <strong>Systembus</strong><br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-4


9.1.1 Zeitverhalten eines synchronen <strong>Systembus</strong><br />

T: Buszyklus<br />

Ta<br />

T<br />

Tb<br />

Takt<br />

Adresse<br />

A n-1 ,..., A 0<br />

Lesen<br />

Daten D m-1 ,..., D 0<br />

R/W<br />

Schreiben<br />

Daten<br />

D m-1 ,..., D 0<br />

R/W<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-5


Timing<br />

Adresse wird zu Beginn des Buszyklus (Ta) auf den Adressbus gelegt<br />

Auswahl der Übertragungsrichtrung durch R/W<br />

Lesen (R/W = 1):<br />

‣ Speicher (oder andere Systemkomponente) liefert ihre<br />

Daten gegen Ende des Buszyklus (Tb)<br />

‣ Übernahme der Daten in den Prozessor mit der steigenden<br />

Flanke des Systemtakts<br />

Schreiben (R/W = 0):<br />

‣ Prozessor legt die Daten zu Beginn der zweiten Takthälfte<br />

(Tb) auf den <strong>Systembus</strong><br />

‣ Übernahme der Daten in den Speicher durch die steigende<br />

Flanke von R/W oder des Systemtakts<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-6


Synchroner <strong>Systembus</strong><br />

Alle Vorgänge synchron zum Takt nach einem starren<br />

Muster ablaufen <strong>synchroner</strong> <strong>Systembus</strong><br />

Übergabe und Übernahme der Daten geschieht zu<br />

festgelegten Taktflanken<br />

Synchrone Busse in den Anfangsjahren der µPen<br />

Nachteil: Alle am Bus angeschlossenen Komponenten<br />

müssen strenge Zeitvorgaben erfüllen<br />

Langsamste Komponente bestimmt die zulässige<br />

Geschwindigkeit des Busses, oder aber der Bus<br />

schließt den Einsatz von „schnellen“ Komponenten<br />

aus (z.B. keine schnelle Speicher )<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-7


9.1.2 Semi-<strong>synchroner</strong> <strong>Systembus</strong><br />

Ta<br />

T<br />

Tb<br />

Buszyklus = 4 Takte<br />

Takt<br />

Adresse<br />

A n-1 ,..., A 0<br />

Lesen<br />

Daten D m-1 ,..., D 0<br />

R/W<br />

Schreiben<br />

Daten D n-1 ,..., D 0<br />

R/W<br />

READY<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-8


Timing<br />

Lesen (R/W = 1):<br />

‣ hinreichend schneller Speicher liefert seine Daten im letzten<br />

Taktzyklus von (Tb)<br />

‣ Übernahme der Daten in den Prozessor durch die steigende<br />

Taktflanke des nächsten Buszyklus<br />

Schreiben (R/W = 0):<br />

‣ Prozessor legt die Daten zu Beginn der zweiten Takthälfte von<br />

(Ta) auf den <strong>Systembus</strong><br />

‣ Übernahme der Daten in den Speicher durch die steigende<br />

Flanke von R/W<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-9


Semi-<strong>synchroner</strong> <strong>Systembus</strong><br />

Um auch langsamere Speicher benutzen zu können:<br />

Steuereingang READY<br />

Buszyklus wird nur abgeschlossen, wenn rechtzeitig vor<br />

Ende von der Takthälfte (Tb) READY = 0ist<br />

Ist READY am Ende des Buszyklus nicht 0<br />

Es werden solange Wartezyklen (Tw, Dauer: z.B.<br />

halbe Buszykluslänge) eingefügt, bis READY = 0 wird.<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-10


Einfügen eines Wartezyklus<br />

Ta<br />

T<br />

Tw<br />

Tb<br />

Takt<br />

Lesen<br />

Adresse<br />

Daten<br />

A n-1 ,..., A 0<br />

D m-1 ,..., D 0<br />

R/W<br />

READY<br />

Schreiben<br />

Daten<br />

D m-1 ,..., D 0<br />

R/W<br />

READY<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-11


Semi-<strong>synchroner</strong> <strong>Systembus</strong><br />

Moderne Prozessoren besitzen höhere Taktfrequenzen<br />

Schreib- bzw. Lesezugriffe benötigen mehrere Taktzyklen<br />

Steuereingänge (READY) zur Synchronisation der<br />

Buszugriffe durch Einführung von Wartezyklen (wait states)<br />

unterschiedlich schnelle Speicher und Geräte<br />

können individuell bedient werden<br />

Bezeichnung: Semi-synchrone Busse (Synchrone Busse mit<br />

Wartezyklen)<br />

Timing:<br />

‣ Adresse zu Beginn des Buszyklus (Ta) auf den Adressbus<br />

‣ Auswahl der Übertragungsrichtung wieder durch R/W<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-12


Semi-<strong>synchroner</strong> <strong>Systembus</strong><br />

Bus ist immer noch synchron (streng am Takt orientiert),<br />

die Dauer eines Buszyklus ist jedoch nicht mehr fest,<br />

sondern in Vielfachen von Taktzyklen variierbar<br />

<strong>semi</strong>-<strong>synchroner</strong> <strong>synchroner</strong> <strong>Systembus</strong><br />

höherer Steueraufwand als <strong>synchroner</strong> <strong>Systembus</strong><br />

Zeitverhalten ist auf verschieden schnelle Bausteine<br />

anpassbar<br />

Sind nur ausreichend schnelle Bausteine im System,<br />

kann READY z.B. fest auf 0 gelegt werden.<br />

Andernfalls kann dieses Signal durch eine geeignete<br />

Verzögerungsschaltung (z.B. Monoflop) erzeugt werden.<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-13


9.1.3 A<strong>synchroner</strong> <strong>Systembus</strong><br />

Takt<br />

Adresse A n-1 ,..., A 0<br />

AS<br />

DTACK<br />

Lesen<br />

Daten<br />

D m-1 ,..., D 0<br />

R/W<br />

Sh Schreiben<br />

Daten<br />

D m-1 ,..., D 0<br />

R/W<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-14


Timing<br />

Auswahl der Übertragungsrichtrung wieder durch R/W<br />

Mit AS = 0 zeigt die CPU an, dass sie eine gültige Adresse auf den<br />

Adressbus gelegt hat<br />

Mit DTACK = 0 zeigt der Speicher (Komponente) an, dass er die<br />

Daten zur Verfügung gestellt (Lesen) oder übernommen (Schreiben)<br />

hat<br />

Zwischen AS = 0 und DTACK = 0 kann eine beliebige bi Zeitspanne<br />

liegen<br />

Wird DTACK = 0, so nimmt die CPU die Adresse wieder vom<br />

Adressbus und setzt AS wieder zu 1<br />

Daraufhin nimmt der Speicher (Komponente) das Datum vom<br />

Datenbus und setzt DTACK wieder zu 1<br />

vollständig a<strong>synchroner</strong> Übertragungsablauf, Anschluss von<br />

Komponenten mit fast beliebiger Zugriffszeit möglich<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-15


A<strong>synchroner</strong> <strong>Systembus</strong><br />

Zeitliche Abläufe werden durch Handshake-Signale<br />

gesteuert<br />

Handshake-Signale:<br />

‣ AS (Address Strobe) von CPU<br />

‣ DTACK (Data Transfer Acknowledge) von Speicher/Komponente<br />

Systemtakt spielt keine Rolle mehr für die Synchronisation<br />

der Übertragung (nur noch für die Synchronisation der<br />

Signale: synchrones Steuerwerk)<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-16


9.1.4 Multiplex-Bus<br />

Nötig, falls bestimmte Gruppen von Signalen zeitlich<br />

hintereinander i über dieselbe Busleitungen geschickt<br />

werden müssen (z.B. zur Einsparung von Busleitungen)<br />

Beispiel:<br />

gemeinsamer Daten- und Adreßbus (Bsp.: PCI-Bus)<br />

Die Adresse zur Übertragung eines Datums vom bzw.<br />

in den Speicher muss während der gesamten<br />

Zugriffszeit vorliegen<br />

Speichern der Adresse in Flipflops (Latches)<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-17


Multiplex-Busschnittstelle<br />

Adresspuffer<br />

Datenbuspuffer<br />

Befehlszähler<br />

Multiplexer und Treiber<br />

Adress-/ Datenbus<br />

Bussteuerung<br />

Multiplexer l muss<br />

einen bidirektionalen<br />

Datentransfer<br />

zulassen<br />

ALE<br />

Flipflop<br />

Adressdecoder<br />

Speicher-<br />

Matrix<br />

ALE zeigt das Vorliegen<br />

einer gültigen Adresse an<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-18


Zeitverhalten des Multiplexbusses<br />

Daten/Adressen-Multiplex-Betrieb<br />

Systemtakt<br />

T<br />

T 1 T 2 T 3 T 4<br />

Adress-/<br />

Datenbus<br />

Adresse<br />

Daten<br />

gültige<br />

Adresse<br />

aufgefangene<br />

Adresse<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-19


Daten/Adress-Multiplex-Betrieb<br />

gültige Adresse auf dem gemeinesamen Bus wird durch ein<br />

Signal angezeigt, z.B. AS(Address Strobe) oder VMA<br />

(Valid Memory Address) oder ALE (Address Latch Enable) oder ...<br />

mit der aktiven Flanke dieses Signals (im Beispiel fallende Flanke)<br />

wird die Adresse in ein vor den Speicher geschaltetes Adress-Flipflop<br />

übernommen stabile Adresse am Speicher<br />

Danach kann der Bus umgeschaltet werden und nun die Daten über<br />

die gleichen Leitungen geschickt werden<br />

Weitere Multiplex-Möglichkeiten:<br />

l Mö li it<br />

‣ höher- und niederwertige Adressbits (z.B. bei dynamischen<br />

Speicherbausteinen)<br />

‣ höher- und niederwertige Datenbits<br />

‣ gemischte Formen (z.B. niederwertige Adress- und Datenbits, ...)<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-20


9.2. Systemsteuerbausteine<br />

Übernehmen Funktionen, die aus technischen oder<br />

Kostengründen nicht im Prozessor integriert sind:<br />

1. Nicht programmierbare Systemsteuerbausteine:<br />

führen fest vorgegebene, vom Prozessor nicht<br />

beeinflussbare Funktion aus, z.B.<br />

‣ Taktgeneratoren: t Systemtakt t und Synchronisationssignale<br />

i ‣ Bus-Steuerbausteine (Bus-Controller)<br />

‣ Steuerung des <strong>Systembus</strong>zugriffs (Bus Abit Arbiter)<br />

‣ Steuerbausteine für DRAM (Dynamic RAM Controller):<br />

Auffrischen<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-21


Systemsteuerbausteine<br />

2. „Programmierbare“ Systemsteuerbausteine:<br />

Funktionsweise dieser Bausteine kann durch<br />

Steuerworte vom Prozessor beeinflusst werden, z.B.<br />

‣ DMA-Controller<br />

‣ Cache-Controller<br />

‣ Speicherverwaltungsbausteine (MMU)<br />

‣ Zeitgeber-/Zähler-Bausteine<br />

‣ Echtzeit-Uhren (Real-Time Clocks)<br />

‣ Unterbrechungs-Steuerbausteine (Interrupt Controller)<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-22


9.3. Schnittstellenbausteine (I/O-Controller)<br />

Bindeglied zwischen dem Prozessor, dem Hauptspeicher<br />

und der Peripherie.<br />

Aufgaben:<br />

‣ Pufferung von Ein- /Ausgabe-Daten, Anpassung unterschiedlicher<br />

Arbeitsgeschwindigkeiten im System<br />

‣ Umsetzung von Daten: parallel/seriell, digital/analog, …<br />

‣ Erzeugung von Steuersignalen für Peripheriegeräte, z.B. zur<br />

Synchronisation<br />

‣ Annahme und Erzeugung von Unterbrechungsanforderungen für<br />

Peripheriegeräte<br />

i Programmierbare Systemsteuerbausteine und Schnittstellenbausteine<br />

werden als Systembausteine bezeichnet.<br />

Fakultät für Informatik<br />

Prof. Dr. J. Henkel, Dr.-Ing. T. Asfour 19-23

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!