Systemstruktur: Systemautbau, Busorientierte Mehrkartensysteme, Mikroprozessorsignale

Systemautbau

Beim Entwurf von Mikroprozessorsystemen müssen unterschiedliche Gesichtspunkte berücksichtigt werden, so z.B. wirtschaftliche Gesichtspunkte, wie Minimierung der Entwicklungs- und Herstellungskosten, und technische Gesichtspunkte, wie hohe Verarbeitungsgeschwindigkeit und große Speicherkapazität. Ferner müssen die Möglichkeiten peripherer Anschlüsse berücksichtigt werden, und vielfach wird eine hohe Systemzuverlässigkeit gefordert. Die technischen Forderungen lassen sich im allgemeinen durch einen entsprechend hohen Hardwareaufwand erfüllen, was jedoch mit einer Erhöhung der Systemkosten verbunden ist. Man ist deshalb gezwungen, beim Systementwurf Kompromisse einzugehen, wobei das Spektrum von der Minimierung des Hardwareaufwandes bei Einkartensystemen bis zu den flexiblen Strukturen modularer Mehrkartensysteme reicht.

Ein-Chip- und Einkartensysteme

Mikroprozessorsysteme mit minimaler Hardware werden meist für fest umrissene Aufgaben, z.B. Steuerungsaufgaben, entworfen. Die gesamte Hardware ist dabei auf einer einzigen gedruckten Karte untergebracht (Einkartensystem, Bild 4.1).

Das hat einerseits den Vorteil niedriger Herstellungskosten, andererseits aber den Nachteil, daß die Struktur solcher Systeme im nachhinein nicht geändert werden kann. Sind im Grenzfall alle Funktionseinheiten des Systems – der Prozessor, der Programm- und Datenspeicher und das Ein/Ausgabe-Interface – in einem Baustein vereint, so spricht man vom Ein-Chip-System. Ein solcher Baustein wird auch als Ein-Chip-Computer bezeichnet. Für den Anschluß der Peripherie muß er lediglich durch Signalverstärker an der Ein/Ausgabeschnittstelle ergänzt werden.

Systemstruktur: Systemautbau, Busorientierte Mehrkartensysteme, Mikroprozessorsignale

Bild 4.1. Einkartensystem bzw. Ein-Chip-System

Busorientierte Mehrkartensysteme

Mikroprozessorsysteme für allgemeine Anwendungen werden üblicherweise als modulare Mehrkartensysteme aufgebaut. Hierbei werden die Bausteine der einzelnen Funktionseinheiten auf jeweils einer Karte zusammengefaßt. Aus diesen Karten wird in einem Baugruppenträger (Rahmen) das Mikroprozessorsystem zusammengestellt, wobei die Art und die Anzahl der Karten von den Anforderungen an das System abhängen. Eine typische Konfiguration, bestehend aus einer Mikroprozessorkarte, einer Programmspeicherkarte (ROM), einer Datenspeicherkarte (RAM), einer Interface-Karte und einer Stromversorgungskarte zeigt Bild 4.2.

Systemstruktur: Systemautbau, Busorientierte Mehrkartensysteme, Mikroprozessorsignale

Bild 4.2. Modulares Mehrkartensystem

Systembus

Die Zusammenschaltung der einzelnen Karten bei einem modularen Mehrkartensystem erfolgt im Baugruppenträger, wobei die Kartenanschlußsignale Adreß-, Daten- und Steuersignale – über Steckerverbindungen auf die Rückwandverdrahtung geführt werden. Diese Verdrahtung, die entweder durch eine gedruckte Karte (mother board) oder durch einzelne Drähte (z.B. in Wire-WrapTechnik) hergestellt wird, verbindet die Steckeranschlüsse gleicher Funktion der einzelnen Karten (Baugruppen) und bildet so den für alle Karten gemeinsamen Systembus. An diesen Bus können jederzeit weitere Karten angeschlossen werden, wobei die Position einer Karte im Baugruppenträger ohne Einfluß ist. (Dies gilt mit Einschränkungen bei Signalverkettungen nach dem Daisy-ChainPrinzip; s. dazu die Abschnitte 4.4 und 4.5.) Die peripheriespezifischen Signale der Interface-Karten werden auf einen gesonderten Stecker, Z.B. an der Kartenvorderseite geführt.

Die Anzahl der Systembusleitungen hängt im wesentlichen von der Anzahl der Anschlußpunkte (pins) des verwendeten Mikroprozessors ab. Sie liegt bei 16-BitProzessoren zwischen 40 und 64. Daraus ergeben sich für den Systemadreßbus 16 bis 24 Bits, für den Systemdatenbus 16 Bits und für den Systemsteuerbus bis zu 24 Bits. Hinzu kommen die Stromversorgungsleitungen, die Taktleitung und weitere Steuerleitungen, abhängig von der Interrupt-, DMA- und Multiprozessorstruktur des Systems (s. dazu die Abschnitte 4.4 und 4.5).

Um die Baugruppen verschiedener Hersteller miteinander kombinieren zu können, werden von einigen Herstellern Vorschläge zur Standardisierung von Systembussen gemacht. Beispiele hierfür sind

  • der S100-Bus (MITS Inc., Altair Microcomputers) für 8-Bit-Mikroprozessorsysteme, aufbauend auf dem Intel 8080-Prozessor [17],
  • der VERSAbus (Motorola) für 16- und 32-Bit-Mikroprozessorsysteme, aufbauend auf dem Motorola MC68000-Prozessor [18],
  • der VERSAbus-E (Motorola) als Variante des VERSAbusses für 16-Bit-Mikroprozessorsysteme im Europakartenformat [19] und
  • der Z-Bus (Zilog) für 16-Bit-Mikroprozessorsysteme, aufbauend auf der Z8000-Mikroprozessorfamilie [3].

Mikroprozessorsignale

Die Signalleitungen des Mikroprozessors sind je nach Funktion unidirektional, d.h. entweder als Eingangs- oder als Ausgangsleitungen festgelegt, oder sie erlauben einen bidirektionalen Betrieb, d.h. sie werden zeitlich verzahnt als Eingangsund Ausgangsleitungen betrieben. Zur Gruppe der unidirektionalen Signalleitungen gehören die Adreßleitungen und ein Teil der Steuerleitungen. Der Datenbus und die restlichen Steuerleitungen sind als bidirektionale Signalleitungen ausgelegt.

Bild 4.3 zeigt den Mikroprozessor aus Kapitel 2 mit seinen zu Funktionsgruppen zusammengefaßten Eingangs- und Ausgangssignalen. Es zeigt neben den Versorgungsanschlüssen den Adreß- und den Datenbus; die übrigen Signalgruppen bilden den Steuerbus. Die Signale sind mit Kurzbezeichnungen benannt, die aus ihren Funktionen abgeleitet sind. Die Pfeile geben die Signalflußrichtung an. Die meisten Signalausgänge sind mit einer Three-State-Logik (TSL) versehen. Sie können neben den logischen Zuständen 0 und 1 einen hochohmigen Zustand (high impedance state) zur Signalentkopplung annehmen. Dies ermöglicht es dem Mikroprozessor, den Systembus an einen anderen Bus-Master, d.h. an eine andere Funktionseinheit mit Prozessorfunktion, abzugeben. Eine weitere Signaleigenschaft, die bei den Bausteinen in der Prozessorumgebung vorkommt, ist das Open-Collector-Verhalten von Signalausgängen.

Open-Collector-Ausgänge bilden, wenn sie miteinander verbunden werden, eine ODERVerknüpfung (verdrahtetes ODER, wired or). Diese Eigenschaft wird z.B. genutzt, um einen Interrupteingang oder den BREQ-Eingang des Mikroprozessors mit Anforderungssignalen mehrerer Funktionseinheiten zu beschalten, ohne ein zusätzliches Verknüpfungsglied (ODER-Glied) zu benötigen.

Abgesehen vom hochohmigen Zustand befindet sich eine Steuerleitung entweder im aktiven Zustand, d.h. ihre Funktion ist wirksam, oder im inaktiven Zustand, d.h. sie ist ohne Wirkung. Nichtnegierte Signale nehmen, wenn sie aktiv sind, den logischen Wert 1, negierte Signale, wenn sie aktiv sind, den logischen Wert o an. Zur Vereinheitlichung der Beschreibung von Signalzuständen werden wir das Aktivieren bei beiden Signalarten als Setzen des Signals und das Inaktivieren als Rücksetzen des Signals bezeichnen. In der Mikroprozessortechnik sind fast alle Steuersignale, die einen Inaktivzustand einnehmen können, als negierte Signale ausgelegt. Dadurch wird eine höhere Betriebssicherheit gegenüber Spannungsschwankungen erreicht. Einige Steuersignale, wie z.B. das S/N-Signal, sind sowohl mit dem Wert 1 (Systemmodus) als auch mit dem Wert 0 (Normalmodus) im aktiven Zustand, weshalb sie zwei Bezeichnungen haben, die durch einen Schrägstrich getrennt sind. Bei diesen Signalen stellt der Wert 1 den Aktivzustand der nichtnegierten Bezeichnung und der Wert 0 den Aktivzustand der negierten Bezeichnung dar.

Systemstruktur: Systemautbau, Busorientierte Mehrkartensysteme, Mikroprozessorsignale

Bild 4.3. Mikroprozessorsignale

