DE3787235T2 - Übertragungssysteme mit Paketbildung. - Google Patents
Übertragungssysteme mit Paketbildung.Info
- Publication number
- DE3787235T2 DE3787235T2 DE19873787235 DE3787235T DE3787235T2 DE 3787235 T2 DE3787235 T2 DE 3787235T2 DE 19873787235 DE19873787235 DE 19873787235 DE 3787235 T DE3787235 T DE 3787235T DE 3787235 T2 DE3787235 T2 DE 3787235T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- signal
- bus
- unit
- data words
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims description 12
- 230000015572 biosynthetic process Effects 0.000 title 1
- 239000000872 buffer Substances 0.000 claims description 66
- 238000012546 transfer Methods 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 11
- 239000004020 conductor Substances 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000012937 correction Methods 0.000 claims description 5
- 230000013011 mating Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000000630 rising effect Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Separation By Low-Temperature Treatments (AREA)
- Communication Control (AREA)
Description
- Die Erfindung bezieht sich auf Übertragungssysteme mit Paketbildung und insbesondere auf die Art und Weise, wie Eingabe/Ausgabe-Einheiten (I/O) eines digitalen Datenverarbeitungssystems Daten von und zu einer Systemspeichereinheit übertragen.
- Es ist bekannt, direkten Speicherzugriff (DMA) und Zyklen-Raubverfahren zu verwenden, um Daten von einer Eingabe/Ausgabe- Einheit (I/O) zur Hauptspeichereinheit eines digitalen Computers zu übertragen und umgekehrt. Bei einem typischen Zyklen-Raubverfahren sendet die I/O-Einheit, die mit dem I/O-Bus des Computers oder Prozessors gekoppelt ist, beispielsweise ein Anforderungssignal zur Datenübertragung zum Prozessor. Wenn die Hauptspeichereinheit zur Verfügung steht, und der Prozessor zur Verarbeitung bereit ist, sendet er ein Rückmeldungssignal zur I/O- Einheit und teilt damit mit, daß mit der Datenübertragung begonnen werden kann. Die I/O-Einheit sendet eine Speicheradresse zur Hauptspeichereinheit, und ein Datenwort wird von der I/O-Einheit zur Hauptspeichereinheit übertragen, oder umgekehrt. Dieser Prozeß wird für jedes Datenwort wiederholt, das übertragen werden soll.
- Es wurde vorgeschlagen, die Leistungsfähigkeit dieser Art von I/O-Betrieb zu verbessern, indem ein sogenanntes Paketübertragungsverfahren angewendet wird. In diesem Fall wird nicht nur ein Datenwort, sondern eine Folge von mehreren Datenwörtern zu oder von der Hauptspeichereinheit für jede Datenübertragungsanforderung übertragen. Mit anderen Worten sendet die I/O-Einheit für jede Datenübertragungsanforderung eine einzelne Startadresse, der eine Folge von mehreren Datenwörtern nachfolgt, zur Hauptspeichereinheit, um einen Schreibvorgang im Speicher durchzuführen. Im Fall eines Lesevorgangs sendet die I/O-Einheit eine einzelne Startadresse zur Hauptspeichereinheit, die daraufhin ihrerseits eine Folge von mehreren Datenwörtern an die I/O-Einheit zurücksendet.
- Ein Problem beim Paketübertragungsverfahren besteht darin, daß die Methode nicht immer die erwarteten Vorteile bringt. Wir sind der Überzeugung, daß das Verfahren sich dann als effizient erweist und nur minimale Schaltkreisprobleme auftreten, wenn die Anzahl der Datenwörter pro Paket mit der Zeilengröße des Datenworts in der Hauptspeichereinheit übereinstimmt. Mit anderen Worten sollte die Anzahl der Datenwörter pro Paket die gleiche sein wie die Anzahl der Datenwörter, die von der Hauptspeichereinheit während einer einzelnen Speicheroperation verarbeitet wird. Dies führt jedoch zu einem weiteren Problem, da verschiedene Arten von I/O-Einheiten manchmal verschiedene Datenübertragungsgrößen haben (Datenwörter pro Paket). Häufig ist es von Vorteil, eine I/O-Einheit mit einer bestimmten Datenübertragungsgröße (Datenwörter pro Paket) in einem Datenverarbeitungssystem zu verwenden, bei dem die Hauptspeichereinheit eine andere Speicherzeilengröße hat, die nicht mit der Datenübertragungsgröße übereinstimmt.
- Es ist daher nicht sinnvoll, das zweite Problem dadurch zu lösen, daß unterschiedliche Arten von Prozessoren alle die gleichen Speicherzeilengrößen haben müssen. Dadurch können leistungsfähigere Speicherimplementierungen für Prozessoren mit unterschiedlichen Betriebsanforderungen nicht verwendet werden. Wenn alle I/O-Einheiten darüber hinaus die gleiche Paketgröße haben sollen, können keine I/O-Implementierungen verwendet werden, die für bestimmte Anwendungen kostengünstiger sind.
- Die Erfindung beschreibt eine Vorrichtung, die die effiziente Verwendung einer I/O-Einheit mit einer bestimmten Datenübertragungsart bei unterschiedlichen Datenverarbeitungssystemen mit unterschiedlichen Zeilengrößen der Speichereinheiten ermöglicht und die erweitert werden kann, um andere gewünschte Eigenschaften bereitzustellen.
- Die vorliegende Erfindung beschreibt ein Datenverarbeitungssystem mit einem Systembus, der austauschbare oder zusammenpassende I/O-Einheiten mit einer Systemspeichereinheit koppelt, wobei Datenwörter zwischen der Speichereinheit und den I/O- Einheiten in Paketen mit einem oder mehreren Datenwörtern übertragen werden; das System umfaßt dabei:
- ein Mittel, das den I/O-Einheiten ein Zeilengrößensignal zuführt, das die aktuelle Anzahl von Datenwörtern beinhaltet, die von der Systemspeichereinheit während einer einzelnen Speicheroperation verarbeitet wird; und
- eine Steuerlogik, die sich in einer I/O-Einheit befindet oder für eine I/O-Einheit vorgesehen ist und die auf das Zeilengrößensignal zum Anpassen der aktuellen Datenübertragungsgröße auf der I/O-Einheit antwortet, um so eine Übereinstimmung mit der Anzahl der Datenwörter zu erreichen, die von der Systemspeichereinheit während einer einzelnen Datenspeicheroperation verarbeitet wird.
- Ein weiterer Aspekt der vorliegenden Erfindung umfaßt eine I/O- Einheit, die in einem Datenverarbeitungssystem verwendet wird und die mit einem Busarbitrierungsmechanismus zum Empfang von Anforderungssignalen von den I/O-Einheiten und zum Senden eines Rückmeldungssignals zu einer ausgewählten I/O-Einheit ausgestattet ist, wobei die Steuerlogik integriert ist und folgendes umfaßt:
- ein Adreßregistermittel zum Speichern einer Startadresse der Systemspeichereinheit;
- ein Puffermittel zum Speichern zahlreicher Datenwörter;
- ein Busanforderungsmittel, das an den Systembus gekoppelt ist und die Verwendung des Busses durch die I/O-Einheit anfordert;
- ein Busrückmeldungsmittel, das an den Systembus gekoppelt wird und ein Rückmeldungssignal empfängt, das die Verwendung des Systembusses durch die I/O-Einheit erlaubt;
- eine Steuerlogik für die Paketübertragung, die mit dem Adreßregistermittel und dem Puffermittel gekoppelt ist und auf ein empfangenes Rückmeldungssignal antwortet, um eine Übertragung der Startadresse vom Adreßregistermittel zum Systembus zu veranlassen sowie eine sequentielle Übertragung zahlreicher Datenwörter zwischen dem Systembus und dem Puffermittel; und
- eine Anpassungslogik für die Paketgröße, die mit der Steuerlogik für die Datenübertragung gekoppelt ist und auf das Zeilengrößensignal antwortet, um die Anzahl der mit der Startadresse übertragenen Datenwörter zu beschränken, so daß die Anzahl der übertragenen Datenwörter nicht die Anzahl der Datenwörter überschreitet, die von der Systemspeichereinheit während einer einzelnen Speicheroperation verarbeitet wird.
- Nachfolgend werden neue Mechanismen beschrieben, mit denen die I/O-Einheiten automatisch ihre Datenübertragungsgrößen (Datenwörter pro Paket) anpassen können, um eine Übereinstimmung mit der Speichereinheitzeilengröße des Datenverarbeitungssystems zu erzielen, mit dem die Einheiten gekoppelt sind. Dabei wird folgendermaßen verfahren: in das Datenverarbeitungssystem wird ein Mechanismus integriert, das den I/O-Einheiten ein Zeilengrößensignal zuführt, das die Zeilengröße der Systemspeichereinheit beinhaltet; darüber hinaus verfügen die I/O-Einheiten über einen Mechanismus, der auf das Zeilengrößensignal antwortet, um die Datenübertragungsgröße der I/O-Einheit anzupassen, so daß sie mit der Zeilengröße der Systemspeichereinheit übereinstimmt.
- Die vorliegende Erfindung wird des weiteren anhand von Ausführungsbeispielen mit Bezug auf die entsprechenden Begleitzeichnung beschrieben.
- Fig. 1 ist ein schematisches Blockdiagramm einer Art von Übertragungssystem mit Paketbildung entsprechend der vorliegenden Erfindung;
- Fig. 2 ist ein Taktdiagramm, das den Ablauf des Ausführungsbeispiels von Fig. 1 verdeutlicht;
- Fig. 3 ist ein schematisches Blockdiagramm, das den inneren Aufbau einer der I/O-Steuereinheiten von Fig. 1 genauer zeigt; und
- Fig. 4 ist ein Taktdiagramm, das den Betrieb der Steuereinheit von Fig. 3 veranschaulicht.
- Das in den Zeichnungen dargestellte System umfaßt einen Host- Prozessor 10 und eine Systemspeichereinheit 11, die parallel mit einem Mehrfachleiter-Prozessorbus 12 gekoppelt sind, der zu einer Bussteuereinheit 13 geht. Die Systemspeichereinheit 11 wird manchmal als Hauptspeichereinheit bezeichnet. Es ist der maßgebliche Lese/Schreib-Speicher für den Host-Prozessor 10.
- Der Prozessorbus 12 ist über die Bussteuereinheit 12 mit einem Mehrfachleiter-Systembus 14 gekoppelt. Parallel mit dem Systembus 14 sind verschiedene I/O-Einheiten 15, 16, 17 und 18 gekoppelt. Die I/O-Einrichtungen 19, 20, 21 und 22 sind mit den entsprechenden I/O-Einheiten 15, 16, 17 und 18 gekoppelt.
- Der Systembus 14 sorgt unter anderem dafür, daß die I/O-Einheiten 15-18 über die Bussteuereinheit 13 und den Prozessorbus 12 mit der Systemspeichereinheit 11 gekoppelt werden. Der Systembus 14 kann beispielsweise einen Multibit-Datenbus, einen Multibit- Adreßbus, einen Mehrbit-Befehlsbus, einen Mehrbit-Statusbus und zahlreiche unterschiedliche Steuerleitungen, Handshaking-Signalleitungen und ähnliches umfassen. In einigen hier beschriebenen Ausführungsbeispielen kann ein einmalig multiplexierter Adreß/Datenbus anstelle einzelner Adreß- und Datenbusse verwendet werden. Gleichzeitig kann ein einmalig multiplexierter Befehls/Statusbus anstelle der beiden einzelnen Busse verwendet werden.
- Zusätzlich zum Übertragen von Datenwörtern, Adressen und ähnlichem zwischen dem Prozessorbus 12 und dem Systembus 14, umfaßt die Bussteuereinheit 13 noch einen Busarbitrierungsmechanismus, um festzulegen, welche der I/O-Einheiten 15-18 den Systembus 14 verwenden kann, wenn zwei oder mehr der Einheiten gleichzeitig den Systembus 14 benutzen wollen. Wenn eine I/O-Einheit den Systembus 14 benutzen will, aktiviert sie eine Anforderungsleitung im Systembus. Wenn zwei oder mehr Anforderungen gleichzeitig vorhanden sind, greift die Bussteuereinheit 13 zu einem festgelegten Auswahlalgorithmus, um die I/O-Einheit auszuwählen, die zuerst aktiv werden darf. Daraufhin wird ein Rückmeldungssignal über eine entsprechende Rückmeldungsleitung im Systembus 14 zur ausgewählten I/O-Einheit gesendet. Die ausgewählte I/O- Einheit kann nun mit der Verwendung des Systembusses 14 beginnen. Wenn in der Zwischenzeit keine weiteren Anforderungen empfangen wurden, darf die zweite I/O-Einheit den Systembus 14 verwenden, nachdem die erste I/O-Einheit den Bus nun nicht mehr benötigt. Es sind zahlreiche Auswahlalgorithmen für I/O-Einheiten bekannt, die deshalb an dieser Stelle nicht weiter erläutert werden müssen.
- Jede der I/O-Einheiten 16, 17 und 18 ist eine Paketübertragungseinheit. Als solche überträgt jede Einheit ein Paket mit zeitsequentiellen Datenwörter zu oder von der Systemspeichereinheit 11, wenn die Einheit den Systembus 14 für normale Datenübertragungszwecke anfordert und ihn benutzen darf. Zur besseren Veranschaulichung wird davon ausgegangen, daß I/O-Einheit 16 Pakete mit zwei Wörtern (2W), I/O-Einheit 17 Pakete mit vier Wörtern (4W) und I/O-Einheit 18 Pakete mit acht Wörtern (8W) überträgt. Diese Voraussetzung bezieht sich auf normale Operationen, wenn die von der vorliegenden Erfindung beschriebene Anpassung nicht vorhanden ist. Unter "Wort" ist "Datenwort" zu verstehen. zusätzlich enthält jedes Paket ein erstes Adreßsegment oder Feld, das die Startadresse für die Systemspeichereinheit 11 umfaßt. Repräsentative Pakete für die I/O-Einheiten 16 und 17 werden in der unteren Zeile von Fig. 2 dargestellt, wobei "A" für Adreßwort und "D" für Datenwort steht.
- Der normale Betriebsmodus für die I/O-Einheit 15 besteht in der Übertragung eines Datenworts für jede Startadresse, die zur Systemspeichereinheit gesendet wird. Der Einfachheit halber wird dies als Ein-Wort-Paket bezeichnet. Dabei ist natürlich klar, daß die Ein-Wort-Paketübertragung im wesentlichen bei Zyklen- Raubverfahren angewendet wird. Mit anderen Worten wird bei Zyklen-Raubverfahren ein Datenwort für jede Startadresse, die zur Systemspeichereinheit gesendet wird, übertragen.
- Der Vorteil von Mehrwort-Paketen geht aus der unteren Zeile von Fig. 2 hervor. Es werden mehr Daten pro Startadresse übertragen. Darüber hinaus werden mehr Daten für jedes Anforderungs/Rückmeldungsverfahren übertragen, das ausgeführt wird, um der I/O-Einheit den Zugriff auf den Systembus und damit auf die Systemspeichereinheit zu ermöglichen.
- Die in Fig. 2 dargestellten Adreß- und Datenwörter sind Multibit-Wörter. Jedes Wort besteht beispielsweise aus 4 Bytes (32 Bits) plus einem zusätzlichem Paritätsbit für jedes Byte. Im hier beschriebenen Ausführungsbeispiel wird ein einmalig multiplexierter Bus sowohl für die Adreßwörter als auch für die Datenwörter verwendet. Es wird davon ausgegangen, daß der Adreß/Datenbus (A/D) ein 36-Bit-Bus ist (32 Datenbits plus 4 Paritätsbits). Normalerweise werden die Partitätsbits nicht erwähnt, so daß im folgenden vom A/D-Bus als 32-Bit-Bus gesprochen wird. Der Prozessorbus 12 enthält ebenfalls einen 32-Bit- Adreß/Datenbus (eigentlich 36-Bit) für die Übertragung der gleichen Adresse und der gleichen Datenwörter von und zur Systemspeichereinheit 11. Sämtliche 32 Bits jedes Worts werden von der Steuereinheit zur Systemspeichereinheit oder umgekehrt parallel übertragen.
- Der Systembus 14 ist ein asynchroner Bus und eine Auswahl/Bereit-Handshaking-Routine wird verwendet, um die Adresse und die Datenwörter von der I/O-Einheit zur Systemspeichereinheit, oder umgekehrt im Fall der Datenwörter zu bringen. Das Handshaking-Verfahren ist im Taktdiagramm von Fig. 2 dargestellt. Die I/O-Einheit setzt ein Adreßwort auf den Systembus 14 und sendet ein ASEL-Signal (Adreßauswahl) zur Bussteuereinheit 13. Die Bussteuereinheit 13 antwort mit einem Bereitsignal (RDY), wenn die Adresse angenommen wurde. Für einen Schreibvorgang in der Systemspeichereinheit setzt die I/O-Einheit ein Datenwort auf den Systembus 14 und sendet über die DSEL-Steuerleitung in Bus 14 ein DSEL-Signal (Datenauswahl) zur Bussteuereinheit 13. Die Bussteuereinheit 13 antwortet daraufhin mit einem anderen Bereitsignal, wenn das Datenwort angenommen wurde. Diese DSEL/Bereitfolge wird für jedes weitere Datenwort im Paket wiederholt.
- Im Fall eines Lesevorgangs in der Systemspeichereinheit geht das Datenwort in die entgegengesetzte Richtung, nämlich von der Systemspeichereinheit 11 zur I/O-Einheit. In diesem Fall zeigt das DSEL-Signal an, daß die I/O-Einheit bereit ist, ein Datenwort zu empfangen. Das sich ergebende Bereitsignal zeigt an, daß von der Bussteuereinheit 13 ein gültiges Datenwort in den Systembus 14 gesetzt wurde. Auf diese Art und Weise bestimmt die Auswahl/Bereit-Handshakingfolge die Bewegung der Adreß- und Datenwörter. Von der I/O-Einheit wird auf einer separaten Bussteuerleitung ein weiteres Signal gesendet, ein DEND-Signal (Datenende), um der Bussteuereinheit 13 mitzuteilen, daß das übertragene Wort das letzte Wort im Paket ist.
- Im Beispiel von Fig. 2 werden die Enden der Pakete als benachbart gezeigt. Es muß jedoch davon ausgegangen werden, daß gelegentlich Zeitlücken zwischen aufeinanderfolgenden Paketen auftreten, wobei sich der Systembus 14 während diesen Zeitlücken in einem Leerlaufzustand befindet.
- Entsprechend der vorliegenden Erfindung umfaßt das Datenverarbeitungssystem von Fig. 1 Mittel, die der I/O-Einheit ein Zeilengrößensignal bereitstellen, das die Zeilengröße der Systemspeichereinheit 11 beinhaltet. Im vorliegenden Ausführungsbeispiel liegt daher ein Paar von Signalleitern LLI0/und LLI1 vor, die Teil des Systembusses 14 sind und die zusammen ein binärcodiertes Mehrbit-Indikatorsignal der Zeilenlängen (LLI) bereitstellen, das anhand der Anzahl der Wörter die Zeilengröße der Systemspeichereinheit 11 darstellt. Wenn die Systemspeichereinheit 11 einen Fehlerprüf- und Korrekturmechanismus (ECC) verwendet, dann ist die "Zeilengröße" der Systemspeichereinheit die Anzahl der Datenwörter, die in der Systemspeichereinheit gespeichert sind und für die ein begleitendes Fehlerprüfungs- und Korrekturcodefeld oder -segment zur Verfügung steht. In diesem Fall ist die Zeilengröße die Anzahl der Datenwörter pro ECC-Wort. Wenn ein Fehlerprüfungs- und Korrekturmechanismus nicht verwendet wird, ist die Zeilengröße der Systemspeichereinheit die Anzahl der Wörter, die in den Speicher während eines bestimmten Zugriffs der Speichereinheit geschrieben oder aus dem Speicher ausgelesen werden.
- Die Leitungen LLI0/und LLI1 des Zeilenlängenindikators (LLI) werden in Übereinstimmung mit der Zeilengröße der Systemspeichereinheit vorprogrammiert, indem sie an eine Spannungsquelle +V angeschlossen werden und die entsprechenden Leitungen geerdet werden. Im gezeigten Fall wird die LLI0/Leitung mittels eines Masseanschlusses 23 geerdet, und die Leitung LLI1 wird mittels des Resistors 24 an eine positive Spannungsquelle +v angeschlossen. Dadurch erscheint auf den LLI-Leitungen ein Binärwert "10". Dies steht beispielsweise für eine Zeilengröße der Systemspeichereinheit von vier Wörtern (vier Datenwörter). Das im vorliegenden Ausführungsbeispiel verwendete Codierungsschema sieht folgendermaßen aus: "00" für eine Zeilengröße von 1 Wort, "01" für eine Zeilengröße von 2 Wörtern, "10" für eine Zeilengröße von 4 Wörtern und "11" für eine Zeilengröße von 8 Wörtern. Es können natürlich auch andere Codierungsschemata verwendet werden. Darüber hinaus können bei Bedarf auch zwei LLI-Leitungen benutzt werden.
- Im gezeigten Ausführungsbeispiel kommt das Zeilengrößensignal von den separaten dedizierten Signalleitern LLI0/und LLI1, die dem Systembus 14 zugeordnet sind und die einzig zum Bereitstellen des Zeilengrößensignal dienen. Bei einer weiteren Implementierung kann das Zeilengrößensignal von einem Statusbyte kommen, das über den Systembus 14 zur I/O-Steuereinheit übertragen wird. Zahlreiche Systeme verfügen über einen Statusbus als Teil des Systembusses, mit dem Statusinformationen zwischen der Bussteuereinheit und der I/O-Einheit übertragen werden. In diesem Fall kann als Teil der ursprünglichen Einrichtung des Systems ein spezielles Statusbyte, das die Zeilengröße der Systemspeichereinheit beinhaltet, von der Bussteuereinheit zur I/O-Einheit über den Statusbus übertragen werden, der im Systembus 14 integriert ist. Dieser Schritt geschieht unmittelbar nach dem Einschalten des Systems sowie als Teil des ursprünglichen Setup oder des ersten Ladens des Systems. Der Zeilenlängenindikator dieses Statusbytes wird von einem LLI-Register, das sich in jeder I/O-Einheit befindet, empfangen und gespeichert. Der LLI-Wert in diesem Register wird auf gleiche Art und Weise wie der LLI-Wert verwendet, der von den in Fig. 1 gezeigten LLI0/ LLI1-Leitern kommt.
- Entsprechend der vorliegenden Erfindung umfaßt das hier beschriebene Datenverarbeitungssystem ein Mittel, das sich in mindestens einer der I/O-Einheiten 15-18 befindet und das nach Empfang des Zeilengrößensignals (LLI-Signal) die Datenübertragungsgröße der I/O-Einheit anpaßt, damit diese mit der Zeilengröße der Systemspeichereinheit 11 übereinstimmt. Der Begriff "Datenübertragungsgröße" bezieht sich auf die Anzahl der Datenwörter, die zwischen der I/O-Einheit und der Systemspeichereinheit pro Speicheranforderung durch die I/O-Einheit übertragen werden. Im vorliegenden Ausführungsbeispiel ist damit die Anzahl der Datenwörter pro Paket für die entsprechende I/O-Einheit gemeint.
- In Fig. 3 wird die interne Logik einer der I/O-Steuereinheiten 15-18 von Fig. 1 genauer gezeigt. Es wird allerdings nur der Teil der internen Logik gezeigt, die zum Verständnis der vorliegenden Erfindung notwendig ist. Eine vollständige I/O-Steuereinheit umfaßt normalerweise zusätzliche Logikeinrichtungen zur Ausführung verschiedener anderer Funktionen.
- Die I/O-Steuereinheit von Fig. 3 umfaßt einen Mikroprozessor 25, einen Festwertspeicher (ROM) 26 sowie einen Speicher mit wahlfreiem Zugriff (RAM) 27, der parallel mit einem Mehrfachleiter- Mikroprozessorbus 28 gekoppelt ist. Der ROM 26 beinhaltet das Steuerprogramm, das die internen Operationen der I/O-Steuereinheit überwacht und steuert. Der RAM 27 umfaßt verschiedene Register, Puffer, Zwischenspeicherbereiche und ähnliches, die verwendet werden, wenn verschiedene Funktionen innerhalb der I/O-Steuereinheit ausgeführt werden.
- Die I/O-Steuereinheit von Fig. 3 umfaßt darüber hinaus ein Adreßregistermittel 30 zum Speichern der Startadresse der Systemspeichereinheit. Das Adreßwort für ein Paket, das übertragen werden soll, wird von einem Adreßzähler in Register 30 geladen, bei dem es sich in diesem Fall um einen Software-Zähler in der RAN-Einheit 27 handeln kann. Der Software-Zähler wird immer dann aktualisiert, wenn ein Adreßwort in Register 30 geladen wird, um damit die Startadresse für das nächste Paket bereitzuhalten.
- Der I/O-Steuereinheit von Fig. 3 beinhaltet ein Puffermittel zum Speichern zahlreicher Datenwörter. Dieses Puffermittel liegt in Form eines Mehrwort-Puffers 31 vor, bei dem es sich um einen kleinen Speicher mit wahlfreiem Zugriff zum Lesen oder Schreiben eines vollständigen Datenworts während eines beliebigen Zugriffs handeln kann. Dem Puffer 31 ist ein Pufferadreßzähler 32 zugeordnet, der die Adresse liefert, die die Speicherstelle des Worts auswählt, auf die im Puffer 31 zugegriffen wird. In diesem Beispiel ist der Puffer 31 ein 8-Wort-Puffer, der acht separat adressierbare Datenwörter speichern kann. Der Adreßzähler 32 ist ein 3-Bit-Zähler, der auf Null zurückgeht, sobald der maximale Zählungswert überschritten wurde. Der Zähler 32 kann durch Mikroprozessor 25 parallel vom Mikroprozessorbus 28 geladen werden.
- Im Fall eines Schreibvorgangs im Systemspeicher wird der Puffer 31 mit der erforderlichen Anzahl von Datenwörter für ein vollständiges Paket beladen, bevor die Paketübertragung beginnt. Dabei wird jedes Datenwort vom Mikroprozessorbus 28 parallel in den Puffer 31 geladen. Nachdem jedes Wort parallel geladen wurde, veranlaßt der Mikroprozessor 25 die Inkrementierung des Pufferadreßzählers 32 über ein Signal, das von einem Leiter 33 und einem ODER-Schaltkreis 34 kommt, wobei das Signal zum INC- Eingang (Inkrementierung) des Zählers 32 geführt wird. Dieses Signal kann die Abfallflanke des gleichen Mikroprozessorimpulses (MP) auf Leiter 35 sein, das das Laden des Datenworts in Puffer 31 verursacht hat. Der große leere Punkt am INC-Eingang von Zähler 32 deutet darauf hin, daß dieser Eingang auf negative gehende oder Abfallflankensignalübergänge reagiert. Die in Puffer 31 geladenen Datenwörter können vom Zwischenspeicherbereich in RAN 27 kommen.
- Bei einem Lesevorgang im Systemspeicher wird davon ausgegangen, daß der Mehrwort-Puffer 31 ursprünglich leer ist und daß die Datenwörter im eingehenden Paket vom Systembus 14 in Puffer 31 geladen werden. Dieser Fall wird an späterer Stelle noch eingehender behandelt.
- Die I/O-Einheit von Fig. 3 ist des weiteren mit einem Busanforderungsmittel ausgestattet, das mit dem Systembus gekoppelt wird und die Verwendung des Busses durch die I/O-Einheit anfordert. Das Busanforderungsmittel enthält einen Set-Reset Flip-Flop (FF) 36, dessen Ausgang über einen Treiberschaltkreis (D) 37 mit der Anforderungssteuerleitung (REQ) 38 gekoppelt ist, wobei diese Leitung eine der Steuerleitungen im Systembus 14 von Fig. 1 ist. Der Anforderungs-Flip-Flop 36 wird durch ein Signal in den Set- Zustand gesetzt, wobei das Signal vom Mikroprozessor 25 über Bus 28 und Leiter 39 zum S-Eingang geführt wird. Im Set-Zustand aktiviert der Flip-Flop 36 die Anforderungsleitung 38, um die Verwendung des Systembusses 14 durch die I/O-Steuereinheit von Fig. 3 anzufordern.
- Die I/O-Steuereinheit von Fig. 3 beinhaltet weiterhin ein Busrückmeldungsmittel, das mit Systembus 14 gekoppelt ist und ein Rückmeldungssignal empfängt, das der I/O-Einheit das Verwenden des Systembusses 14 erlaubt. Das Busrückmeldungsmittel umfaßt ein Set-Reset Flip-Flop (FF) 40, dessen Set-Eingang (S) über einen Empfangsschaltkreis 41 mit einer Rückmeldungssteuerleitung (ACK) 42 gekoppelt ist, wobei diese Leitung Teil des Systembusses 14 ist. Wenn die Bussteuereinheit 13 von Fig. 1 den Zugriff auf die I/O-Steuereinheit von Fig. 3 erlaubt, wird die ACK-Leitung 42 aktiviert. Dadurch wird der ACK-Flip-Flop 40 in einen Set-Zustand versetzt, wodurch die Ausgangsleitung des Flip-Flop 40 aktiviert wird. Die Aktivierung dient unter anderem dazu, den Anforderungs-Flip-Flop 36 zurückzusetzen (R), wodurch die Anforderung der Steuereinheit von Fig. 3 von der Anforderungssteuerleitung 38 verschwindet.
- Die I/O-Steuereinheit von Fig. 3 umfaßt des weiteren ein erstes Logikmittel (häufig als Steuermittel für die Paketübertragung bezeichnet), das mit dem Adreßregister 30 und dem Puffermittel 31 gekoppelt ist und auf jedes empfangene Rückmeldungssignal auf ACK-Steuerleitung 42 antwortet, um die Übertragung eines Datenpakets zwischen der I/O-Einheit von Fig. 3 und der Systemspeichereinheit 11 von Fig. 1 zu veranlassen. Je nach Fall setzt sich das Datenpaket aus einem Startadreßfeld (Wort) der Systemspeichereinheit und einer Folge von Datenwörtern zusammen. Jedes Adreßwort gelangt in den Systembus 14, indem der Ausgang des Adreßregisters 30 über einen Multiplexer 44 und eine Reihe von Treiber/Empfänger-Schaltkreisen 45 mit einem Adreß/Datenbus (A/D) 43 gekoppelt wird. Der A/D-Bus 43 ist Teil des Systembusses 14. Das Adreßwort von Register 30 und die Datenwörter von Puffer 31 werden vom Multiplexer 44 auf Bus 43 zeitmultiplexiert. Zur Steuerung der Einstellung des Multiplexers 44 wird ein ASEL-Signal verwendet. Wenn die ASEL-Signalleitung aktiv ist, wird Register 30 mit den Treiber/Empfänger-Schaltkreisen 45 verbunden. Andernfalls wird der Datenwortpuffer 31 mit den Treiber/Empfänger-Schaltkreisen 45 gekoppelt.
- Die Treiber/Empfänger-Schaltkreise 45 umfassen eine Reihe von Treiberschaltkreisen und eine separate parallele Reihe von Empfängerschaltkreisen zum Übertragen von Signalen zwischen dem Multiplexer 44 und dem A/D-Bus 43. Ein Richtungssteuersignal (DIR) stellt fest, welche der Schaltkreise, Treiber oder Empfänger, aktiv sind. Es handelt sich dabei um einen wechselseitigen Ausschluß. Es können nicht beide Schaltkreise, Treiber und Empfänger, gleichzeitig aktiv sein. Wenn im gezeigten Ausführungsbeispiel das DIR-Signal hoch ist, werden die Empfängerschaltkreise aktiviert, um Signale vom A/D-Bus 43 zum Multiplexer 44 zu übertragen. Wenn das DIR-Signal dagegen niedrig ist, werden die Treiberschaltkreise aktiviert, um die Signale in die andere Richtung zu übertragen, d. h. vom Multiplexer 44 zum A/D- Bus 43. Die Operation wird durch ein Aktivierungssteuersignal (EN) unterstützt, das von den Treiber/Empfänger-Schaltkreisen 45 kommt. Wenn das Aktivierungssignal hoch ist, werden die vom Richtungssignal (DIR) ausgewählten Schaltkreise aktiviert, um die Signalübertragungsfunktionen bereitzustellen. Wenn das Aktivierungssignal (EN) dagegen niedrig ist, werden die Treiber/Empfänger-Schaltkreise 45 vollständig desaktiviert, so daß keinerlei Übertragung stattfindet. Während der Desaktivierung befinden sich die Treiber/Empfänger-Schaltkreise 45 in einem Hochimpedanzzustand gegenüber dem A/D-Bus 43.
- Bei einem Lesevorgang im Systemspeicher wird der Datenwortpuffer 31 über die mit Logikgatter versehenen Signalübertragungsschaltkreise 46 mit dem Multiplexer 44 gekoppelt. Bei einem Schreibvorgang im Systemspeicher werden die Datenwörter im Puffer 31 ausgelesen und einzeln durch das Register 47 und einer Reihe von Signalübertragungsgatter 48 zum Multiplexer 44 übertragen.
- Ein Lese/Schreib (R/W)-Steuer-Flip-Flop 50 bestimmt, welcher der Signalpfade zwischen Puffer 31 und Multiplexer 44 aktiv ist. In diesem Zusammenhang bedeutet "Lesen", daß Daten aus der Systemspeichereinheit 11 von Fig. 1 ausgelesen und zur I/O-Steuereinheit von Fig. 3 übertragen werden. Der Begriff "Schreiben" bedeutet im Zusammenhang mit Flip-Flop 50, daß Daten aus dem Mehrwort-Puffer 31 ausgelesen und über den Systembus 14 zur Systemspeichereinheit 11 von Fig. 1 übertragen werden. Mit anderen Worten beziehen sich die Begriffe "Lesen" und "Schreiben" auf Vorgänge, die im Zusammenhang mit der Systemspeichereinheit 11 stehen. Der R/W-Flip-Flop 50 wird vom Mikroprozessor 25 in den entsprechenden Set- oder Reset-Zustand gesetzt und zwar als Teil des ursprünglichen Setups für die Übertragung eines Pakets. Ein Zustand aktiviert die Leseausgangsleitung und der andere Zustand aktiviert die Schreibausgangsleitung.
- Bei einem Schreibvorgang im Systemspeicher werden die Datenwörter über die Treiber/Empfänger 45, den Multiplexer 44 und eine Reihe von Gatterschaltkreisen 46 zum Mehrwort-Puffer 31 übertragen. Ein UND-Schaltkreis 51, der vom Leseausgang des Flip-Flop 50 versorgt wird, sendet für jedes eingehende Datenwort ein Systemladesignal (SYS) an den Puffer 31. Das Laden jedes Worts beginnt bei der Anstiegsflanke eines Bereitimpulses (RDY), der zum zweiten Eingang des UND-Schaltkreises 51 geführt wird.
- Bei einem Schreibvorgang im Systemspeicher werden die Datenwörter in Puffer 31 einzeln in ein Register 47 geladen. Während dieses Schreibvorgangs werden eine Reihe von Gatterschaltkreisen 48 ständig aktiviert, so daß das Datenwort in Register 47 von diesen Gatterschaltkreisen 48, dem Multiplexer 44 und den Treibern/Empfängern 45 zum Adreß/Datenbus 43 übertragen wird. Das Beladen des Registers 47 wird von einem UND-Schaltkreis 52 gesteuert, der vom Schreibsignal des Flip-Flop 50 versorgt wird. Das Beladen jedes Worts beginnt bei der Abfallflanke des Bereitsignals (RDY), das zum zweiten Eingang des UND-Schaltkreises 52 geführt wird. Der leere Kreis beim zweiten Eingang zeigt an, daß das RDY-Signal umgekehrt wird, bevor es in den UND-Schaltkreis 52 eingespeist wird. Dadurch wird die Abfallflanke zur Aktivierungsflanke des RDY-Signals.
- An dieser Stelle ist auf das Taktdiagramm von Fig. 4 zu verweisen, das verschiedene Signalwellenformen zeigt, die an verschiedenen Punkten in der Steuereinheit von Fig. 3 vorhanden sind. Die REQ FF-Wellenform zeigt das Signal am Ausgang des Anforderungs-Flip-Flop 36, während die ACK FF-Wellenform das Signal am Ausgang des Rückmeldungs-Flip-Flop 40 zeigt. Das Ansteigen des ACK FF-Signals bewirkt ein Zurücksetzen des Anforderungs-Flip- Flops 36, so daß das REQ FF-Signal niedrig wird. Dadurch verschwindet die Verwendungsanforderung für den Systembus durch die Steuereinheit von Fig. 3 von der Anforderungsleitung 38 des Systembusses.
- Es darf jedoch nicht außer acht gelassen werden, Mittel zur Verfügung zu stellen, die zwischen Adreßzyklen und Datenwortzyklen in jedem Datenpaket unterscheiden. Diese Unterscheidung erfolgt durch einen Adreßzyklus-Flip-Flop 53. Die Anstiegsflanke des Rückmeldungssignals, das am Ausgang von ACK FF 40 erscheint, bringt den Flip-Flop 53 in den Set-Zustand (S). Der Adreßzyklus- Flip-Flop 53 wird beim nächsten positiven Übergang im Bereitsignal (RDY), das von der Bussteuereinheit 13 von Fig. 1 empfangen wird, zurückgesetzt (R). Dieses Signal kommt über eine Bereitleitung 54 im Systembus 14 und geht zu einem Empfängerkreis (R) 55 der Steuereinheit von Fig. 3. Der Ausgang von Empfänger 55 wird mit verschiedenen Stellen verbunden, so auch mit dem Reset- Terminal des Adreßzyklus-Flip-Flop 53. Der Empfänger 55 kann nur dann Signale weitergeben, wenn der Signalpegel am Aktivierungssteuer-Terminal (EN) hoch ist. Der Ausgang des ACK-Flip-Flop 40 wird mit diesem EN-Terminal verbunden, so daß der Empfänger 55 während sämtlicher Paketübertragungsoperationen für ein bestimmtes Paket aktiviert wird.
- Als nächstes ist die Entwicklung der Adreßauswahl (ASEL)- und Datenauswahl (DSEL)-Signale zu erklären, die für die Übertragung mit der Bussteuereinheit 13 verwendet werden. Diese Signale werden von ASEL-Flip-Flop 56 bzw. vom DSEL-Flip-Flop 57 erzeugt. Die Logik zur Steuerung der ASEL- und DSEL-Flip-Flops umfaßt einen Taktimpulsgenerator 58, der auf separaten Ausgangsleitungen eine Folge von Taktimpulsen für jeden Adreßzyklus und jeden Datenzyklus eines Datenpakets erzeugt. Diese Taktimpulse gehen aus der CLOCK-Wellenform von Fig. 4 hervor. Die verschiedenen einzelnen Taktimpulse C0 /, C1, C2, usw. werden auf verschiedenen Ausgangsleitungen des Taktgenerators 58 erzeugt. Der Taktgenerator 58 kann beispielsweise ein Ringzähler sein, der von einem konstanten Frequenzimpulsgenerator angetrieben wird. Der Takt 58 wird am Beginn jedes Adreß- oder Datenzyklus von einem Reset-Signal zurückgesetzt, wobei dieses Signal vom UND- Schaltkreis 59 kommt, der durch das Rückmeldungssignal von Flip- Flop 40 aktiviert wird. Das Zurücksetzen des Takts 58 erfolgt durch den negativen Übergang oder die Abfallflanke des Bereitsignals, das zum anderen Terminal des UND-Schaltkreises 59 geht. Das Zurücksetzen des Takts 58 ermöglicht es beim Beginn jedes Zyklus, daß dieser Takt mit den Adreß- und Datenübertragungen Schritt hält.
- Der Adreßauswahl-Flip-Flop (ASEL) 56 wird durch das Erscheinen eines hohen Pegels am Ausgang des UND-Schaltkreises 60 in den Set-Zustand versetzt. Dies tritt beim Erscheinen des C2-Taktimpulses ein, vorausgesetzt, daß das Bereitsignal niedrig und der Adreßzyklus-Flip-Flop 53 in einem Set-Zustand ist, wobei dieser Zustand anzeigt, daß es sich tatsächlich um einen Adreßzyklus handelt. Der ASEL-Flip-Flop 56 wird durch das Auftreten eines positiven Signals am Ausgang des UND-Schaltkreises 61 zurückgesetzt. Der positive Übergang erfolgt mittels des C6-Taktimpulses, vorausgesetzt, daß das Bereitsignal hoch ist. Dies ist normalerweise während der letzten Hälfte des Adreßzyklus der Fall, wenn der C6-Taktimpuls auftreten sollte. Der daraus entstehende ASEL-Impuls, der am Ausgang des Flip-Flop 56 erzeugt wird, ist in der ASEL-Wellenform von Fig. 4 dargestellt. Der Impuls tritt nur während des Adreßzyklus jedes Datenpakets auf. Das ASEL-Signal gelangt über den Treiberschaltkreis 62 zur ASEL- Steuerleitung 63 im Systembus 14. Der Treiber 62 gibt nur dann Signale weiter, wenn er vom ACK-Signal des Flip-Flop 40 aktiviert wird. Das ACK-Signal ist praktisch während der gesamten Dauer des Paketübertragungsintervalls vorhanden.
- Der Datenauswahl-Flip-Flop (DSEL) 57 wird durch den positiven Signalübergang, der am Ausgang des UND-Schaltkreises 64 auftritt, in einen Set-Zustand versetzt. Dieser Fall tritt bei Erscheinen des C2-Taktimpulses ein, vorausgesetzt, daß das ACK- Signal hoch, das Bereitsignal niedrig ist, und der Ausgang des Adreßzyklus-Flip-Flop 53 anzeigt, daß es sich nicht um einen Adreßzyklus handelt. Der DSEL-Flip-Flop 57 wird vom UND-Schaltkreis 61 zurückgesetzt, wobei das Zurücksetzen normalerweise beim Erscheinen des C6-Taktimpulses vorgenommen wird. Die sich ergebende Wellenform, die am Ausgang des DSEL-Flip-Flop 57 erscheint, ist in der DSEL-Wellenform von Fig. 4 gezeigt. Ein DSEL-Impuls wird während des Auftretens jedes Datenzyklus erzeugt. Diese DSEL-Impulse werden über den Treiberschaltkreis 65 zur DSEL-Steuerleitung 66 im Systembus 14 geführt, vorausgesetzt, der Treiber 65 wird vom ACK-Signal aktiviert.
- Das ASEL-Signal wird verwendet, um der Bussteuereinheit 13 mitzuteilen, daß sich ein gültiges Adreßwort auf dem A/D-Bus 43 befindet. Im Fall eines Schreibvorgangs im Systemspeicher informieren die DSEL-Impulse die Bussteuereinheit 13, daß sich gültige Datenwörter auf dem A/D-Bus 43 befinden. Bei einem Lesevorgang setzt jeder DSEL-Impuls die Bussteuereinheit 13 davon in Kenntnis, daß die Steuereinheit von Fig. 3 bereit ist, ein Datenwort anzunehmen. Bei einem Adreßzyklus teilt der Bereitimpuls, der von der Bussteuereinheit 13 zurückempfangen wurde, der Steuereinheit von Fig. 3 mit, daß das Adreßwort angenommen wurde. Während eines Schreibvorgangs beim Datenzyklus teilt der Bereitimpuls der Steuereinheit mit, daß das Datenwort angenommen wurde. Während eines Lesevorgangs beim Datenzyklus informiert der Bereitimpuls die Steuereinheit darüber, daß eine gültige Dateneinheit auf dem A/D-Bus 43 vorhanden und bereit zur Aufnahme ist. Die gekrümmten Pfeile in Fig. 4 deuten an, daß die Auswahl- und Bereitimpulse im Handshaking-Verfahren gegenseitig ihre Geschwindigkeit festlegen.
- Die ASEL- und DSEL-Impulse werden auch verwendet, um verschiedene andere Einheiten innerhalb der Steuereinheit von Fig. 3 zu steuern. Der ASEL-Impuls wird beispielsweise verwendet, um den Multiplexer 44 auf das Adreßregister 30 während des Auftretens eines Adreßzykluses zu schalten. Wenn kein ASEL-Impuls vorhanden ist, wird der Multiplexer 44 so geschaltet, daß er mit den Gattern 46 und 48 verbunden wird. Der DSEL-Impuls beispielsweise geht zum UND-Schaltkreis 67, um die Signalübertragungsrichtung für die Treiber/Empfänger 45 zu steuern. Während eines Lesevorgangs dient somit jeder DSEL-Impuls dazu, die Treiber/Empfänger 45 in einen Empfangsmodus zu setzen, um die Datenwörter vom A/D- Bus 43 zum Multiplexer 44 zu übertragen. Andernfalls befinden sich die T/R-Schaltkreise 45 in einem Treibermodus, um den A/D- Bus 43 anzutreiben.
- Bei einem Schreibvorgang im Systemspeicher wird das Laden der eingehenden Datenwörter in den Datenwortpuffer 31 durch die Wellenform "Daten laden" in Fig. 4 dargestellt. Die Pfeile zeigen an, daß ein Datenwort beim Erscheinen der Anstiegsflanke eines Bereitimpulses in den Puffer 31 geladen wird. Dieser Vorgang wird vom UND-Schaltkreis 51 bestimmt, der den Systemlade-Terminal des Puffers 31 treibt. Bei einem Schreibvorgang im Systemspeicher wird das Beladen des Registers 47 mit der Wellenform "Daten ausladen" von Fig. 4 dargestellt. Die Pfeile zeigen an, daß bei einer negativen oder Abfallflanke jedes Bereitimpulses die Datenwörter, die am Ausgang des Puffers 31 erscheinen, in das Register 47 geladen werden. Die Beladung wird vom UND- Schaltkreis 52 festgelegt, der das Lade-Terminal von Register 47 treibt und der als einen seiner Eingänge das Bereitsignal empfängt, das seinerseits die Beladung steuert.
- Eine wichtige Funktion des vom Flip-Flop 57 erzeugten DSEL- Signals ist die Inkrementierung des Pufferadreßzählers 32, um den Zugriff auf die nächste Datenwortstelle in Puffer 31 zu ermöglichen. Das DSEL-Signal wird vom ODER-Schaltkreis 34 zum Inkrement-Terminal (INC) des Zählers 32 geführt. Der leere Kreis am Eingangs-Terminal deutet bereits darauf hin, daß die Abfallflanke des DSEL-Signals verwendet wird, um den Zähler 32 um eine Zahl zu inkrementieren. Die Pfeile der INC COUNT-Wellenform von Fig. 4 stellen diese Inkrementierung dar.
- Es wird nun davon ausgegangen, daß im Systemspeicher ein Schreibvorgang durchgeführt wird und daß der Mikroprozessor 25 bereits vier Datenwörter in Puffer 31 geladen hat. Des weiteren hat der Mikroprozessor den Zähler 32 auf Null gesetzt. Dieser Wert greift auf die erste Wortstelle im Puffer 31 zu und stellt den Inhalt Register 47 zur Verfügung. Die Abfallflanke des Bereitimpulses, der am Beginn des Datenzyklus auftritt, lädt das erste Datenwort in Register 47, während der Zähler 32 von der Abfallflanke des DSEL-Impulses, der im gleichen Datenzyklus auftritt, inkrementiert wird. Der Zähler 32 greift nun auf die zweite Wortstelle im Puffer 31 zu, so daß das zweite Datenwort in Register 47 geladen werden kann. Nachdem das zweite Datenwort geladen wurde, wird der Zähler 32 erneut inkrementiert, um auf das dritte Datenwort in Puffer 31 zuzugreifen. Auf diese Art und Weise setzen die Abfallflanken des DSEL-Impulses die Inkrementierung des Zählers 32 fort, bis auf alle vier Datenwörter zugegriffen wurde, und diese zur Systemspeichereinheit gesendet wurden. Die DSEL-Inkrementierung des Zählers 32 steht auch für Lesevorgänge im Systemspeicher zur Verfügung. In diesem Fall ermöglicht die Inkrementierung, daß aufeinanderfolgende Datenwörter, die von der Steuereinheit von Fig. 3 empfangen werden, auf aufeinanderfolgende Wortstellen in Puffer 31 gespeichert werden können.
- Die I/O-Steuereinheit von Fig. 3 umfaßt darüber hinaus ein zweites Logikmittel (häufig als Anpassungsmittel der Paketgröße bezeichnet), das mit dem ersten Logikmittel (Steuermittel für die Paketübertragung) gekoppelt ist und auf das Zeilengrößesignal des Systemspeichers antwortet, um die Anzahl der mit jedem Paket übertragenen Datenwörter zu begrenzen, so daß die Anzahl der übertragenen Datenwörter nicht die Zeilengröße der Systemspeichereinheit überschreitet. Das Anpassungsmittel der Paketgröße beinhaltet einen Decoder-Schaltkreis 70 zum Empfang des Zeilengrößensignals des Systemspeichers, das von der Bussteuereinheit 13 kommt. Die Eingangs-Terminals des Decoders 70 werden mittels der einzelnen Empfängerschaltkreise 71 und 72 mit den entsprechenden Schaltkreisen der Signalleitungen LLI0 / und LLI1 von Fig. 1 gekoppelt. Diese Signalleitungen erzeugen die Bitsignale, aus denen sich das binärcodierte Mehrbit-Zeilen- Größensignal zusammensetzt. Der Decoder 70 dekodiert dieses Zeilengrößensignal und aktiviert nur eine seiner verschiedenen Ausgangsleitungen 73-76. Leitung 73 wird aktiviert, wenn die LLI-Codierung eine Zeilengröße von einem Wort anzeigt. Die Ausgangsleitung 74 wird aktiviert, wenn die LLI-Codierung eine Zeilengröße von zwei Wörtern anzeigt. Die Ausgangsleitung 75 wird aktiviert, wenn die Codierung eine Zeilengröße von vier Wörter anzeigt. Die Ausgangsleitung 76 wird aktiviert, wenn die Codierung eine Zeilengröße von acht Wörtern anzeigt.
- Das Anpassungsmittel der Paketgröße verfügt auch über ein Mittel zum Vergleich des Zeilengrößenwerts des Systemspeichers mit der Zahl im Pufferadreßzähler 32, um festzulegen, wann die Anzahl der übertragenen Datenwörter mit der Zeilengröße des Systemspeichers übereinstimmt. Das Vergleichsmittel setzt sich aus einer Reihe von UND-Schaltkreisen 77, 78, 79 und 80 zusammen. Jede der Decoder-Ausgangsleitungen 73-76 ist mit einem der UND-Schaltkreise 77-80 verbunden. Mit Ausnahme des ersten UND-Schaltkreises 77 ist mit dem Eingang dieser UND-Schaltkreise eine oder mehrere Ausgangsleitungen des Pufferadreßzählers 32 verbunden. Das von Flip-Flop 57 erzeugte Datenauswahlsignal (DSEL) geht zu jedem der UND-Schaltkreise 77-80. Das bedeutet, daß die Vergleichsfunktion nur während eines DSEL-Impulses aktiviert wird. Die Ausgänge der UND-Schaltkreise 77-80 werden mit der gleichen Anzahl von Eingängen eines ODER-Schaltkreises 81 verbunden.
- Das Signal, das am Ausgang des ODER-Schaltkreises 81 erscheint, wird als Datenendsignal (DEND) bezeichnet. Das Erscheinen eines DEND-Signals bedeutet, daß das Ende eines Pakets erreicht wurde. Es kann auch bedeuten, daß die Anzahl der übertragenen Datenwörter mit der Zeilengröße des Systemspeichers übereinstimmt, wenn das DEND-Signals von einem der UND-Schaltkreise 77-80 kommt, und wenn die Übertragung als Speicherzeilengrenze begonnen hat. Das DEND-Signal wird demnach verwendet, um die Paketübertragung für das aktuelle Paket zu beenden. Aus Fig. 2 oder Fig. 4 geht hervor, daß der DEND-Impuls gleichzeitig mit dem letzten DSEL- Impuls in jedem Paket auftritt.
- Wenn die Zeilengröße des Systemspeichers einen Wert von einem Wort hat, wird die Decoder-Ausgangsleitung 73 aktiviert, und der UND-Schaltkreis 77 erzeugt ein DEND-Signal für den ersten auftreten DSEL-Impuls nach der Übertragung des Adreßwortes im Adreßregister 30. In diesem Fall muß der Zahlenwert im Pufferadreßzähler 32 nicht beachtet werden, da das Auftreten des DSEL-Impulses darauf hindeutet, daß ein Datenwort übertragen wurde.
- Wenn der Zeilengrößenwert des Systemspeichers zwei Wörter beträgt, wird die Decoder-Ausgangsleitung 74 aktiviert, und der UND-Schaltkreis 78 erzeugt einen DEND-Ausgangsimpuls, wenn die Zählung im Pufferadreßzähler anzeigt, daß das zweite Datenwort übertragen wird. Wenn die Zeilengröße vier Wörter beträgt, erzeugt der UND-Schaltkreis 79 den DEND-Impuls, wenn das vierte Datenwort übertragen wird. Wenn die Zeilengröße acht Wörter ist, erzeugt der UND-Schaltkreis 80 einen DEND-Impuls, wenn das achte Datenwort übertragen wird.
- Der DEND-Impuls kann auch vom Wortzähler 82 erzeugt werden. Dies ist besonders dann von Nutzen, wenn beispielsweise kein volles Paket übertragen werden soll. Wenn die Zeilengröße des Systemspeichers beispielsweise vier Wörter beträgt, die Steuereinheit jedoch zwei Datenwörter zu übertragen hat, wird in diesem Fall der Wortzähler 82 mit einem Zählwert von eins beladen und von der Abfallflanke jedes DSEL-Impulses dekrementiert. Infolgedessen wird der Zähler 82 am Ende des ersten DSEL-Impulses auf Null dekrementiert. Der Nullwert erzeugt ein Ausgangssignal, das auf einen UND-Schaltkreis 83 angelegt wird, während der nächste auftretende DSEL-Impuls (der zweite DSEL-Impuls) den UND-Schaltkreis 83 veranlaßt, einen DEND-Impuls zu erzeugen, der beim ODER-Schaltkreis 81 angelegt wird. Der Flip-Flop-Schaltkreis 84 wird verwendet, um den UND-Schaltkreis 83 daran zu hindern, ein DEND-Signal zu erzeugen, wenn kein Zahlenwert in den Wortzähler 82 geladen wurde. Der Flip-Flop 84 wird in einen Set-Zustand gesetzt, wenn der Wortzähler 82 beladen wird. Der Flip-Flop wird von der Abfallflanke des Ausgangsimpulses, der vom UND-Schaltkreis 83 erzeugt wird, zurückgesetzt. Wenn sich der Flip-Flop 84 im Reset-Zustand befindet, wird der UND-Schaltkreis 83 desaktiviert.
- Das am Ausgang des ODER-Schaltkreises 81 auftretende DEND-Signal wird zur Bussteuereinheit 13 geführt, um das Ende eines Datenpakets anzuzeigen. Dieser Schritt geschieht mit Hilfe des Treiberschaltkreises 85 und der DEND-Signalleitung 86 im Systembus 14, wobei der Ausgang des Treibers 85 mit Signalleitung 86 verbunden wird. Das DEND-Signal am Ausgang des ODER-Schaltkreises 81 wird ebenfalls zum Reset-Terminal des Rückmeldungs-Flip-Flop 40 geführt. Die negative oder Abfallflanke des DEND-Signals bewirkt das Rücksetzen des ACK-Flip-Flop 40. Dadurch wird die Steuereinheit von Fig. 3 vom Systembus 14 in bezug auf die Datenübertragung getrennt. Das DEND-Signal wird mit Hilfe des Mikroprozessorbusses 28 zum Mikroprozessor 25 geführt, um diesem mitzuteilen, daß die Paketübertragung abgeschlossen ist.
- Um ein weiteres Datenpaket zu übertragen, muß die Steuereinheit von Fig. 3 die Anforderungsleitung 38 erneut aktivieren und auf den Empfang eines Rückmeldungssignals auf der ACK-Leitung 42 warten. Mit anderen Worten bedeutet dies, daß der oben beschriebene Anforderungs-/Rückmeldungsvorgang immer dann wiederholt wird, wenn ein Datenpaket von der Steuereinheit von Fig. 3 zur Systemspeichereinheit 11 von Fig. 1 übertragen werden soll, oder umgekehrt.
- Die Steuereinheit von Fig. 3 umfaßt des weiteren Mittel zum Übertragen von Befehlswörtern von der Steuereinheit zur Bussteuereinheit 13, und zum Übertragen von Statuswörtern von der Bussteuereinheit 13 zur Steuereinheit von Fig. 3. Zu diesem Zweck ist die Steuereinheit von Fig. 3 mit einem Befehlsregister 87 und einem Statusregister 88 ausgestattet, die mit einem Multiplexer 89 gekoppelt sind, der wiederum über die Treiber/Empfänger-Schaltkreise 80 mit dem Befehls/Statusbus (C/S) 91 gekoppelt ist. Der C/S-Bus 91 ist Teil des Systembusses 14. Aus Fig. 4 geht hervor, daß ein Befehlswort während des Adreßzyklus jedes Pakets zur Bussteuereinheit 13 gesendet wird. Darüber hinaus wird während jedes Datenzyklus eines Pakets von der Bussteuereinheit 13 ein Statuswort empfangen.
- Das Befehlsregister 87 wird durch den Mikroprozessor 25 parallel vom Mikroprozessorbus 28 beladen. Während des Adreßzyklus eines Pakets wird das darin enthaltene Befehlswort über den Multiplexer 89 und die Treiberschaltkreise der Treiber/Empfänger 90 zum C/S-Bus 91 geführt. Das ASEL-Signal schaltet den Multiplexer 89 auf das Befehlsregister 87 und aktiviert den Treiberteil der Treiber/Empfänger 90 für dieses Zeitintervall. Während des Datenzyklus eines Pakets ist der Empfängerteil der Treiber/Empfänger 90 aktiv, und der Multiplexer 89 wird auf das Statusregister 88 geschaltet. Jedes eingehende Statuswort wird durch das vom UND-Schaltkreis 92 kommende Ladesignal in das Statusregister 88 geladen. Der UND-Schaltkreis 92 wird vom DSEL- Impuls aktiviert, während die Anstiegsflanke des Bereitsignals die Beladung des Statusregisters 88 bewirkt. Die Statuswörter im Register 87 werden über den Bus 28 dem Mikroprozessor 25 zur Verwendung zugeführt.
- Die der Steuereinheit von Fig. 3 zugeordnete I/O-Einrichtung wird mit der Steuereinheit gekoppelt, indem die I/O-Einrichtung mit den Treiber/Empfänger-Schaltkreisen 97 verbunden wird, die sich in der Steuereinheit befinden.
- Ein wesentlicher Grund des oben beschriebenen Anpassungsmechanismus der Paketgröße ist die Begrenzung der Anzahl von Datenwörtern pro Paket, so daß die Anzahl pro Paket nicht die Zeilengröße der Systemspeichereinheit 11 überschreitet. Es wird beispielsweise davon ausgegangen, daß die Zeilengröße der Systemspeichereinheit 11 vier Wörter beträgt und daß die normale Datenübertragungsgröße der I/O-Einheit von Fig. 3 vier Wörter pro Paket beträgt. Des weiteren wird davon ausgegangen, daß die Übertragungsoperation ein Schreibvorgang im Systemspeicher ist und daß die Startadresse in der Systemspeichereinheit 11 der Zeilenadreßgrenze des Systemspeichers entspricht. In diesem Fall lädt der Mikroprozessor 25 acht Datenwörter in den Puffer 31 und setzt den Pufferadreßzähler 32 auf eine Anfangszählung Null. Die nachfolgende Datenübertragung verläuft wie oben beschrieben, wobei jeweils ein Datenwort von Puffer 31 zum A/D-Bus 43 übertragen wird, und der Pufferadreßzähler 32 um eine Zählung bei jedem übertragenen Datenwort inkrementiert wird.
- Bei der angenommenen Speicherzeilengröße von vier Wörtern veranlaßt das Indikatorsignal der Zeilenlänge auf den Leitungen LLI0 / und LLI1 den Decoder 79, seine Ausgangsleitung 75 mit vier Wörtern zu aktivieren. Die Datenübertragung wird fortgesetzt, bis der Pufferadreßzähler 32 die Binärzählung "011" erreicht, d. h. das vierte Datenbyte wurde übertragen. Dadurch werden die beiden Signalleitungen 93 und 94 aktiviert, die vom Ausgang des Pufferadreßzählers zum UND-Schaltkreis 79 gehen. Da die Ausgangsleitung 79 mit vier Wörtern des Decoders 70 ebenfalls aktiviert wird, kann der UND-Schaltkreis 79 ein Ausgangssignal für den DSEL-Impuls erzeugen, der für die Übertragung des vierten Datenworts erscheint. Das Signal geht zum ODER-Schaltkreis 81 und erzeugt den DEND-Datenendimpuls auf seiner Ausgangsleitung. Dadurch wird die Paketübertragung beendet und die Steuereinheit von Fig. 3 vom A/D-Bus 43 getrennt. Um die restlichen vier Datenwörter übertragen zu können, muß die Steuereinheit von Fig. 3 den Systembus erneut anfordern und auf den Empfang eines neuen Rückmeldungssignals auf der ACK-Leitung 42 warten. Auf diese Art und Weise wird die Paketgröße beschränkt, so daß sie nicht vier Datenwörter pro Paket überschreitet.
- Die Steuereinheit von Fig. 3 begrenzt die Anzahl der Datenwörter pro Paket, so daß diese nicht die Zeilenadreßgrenze der Systemspeichereinheit überschreitet. Wenn die Datenübertragung innerhalb einer Systemspeicherzeile beginnt und sich bis zu einer Zeilengrenze erstreckt, schließt die Steuereinheit von Fig. 3 das Paket ab und unterbricht die Verbindung mit dem Systembus. Wenn noch mehr Daten übertragen werden sollen, fordert die Steuereinheit von Fig. 3 den Systembus erneut an und startet eine neue Paketübertragung. Sobald die Pakete innerhalb der Zeilengrenzen des Systemspeichers ausgerichtet sind, kann die Steuereinheit von Fig. 3 volle Pakete übertragen, die der Zeilengröße des Systemspeichers entsprechen oder kleiner sind.
- Wie oben bereits dargelegt muß eine I/O-Einheit mit einer normalen Paketgröße, die den vom LLI-Indikatorsignal der Zeilengröße angezeigten Wert übersteigt, die Verbindung unterbrechen und den Systembus erneut anfordern, wenn die Zeilengröße des Systemspeichers erreicht ist. Dieser Schritt wird so durchgeführt, daß die Zeilengrenze des Systemspeichers nicht überschritten wird. Solange jedes neue Paket an einer Zeilengrenze beginnt, ergibt sich das Nicht-Überschreiten der nächsten Zeilengrenze automatisch, da die Paketgröße begrenzt ist, um die Zeilengröße der Speichereinheit nicht zu übersteigen.
- Ein weiterer interessanter Fall tritt dann ein, wenn die Datenübertragung nicht am Anfang einer Speicherzeile, sondern in der Mitte beginnt. In diesem Fall wird der Pufferadreßzähler nicht auf den Anfangswert Null gesetzt. Dagegen werden die gleichen niedrigwerten Adreßbits in den Zähler geladen, die auch in das Adreßregister 30 des Systemspeichers geladen werden. Dadurch ergibt sich für den Pufferadreßzähler 32 die gleiche Verschiebung der Speicherzeilengrenze wie für das Adreßregister 30. Infolgedessen wird das DEND-Datenendsignal erzeugt, wenn der Pufferadreßzähler 32 auf die nächste Zeilengrenze der Speichereinheit inkrementiert wird. Die von den UND-Schaltkreisen 77-80 durchgeführte Vergleichsfunktion verhindert damit das Überschreiten einer Zeilengrenze, allerdings unter der Voraussetzung, daß der Pufferadreßzähler 32 ursprünglich die gleiche Adressenverschiebung erhält wie das Adreßregister 30 der Speichereinheit.
- Ein weiterer interessanter Fall tritt dann auf, wenn die Anzahl der noch zu übertragenden Datenwörter kleiner als ein volles Paket ist. Wenn beispielsweise davon ausgegangen wird, daß die vom Indiktorsignal für die Zeilenlänge zugelassene Paketgröße vier Wörter beträgt, jedoch nur zwei Datenwörter noch zu übertragen sind, kann das System natürlich wie oben beschrieben verfahren, um alle erforderlichen Schritte für die Übertragung eines Pakets aus vier Wörtern durchzuführen. In diesem Fall werden bei der Übertragung der letzten beiden Wörter leere Wörter übertragen, d. h. die Wörter enthalten keine gültigen Daten. Dadurch wird wertvolle Zeit vergeudet.
- Dieser Mangel wird durch den Wortzähler 82 ausgeglichen. Als Teil des vorbereitenden Setups für die Datenübertragung wird die Gesamtanzahl der zu übertragenden Datenwörter in den Wortzähler 82 geladen. Der Wortzähler 82 wird danach immer dann dekrementiert, wenn ein Datenwort übertragen wird. Wenn der Zähler 82 den Wert Null erreicht, wird der UND-Schaltkreis 83 aktiviert, um das DSEL-Signal für das zuletzt übertragene Datenwort zu aktivieren, so daß ein DEND-Datenendsignal erzeugt wird. Wie oben bereits beschrieben wird damit die Paketübertragung beendet und die Steuereinheit von Fig. 3 vom Systembus getrennt. Wenn in bezug auf das vorherige Beispiel das letzte Datenwort übertragen wird, bevor der UND-Schaltkreis 79 bereit ist, ein DEND-Signal zu erzeugen, wird dieses Signal vom Wortzähler 82 und dem UND- Schaltkreis 83 dennoch erzeugt.
- Darüber hinaus muß noch der Frage nachgegangen werden, was passiert, wenn eine Steuereinheit vorhanden ist, deren normale Datenübertragungsgröße (Datenwörter pro Paket) kleiner als die Zeilengröße des Systemspeichers ist. Im normalen Betrieb überträgt die Steuereinheit von Fig. 3 beispielsweise Datenpakete mit zwei Wörtern, während die Zeilengröße des Systemspeichers vier Wörter beträgt. In einem Betriebsmodus kann die 2-Wort-I/O- Einheit mit der Übertragung von Datenpaketen mit 2 Wörtern fortfahren, indem der Pufferadreßzähler 32 und der Datenwortpuffer 31 für die Übertragung von 2 Wörtern vorbereitet wird, wenn die Paketübertragungsanforderung erfolgt. Dies wird dadurch erreicht, indem der Pufferadreßzähler 32 zuerst auf 2 gesetzt wird, im Gegensatz zum anderen Ersteinstellwert von Null.
- Dadurch wird das gewünschte DEND-Datenendsignal erzeugt, wenn das zweite Datenwort übertragen wurde.
- Wenn die Kapazität des Datenwortpuffers 31 groß genug ist, kann ein effizienterer Betriebsmodus verwendet werden, bei dem die Steuereinheit Pakete mit 4 Wörter anstatt mit 2 Wörtern überträgt. In diesem Fall geht das LLI-Indikator-Signal der Zeilenlänge über die Leitungen 95 und 96, die im Mikroprozessorbus 28 enthalten sind, zum Mikroprozessor 25. Der Mikroprozessor 25 erhält damit die Zeilengröße des Systemspeichers und kann den Datenwortpuffer 31 und den Pufferadreßzähler 32 entsprechend bearbeiten, so daß eine Übereinstimmung mit der Zeilengröße des Systemspeichers erzielt werden kann. Im Fall eines Schreibvorgangs im Systemspeicher lädt der Mikroprozessor 25 die richtige Anzahl von Wörtern in den Wortpuffer 31, wobei dieser Schritt vom LLI-Indikatorsignal der Zeilenlänge angezeigt wird. Wenn das Paket dabei an einer Zeilengrenze startet, wird der Pufferadreßzähler 32 auf Null zurückgesetzt. Bei dieser Betriebsart paßt sich die I/O-Steuereinheit automatisch an die Zeilengröße des Systemspeichers an, die durch das LLI-Indikatorsignal der Zeilenlänge angezeigt wird.
Claims (9)
1. Ein Datenverarbeitungssystem mit einem Systembus, der
austauschbare oder passende I/O-Einheiten mit einer
Systemspeichereinheit koppelt, wobei Datenwörter zwischen der
Speichereinheit und den I/O-Einheiten in Paketen mit einem
oder mehreren Datenwörtern übertragen werden; das System
umfaßt dabei folgendes:
ein Mittel zum Senden eines Zeilengrößensignals an die I/O-
Einheiten, wobei das Signal die aktuelle Anzahl der
Datenwörter enthält, die von der Systemspeichereinheit während
einer einzelnen Speicheroperation verarbeitet werden; und
eine Steuerlogik, die sich in jeder I/O-Einheit befindet
oder für jede Einheit vorgesehen ist, und die auf das
Zeilengrößensignal reagiert, um die aktuelle
Datenübertragungsgröße der I/O-Einheit anzupassen, so daß diese mit der
Anzahl der Datenwörter übereinstimmt, die von der
Systemspeichereinheit während einer einzelnen Speicheroperation
verarbeitet werden.
2. Ein System nach Anspruch 1, bei dem das Zeilengrößensignal
ein binärcodiertes Mehrbit-Signal ist, das den Umfang der in
der Systemspeichereinheit gespeicherten Daten darstellt,
wobei ein Fehlerprüf- und Korrektionscode-Segment zur
Fehlersuche und Korrektur vorgesehen ist.
3. Ein System nach einem der oben genannten Ansprüche, bei dem
das Zeilengrößensignal über separate zugeordnete
Signalleiter zugeführt wird, die mit dem Systembus verbunden sind.
4. Ein System nach Anspruch 1 oder 2, bei dem das
Zeilengrößensignal vom Statusbyte kommt, das auf dem Systembus zu den
I/O-Einheiten übertragen wird.
5. Ein System nach einem der oben genannten Ansprüche, wobei
die Datenübertragungsgröße der I/O-Einheit die maximale
Anzahl der Datenwörter beträgt, die zwischen der I/O-Einheit
und der Systemspeichereinheit pro Speicheranforderung durch
die I/O-Einheit übertragen werden kann, obgleich jedoch auch
weniger übertragen werden kann.
6. Ein System nach einem der oben genannten Ansprüche, wobei
die Steuerlogik Mittel zum Ansammeln von Daten von der I/O-
Einheit umfaßt.
7. Ein System nach einem der oben genannten Ansprüche, wobei
die Steuerlogik auf den Start einer Paketadresse antwortet,
die nicht auf eine Speichergrenze ausgerichtet ist, um die
erlaubte Größe eines ersten für die Übertragung erzeugten
Pakets zu reduzieren.
8. Eine I/O-Einheit für ein Datenverarbeitungssystem nach einem
der oben genannten Ansprüche, wobei die Einheit über einen
Arbitrierungsmechanismus zum Empfang eines
Anforderungssignals von den I/O-Einheiten sowie zum Senden eines
Rückmeldungssignals zu einer ausgewählten I/O-Einheit verfügt; die
Steuerlogik ist in der Einheit integriert und umfaßt
folgendes:
ein Adreßregistermittel zum Speicher einer Startadresse der
Systemspeichereinheit;
ein Puffermittel zum Speichern zahlreicher Datenwörter;
ein Busanforderungsmittel für die Verbindung mit dem
Systembus, um den Bus für die I/O-Einheit anzufordern;
ein Busrückmeldungsmittel für die Verbindung mit dem
Systembus, um ein Rückmeldungssignal zu empfangen, das der I/O-
Einheit die Verwendung des Systembusses erlaubt;
eine Steuerlogik für die Paketübertragung, die mit dem
Adreßregistermittel und dem Puffermittel gekoppelt ist, und
die auf ein empfangenes Rückmeldungssignal reagiert, um die
Übertragung einer Startadresse vom Adreßregistermittel zum
Systembus zu ermöglichen, sowie eine sequentielle
Übertragung zahlreicher Datenwörter zwischen dem Systembus und dem
Puffermittel zu initiieren; und
eine Anpassungslogik für die Paketgröße, die mit der
Steuerlogik der Paketübertragung gekoppelt ist, und auf das
Zeilengrößensignal antwortet, um die Anzahl der mit der
Startadresse übertragenen Datenwörter zu begrenzen, so daß
die Anzahl der übertragenen Datenwörter nicht die Anzahl der
von der Systemspeichereinheit in einer einzelnen
Speicheroperation verarbeiteten Datenwörter überschreitet.
9. Eine I/O-Einheit nach Anspruch 8, bei der die
Anpassungslogik für die Paketgröße die Anzahl der mit der Startadresse
übertragenen Datenwörter anpaßt, so daß die Anzahl der
übertragenen Datenwörter mit der Anzahl der von der
Systemspeichereinheit in einer einzelnen Speicheroperation
verarbeiteten Datenwörter übereinstimmt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US89184586A | 1986-08-01 | 1986-08-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3787235D1 DE3787235D1 (de) | 1993-10-07 |
DE3787235T2 true DE3787235T2 (de) | 1994-04-21 |
Family
ID=25398921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873787235 Expired - Fee Related DE3787235T2 (de) | 1986-08-01 | 1987-06-23 | Übertragungssysteme mit Paketbildung. |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0255593B1 (de) |
JP (2) | JPH0772886B2 (de) |
DE (1) | DE3787235T2 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5073969A (en) * | 1988-08-01 | 1991-12-17 | Intel Corporation | Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal |
US5119498A (en) * | 1989-06-12 | 1992-06-02 | International Business Machines Corporation | Feature board with automatic adjustment to one of two bus widths based on sensing power level at one connection contact |
AU648541B2 (en) * | 1990-03-02 | 1994-04-28 | Fujitsu Limited | Bus control system in a multi-processor system |
JP2545482B2 (ja) * | 1990-03-15 | 1996-10-16 | 富士通株式会社 | インタ―フェイス装置の転送パラメ―タ設定方法 |
KR0181471B1 (ko) * | 1990-07-27 | 1999-05-15 | 윌리암 피.브레이든 | 컴퓨터 데이타 경로배정 시스템 |
IL100127A0 (en) * | 1991-03-11 | 1992-08-18 | Future Domain Corp | Scsi controller |
WO1993019424A1 (en) * | 1992-03-18 | 1993-09-30 | Seiko Epson Corporation | System and method for supporting a multiple width memory subsystem |
US5355682A (en) * | 1993-09-15 | 1994-10-18 | Air Products And Chemicals, Inc. | Cryogenic air separation process producing elevated pressure nitrogen by pumped liquid nitrogen |
JP3635169B2 (ja) * | 1996-11-20 | 2005-04-06 | 松下電器産業株式会社 | データ伝送装置 |
CN106155013B (zh) * | 2015-05-20 | 2019-01-01 | 宁夏巨能机器人系统有限公司 | 一种用于自动化生产线的dnc通讯装置及其通讯方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56132624A (en) * | 1980-03-19 | 1981-10-17 | Toshiba Corp | Information processor |
US4667305A (en) * | 1982-06-30 | 1987-05-19 | International Business Machines Corporation | Circuits for accessing a variable width data bus with a variable width data field |
US4580213A (en) * | 1982-07-07 | 1986-04-01 | Motorola, Inc. | Microprocessor capable of automatically performing multiple bus cycles |
JPS5955525A (ja) * | 1982-09-25 | 1984-03-30 | Toshiba Corp | マイクロプロセツサ |
US4805098A (en) * | 1986-05-05 | 1989-02-14 | Mips Computer Systems, Inc. | Write buffer |
-
1987
- 1987-05-25 JP JP62126105A patent/JPH0772886B2/ja not_active Expired - Lifetime
- 1987-06-23 EP EP19870108926 patent/EP0255593B1/de not_active Expired - Lifetime
- 1987-06-23 DE DE19873787235 patent/DE3787235T2/de not_active Expired - Fee Related
- 1987-07-27 JP JP50506387A patent/JPH01503481A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE3787235D1 (de) | 1993-10-07 |
JPH0772886B2 (ja) | 1995-08-02 |
JPH01503481A (ja) | 1989-11-22 |
EP0255593A2 (de) | 1988-02-10 |
EP0255593A3 (en) | 1990-05-30 |
EP0255593B1 (de) | 1993-09-01 |
JPS6339072A (ja) | 1988-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69329607T2 (de) | Programmierte Ethernetanpassungseinrichtung mit frühzeitiger Unterbrechung für Beschleunigung von Datenübertragung | |
DE4426094C2 (de) | Datenreduktion für Buskoppler | |
DE3204905C2 (de) | ||
DE3909948C2 (de) | ||
DE69334165T2 (de) | Netzwerkanpassungseinrichtung mit hauptrechnerunterbrechung und indikationsverwaltung | |
DE3280451T2 (de) | Verfahren zur Initialisierung eines Datenverarbeitungssystems. | |
DE69906156T2 (de) | Mikroprozessorvorrichtung mit programmierbaren wartezuständen | |
DE19983026B4 (de) | Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu | |
DE69427334T2 (de) | Direktspeicherzugriffssteuerung | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE69422221T2 (de) | Genaue und komplette Übertragung zwischen verschiedenen Busarchitekturen | |
DE3704056A1 (de) | Peripherer dma-controller fuer datenerfassungssysteme | |
DE602004010399T2 (de) | Neuadressierbare virtuelle dma-steuer und statusregister | |
DE3787235T2 (de) | Übertragungssysteme mit Paketbildung. | |
DE69132786T2 (de) | IEEE488-Schnittstelle und Nachrichtenverarbeitungsverfahren | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
AT389951B (de) | Datenuebertragungseinrichtung | |
DE69324323T2 (de) | Mehrstationskommunikationsbussystem, sowie eine Master-Station und eine Slave-Station für den Einsatz in einem solchen System | |
DE3502147A1 (de) | Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung | |
DE3936339C2 (de) | DMA-Controller | |
EP0895165A2 (de) | Kommunikationssystem mit einer DMA-Einheit | |
DE3854641T2 (de) | Arbeitstellen-Steuergerät zum Schreiben auf einem vollen Bildschirm und zum teilweise Schreiben auf einem Bildschirm. | |
DE69320732T2 (de) | Verfahren zur Gerätadressierung und zur Datensignalübertragung auf einem Bus | |
EP0895168B1 (de) | Kommunikationssystem mit einer seriellen Schnittstelle | |
DE60005157T2 (de) | Verfahren und anordnung für blockdatenübertragung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |