DE4022365A1 - Datenuebertragungssystem - Google Patents
DatenuebertragungssystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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.
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.
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.
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.
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)
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)
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)
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)
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 |
-
1990
- 1990-07-13 DE DE4022365A patent/DE4022365C2/de not_active Expired - Fee Related
-
1992
- 1992-09-03 US US07/939,044 patent/US5481677A/en not_active Expired - Lifetime
Patent Citations (3)
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)
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)
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 |