Im folgenden werden die einzelnen Mikroprozessorsignale beschrieben. Ihre Verwendung wird in den weiteren Abschnitten dieses Kapitels im Zusammenhang mit den verschiedenen Steuerungsabläufen erläutert.

  • Vcc, GND (voltage, ground): Eingänge zur Spannungsversorgung. Vcc=5V, GND=OV.
  • CLK (clock): Eingang zur prozessorexternen Vorgabe eines Taktsignals konstanter Frequenz, aus dem intern die benötigte Taktsignalform erzeugt wird.
  • DO-D15 (data): bidirektionaler 16-Bit-Datenbus mit Three-State-Logik. Empfängt oder sendet Daten im Wort- und Byteformat. Während eines Interruptzyklus wird über die Datenleitungen DO-D7 die Vektornummer der Interruptquelle empfangen.
  • AO-A15 (address): 16-Bit-Adreßbus mit Three-State-Logik. Erlaubt die direkte Adressierung von 64 K Bytes oder 32 K Wörtern. Während eines Interruptzyklus wird über die Adreßleitungen AO-A2 der akzeptierte Interruptcode ausgegeben; die restlichen Adreßleitungen sind währenddessen im Zustand 1.
  • AS (address strobe): Three-State-Ausgang. Zeigt an, daß eine gültige Adresse auf dem Adreßbus liegt. Wird z.B. zur Freigabe der Adreßdecodierer der am Systembus angeschlossenen Einheiten benutzt.
  • DS (data strobe): Three-State-Ausgang. Zeigt während eines Schreibzyklus an, daß ein Datum auf dem Datenbus liegt und wird vom Datenempfänger als Datenübernahmesignal ausgewertet. DS zeigt während eines Lesezyklus an, daß der Mikroprozessor zur Datenübernahme bereit ist und wird vom Datensender als Datenabgabesignal ausgewertet. DS wird auch zur Freigabe von Datenbustreibern und als Auslösesignal für die prozessorexterne Erzeugung des DT ACKSignals benutzt.
  • R/W (read/write): Three-State-Ausgang. Zeigt die Richtung des Datentransports auf dem Datenbus an (R/W =0: Schreibzyklus, R/W = 1: Lesezyklus). R/W wird zur Ansteuerung von Speicher-, Interface- und Controller-Bausteinen und zur Richtungsvorgabe bei bidirektionalen Datenbustreibern benutzt.
  • W/B (word/byte): Three-State-Ausgang. Zeigt der adressierten Einheit einen Wortzugriff (W/B=l) bzw. Bytezugriff (W/B=O) an. Die Anwahl des höheroder niedrigerwertigen Bytes erfolgt durch AO (s. auch Abschnitt 2.1.2).
  • DTACK (data transfer acknowledge): Eingang. Zeigt während eines Schreibzyklus an, daß der Datenempfänger das Datum vom Datenbus übernommen hat. DT ACK zeigt während eines Lesezyklus an, daß ein gültiges Datum auf dem Datenbus liegt und vom Mikroprozessor übernommen werden kann. In beiden Fällen verharrt der Mikroprozessor bis zum Eintreffen von DT ACK in einem Wartezustand und schließt danach den Zyklus ab. DT ACK erlaubt den Anschluß von Empfängern und Sendern mit unterschiedlichen Datenübertragungsgeschwindigkeiten.
  • BREQ (bus request): Eingang. Zeigt an, daß ein anderer Bus-Master die Bussteuerung übernehmen möchte. Der Mikroprozessor beendet zunächst den momentanen Buszyklus, schaltet dann seine Three-State-Ausgänge in den hochohmigen Zustand und setzt das BGT-Signal.
  • BGT (bus grant): Ausgang. Zeigt an, daß sich der Mikroprozessor als Reaktion auf ein BREQ-Signal mit seinen Three-State-Ausgängen vom Systembus abgekoppelt hat.
  • ILO-IL2 (interrupt level): Eingänge. Zeigen eine Unterbrechungsanforderung an. Der 3-Bit-Code (Interruptcode) gibt die Unterbrechungsebene und damit die Priorität der Anforderung an: die Ebene 0 hat die höchste, die Ebene 6 die niedrigste Priorität; der Code 7 gibt an, daß keine Anforderung vorliegt. Eine Anforderung in der Ebene 0 wird dynamisch durch die Code-Änderung ausgelöst; Anforderungen in den Ebenen 1 bis 6 erfolgen statisch durch den 3-Bit-Code.
  • lACK (interrupt acknowledge): Ausgang. Quittiert eine akzeptierte Unterbrechungsanforderung. Dazu muß der Interruptcode kleiner als die Interruptmaske im Statusregister sein. Eine Ausnahme bilden Anforderungen mit dem Code 0; ihnen wird unabhängig von der Interruptmaske immer stattgegeben.
  • AVEC (automatie vectoring): Eingang. Zeigt dem Mikroprozessor bei einer Unterbrechungsanforderung an, daß die Adressierung des Interruptprogramms mit dem Autovektor der entsprechenden Unterbrechungsebene zu erfolgen hat.
  • P/D (program/data fetch): Three-State-Ausgang. Zeigt an, ob es sich bei einem Buszyklus um einen Befehlszugriff (P /D = 1) oder um einen Datenzugriff (P /D = 0) handelt. P /D ist während AS gültig und kann als zusätzliches Adreßbit zur Erweiterung des Adreßraums benutzt werden.
  • S/N (system/normal state): Three-State-Ausgang. Zeigt die Betriebsart Systemmodus (S/N=1) oder Normalmodus (S/N=O) an. S/N ist während AS gültig und kann zur Vergabe von Zugriffsrechten aufSpeicherbereiche benutzt werden.
  • BERR (bus error): Eingang. Zeigt einen von einer externen Einheit erkannten Fehler an und führt auf den Bus-Error-Interrupt.
  • RESET (reset) : Bidirektionaler Anschluß. Als Eingang bewirkt er die Initialisierung der Mikroprozessorhardware und löst den Reset-Interrupt zur SoftwareInitialisierung des Mikroprozessorsystems aus. Als Ausgang wird er durch den RESET-Befehl kurzzeitig gesetzt und kann zur Initialisierung externer Einheiten benutzt werden.
  • HALT (halt): Eingang. Versetzt den Mikroprozessor nach Abschluß des momentanen Buszyklus in den Haltzustand. Hierbei werden alle Three-State-Ausgänge hochohmig. Der Haltzustand wird so lange beibehalten, wie das HALTSignal gesetzt ist.
Like this post? Please share to your friends:
Schreibe einen Kommentar

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: