DE3587635T2 - Plattenspeichersteuergerät mit geteiltem Adressenregister. - Google Patents

Plattenspeichersteuergerät mit geteiltem Adressenregister.

Info

Publication number
DE3587635T2
DE3587635T2 DE85112258T DE3587635T DE3587635T2 DE 3587635 T2 DE3587635 T2 DE 3587635T2 DE 85112258 T DE85112258 T DE 85112258T DE 3587635 T DE3587635 T DE 3587635T DE 3587635 T2 DE3587635 T2 DE 3587635T2
Authority
DE
Germany
Prior art keywords
data
register
address
main memory
contents
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
Application number
DE85112258T
Other languages
English (en)
Other versions
DE3587635D1 (de
Inventor
John W Bradley
Bruce R Cote
Edward F Getson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of DE3587635D1 publication Critical patent/DE3587635D1/de
Application granted granted Critical
Publication of DE3587635T2 publication Critical patent/DE3587635T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Extrusion Moulding Of Plastics Or The Like (AREA)
  • Electromagnets (AREA)
  • Shielding Devices Or Components To Electric Or Magnetic Fields (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • Diese Erfindung bezieht sich allgemein auf das Fachgebiet von Massenspeicherplatten-Steuereinrichtungen, und spezieller auf eine Plattenspeicher-Steuereinrichtung mit einem Adreßregister, das gemeinsam von einem Plattenspeicher-Steuereinrichtungs-Datenspeicher mit wahlfreiem Zugriff und einem Datenverarbeitungs-Hauptspeicher benutzt wird.
  • Ein Datenverarbeitungssystem weist typischerweise zusätzlich zu einer zentralen Verarbeitungseinheit ein Hauptspeicheruntersystem und ein Massenspeicheruntersystem auf. Das Massenspeicheruntersystem schließt eine Anzahl von Plattenspeicherlaufwerken und eine Plattenspeicher- Steuereinrichtung ein.
  • In den Systemen langsamerer Geschwindigkeit nach dem Stand der Technik, die typischerweise eine Datenbitrate von 5 Megahertz oder weniger haben, würde die Plattenspeicher-Steuereinrichtung die Datenbits, die von der Plattenspeichervorrichtung empfangen wurden, zu Datenbytes zusammenfügen. Blöcke von Datenbytes würden zu dem Hauptspeicher unter CPU-Steuerung übertragen werden.
  • Als die Plattenspeichertechnologie verbessert wurde, waren Datenbitraten in der Größenordnung von 10 Megahertz machbar. Um Datenbytes bei dieser Rate zu verarbeiten, würden typische Plattenspeicher-Steuereinrichtungen Bytes in einem "First in - First out"-Speicher speichern. Datenbytes würden zu einem Hauptspeicher übertragen werden, wenn die Datenbits empfangen worden wären von dem Plattenspeicherantrieb und in Bytes organisiert worden wären.
  • Für die höheren Datenbitraten der Größenordnung von 15 Megahertz schloß die Plattensteuereinrichtung einen Speicher mit wahlfreiem Zugriff ein, um einen Datenbyte-Block zu speichern. Die Datenbytes wurden zu dem Hauptspeicher übertragen nachdem der gesamte Block in dem RAM gespeichert wurde.
  • Für die Blockübertragung zwischen den Daten-RAM und dem Hauptspeicher weisen Steuereinrichtungen nach dem Stand der Technik ein erstes Adreßregister für das Daten-RAM und ein zweites Adreßregister für den Hauptspeicher auf. Unter Firmware-Steuerung wird jedes Register mit seiner jeweiligen Adresse geladen. Information wird übertragen zwischen der Adreßstelle, die durch die Inhalte des ersten Adreßregisters spezifiziert ist, und der Adreßstelle, die durch die Inhalte des zweiten Adreßregisters spezifiziert ist.
  • Diese Technik glich die Hardwarekosten der beiden Register gegen die Kosten für den Nur-Lese-Speicher (ROM) der Firmware, um die Inhalte der beiden Register zu manipulieren, aus.
  • Da die Kosten der ROM's groß waren, versuchten die Entwerfer mehr Hardware zu benutzen, um die in dem ROM gespeicherte Firmware für die Adreßerzeugung zu reduzieren. Demgemäß war es wirtschaftlich zwei Adreßregister bereitzustellen. Die Kosten von ROM's haben jedoch sehr stark abgenommen. Heutige Entwürfe neigen zu der größeren Benutzung von Firmware verglichen mit der Benutzung von Hardware bei dem Entwurf.
  • Demgemäß ist es ein Ziel der Erfindung eine verbesserte Plattenspeicher- Steuereinrichtung bereitzustellen.
  • Es ist ein anderes Ziel der Erfindung eine Plattenspeicher-Steuereinrichtung bereitzustellen mit einer höheren Leistung.
  • Noch ein anderes Ziel der Erfindung ist es eine Plattenspeicher-Steuereinrichtung bereitzustellen, die reduzierte Produkt- und Wartungskosten hat.
  • Diese Ziele werden erreicht durch eine Plattenspeicher-Steuereinrichtung, bei der ein einzelnes Adreßregister bereitgestellt ist, das gleichzeitig dazu benutzt wird, um sowohl das Pufferspeicher-RAM der Plattenspeicher- Steuereinrichtung als auch den Datenverarbeitungs-Hauptspeicher des Systems zu adressieren, zwischen denen Datentransfer durchgeführt werden muß.
  • Ein Datenblock wird zwischen dem Hauptspeicher und einer Plattenspeichervorrichtung unter Steuerung einer Plattenspeicher-Steuereinrichtung übertragen. Die Plattenspeicher-Steuereinrichtung weist einen Datenspeicher mit wahlfreiem Zugriff (RAM) zum Speichern des Datenblockes auf, der von dem Hauptspeicher empfangen wurde zum Übertragen zu der Plattenspeichervorrichtung und dem Datenblock, der von der Plattenspeichervorrichtung zum Übertragen zu dem Hauptspeicher empfangen wurde.
  • Die Plattenspeichervorrichtung liest und schreibt 8-Bit-Bytes, die darin gespeichert sind, oder von dem RAM gelesen werden. Der Hauptspeicher speichert zwei Datenbytes in jeder Wortstelle.
  • Im allgemeinen, auch wenn es nicht notwendig ist, hat das Pufferspeicher-RAM eine Parallelität, die geringer ist als die des Hauptspeichers.
  • Demzufolge, wie gerade gesagt, kann das RAM ein 8-Bit-Byte an jeder adressierbaren Stelle speichern und der Hauptspeicher kann vielfache Bytes speichern, zwei oder mehr an jeder adressierbaren Stelle. Die Anordnung von digitaler Ausrüstung mit untereinander operierenden Einheiten, die unterschiedliche Parallelitäten haben, ist bekannt.
  • Zum Beispiel offenbart WO-A-7900959 eine Steigerungsschaltung, die zwischen einem Hauptspeicher und einem periphären Untersystem angeordnet ist, die eine unterschiedliche Parallelität haben.
  • Die Steigerungsschaltung, stellt mittels einer Vielzahl von Adreßregistern und Datenregistern eine gesteigerte Handhabung und Datenaustausch zwischen dem Hauptspeicher und dem periphären Untersystem bereit bei dem Kompromiß von relativ teuerer Hardware, die separate Adreßregister für jeden Teil und Richtung der Datentransferoperation einschließt.
  • Dieser Kompromiß wird durch die vorliegende Erfindung vermieden.
  • Ein einzelnes Adreßregister, das in der Plattenspeicher-Steuereinrichtung angeordnet ist, adressiert sowohl den Hauptspeicher als auch das RAM für die Übertragung von Datenbytes.
  • Während der Operation des Lesens von dem RAM und Schreibens in dem Hauptspeicher, werden zwei Datenbytes von dem RAM von aufeinanderfolgenden RAM-Lesezyklen gelesen. Das erste Datenbyte wird in ein Datenausgaberegister A während einem ersten RAM-Lesezyklus gespeichert und das zweite Byte wird in ein Datenausgaberegister B während einem zweiten RAM-Lesezyklus gespeichert. Das Adreßregister wird nach jedem Lesezyklus inkrementiert. Während jedem ersten RAM- Lesezyklus zeigt das Adreßregister auf die Hauptspeicherstelle, in der die Inhalte der Datenausgaberegister A und B geschrieben sind, und zeigt auf die Stelle in dem RAM, von der die nächsten Datenbyte des Datenblockes gelesen und in dem Datenausgaberegister A gespeichert werden. Es sei bemerkt, daß die Inhalte der Adreßregister sowohl das RAM als auch den Hauptspeicher bei jedem ungeraden RAM-Lesezyklus adressieren.
  • Während der Operation des Lesens von dem Hauptspeicher und Schreibens in das RAM, zeigt der Inhalt des Adreßregisters auf eine Wortstelle, die zwei Bytes speichert, die zu dem Dateneingaberegister A beziehungsweise dem Dateneingaberegister B übertragen werden.
  • Die Inhalte des Adreßregisters werden inkrementiert, um auf die Stelle in dem RAM zu zeigen, in der das Datenbyte geschrieben ist, das in dem Dateneingaberegister A während dem ersten RAM-Schreibzyklus gespeichert ist. Die Inhalte des Adreßregisters werden wiederum inkrementiert, um auf die RAM-Stelle zu zeigen, in die der Inhalt des Dateneingaberegisters B geschrieben ist, und auch, um auf die Stelle in dem Hauptspeicher zu zeigen, um das nächste Datenwort zu speichern in dem Dateneingaberegister A und dem Dateneingaberegister B. Es sei bemerkt, daß der Hauptspeicher während jedem geraden RAM-Schreibezyklus gelesen wird.
  • Die neuartigen Merkmale, die charakteristisch für die Erfindung sind, werden mit Einzelheit in den beigefügten Ansprüchen bekannt gemacht. Die Erfindung selbst jedoch, sowohl zu der Organisation als auch zum Betrieb, kann am besten verstanden werden mit Bezug auf die folgende Beschreibung in Verbindung mit den Zeichnungen, in denen
  • Fig. 1 ein Blockdiagramm des Gesamtsystemes zeigt;
  • Fig. 2 ein Logikdiagramm des Adreßregisters 10 ist;
  • Fig. 3 ein Logikdiagramm der Plattenspeicher-Steuereinrichtung 3 ist.
  • Fig. 1 zeigt das Datenverarbeitungssystem 1, das eine zentrale Verarbeitungseinheit (CPU) 2, einen Hauptspeicher 4 und eine Plattenspeichersteuereinrichtung 3 aufweist, alle gemeinsam gekoppelt zu einem 16- Bit-Datenbus 8 und einem 24-Adreßbus 6. Eine Plattenspeichervorrichtung 28, eine von einer Anzahl von Plattenspeicherlautwerken, ist zu der Plattenspeicher-Steuerungseinrichtung 3 gekoppelt.
  • Die CPU 2 löst einen Datentransfer zwischen der Plattenspeichervorrichtung 28 und dem Hauptspeicher 4 aus durch Adressieren des Hauptspeichers 4 durch eine Adresse, die in dem Adreßregister 2-2 gespeichert ist. Ein Konfigurationswort wird in dem Datenregister 2-4 empfangen und an einer Adreßstelle eines Datenspeichers mit wahlfreiem Zugriff (RAM) 20 an einem Ort gespeichert, der durch eine Adresse spezifiziert ist, die in dem Register 10 gespeichert ist. Eine Anzahl von Konfigurationsworten und eine Eingabe/Ausgabe (I/O)-Instruktion wird zu dem Daten-RAM 20 übertragen. Die Plattenspeicher-Steuereinrichtung 3 benutzt die Konfigurations- und Instruktionsworte, um das Plattenspeicherlautwerk zu programmieren, Datenbits, die in einem bestimmten Sektor auf einer Spur einer Platte der Plattenspeichervorrichtung 28 sind, zu der Plattenspeicher-Steuereinrichtung 3 zu übertragen.
  • Datenbytes werden von der Spur 18 gelesen und zu einer "Einschiebe"- Eingabeklemme eines Schieberregisters 26 angelegt. Die Bits des Datenbytes werden in das Schieberregister 26 getaktet durch ein Taktsignal von der Plattenspeichervorrichtung 28.
  • Die Logik zum Speichern eines kompletten Datenbytes im Schieberegister 26 ist wohl bekannt in dem Stand der Technik und verdient keine besondere Betrachtung.
  • Das Datenbyte wird zu einem Datenregister 24 übertragen zur Übertragung über einen 8-Bit-Datenbus 22 zu einem 32-KB-Datenspeicher mit wahlfreiem Zugriff (RAM) 20, wo es gespeichert wird in einer Bytestelle, die durch die Bits 9 bis 23 des Inhalts eines Adreßregisters 10 spezifiziert ist.
  • Die Datenbyteübertragung von der Plattenspeichervorrichtung 28 zu dem Daten-RAM 20 setzt sich fort, bis ein gesamter Block von Datenbyte in dem Daten-RAM 20 gespeichert ist. Die Anzahl von Datenbytes in dem Datenblock ist bestimmt durch das Konfigurationswort, das vorher von der zentralen Prozessoreinheit (CPU) 2 empfangen wurde.
  • Das Konfigurationswort enthält eine Bereichsnummer, die die Nummer der Datenbytes ist, die während dieser Eingabe/Ausgabe-Befehlsantwort übertragen werden sollen. Die Blockübertragung ist vollständig, wenn der Bereich zu NULL dekrementiert ist.
  • Zu diesem Zeitpunkt werden die Datenbytes, die in dem Daten-RAM 20 gespeichert sind, zu dem Hauptspeicher 4 über ein Datenausgaberegister A 12 übertragen, das das erste Datenbyte eines 2-Bytewortes überträgt, und über ein Datenausgaberegister B 14, das das zweite Datenbyte überträgt, und über einen 16-Bit-Datenbus 8.
  • Das Adreßregister 10 speichert die Stelle des Datenbytes, das in dem Daten-RAM 20 gelesen wurde, und den Ort des 2-Bytewortes, das in dem Hauptspeicher 2 gespeichert ist.
  • Für die Datenbyteübertragung von dem Daten-RAM 20 zu dem Hauptspeicher 4 wird angenommen, daß das Datenbyte A an der Stelle Hexadezimal 0000 gespeichert ist, das Datenbyte B ist gespeichert an der Stelle Hexadezimal 0001, das Datenbyte C ist gespeichert an der Stelle Hexadezimal 0002, und das Datenbyte D ist gespeichert an der Stelle Hexadezimal 0003. Anfänglich wird der Inhalt des Adreßregisters 10 gesetzt, um auf die Stelle Hexadezimal 0000 zu zeigen. Das Datenbyte A wird von dieser Stelle gelesen und in dem Datenausgaberegister A 12 gespeichert. Der Inhalt des Adreßregisters 10 wird dann inkrementiert zu Hexadezimal 0001. Das Datenbyte B wird von dieser Stelle gelesen und in dem Datenausgaberegister B 14 gespeichert.
  • Der Inhalt des Adreßregisters 10 wird dann inkrementiert zu Hexadezimal 0002. Dies resultiert in den Ausgaben des Datenausgaberegisters A 12 und des Datenausgaberegisters B 14, die die Datenbytes A und B speichern, die in dem Hauptspeicher 4 an der Stelle Hexadezimal 0002 gespeichert sind.
  • Es sei bemerkt, daß das Daten RAM 20 adressiert ist durch die Bits 9 bis 23 des Adreßregisters 10. Jede Bytestelle ist adressierbar. In diesem Beispiel jedoch ist der Hauptspeicher 4 wortadressierbar. Daher wird das Bit 23 des Adreßregisters 10 von dem Hauptspeicher 4 ignoriert.
  • Das Datenbyte C wird von der Stelle 0002 gelesen und in dem Datenausgaberegister A 12 gespeichert und der Inhalt des Adreßregisters 10 wird inkrementiert zu Hexadezimal 0003. Das Datenbyte D wird von dem Daten-RAM 20 gelesen und in dem Datenausgaberegister B 14 gespeichert und der Inhalt des Adreßregisters 10 wird zu Hexadezimal 0004 inkrementiert. Die Inhalte des Datenausgaberegisters A 12 und des Datenausgaberegisters B 14, die die Datenbytes C und D speichern, werden an der Stelle Hexadezimal 0004 des Hauptspeichers 4 gespeichert, die die Wortstelle ist, die der Stelle Hexadezimal 0002 folgt.
  • Angenommen eine Hauptspeicher 4 Übertragung zu dem Daten-RAM 20, mit Datenbytes E und F, die in Wortstellen Hexadezimal 1000 gespeichert sind, und Datenbytes G und H, die in Wortstellen Hexadezimal 1002 des Hauptspeichers 4 gespeichert sind. Es wird bemerkt, daß das Bit 23 niedriger Ordnung wegfällt.
  • Der Inhalt des Adreßregisters 10 ist zu Hexadezimal 1000 initialisiert. Der Hauptspeicher 4 wird den Inhalt der Stelle Hexadezimal 1000 auslesen, Datenbytes E und F. Das Datenbyte E ist in dem Dateneingaberegister A 16 über die Bits 0-7 des Datenbus 8 gespeichert und das Datenbyte F ist in dem Dateneingaberegister B 18 über die Bits 8-15 des Datenbus 8 gespeichert.
  • Der Hauptspeicher 4 signalisiert der Plattenspeicher-Steuereinrichtung 3, daß das Datenwort verfügbar ist auf dem Datenbus 8 über ein Buszyklussignal SHBC (second half bus cycle) der zweiten Zyklushälfte, einen Steuerbus 7, eine Busschnittstellenlogik 9 und ein Bestätigungssignal ACK, das das Datenwort in das Dateneingaberegister A 16 und das Dateneingaberegister B 18 taktet. Die Plattenspeicher-Steuereinrichtung 3 antwortet auf ihre Kanalnummer, die sie von dem Adreßbus 6 empfängt.
  • Der Inhalt des Adreßregisters 10 wird inkrementiert zu Hexadezimal 1001 und das Datenbyte E wird in dem Daten-RAM 20 an dieser Stelle gespeichert. Für den nächsten Lesezyklus wird der Inhalt des Adreßregisters 10 inkrementiert zu Hexadezimal 1002. Das Daten-RAM 20 wird das Datenbyte F an der Stelle Hexadezimal 1002 speichern und der Hauptspeicher 4 wird die Datenbytes G und H in das Dateneingaberegister A 16 beziehungsweise das Dateneingaberegister B 18 auslesen.
  • Wie oben beschrieben wird das Datenbyte G an der Stelle Hexadezimal 1003 des Daten-RAM 20 gespeichert werden und das Datenbyte H wird an der Stelle Hexadezimal 1004 bei nachfolgenden Schreibzyklen gespeichert werden.
  • Fig. 2 zeigt die detaillierte Logik des Adreßregisters 10, das aus 6 Zählern 10-2, 10-4, 10-6, 10-8, 10-10 und 10-12 gemacht ist. Sie sind typischerweise 74LS169-Schaltungen von Texas Instruments, beschrieben in "The TTL Data Book for Design Engineers", zweite Auflage, veröffentlicht 1976 von Texas Intruments Incorporated, Dallas, Texas.
  • Die Zähler werden auf drei ALU-11-Zyklen durch Lichtsignale ALUO- T0 + 00 bis ALUOT7 + 00 geladen. Die Zähler 10-2 und 10-4 werden bei dem ersten Zyklus mit dem ersten Byte geladen. Die Zähler 10-6 und 10-8 werden durch die Signale BBAD00 + 00 bis BBAD07 + 00 von den Zählern 10-2 und 10-4 mit dem ersten Byte geladen, während die ALU 11 das zweite Byte in die Zähler 10-2 und 10-4 lädt. Die Zähler 10-10 und 10-12 werden bei dem dritten Zyklus mit dem ersten Byte durch die Signale BBAD08 + 00 bis BBAD15 + 00 von den Zählern 10-6 und 10-8 geladen. Bei diesem Zyklus werden die Zähler 10-6 und 10-8 geladen mit dem zweiten Byte und die Zähler 10-2 und 10-4 werden von der ALU 11 mit dem dritten Byte geladen. Die drei Bytes bilden die 24-Bit- Adresse. Alle 24 Bits adressieren den Hauptspeicher 4 und 15 Bits, BBAD09 + 00 bis BBAD23 + 00, adressieren das Daten-RAM 20.
  • Die Zähler 10-2, 10-4, 10-6, 10-8, 10-10 und 10-12 werden durch ein LOADRG-00-Signal geladen, das niedrig an eine G1-Klemme beim Aufsteigen eines CUCADD-00-Signales angelegt wird, das an eine Taktklemme angelegt ist.
  • Übertragsignale ADDC01-00 bis ADDC05-00 koppeln die sechs Zähler, um normales Inkrementieren und Dekrementieren des Adreßregisters 10 zu ermöglichen. Das UPDOWN+00 Signal, angelegt an die + 1- und -1- Klemmen, zeigt die Inkrementier- bzw. Dekrementieroperation an. Es sei bemerkt, daß ein Massesignal GND an die P-Klemmen aller sechs Zähler angelegt ist, und daß das Übertragsignal zu den T-Klemmen der fünf Zähler mit höchster Wertigkeit angelegt ist. Ein Zähler wird inkrementieren auf das Ansteigen des CLKADD-00-Signales hin, wenn die Signale, die an die P- und T-(G2)-Klemmen angelegt sind, niedrig sind.
  • Fig. 3 zeigt das detaillierte Logiksteuer-Adreßregister 10 während der Daten-RAM-20-Hauptspeicher-4-Datenübertragung.
  • Das Laden des Adreßregisters 10 wird durch einen Mikrozuordner 180 gesteuert, der ein Mikroprogramm adressiert, das in einem ROM 160 gespeichert ist. Das ROM 160 erzeugt Signale UPIR10 + 00, UPIR09 + 00 und UPIR08 + 00, die an die 1, 2 und 4 Auswahlklemmen eines Decoders 10-36 angelegt sind. Der Decoder 10-36 wird durch die Signale UPI- R07 + 10 und SRIAEN-00 freigegeben. Die Signale UPIR00 + 00 und UPIR01 + 00, die an einen Dekoder 10-34 angelegt sind, erzeugen das Signal OPCOD1-00, das zu einem negativen AND-Gatter 10-38 angelegt ist. Das Signal UPIR13-00 ist an die andere Eingabeklemme des negativen AND-Gatters 10-38 angelegt. Daher führen das Signal UPIR01 + 00 hoch, das Signal UPIR00 + 00 niedrig, das Signal UPIR13 + 00 niedrig, das Signal UPW08 + 00 niedrig, das Signal UPIR09 + 00 hoch und das Signal UPIR10 + 00 niedrig zu dem Dekoder-10-36-Ausgabesignal SRIA0A-00 niedrig. Das Signal SRIA0A-00 setzt daher ein Flip-Flop 10-16, um das Laderegistersignal LOADRG-00 zu erzeugen, das an die sechs Zähler des Adreßregisters 10 angelegt wird.
  • Das Signal SRIA0A-00 niedrig erzeugt ebenfalls das Taktsignal CLKADD-00 über ein negatives OR-Gatter 10-24, ein Signal ADDINC-10 niedrig, ein negatives OR-Gatter 10-18, ein Signal ADDINC-20 niedrig, ein negatives OR-Gatter 10-14 und ein Taktsignal CLKADD-00 niedrig, das an das Adreßregister 10 angelegt ist. Das Datenbyte von der ALU 11 ist an die 1, 2, 4 und 8 Eingabeklemmen der Zähler 10-2 und Zähler 10-4 angelegt und gespeichert in den Zählern beim Ansteigen des Taktsignales CLKADD-00. Dies tritt auf am Ende des Zyklus, wenn das Signal SRIA0A-00 hoch geht. Das Flip-Flop 10-16 wird dann zurückgesetzt durch ein Zeitsignal CLKSIG-00, um das Adreßregister 10 zu programmieren, das zweite Datenbyte wie früher beschrieben zu empfangen.
  • Für die Operation vom Hauptspeicher 4 zum Daten-RAM 20 speichert das Adreßregister 10 die Adreßstelle der beiden Datenbytes in dem Hauptspeicher 4, die in den gleichen gekennzeichneten Adreßstellen im Daten-RAM 20 gespeichert werden sollen. Es sei bemerkt, daß wie oben beschrieben, der Hauptspeicher 4 das niederwertige Bitsignal BBAD23 + 00 ignoriert, Fig. 1, um die Wortadresse zu kennzeichnen.
  • Ein Signal MYACKG + OM, das von dem Hauptspeicher 4 über die Busschnittstellenlogik 9 erzeugt wurde, taktet die 2 Datenbytes, die von dem Hauptspeicher 4 und dem Datenbus 16 gelesen wurden, zum Speichern in die Dateneingaberegister A 16 beziehungsweise B 18. Dann wird unter Firmwaresteuerung ein Schreibpuffersignal WRTBUF-00 erzeugt durch einen Dekoder 10-32, um zu programmieren oder Daten in das Daten-RAM 20 zu schreiben.
  • Das ROM 16 erzeugt das Signal UPIR03 + 00 hoch und das Signal UPIR15 + 00, UPIR16 + 00 und UPIR17 + 00 niedrig. Ebenfalls werden die Signale UPIR01 + 00 und UPIR00 + 00 hoch an den Dekoder 10-34 angelegt, um ein Signal OPSCOD3-00 niedrig zu erzeugen. Wenn das Taktsignal CLKSTA-00 niedrig wird, wird das Signal WRTBUF-00 niedrig und wird zu einem negativen OR-Gatter 10-30 angelegt, wodurch ein RAMWRT-00 Signal erzeugt wird, um einen Daten-RAM-20-Schreibzyklus zu initiieren, genauso wie die Eingabe eines mit positiver Flanke getriggerten Flip-Flops 10-26 zu takten.
  • Da das Flip-Flop 10-26 nicht gesetzt ist bis zum Ende des Zyklus, ist das Ausgabesignal SELINR-00, das an ein NAND-Gatter 10-20 angelegt ist, hoch. Ebenfalls wird ein Signal HDWREN+00 hoch gezwungen durch Firmware, um ein Lesen von den Dateneingaberegistern A 16 und B 18 zu ermöglichen. Das Ausgabesignal HBINEL-00 von dem NAND-Gatter 10-22 ermöglicht die Ausgabe vom Dateneingaberegister A 16, um das erste der beiden Datenbytes in das Daten-RAM 20 zu schreiben.
  • Das Flip-Flop 10-26 setzt am Ende des ersten Daten-RAM-20-Schreibzyklus beim Ansteigen des WRTBUF-00 Signales. Das Schreibpuffersignal WRTBUF-00 wird wieder erzeugt durch den Dekoder 10-32. Dies erzeugt einen zweiten Schreib-Daten-RAM-20-Zyklus durch Erzeugen des Signals RAMWRT-00. Diesmal jedoch ist das Flip-Flop 10-26 gesetzt und das Signal SELINR+00, das zu einem NAND-Gatter 10-32 angelegt ist, zwingt das Signal HBINER-00 niedrig, wodurch dem Ausgabedaten-Eingaberegister B 18 ermöglicht wird, das zweite Datenbyte in das Daten- RAM 20 zu schreiben. Das Flip-Flop 10-26 kann ebenfalls gesetzt sein am Ende des Speicherzyklus beim Ansteigen des Signales BYTMOD-05. Das Signal BYTMOD-05 setzt das Flip-Flop 10-26 auf eine Einzel-Byteübertragung von dem Hauptspeicher 4 zu dem Dateneingaberegister B 18. Das Flip-Flop 10-26 kann durch ein Systemlöschsignal CLRBUS-HI zurückgesetzt werden, oder es wird beim Ansteigen eines darauffolgenden WRTBUF-00 Signales, das SEHNR-00 ist, zurückgesetzt.
  • Das RAMWRT-00 Signal inkrementiert ebenfalls das Adreßregister 10 durch Erzeugen des CLKADD-00 Signales über eine 40 Nanosekundenverzögerungsleitung 10-28, ein CLKADD-0D Signal, ein negatives OR- Gatter 10-24, ein Signal ADDINC-10, ein negatives OR-Gatter 10-18, ein Signal ADDINC-20, und eine negatives OR-Gatter 10-14. Das Adreßregister 10 wird nach Speichern jedes Datenbytes inkrementiert und speichert die Stelle des nächsten Datenwortes (zwei Bytes), das von dem Hauptspeicher 4 gelesen werden soll.
  • Für die Operation von dem Daten-RAM 20 zu dem Hauptspeicher 4 speichert das Adreßregister 10 die Stelle im Daten-RAM 20 des ersten zu dem Hauptspeicher 4 zu übertragenden Bytes. Ein Daten-RAM-20-Lesezyklus wird initiiert durch Erzeugen eines RAM-Freigabesignales RA- MENA+00. Ein Flip-Flop 10-40 wird unter Mikrozuordner-180-Steuerung gesetzt durch ein von dem ROM 160 erzeugtes Signal SRIA09 - 00 von dem Dekoder 10-36; Das Signal UPIR10 + 00 ist hoch und die Signale UPIR08 + 00 und UPIR09 + 00 sind niedrig. Das Flip-Flop 10-40 wird beim Ansteigen des Signales SRIA09-00 gesetzt, wenn das Signal ALUO- T0 + 00 von der ALU 11 hoch ist.
  • Während dem Daten-RAM-20-Lesezyklus, bei dem das erste Byte gelesen wird von dem Daten-RAM 20, wird das Signal CLKHWM-00 erzeugt durch die Firmware von der Ausgabeklemme 2 des Dekoders 10-32. In diesem Falle ist der Dekoder 10-32 freigegeben wie oben beschrieben; Das Signal UPIR15 + 00 ist niedrig, das Signal UPIR16 + 00 ist hoch, und das Signal UPIR17 + 00 ist niedrig. Das Signal CLKHWM-00 taktet das erste Datenbyte in das Datenausgaberegister A 12. Das Adreßregister 10 wird inkrementiert durch das Signal CHKHWM-00, das zu dem negativen OR-Gatter 10-18 angelegt ist, um das Signal CLKADD-00 zu erzeugen.
  • Während dem nächsten Daten-RAM 20 Lesezyklus erzeugt die Firmware das Signal CLKHWL-00 an der Ausgabeklemme 3 von dem Dekoder 10- 32. Jetzt ist das Signal UPIR15 + 00 niedrig und die Signale UPIR16 + 00 und UPIR 17+ 00 sind hoch.
  • Das Signal CLKHWL-00 taktet das zweite Datenbyte in das Datenausgaberegister B 14 und erzeugt das CLKADD-00 Signal über das negative OR-Gatter 10-18, um das Adreßregister 10 zu inkrementieren.
  • Die Inhalte der Datenausgaberegister A 12 und B 14 werden zu dem Hauptspeicher 4 unter Firmwaresteuerung über den Datenbus 8 an die Adresse, die in dem Adreßregister 10 gespeichert ist, übertragen.
  • Ein Dekoder 10-37 erzeugt ein Taktsignal SRIA07 - 00, um ein Flip-Flop 10-41 zu setzen, wenn das Signal ALUOT0 + 00 hoch ist. Das Ausgabesignal MYMREF+00, das zu der F-Klemme des Datenausgaberegisters A 12 und des Datenausgaberegisters B 14 angelegt ist, ermöglicht, daß die Ausgabesignale die zwei Datenbytes auf dem Datenbus 8 plazieren. Die Signale UPIR07 + 00 bis UPIR10 + 00 sind hoch, das Signal SRIAEN-00 ist niedrig und das Taktsignal CLKSTB-00 ist niedrig.
  • Auch wird die gleiche Adresse zu dem Daten-RAM 20 angelegt, um das nächste Datenbyte in das Datenausgaberegister A 12 durch die Firmware auszulesen, was wiederum das Signal CLKHWL-00 erzeugt und wiederum das Adreßregister 10 wie oben beschrieben inkrementiert.
  • Die Dateneingaberegister A 12 und B 14 und die Datenausgaberegister A 16 und B 18 sind 745374-Logikelemente, beschrieben in dem zuvor genannten "TTL Data Book for Design Engineers".
  • Eine Anzahl von Signalen sind in Fig. 3 gezeigt, die nicht ein Teil der Erfindung sind, sondern eingeschlossen sind wegen der Vollständigkeit. Das Signal SRIA00 - 00, das an das negative OR-Gatter 10-30 von dem Dekoder 10-37 angelegt ist, zeigt einen Datentransfer an von der ALU 11 zu dem Daten-RAM 20. Das Signal FBPLXX-0C, das zu dem negativem OR-Gatter 10-30 angelegt ist, zeigt eine Plattenübertragung, der Plattenspeichervorrichtung 28 dem Daten-RAM 20 an. Das Signal AD- DINC-00, das zu dem negativen OR-Gatter 10-24 angelegt ist, gibt der Firmware eine Einrichtung zum Inkrementieren oder Dekrementieren des Adreßregisters 10 durch eine binäre EINS, während einer Daten-RAM- 20-Schreiboperation.
  • Das Signal WRTDEC-00, das zu dem negativen OR-Gatter 10-14 angelegt ist, inkrementiert das Adreßregister 10 auf einem Datentransfer von dem Daten-RAM 20 zu der Plattenspeichervorrichtung 28. Das Signal SCHINC-00 inkrementiert das Adreßregister 10 während einer Plattenspeichervorrichtung-28-Suche nach der Sektoradresse.
  • Nachdem ein bevorzugtes Ausführungsbeispiel der Erfindung gezeigt und beschrieben wurde, werden Fachleute merken, daß viele Variationen und Änderungen gemacht werden können, um die beanspruchte Erfindung zu beeinflussen. Demgemäß könne viele der oben angezeigten Elemente geändert oder ersetzt werden durch verschiedene Elemente, die das dasselbe Ergebnis bereitstellen werden.
  • Im einzelnen, mit Bezug auf jüngste Technologietrends, kann vorhergesehen werden, daß der Systemspeicher 4 und der Systemdatenbus 8 eine Parallelität von 4 Byte oder mehr haben, anstelle von 2, daß das Daten- RAM 20 noch eine Parallelität von 1 Byte beibehält, oder eine Parallelität von 2 Bytes annimmt. Wenn einmal das Basiskonzept offenbart wurde, bezüglich eines Hauptspeichers, der eine Parallelität von 2 Bytes hat, und einem Daten-RAM, das eine Parallelität von 1 Byte hat, wird es ein Gegenstand offensichtlicher Anpassung der beschriebenen Schnittstellenlogik, um den Erfordernissen solcher neuer Situationen zu entsprechen.
  • Weiterhin im Falle, daß das Daten-RAM 20 voreingestellte Parallelität hat, und daß der Hauptspeicher und der Systembus eine Parallelität haben, die zweimal diejenige des RAM 20 ist, bleiben die Betrachtungen, die bezüglich Datenworten ausgedrückt wurden, die ein linkes Datenbyte und ein ungerades Datenbyte haben immer noch gültig, vorausgesetzt, der Ausdruck "Byte" wird durch den Ausdruck "Dateneinheit" ersetzt, der definiert und gedacht ist als ein oder mehrere Bytes, die von der Parallelität des Daten-RAM 20 abhängen.

Claims (3)

1. Plattenspeicher-Steuerungseinrichtung (3) zum Übertragen eines Blockes von Dateneinheiten zwischen einem Plattenspeicherlautwerk (28) und einem Hauptspeicher (4) eines Datenverarbeitungssystemes (1), wobei das Datenverarbeitungssystem einen Bus (6, 8) aufweist, der die Steuerungseinrichtung und das Übertragungssystem der Dateneinheiten und Hauptspeicheradressen miteinander koppelt zwischen der Steuerungseinrichtung und dem Hauptspeicher, und zum Senden von I/O-Übertragungsinstruktionen zu der Steuerungseinrichtung durch das Datenverarbeitungssystem, wobei die Steuerungseinrichtung einen adressierbaren Speicher (20) und Registereinrichtungen (12, 14, 16, 18) aufweist, wobei die Registereinrichtungen zumindest eine Dateneinheit halten, die zwischen der Steuerungseinrichtung und dem Hauptspeicher übertragen werden soll, wobei die Plattenspeichersteuereinrichtung gekennzeichnet ist, indem sie aufweist:
- ein Adreßregister (10) zum Halten der Adreßinhalte, wobei die Inhalte gleichzeitig repräsentativ sind für sowohl die Adresse einer Stelle in dem Speicher (20) als auch die Adresse einer Stelle in dem Hauptspeicher (4), und
- Steuereinrichtungen (9, 10-14 bis 10-40, 160, 180) die auf die I/O-Übertragungsinstiktionen antworten, um entweder:
a) den Speicher (20) mit dem Inhalt des Adreßregisters (10) zu adressieren, der von dem Speicher (20) in die Registereinrichtungen (12, 14, 16, 18) und zumindest eine Dateneinheit des Blockes ausgelesen wird, um die Inhalte der Adreßregister zu inkrementieren;
b) die Inhalte des Adreßregisters und der mindestens einen Dateneinheit zum Speichern der Dateneinheit in dem Hauptspeicher (4) an einer Stelle, die durch den Inhalt spezifiziert ist, über den Bus (6, 8) zu übertragen;
c) die wiederholt abwechselnde Ausführung von Operationen a) und b) zu steuern bis alle Dateneinheiten in dem Block über den Bus übertragen worden sind; oder:
d) den Hauptspeicher (4) mit den Inhalten des Adreßregisters (10) durch den Bus zu adressieren über den Bus zumindestens einer Dateneinheit des Blockes, von dem Hauptspeicher (4) zu den Registereinrichtungen (12, 14, 16, 18) zu übertragen und die Inhalte der Adreßregister (10) zu inkrementieren;
e) zumindestens eine Dateneinheit von den Registereinrichtungen zu dem Speicher (20) an eine Stelle des Speichers, angezeigt durch die Inhalte des Adreßregisters (10), zu übertragen;
f) die wiederholte abwechselnde Ausführung von Operationen d) und e) zu steuern, bis alle der Dateneinheiten in dem Block übertragen wurden zu dem Speicher (20).
2. Plattenspeicher-Steuereinrichtung gemäß Anspruch 1, wobei Registereinrichtungen ein Eingaberegister (16, 18) aufweisen und ein Ausgaberegister (12, 14).
3. Plattenspeicher-Steuereinrichtung gemäß Anspruch 1, bei der die Steuereinrichtungen (9, 10-14 bis 10-40, 160, 180) auf I/O-Übertragungsinstruktionen antworten, um
- über den Bus (6, 8) eine Vielzahl von Dateneinheiten zu einem Zeitpunkt zu übertragen, beim Auftreten von nichtaufeinanderfolgenden Inhalten des Adreßregisters (10),
- zwischen dem Speicher (20) und den Registereinrichtungen (12, 14, 16, 18), eine Vielzahl von Dateneinheiten durch eine Vielzahl von folgenden, fortlaufenden einzelnen Dateneinheiten-Übertragungsoperationen zu übertragen,
- Inhalte des Adreßregisters (10) nach jeder der folgenden, fortlaufenden einzelnen Dateneinheit-Übertragungsoperationen zu inkrementieren.
DE85112258T 1984-10-04 1985-09-27 Plattenspeichersteuergerät mit geteiltem Adressenregister. Expired - Fee Related DE3587635T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US65771584A 1984-10-04 1984-10-04

Publications (2)

Publication Number Publication Date
DE3587635D1 DE3587635D1 (de) 1993-11-25
DE3587635T2 true DE3587635T2 (de) 1994-04-21

Family

ID=24638376

Family Applications (1)

Application Number Title Priority Date Filing Date
DE85112258T Expired - Fee Related DE3587635T2 (de) 1984-10-04 1985-09-27 Plattenspeichersteuergerät mit geteiltem Adressenregister.

Country Status (11)

Country Link
EP (1) EP0176976B1 (de)
KR (1) KR930008268B1 (de)
CN (1) CN1004946B (de)
AU (1) AU585262B2 (de)
CA (1) CA1252577A (de)
DE (1) DE3587635T2 (de)
DK (1) DK167784B1 (de)
ES (1) ES8705672A1 (de)
FI (1) FI87282C (de)
NO (1) NO171434C (de)
YU (1) YU157385A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0176975A3 (de) * 1984-10-04 1989-01-18 Bull HN Information Systems Inc. Programmierbarer universeller Synchronisationsbytedetektor
CA1329432C (en) * 1988-11-02 1994-05-10 William Davy Method of memory and cpu time allocation for a multi-user computer system
JPH02158824A (ja) * 1988-12-12 1990-06-19 Nippon I B M Kk ディスク装置の記憶制御装置
US5535419A (en) * 1994-05-27 1996-07-09 Advanced Micro Devices Sytem and method for merging disk change data from a floppy disk controller with data relating to an IDE drive controller
US9990316B2 (en) * 2015-09-21 2018-06-05 Qualcomm Incorporated Enhanced serial peripheral interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2951405A1 (en) * 1978-04-21 1981-01-15 Ncr Co A computer system having enhancement circuitry for memory accessing
US4358826A (en) * 1980-06-30 1982-11-09 International Business Machines Corporation Apparatus for enabling byte or word addressing of storage organized on a word basis
JPS58154054A (ja) * 1982-03-10 1983-09-13 Hitachi Ltd 外部記憶装置制御用回路
CA1211573A (en) * 1982-12-07 1986-09-16 Glenn T. Hotchkin System for regulating data transfer operations
EP0176975A3 (de) * 1984-10-04 1989-01-18 Bull HN Information Systems Inc. Programmierbarer universeller Synchronisationsbytedetektor

Also Published As

Publication number Publication date
NO853919L (no) 1986-04-07
EP0176976B1 (de) 1993-10-20
DK451085D0 (da) 1985-10-03
YU157385A (en) 1987-10-31
NO171434B (no) 1992-11-30
CN1004946B (zh) 1989-08-02
ES8705672A1 (es) 1987-05-01
FI87282B (fi) 1992-08-31
FI853830A0 (fi) 1985-10-03
NO171434C (no) 1993-03-10
CA1252577A (en) 1989-04-11
DK451085A (da) 1986-04-05
KR860003554A (ko) 1986-05-26
KR930008268B1 (ko) 1993-08-27
DE3587635D1 (de) 1993-11-25
AU4815385A (en) 1986-04-10
CN85108598A (zh) 1986-10-15
EP0176976A3 (en) 1989-01-11
ES547550A0 (es) 1987-05-01
FI87282C (fi) 1992-12-10
DK167784B1 (da) 1993-12-13
AU585262B2 (en) 1989-06-15
EP0176976A2 (de) 1986-04-09
FI853830A (fi) 1986-04-05

Similar Documents

Publication Publication Date Title
DE3909896C2 (de)
DE69031367T2 (de) Blockübertragungs- und Koprozessorschnittstellenbefehl
DE69936524T2 (de) Betriebsweise und schaltkreis eines speichers mit seriellem zugriff
DE68922975T2 (de) Speichereinheit mit zwei Toren.
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3687867T2 (de) Mikrorechner.
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
AT389951B (de) Datenuebertragungseinrichtung
DE3911721C2 (de)
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
CH633642A5 (de) Rechenanlage.
DE1524773C3 (de) Adressierungssystem für Speichervorrichtungen
DE3343348A1 (de) Anordnung zur datenuebertragung zwischen mehreren prozessoren und einem speicher
DE3587635T2 (de) Plattenspeichersteuergerät mit geteiltem Adressenregister.
DE68906171T2 (de) Speichersytem mit serienzugriff mit einer kaskaden-pufferschaltung.
DE4302754C1 (de) Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung
DE69025268T2 (de) Schaltungsanordnung zur erweiterten Adressierung
DE69023677T2 (de) DMA-Übertragung für Rechnersystem.
DE2702586B2 (de) Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner
DE68921016T2 (de) Vorrichtung zum schnellen Auswählen eines lokalen Speichers.
DE2738594C2 (de)
DE4122831A1 (de) Integrierte halbleiterschaltung
DE3412805A1 (de) Prozessor
DE4122236A1 (de) Steuereinrichtung fuer direkten speicherzugriff

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: BULL HN INFORMATION SYSTEMS INC., BILLERICA, MASS.

8339 Ceased/non-payment of the annual fee