DE4022365A1 - Datenuebertragungssystem - Google Patents

Datenuebertragungssystem

Info

Publication number
DE4022365A1
DE4022365A1 DE4022365A DE4022365A DE4022365A1 DE 4022365 A1 DE4022365 A1 DE 4022365A1 DE 4022365 A DE4022365 A DE 4022365A DE 4022365 A DE4022365 A DE 4022365A DE 4022365 A1 DE4022365 A1 DE 4022365A1
Authority
DE
Germany
Prior art keywords
data
address
bus
microprocessor
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE4022365A
Other languages
English (en)
Other versions
DE4022365C2 (de
Inventor
Yoshihide Kai
Hiroya Tanigawa
Toshihiko Wakahara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Oki Electric Industry Co Ltd
Original Assignee
Nippon Telegraph and Telephone Corp
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP18593689A external-priority patent/JPH0351940A/ja
Priority claimed from JP18593789A external-priority patent/JPH0351941A/ja
Application filed by Nippon Telegraph and Telephone Corp, Oki Electric Industry Co Ltd filed Critical Nippon Telegraph and Telephone Corp
Publication of DE4022365A1 publication Critical patent/DE4022365A1/de
Application granted granted Critical
Publication of DE4022365C2 publication Critical patent/DE4022365C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Description

Die vorliegende Erfindung betrifft ein Datenübertragungssy­ stem und insbesondere ein System zum direkten Übertragen von Daten zwischen einem Datenspeicher und Ein­ gangs/Ausgangseinrichtungen in einer Vorrichtung, die von einem Mikroprozessor vom von-Neumann-Typ gesteuert wird.
Mikroprozessoren steuern viele Typen elektronischer Büro­ einrichtungen, industrieller Einrichtungen und Haushaltsge­ räten. Ein Mikroprozessor hat typischerweise getrennte Pro­ gramm- und Datenspeicher und ist mit verschiedenen Ein­ gangs/Ausgangs (I/O) - Einrichtungen wie z.B. Sensoren, An­ zeigern und äußeren Speichereinrichtungen bzw. Externspei­ chereinrichtungen verbunden.
Die meisten Mikroprozessoren sind vom von-Neumann-Typ, die Befehle aus dem Programmspeicher sequentiell holen und aus­ führen und zwar jedesmal einen. Die Befehle lenken den Mi­ kroprozessor, arithmetische und logische Operationen auszu­ führen und Datenübertragungen durchzuführen. Ein gemeinsa­ mes Verarbeitungsmuster ist vorgesehen, um Daten von I/O- Einrichtungen zum Datenspeicher zu übertragen, um Operatio­ nen mit den Daten bzw. bezüglich der Daten durchzuführen und dann die Ergebnisse von dem Datenspeicher zu den I/O- Einrichtungen zu übertragen. Die Übertragungen finden auf einem Satz von Datenbussen statt, die von dem Mikroprozes­ sor gesteuert bzw. kontrolliert werden und über die der Mi­ kroprozessor, der Programmspeicher, der Datenspeicher und die I/O-Einrichtungen miteinander verbunden sind.
Ein bekanntes Verfahren zum Übertragen von Daten zwischen I/O-Einrichtungen und dem Datenspeicher setzt den Mikropro­ zessor als Zwischenschaltung ein. Um Daten von einer I/O- Einrichtung zum Datenspeicher zu übertragen, liest der Mi­ kroprozessor zuerst die Daten von der I/O-Einrichtung in ein inneres Register ein und schreibt dann die Daten von dem inneren Register in den Datenspeicher. Übertragungen in umgekehrter Richtung werden in ähnlicher Weise ausgeführt.
Ein Nachteil dieses Verfahrens besteht darin, daß es zwei Befehle erfordert, einen, um die Übertragung zwischen dem Mikroprozessor und der I/O-Einrichtung, und einen weiteren, um die Übertragung zwischen dem Mikroprozessor und dem Da­ tenspeicher zu bewirken. Zusätzlich dazu, daß die Programme unnötig lang gemacht werden, besteht beim Einsatz von zwei Befehlen das Risiko des Auftretens einer Unterbrechung (in­ terrupt) zwischen den Befehlen. Wenn eine Unterbrechung auftritt, wird eine Interruptbearbeitungsroutine zwischen den beiden Teilen der Datenübertragung ausgeführt, was eine erhebliche Zeitverzögerung bedeutet. Bei einer Datenüber­ tragung von einer Sensoreinrichtung zu dem Datenspeicher kann die Zeitverzögerung z.B. bedeuten, daß zum Zeitpunkt, wenn die Sensordaten in den Datenspeicher zur Verarbeitung eingespeichert werden, die Sensordaten nicht mehr den tatsächlichen Zustand, der von dem Sensor detektiert wird, wiedergeben.
Ein weiteres Verfahren zum Übertragen von Daten zwischen I/O-Einrichtung und einem Datenspeicher ist als Direkt­ speicherzugriff (direct memory access) (DMA) bekannt. Die­ ses Verfahren wird oft zum Übertragen von großen Datenmen­ gen zwischen dem Datenspeicher und einer äußeren Speicher­ einrichtung eingesetzt. Bei einem DMA-Transfer benachrich­ tigt der Mikroprozessor eine DMA-Steuereinheit (DMAC) be­ züglich der Adressen, zwischen denen die Übertragung statt finden soll, und bezüglich der Datenmenge, die übertragen werden soll, und gibt dann die Steuerung bzw. Kontrolle des Busses an die DMAC ab. Die DMAC übeträgt die Daten zwischen der I/O-Einrichtung und dem Datenspeicher direkt ohne eine Zwischenspeicherung in einem Register.
Ein Problem bei diesem Verfahren besteht darin, daß während des DMA-Transfers, da der Mikroprozessor keine Kontrolle über die Busse hat, dieser nicht mit dem Datenspeicher oder den I/O-Einrichtungen kommunizieren kann und auch keine Be­ fehle aus dem Programmspeicher holen kann. Der Mikroprozes­ sor muß deshalb anhalten, bis die DMA-Übertragung beendet ist, was offensichtlich ein ineffizientes Betriebsverfahren ist.
Aufgabe der vorliegenden Erfindung ist es dementsprechend, Daten direkt zwischen den I/O-Einrichtungen und dem Daten­ speicher ohne ein Anhalten des Mikroprozessors zu übertra­ gen.
Ein Datenübertragungssystem weist auf einen Adressbus mit einem ersten Teil und einem zweiten Teil zum Übertragen von Adressinformation, einen Datenbus mit einem ersten Teil und einem zweiten Teil zum Übertragen von Daten und einen Steuerungsbus zum Übertragen von Steuerungssignalen. Ein Mikroprozessor vom von-Neumann-Typ ist mit dem Steuerungs­ bus und dem ersten Teil des Adressbusses und des Datenbus­ ses verbunden. Ein Programmspeicher ist in ähnlicher Weise mit dem Steuerungsbus und dem ersten Teil des Adressbusses und des Datenbusses verbunden und speichert Befehle, die von dem Mikroprozessor ausgeführt werden sollen. Ein Daten­ speicher, der mit dem Steuerungsbus und dem zweiten Teil des Adressbusses und des Datenbusses verbunden ist, spei­ chert Daten. Ein oder mehrere I/O-Einrichtungen sind eben­ falls mit dem Steuerungsbus und dem zweiten Teil des Daten­ busses verbunden.
Ein Adressbusschalter trennt die beiden Teile des Adressbusses, wenn der Mikroprozessor einen Befehl von dem Programmspeicher holt, und verbindet die beiden Teile in den anderen Fällen. Ein Datenbusschalter trennt die beiden Teile des Datenbusses, wenn der Mikroprozessor einen Befehl aus dem Programmspeicher holt, und verbindet die beiden Teile in den anderen Fällen. Ein Datenübertragungkontrol­ ler, der den Steuerungsbus und den zweiten Teil des Adressbusses verbindet, erzeugt Adressen und Steuerungssi­ gnale, um Direktübertragungen der Daten zwischen dem Daten­ speicher und dem I/O-Einrichtungen über den zweiten Teil des Datenbusses durchzuführen, wenn der Mikroprozessor Be­ fehle vom Programmspeicher holt.
Weitere Vorteile und Anwendungsmöglichkeiten der vorliegen­ den Erfindung und vorteilhafte Weiterbildungen sind aus der nachfolgenden Beschreibung von Ausführungsbeispielen in Verbindung mit den beiliegenden Zeichnungen ersichtlich. Es zeigen:
Fig. 1 ein Blockdiagramm, das ein neues Datenübertragungs­ system zeigt;
Fig. 2 ein Diagramm eines Adressregisters in dem Daten­ übertragungskontroller nach Fig. 1;
Fig. 3 ein Zeitgabediagramm, das den Betrieb des Daten­ übertragungssystems in Fig. 1 zeigt;
Fig. 4 ein Blockdiagramm, das ein weiteres, neues Daten­ übertragungssystem zeigt;
Fig. 5 ein Zeitgabediagramm, das den Betrieb des Daten­ übertragungssystems nach Fig. 4 zeigt.
Im nachfolgenden werden zwei neue Datenübertragungssysteme, die die vorliegende Erfindung verkörpern, beschrieben. Das erste, das in den Fig. 1 bis 3 gezeigt wird, ist insbe­ sondere für Systeme geeignet, die einen regelmäßigen Ein­ gang von Sensorinformationen und einen Ausgang mit Steuerinformationen erfordern. Das zweite System, das in den Fig. 4 bis 5 gezeigt wird, ist insbesondere für die Übertragung von Informationen zwischen einem internen Da­ tenspeicher und einer Externspeichereinrichtung geeignet.
Mit Bezug auf Fig. 1 weist das erste, neue Datenübertra­ gungssystem einen Adressbus, der einen ersten Teil 2 und einen zweiten Teil 4 zum Übertragen von Adressinformationen hat, einen Datenbus mit einem ersten Teil 6 und einem zwei­ ten Teil 8 zum Übertragen von Daten und einen Steuerungsbus 10 zum Übertragen von Steuerungssignalen auf. Alle diese Busse weisen eine Vielzahl von Signalleitungen auf. Z.B. weist der erste Teil 6 und der zweite Teil 8 des Datenbus­ ses jeweils m Datensignalleitungen auf, die es ihnen ermög­ lichen, m bit Informationen D1 bis Dm weiterzuleiten, wobei die Anzahl m normalerweise eine Potenz von zwei ist wie z.B. acht oder sechzehn.
Ein Mikroprozessor 12 vom von-Neumann-Typ ist mit dem er­ sten Teil 2 des Adressbusses, dem ersten Teil 6 des Daten­ busses und dem Steuerungsbus 10 verbunden. Ein Programm­ speicher 14, der auch mit dem ersten Teil 2 des Adressbus­ ses, dem ersten Teil 6 des Datenbusses und dem Steuerungs­ bus 10 verbunden ist, speichert Befehle, die von dem Mikro­ prozessor 12 ausgeführt werden sollen. Ein Datenspeicher 16, der mit dem zweiten Teil 4 des Adressbusses, dem zwei­ ten Teil 8 des Datenbusses und dem Steuerungsbus 10 verbun­ den ist, speichert Daten, die von dem Mikroprozessor 12 verarbeitet werden.
Unter den Signalen, die von dem Mikroprozessor 12 zu dem Steuerungsbus 10 gesendet werden, sind ein Befehlsholsignal (IF) (Instruction Fetch signal), ein Lesesignal (RD), ein Schreibsignal (WR), ein Speicherzugriffssignal (MA) (Memory Access signal), ein I/O-Zugriffssignal (IOA) und ein Chip­ auswahlsignal (CS) (Chip Select signal). Der Mikroprozessor 12 aktiviert IF und CS, wenn er einen Befehl aus dem Pro­ grammspeicher 14 holt. Die Funktionen der anderen Signale werden weiter unten erläutert.
Eine Vielzahl von Eingangs- und Ausgangseinrichtungen sind mit dem Steuerungsbus 10 und dem zweiten Teil 8 des Daten­ busses verbunden.
Die Eingangseinrichtungen, die schematisch als Sensorschal­ ter 18 in Fig. 1 gezeigt werden, umfassen die Gruppen 18(1) bis 18(k) von m Senorschaltern, von denen jeder mit dem zweiten Teil 8 des Datenbusses über zugeordnete m-Bit Eingangsanschlüsse bzw. Eingangsanschlußeinrichtungen 20(1) bis 20(k) verbunden ist. Jeder der Eingangsanschlüsse 20(i) weist drei Zustandspufferschaltungen (three-state buffer circuits) auf, die m-Bits von Daten von der i-ten Gruppe der Sensoren 18(i) zu dem zweiten Teil 8 des Datenbusses übertragen, wenn ein Dateneinsignal (DIi) von dem Steue­ rungsbus 10 erhalten wird.
Die Ausgangseinrichtungen, die schematisch als lichtemit­ tierende Dioden (LED) 22(1, 1) bis 22(n, m) gezeigt werden, weisen n Gruppen von m LEDs auf, von denen jede mit dem zweiten Teil 8 des Datenbusses über m Bit Ausgangsan­ schlüsse bzw. Anschlußeinrichtungen 24(1) bis 24(n) verbun­ den ist. Der i-te Eingangsanschluß 24(i) weist Zwischen­ speicherschaltungen (latch circuits) auf, die die Daten auf dem zweiten Teil 8 des Datenbusses zwischenspeichern, wenn ein Datensetzsignal (DSi) von dem Steuerungsbus 10 erhalten wird, und gibt die zwischengespeicherten Daten an die LEDs 22 aus, wenn ein Freigabesignal (Enable signal) (Ei) erhal­ ten wird.
Die Ausgangsanschlüsse 24 sind mit den LEDs 22 über die Ausgangsleitungen 26(1) bis 26(m) verbunden, wobei die LED 22(1, j) bis 22(n, j) alle mit der gleichen Ausgangsleitung 26(j) verbunden sind. Jeder Ausgangsanschluß 24 ist mit al­ len Ausgangsleitungen 26(1) bis 26(m) verbunden. Um die LEDs 22(1, j) bis 22(n, j) freizugeben, die mit der glei­ chen Ausgangsleitung 26(j) verbunden sind, damit sie indi­ viduell angesteuert werden können, sind die LEDs 22 und die Ausgangsanschlüsse 24 ebenfalls mit einer 1/n-Tast-Aus­ wahl/Treiber-Schaltung 28 verbunden, die n Auswahlleitungen S1 bis Sn und n Freigabeleitungen E1 bis En aufweist. Die i-te Auswahlleitung Si ist mit den LEDs 22(i, 1) bis 22(i, m) verbunden. Die i-te Freigabeleitung Ei ist mit dem Aus­ gangsanschluß 24(i) verbunden und liefert das oben genannte Freigabesignal Ei.
Die 1/n-Tast-Auswahl/Treiber-Schaltung 28 wählt hinterein­ anderfolgende Gruppen von LEDs 22 durch Zuführen von Lei­ stung bzw. einer Versorgungsspannung auf hintereinanderfol­ genden Auswahlleitungen Si mit einem Tastverhältnis (duty cycle) von 1/n aus. Wenn die i-te Auswahlleitung Si ange­ steuert wird, sendet die 1/n-Tast-Auswahl/Antriebs-Schal­ tung 28 ebenfalls ein Freigabesignal auf die i-te Freigabe­ leitung Ei zu dem i-ten Ausgangsanschluß 24(i) aus. Das Er­ gebnis besteht darin, daß die LEDs 22(i, 1) bis 22(i, m) die Daten anzeigen, die in dem Ausgangsanschluß 24(i) zwi­ schengespeichert sind. Die 1/n-Tast-Auswahl/Antriebs-Schal­ tung 28 wählt die Gruppen der LEDs 22 zyklisch mit einem hohen Geschwindigkeitswert aus; schließlich werden die LEDs 22 durch einen alternierenden Strom mit einem Tastverhält­ nis von 1/n angesteuert.
Die ersten und zweiten Teile 2 und 4 des Adressbusses wer­ den von einem Adressbusschalter 30 miteinander verbunden. Die ersten und zweiten Teile 6 und 8 des Datenbusses wer­ den durch einen Datenbusschalter 32 miteinander verbunden. Der Adressbusschalter 30 und der Datenbusschalter 32 werden beide von einem Schaltersteuerungssignal (SC) gesteuert: wenn SC aktiv ist, werden die zwei Teile des Adressbusses gemeinsam miteinander verbunden; wenn SC nicht aktiv ist, werden die beiden Teile des Adressbusses und des Datenbus­ ses getrennt.
Das SC-Signal wird von einem Datenübertragungskontroller 34 ausgegeben, der mit dem zweiten Teil 4 des Adressbusses und dem Kontrollbus 10 verbunden ist. Der Datenübertragungskon­ troller 34 erzeugt SC aus dem IF-Signal, das er von dem Mi­ kroprozessor 12 über den Steuerungsbus 10 erhält. Der Da­ tenübertragungskontroller 34 erzeugt ebenfalls Adressen und Steuerungssignale zum Übertragen von Sensordaten von dem Eingangsanschluß 20 zu dem Datenspeicher 16 und zum Über­ tragen von Daten von dem Datenspeicher 16 zu den Ausgangs­ anschlüssen 24. Diese Adressen und Steuerungssignale werden wie folgt erzeugt.
Der Datenübertragungskontroller 34 hat ein Adressregister 36, das Paare von Adressen speichert, von denen jedes Paar eine Datenspeicheradresse und eine I/O-Adresse aufweist. Ein Indexzähler 38 zeigt hintereinanderfolgende Paare von Adressen in dem Adressregister 36 an. Der Indexzähler 38 kann z.B. ein Modulo-(n+k)-Zähler sein, der zyklisch von 0 bis n+k-1 zählt und jedesmal, wenn das IF-Signal ak­ tiv wird, inkrementiert. Eine Torschaltung 40 liefert die Datenspeicheradresse, die von dem Indexzähler angezeigt wird, an den zweiten Teil des Adressbusses 8 , während das IF-Signal aktiv ist. Ein I/O-Adressendecoder 42 decodiert die I/O-Adresse, die von dem Indexzähler 38 angegeben wird, und erzeugt Datenein- und Datensetzsignale (Data In and Data Set signals), um die Eingangsanschlüsse 20 und Aus­ gangsanschlüsse 24 auszuwählen, womit Gruppen von I/O-Ein­ richtungen ausgewählt werden.
Der Datenübertragungskontroller 34 empfängt ebenfalls Lese­ signale (RD), Schreibsignale (WR), Speicherzugriffssignale (MA) und I/O-Zugriffssignale (IOA) von dem Mikroprozessor 12 über den Steuerungsbus 10 und sendet Speicherlesesignale (MR) und Speicherschreibsignale (MW) an den Steuerungsbus 10. Die Funktionen dieser Signale werden weiter unten be­ schrieben.
Fig. 2 zeigt das Adressregister 36 genauer. Eingänge in das Adressregister 36 werden durch Indexzahlen IND1 bis INDx, die von dem Indexzähler 38 in der zyklischen Sequenz IND1, IND2,...., INDx, IND1,.... erzeugt werden, angegeben. Jeder Eingang weist ein PA-Feld auf, das eine I/O-Adresse enthält, und ein MA-Feld auf, das eine zugeordnete bzw. entsprechende Datenspeicheradresse enthält. Die I/O-Adresse ist in eine Anschlußadresse (PAD) und ein Zeichen (flag) (FL) unterteilt, das angibt, ob der Anschluß ein Eingangs­ anschluß oder ein Ausgangsanschluß ist. Z.B. enthält der Eingang, der mit IND1 angegeben wird, eine I/O-Adresse, die den Ausgangsansschluß 24(1) bestimmt, und eine zugeordnete Datenspeicheradresse, mit einem Zeichenwert FL, der diesen Anschluß als Ausgangsanschluß bestimmt.
Jeder Eingangsanschluß 20 oder Ausgangsanschluß 24 ent­ spricht somit einer festgelegten Datenspeicheradresse in dem Datenspeicher 16. Der Mikroprozessor 12 empfängt Daten von einem Eingangsanschluß 20 durch Lesen der zugeordneten Datenspeicheradresse und sendet Daten an einen Ausgangsan­ schluß 24 durch Schreiben der Daten in die entsprechende Datenspeicheradresse.
Als nächstes wird der Betrieb des Datenübertragungssystems nach Fig. 1 erläutert. Zuerst wird der Betrieb mit Bezug auf Fig. 3 erläutert, wenn der Mikroprozessor 12 einen Be­ fehl holt; dann wird der Betrieb erläutert, wenn der Mikro­ prozessor 12 einen Befehl nicht holt.
Wenn der Mikroprozessor 12 einen Befehl aus dem Programm­ speicher 14 holt, aktiviert er das IF-Signal, wie es bei (A) in Fig. 3 gezeigt ist. Das IF-Signal wird von dem Da­ tenübertragungskontroller 34 empfangen, der die Schalter­ steuerung (SC) deaktiviert, wodurch der Adressbusschalter 30 und der Datenbusschalter 32 geöffnet werden, um den er­ sten Teil 2 gegenüber dem zweiten Teil 4 des Adressbusses zu trennen und um den ersten Teil 6 gegenüber dem zweiten Teil 8 des Datenbusses zu trennen. Der Mikroprozessor fährt fort, auf die Programmspeicher 14 über den ersten Teil 2 des Adressbusses und den ersten Teil 6 des Datenbusses zu­ zugreifen. Insbesondere aktiviert er das CS-Signal, um den Programmspeicher 14 auszuwählen, gibt er die Adresse des nächsten Befehles auf den ersten Teil 2 des Adressbusses aus, aktiviert er das RD-Signal und empfängt er den Befehl über den ersten Teil 6 des Datenbusses.
Wenn das IF-Signal aktiviert wird, wird der Indexzähler 38 im Datenübertragungskontroller 32 inkrementiert, um den nächsten Eingang in das Adressregister 36 auszuwählen. Die Torschaltung 40 schaltet dann ein, was die Speicheradresse dazu veranlaßt, die in diesen Eingang gespeichert ist, daß sie auf den zweiten Teil 4 des Adressbusses, wie es bei (B) in Fig. 3 gezeigt ist, ausgegeben wird.
Wenn das Zeichen-Bit (FL) an diesem Eingang angibt, daß der ausgewählte Anschluß ein Eingangsanschluß ist, aktiviert der Datenübertragungskontrollers 34 nach einer geeigneten Einstellzeit das Speicherschreibsignal (MW), wie bei (E) in Fig. 3 gezeigt wird. In der Zwischenzeit dekodiert der I/O-Adressdekoder 42 die I/O-Adresse in dem Adressregister 36 in ein Dateneinsignal DIj, das zu dem Eingangsanschluß 20(j) über den Steuerungsbus 10 ausgegeben wird, wie es bei (F) in Fig. 3 gezeigt wird. Der Eingangsanschluß 20(j) antwortet, indem er seine Daten auf den zweiten Teil 8 des Datenbusses ausgibt, wie es bei (C) in Fig. 3 gezeigt ist. Wenn MW aktiviert ist, speichert der Datenspeicher 16 diese Daten bei der Adresse, die mit dem zweiten Teil 4 des Adressbusses angegeben ist, ab.
Wenn das Zeichen-Bit (FL) angibt, daß der Anschluß ein Aus­ gangsanschluß ist, und zwar nach einer kurzen Verzögerung, um zu erlauben, daß der Datenbusschalter 32 geöffnet bzw. abgeschaltet wird, aktiviert der Datenübertragungskontrol­ ler 34 das Speicherlesesignal (MR), wie es bei (D) in Fig. 3 gezeigt wird, was den Datenspeicher 16 dazu veranlaßt, die Daten, die bei der Adresse gespeichert sind, die durch den zweiten Teil 4 des Adressbusses angegeben wird, auf den zweiten Teil 8 des Datenbusses, wie es bei (C) in Fig. 3 gezeigt ist, auszugeben. Der I/O-Adressdekoder 42 dekodiert die I/O-Adresse in dem Adressregister 36 zu einem Daten­ setzsignal DSi, das an den Ausgangsanschluß 24(i) nach ei­ ner geeigneten Einstellzeit ausgegeben wird, wie es bei (G) in Fig. 3 gezeigt wird, was den Ausgangsanschluß 24i ver­ anlaßt, die Daten auf den zweiten Teil 8 des Datenbusses zwischenzuspeichern bzw. zu latchen. Die Daten, die in dem Ausgangsanschluß 24i zwischengespeichert sind, steuern dann die i-te Gruppe der LEDs 22(i, 1) bis 22(i, m), wie bereits erläutert worden ist.
Wenn der Mikroprozessor 12 das Holen des Befehls beendet hat, deaktiviert er das IF-Signal, wie es bei (A) in Fig. 3 angegeben ist, was die Torschaltung 40 dazu veranlaßt, abzuschalten und den Adressbusschalter 30 und den Datenbus­ schalter 32 einzuschalten. Das CS-Signal wird ebenfalls deaktiviert. Der Mikroprozessor 12 hat jetzt die Steuerung beider Teile des Adressbusses und des Datenbusses inne und kann auf den Datenspeicher 16 zugreifen.
Um den Datenspeicher 16 zu lesen, aktiviert der Mikropro­ zessor 12 das MA-Signal und das RD-Signal und gibt eine Da­ tenspeicheradresse auf den ersten Teil 2 des Adressbusses aus. Die Adresse wird über den Adressbusschalter 30 zu dem zweiten Teil 4 des Adressbusses übertragen und vom Daten­ speicher 16 empfangen. Das MA-Signal und das RD-Signal ver­ anlassen den Datenübertragungskontroller 34, ein MR-Signal zu erzeugen, das ebenfalls von dem Datenspeicher 16 empfan­ gen wird. Der Datenspeicher 16 gibt dann die Daten bei der spezifizierten Adresse auf den zweiten Teil 8 des Datenbus­ ses aus, von dem der Mikroprozessor 12 die Daten über den Datenbusschalter 32 und den ersten Teil 6 des Datenbusses empfängt.
Um Daten in den Datenspeicher 16 zu schreiben, aktiviert der Mikroprozessor 12 das MA-Signal und das WR-Signal, gibt er eine Datenspeicheradresse auf den ersten Teil 2 des Adressbusses aus und gibt er Daten, die geschrieben werden sollen, auf den ersten Teil 6 des Datenbusses aus. Die Adressen und die Daten werden über den Adressbusschalter 30 und den Datenbusschalter 32 zu dem zweiten Teil 4 des Adressbusses und dem zweiten Teil 8 des Datenbusses über­ tragen. Das MA-Signal und WR-Signal veranlassen den Daten­ übertragungskontroller 34 dazu, ein MW-Signal zu erzeugen, das den Datenspeicher 16 befiehlt, die Daten bei der ange­ gebenen Adresse zu speichern.
Der Mikroprozessor 12 kann ebenfalls Daten direkt von dem Eingangsanschluß 20 lesen oder Daten direkt in den Aus­ gangsanschluß 24 schreiben, indem das I/O-Zugriffssignal (IOA) aktiviert wird. Dieses Signal kann z.B. ein Vielfach- Bit-Signal sein, das die Indexzahl des Anschlusses, auf den zugegriffen werden soll, angibt. Der Datenübertragungskon­ troller 34 dekodiert den entsprechenden Eingang in dem Adressregister 36 und erzeugt das notwendige Dateneinsignal oder Datensetzsignal.
Ein Hauptvorteil des Datenübertragungssystems nach Fig. 1 besteht darin, daß Übertragungen zwischen dem Datenspeicher und den Eingangsanschlüssen oder den Ausgangsanschlüssen durch Unterbrechungsvorgänge nicht verzögert werden. Wäh­ rend der Ausführung einer Unterbrechungsbearbeitungsroutine fährt der Datenübertragungskontroller 34 fort, Eingangsda­ ten oder Ausgangsdaten bei jedem Befehlsholvorgang zu über­ tragen. Der Mikroprozessor 12 kann immer die jüngsten bzw. aktuellsten Sensordaten von dem Datenspeicher 16 lesen und LED-Ausgangsdaten, die in den Datenspeicher 16 eingeschrie­ ben sind, werden immer sofort zu den Ausgangsanschlüssen 24 übertragen.
Ein weiterer Vorteil besteht darin, daß der Betrieb des Ge­ samtsystems effizienter ist, als bei bekannten Systemen, da Datenübertragungen und Befehlsholvorgänge zur gleichen Zeit ausgeführt werden. Ein weiterer Vorteil besteht darin, daß weniger Programmschritte notwendig sind, so daß ein kleine­ rer Programmspeicher erforderlich ist.
Ein Vorteil des Systems, das in Fig. 1 gezeigt wird, bei dem alle Ausgangsanschlüsse 24 sich die gleichen Ausgangs­ leitungen 26(1) bis 26(m) teilen, besteht darin, daß die gedruckte Leiterplatte, auf der der Mikroprozessor 12 und die Ausgangsanschlüsse 24 angeordnet sind, wenige äußere Anschlüsse bzw. Stecker benötigt und deshalb leicht in dem Gerät, das gesteuert werden soll, installiert werden kann.
Im nachfolgenden wird ein weiteres, neues Datenübertra­ gungssystem mit Bezug auf die Fig. 4 beschrieben. Bezugsz­ eichen und Signalbezeichnungen der Fig. 4, die identisch sind zu jenen der Fig. 1, geben identische oder äquiva­ lente Elemente oder Signale an, und deshalb wird eine Be­ schreibung dieser identischen Elemente und Signale wegge­ lassen. Das Signal, das mit CS in Fig. 1 angegeben ist und das dem Programmspeicher 14 auswählt, wird in Fig. 4 mit CSl angegeben.
Das Datenübertragungssystem in Fig. 4 hat zusätzlich zu dem Adressbusschalter 30 einen zweiten Adressbusschalter 44, der den zweiten Teil des Adressbusses in einen dritten Teil 46 und einen vierten Teil 48 aufteilt. Der Adressbus­ schalter 30 ist eine Dreizustandspufferschaltung; der Da­ tenbusschalter 32 ist eine bidirektionale Dreizustandspuf­ ferschaltung; der zweite Adressbusschalter 44 ist ein ein­ facher Busschalter. Der Adressbusschalter 30, der Datenbus­ schalter 32 und der zweite Adressbusschalter 44 werden alle gleichzeitig von dem SC-Signal eingeschaltet oder ausge­ schaltet bzw. geöffnet oder geschlossen.
Die Eingangs/Ausgangs-Einrichtung, auf die zugegriffen wer­ den soll in Fig. 4, ist ein externer Speicher 60 wie z.B. eine Diskettenspeichereinrichtung, die direkt mit dem vier­ ten Teil 48 des Adressbusses und dem zweiten Teil 8 des Da­ tenbusses verbunden ist.
Der Datenübertragungskontroller 52 in Fig. 4 unterscheidet sich von dem Datenübertragungskontroller 34 in Fig. 1 in seiner inneren Struktur und in den Signalen, die er von dem Mikroprozessor 12 über den Steuerungsbus 10 empfängt. Der Datenübertragungskontroller 52 weist eine Steuerungsschal­ tung 54, einen Datenspeicheradressgenerator 56, einen Da­ tenspeicherzeitgabegenerator 58, einen I/O-Adressen-Genera­ tor 60 und einen I/O-Zeitgabegenerator 62 auf. Von dem Steuerungsbus 10 empfängt der Datenübertragungskontroller 52 das IF-, das RF- und das WR-Signal, die in Fig. 1 be­ schrieben sind, und ein Chipauswahlsignal CS2.
Die Steuerungsschaltung 54 ist mit dem zweiten Teil 8 des Datenbusses und dem Steuerungsbus 10 verbunden, wobei er über diese Busse Informationen von dem Mikroprozessor 12 empfängt, die Adressen in dem Datenspeicher 16 und dem äußeren Speicher 50 angeben, zwischen denen Daten übertra­ gen werden sollen, und zwar Informationen darüber, ob diese Adressen inkrementiert oder dekrementiert werden sollen, über die Datenmenge, die übertragen werden soll, und über die Richtung der Übertragung. Die Steuerungsschaltung 54 initialisiert und steuert die anderen Schaltungen in dem Datenübertragungskontroller 52 gemäß diesen Informationen.
Nachdem die Steuerungsschaltung 54 eine Initialadresse in den Datenspeicheradressgenerator 56 gesetzt hat, fährt der Datenspeicheradressgenerator 56 fort, eine ansteigende oder abfallende Sequenz von Datenspeicheradressen zu erzeugen, die er auf den dritten Teil 46 des Adressbusses ausgibt und dann zu dem Datenspeicher 16. Zur gleichen Zeit generiert der Datenspeicherzeitgabegenerator 58 das Chipauswahlsignal (CS3) und das Speicherlesesignal (MR) oder das Speicher­ schreibsignal (MW), die den Datenspeicher 16 dazu veranlas­ sen, Daten bei der spezifizierten Adresse auszulesen oder zu speichern.
In ähnlicher Weise fährt der I/O-Adressgenerator 60 fort, nachdem die Steuerungsschaltung 54 eine Initialadresse in dem I/O-Adressgenerator 60 gesetzt hat, eine ansteigende oder abfallende Sequenz von Externspeicheradressen zu er­ zeugen, die er auf dem vierten Teil 48 des Adressbusses ausgibt und dann an den Externspeicher 50. Zur gleichen Zeit erzeugt der I/O-Zeitgabegenerator 62 ein Chipauswahl­ signal (CS4) und ein I/O-Lesesignal (IOR) oder ein I/O­ Schreibsignal (IOW), die den Externspeicher dazu veranlas­ sen, Daten bei den spezifizierten Adressen auszulesen oder zu speichern. Ein Satz mit sechs Signalschaltern 64 befä­ higt den Datenspeicher 16 und den externen Speicher 50, die MR, MW, CS3, IOR, IOW, und CS4 Signale von dem Daten­ speicherzeitgabegenerator 58 und dem I/O-Zeitgabegenerator 62, wie oben stehend beschrieben, zu empfangen oder von dem Mikroprozessor 12 über den Steuerungsbus 10 zu empfangen. Diese Signalschalter 64 werden ebenfalls von dem Schalter­ steuerungssignal (SC) gesteuert. Wenn das SC-Signal akti­ viert ist, wodurch der Adressbusschalter 30, der Datenbus­ schalter 32 und der zweite Adressbusschalter 44 geschlossen werden, um die verschiedenen Teile des Adressbusses und des Datenbusses miteinander zu verbinden, setzt SC ebenfalls die Signalschalter 64 auf die A-Seite in Fig. 1, so daß die MR, MW, CS3, IOR, IOW, und CS4-Signale von dem Steue­ rungsbus 10 empfangen werden. In diesem Fall sind MR und IOR beide mit dem RD-Signal des Mikroprozessors verbunden und MW und IOW sind beide mit dem WR-Signal des Mikropro­ zessors verbunden. Wenn SC inaktiv ist, sind die Signal­ schalter 64 auf die B-Seite gesetzt, so daß MR, MW, CS3, IOR, IOW, und CS4 von dem Datenspeicherzeitgabegenerator 58 und dem I/O-Zeitgabegenerator 62 erhalten werden.
Als nächstes wird die Übertragung von Daten von dem exter­ nen Speicher 50 zu dem Datenspeicher 16 mittels des Direkt­ speicherzugriffes (DMA) mit Bezug auf Fig. 5 beschrieben.
Wenn ein DMA-Transfer von dem externen Speicher 50 zu dem Datenspeicher 16 notwendig wird, aktiviert der Mikroprozes­ sor 12 das CS-Signal, um den Datenübertragungskontroller 52 auszuwählen, aktiviert er das WR-Signal, um die Übertra­ gungsrichtung anzugeben, und gibt weitere Informationen, die die Übertragung beschreiben, an die Steuerungsschaltung 54 über den ersten Teil 6 und den zweiten Teil 8 des Daten­ busses aus und setzt ein DMA-Nachfragezeichen (request flag) in der Steuerungsschaltung 54, wodurch der Datenüber­ tragungskontroller 52 in den DMA-Modus gesetzt wird. Der Mikroprozessor 12 fährt dann mit der Ausführung seines Pro­ grammes fort.
Wie bei (A) in Fig. 5 angegeben ist, wird die Programmaus­ führung in dem Mikroprozessor 12 durch ein Systemtaktsignal angetrieben und wird in Maschinenzyklen aufgeteilt, die eine Vielzahl von Systemtaktzyklen umfassen. Die Ausführung eines Befehls beginnt mit einem Befehlsholzyklus, bei dem der Befehl aus dem Programmspeicher 14 geholt wird. Während dieses Zyklusses gibt der Mikroprozessor 12 die Adresse, bei der der Befehl gespeichert ist, auf den ersten Teil 2 des Adressbusses aus, wie es bei (B) angegeben ist, und ak­ tiviert das IF-Signal, wie es bei (C) angegeben ist. Obwohl es in der Zeichnung nicht gezeigt ist, aktiviert der Mikro­ prozessor 12 das CS1-Signal, um den Programmspeicher 14 auszuwählen. Als nächstes aktiviert der Mikroprozessor 12 das RD-Signal, wie bei (D) in Fig. 5 gezeigt wird, wodurch der Programmspeicher 14 veranlaßt wird, den Befehlscode auf dem ersten Teil 6 des Datenbusses 12 auszugeben, von dem ihn der Mikroprozessor 12 empfängt.
Während IF aktiviert ist, deaktiviert der Datenübertra­ gungskontroller 52 das SC-Signal, wie es bei (E) in Fig. 5 gezeigt wird, wodurch die unterschiedlichen Teile des Adressbusses und des Datenbusses voneinander getrennt wer­ den und die Signalschalter 64 auf die B-Seite gesetzt wer­ den. Während des Befehlsholzyklusses arbeiten der Mikropro­ zessor 12 und der Datenübertragungskontroller 52 unabhängig voneinander: der Mikroprozessor 12 steuert den Programm­ speicher 14; der Datenübertragungskontroller 52 steuert den Datenspeicher 16 und den externen Speicher 50, die gegen­ über dem Mikroprozessor 12 isoliert sind.
Der Befehlsholzyklus kann von einem oder mehreren Speicher­ oder I/O-Zugriffszyklen gefolgt werden. Während dieser Zy­ klen ist das IF-Signal inaktiviert und das SC-Signal wird aktiviert, wodurch die unterschiedlichen Teile des Adressbusses und des Datenbusses verbunden werden und die Signalschalter 64 auf die A-Seite gesetzt werden. Der Mi­ kroprozessor 12 hat deshalb die Steuerung des Datenspei­ chers 16, des externen Speichers 50 und des gesamten Daten und Adressbusses und kann Operanden-Daten in dem Datenspei­ cher 16 oder externen Speicher 50 schreiben oder lesen, wie es durch den Befehl spezifiziert ist, der während des Be­ fehlsholzyklusses geholt worden ist. Genauer gesagt, gibt der Mikroprozessor 12 eine Datenspeicheradresse oder eine Externspeicheradresse auf den Adressbus aus, aktiviert er CS3 oder CS4, um den Datenspeicher 16 oder den externen Speicher 50 auszuwählen, und aktiviert er RD oder WR, um einen Lese- oder Schreibzugriff zu bestimmen.
Immer dann, wenn das IF-Signal aktiviert ist, gibt der I/O- Adressgenerator 60 eine Externspeicheradresse auf den vier­ ten Teil 48 des Adressbusses aus, wie es bei (F) in Fig. 5 angegeben ist, und der I/O-Zeitgabegenerator 62 aktiviert die CS4 und IOR-Signale, wie es bei (G) und (H) angegeben ist, wodurch der externe Speicher 50 dazu veranlaßt wird, Daten, die bei der spezifizierten externen Speicheradresse gespeichert sind, auf den zweiten Teil 8 des Datenbusses auszugeben. Zusätzlich gibt der Datenspeicheradressgenera­ tor 56 eine Datenspeicheradresse auf den dritten Teil 46 des Adressbusses aus, wie es bei (I) in Fig. 5 angegeben ist. Der Datenspeicherzeitgabegenerator 58 aktiviert CS3, wie es bei (J) angegeben ist, und dann, nach einer geeigne­ ten Einstellzeit, aktiviert er MW, wie es bei (K) angegeben ist, wodurch der Datenspeicher 16 veranlaßt wird, die Daten auf den zweiten Teil 8 des Datenbusses bei der spezifizier­ ten Datenspeicheradresse zu speichern. Auf diese Art und Weise werden die Daten direkt von dem externen Speicher 50 zu dem Datenspeicher 16 übertragen, während der Mikropro­ zessor 12 einen Befehl holt.
Am Ende des Befehlsholzyklusses versetzt der Datenübertra­ gungskontroller 52 seine Adressausgangsleitungen in den Zu­ stand hohen Widerstands, so daß Adressen, wie von dem Da­ tenspeicheradressgenerator 56 und dem I/O-Generator 60 aus­ gegeben werden, nicht mit den Adressen, die von dem Mikro­ prozessor 12 während der Speicher- oder I/O-Zugriffszyklen ausgegeben werden, kollidieren. Der Datenübertragungskon­ troller 52 aktualisiert (inkrementiert oder dekrementiert) die Datenspeicheradresse in dem Datenspeicheradressgenera­ tor 56 und die Externspeicheradresse in dem I/O-Adressgene­ rator 60 und dekrementiert einen Wert in der Steuerungs­ schaltung 54, die die verbleibende Datenmenge angibt, die übertragen werden soll. Beim nächsten Befehlsholzyklus führt der Datenübertragungskontroller 52 eine weitere Über­ tragung von dem externen Speicher 50 zu dem Datenspeicher 16 durch, indem er die aktualisierten Adressen verwendet.
Wenn die gesamte DMA-Übertragung abgeschlossen ist (wenn die verbleibende Datenmenge, die noch übertragen werden muß, Null ist), setzt der Datenübertragungskontroller 52 das DMA-Nachfrage-Zeichen zurück und steigt aus dem DMA-Mo­ dus aus. Der Mikroprozessor 12 kann bestimmen, daß die DMA- Übertragung beendet ist, indem er das DMA-Nachfrage-Zeichen liest. Alternativerweise kann der Datenübertragungskontrol­ ler 52 eine Unterbrechung (interrupt) erzeugen, um dem Mi­ kroprozessor 12 anzuzeigen, daß die Übertragung abgeschlos­ sen ist.
DMA-Übertragungen von dem Datenspeicher 16 zu dem externen Speicher 50 werden auf im wesentlichen gleicher Art und Weise ausgeführt, der Datenübertragungskontroller 52 er­ zeugt MR- und IOW-Signale anstatt von MW- und IOR-Signalen. Eine detaillierte Beschreibung wird hier nicht vorgenommen.
Da der Mikroprozessor 12 nicht anhalten bzw. warten muß, während die DMA-Übertragung durchgeführt wird, ist die Ge­ samteffizienz größer als bei Systemen, die bekannte DMA- Steuereinheiten verwenden, und sehr viel größer als bei be­ kannten Systemen, die die Übertragung über den Mikroprozes­ sor 12 durchführen.
Der Bereich dieser Erfindung ist nicht durch die Strukturen beschränkt, die in den Zeichnungen gezeigt werden, sondern umfaßt viele Modifikationen, die für einen Fachmann er­ sichtlich sind und die nachfolgenden Abwandlungen umfassen aber nicht auf diese beschränkt sind: die I/O-Einrichtungen sind nicht auf Sensoren, LEDs und Externspeichereinrichtun­ gen beschränkt sondern können z.B. irgendeine Eingangs-, Ausgangs- oder Eingangs/Ausgangs-Einrichtung sein; das Be­ fehlsholsignal (IF) kann direkt als Schaltersteuerungssi­ gnal (SC) eingesetzt werden, anstatt daß der Datenübertra­ gungskontroller SC aus IF erzeugt; der Datenübertragungs­ kontroller kann so ausgebildet sein, daß er mehr als einen Datenübertragung pro Befehlsholzyklus durchführt; in dem neuen Datenübertragungssystem nach Fig. 1 müssen die Ein­ gangs- und Ausgangsanschlüsse nicht m-Bit Anschlüsse sein, sondern können eine beliebige Anzahl von Bits gleich oder geringer als m haben; in dem neuen Datenübertragungssystem nach Fig. 4 kann die DMA-Übertragung durch die Externspei­ chereinrichtung oder eine weitere externe Einrichtung nach­ gefragt werden, anstatt von dem Mikroprozessor; ebenfalls kann in diesem Datenübertragungssystem, zusätzlich zu dem beschriebenen DMA-Modus, der Datenübertragungskontroller einen Burst-DMA-Modus haben, bei dem er einen kontinuierli­ chen DMA-Transfer durchführt, während der Mikroprozessor anhält. Der Burst-DMA-Modus ist nützlich, wenn der Mikro­ prozessor warten muß, bis die DMA-Übertragung abgeschlossen ist, bevor er sein Programm fortsetzen kann. Eine benutzer­ kodierte Software kann entweder den Burst-DMA-Modus oder den DMA-Modus, der oben beschrieben wurde in Abhängigkeit von der Datenmenge, die übertragen werden soll, und der ge­ wünschten Übertragungsgeschwindigkeit auswählen; Der Ein­ satz beider Modi ist extrem bequem für den Programmierer.

Claims (9)

1. Datenübertragungssytem, das aufweist:
einen Adressbus, der einen ersten Teil und einen zweiten Teil hat, zum Übertragen von Adressinformationen;
einen Datenbus, der einen ersten und einen zweiten Teil hat, zum Übertragen von Daten;
einen Steuerungsbus zum Übertragen von Steuerungssignalen;
einen Mikroprozessor vom von-Neumann-Typ, der mit dem er­ sten Teil des Adressbusses, dem ersten Teil des Datenbusses und dem Steuerungsbus verbunden ist;
einen Programmspeicher, der mit dem ersten Teil des Adressbusses, dem ersten Teil des Datenbusses und dem Steuerungsbus verbunden ist, zum Speichern von Instruktio­ nen, die von dem Mikroprozessor ausgeführt werden sollen;
einen Datenspeicher, der mit dem zweiten Teil des Adressbusses, dem zweiten Teil des Datenbusses und dem Steuerungsbus verbunden ist, zum Speichern von Daten;
eine oder mehrere I/O-Einrichtungen die mit dem zweiten Teil des Datenbusses und dem Steuerungsbus verbunden sind;
einen Adressbusschalter zum Trennen des ersten Teils des Adressbusses von dem zweiten Teil des Adressbusses, wenn der Mikroprozessor einen Befehl aus dem Programmspeicher holt, und zum Verbinden des ersten Teils des Adressbusses mit dem zweiten Teil des Adressbusses zu anderen Zeitpunk­ ten;
einen Datenbusschalter zum Trennen des ersten Teils des Da­ tenbusses von dem zweiten Teil des Datenbusses, wenn der Mikroprozessor einen Befehl von dem Programmspeicher holt, und zum Verbinden des ersten Teils des Datenbusses mit dem zweiten Teil des Datenbusses zu anderen Zeitpunkten; und
einen Datenübertragungskontroller, der mit dem zweiten Teil des Adressbusses und dem Steuerungsbus verbunden ist, zum Erzeugen von Adressen und Steuerungssignalen, um Direkt­ übertragungen von Daten zwischen dem Datenspeicher und den I/O-Einrichtungen über den zweiten Teil des Datenbusses durchzuführen, während der Mikroprozessor Befehle von dem Programmspeicher holt.
2. System nach Anspruch 1, bei dem der Mikroprozessor den Datenübertragungskontroller ein Befehlsholsignal zuschickt, das aktiv ist, wenn der Mikroprozessor einen Befehl von dem Programmspeicher holt, und das inaktiv zu anderen Zeitpunk­ ten ist.
3. System nach Anspruch 3, bei dem der Datenübertragungs­ kontroller aufweist:
ein Adressregister zum Speichern von Adresspaaren, von denen jedes eine Datenspeicheradresse und eine I/O-Adresse aufweist;
einen Indexzähler zum Angeben von hintereinanderfolgenden Adresspaaren in dem Adressregister;
eine Torschaltung zum Abgeben der Datenspeicheradresse, die von dem Indexzähler angegeben wird, an den zweiten Teil des Adressbusses, während der Mikroprozessor einen Befehl von dem Programmspeicher holt; und
einen I/O-Adressdekoder zum dekodieren der I/O-Adresse, die von dem Indexzähler angegeben wird, und zum Erzeugen von Steuerungssignalen, um eine oder mehrere I/O-Einrichtungen auszuwählen.
4. System nach Anspruch 3, bei dem der Indexzähler immer dann inkrementiert, wenn der Mikroprozessor einen Befehl von dem Programmspeicher holt.
5. System nach Anspruch 3, bei dem das Adressregister für jedes der Adresspaare ebenfalls ein Zeichen speichert, das die Datenübertragungsrichtung angibt.
6. System nach Anspruch 5, bei dem der Datenübertragungs­ kontroller ein Datenspeicherlesesignal oder ein Datenspei­ cherschreibsignal gemäß dem Befehlsholsignal und dem Zei­ chen erzeugt.
7. System nach Anspruch 1, bei dem der zweite Teil des Adressbusses einen dritten Teil aufweist, mit dem der Da­ tenspeicher verbunden ist, und einen vierten Teil, mit dem die I/O-Einrichtungen verbunden sind, und bei dem ein zwei­ ter Adressbusschalter zum Verbinden und Trennen des dritten Teils und des vierten Teils vorgesehen ist, wobei der zweite Adressbusschalter gleichzeitig mit dem Adressbus­ schalter ein- und ausgeschaltet wird.
8. System nach Anspruch 7, bei dem der Datenübertragungs­ kontroller aufweist:
einen Datenspeicheradressgenerator zum Zuführen von Daten­ speicheradressen zu dem dritten Teil des Adressbusses;
einen Datenspeicherzeitgabegenerator zum Ausgeben von Steuerungssignalen an den Datenspeicher;
einen I/O-Adressengenerator zum Zuführen von I/O-Adressen zu dem vierten Teil des Adressbusses;
einen I/O-Zeitgabegenerator zum Ausgeben von Steuerungssi­ gnalen zu den I/O-Einrichtungen;
eine Steuerungsschaltung, die mit dem Steuerungsbus, dem zweiten Teil des Datenbusses, dem Datenbusspeicheradressge­ nerator, dem Datenspeicherzeitgabegenerator, dem I/O- Adressgenerator und dem I/O-Zeitgabegenerator verbunden ist, zum Initialisieren des Datenspeicheradressgenerators, des Datenspeicherzeitgabegenerators, des I/O-Adressgenera­ tors und des I/O-Zeitgabegenerators gemäß den Informatio­ nen, die von dem Mikroprozessor über den Datenbus erhalten werden.
9. System nach Anspruch 8, das weiterhin aufweist Steue­ rungssignalschalter, die gleichzeitig mit dem Adressbus­ schalter und dem Datenbusschalter geschaltet werden, zum Auswählen entweder der Steuerungssignale, die vom Mikropro­ zessor über den Steuerungsbus empfangen werden, oder von Steuerungssignalen, die direkt vom Datenspeicherzeitgabege­ nerator und dem I/O-Zeitgabegenerator empfangen werden, und zum Zuführen der Signale, die so ausgewählt worden sind, zu dem Datenspeicher und den I/O-Einrichtungen.
DE4022365A 1989-07-20 1990-07-13 Datenübertragungssystem Expired - Fee Related DE4022365C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP18593689A JPH0351940A (ja) 1989-07-20 1989-07-20 ダイレクトメモリアクセス方式
JP18593789A JPH0351941A (ja) 1989-07-20 1989-07-20 データ転送方式

Publications (2)

Publication Number Publication Date
DE4022365A1 true DE4022365A1 (de) 1991-01-31
DE4022365C2 DE4022365C2 (de) 2000-02-24

Family

ID=26503426

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4022365A Expired - Fee Related DE4022365C2 (de) 1989-07-20 1990-07-13 Datenübertragungssystem

Country Status (2)

Country Link
US (1) US5481677A (de)
DE (1) DE4022365C2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0588607A1 (de) * 1992-09-16 1994-03-23 Matsushita Electric Industrial Co., Ltd. Datenverarbeitungsgerät mit verbessertem Datendurchfluss
WO2001024883A2 (en) 1999-10-06 2001-04-12 Camo Mehmed Polygon for football players training 'football school'
DE10013665A1 (de) * 2000-03-20 2001-10-11 Fresenius Medical Care De Gmbh Medizinisches Gerät mit doppeltem Kommunikationsbus

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69625327D1 (de) * 1996-03-20 2003-01-23 St Microelectronics Srl Zeitzuteilender interner Bus, insbesondere für nichtflüchtige Speicher
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6493407B1 (en) * 1997-05-27 2002-12-10 Fusion Micromedia Corporation Synchronous latching bus arrangement for interfacing discrete and/or integrated modules in a digital system and associated method
US5983303A (en) * 1997-05-27 1999-11-09 Fusion Micromedia Corporation Bus arrangements for interconnection of discrete and/or integrated modules in a digital system and associated method
US6338110B1 (en) * 1997-11-14 2002-01-08 Sun Microsystems, Inc. Partitioning of storage channels using programmable switches
JPH11203161A (ja) * 1998-01-07 1999-07-30 Mitsubishi Electric Corp マイクロコンピュータ
DE19882676T1 (de) * 1998-02-16 2000-07-27 Siemens Ag Integrierte Schaltung
FR2824650A1 (fr) * 2001-05-10 2002-11-15 Koninkl Philips Electronics Nv Systeme de traitement de donnees et procede de distribution d'acces a des memoires
CN112347011B (zh) * 2020-11-11 2024-04-05 歌尔科技有限公司 双机通信方法、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2162393A1 (de) * 1971-12-16 1973-06-20 Krantz Elektronik Gmbh & Co Kg Rechner mit einer zentralen prozessoreinheit
US4456965A (en) * 1980-10-14 1984-06-26 Texas Instruments Incorporated Data processing system having multiple buses
DE3723754A1 (de) * 1987-07-17 1989-01-26 Siemens Ag Datenverarbeitungsanlage mit zwei getrennten bussystemen

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5793422A (en) * 1980-11-29 1982-06-10 Omron Tateisi Electronics Co Dma controller
EP0196751B1 (de) * 1985-02-12 1995-08-23 Texas Instruments Incorporated Mikroprozessor mit einer Blockübertragungsinstruktion
US4847750A (en) * 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2162393A1 (de) * 1971-12-16 1973-06-20 Krantz Elektronik Gmbh & Co Kg Rechner mit einer zentralen prozessoreinheit
US4456965A (en) * 1980-10-14 1984-06-26 Texas Instruments Incorporated Data processing system having multiple buses
DE3723754A1 (de) * 1987-07-17 1989-01-26 Siemens Ag Datenverarbeitungsanlage mit zwei getrennten bussystemen

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
- US-Z: DUAL MASTER BUS ISOLATOR. In: IBM Technical Disclosure Bulletin, Vol.32, No.3B, August 1989, S.206-208 *
- US-Z: SIMULTANEOUS DUAL PORT DIRECT MEMORY ACCESS TRANSFERS. In: IBM Technical Disclosure Bulletin, Vol.32, No.1, June 1989, S.396-404 *
DE-Z: Ein Multibus II-Board mit dem i486. In: Design & Elektronik, Ausg.24 v. 28.11.1989, S.6-8 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0588607A1 (de) * 1992-09-16 1994-03-23 Matsushita Electric Industrial Co., Ltd. Datenverarbeitungsgerät mit verbessertem Datendurchfluss
WO2001024883A2 (en) 1999-10-06 2001-04-12 Camo Mehmed Polygon for football players training 'football school'
DE10013665A1 (de) * 2000-03-20 2001-10-11 Fresenius Medical Care De Gmbh Medizinisches Gerät mit doppeltem Kommunikationsbus
DE10013665C2 (de) * 2000-03-20 2003-11-06 Fresenius Medical Care De Gmbh Medizinisches Gerät mit doppeltem Kommunikationsbus
US6880034B2 (en) 2000-03-20 2005-04-12 Fresenius Medical Care Deutschland Gmbh Medical device with dual communications bus

Also Published As

Publication number Publication date
US5481677A (en) 1996-01-02
DE4022365C2 (de) 2000-02-24

Similar Documents

Publication Publication Date Title
DE3914265C2 (de)
DE69332663T2 (de) Datenprozessor mit einem Cachespeicher
DE2744531C2 (de) Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
EP0014850B1 (de) Einrichtung zur Erweiterung des Standard-Makroinstruktionssatzes in einer Datenverarbeitungsanlage
DE4022365C2 (de) Datenübertragungssystem
CH657714A5 (de) Mehrprozessorenanlage.
DE2411963A1 (de) Datenverarbeitungsanlage
EP0951682A1 (de) IO- UND SPEICHERBUSSYSTEM FÜR DFPs SOWIE BAUSTEINE MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN
CH616013A5 (de)
DE4305851A1 (en) Data transfer system between memory and central processing unit - uses direct memory access transfer control having bus information control stage to provide time priority access control of operations
DE2723466A1 (de) Sammelleitungsanordnung
DE60034998T2 (de) Verbesserungen in oder bezüglich von Mikroprozessoren
DE2944419A1 (de) Digitalrechnersystem
DE69333853T2 (de) Erweiterbare zentrale Verarbeitungseinheit
DE69726400T2 (de) Festkörper-datenprozessor mit vielseitiger mehrquellen-unterbrechungsorganisation
DE3114921A1 (de) Datenverarbeitungssystem
CH634938A5 (de) Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen.
DE19652290C2 (de) Mikrocomputer
DE3936339A1 (de) Controller fuer direkten speicherzugriff
DE19950255A1 (de) Mikroprozessor
EP0268342A1 (de) Koordination des Verarbeitungselemente in einem Multiprozessorrechner
EP1308846B1 (de) Datenübertragungseinrichtung

Legal Events

Date Code Title Description
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
8105 Search report available
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 13/14

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee