DE2627628A1 - INTERNALLY PROGRAMMABLE DATA PROCESSING SYSTEM - Google Patents
INTERNALLY PROGRAMMABLE DATA PROCESSING SYSTEMInfo
- Publication number
- DE2627628A1 DE2627628A1 DE19762627628 DE2627628A DE2627628A1 DE 2627628 A1 DE2627628 A1 DE 2627628A1 DE 19762627628 DE19762627628 DE 19762627628 DE 2627628 A DE2627628 A DE 2627628A DE 2627628 A1 DE2627628 A1 DE 2627628A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- database
- register
- page
- record
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
_.HeinpEvd(
Patentanwalt
I Malchin 22. Herrnsir. 15, Tel. 29255S
Postanschrift Mischen 26, Posnaci 4 ä.DZ/D/0 _.HeinpEvd (
Patent attorney
I Malchin 22. Herrnsir. 15, Tel. 29 255S Postal address Mischen 26, Posnaci 4 ä.DZ / D / 0
München, den 19.Juni 1976Munich, June 19, 1976
Mein Zeichen: P 2360My reference: P 2360
Anmelder» HONEYWELL INFORMATION SYSTEMS INC.Applicant »HONEYWELL INFORMATION SYSTEMS INC.
200 Smith Street
Waltham, Mass., USA200 Smith Street
Waltham, Mass., USA
Intern programmierbare>> DatenverarbeitungsanlageInternally programmable >> Data processing system
Die Erfindung betrifft ein intern programmierbares Datenverarbeitungssystem nach dem Gattungsbegriff des Anspruches 1. Insbesondere bezieht sich die Erfindung auf eine Verbesserung von Digitalrechnern im Dereich der Datenbank-Operationen.The invention relates to an internally programmable data processing system according to the preamble of claim 1. In particular, the invention relates to an improvement of digital computers in the area of database operations.
Die Hardware elektronischer Rechner hat sich von einer ersten Generation, die durch die Verwendung von Elektronenröhren gekennzeichnet war, über eine zweite Generation, die durch Transistoren gekennzeichnet war, zu einer dritten Generation entwickelt, die in der Hauptsache durchThe hardware of electronic computers has changed from a first generation created by the use of electron tubes was characterized, through a second generation, which was characterized by transistors, to a third Generation developed in the main by
^09810/0993^ 09810/0993
in der Hauptsache durch integrierte Schaltkreise bestimmt ist. Im Zusammenhang mit diesen verschiedenen Hardwaregenerationen wurde von verschiedenen Softwaregenerationen Gebrauch gemacht, wobei die Software der ersten Generation hauptsächlich durch die Maschinensprache, Assembler und Subroutinen bestimmt war und die Software der zweiten Generation durch höhere Programmiersprachen, durch Überwachungsprogramme und Mikroassembler gekennzeichnet war. Die Software der dritten Generation ist gekennzeichnet durch Operationssysteme, Online-Echtzeit-Systeme, Mehrprogrammsysteme und Datenbankverwaltungssysteme.is mainly determined by integrated circuits. In connection with these different generations of hardware was made use of different generations of software, the first generation software mainly through the machine language, assembler and subroutines were determined and the software of the second generation by high-level programming languages, characterized by monitoring programs and microassemblers was. The third generation software is characterized by operating systems, online real-time systems, Multi-program systems and database management systems.
Die Hardware der ersten Generation zusammen mit der Software der ersten Generation und ebenso die Hardware der zweiten Generation zusammen mit der Software der zweiten Generation waren in erster Linie auf eine Stapelverarbeitung ausgerichtet, wobei die Ausführung der Jobs in erster Linie in serieller Weise erfolgte. Weiterhin waren die Hardware/Software-Systeme der dritten Generation ebenfalls auf eine Stapbeiverarbeitung ausgerichtet, wobei jedoch auf Grund des Aufkommens der Mehrfachprogrammierung verschiedene Jobs in paralleler anstelle von serieller Weise bearbeitet werden konnten und wobei diese Systeme die Aufnahme von Eingangsinformation zur Verarbeitung bei deren Erzeugung erlaubten.The hardware of the first generation together with the software of the first generation and also the hardware of the second Generation together with the software of the second generation were primarily aimed at batch processing, the execution of the jobs was primarily carried out in a serial manner. Furthermore, there were the hardware / software systems of the third generation also aimed at a batch processing, but due to the emergence of multiple programming different jobs could be processed in parallel instead of serial way and with these Systems allowed the inclusion of input information for processing when it was generated.
Die Systeme der vierten Generation werden typischerweise als Kommunikations- und Steuersysteme klassifiziert werden können, die sich durch breit gestreute Prozessoranwendungen auszeichnen und die in erster Linie durch übertragene Daten anstelle von Stapelprogrammen angeregt werden. Die Systemsteuerung erfolgt hierbei in erster Linie durch Eingangsinformationen anstelle von Eingriffen des Bedieners, wobei die Informationsunterdrückung im allgemeinen in Echtzeit erfolgt.The fourth generation systems will typically be classifiable as communication and control systems that are characterized by widespread processor applications and that are primarily stimulated by transmitted data rather than batch programs. The system is controlled primarily through input information instead of intervention by the operator, the information suppression generally taking place in real time.
Bei der Entwicklung der oben genannten Generationen von Computer-Systemen bestand eine Hauptanforderung darin, effektive Methoden zum Zugriff auf die Datenbank des Computersystems zu entwickeln. In developing the above mentioned generations of computer systems, a key requirement was to develop effective methods for accessing the database of the computer system.
709810/0993709810/0993
·■ 3 -· ■ 3 -
In der Entwicklung der System-Datenbänke kam man anfänglich zu einer großen Anzahl verschiedener Datenbänke entsprechend der Anwendungsfälle. Als Folge dieser wachsenden Anzahl von Datenbänken ergaben sich Probleme hinsichtlich der Anforderungen an die Speicher und hinsichtlich der Redundanz der Datenspeicherung, was zusätzlich durch das Problem erschwert wurde, daß die redundanten Daten zu verschiedenen Zeitpunkten an einer Stelle in korrekter Weise und an anderer Stelle in inkorrekter Weise auf den neuesten Stand gebracht wurden. Es wurden Schritte unternommen, um diese Probleme zu beherrschen, indem die vielen Datenbänke eines Systems in einer einzigen Datenbank integriert wurden. Der integrierte Datenspeicher (IDS) der Firma Honeywell stellt ein Beispiel eines Systems dar,, das ausgelegt wurde, um diese Probleme zu vermeiden. Der integrierte Datenspeicher setzte eich aus einer zentralen Datenbank zusammen, welche beispielsweise von dem Lagerbestandsführungssystem, den internen Buchungsprozeduren und Lohnabrechnungsprozeduren benutzt werden konnte, indem jeweils auf die relevanten Daten in der Datenbank Zugriff genommen wurde. In dieser zentralen integrierten Datenbank kann sich ein einziger Datensatz befinden, der eine Information umschreibt, die verschiedenen funktioneilen Erfordernissen gemeinsam ist. Beispielsweise kann die Lagerbestandsführung und interne Buchung auf die Mummer eines vorgegegenen Teiles in einem Warenhaus Bezug nehmen.In the beginning, one came to the development of the system databases a large number of different databases according to the application. As a result of this growing number of databases Problems arose with regard to the requirements for the memory and with regard to the redundancy of data storage, which was additionally made more difficult by the problem that the redundant data at different times in one place has been updated correctly and incorrectly elsewhere. There were steps Taken to address these problems by integrating the many databases of a system into a single database became. Honeywell's Integrated Data Storage (IDS) is an example of a system that has been designed to avoid these problems. The integrated data memory was composed of a central database, which for example could be used by the inventory management system, internal booking procedures and payroll procedures, by accessing the relevant data in the database. In this central integrated database there is a single data record that describes a piece of information, the various functional requirements are common. For example, inventory management and internal Make a booking based on the number of a given item in a department store.
Unter Heranziehung kontinuierlich verbesserter Softwaretechniken wurden wirksame Techniken zur Benutzung integrierter Datenbanken entwickelt. Das Gruppenkonzept stellt eine Technik dar, welche den Zugriff auf Datensätze in der integrierten Datenbank auf der Grundlage von Beziehungen zwischen den Datensätzen gestattet. Eine typische Beziehung stellen beispielsweise alle Angestellten in einer bestimmten Abteilung dar, beispielsweise in der Produktionsabteilung. Die Produktionsabteilung kann durch einen . Benutzer-Datensatz beschrieben werden und die Angestellten innerhalb der Abteilung können durch einen Mitglieder-Datensatz beschrieben werden. Auf die Gruppe, welche eine Beziehung, wie beispielsweise die Mitgliedschaft in einer Abteilung, beschreibt,Using continuously improved software techniques, effective techniques for using integrated databases have been developed. The group concept is a technique that allows access to data records in the integrated database on the basis of relationships between the data records. A typical relationship is, for example, all employees in a certain department, for example in the production department. The production department can be assisted by a. User record can be described and the employees within the department can be described by a member record. The group which describes a relationship, such as membership in a department,
• - 709810/ΟΘ93• - 709810 / ΟΘ93
kann sodann durch den Mitglied-Datensatz Zugriff genommen werden, was der Software gestattet, alle Mitglieds-Datensätze zu gewinnen und somit beispielsweise alle Angestellten innerhalb der Abteilung auszudrucken.can then be accessed through the member's data record which allows the software to extract all member records and thus all employees within, for example of the department.
Bei diesem Entwicklungsstand kann der integrierte Datenspeicher einige derreinen, oben erwähnten Datenprobleme lösen, ζ.Β» das Problem der redundanten Daten in verschiedenen Datenbänken und das Problem der Ergänzung mehrfacher Kopien von Datensätzen. Das Problem wurde durch einen einzigen Datensatz gelöst, der somit eine Reduktion der Speichergröße für die Daten und eine einzige Kopie der Daten gestattete. Andere Probleme hinsichtlich der Datenbänke blieben in den Ausführungsbereichen bestehen. Die Gruppenkonzepte stellen neue Techniken dar hinsichtlich der Benutzung des Computers; es gab aber ab diesem Zeitpunkt keine spezialisierten Hardwarebefehle für die Zentraleinheiten der Rechner, um diese neuen Techniken zu unterstützen. Als Folge hiervon kann eine Gruppenoperation, wie beispielsweise das Auffinden des ersten Mitgliedes einer Gruppe, hinsichtlich der Software nur durch eine Reihe von Standard-Maschinenbefehlen, wie beispielsweise addieren, laden, speichern, usw. verwirklicht werden. Als Ergebnis ergibt sich eine ziemlich lange Rechenzeit für relativ einfache Gruppenoperationen, wie beispielsweise das Auffinden des ersten Mitgliedes, das Einsetzen eines Datensatzes in eine Gruppe und andere Gruppenoperationen.At this stage of development, the integrated data memory can solve some of the pure data problems mentioned above, ζ.Β »the problem of redundant data in different databases and the problem of adding multiple copies of records. The problem was caused by a single record solved, which thus allowed a reduction in the memory size for the data and a single copy of the data. Other Database problems persisted in the execution areas. The group concepts introduce new techniques represent regarding the use of the computer; however, from this point on there were no specialized hardware commands for the Central processing units of the computers to support these new technologies. As a result, a group operation, such as finding the first member of a group, in terms of software only through a series of Standard machine commands such as add, load, save, etc. can be implemented. The result is quite a long computing time for relatively simple group operations, such as finding the first member, putting a record in a group and other group operations.
Es besteht somit einerseits Bedarf an einem Datenbanksystem, welches die tradionellen Datenprobleme löst, die bereits durch integrierte Datentechniken unter Benutzung von Gruppenoperationen gelöst worden sind, als auch andererseits an einem wirksamen Datenbanksystem hinsichtlich der Ausführungszeit und hinsichtlich anderer Systemleistungsparameter. Um dies zu erreichen, wären spezialisierte, durch Hardware/FirmwareThere is thus, on the one hand, a need for a database system that solves the traditional data problems that have already arisen through integrated data techniques have been solved using group operations, as well as on the other hand at one effective database system in terms of execution time and other system performance parameters. To this to be achieved would be specialized, through hardware / firmware
709810/0993709810/0993
unterstützte Befehle erforderlich, um eine Unterstützung bei den Gruppenoperationen zu liefern. So würde z.Bo ein einzelner Befehl bezüglich einer Datenbankadresse eines Benutzer -Datensatzes eines Mitglied-Datensatzes (Mitglied- und Benutzer-Datensätze werden weiter unten beschrieben) in einem Register die Ausführung innerhalb einer wesentlich kürzeren Zeitspanne erfordern als eine Reihe von fünf bis zehn erweiterten Maschinenbefehlen zur Ausführung derselben Operation in einer traditionellen Maschine.Supported commands required to provide assistance with group operations. For example , a single command relating to a database address of a user record of a member record (member and user records are described below) in a register would require execution within a much shorter period of time than a series of five to ten extended machine commands to perform the same operation in a traditional machine.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, einen verbesserten Allzweck-Digitalrechner zu schaffen. Der neu zu schaffende Allzweck-Digitalrechner soll überdies eine verbesserte Leistungsfähigkeit bezüglich Datenbank-Managementoperationen besitzen.The invention is accordingly based on the object of an improved To create general purpose digital computers. The new general-purpose digital computer to be created is also intended to be an improved one Have capability in database management operations.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die im Anspruch 1 gekennzeichnete Erfindung.The object indicated above is achieved by the invention characterized in claim 1.
Gemäß der vorliegenden Erfindung ist eine intern programmierte Datenverarbeitungsanlage mit einem Speicher geschaffen, der aus einer Vielzahl von adressierbaren Speicherplatzsegmenten besteht, wobei jedes Segment eine Segmentnummer aufweist und durch obere und untere veränderbare Grenzen begrenzt ist. Jedes Segmentsist dabei ferner in zumindest eine Seite unterteilt, die an einer bestimmten Zuordnungsadresse innerhalb des Segments untergebracht ist und die eine Kennzeichnungsseitennummer besitzt. Jede der zur Speicherung einer Vielzahl von Dateien der Datenbank-Datensätze bzw«, -Aufzeichnungen ist in Gruppen von Datenbank-Aufzeichnungen bzw. -Datensätzen gruppiert. Jede Gruppe weist zumindest eine Benutzer-Aufzeichnung bzw. einai Benutzer-Datensatz auf. Jede der Seiten enthält ferner eine Versetzungs-Adresseninformation zurAccording to the present invention, an internally programmed data processing system is created with a memory which consists of a plurality of addressable memory space segments, each segment having a segment number and being limited by upper and lower variable limits. Each segment s is further subdivided into at least one page which is accommodated at a specific assignment address within the segment and which has an identification page number. Each of the database records or records for storing a large number of files is grouped into groups of database records or records. Each group has at least one user record or one user data record. Each of the pages also contains offset address information for the
709810/0993709810/0993
örtlichen Festlegung jeder der Datenbank-Aufzeichnungen aus einer ausgev/ählten Gruppe der genannten Gruppen von einer bestimmten Stelle auf einer ausgewählten Seite der genannten Seiten. Diese Datenverarbeitungsanlage weist ferner zumindest ein Indexregister für die Speicherung einer ausgewählten Datenbank-Indexadresse auf, umfassend eine Datenbank-Zeigeradresse, welche eine Adresse eines bestimmten Datenbank-Datensatzes der genannten Datenbank-Datensätze bildet. Jeder der Datenbank-Datensätze, der zumindest einen der Datenbank-Zeiger aufweist, umfaßt eine . Bereichs-,eine Seiteo-und eine Zeilenadresse. Die Bereichsadresse dient zur örtlichen Festlegung einer bestimmten Datei von Datenbank-Datensätzen; die Seitenadresse dient zur örtlichen Festlegung einer bestimmten Gruppe der Datenbank-Datensätze innerhalb der genannten Datei. Die Zeilenadresse dient zur Festlegung des bestimmten einen Datensatzes der Datenbank-Datensätze. Die betreffende Datenverarbeitungsanlage umfaßt ferner eine auf einen Serien-Suchbefehl ansprechende Befehls-Hardware; diese Hardware umfaßt:locate each of the database records a selected group of said groups from a specific position on a selected page of said groups Pages. This data processing system also has at least one index register for storing a selected one Database index address, comprising a database pointer address, which forms an address of a specific database data record of said database data records. Everyone of the database records having at least one of the database pointers includes one. Area, one side and one Line address. The area address is used to determine the location of a specific file of database data records; the Page address is used to determine the location of a specific group of the database data records within the named file. The line address is used to define the specific one data record of the database data records. The relevant data processing system further comprises command hardware responsive to a serial search command; this hardware includes:
a) eine Segmentnummer-Generatoreinrichtung, die auf eine aus dem 3efehl abgeleitete Bereichs- und Seitenadresse hin eine Segmentnummer erzeugt;a) a segment number generator device which, in response to an area and page address derived from the command, sends a Segment number generated;
b) eine Adresse^Umsetzeinrichtung, welche die Segmentnummer in eine absolute Adresse zur örtlichen Bezeichnung der betreffenden Seite in bezug auf eine Systembasis umsetzt;b) an address ^ converter, which the segment number converts to an absolute address for the local designation of the relevant page with respect to a system base;
c) eine Anzeige-Festlegungseinrichtung, die durch die Adressen-Umsetzeinrichtung gesteuert innerhalb der genannten Seite eine Anzeige liefert, welche zur Bestimmung der Verfügbarkeit eines ausgewählten Datenbank-Datensatzes bezüglich der betreffenden Anzeige dient;c) a display setting device generated by the address translation device controlled within the said page provides a display which is used to determine the Availability of a selected database data set with regard to the relevant advertisement is used;
d) Ladeeinrichtungen, die durch die Anzeige-Festlegungseinrichtung gesteuert betreffende Bereich^die betreffende 3»ίΛψη*· und die betreffende Zeilennummer in das entsprechende Indexregister laden, wenn der ausgewählte Datenbank-Datensatz verfügbar ist.d) Loading devices which, controlled by the display definition device, load the relevant area ^ the relevant 3 »ίΛψη * · and the relevant line number into the corresponding index register when the selected database data record is available.
709810/099 3709810/099 3
Anhand von Zeichnungen wird die Erfindung nachstehend beispielsweise näher erläutert. Ss zeigen:The invention is exemplified below with reference to drawings explained in more detail. Ss show:
Fig. 1 ein Blockdiagramm eines die Erfindung ausnutzenden Mehrprogrammsystems,1 is a block diagram of a multiple program system utilizing the invention;
Fig., 2 eine schematische Darstellung verschiedener, von der Erfindung benutzter Hardwarestrukturen, Fig. 3 eine Liste von Ausdrücken, die für reservierte Speichergebiete in Registern gemäß Fig. 2 benutzt werden, Fig. 4 ein schematisches Diagramm eines Prozeßsteuerblockes einer von der Erfindung benutzten Maschine, Fig. 5 ein schematisches Diagramm eines Systems zur Adressierung eines Prozeßsteuerblockes,Fig. 2 is a schematic representation of various, from the Invention of the hardware structures used, FIG. 3 shows a list of expressions which are used for reserved memory areas are used in registers of Fig. 2, Fig. 4 is a schematic diagram of a process control block of a machine used by the invention; Figure 5 is a schematic diagram of a system for addressing a process control block,
Fig. 6 ein schematisches Diagramm der Systembasis eines die Erfindung benutzenden Computersystems, Fig. 7A und 7B schematische Darstellungen eines Stapelsegmentes und eines Stapelrahmens eines die Erfindung benutzenden Computersystems,6 is a schematic diagram of the system base of a computer system using the invention; Figures 7A and 7B are schematic representations of a stacking segment and a stacking frame of one utilizing the invention Computer system,
709810/0993709810/0993
Figur 8 ein schematisches Diagramm eines Systemes zur Adressierung von G-Segmenten und insbesondere der Warteschlange von Prozessen in dem G-O-Segment eines erfindungsgemäßen Computersystems ,Figure 8 is a schematic diagram of a system for addressing of G segments and in particular the queue of processes in the G-O segment of a computer system according to the invention ,
Figur 9 ein erweitertes schematisches Diagramm eines G-O-Segmentes, welches die Warteschlange von Prozessen und die Prozeßverbindung eines erfindungsgemSßen Computersystems darstellt,Figure 9 is an expanded schematic diagram of a G-O segment, which is the queue of processes and the process connection of a computer system according to the invention represents
Figuren 1OA bis 1OL Blockdiagramme von Strukturen in dem Prozeßsteuerblock t Figures 10A to 1OL are block diagrams of structures in the process control block t
Figuren HA bis HR Blockdiagramme von Strukturen in der Systembasis,Figures HA to HR block diagrams of structures in the System base,
Figur 12 ein schematisches Diagramm von Adressierschemen von Benutzer- und Systemsegmenten, die von der Systembasis und den Prozeßsteuerblock-Strukturen Gebrauch machen, Figuren 13A bis 13C schematische Diagramme der Steuereinheit gemäß der Erfindung,Figure 12 is a schematic diagram of user and system segment addressing schemes supported by the system base and making use of the process control block structures, Figures 13A through 13C are schematic diagrams of the control unit according to the invention,
Figuren 14Λ bis 141 Flußdiagramme der Verteilereinheit in der Firmware des erfindurtgsgemäßen Computer sys teme s, Figuren 15A bis 15H Diagramme der Datensätze und ihrer Hinweis· adressen, wie sie bei den Gruppenbefehlen benutzt werden, Figuren 16A bis 16C Diagramme des Datenbank-Seitenformates und der Descriptoren, welche diese Seiten beschreiben, Figur 17 ein Flußdiagramm der Firmware wie sie benutzt wird, um eine Datenbank-Seite im Hauptspeicher abzulegen, Figur 18 ein Blockdiagramm eines Hardwaremechanismus zur zur Auffindung einer Datenbank-Seite im Hauptspeicher, Figuren 19A und 19B Diagramme von Descriptoren, die Gruppen und Datensätze beschreiben, die von den Datenbank-Befehlen benutzt werden.FIGS. 14Λ to 141 are flow charts of the distribution unit in FIG Firmware of the computer system according to the invention, FIGS. 15A to 15H, diagrams of the data records and their information addresses as used in the group commands, FIGS. 16A to 16C are diagrams of the database page format and the descriptors that describe these pages, Figure 17 is a flow chart of the firmware as it is used, to store a database page in main memory, FIG. 18 is a block diagram of a hardware mechanism for for finding a database page in main memory, FIGS. 19A and 19B are diagrams of descriptors, the groups and describe records used by the database commands.
Figuren 2OA bis 2OF Diagramme von Befehlsformaten, die von den Datenbank"-Befehlen benutzt werden.Figures 20A to 20F are diagrams of instruction formats used by the "Database" commands.
709810/0993709810/0993
Fig. 21A bis 21B Flußdiagramme des Heraussuchens eines einen Benutzer betreffenden Datenbank-Befehls in Firmware/Hardware ,Figs. 21A to 21B are flow charts of searching for one User-related database command in firmware / hardware,
Fig. 22A bis 22D die Verknüpfungsblockdiagramme für einen in Hardware ausgeführten Datenbank-Befehl betreffend das Heraussuchen eines "Benutzers ,22A through 22D are the logic block diagrams for an in Hardware executed database command regarding the search for a "user,
Fig. 23A bis 235C die Flußdiagramme eines das Heraussuchen betreffenden Serien-Datenbank-Befehles im Firmware/Hardware, Fig. 24A, 24b und 25 Verknüpfungsblockdiagramme eines das Suchen betreffenden Serien-Datenbank-Befehles in Hardware, Fig. 26 das Flußdiagramm eines in Firmware/Hardware ausgeführten Datenbank-Befehles vom Prüf-Datensatztyp, Fig. 27 ein Verknüpfungsblockdiagramm eines in Hardware ausgeführten Datenbank-Befehls eines Prüf-Datensatztyps, Fig. 28 das Flußdiagramm eines Entladungs-Datenbank-Befehles in Firmware/Hardware undFigs. 23A to 235C are flow charts of a lookup related Serial Database Instruction in Firmware / Hardware, Figs. 24A, 24b and 25 Linking Block Diagrams of a Das Search of relevant serial database commands in hardware, FIG. 26 shows the flowchart of one executed in firmware / hardware Check Record Type Database Instructions, Fig. 27 is a logic block diagram of one in hardware executed database command of a test data record type, FIG. 28 shows the flowchart of an unloading database command in firmware / hardware and
Fig. 29 ein Verknüpfungsblockdiagramm eines Hardware-Entlade-Datenbank-Befehles. 29 is a logic block diagram of a hardware unload database instruction.
Die verwendeten Hilfsmittel für einen Datenbank-Befehl betreffend das Auffinden eines Benutzers , das Auffinden eines Serien-Prüfdatensatztyps oder eines Entladens in einem großen Computer- bzw. Rechnersystem sind notwendigerweise komplex; in typischer Weise finden sich derartige Hilfsmittel in einem Rechner der Honeywell Serie 60. Überdies kann ein vollständiges Verständnis der Lehren der vorliegenden Erfindung nur dann erzielt werden, wenn der Leser mit dem Gebiet der Computertechnik und mit den dabei verwendeten Hilfsmitteln vertraut ist. Aus diesem Grunde wird es als wünschenswert angesehen, zumindest kurz den allgemeinen Aufbau eines typischen großen Datenverarbeitungssystems zu erläutern, in welchem die Prinzipien der vorliegenden Erfindung mit Vorteil angewandt werden können. Es dürfte ferner als wünschenswertThe tools used for a database command relating to finding a user, finding a Serial audit record type or a discharge in a large Computer systems are necessarily complex; Typically, such tools can be found in a Honeywell Series 60 calculator. In addition, a complete Understanding of the teachings of the present invention can only be achieved once the reader is familiar with the art Computer technology and is familiar with the tools used. Because of this, it is considered desirable considered to explain at least briefly the general structure of a typical large data processing system in which the principles of the present invention can be applied to advantage. It should also be considered desirable
709810/0993709810/0993
anzusehen sein, zunächst die grundlegenden Konzepte zu erläutern, auf denen die vorliegende Erfindung basiert.should be considered first to explain the basic concepts on which the present invention is based.
Das Datenbank-Gruppenkonzept vereinigt verschiedene Techniken (Tabellen, Listen, Ketten, Ringe, Dateien und Feldanordnungen), von denen bei den meisten bekannten Computern Gebrauch gemacht wird, insbesondere bei deren Programmierung. Das vorliegende Konzept ist eine Spezialisierung des allgemeineren mathematischen Gruppenkonzeptes, aus welchem die Datenstrukturgruppe ihren Namen und viele ihre Eigenschaften erhält. In diesem Zusammenhang wird das Wort "Gruppe" stets im Sinne einer Datenstruktur und nicht im mathematischen Sinne benutzt.The database group concept combines various techniques (tables, lists, chains, rings, files and field arrangements), used in most known computers, particularly in their programming. The present Concept is a specialization of the more general mathematical group concept from which the data structure group receives its name and many of its properties. In this context, the word "group" is always used in the sense of a data structure and not used in a mathematical sense.
Viele Systeme unterstützen das Gruppenkonzept, wobei diese Unterstützung jedoch nur softwarenmäßig erfolgt. Im Datenbank-Verwaltungsbereich hat zuerst das integrierte Datenspeichersystem (IDS) der Firma Honeywell breiten Gebrauch von dem Gruppenkonzept gemacht, um komplexe Hersteller- und 3ankprobleme zu bearbeiten. Das integrierte Datenspeichersystem macht von der Kettenform (Ringform) der Gruppenverwirklichung Gebrauch. Diese grundlegenden Konzepte werden hardware- bzw» firmwaremäßig verwirklicht; sie aind in bestehenden Rechners vorhanden, so daß neue und verbesserte digitale Rechner geschaffen werden.Many systems support the group concept, but this support is only provided by software. In the area of database management, the integrated data storage system (IDS) from Honeywell first made extensive use of the group concept in order to deal with complex manufacturer and bank problems. The integrated data storage system makes use of the chain form (ring form) of group realization. These basic concepts are implemented in terms of hardware or firmware; they aind present in existing computer so that new and improved digital computer to be created.
709810/0993709810/0993
Die Gruppe stellt eines von drei komplementären Konzepten (Datensatz, Feld und Gruppe) dar, die zur Bildung und Speicherung von Datenstrukturen benötigt werden, wobei diese Datenstrukturen eine Entsprechung in der natürlichen Umwelt finden. Wird die natürliche Umwelt in Ausdrücken existierender Systemelemente betrachtet, so führen die sie beschreibenden Eigenschaften und die Beziehungen zwischen ihnen zu folgenden entsprechenden Informationssystemkonzepten: Datensatz, Feld und Gruppe. In einem einfachen, aus dem Schulbereich genommenen Beispiel können die Systemelemente beispielsweise die Lehrer und die Kinder beschreiben. Einige der Zuordnungen für den Lehrer sind beispielsweise durch den Namen, den Ausbildungsstand und den Klassenraum bestimmt. Ebenso können einige Zuordnungen für das Kind durch den Vornamen, das Alter und den Familiennamen gegeben sein. Zwischen Lehrern und Kindern besteht eine gewisse Beziehung. In einem Informationssystemmodell für diese natürliche Umwelt können zwei Klassen von Datensätzen geschaffen werden, wobei eine den Lehrern und eine den Kindern zugeordnet ist. In jedem Lehrer-Datensatz existiert ein Feld, das den Namen des Lehrers speichert, sowie ein anderes für den Ausbildungsgrad und ein weiteres für die Nummer des Klassenraumes. Jeder Kinder-Datensatz enthält entsprechende Felder für den Vornamen, das Alter und den Familiennamen .The group represents one of three complementary concepts (record, field and group) that are used to create and store of data structures are required, these data structures having an equivalent in the natural environment Find. If the natural environment is viewed in terms of existing system elements, then those describing them lead Properties and the relationships between them to the following corresponding information system concepts: record, field and group. In a simple example taken from the school sector, the system elements can, for example, be the teachers and describe the children. Some of the assignments for the teacher are determined, for example, by the name, the level of training and the classroom. Likewise, some can Assignments for the child are given by first name, age and family name. Between teachers and children there is a certain relationship. In an information system model for this natural environment, two classes of Datasets are created, one assigned to the teachers and one assigned to the children. In every teacher record There is a field that stores the name of the teacher, another for the level of training and another for the number of the classroom. Each child record contains corresponding fields for first name, age and family name .
Das Informationssystem kann den Kinder-Datensatz mit dem Lehrer-Datensatz in verschiedenen Weisen verknüpfen, wobei die entsprechende Verknüpfungsweise zur Verwirklichung des Gruppenkonzepts ausgewählt werden muß. Dies kann beispielsweise geschehen, indem alle Kinder-Datensätze nach ihrem Lehrer-Datensatz in der Datei angeordnet werden. Eine solche Anordnung bezeichnet man dann als Tabelle oder Datensatz-Anordnung. Die vorliegende Ausführung macht von der Technik der Ketten- bzw. Ringverwirklichung des Gruppenkonzeptes Gebrauch. In dieser Form enthält der Benutzer-Datensatz eine Hinweisadresse zu dem ersten Mitglieds-Datensatz. Jeder Mitglieds-Datensatz enthält seinerseits eine Hinweisadresse auf den folgenden Mitglieds-The information system can match the child record with the teacher record link in different ways, with the appropriate linkage to realize the group concept must be selected. This can be done, for example, by all of the children’s records after their teacher’s record be arranged in the file. Such an arrangement is then referred to as a table or data record arrangement. the The present embodiment makes use of the technique of chain or ring implementation of the group concept. In this Form, the user data record contains a reference address to the first member data record. Each member record contains in turn, a reference address to the following member
709810/0993709810/0993
Datensatz. Der letzte Mitglieds-Datensatz der Gruppe enthält eine Hinweisadresse der auf den Benutzer-Datensatz zurückverweist. Variationen sind gestattet, welche den Benutzer-Datensatz oder den Benutzer- und alle Mitglied-Datensätze mit zusätzlichen Hinweisadressen-Feldern versehen, um die Adresse des vorangegangenen Datensatzes und möglicherweise eine Hinweisadresse auf den Benutzer-Datensatz für Mitglieds-Datensätze zu speichern.Record. The last member record of the group contains a hint address that refers back to the user record. Variations are allowed, which the user record or the user and all member records with additional Note address fields are provided with the address of the previous record and possibly a note address to save the user record for member records.
Das vorstehend beschriebene Datenstruktur-Gruppenkonzept ist eine Verfeinerung des mathematischen Gruppenkonzeptes, d. h. in der Datenstrukturgruppe ist die Gruppendefinition in dem Fall der Benutzerrolle enthalten. Die Gruppenmitgliedschaft ist in dem Fall der Mitgliederrolle enthalten. Die Datensätze können laufend viele Rollen als Benutzer und Mitglieder verschiedener Gruppen enthalten. Diese Eigenschaft erlaubt die Schaffung und Handhabung von komplexen Strukturen, wodurch die Kompliziertheit der tatsächlichen Umwelt nachbildbar ist. In dieser Verfeinerung des mathematischen Gruppenkonzeptes kann man umkehrbar entweder von einem Benutzer zu den Mitgliedern oder von irgendeinem Mitglied zu dem Benutzer gehen, um auf diese Weise die Gruppendefinition wieder herzustellen.The data structure group concept described above is a refinement of the mathematical group concept, i. H. in the case of the user role, the group definition is contained in the data structure group. The group membership is included in the case of the membership role. The records can have many roles as users and members of various on an ongoing basis Groups included. This property allows the creation and handling of complex structures, thereby reducing the Complexity of the actual environment can be reproduced. In this refinement of the mathematical group concept one reversible either from a user to the members or from any member to the user to go to in this way to restore the group definition.
Hinsichtlich der Datenstrukturgruppen basiert die Gruppendefinition normalerweise auf dem Wert irgendeines Feldes bzw. mehrerer Felder innerhalb des Benutzer-Datensatzes, während die Mitgliedschaft in der Gruppe in dem Computer durch den angepassten Wert eines äquivalenten Feldes bzw. von äquivalenten Feldern innerhalb eines potentiellen Mitglieds-Datensatzes wie der hergestellt wird. Ein Vorteil kann häufig aus diesem Phänomen gezogen werden, indem das Feld von den Mitglieds-Datensätzen entfernt wird, welche die angepassten Daten aufweisen unti von dem Benutzer-Datensatz für die Wiedererrichtung abhängen. With regard to the data structure groups, the group definition is normally based on the value of any field or fields within the user record, while membership in the group in the computer is based on the adjusted value of an equivalent field or fields within a potential member record such as produced. Often times, this phenomenon can be taken advantage of by removing the field from the member records that have the customized data and depending on the user record for re-establishment.
709810/0993709810/0993
In dem zuvor erwähnten Schulbeispiel wurde gesagt, daß ein j Lehrer die Rolle eines "Benutzers" einer Lehrer/Kinder-Gruppe [ besitzt. Um dieses Beispiel zu erweitern, wollen wir zur Kenntnis nehmen, daß in den meisten Schulen die Beziehung zwischen Lehrer und Kind keine einfache Beziehung (l:n), sondern eine ziemlich komplexe Beziehung (nun) ist, da die Kinder verschiedene Lehrer für verschiedene Unterrichtsobjekte haben. Diese komplexe Beziehung von Lehrer:Kind kann in ein neues Beziehungs-Systemelement umgewandelt werden: "Schüler", so daß sich zwei einfache Beziehungen ergeben; Lehrer:Schüler und Kind:Schüler. Der Lehrer hat viele Kinder als Schüler seiner Klasse und als Schüler hat das Kind mehrere Lehrer. Das neue Systemelement "Schüler" hat die Zuordnung "Unterrichtsgegenstand" und "Stunde", welche zur Beschreibung und Unterscheidung eines Beziehungs-Systemelementes von einem anderen dienen. Ein Kind kann den gleichen Lehrer für verschiedene Unterrichtsgegenstände haben.In the school example mentioned above, it was said that a teacher played the role of a "user" of a teacher / children group [ owns. To extend this example, let us note that in most schools the relationship between teacher and child is not a simple relationship (l: n), but rather a rather complex relationship (now), since the Children have different teachers for different subjects. This complex relationship of teacher: child can be in a new relationship system element can be converted: "pupil", so that two simple relationships result; Teacher pupil and child: pupil. The teacher has many children as students in his class, and as a student, the child has multiple teachers. The new system element "Student" has the assignment "Subject" and "Lesson", which are used to describe and differentiate serving one relationship system element from another. A child can use the same teacher for different ones Have class subjects.
Das Datenstruktur-Gruppenkonzept hat vier grundlegende Eigenschaften: The data structure group concept has four basic properties:
1. Eine Gruppe hat einen und nur einen einzigen Datensatz in der Benutzerrolle.1. A group has one and only one data record in the user role.
2. Eine Gruppe hat null, einen oder mehrere Datensätze in2. A group has zero, one or more records in
der Mitgliederrolle und die Anzahl verändert sich zeitlich.the membership role and the number changes over time.
3. Irgendein Datensatz kann der Benutzer von null, einer oder mehreren Gruppen gleichzeitig sein.3. Any record can be the user of zero, one or more groups at the same time.
4. Irgendein Datensatz kann ein Mitglied in null,einer oder mehreren Gruppen gleichzeitig sein und somit gleichzeitig durch verschiedene Benutzer-Datensätze benutzt werden. Jeder Datensatz kann nur einmal als ein Mitglied einer besonderen Gruppe auftreten. Die Mttgliederrollen überschneiden sich nicht mit den Benutzerrollen. 4. Any record can be a member in null, one or several groups at the same time and thus simultaneously through different user data sets to be used. Each record can only appear once as a member of a particular group. the Member roles do not overlap with user roles.
709810/0993709810/0993
Die Feststellung von "nächst" und "vorangehend" ist von Bedeutung für die Verfahrensalgorithmen, die der Problemlösung in einem Computer mit gespeichertemyzugrunde liegen. Zusätzlich zu der verfahrensmäßigen Beschränkung der Behandlung auf einen Datensatz zur gleichen Zeit ergeben sich wichtigere vereinfachende Konsequenzen für einen Algorithmus, wenn die Mitglieder-Datensätze innerhalb der Gruppe dem Algorithmus in einer vorbestimmten geordneten Reihenfolge der Datenwerte oder in einer geordneten Folge der zeitlichen Einfügung (FIFO, LIFO) angeboten werden können. Die Feststellungen von "zuerst" und "zuletzt" sind wesentlich für den Start und den Stop der iterativen Ausführung des Datenalgorithmus. Die Ordnung der Mitglieder in einer Gruppe ist somit eine Voraussetzung für eine rationelle Handhabung der Gruppe.The determination of "next" and "previous" is important for the procedural algorithms that are used to solve the problem reside in a computer with stored myzu. In addition to the procedural limitation of treatment to one data set at the same time there are more important simplifying consequences for an algorithm if the Member records within the group the algorithm in a predetermined ordered order of the data values or can be offered in an orderly sequence of temporal insertion (FIFO, LIFO). The statements of "first" and "last" are essential for starting and stopping the iterative execution of the data algorithm. The order of the Members in a group is therefore a prerequisite for efficient handling of the group.
Der Hauptbeweggrund für die Anordnung von Datensätzen in Gruppen innerhalb einer Datei ist in der Nachbildung von Gegebenheiten der natürlichen Umwelt zu sehen und in der Erleichterung des Zugriffs auf ausgewählte Datensätze innerhalb der Datei/ die irgendeine besondere Beziehung repräsentieren. Die Methoden zum Zugriff auf Gruppen bewegen sich teilweise zwischen den bekannten Zugriffsmethoden und ergänzen zum anderen diese bekannten Methoden. Diese Zugriffsmethoden sind in der nachstehenden Tabelle aufgelistet.The main motivation for arranging records in groups within a file is to simulate realities the natural environment and in facilitating access to selected records within the File / that represent some special relationship. The methods for accessing groups vary to some extent the known access methods and, on the other hand, complement these known methods. These access methods are in the below Table listed.
Tabelle I
Zugriffsmethoden Table I.
Access methods
Direkt-Zugriffsmethode Aufsuchung eines DatensatzesDirect access method Finding a data record
Datenschlüssel-Zugriffsmethode Aufsuchung eines Datensatzes Gruppenbenutzer-Zugriffsmethode Aufsuchung eines Datensatzes Gruppenmitglieds-Zugriffsmethode Iterative Benutzung; Aufsuchung eines jeden Mitgliedes einer GruppeData key access method Finding a data record Group user access method retrieval of a data set group member access method Iterative use; Prospecting of every member of a group
Sequenzielle Datei-Zugriffs- Iterative Benutzung; Aufsumethode x chung eines jeden DatensatzesSequential File Access Iterative Use; Aufsumethode x monitoring of each record
Die ersten vier Zugriffsmethoden v/erden in erster Linie bei Abwicklungs- und Suchverfahren benutzt, wo das Erfordernis besteht, den aufgezeichneten Status eines besonderen Systemelementes bzw. eine verwandte Gruppe von Systemelementen festzustellen oder wenn das Erfordernis besteht, den aufgezeichneten Status der Systemelemente auf den neuesten Stand zu bringen. Die sequenzielle Datei-Zugriffsmethode wird in erster Linie bei der Ergänzung von periodischen Stapeldateien benutzt. Es ist möglich, auf den gleichen Datensatz durch alle fünf Methoden Zugriff zu nehmen, falls die Gelegenheit dies erfordert. Entsprechend ist es möglich, diese Zugriffsmethoden in Kombination zu benutzen, um einen besonderen Effekt zu erzielen.The first four access methods are primarily used for Settlement and search procedures use, where required, the recorded status of a particular system element or a related group of system elements or, if there is a need, the recorded Bring the status of the system elements up to date. The sequential file access method is primarily used when adding periodic batch files. It is possible to access the same data set through all five methods To gain access if the opportunity so requires. It is accordingly possible to combine these access methods to use to achieve a special effect.
Greift man das vorangegangene Beispiel auf, so ist es möglich, daß der einem Lehrer zugeordnete Datensatz durch die Datenkennschlüssel-Zugriffsmethode wieder aufgefunden wird und daß sodann alle Datensätze hinsichtlich der Schüler durch die Gruppenmitglieds-Zugriffsmethode aufgefunden werden. Für jeden Schüler-Datensatz kann der Kinder-Datensatz mit der Gruppenbenutzer-Zugriffsmethode aufgefunden werden. Alternativ kann die Wiederauffindung der Daten mit dem Datenkennschlüssel-Zugriff auf den Kinder-Datensatz beginnen und sodann auf alle Datensätze hinsichtlich der Schüler und Lehrer Zugriff nehmen. Die grundlegenden Wiederauffindungsmöglichkeiten, die sich aus der Gruppe ableiten lassen, sind in der nachstehenden Tabelle angegeben.If the previous example is taken up, it is possible that the data record assigned to a teacher can be accessed using the data identification key access method is found again and that then all records relating to the students by the Group member access method. For each The student record can be the child record with the group user access method be found. Alternatively, the data can be retrieved with the data identification key access Start with the child record and then access all records relating to students and teachers. The basic recovery options that can be derived from the group are shown in the table below specified.
Tabelle II
Wiederauffindungsmöglichkeiten Table II
Recovery options
GegebenGiven
Benutzeruser
Benutzeruser
Zugriffsmethode GruppenmitgliedGroup member access method
GruppenmitgliedGroup member
FeststellungFinding
Erstes Mitglied oder Feststellung einer Leergruppe Erstes Mitglied oder Feststellung, daß außerhalb der Gruppe liegendFirst member or finding an empty group First member or finding, that lying outside the group
709810/0993709810/0993
Benutzer Gruppenmitglied Letztes Mitglied oderUser Group member Last member or
Feststellung einer Leergruppe Detection of an empty group
Irgendein Gruppenmitglied Nächstes Mitglied oderAny group member or next member
Mitglied Feststellung, daß letztesMember noting that last
Mitglied der GruppeMember of the group
Irgendein Gruppenmitglied Vorangegangenes MitgliedAny group member Previous member
Mitglied oder Feststellung, daßMember or finding that
erstes Mitglied der Gruppefirst member of the group
Irgendein Gruppenbenutzer Benutzer der Gruppe MitgliedAny group user User of the Member group
Es gibt eine Reihe von Basisprozedur-Operationen, welche hinsichtlich der Gruppen Anwendung finden. Diese sind komplementär zu den Basisprozedur-Operationen für die Datensätze und Felder, welche besser bekannt sind. Die Sammlung von Basisprozeduren (Hardware/Firmware-Befehle) kann in Operationen hinsichtlich Felder, Datensätze, Gruppen und Verfahrenslogiksteuerung unterteilt werden.There are a number of basic procedure operations which regarding of the groups apply. These are complementary to the basic procedure operations for the records and fields, which are better known. The collection of basic procedures (hardware / firmware commands) can be used in terms of operations Fields, records, groups and procedural logic control can be divided.
Die folgende Gruppe von Hardware/Firmware-Befehlen dient der Manipulation von Daten innerhalb von Feldern. Es sei angenommen, daß die das Feld beschreibende Information, z.B. die Größe, der Speicherplatz und der Aufzeichnungsmodus, die zur Ausführung einer Operation benötigt wird, als Teil von der Operation zugeordneten Datendescriptoren gegeben ist. Die in dieser Gruppe enthaltenen Operationen sind z.B.: verschieben, vergleichen, kontrollieren, addieren, subtrahieren, multiplizieren und dividieren.The following group of hardware / firmware commands is used to manipulate data within fields. Suppose that the information descriptive of the field, e.g. the size, the storage space and the recording mode, required for execution needed for an operation is given as part of data descriptors associated with the operation. The ones in this group The operations included are, for example: move, compare, check, add, subtract, multiply and to divide.
Die folgende Gruppe von Hardware/Firmware-Befehlen führt sowohl zu einem direkten, als auch zu einem seriellen Zugriff bei der Bearbeitung von Daten. Diese Befehle sind für die Bildung eines Datensatzes, seine nachfolgende Wiederauffindung,The following group of hardware / firmware commands performs both direct as well as serial access when processing data. These commands are for the Creation of a data set, its subsequent retrieval,
709810/0993709810/0993
seine Modifikation, seine überprüfung und seine Aufteilung vorgesehen. Die Firmware/Hardware-Befehle hinsichtlich des Datensatzes sind folgende: Bildung des Datensatzes, Zerstörung des Datensatzes, direktes Auffinden des Datensatzes, serielles Auffinden des Datensatzes und Test des Datensatztypes.its modification, its review and its division provided. The firmware / hardware commands with regard to the data record are as follows: creation of the data record, destruction of the Data record, direct location of the data record, serial retrieval of the data record and test of the data record type.
Die folgende Gruppe von Hardware/Firmware-Befehlen führt zu der Grundlage herkömmlicher Datenverarbeitung und zu der Bildung von Blöcken für weiterentwickelte Datenbank- und Nachrichtenverwaltungssysteme. Sie dienen der Bildung, dem Zugriff, der Handhabung und der überprüfung von Gruppen. Die Hardware/ Firmware-Befehle sind folgende: Einfügung eines Datensatzes, Entfernung eines Datensatzes, Auffindung eines relativen Datensatzes (erster, letzter, nächster, vorangehender usw.), Auffindung eines Benutzer-Datensatzes, Testen: ob Gruppe leer, Testen: ob Mitglied eingefügt, Auslösen Benutzer-Datensatz und Auslösen Mitglied-Datensatz.The following group of hardware / firmware instructions lead to the foundation of conventional data processing and formation of blocks for advanced database and message management systems. They are used for education, access, handling and reviewing groups. The hardware / firmware commands are as follows: insert a data record, Removal of a data set, finding a relative data set (first, last, next, previous, etc.), finding of a user data record, testing: whether group is empty, testing: whether member inserted, triggering user data record and Trigger member record.
Die folgende Gruppe der Basisregister-Hardware/Firmware-Befehle ermöglicht die Feststellung und Modifikation des gerade ablaufenden Prozeßzustandes bezogen auf den Datenbank-Zugriff. Die Hardware-Befehle sind folgende: Entladen der Basisregister, Nullstellen der Basisregister und die zuvor erwähnten "Auffind"· Befehle, welche ein~Basisregister laden.The following group of base register hardware / firmware instructions enables the determination and modification of the one currently in progress Process status related to the database access. The hardware commands are as follows: unload the base register, Zeroing the base register and the aforementioned "find" · Instructions that load a ~ base register.
Ebensogut wie die Gruppen herangezogen werden können, um Datensätze in einer Anwendungs-Datenbank zu organisieren und den Zugriff zu ihnen zu gestatten, können sie auch in einer großen Vielfalt von System-Softwarebereichen verwendet werden. Nachstehend ist eine Liste von Bereichen der Systemsoftware tabellarisch aufgeführt, wobei für jeden Bereich des Gruppenkonzeptes einige Anwendungsfälle aufgezählt sind. Diese Liste stellt ηυς ein Beispiel für einige augenscheinliche Anwendungsfälle dar und erhebt nicht den Anspruch auf Vollständigkeit.Just as well as the groups can be used to create records They can also be organized in an application database and given access to them in a A wide variety of system software areas can be used. Below is a list of areas of the system software listed in a table, with some application cases listed for each area of the group concept. This list ηυς provides an example of some obvious use cases and does not claim to be complete.
70981Θ/099370981Θ / 0993
1. Datenbanksysteme1. Database systems
a. Indexkonstruktion (sequenzieller Index und wahlfreier Index)a. Index construction (sequential index and optional index)
b. Datenbeschreibungsstrukturenb. Data description structures
c. Gemeinsam benutzte SteuerIlstenc. Shared tax lists
d. Prozeßabhängige Strukturend. Process-dependent structures
2. Date!systeme2. Date! Systems
a. Katalogkonstruktiona. Catalog construction
b. Zugriffsrecht-Steuerungb. Access right control
3. Nachrichtensysteme3. Message systems
a. Bildung von Briefkastenindizesa. Formation of mailbox indices
b. Warteschlangennachrichten ·. b. Queue messages ·.
c. Zugriff auf Mehrelementnachrichtenc. Access to multi-element messages
4. Programmiersysteme4. Programming systems
a. Steuerung von Programmbibliothekena. Control of program libraries
b. Textausgabeb. Text output
c. Programmsteuerstrukturc. Program control structure
d. Symbolreferenz- und Symboldefinitions-Strukturen für das Zusammenfassend. Symbol reference and symbol definition structures for grouping
e. Zwischenprogrammform für Kompilierunge. Intermediate program form for compilation
5. Betriebssysteme5. Operating Systems
a. Warteschlangen von Jobsa. Queues of jobs
b. Systemmittelzuordnungstabellenb. System resource allocation tables
c. Feststellung eines endgültigen Stillstandesc. Determination of a final standstill
d. Warteschlangen von Prozessen, die auf Ereignisse warten d. Queues of processes waiting for events
( Eingang/Ausgang-Vervollständigung, Zeitgeber )(Input / output completion, timer)
e. Verteiler-Warteschlangene. Distribution queues
t.t.
709810/0993709810/0993
I. Allgemeine ErläuterungI. General explanation
Die Erfindung arbeitet mit einer Hardware-Anlage, welche durch ein Hardware/Firinware/Software-Betriebssystem koordiniert wird. In Figur 1 sind das Prozessor-Subsystem 101, das Speicher-Subsystem 102 und ein oder mehrere bis zu 32 Peripherie-Subsysteme 103 wiedergegeben. Das Prozessor-Subsystem enthalt eine Zentraleinheit (CPU) 104 und bis zu vier Ein-/Ausgabe-Steuereinheiten (IOC) 105. Jedes periphere Subsystem besteht aus einer Peripherie-Steuereinheit (PCU) 106, einer Anzahl von Geräteadaptern (DA) 107, und bis zu 256 peripheren Ein-/Ausgabe-Geräten 108. Das Speicher-Subsystem 102 besteht aus einem bis vier Halbleiter-Speichermodulen mit je 32 bis 512 Kilobyte Speicherkapazität. Im Prozessor-Subsystem 101 führt die Zentraleinheit 104 die grundlegenden Verarbeitungsoperationen für das System durch und arbeitet mit dem Speicher 102 zusammen. Die Ein/Ausgabe-Steuerung 105 steuert den gesamten Informationsaustausch zwischen dem Speicher-Subsystem 102 und den Peripheriegeräten 106.The invention works with a hardware system which is coordinated by a hardware / firmware / software operating system. In FIG. 1, the processor subsystem 101, the memory subsystem 102 and one or more up to 32 peripheral subsystems 103 are shown. The processor subsystem includes a central processing unit (CPU) 104 and up to four input / output control units (IOC) 105. Each peripheral subsystem consists of a peripheral control unit (PCU) 106, a number of device adapters (DA) 107, and up to 256 peripheral input / output devices 108. The memory subsystem 102 consists of one to four semiconductor memory modules, each with a memory capacity of 32 to 512 kilobytes. In the processor subsystem 101, the central processing unit 104 performs the basic processing operations for the system and works in conjunction with the memory 102. The I / O controller 105 controls the entire exchange of information between the storage subsystem 102 and the peripheral devices 106.
709810/0993709810/0993
Die Zentraleinheit umfaßt einen Hauptspeichersynchronisierer 109,
einen Pufferspeicher 110 sowie mehrere die Recheneinheit 111 bildende
Elemente und wahlweise Emulatoren 112. Der Hauptspeichersynchronisierer
109 verhindert Schwierigkeiten bei der Benutzung des Hauptspeichers durch die Recheneinheiten 111, dem Pufferspeicher
110 und die Ein/Ausgabe-Steuerung 109. Die Synchronisierung
erfolgt aufgrund von Prioritäten:Die Ein/Ausgabe-Steuerung hat die höchste Priorität gefolgt von Schreibvorgängen im Speicher
(ausgelöst durch die Recheneinheit) und dann gefolgt von
Leseoperationen im Speicher (übergabe in den Pufferspeicher). Die Zentraleinheit enthält ferner das Adressensteuerwerk (ACU) 131,
welches die Hauptspeicheradressierung steuert, sowie den Assoziativspeicher (AS) 132, welcher zur Speicherung zuletzt im Hauptspeicher
benutzter· Adressen dient. Der Pufferspeicher 110 ist ein
reiner Hochgeschwindigkeits-Pufferspeicher, welcher einen ausgewählten
Dereich des Hauptspeichers wiedergibt und mit der Recheneinheit im Austausch steht, um die mittlere Speicherzugriffszeit
zu verringern. Bei jedem Lesevorgang im Speicher erfolgt ein Zugriff vom Pufferspeicher und zum Hauptspeicher. Wenn sich die
abzurufende Information bereits im Pufferspeicher befindet, wird der Lesevorgang im Hauptspeicher beendet und die Information aus
dem Pufferspeicher abgerufen. Andernfalls wird der Hauptspeicher 102 ausgelesen. Jedesmal wenn dies erfolgt, ruft die Zentraleinheit
104 32 Bytes ab, welche die gewünschte Information enthalten. Diese bleibt für eine zukünftige Speicherbezugnahme im Pufferspeicher.
Da dieser für Software durchlässig ist, kann das
den Rechner^ steuernde Programm zu einer gegebenen Zeit nicht feststellen,
ob die von ihm verarbeitete Information vom Pufferspeicher oder vom Hauptspeicher entnommen wurde.The central unit comprises a main memory synchronizer 109, a buffer memory 110 and several elements forming the arithmetic unit 111 and optionally emulators 112. The main memory synchronizer 109 prevents difficulties in the use of the main memory by the arithmetic units 111, the buffer memory 110 and the input / output controller 109 Synchronization takes place on the basis of priorities: The input / output control has the highest priority, followed by write operations in the memory (triggered by the processing unit) and then followed by
Read operations in the memory (transfer to the buffer memory). The central unit also contains the address control unit (ACU) 131,
which controls the addressing of the main memory, as well as the associative memory (AS) 132, which is used to store the addresses last used in the main memory. The buffer memory 110 is a pure high-speed buffer memory which reproduces a selected area of the main memory and is in exchange with the arithmetic unit in order to reduce the average memory access time. Each time the memory is read, the buffer memory and the main memory are accessed. If the
If the information to be retrieved is already in the buffer memory, the reading process in the main memory is terminated and the information is retrieved from the buffer memory. Otherwise the main memory 102 is read out. Each time this occurs, the central processing unit 104 retrieves 32 bytes containing the desired information. This remains in the buffer memory for future memory reference. Since this is permeable to software, this can
the program controlling the computer does not determine at a given time whether the information processed by it was taken from the buffer memory or from the main memory.
709810/0993709810/0993
Die Recheneinheit 111 erledigt alle Datenverarbeitung und Adressenerzeugung innerhalb der Zentraleinheit. Ein typischer Steuer- j speicher 130 innerhalb der Recheneinheit 111 (vergleiche das Buch "Microprogramming: Principles and Practices von Samir S. Husson, Prenticse Hall, Inc.) enthält Firmware, die das System anlaufen läßt, die Zentraleinheit 104 und die Ein/Ausgabe-Steuerung 105 steuert und eine nicht dargestellte Befehlsgruppe dekodiert. Wahlweise kann der Steuerspeicher wissenschaftliche Befehle, Testroutinen, Emulationspakete oder Spezialzweckmerkmale liefern, welche die Möglichkeiten des Prozessor-Subsystems erweitern. Als weitere Option ermöglicht die Zentraleinheit die Emulation von anderen Systemen. Die Emulatoren 112 sind Teile von Firmware oder Software und in manchen Fällen Hardware.The computing unit 111 handles all data processing and address generation within the central unit. A typical control memory 130 within the arithmetic unit 111 (cf. Book "Microprogramming: Principles and Practices by Samir S. Husson, Prenticse Hall, Inc.) contains firmware that the system starts the central processing unit 104 and the input / output control 105 controls and an unillustrated command group decoded. Optionally, the control store can be scientific Deliver commands, test routines, emulation packages or special purpose features that expand the capabilities of the processor subsystem. As a further option, the central unit enables the emulation of other systems. The emulators 112 are part of FIG Firmware or software and in some cases hardware.
Die Ein/Ausgabe-Steuereinheit 105 des Prozessor-Subsystems bildet den Datenweg zwischen jeglichem peripheren Subsystem 103 und dem Speichersubsystem 102. Dieser Weg ermöglichst die Ingangsetzung peripherer Befehle und steuert die sich hieraus ergebende Datenübertragung. Eine Ein/Ausgabe-Steuereinheit kann üblicherweise bis zu 32 im einzelnen nicht dargestellte Kanalsteuereinheiten bedienen. The input / output control unit 105 of the processor subsystem forms the data path between any peripheral subsystem 103 and the Storage subsystem 102. This path enables peripheral commands to be initiated and controls the resulting data transfer. An input / output control unit can usually operate up to 32 channel control units, not shown in detail.
In einem Peripherie-Subsystem 103 gemäß Figur l ist die Peripherie-Steuereinheit (PCU) 106 ein selbständiger Mikroprogramm-Prozessor, welcher die Belastung der Zentraleinheit 104 dadurch verringert, daß er während der Ein/Ausgabe-Operationen, die Ein/Ausgabe-Geräte 108 steuert. Die Peripherie-Steuereinheit 106 bewerkstelligt dies durch Ausführung von Befehlen in einem Kanalprogramm. Dieses Programm resultiert in arithmetischen, logischen, Ubertragungs-, Verschiebe-^, und Verzweigungsoperationen, welche in der Peripherie-Steuereinheit durchgeführt werden. Es gibt verschiedene Arten von Peripherie-Steucreinheiten entsprechend der Art von Geräten, dio gesteuert werden: Zum Beispiel Datensatzeinhoit, Massenspeicher (Platte), Magnetband, Informationsübertragung usw.The peripheral control unit is in a peripheral subsystem 103 according to FIG (PCU) 106 an independent microprogram processor, which reduces the load on the central processing unit 104, that it controls the input / output devices 108 during the input / output operations. The peripheral control unit 106 accomplishes this by executing commands in a channel program. This program results in arithmetic, logical, transmission, Shift ^, and branch operations which are carried out in the peripheral control unit be performed. There are various types of peripheral control units according to the types of devices that are dio can be controlled: For example, data record unit, mass storage (disk), magnetic tape, information transfer, etc.
709810/0993709810/0993
Der Geräteadaptor 107 liegt zwischen jeder Peripherie-Steuereinheit und den Geräten, die sie steuert. Jeder Adaptor enthält vorgegebene Firmware und logische Schaltkreise, die zur Durchführung der Nachrichtenverbindung mit einem bestimmten Gerät erforderlich sind. Abhängig vom Typ steuert ein Geräteadaptor 107 ein oder mehrere Geräte.The device adapter 107 lies between each peripheral control unit and the devices it controls. Each adapter contains predefined Firmware and logic circuitry required to establish communications with a particular device are. Depending on the type, a device adapter 107 controls one or more devices.
Die Hauptfunktionen des Peripherie-Subsystems 103 sind folgende:The main functions of the peripheral subsystem 103 are as follows:
1. Umwandlung von CPU-Befehlen in eine Folge von für die ent- j sprechenden Peripheriegeräte annehmbaren Kommandos. !1. Conversion of CPU instructions into a sequence of for the ent- j speaking peripherals acceptable commands. !
2. Verdichten und expandieren von Daten in die von der Zentral-; einheit oder geeigneten Peripheriegeräten erforderliche ( Form. !2. Compression and expansion of data in those from the central; unit or suitable peripheral devices ( form.!
3., Informieren der Zentraleinheit über den Zustand des Subsystems und der unter seiner Steuerung befindlichen Ge- ; rate. ■ !3. Informing the central unit of the status of the subsystem and the business under its control; rate. ■!
4. Unabhängige Einleitung und Durchführung von Fehler-und ; Wiederauffindungs-Prozeduren.4. Independent initiation and execution of errors and; Recovery procedures.
5. Ermöglichung von On-line-Diagosen ohne Beeinträchtigung5. Enabling on-line diagnostics without interference
der Möglichkeit der gemeinsamen Gerätebenutzung durch ! den zugeordneten Peripherie-Prozessor. ιthe possibility of sharing devices through! the assigned peripheral processor. ι
Eine Peripherie-Steuereinheit beseitigt für den Hauptspeicher : Schwierigkeiten zwischen den ihm zugeordneten Geräten, jedoch löst < die Ein/Ausgabe-Steuerung Schwierigkeiten zwischen den Peripherie-Steuereinheiten. A peripheral control unit eliminates the main memory: Difficulties between the devices assigned to him, however solves < the input / output control difficulties between the peripheral control units.
Jeder Speichermodul 1-4 ist 4 oder 8 Bytes groß. Die Anzahl der Modulen, ihr Umfang und der Datenverlauf kann sich entsprechend dem Umfang des Rechners ändern. Die "Speichermodule sind vierfach in solcher l£eise durchschossen, daß vier Module der Reihe nach zugängig sind (Modul 1 enthält die ersten 8 Bytes, Modul 2 enthält die zweiten 0 Bytes usw). Das Durchschiessen verringert die Anzahl von Zugriffskonflikten zum Hauptspeicher und verringert damit auch die mittlere Speicherzugriffszeit.. Der Speicher kann im Fall von Fehlern umgeordnet werden, d.h. Speicherblöcke innerhalb eines Moduls können ohne Zerstörung der benachbarten AdrossiorungEach memory module 1-4 is 4 or 8 bytes in size. The number of modules, their scope and the data flow can vary accordingly change the size of the calculator. The memory modules are pierced fourfold in such a way that four modules follow one another are accessible (module 1 contains the first 8 bytes, module 2 contains the second 0 bytes, etc.). The shooting through reduces the Number of access conflicts to the main memory and thus reduced also the mean memory access time. The memory can be in In the event of errors, the memory blocks within a module can be rearranged without destroying the neighboring
709810/0993709810/0993
entfernt werden. Der Hauptspeicher 102 besteht aus einem kapazitiven Speichermedium in Form von Metalloxyd-Halbleiterchips (MOS), Dieses Medium arbeitet nach dem Wiederauffrischungsprinzip zur Aufrechterhaltung der Information. Jeder Speicherplatz wird typischerweise mindestens einmal alle 2 ms wieder aufgefrischt. Die Konstruktion gewährleistet, daß wenig Konflikte zwischen der Wiederauf fr ischzeitfolge und dem Speicherzugriff entstehen. Im Falle eines Konflikts hat die Wiederauffrischung Vorrang.removed. The main memory 102 consists of a capacitive one Storage medium in the form of metal oxide semiconductor chips (MOS), this medium works according to the refresh principle Maintaining information. Each space is typically refreshed at least once every 2 ms. The construction ensures that there is little conflict between the recovery for the timeline and memory access. In the event of In the event of a conflict, refreshment has priority.
Ein Bereich am Anfang des Hauptspeichers ist für Hardware und Firmware reserviert. Die obere Grenze dieses Dereichs ist durch den Inhalt eines Grenzadressenregisters (BAR) bestimmt, welches für die System-Software sichtbar ist. Der Inhalt des Grenzadressenregisters wird bei der Ingangsetzung des Systems festgelegt. Der Speicherbereich unterhalb der im Grenzadressenregister festgelegten Adresse kann Ein/Ausgabe-Steuertabellen enthalten, die die Konfiguration des peripheren Subsystems, Firmware zur Steuerung der Zentraleinheit oder Mikroprogramme und Tabellen zur Emulation festlegen. Der Umfang des Bereichs unterhalb der genannten Adresse hängt von der Systemkonfiguration ab. Ob Mikroprogramme im Hauptspeicher oder im Steuerspeicher liegen, hängt ebenfalls vom Systemaufbau und der Anwendung des Systems ab.An area at the beginning of the main memory is reserved for hardware and firmware. The upper limit of this range is through determines the content of a boundary address register (BAR) which is visible to the system software. The content of the border address register is determined when the system is started. The memory area below that in the limit address register specified address can contain input / output control tables that configure the peripheral subsystem, firmware to control the central processing unit or define microprograms and tables for emulation. The scope of the area below that mentioned Address depends on the system configuration. Whether microprograms are in the main memory or in the control memory depends also depends on the system structure and the application of the system.
2. Grundlegende Maschinenstrukturon 2. Basic machine structure on
In dieser Hardware werden typischerweise drei grundlegende Daten-Strukturen verwendet: Datenformate, für Software erkennbare Register und Befehlsformate.There are typically three basic data structures in this hardware used: data formats, registers and command formats that can be recognized by software.
A. DatenformateA. Data formats
Die Information wird zwischen dem Speicher und der Zentraleinheit in Vielfachen von 8 Parallelbits übertragen. Jede 8 Bit-Informationseinheit wird ein Byte genannt. Paritäts- oder Fehlorkorrokturdaten werden ebenfalls mit den Daten übertrafen, können jedoch von der software nicht beeinflußt werden. In der nachfolgenden Beschreibung schließt dor Ausdruck Daten die sichThe information is between the memory and the central processing unit transmitted in multiples of 8 parallel bits. Every 8 bit information unit is called a byte. Parity or error correction data are also exceeded with the data, but cannot be influenced by the software. In the following Description closes the expression data which are
709810/0993709810/0993
,- 24 - f ·, - 24 - f
zugehörigen Paritäts- und Fehlerkorrekturdaten aus.associated parity and error correction data.
B. Bytes B. Byte s
Die Bits innerhalb eines Bytes werden von links nach rechts mit O bis 7 numeriert. Die Bytes werden getrennt oder in Gruppen verarbeitet. Zwei Bytes bilden ein Halbwort, vier Bytes ein Wort, acht Bytes ein Doppelwort und 16 Bytes ein Vierfachwort. Diese bilden die Grundformate für alle Daten einschließlich der Befehle.The bits within a byte are numbered from 0 to 7 from left to right. The bytes are separated or in groups processed. Two bytes form a half word, four bytes form a word, eight bytes form a double word and 16 bytes form a quadruple word. These form the basic formats for all data including commands.
Alle Daten liegen in binärer Form vorj aber können als binär, dezimal oder alphanumerisch erklärt werden. Datenbits werden in Vierergruppen als binär kodierte Dezimaldaten interpretiert; in Achtergruppen als alphanumerisch oder 16 bis 64 als Binärziffern. Die letzteren werden als Vorzeichen behaftet, Fest-, oder Fließzahlen in Binärdarstellung angesehen. Jeder Anzahl auseinanderfolgender Bits bis zu einem Doppelwort kann auch als Bitfolge (string) verarbeitet werden. Die Gruppe alphnumerischer Zeichen wird in EBCDIC dargestellt. Als alternativer Auswahlkode dient ASCII.All data are in binary form, but can be binary or decimal or can be explained alphanumerically. Data bits are interpreted as binary coded decimal data in groups of four; in Groups of eight as alphanumeric or 16 to 64 as binary digits. The latter are viewed as having signs, fixed or floating numbers in binary representation. Any number of consecutive Bits up to a double word can also be processed as a bit sequence (string). The group of alphanumeric characters is represented in EBCDIC. ASCII is used as an alternative selection code.
Die Byte-Speicherstellen im Hauptspeicher sind mit Null beginnend fortlaufend numeriert. Jede Nummer stellt die Adresse des betreffenden Bytes dar. Eine Gruppe aufeinanderfolgender Bytes ist Halbwort-, Wort-, Doppelwort- oder Vierfachwort-zugeordnet, falls die Adresse des linken Bytes in einer Gruppe ein Vielfaches von 2, 4, 8 oder 16 ist. Sobald ein Halbwort, Wort, Doppelwort oder Viorfachwort derart angeordnet ist, kann die Einheit von dieser Adresse abgerufen werden. Der Speicherplatz von Daten im Hauptspeicher wird durch einen Datendescriptor bestimmt, welcher in direkt während der Adressenentwicklung entsteht. The byte storage locations in the main memory are numbered consecutively starting with zero. Each number represents the address of the relevant byte. A group of consecutive bytes is assigned halfword, word, doubleword or quadruple word if the address of the left byte in a group is a multiple of 2, 4, 8 or 16. As soon as a half word, word, double word or quadruple word is arranged in this way, the unit can be called up from this address. The storage space of data in the main memory is determined by a data descriptor, which is created directly during address development.
709810/0993709810/0993
Es befinden sich 33 für den Benutzer erkennbare Register in der Zentraleinheit 104 gemäß Figur 2a, deren Inhalt zusammen den Zustand der Zentraleinheit definiert. Es gibt vier Typen:There are 33 registers recognizable to the user in the central unit 104 according to FIG. 2a, the contents of which together indicate the status defined by the central unit. There are four types:
1. Generalregister1. General register
2. Basisregister2. Base register
3. wissenschaftliche Register (als Option)3rd scientific register (as an option)
4. verschiedene Register4. various registers
Die Generalregister (GR) 201 in Figur 2b werden für die Bearbeitung von Fest-Binärzahlen und Bitzeichenfolgen benutzt. Es gibt typischer Weise sechzehn 32 Bit Generalregister in der Zentraleinheit 104, welche mit GRO bis GR15 bezeichnet sind. Die Generalregister GR8 bis GR15 sind auch als Indexregister verwendbar. In diesem Fall werden sie später mit XO bis X7 bezeichnet. Das Indizieren erfolgt durch Benutzung des in einem Register enthaltenen ganzzahligen 32 Bit .Zweier-Komplements.The general registers (GR) 201 in Figure 2b are used for processing used by fixed binary numbers and bit strings. There are typically sixteen 32 bit general registers in the central unit 104, which are designated by GRO to GR15. The general registers GR8 to GR15 can also be used as index registers. In this case, they will later be referred to as XO to X7. Indexing is done using what is contained in a register 32-bit integer. Two's complements.
Die Basisregister (BR) haben dasselbe Format als Befehlszähler (IC) und als Stapelsp'eicherregister 202 bis 203. Die Basisregister werden während der Adressenberechnung zur Bestimmung eines Teils des Speichers benutzt. Es sind üblicherweise acht 32 Bit Basisregister mit der Bezeichnung BRO bis BR7. The base registers (BR) have the same format as instruction counters (IC) and as stack memory registers 202 to 203. The base registers are used during the address calculation to determine part of the memory. There are usually eight 32-bit base registers named BRO to BR7.
H. Wissenschaftliche Register (Gleitkomma-Register) Wissenschaftliche Register (SR) stellen eine als Option wählbare Ausrüstung für die Berechnung mit Fließ-Binärzahlen dar. üblicherweise sind vier wissenschaftliche Register vom 8 Byte-Typ vorhanden, dia mit SRO bis SR3 bezeichnet werden. Die wissenschaftlichen Register haben das Format 204 bis 205 in Figur 2b. H. Scientific Registers (Floating Point Registers) Scientific Registers (SR) are optional equipment for calculating with floating binary numbers. Usually there are four scientific registers of 8 byte type, designated SRO to SR3. The scientific registers have the format 204 to 205 in Figure 2b.
7 0'9 810/09937 0'9 810/0993
Es gibt fünf andere Register, nämlich:There are five other registers, namely:
Befehlszählwerk mit dem Format 202 bis 203; Statusregister mit dem Format 207;Command counter with the format 202 to 203; Status register with the format 207;
Stapelspeicherregister genannt T-Register; Grenzadressenregister mit dem Format 202 bis 203 und Hardware-Steuermaskenregister mit dem Format 208. Stack registers called T registers; Boundary address registers with the format 202 to 203 and hardware control mask registers with the format 208.
Das Befehlszählwerk (IC) ist ein 32 Bit-Register, welches die Adressen der auszuführenden Befehle enthält. Das Statusregister (STR) 207 ist ein 8 Bit-Register, welches die Tatsachen über die gegenwärtig ablaufende Prozedur aufnimmt, beispielsweise ob durch die jüngste Operation eine Bereichsunterschreitung erfolgt ist. Bei dem als T-Register bekannten Stapelspeicherregister handelt es sich um ein 32 Bit-Register, welches die Hinweisadressen zur Spitze eines der gegenwärtig aktiven Prozedur zugeordneten abzubauenden Speicherstapels enthält. Der Stapelspeicher liefert den Arbeitsraum sowie einen' Mechanismus zur Sicherstellung örtlicher Variablen und zur Bereitstellung von Prozedur-Eingangsstellen und Rückkehrinformation. Das Grenzadressenregister (BAR) 206 ist ein 28 Bit-Register, daß die für die Software zugängige niedrigste absolute Hauptspeicheradresse angibt. Dieses Register wird während der Ingangsetzung des Systems geladen und kann von der Software nur einmal gelesen werden. Das Hardware-Steuermaskenregister 208 ist ein 8 Bit-Register, daß die Maschinenzustandsinformation aufnimmt .The command counter (IC) is a 32-bit register which contains the addresses of the commands to be executed. The status register (STR) 207 is an 8-bit register which stores the facts about the currently running procedure, for example whether the most recent operation has undercut the range. The stack register, known as the T register, is a 32-bit register that contains the pointer to the top of a memory stack to be torn down that is assigned to the currently active procedure. The stack memory provides the work space as well as a mechanism for ensuring local variables and for providing procedure entry points and return information. The Boundary Address Register (BAR) 206 is a 28 bit register that indicates the lowest absolute main memory address accessible to the software. This register is loaded when the system is started up and can only be read once by the software. The hardware control mask register 208 is an 8 bit register that holds machine status information.
J. BefehlsformateJ. Command formats
Es gibt etwa 200 Befehle, obwohl auch mehr oder weniger benutzt werden können. Jeder Befehl hat eine von vier verschiedenen Längen aber hat immer eine geradzahlige Anzahl von Bytes. Befehle werden in aufeinanderfolgenden Speicherplätzen abgelegt. Die Adresse des am weitesten links stehenden Bytes ist ein Vielfaches von 2 und bildet die Adresse des Befehls. Die acht ersten Bits (und in There are about 200 commands, although more or less can be used as well. Each command has one of four different lengths but always has an even number of bytes. Commands are stored in consecutive memory locations. The address of the leftmost byte is a multiple of 2 and forms the address of the command. The first eight bits (and in
7 0^9 810/09937 0 ^ 9 810/0993
manchen Fällen die Bits 8 bis 11 oder 12 bis 15) eines Befehls stellen den Operationskode dar, während die restlichen Bits einem oder mehreren Operanden entsprechen. Ein Operand kann ein Registerbezeichner, ein Verschiebungsbezeichner, eine Adressilbe (logische Adresse), ein Literalwert oder einen unmittelbaren Literalwert darstellen. Typ und Anzahl der Operanden sind durch das Befehlsformat bestimmt.in some cases bits 8 to 11 or 12 to 15) of a command represent the opcode, while the remaining bits correspond to one or more operands. An operand can be a register identifier, a displacement identifier, an address syllable (logical address), a literal value or an immediate Represent literal value. The type and number of operands are determined by the command format.
3. Systemorganisation3. System organization
A. Jobschritt und Task (Aufgabe)A. Job step and task
Die vom Rechnersystem auszuführende Arbeit wird extern mit Hilfe der Jobsteuersprache durch eine Reihe von Jobschritten bestimmt. Ein Jobschritt ist eine Arbeitseinheit, der die Hardware-Systemelemente zugeordnet werden. Typischerweise besteht ein Jobschritt aus verschiedenen Tasks. Ein Task ist die kleinste Einheit der vom Benutzer definierten Arbeit und besteht aus einem Fluß von Informationen, der ohne Parallelbetrieb verarbeitet wird.The work to be carried out by the computer system is determined externally with the aid of the job control language through a series of job steps. A job step is a unit of work that comprises the hardware system elements be assigned. A job step typically consists of different tasks. A task is the smallest unit of the User-defined work and consists of a flow of information that is processed without parallel operation.
B. Der Prozeß j Die für den Benutzer erkennbaren Konzepte von Tasks und Jobschrit- ' ten werden in der Hardware durch einen Prozeß bzw. Prozeßgruppen dargestellt. Ein Prozeß ist als eine geordnete Folge von Befehlen definiert, welche asynchron durch die Zentraleinheit ausgeführt werden können, d.h. mehrere Prozesse können aktiv sein und Syntemelemente gleichzeitig benutzen. Jedoch läuft zu jeder Zeit jeweils nur ein Prozeß. Eine Prozeßgruppe ist eine miteinander in Beziehung stehende Gruppe von Prozessen, welche zur Ausführung eines Jobschrittes erforderlich ist. B. The process The concepts of tasks and job steps that are recognizable to the user are represented in the hardware by a process or process groups. A process is defined as an ordered sequence of commands which can be executed asynchronously by the central processing unit, ie several processes can be active and use synthetic elements at the same time. However, only one process is running at a time. A process group is a related group of processes required to execute a job step.
Da Prozess&.Ldie Steuerung durch die Zentraleinheit während ihrer Ausführung an verschiedenen Punkton aufgeben können, wird im Hauptspeicher ein Speicherbereich für den Prozeß zur Sicherung des Zustande der Zentraleinheit zugängig gemacht. Diese Zustande-Since process &. L can relinquish control by the central unit during its execution at various points, a memory area is made accessible in the main memory for the process for saving the state of the central unit. These conditions-
709810/099 3709810/099 3
--2Qt « --2Qt «
information wird zur Voreinstellung der Zentraleinheit benutzt, bevor ein Prozeß erneut die Steuerung der Zentraleinheit übernimmt. Diese Speichereinheit wird Prozeßsteuerblock (PCB) 400 (siehe Figur 4) genannt. Die Daten im Prozeßsteuerblock enthalten die Adressen von dem Prozeß zugeordneten Speicherbereicher<Adressenraum) , den Inhalt aller zugehöriger Register und den Zustand des Prozesses. Somit dient der Prozeßsteuerblock als zeitweiliger Speicherbereich für die zum Ingangsetzen oder wieder Ingangsetzen eines Prozesses ohne Informationsverlust erforderlichen Informationen. Jeder Prozeßsteuerblock ist für die Hardware erkennbar und kann vom Betriebssystem über eine Gruppe von Hardwaretabellen, welche während der Systemvorbereitung entwickelt und während des Betriebes modifiziert werden, adressiert werden (Figur 5).information is used to preset the central unit before a process takes over control of the central unit again. This storage unit is called a process control block (PCB) 400 (see Figure 4). Contains the data in the process control block the addresses of the memory area assigned to the process <address space) , the content of all associated registers and the status of the process. Thus, the process control block serves as a temporary one Storage area for the information required to start or restart a process without loss of information. Each process control block can be recognized by the hardware and can be defined by the operating system via a group of hardware tables, which are developed during system preparation and modified during operation are addressed (Figure 5).
Es gibt einen absoluten Hauptspeicherbereich, der als Systembasis bezeichnet wird (Figuren 5 und 6). Dieser Bereich wird durch Firmware entwickelt und ist über das Basisadressregister (BAR) erreichbar, aus welchem gelesen aber in das nicht eingeschrieben werden kann. Die Systembasis 502 enthält eine Anzahl von Systemattributen, welche eine Jobschrittnummer unJeine Prozeßgruppennummer (J, P) für den Laufenden Prozeß umfassen. Ein anderes Attribut in der Systembasis ist eine Hinweisadresse auf eine durch Hardware definierte Datenstruktur, die als J-Tabelle 503 bekannt ist. Diese Tabelle enthält eine Eingangsstelle für jeden gegenwärtig im System befindlichen Jobschritt. Jede Eingangsstelle in der J-Tabelle 503 zeigt auf eine zugehörige P-Tabelle 504 hin, die ebenfalls eine durch Hardware definierte Datenstruktur dar-.stellt. Diese Tabelle bestimmt eine Prozeßgruppe und enthält eine Eingangsstelle für jeden Prozeß in der Prozeßgruppe. Jede P-Tabellen-Eingangsstelle zeigt auf einen Prozeßsteuerblock 400.There is an absolute main memory area that serves as the system base is designated (Figures 5 and 6). This area is developed by firmware and is accessible via the base address register (BAR) accessible from which read but cannot be written into. The system base 502 contains a number of system attributes, which is a job step number and a process group number Include (J, P) for the current process. Another attribute in the system base is a pointer to a through Hardware defined data structure known as J-table 503 is. This table contains an entry point for each job step currently in the system. Every entry point in The J table 503 points to an associated P table 504, which likewise represents a data structure defined by hardware. This table defines a process group and contains an entry point for each process in the process group. Every P-table entry point points to a process control block 400.
In Figur 5...1iefert die durch die J-Zahl über den arithmetischen Teil.506 der Rechnereinheit 111 (siehe Figur 1 ) indizierte Hinweisadresse Zugriff zu einer J-Tabelleneingangsstelle 503. Diese wiederum enthält eine P-Tabellenhinweisadresse, die wenn sieIn Figure 5 ... 1, the J number over the arithmetic Part 506 of the computer unit 111 (see Figure 1) indexed reference address Access to a J table entry point 503. This in turn contains a P-table pointer, which if they
709810/0993709810/0993
durch die P-Zahl über die Recheneinheit 506 indiziert wird, Zugriff zu einer P-Tabelleneingangsstelle 504 liefert. Letztere enthält eine Hinweisadresse 507 auf den Prozeßsteuerblock des ablaufenden Prozesses. Somit hat das Betriebssystem Zugriff zum aktiven Prozeßsteuerblock und benutzt hierzu die Inhalte der Grenzadressenregister 501 und kann jeden anderen Prozeßsteuerblock erreichen, der durch seinen zugeordneten logischen Namen (JP) gegeben ist.is indexed by the P number via the arithmetic unit 506, access to a P-table entry point 504. Latter contains a pointer address 507 to the process control block of the current process. The operating system thus has access to the active process control block and uses the contents of the limit address register 501 for this purpose and can use any other process control block which is given by its assigned logical name (JP).
In einer Multiprozeßanlage befinden sich zu einer gegebenen Zeit viele Prozesse im Speicher. Diese Prozesse haben unterschiedlichen Umfang und unterschiedliche Anforderungen an den Speicher, wodurch ein SpeicherZuordnungsproblem entsteht. Die Hardware in Zusammenarbeit mit dem nicht dargestellten Betriebssystem löst dieses Problem durch dynamische Zuordnung von Speicherraum. Infolge der zufälligen Natur von Speicherraumbedarf wird der Speicherraum in Form von Segmenten unterschiedlicher Größe zugeteilt,und die Speicherzuordnung kann während der Laufzeit des Prozesses umorganisiert werden. Somit können einem Prozeß eine Anzahl nicht aneinandergrenzender Speichersegmente zugeteilt werden. Diese Art der SpeicherZuordnung nennt man Segmentierung. Sie stellt ein zusätzliches Problem insofern dar, als die Speicheradressen modifiziert werden müssen, wenn ein Teil oder der gesamte Prozeß umgecpeichert wird. Um dieses Problem zu erleichtern, sieht das vorliegende System eine Technik vor, bei der die von einem Prozeß benutzten Adressen logische Adressen statt absoluter Hauptspeicheradressen sind. Diese logischen Adressen werden zur Entwicklung absoluter Adressen benutzt. Die Segmentierung ermöglicht ferner jedem Prozeß den Zugriff zu seinen eigenen oder ihm zugeordneten Speichersegmenten über ein System von Segmentdescriptoren. Durch Zugriff zu einem Segmontdoscriptor kann ein Prozeß die Adresse eines Segments erhalten. Segmentdescriptoren sind im Hauptspeicher untergebracht und werden vom Betriebssystem unterhalten.In a multiprocess plant there are at a given time many processes in memory. These processes have different scope and different memory requirements, which means a memory allocation problem arises. The hardware in cooperation the operating system, not shown, solves this problem by dynamically allocating memory space. As a result of The memory space is allocated in the form of segments of different sizes, and the random nature of memory requirements Memory allocation can be reorganized during process runtime will. Thus, a number of non-contiguous memory segments can be allocated to a process. This kind of Memory allocation is called segmentation. She represents an additional The problem is that the memory addresses have to be modified when part or all of the process is relocated will. To alleviate this problem, the present system provides a technique in which those used by a process Addresses are logical addresses instead of absolute main memory addresses. These logical addresses become absolute for development Addresses used. Segmentation also enables each process to access its own or allocated memory segments through a system of segment descriptors. By accessing a segment doscriptor, a process can determine the address of a segment obtain. Segment descriptors are located in main memory and are maintained by the operating system.
"7 09810/0993"7 09810/0993
Jeder Prozeß kann Zugriff bis zu 2068 Speichersegmenten haben. Normalerweise würde dies eine gleiche Anzahl von Segmentdescriptoren pro Prozeß erfordern. Da jedoch die Segmente gemeinsam benutzt werden können, teilt das Betriebssystem die Segmentdescriptoren in Segmenttabellen ein. Diese Gruppierung basiert auf der Zugriffsmöglichkeit durch einen Prozeß (Task), eine Prozeßgruppe (Jobschritt) oder generell, d.h. für das gesamte System. Jedem Prozeß können bis zu 15 Segmenttabellen zugeordnet sein. Diese Technik erfordert nur einen Segmentdescriptor für jedes Segment, das für den Prtzeß über eine Segmenttabelle zugängig ist. Somit wird der für die Unterbringung der Segmentdescrxptoren erforderliche Speicherraum verringert. Die Speicherfortschreibung während der Umordnung wird reduziert und man erhält einen gewissen Programmschutz. Den Hauptmechanismus für 'den Programmschutz bildet das Ringsystem, welches Gegenstand älterer Anmeldungen ist.Each process can have access to up to 2068 memory segments. Usually this would be an equal number of segment descriptors require per process. However, because the segments can be shared, the operating system shares the segment descriptors in segment tables. This grouping is based on the possibility of access by a process (task), a process group (Job step) or in general, i.e. for the entire system. Up to 15 segment tables can be assigned to each process. This technique only requires one segment descriptor for each segment accessible to the process via a segment table. Thus, the memory space required to accommodate the segment descriptors is reduced. The memory update during the rearrangement it is reduced and one gets some program protection. The main mechanism for 'program protection forms the ring system, which is the subject of older applications.
Ein Prozeß muß bestimmen können, zu welchen Segmenten er Zugriff hat. Folglich versieht das System den Prozeß mit zwei Segmenttabellen-Wortanordnungen (STWA). Diese Anordnungen enthalten die. Adressen aller Segmenttabellen, die dem Prozeß zugängig sind. Es sind zwei Segmenttabellen-Wortanordnungen pro Prozeß vorhanden, weil Segmentgrößen gegeben sind, nämlich groß und klein. GroßeA process must be able to determine which segments it has access to. Thus the system provides the process with two segment table word arrangements (STWA). These arrangements include the. Addresses of all segment tables that are accessible to the process. It there are two segment table word arrangements per process because segment sizes are given, namely large and small. Size
2222nd
Segmente haben einen Maximalumfang von 2 Bytes, während kleine Segmente einen Maximalumfang von 2 Bytes aufweisen. Der Unterschied in Segmentumfang erfolgt in Schritten von 16 Bytes bis zum Maximalumfang. Ein System kann im typischen Fall bis zu 28 große Segmente und 2040 kleine Segmente aufweisen. Die Segmenttabellen-Wortanordnungen können vom Betriebssystem umgeschichtet werden. Deshalb muß ein Prozeß die absolute Adresse der ihm zugeordneten Segmenttabellen-Wortanordnungen kennen. Der Prozeßsteuerblock für einen Prozeß enthält zwei Worte, die diese Information enthalten und als Adressraumworte ASWO-1 bekannt sind (Figur 4). Jedes Wort zeigt auf eine Segmenttabellen-Wortanordnung STWA hin. Das Betriebssystem schreibt den Inhalt der Adressraumworte fort, sobald die zugehörigen Segmenttabellen-Wortanordnungen umgeschich-Segments have a maximum size of 2 bytes, while small segments have a maximum size of 2 bytes. The difference in segment size is made in steps of 16 bytes up to the maximum size. A system can typically be up to 28 large Segments and 2040 have small segments. The segment table word arrangements can be redeployed by the operating system. Therefore a process must have the absolute address of the Know segment table word arrangements. The process control block for a process contains two words that contain this information and are known as address space words ASWO-1 (FIG. 4). Each word points to a segment table word arrangement STWA. The operating system updates the content of the address space words, as soon as the associated segment table word arrangements have been
709810/0993709810/0993
tet werden. Das Herabarbeiten längs einer Kette von Hinweisadressen und das Dekodieren des Segmentdescriptors ist eine Firmware-Funktion und ist, wenn sie einmal eingeleitet ist, nicht einmal für das Betriebssystem erkennbar.be switched. Working down a chain of pointing addresses and the decoding of the segment descriptor is a firmware function and, once initiated, is not even visible to the operating system.
Die Segmentierung definiert über 200 Millionen Bytes and Adressraum als für den Prozeß zugängig. Diese Menge überschreitet die Kapazität des Hauptspeichers. Deshalb wird in Verbindung mit dem Hauptspeicher ein Sekundärspeicher (Magnetplatten oder Trommel) eingesetzt. Das Betriebssystem erzeugt den Anschein, daß das System eine viel größeren Hauptspeicher hat als er tatsächlich zur Verfügung steht. Dieses Konzept nennt man virtuellen Speicher.The segmentation defines over 200 million bytes and address space than accessible to the process. This amount exceeds the capacity of the main memory. Therefore, in connection with the Main memory a secondary memory (magnetic disks or drum) is used. The operating system makes it appear that the System has a much larger main memory than is actually available. This concept is called virtual memory.
Zu jeder gegebenen Zeit kann sich ein definiertes Segment physikalisch im Hauptspeicher befinden oder nicht. Der Inhalt eines " Segmentdescriptors zeigt an, ob das zugehörige Segment im Hauptspeicher liegt oder nicht. Die Hardware stellt jeden Versuch eines Prozesses fest, Zugriff zu einem Segment zu erhalten, was nicht im Hauptspeicher liegt, und informiert das Betriebssystem. Dieses läßt das gewünschte Segment aus dem Sekundärspeicher in den Hauptspeicher umladen. Sodann fügt das Betriebssystem die Speicheradresse des Segments in den Segmentdescriptor ein, der den einzigen Platz darstellt, wo die absolute Adresse eines Segments gefunden werden kann. Diese Operation ist für den Prozeß nicht erkennbar und somit ist ihm nicht bewußt, daß das Segment nicht im Hauptspeicher war bzw. in den Hauptspeicher umgeladen werden mußte.At any given time, a defined segment may or may not be physically in main memory. The content of a segment descriptor indicates whether the associated segment is in main memory or not. The hardware detects every attempt by a process to gain access to a segment that is not in main memory and informs the operating system. The operating system leaves the desired segment The operating system then inserts the memory address of the segment into the segment descriptor, which is the only place where the absolute address of a segment can be found aware that the segment was not in main memory or had to be reloaded into main memory.
Das bisher beschriebene Rechnersystem ergibt Daten und Prozedurschutz dadurch, daß Prozesse daran gehindert werden, sich gegenseitig zu stören oder in unerlaubter Weise den jeweils zugeordneten Adreösqnraum gemeinsam zu nutzen. Dieser Schutz wird durch eine Beschränkung der Adressierbarkeit mit Hilfe der erwähnton Speichersegmentierung und durch ein Ringsystem erreicht. Die Segmenttabollcn isolieren den Adressenraum der verschiedenenProzcssa im System. Die Prozesse benutzen während der Ausübung immer eineThe computer system described so far provides data and procedure protection in that processes are prevented from interfering with one another or in an unauthorized manner with the respectively assigned To use address space jointly. This protection is mentioned by restricting the addressability with the help of the Memory segmentation and achieved through a ring system. The segment tables isolate the address space of the various processes in the system. The processes always use one while exercising
7098 1 0/09937098 1 0/0993
segmontierte Adresse. Diese besteht aus einer Segmentnummer und einer relativen Adresse innerhalb des Segments. Die Hardware überprüft,daß die vom Prozeß benutzte Adresse Teil des dem Prozeß zugeordneten Adressraum ist. Liegt die Adresse außerhalb des genannten Adressraums, so erscheint ein Ausnähmesignal Ein Picaeß kann sich nicht auf Daten innerhalb des Adressraums eines anderen Prozesses stützen, weil die Hardware die Segmenttabellen des bezugnehmenden Prozesses verwendet. Somit ist keine Möglichkeit für einen Prozeß oder eine Prozeßgruppe gegeben, ein Systemelement zu verwenden, welches zu einer anderen Prozeßgruppe gehört.segmounted address. This consists of a segment number and a relative address within the segment. The hardware checks that the address used by the process is part of the address space assigned to the process. If the address is outside of the specified Address space, an exception signal Ein Picaeß appears cannot rely on data within the address space of another process because the hardware uses the segment tables of the referring Process used. This means that there is no possibility for a process or a process group to assign a system element which belongs to a different process group.
Im allgemeinen ist eine Überlappung von Adressraum im System für diejenigen Segmente gegeben, welche von allen Prozessen gemeinsam benutzt werden. Diese gewissermaßen öffentlichen Segmente werden von Systemprogrammen erzeugt, welche überprüfen und eine Sicherung gegen Adressenkonflikte darstellen. Somit schützt die Segmentierung die Benutzerprogramme gegeneinander und schützt das Betriebssystem gegen die Benutzerprogramme. Segmente, welche von mehreren Prozessen gemeinsam benutzt werden, sind nicht geschützt gegen den Mißbrauch durch einen dieser Prozesse. Um dieses Problem zu lösen, wird*1 ein Ringsystem verwendet, wobei Prozedur- und Datensegmente in vier Klassen oder Zonen eingruppiert sind. Die vier Ringzonen sind mit 0 bis 3 bezeichnet. Jeder Ring stellt einen bestimmten Grad von Systemprivileg dar, wobei die Zone 0, d.h. der innerste Ring,das höchste Privileg und die Zone 3, der äußerste Ring, das geringste Privileg aufweist. Jeder Prozedur im System ist eine minimale und eine maximale Ringnummer zur Ausübung zugeordnet, welche festlegt, wer die Prozedur aufrufen darf. Eine Prozedur ist eine Subroutine, die in der Lage ist, andere Prozeduren aufzurufen und ihnen Parameter zu überstellen. Die allgemeinen Regeln des Ringschutzsystems sind folgende:In general, there is an overlap of address space in the system for those segments which are shared by all processes. These more or less public segments are generated by system programs that check and represent a safeguard against address conflicts. The segmentation thus protects the user programs against each other and protects the operating system against the user programs. Segments that are shared by several processes are not protected against misuse by one of these processes. To solve this problem, a ring system * 1 is used, with procedure and data segments grouped into four classes or zones. The four ring zones are labeled 0 to 3. Each ring represents a certain level of system privilege, with zone 0, ie the innermost ring, having the highest privilege and zone 3, the outermost ring, having the lowest privilege. Each procedure in the system is assigned a minimum and a maximum ring number for exercise, which defines who is allowed to call the procedure. A procedure is a subroutine that is able to call other procedures and pass parameters to them. The general rules of the ring protection system are as follows:
1. Eine'Prozedur in einen inneren Ring hat freien Zugang zu Daten in einem äußeren Ring. Umgekehrt kann eine Prozedur in einem äußeren Ring Daten in einem inneren Ring nicht erreichen· 1. A 'procedure in an inner ring has free access to Data in an outer ring. Conversely, a procedure in an outer ring cannot reach data in an inner ring
7098 10/09937098 10/0993
2. Eine Prozedur in einem äußeren Ring kann in eine Prozedur in einem inneren Ring verzweigen; das umgekehrte ist jedoch nicht erlaubt.2. A procedure in an outer ring can be turned into a procedure branch in an inner ring; however, the reverse is not allowed.
3. Jedem Segment mit Daten sind zwei .Ringwerte zugeordnet, einer für Lesen (RD) und einer für Schreiben (ViR). Diese · Ringwerte bestimmen den,maximalen Ringwert, in dem die Prozedur ausgeführt werden kann, wenn sie Daten entweder im Lese- oder im Schreibmodus erreicht.3. Two ring values are assigned to each segment with data, one for reading (RD) and one for writing (ViR). These · ring values determine the maximum ring value in which the Procedure can be executed when it reaches data in either read or write mode.
Jedesmal wenn ein Prozedurbefehl ausgeführt wird, wird die Ringnummer der Prozedur (effektive Adressringnummer EAR) mit der» dem Segment mit den angewählten Daten zugeordneten Ringnummern verglichen. Die effektive Adressringnummer stellt die Maximalzahl der Prozessringnummern im Befehlszähler und alle Ringnummern in den Basisregistern und Datendescriptoren im Adressierweg dar. Abhängig ·Every time a procedural command is executed, the ring number becomes of the procedure (effective address ring number EAR) with the »ring numbers assigned to the segment with the selected data. The effective address ring number represents the maximum number of process ring numbers in the command counter and all ring numbers in the Basic registers and data descriptors in the addressing path. Dependent ·
vom Ergebnis des Vergleichs der Ringnummern wird entweder Zugriff zu den Daten gestattet oder verweigert. Wenn beispielsweise eine Systemtabelle existiert in einem Segment mit einer maximalen Schreibringnummer 3 und einer maximalen Leseringnummer 1 , so kann die Benutzerprozedur im Ring 3 die Tabelle lesen, kann sie aber nicht fortschreiben. Gemäß Vereinbarung sind die Ringe 0 und 1 dem Betriebssystem vorbehalten, während die Ringe 2 und 3 für den Benutzer reserviert sind. Der Ring 0 enthält jene Segmente, die für den gesamten Systembetrieb kritisch sind. Ring 1 enthält die Menge der Systemsegmente, deren Fehler nicht zu einer unwiderruflichen Störung führen, sondern bereinigt werden könnte. Der Benutzer kann den Ring 2 für durchgeprüfte Programme und den Ring 3 für im Test befindliche Programme verwenden.the result of the comparison of the ring numbers is either allowed or denied access to the data. For example, if a system table exists in a segment with a maximum write ring number 3 and a maximum read ring number 1, the user procedure in ring 3 can read the table, but cannot update it. By agreement, the rings are 0 and 1 reserved for the operating system, while rings 2 and 3 are reserved for the user. The ring 0 contains those segments which are critical to the overall system operation. Ring 1 contains the set of system segments whose errors do not become irrevocable Cause disruption, but could be rectified. The user can use the ring 2 for tested programs and the Use ring 3 for programs under test.
F. Prozedur-AufrufeF. Procedure calls
Der Prozeduraufruf ist eine wichtige Funktion im System. Er wird dazu benutzt, Aufrufe von einer Prozedur zu einer anderen zu leiten, Benutzerprozeduren, Betriebssystemdienste in Anspruch zu nehmen und ihn eine Modularstruktur innerhalb des Betriebssystems zu ermöglich. Ein Prozeduraufruf wird durch Befehle, bewirkt sowie durch ein · als Hardware angesehenes Systemolement,genannt Stapelspeicher (Figur 7Λ). Ein Stapelspeicher ist ein Mechanismus,The procedure call is an important function in the system. It is used to direct calls from one procedure to another, User procedures to use operating system services and a modular structure within the operating system too possible. A procedure call is caused by commands, as well by a system element regarded as hardware Stack memory (Figure 7Λ). A stack memory is a mechanism
■ · 709810/0993■ 709810/0993
welcher Daten aufnimmt, speichert und zurückliefert nach dem Prinzip, daß die zuletzt eingegebene Information zuerst ausgegeben wird. Stapelspeicher setzen sich aus besonderen Segmenten, genannt Stapelspeichersegmenten, zusammen. Ein solches besteht aus einer Anzahl aufeinanderfolgender Teile, genannt Stapelspeicherrahmen 701 (Figuren 7A und 7B), welche jeder Prozedur dynamisch zugeordnet werden. Der erste Stapelspeicherrahmen wird in den oberen Teil eines Segments geladen,und die nachfolgenden Stapelspeicherrahmen werden anschließend geladen. Der letzte geladene Stapelspeicherrahmen wird als Spitze des Stapelspeichors angesehen. Das T-Register 702 stellt die Spitze des Stapelspeichers für den laufend aktiven Prozeß fest. Ein virtuelles T-Register besteht im Prozeßsteuerblock aller Prozesse im System. Ein Stapelspeicherrahmen 701 in Figur 7B besteht aus drei Bereichen: Einem Arbeitsbereich 702, in dem die Variablen gespeichert werden, einem Sicherheitsbereich 703, welcher die Inhalte der Register sicherstellt,und einemKommunikationsbereich 704, in den Parameter zwischen den Prozeduren eingegeben werden. Vor einen» Prozeduraufruf muß der Benutzer jene Register angeben, welche er sicherzustellen wünscht,und er muß in den Komiuunikationsbereich diejenigen Parameter eingeben, welche der aufgerufenen Prozedur zugeführt werden sollen. Wenn der Aufruf erfolgt, so sichert die Hardware die Inhalte der Befehlszähler IC und bestimmter Basisregister, um eine Rückkehr aus der aufgerufenen Prozedur zu erleichtern. Jeder Prozeduraufruf erzeugt innerhalb eines Stapelspeichersegments 701 einen Stapelspeicherrahmen,.und nachfolgend eingehende Aufrufe erzeugen zusätzliche Stapelspeicherrahmen. Jeder Austritt aus einer dieser aufgerufenen Prozeduren führt zur Löschung eines Stapelspeicherrahmens aus dem Stapelspeicher. Somit wird .ein zeitlicher Ablauf der Aufrufe beibehalten, der ordnungsgemäße* Rücksprünge erleichtert. Um einen Schutz zwischen in verschiedenen Ringen ablaufenden Prozeduren sicherzustellen, werden unterschiedliche Stapolspeichersegmente benutzt. Es gibt in jedem Prozeß jeweils ein Stapelspeichorsegment für jeden Schutzring . Ein Prozcßsteuerblock enthalt drei Stapelspeichoirbasiaworto,which records, stores and returns data according to the principle that the information entered last is output first will. Stacks are made up of special segments called stack memory segments. There is such a thing of a number of consecutive parts, called stack frames 701 (Figures 7A and 7B), which make up each procedure can be assigned dynamically. The first stack frame is loaded into the top of a segment, and subsequent ones Stack frames are then loaded. The last stack frame loaded is called the top of the stack viewed. The T register 702 detects the top of the stack for the currently active process. A virtual T-register consists in the process control block of all processes in the system. A stack frame 701 in Figure 7B consists of three areas: A work area 702, in which the variables are stored, a security area 703, which contains the contents of the registers and a communication area 704 into which Parameters can be entered between the procedures. Before calling a »procedure, the user must specify the registers which he wants to make sure, and he has to go to the communication area enter the parameters that are to be added to the called procedure. When the call is made, the Hardware the contents of the instruction counter IC and certain base registers in order to facilitate a return from the called procedure. Each procedure call creates a stack memory frame within a stack memory segment 701, and subsequently incoming calls create additional stack frames. Everyone Leaving one of these called procedures leads to the deletion of a stack memory frame from the stack memory. Consequently a timing of the calls is maintained, the proper * Jumps made easier. To ensure protection between procedures running in different rings, different stack storage segments are used. There is in each process has a stack segment for each guard ring . A process control block contains three stack memory base words,
709810/0993709810/0993
■ / ■ . 262762a■ / ■. 262762a
--35 4 ·--35 4
welche auf den Anfang des Stapelspeichersegments für die Ringe O, 1 und 2 hinweisen,die dem Prozeß zugeordnet sind. Das Stapelspeichersegment für den Ring 3 kann durch einen Einwärtsruf nicht erreicht werden. Fdglich wird seine Stapelspeicherstartadresse im Prozeßsteuerblock nicht benötigt.which on the beginning of the stack storage segment for the rings O, 1 and 2 that are associated with the process. The stack segment for ring 3 cannot be reached by an inbound call. Its stack memory start address becomes possible not required in the process control block.
4. Prozeßmanagomont und Synchronisierung4. Process management and synchronization
Das System ermöglicht Multiprozeß-Operationen, welche von einem Betriebssystem gesteuert werden, das eine Kombination von Software, Hardware und Firmware benutzt. Die Software erzeugt und löscht Prozesse innerhalb des Systems, während Hardware und Firmware die Multiplexverarbeitung in der Zentraleinheit durchführen. Außerdem sorgt eine Kombination von Software, Hardware und Firmware für die Synchronisation zwischen den Prozessen. Prozesse werden normalerweise jedoch nicht immer zu Beginn und Ende von Ein/Ausgabe- ; Operationen inganggesetzt und angehalten, ferner während der Verarbeitung eines zugehörigen Jobs und zu anderen Zeitpunkten zu Zwecken, welche das Betriebssystem für notwendig hält.'Deshalb ist. ein Kommunikationssystem erforderlich, um miteinander in Beziehung stehende Prpzesse wirksam zu starten und anzuhalten und die Information zwischen Ihnen zu vermitteln. Das Hardwaresystem . liefert interne Nachrichten, genannt Semaphoren, um eine Kommunikationsverbindung zwischen den Prozessen herzustellen. The system enables multi-process operations controlled by an operating system using a combination of software, hardware and firmware. The software creates and deletes processes within the system, while the hardware and firmware perform the multiplex processing in the central unit. In addition, a combination of software, hardware and firmware ensures synchronization between the processes. However, processes are usually not always at the beginning and end of I / O; Operations started and stopped, also during the processing of an associated job and at other times for purposes which the operating system deems necessary. A communication system is required to effectively start and stop related processes and to convey information between you. The hardware system. delivers internal messages, called semaphores, to establish a communication link between the processes.
A. Prozess-ZustKnde A. Process States
Ein Prozess kann sich zu einer gegebenen Zeit jeweils in einem ' von vier möglichen Zuständen befinden, nämlich laufend, vorbereitet, wartend oder ausgesetzt. Die Hardware nimmt diese vier möglichen Prozeßzustände zur Kenntnis und führt verschiedene Firmware-Prozeduren ..flurch, um den Prozeß zuzuteilen, den Zustand zu ändern und die auf dem Prozeßzustand beruhenden·Datenstrukturen beizubehalten. Der Prozcßsteuerblock enthält ein Statusfeld, welches den gegenwärtigen Zustand des zugehörigen Prozesses definiert. Ein A process can be in one of four possible states at a given time, namely running, prepared, waiting or suspended. The hardware takes note of these four possible process states and executes various firmware procedures .. in order to allocate the process, change the state and maintain the data structures based on the process state. The process control block contains a status field which defines the current status of the associated process. A
709810/099 3709810/099 3
Prozeß befindet sich im ablaufenden Zustand, wenn er Steuerbefugnis über die Zentraleinheit hat. Dieser Zustand schließt die Versorgung der Zentraleinheit mit Adressenraum (Segmenttabellen) und einer Startadresso ein. Die Zentraleinheit führt dann die Befehle in den Prozedursegmenten des Prozesses aus. Das J-Tabellenwort des Erozeßnamens (logische Adresse) des Prozeßsteuerblocks für den laufenden Prozeß wird im laufenden Prozeßwort (BAR + 60) innerhalb der Systembasis aufbewahrt (Figur 6). Die in Figur 5 gszeigte Systembasis ist fast die gleiche wie in Figur 6, nur sind einige Einzelheiten weggelassen. Der Vorbereitungszustand entspricht im wesentlichen dem Ablaufzustand, mit der Ausnahme, daß der Prozeß keinen Steuergriff zur Zentraleinheit hat, weil diese den prozeß noch nicht wahrgenommen hat. Ein im "Bereitschaftszustand befindlicher Prozeß erstrebt wie andere vorbereitete Prozesse und der gerade ablaufende Prozeß in Konkurrenz Steuerzugriff zur Zentraleinheit. Process is in the running state if it has control authority via the central unit. This condition closes the supply the central unit with address space (segment tables) and a start address. The central unit then carries out the commands in the procedural segments of the process. The J table word of the process name (logical address) of the process control block for the current process is kept in the current process word (BAR + 60) within the system base (FIG. 6). The one shown in FIG The system basis is almost the same as in Figure 6, only some details are omitted. The preparation status corresponds to the essential to the state of the process, with the exception that the process has no control handle to the central unit because it has not yet noticed the process. A "standby" one The process, like other prepared processes and the process currently running, is in competition with control access to the central unit.
Ein Prozeß im Wartezustand kann nicht fortfahren, bis ein bestimmtes Ereignis auftritt, beispielsweise eine Nachricht über ein Semaphor eingeht. Ein wartender Prozeß befindet sich nicht in Zugriff skonkurrenz zur Zentraleinheit aber er kann hinsichtlich des erwarteten Ereignisses in Konkurrenz mit anderen wartenden Prozessen stehen.A waiting process cannot continue until a specific one Event occurs, for example a message is received through a semaphore. A waiting process is not being accessed s competition with the central unit, however, with regard to the expected event, it can compete with other waiting processes stand.
Ein ausgesetzter Prozeß ist für eine durch die Software bestimmte Zeitspanne unterbrochen und wird später wieder aufgenommen. Die Entscheidung, den Prozeß anzuhalten und später wieder weiterlaufen zu lassen, liegt außerhalb des Prozesses. Somit ist ein ausgesetzter Prozeß nicht aktiv und kann keine Informationen über Ereignisauftritte empfangen und kann die Zentraleinheit nicht benutzen. Ein..>P»ozeß wird unter den folgenden Bedingungen ausgesetzt: A suspended process is interrupted for a period determined by the software and is later resumed. the Decision to stop the process and restart it later letting go is out of the process. A suspended process is therefore not active and has no information about the occurrence of events and cannot use the central unit. A ..> process is suspended under the following conditions:
1. In Ausführung eines Beendigungsbefehls, weil alle seine Funktionen erfüllt sind;1. In executing a termination command because all its functions have been fulfilled;
2. Als Folge eines Aussetzbofchls vom Betriebssystem und2. As a result of an interruption in the operating system and
3. Beim Auftreten eines Ausnahmezustands, wobei die Steuerung auf das Betriebssystem übertragen wird.3. When an exception condition occurs, the controller is transferred to the operating system.
709810/0993709810/0993
- -37 - f ♦- -37 - f ♦
Ein Prozeß geht während des Ablaufs aufgrund seiner Aktionen freiwillig von einem auf einen anderen Zustand über oder unfreiwillig aufgrund von Aktionen anderer Prozesse. Die als Zuteiler bekannte Zentraleinheit-Firmware steuert den übergang des Prozesses zwischen seinen Zuständen. Der Zuteiler benutzt eine Gruppe von Warteschlangen, um die Prozesse, die sich im Vorbereitungs- oder Wartezustand befinden, zu verteilen. Ausgesetzte Prozesse werden durch die Software gesteuert.A process goes voluntarily in the course of its actions because of its actions from one state to another or involuntarily due to the actions of other processes. The one known as the dispenser Central unit firmware controls the transition of the process between its states. The arbiter uses a group of queues to list the processes that are preparing or waiting are to be distributed. Suspended processes are controlled by the software.
Unter Bezugnahme auf die Figuren 6, 8 und 9 ist zu bemerken, daß ein vorbereiteter oder wartender Prozeß durch einen Prozeßsteuerblock und eine besondere Warteschlangen-Eingangsstelle dargestellt wird, genannt Prozeßverbindung. Figur 9 zeigt eine auseinandorgezogene Darstellung der Inhalte des GO-Segments 802 und enthält die Prozeßverbindungen 8O3a-8O3b sowie 8O3c-8O3g des aktiven Prozesses sowie die freien Prozeßverbindungen 8O5a-8O5c ausgesetzter Prozesse. Jede Prozeßverbindung gibt den Prozeß (J, P), die Prozeßpriorität und eine Hinweisadresse auf die nächste Prozeßverbindung in der Warteschlange an. Es gibt verschiedene Arten von Warteschlangen, beispielsweise die im Wartezustand befindliche Warteschlange 803-b und die im vorbereiteten Zustand befindliche Warteschlange 8O3c-g. Eine Hardwareeinheit ähnlich der J-Tabelle und unter der Bezeichnung G-Tabelle bekannt (Figuren 6 und 8) enthält die Hinweisadressen auf alle allgemeinen, d.h. systemweiten Segmente 8O2-8O2n. Das erste Element GO der G-Tabelle 801 weist auf das die Zuteiler-Warteschlange enthaltende Segment 802 hin. Eine G-Tabellenhinweisadresse zur G-Tabelle 801 findet sich in der Systembasis 502 in Figur 5. Auch die Systembasis weist eine Eingangsstelle auf, welche das interne Prozeß-Warteschlangenwort (IPQVi) genannt wird und den Kopf 805 einer im vorbereiteten Zustand befindlichen Warteschlange 8O3c-8O3g im GO-Segmont 802 identifiziert. Somit kann der Zuteiler alle vorbereiteten Prozesse überprüfen, indem er die vorbereitete Warteschlange 803c- 803g abfragt. Wenn der gegenwärtig ablaufende Prozeß seinenReferring to Figures 6, 8 and 9, it should be noted that a prepared or waiting process is represented by a process control block and a special queue entry point called a process connection. FIG. 9 shows an exploded view of the contents of GO segment 802 and contains the process connections 803a-803b and 803c-803g of the active process as well as the free process connections 805a-805c of suspended processes. Each process connection indicates the process (J, P), the process priority and a pointer to the next process connection in the queue. There are different types of queues, such as waiting queue 803-b and prepared queue 803c-g. A hardware unit similar to the J table and known under the designation G table ( FIGS. 6 and 8) contains the reference addresses for all general, ie system-wide segments 802-8O2n. The first element GO of the G table 801 points to the segment 802 containing the dispatcher queue. A G table reference address for the G table 801 can be found in the system base 502 in FIG. 8O3g identified in GO-Segmont 802. Thus, the arbiter can check all prepared processes by polling the prepared queue 803c-803g. If the current process is its
709810/0993709810/0993
- - 38 -- - 38 -
Zustand ändert, so entfernt der Zuteiler die Prozeßverbindung am Kopf der vorbereiteten Warteschlange und benutzt den J, P-Namen für den Zugriff des Prozeßsteuerblocks. Der durch diesen definierte Prozeß wird dann der als nächster ablaufende Prozeß.Status changes, the arbiter removes the process connection at the head of the prepared queue and uses the J, P name for access to the process control block. The process defined by this then becomes the next process to run.
Da mehr als ein Prozeß auf das gleiche Ereignis v/arten kann, besteht für jedes Ereignis eine Warteschlange wartender Prozesse 8O3a-8O3b. Die wartenden Prozesse sind ferner über im GO Segment liegende Prozeßverbindungen 805 miteinander verkettet. Eine Hinweisadresse zum Kopf einer wartenden Warteschlange ist in einem Semaphor 903 vorhanden. Es gibt eine Anzahl von Ereignissen, auf die ein Prozeß warten kann. Deswegen ist eine Anzahl von im Wartezustand befindlicher Warteschlangen vorhanden, von denen jeder ein Semaphor 903, 904 zugeordnet ist.Since more than one process can wait for the same event, there is a queue of waiting processes 803a-803b for each event. The waiting processes are also over in the GO segment lying process connections 805 are chained to one another. A pointer to the head of a waiting queue is in one Semaphore 903 available. There are a number of events a process can wait for. Because of this, a number of are in the waiting state queues located, each of which is assigned a semaphore 903, 904.
Die Anzahl der vorbereiteten oder wartenden Prozesse ändert sich dynamisch. Somit ändert sich auch die Anzahl der für die vorbereiteten und wartenden Warteschlangen erforderlichen Prozeßverbindungen. Diese Tatsache stellt für den Zuteiler ein Speichermanagementproblem dar. Dieses Problem wird durch eine andere Warteschlange-, gelöst, welche als Warteschlange 8O5a-c für eine freie Prozeßverbindung bezeichnet wird. Diese Warteschlange verkettet alle Prozeßverbindungen im Segment GO, die nicht durch die vorbereiteten oder wartenden Warteschlangen benutzt werden und kann als Erweiterung einer bestimmten Warteschlange vorbereiteter oder wartender Prozesse Verwendung finden. Eine Hinweisadresse 901 zum Kopf 902 der Warteschlange 805 für freie Prozeßvorbindungen befindet sich neben dem Anfang des GO Segments 802.The number of prepared or waiting processes changes dynamically. This also changes the number of prepared ones and waiting queues required process connections. This fact poses a memory management problem for the arbiter This problem is solved by another queue, which is called queue 8O5a-c for a free one Process connection is referred to. This queue concatenates all process connections in the GO segment that are not through the prepared ones or waiting queues and can be prepared or waiting as an extension of a particular queue Processes are used. A pointer 901 is to the head 902 of the queue 805 for free process attachments next to the beginning of the GO segment 802.
Eine Prozessynchronisierung ist erforderlich, um die Aktivitäten zweiter an derselben Aufgabe (Task) arbeitender Prozesse zu koordinieren. Sie wir durch den Einsatz der Semaphoren 903-904 erreicht, welche Datenstrukturen darstellen, dio im AdressenraumProcess synchronization is necessary in order to coordinate the activities of two processes working on the same task. It is achieved through the use of semaphores 903-904, which data structures represent dio in the address space
^09810/0993^ 09810/0993
des Kommunikationsprozesses liegen. Ein Semaphor wird zur Signalisierung eines Ereignisauftrittes und zur Verarbeitung von Nachrichten-Warteschlangen benutzt. Ein Ereignis in diesem Sinn ist jede von einem Prozeß beobachtete Erscheinung, die für einen anderen Prozeß von Interesse sein kann. Das Ereignis kann beispielsweise im Abschluß einer asynchronen Operation oder in der Zugängikeit eines Systemmittels liegen. Ein Prozeß benutzt zwei Semaphoroperationen, um einen Ereignisauftritt zu signalisieren. Die eine Operation sendet ein Signal zu einen Semaphor, die andere nimmt das Signal von einem Semaphor auf. Die Sendeoperation wird oft V-Operation genannt, die Empfangsoperation heißt P-Operation. Die Sendeoperation erlaubt es, einem Prozeß Daten oder ein Signal auszusenden, daß Daten vorbereitet sind. DasSemaphor speichert das Signalf bis ein anderer Prozeß für die Aufnahme der Daten vorbereitet ist. Somit ist der abgebende Prozeß frei, v/eiterzuarbeiten, weil er die Daten abgegeben hat. Die Empfangsoperation prüft ein bestimmtes Semaphor und nimmt das Signal auf. Ist ein Signal vorhanden, so läuft der empfangende Prozeß weiter. Ist jedoch kein Signal am Semaphor, so geht der empfangende Prozeß in den Wartezustand über. Das Semaphor dient dann als Hinweisadresse zum Kopf einer Warteschlange. Der Prozeß bleibt in dem durch die Warteschlange am Semaphor bestimmten Wartezustand, bis ein anderer Prozeß ein Signal dem betreffenden Semaphor zusendet. Somit kann ein Semaphor ein Signal solange festhalten, bis ein Prozeß dieses Signal aufnimmt oder ein Semaphor kann einen Prozeß anhalten, bis ein Signal ihm zugesandt wird.of the communication process. A semaphore is used to signal the occurrence of an event and to process message queues. An event in this sense is any phenomenon observed by one process that may be of interest to another process. The event can be, for example, in the completion of an asynchronous operation or in the accessibility of a system resource. A process uses two semaphore operations to signal an event occurrence. One operation sends a signal to a semaphore, the other receives the signal from a semaphore. The send operation is often called the V operation and the receive operation is called the P operation. The send operation allows a process to send out data or a signal that data is prepared. The semaphore stores the signal f until another process is prepared to receive the data. The releasing process is thus free to continue working because it has released the data. The receive operation checks a certain semaphore and picks up the signal. If a signal is present, the receiving process continues. If, however, there is no signal at the semaphore, the receiving process goes into the waiting state. The semaphore then serves as a pointer to the head of a queue. The process remains in the waiting state determined by the queue at the semaphore until another process sends a signal to the semaphore in question. Thus, a semaphore can hold a signal until a process picks up that signal, or a semaphore can hold a process until a signal is sent to it.
Auch Nachrichten können von Prozeß zu Prozeß weitergeleitet werden. Eine Nachricht weist die gleiche Anwesenhoits- oder Abwesenheitseigenschaft wie ein Signal und zusätzlich hierzu Information auf. Teil der Information wird von der Hardware geliefert und ein Teil durch die Prozedur des Prozesses, welcher die Nachricht aussendet. Eine Nachricht enthält den Prozeßnamem dos aussendenden !Prozesses. Somit können viele Prozesse Informationen durch einMessages can also be forwarded from process to process. A message has the same presence or absence characteristic like a signal and, in addition, information. Part of the information is provided by the hardware and a Part through the procedure of the process that sends out the message. A message contains the process name dos send out ! Process. Thus, many processes can transfer information through one
7.0 9 8 1 0 / 0 9 9 37.0 9 8 1 0/0 9 9 3
einziges Semaphor senden, versehen mit dem Namen des Absenders. Ein Nachrichten-Semaphor kann eine Warteschlange von Nachrichten aufweisen, die darauf warten, von einem Prozeß aufgegriffen zu werden. Wie bei Signal-Semaphorcn ergeben sich ändernde Anforderungen an Speicherraum, wodurch ein Speichermanagementproblem entstehen kann. Auch hier wird das Problem durch eine Warteßchlange freier Nachrichtenverbindungen gelöst. Diese Verbindungen befinden sich an einem bekannten Platz in einem Segment, welches leicht zu finden ist, wenn Nachrichtenverbindungen aufgenommen oder geliefert werden sollen. Da Semaphoren und die auf ihnen aufgebauten Warteschlangen von verschiedenen Prozessen gemeinsam benutzt werden, ist die gesamte Semaphorstruktur geschützt. Man erreicht dies durch Hardware und Software-Konventionen, welche den Zugriff zu jedem ein Semaphor enthaltenden Segment^ beschränken. Somit müssen Semaphore in Semaphor-Descriptorsegmenten liegen, von denen manche G-Segmente sein können, sofern Systemkommunikation notwendig ist. Jedoch sind alle G-Segmente mit Ausnahme des Segments GO Semaphor-Descriptorsegmente. Jeder Semaphordescripfcr enthält eine Hinweisadresse auf ein Semaphor. Semaphoradressen werden mit Hilfe eines Semaphordescriptors entwickelt, wodurch ein zusätzlicher Schutz für das Semaphor gegeben ist. Ein Semaphorsegment kann logisch unter Benutzung einer Segmentnummer und einer relativen Lage innerhalb des Segments oder direkt durch Benutzung der G, D-Nummer adressiert werden.Send a single semaphore with the name of the sender. A message semaphore can have a queue of messages waiting to be picked up by a process will. As with signal semaphores, requirements change of storage space, which can create a storage management problem. Again, the problem is caused by a queue free communication links resolved. These connections are in a known place in a segment, which is easy to find when communication links are to be established or delivered. Because semaphores and the on The entire semaphore structure is protected. This is achieved through hardware and software conventions that allow access to each one containing a semaphore Segment ^ constrain. Thus, semaphores must be in semaphore descriptor segments some of which can be G-segments if system communication is necessary. However, all are G-segments with the exception of the segment GO semaphore descriptor segments. Each semaphore descriptor contains a pointer to a semaphore. Semaphore addresses are set with the help of a semaphore descriptor developed, whereby an additional protection for the semaphore is given. A semaphore segment can be logically used a segment number and a relative position within the segment or addressed directly by using the G, D number will.
Figur 4 zeigt das Format des Prozeßsteuerblocks (PCB) 400. Dieser ist ein Speicherbereich im Hauptspeicher, welcher einem Prozeß zugängig gemacht wird, um den Zustand der Zentraleinheit abzusichern. Die Adressierung des Prozeßsteuerblocks wurde oben bereits in Verbindung mit Figur 5 erläutert. Die Prozeßsteuerblock-Hinwcisadrcsse 507 weist auf den Proznßsteuerblock PCB imFigure 4 shows the format of the process control block (PCB) 400. This is a storage area in main memory dedicated to a process is made accessible in order to secure the state of the central unit. The addressing of the process control block has already been explained above in connection with FIG. The process control block hint addresses 507 points to the process control block PCB in
709810/0993709810/0993
• · - 41 - f ♦• · - 41 - f ♦
Speicherplatz O in Figur 4 hin. Beim Fortschreiten in Richtung abwärts vergrößern sich die Speicherplätze, um jeweils 4 Bytes, während sie vom Speicherplatz 0 an aufwärts um 8 Bytes größer werden. Die unterhalb von Speicherplatz O liegenden Speicherplätze werden als positiv und die oberhalb liegenden als negativ gerichtet angesehen. Die aufwärts gerichteten Speicherplätze sind wahlweise vorgesehen und können in den Prozeßsteuerblock einbezogen werden oder nicht. Auch die Speicherplätze 148 bis 176 sind eine Option. Die Zahlen unter den Speicherplätzen geben die Verschiebung in Bytes gegenüber dem Bezugsspeicherplatz O des Prozeßsteuerblocks an und sollten nicht mit den sonst üblichen Bezugszeichen verwechselt werden. Beginnend beim Byte 0 aufwärts bis aber ohne Einschluß von Byte 16 sind vier Prozeß-Hauptworte PMW 0 bis PMW 3 gespeichert, wobei jedes Prozeß-Hauptwort 4 Bytes lang ist. Das Prozeßhauptwort 0 besetzt die Bytes 0 bis 3 und besteht aus vier Teilen: Einem Fähigkeitsbyte, einem Prioritätsbyte, einem Zustandsbyte und einem Decorerweiterungsbyte DEXT. In den Figuren 10a bis 10d sind Einzelheiten des Prozeßhauptwortes PMW 0 dargestellt, wobei sich weitere Einzelheiten des Fähigkeitsbytes 1001 aus Figur 10b ergeben. Dort stellt das erste Bit 1005 das Berechnungsmodus-Bit dar, welches anzeigt, ob Zeitberechnungsfunktionen für den Prozeß durchgeführt werden oder nicht. Ist dieses Bit auf 11O" gesetzt, so erfolgt für den Prpzeß keine Zeitberechnungsfunktion, während eine solche stattfindet, wenn das Zeitberechnungs-Bit 1005 auf "1" steht. Das Bit 1006 für den wissenschaftlichen Modus wird auf 0 gesetzt, wenn eine Sicherstellung des wissenschaftlichen Registers der Anlage nicht vorgesehen ist und ein Sicherheitsbereich für das wissenschaftliche Register bei den Bytes 148 bis 176 in Figur 7 im Prozeßsteuerblock PCB nicht vorhanden ist. Steht das Bit 1006 für den wissenschaftlichen Modus auf "1", so ist die wissenschaftliche Option vorhanden und wird im Prozeß benutzt. Der Sicherheitsbereich der wissenschaftlichen Register wird, sofern nötig, zur Sichorstellung der Inhalte der .wissenschaftlichen Register ausgenutzt. Das Bit 1007 für den Code-Modus zeigt an, ob eine Standard Code-Gruppe oder eine KompatibilitUtscodc-Gruppe vom Prozeß benutzt wird, wobei 11O"Storage space O in Figure 4 out. As you progress in the downward direction, the memory locations increase by 4 bytes each, while from memory location 0 upwards they increase by 8 bytes. The storage locations below storage location O are viewed as positive and those above as negative. The upward memory locations are optional and may or may not be included in the process control block. Memory locations 148 to 176 are also an option. The numbers under the memory locations indicate the shift in bytes compared to the reference memory location O of the process control block and should not be confused with the otherwise usual reference symbols. Starting with byte 0 up to but not including byte 16, four process main words PMW 0 to PMW 3 are stored, each process main word being 4 bytes long. The process noun 0 occupies bytes 0 to 3 and consists of four parts: a capability byte, a priority byte, a status byte and a decor extension byte DEXT. In FIGS. 10a to 10d details of the process main word PMW 0 are shown, further details of the capability byte 1001 resulting from FIG. 10b. There the first bit 1005 represents the calculation mode bit which indicates whether or not time calculation functions are being performed for the process. If this bit is set to 11 O ", then there is no time calculation function for the process, while one takes place when the time calculation bit 1005 is set to" 1. "Bit 1006 for the scientific mode is set to 0 if the scientific register of the system is not provided and a safety area for the scientific register does not exist in the process control block PCB at bytes 148 to 176 in Figure 7. If bit 1006 for the scientific mode is at "1", the scientific option is present and is used in the process. The security area of the scientific register is used, if necessary, to save the contents of the scientific register. Bit 1007 for the code mode indicates whether a standard code group or a compatibilityUtscodc group is used by the process where 11 O "
7Ö9810/09937Ö9810 / 0993
bedeutet, daß eine Standardcodegruppe benutzt wird, während "1" in der dritten Bitstelle 1007 anzeigt, daß eine KombatLbilltätscode-Gruppe Verwendung findet. Die üblichen Bits des Fähigkeitsbytes werden auf Null gesetzt.means that a standard code group is used, while "1" in the third bit position 1007 indicates that a KombatLbilltätcode group Is used. The usual bits of the capability byte are set to zero.
Einzelheiten des Prioritätsbytes 1002 ergeben sich aus Figur 10c. Die ersten vier Bits 1008 werden zum Einstellen des Prioritätsgrades des Prozesses verwendet, der dem gegebenen Prozeßsteuerblock PCB zugeordnet ist. Jedem Prozeß ist einer von 16 Prioritätsgraden zugeordnet und wird dazu benutzt, miteinander in Konkurrenz stehende Prozesse zu ordnen, d.h. (a) zur Auswahl desjenigen der vorbereiteten Prozesse der zur Durchführung kommt, (b) für die Einordnung der Prozesse in Warteschlangen. Die Prioritäten nehmen von 0 bis 15 ab und für einen gegebenen Prioritätsgrad wird die FIFO Regel angewandt, d.h. der zuerst angekommene Prozeß wird als erster ausgegeben. Die nächsten vier Bits 1009 des Prioritätsbytes 1002 sind Nullen.Details of the priority byte 1002 are shown in FIG. 10c. The first four bits 1008 are used to set the level of priority of the process given to the given process control block PCB is assigned. Each process has one of 16 priority levels and is used to order competing processes, i.e. (a) to select one the prepared processes to be carried out, (b) for placing the processes in queues. The priorities decrease from 0 to 15 and for a given priority level the FIFO rule is applied, i.e. the first to arrive Process is issued first. The next four bits 1009 of priority byte 1002 are zeros.
In Figur 1Od sind Einzelheiten des Zustandsbytes 1003 wiedergegeben. Es liefert Information in Bezug auf den mit dem Prozeßsteuerblock PCB 400 verbundenen Prozeß. Ist der Prozeß aktiviert, so wird das Aktivfeld-Bit A 1010 auf "1" gesetzt. Das Aussetzungsfeld S 1011 wird "1", wenn der Prozeß ausgesetzt ist. Das ünterzustandsfeld SS 1012 ist ein 2-Bitfeld und bestimmt die folgenden Unterzustände des Prozesses: (a) im Fall binär 00 ist der Prozeß inaktiv; (b) im Fall binär 01 wartet der Prozeß in der Warteschlange der vorbereiteten Prozesse (Q/PR/RDY); (c) im Fall 10 wartet der Prozeß auf ein Semaphor in einer Semaphor-Warteschlange (Q/PR/S); (d) im Fall binär 11 wird der Prozeß vom Prozessor ausgeführt. Das Mitte-Operationsfeld (MOI) 1013 wird auf "1", wennDetails of the status byte 1003 are reproduced in FIG. 10d. It provides information related to the process associated with the process control block PCB 400. If the process is activated, the active field bit A 1010 is set to "1". The suspension field S 1011 becomes "1" when the process is suspended. The sub-state field SS 1012 is a 2-bit field and determines the following Sub-states of the process: (a) in the case of binary 00, the process is inactive; (b) in the case of binary 01, the process is waiting in the queue the prepared processes (Q / PR / RDY); (c) in case 10, the process is waiting for a semaphore in a semaphore queue (Q / PR / S); (d) in the case of binary 11, the process is executed by the processor. The center operation field (MOI) 1013 becomes "1" when
mitten in der Operation eine Unterbrechung auftritt und wird während det Durchführung eines Befehls berücksichtigt, d.h. vor Abschluß des Prozesses. Das Dekorerwoiterungsmodus-Bit EXTD 1014 steht auf "1", wenn der Prozeß in einem erweiterten Dekormodus arbeitet, d.h. in einem Emulationsmodus der Anlage. Die Bits 1015 an interrupt occurs in the middle of the operation and is taken into account during the execution of an instruction, ie before the process is completed. The decor extension mode bit EXTD 1014 is at "1" when the process is operating in an extended decor mode, ie in an emulation mode of the system. Bits 1015
709810/0993709810/0993
und 1016 stehen auf 11O". Das vierte Byte des Prozeß-Hauptwortes PMWjO enthält die Dekorerweiterungsnummer und wird benutzt, wenn das System im Ernulationsmodus arbeitet.and 1016 are at 11 O ". The fourth byte of the process main word PMWjO contains the decor extension number and is used when the system is operating in the simulation mode.
Das Prozeß-Hauptwort PMW 1 wird in den Bytes 4-7 des Prozeßsteuerblocks PCB gespeichert. Einzelheiten ergeben sich aus Figur 1Oe. Das Zustandbyte 1016 ist das erste Byte im PMW 1 und speichert die Inhalte des Statusregisters. Das Multiprozessor-Byte MP 1018 ist wichtig für einen Multiprozessoraulbau, sonst ist dieses Feld "0". Das zweite und das vierte Byte im Prozeß-Hauptwort PMW 1 sind die MBZ Felder 1017 und 1019, welche bei Normalbetrieb Null sein müssen (must be zero).The process main word PMW 1 is in bytes 4-7 of the process control block PCB saved. Details emerge from FIG. 10e. Status byte 1016 is the first byte in PMW 1 and stores the contents of the status register. The multiprocessor byte MP 1018 is important for a multiprocessor construction, otherwise this field is "0". The second and fourth bytes in the process main word PMW 1 are the MBZ fields 1017 and 1019, which are at Normal operation must be zero.
Das Prozeß-Hauptwort PMW 2 belegt die Bytes 8 bis 11 des Prozeß-Steuerblocks und ergibt sich im einzelnen aus Figur 1Of. Das Feld von Bit 4 bis Bit 31 enthält den internen Namen SEG, SRA 1021 des Semaphore, mit dem der Prozeß-Steuerblock verbunden ist, wenn sich der Prozeß entweder im Warte- oder im ausgesetzten Zustand befindet. Das Feld 1023 für Ausnahmeklasse und Typ enthält Klasse und Typ der Ünterbrechungsgleichen Ausnahme, die nach einem Ausnahmesignal den Prozeß in den ausgesetzten Zustand übergehen läßt. Das Feld 1022 von Bit 4 bis Bit 15 ist bedeutungslos, wenn sich der Prozeß in einem anderen Zustand als den oben erwähnten befindet.The main process word PMW 2 occupies bytes 8 to 11 of the process control block and can be seen in detail from FIG. 10f. The field from bit 4 to bit 31 contains the internal name SEG, SRA 1021 of the semaphore to which the process control block is connected when the process is either waiting or suspended. The field 1023 for exception class and type contains the class and type of the same interruption exception which, after an exception signal, causes the process to go into the suspended state. Field 1022 from bit 4 to bit 15 is meaningless if the process is in a state other than those mentioned above.
Das Prozeß-Hauptwort PMW 3 belegt die Bytes 12 bis 15 im Prozeß-Steuerblock 400 und weist auf eine Dekorerweiterungstabelle hin. Figur 10g zeigt Einzelheiten, wobei^das Feld 1024, genannt DETSZ die Anzahl der Eingangsstellen in die Tabelle definiert und im Fall, daß dieses Feld gleich Null ist , dem Prozeß keine Dekorerweiterung. gestattet ist. Das DETA Feld 1025 gibt die absolute Adresse der Dekorerweiterungstabelle in Einheiton von 16 Bytes an und ist nur dann wichtig, wenn das Feld DETSZ nicht gleich 0 ist. Die Dekorerweiterungstabelle besteht aus DETSZ-Eingangs-. stellen, von denen jede ein Byte lang ist. Der DEXT-EingangThe process main word PMW 3 occupies bytes 12 to 15 in the process control block 400 and points to a decor extension table. FIG. 10g shows details, where ^ the field 1024, called DETSZ, defines the number of entry positions in the table and, in the event that this field is equal to zero, the process does not have a decor extension. is permitted. The DETA field 1025 specifies the absolute address of the decor extension table in units of 16 bytes and is only important if the DETSZ field is not equal to 0. The decor extension table consists of DETSZ input. ask, each one byte long. The DEXT input
7 09810/09937 09810/0993
der Tabelle bestimmt die Fähigkeit des Prozesses im Dekorerweiterungsmodus DEXT zu arbeiten. Wenn dieses Byte gleich O ist, so ist der Dekorerweiterungsmodus nicht zulässig. Ist hingegen das DEXT-Dyte gleich "1", so ist die Dekorerweiterungsnummer DEXT zulässig. Andere Werte als 0 und 1 sind für die Dekorerweiterungs-Tabellennummer 1004 unzulässig.the table determines the ability of the process in decor extension mode DEXT to work. If this byte is equal to 0, the decor extension mode is not permitted. Is however the DEXT dyte is "1", which is the decor extension number DEXT allowed. Values other than 0 and 1 are for the decor extension table number 1004 not allowed.
Die Bytes 16 bis 23 des Prozeß-Steuerblocks 400 enthalten zwei Adressraumworte ASW 0 und ASW 1, von denen jedes eine Ilinweisadresse auf eine Anordnung von Segmenttabellenworten aufweist. Beide ASW 0 und ASW 1 haben das gleiche Format gemäß Figur 10h. Der Umfang der Anordnung von Segmenttabellenworten wird durch die Anzahl der Segmenttabellenworte in einer Anordnung bestimmt und umfaßt üblicherweise sechs ASW 0 und acht für ASW 1. Das STWSZ-FeId 1026 gibt den Umfang der Anordnung von Segmenttabellen-Worten an. Das Feld STWA 1027 für die Segmenttabellen-Wortanordnung enthält die absolute Adresse STWA der Anordnung in Einheiten von 16 Bytes, d.h. die absolute Adresse der Anordnung ist 16 mal STWA in Bytes.Bytes 16 to 23 of the process control block 400 contain two address space words ASW 0 and ASW 1, each of which is a reference address to an arrangement of segment table words. Both ASW 0 and ASW 1 have the same format according to FIG. 10h. The scope of the arrangement of segment table words is determined by the number of segment table words in an arrangement and usually includes six ASW 0 and eight for ASW 1. Das STWSZ field 1026 indicates the scope of the arrangement of segment table words at. The field STWA 1027 for the segment table word arrangement contains the absolute address STWA of the arrangement in units of 16 bytes, i.e. the absolute address of the arrangement is 16 times STWA in bytes.
Die Bytes 24 bis 27 im Prozeßsteuerblock beinhalten ein Ausnahmewort EXW, welches im einzelnen aus Figur 1Oi ersichtlich ist. Es enthält eine Hinweisadresse (SEG, SRA) 1029 zu einer Ausnahme-Klassentabelle, welche diejenige Aktion festlegt, welche ein Prozeß nach einem Ausnahnesignal entsprechend seiner im Prozeß-Hauptwort PMW 2 gespeicherten Klasse durchführen muß (siehe Figur 1Of). Das MBZ-FeId 1028 des Ausnahmewortes EXW muß "0" sein.Bytes 24 to 27 in the process control block contain an exception word EXW, which can be seen in detail from FIG. 10i. It contains a reference address (SEG, SRA) 1029 to an exception class table, which defines the action which a process takes after an exception signal according to its in the process noun PMW 2 must perform stored class (see Figure 10f). The MBZ field 1028 of the exception word EXW must be "0".
Das Stapelspeicherwort SKW in den Bytes 28 bis 31 des Prozeß-Steuerblocks enthält den Wert der Spitze des T-Registers des Stapelspeichers des Prozesses, wenn dieser nicht im Ablaufzusttind ist,und ergibt sich im einzelnen aus Figur 1Oj. Die Bits 0 und 1 bestimmen *elas Hinweisfeld (TAG) 1030. Dieses TAG-FeId gibt durch seinen Inhalt des Descriptors an und muß für ein Stapelspcichorwort SKW gleich "0" sein. Die Bits 2 und 3 des SKW-Wortes enthalten das RING-FeId 1031, welches die der Segmentadresse des Stapelspeichers für Schutzzwecke zugeordnete Ringnummer enthält,The stack memory word SKW in bytes 28 to 31 of the process control block contains the value of the top of the T-register on the stack of the process when it is not running is, and results in detail from Figure 10j. Bits 0 and 1 determine * elas information field (TAG) 1030. This TAG field transmits its contents of the descriptor and must for a stack memory word SKW be equal to "0". Contain bits 2 and 3 of the SKW word the RING field 1031, which contains the segment address of the Contains ring number assigned to the stack memory for protection purposes,
709810/0993709810/0993
Z D L ID Z ö -45 - ίZD LI DZ ö -45 - ί
und muß in diesem Fall gleich "O" sein. Die Bits 4 bis 31 enthalten die Segmentnummer SEG, die relative Segmentadresse SKA 1032 und bilden ein Feld, welches das Segment in einer Scgmenttabelle beschreibt sowie die relative Segmentadresse innerhalb des Segments. Das Stapelspeicherwort SKW wird jedesmal foitgeschrieben, wenn der Prozeß den Ablaufzustand verläßt. Des wird zur Wiederherstellung des T-Register-Inhalts verwendet, sobald der Prozeß anläuft. In diesem Fall werden das TAG-FeId 1030 und das RING-FeId 1031 überprüft, ob sie gleich 11O" sind. Andernfalls tritt ein einen unzlässigen Prozeß-Steuerblock kennzeichnendes Ausnahmesigal auf.and must be equal to "O" in this case. Bits 4 to 31 contain the segment number SEG, the relative segment address SKA 1032 and form a field which describes the segment in a segment table and the relative segment address within the segment. The stack memory word SKW is foitwritten each time the process leaves the flow state. Des is used to restore the T register contents as soon as the process starts. In this case, the TAG field 1030 and the RING field 1031 are checked to see whether they are equal to 11 O ". Otherwise, an exception signal indicating an indispensable process control block occurs.
. ist. is
In den Bytes 32 bis 3ΰ des Prozeß-Steuerblocks 400 das den Inhalt des Befehlsspeichers bezeichnende Wort ICW enthalten, welches manchmal auch als ICC bezeichnet wird. Figur 10k zeigt dieses Befehlszählerinhaltswort ICW, bei dem das TAG-FeId 1033 den Binärwert 00 haben muß, d.h. andere Werte als Null sind unzulässig. Das laufende RING-FeId 1034 belegt die Bits 2 und 3 und bestimmt die laufende Ringnummer des Prozesses, welche für die Bestimmung der Zugriffsrechte zum Hauptspeicher eingesetzt wird. Die Bits 4 bis 31 bestimmen die Segmentnummer SEG und die relative Segmentadresse SRA 1035, wodurch die Adresse des als nächster auszuführenden Befehls gegeben ist. Das Feld MBZ in den Bytes 36 bis 39 muß gleich "0" sein. Es wird jedesmal getestet, wenn der Prozeßsteuerblock von den Namen J, P Zugriff erhält. Falls es nicht gleich "0" ist, tritt ein Signal für eine PCB-Ausnahme auf.In bytes 32 to 3ΰ of the process control block 400 the content of the instruction memory contain word ICW, which is sometimes also referred to as ICC. Figure 10k shows this Command counter content word ICW, for which the TAG field 1033 must have the binary value 00, i.e. values other than zero are not permitted. The current RING field 1034 occupies bits 2 and 3 and determines the current ring number of the process which is used for the Determination of the access rights to the main memory is used. Bits 4 through 31 determine the segment number SEG and the relative segment address SRA 1035, which is the address of the next command to be executed is given. The MBZ field in bytes 36 to 39 must be "0". It is tested every time the process control block of the names J, P receives access. If it is not "0", a PCB exception signal occurs on.
Die Stapelspeicher-Basisworte SBW 0-2 besetzen die Bytes 40-51 im Prozeß-Stcuerblock 400. Diese Worte haben gleiches Format und sind im einzelnen in Figur 101 dargestellt. Sie werden wa'hrcjnd der Stapelspeicheroperationcn benutzt und bei jeder Benutzung muß ihr TAG-FeId 1036 und ihr RING-FeId 1037 gleich Null sein. Andernfalls entsteht ein Ausnahmesignal. Djue Bits 4 bis 31 enthalten die segmentierte Adresse 1038 der ersten Bytes der Stapol-The stack memory base words SBW 0-2 occupy bytes 40-51 in the process control block 400. These words have the same format and are shown in detail in FIG. 101. You will while the stack operation cn used and every time it is used your TAG field 1036 and your RING field 1037 must be zero. Otherwise an exception signal is generated. Djue bits 4 to 31 included the segmented address 1038 of the first bytes of the stack
709810/0993709810/0993
speichersegment für die Ringe O, 1 bzw. 2. Bytes 52 bis 83 des Prozeß-Steuerblocks 400 bilden einen Speicherraum, welcher als Sicherstellungsbereich für die Basisregister dient und acht Worte umfaßt. Die Bytes 84 bis 147 bilden einen Sicherheitsbereich, der zur Sicherstellung der Werte aller Generalregister (16 Worte) dient. Schließlich sind auch die Bytes 148 bis 179 ein Sicherheitsbereich, der zur Sicherstellung wissenschaftliche^ Register (8 Worte) verwendet wird.memory segment for rings 0, 1 or 2. Bytes 52 to 83 of the Process control blocks 400 form a memory space, which serves as a save area for the base registers, and eight Includes words. Bytes 84 to 147 form a security area that is used to secure the values of all general registers (16 words) is used. Finally, bytes 148 to 179 are also a security area, which is used to ensure scientific ^ Register (8 words) is used.
Fünf Dqppelworte sind im Prozeß-1- Steuerblock. 400 oberhalb der Adresse Null angeordnet und zwar für Zwecke der Zeitberechnung, wenn das Bit für den Zeitberechnungsmode im Prozeßhauptwort O gesetzt ist. Diese Worte liegen zwischen der Prozeßsteuerblockadresse minus 8 zur Adresse minus 40. Jedes Wort enthält ein Zeitintervall ausgedrückt in ms-Einheiten in seinen ersten 32 Bits, wobei die Bits 52 bis 63 mit Nullen gefüllt sind. Das Restzeit-Doppelwort RTO, bestehend aus den acht ersten Bytes oberhalb 0 im Prozeßsteuerblock enthält die Zeitmenge, welche tatsächlich vom Preozessor für den Prozeß aufgewandt wurde, ehe eine Zeitende-Ausnahme auftritt. Das RTO-Wort wird in folgender Weise fortgeschrieben: Jedesmal, wenn der Prozeß den Ablaufzustand verläßt, wird der Stand des Prozeßzeitgebers im RTO-Wort gespeichert. Sobald der Prozeß wieder in den Ablaufzustand übergeht, wird der Prozeßzeitgeberstand aus dem RTO-Wort geladen.Five double words are in the process 1 control block. 400 is arranged above address zero for the purpose of time calculation when the bit for the time calculation mode in the process main word O is set. These words lie between the process control block address minus 8 and the address minus 40. Each word contains a time interval, expressed in ms units, in its first 32 bits, with bits 52 to 63 being filled with zeros. The remaining time double word RTO, consisting of the first eight bytes above 0 in the process control block, contains the amount of time that was actually expended by the pre-processor for the process before an end-of-time exception occurs. The RTO word is updated in the following way: Every time the process leaves the sequence state, the status of the process timer is stored in the RTO word. As soon as the process returns to the running state, the process timer status is loaded from the RTO word.
Das Verarbeitungszeit-Berechnungs-Doppelwort RUA in den Bytes 7 bis 15 ist ein Zeitzähler, der die Gesamtmenge der Prozessorzeit angibt, während der sich ein Prozeß im Ablaufzustand befunden hat. Die berechnete Zeit ist diejenige, welche der Prozessor ausschließlich für den betreffenden Prozeß aufgewandt hat. Das RUA-Wor>t wird folgendermaßen fortgeschrieben: Jedesmal wenn der Prozeß den Ablaufzustand vorläßt, wird der Prozeßzeitzähler PT abgelesen. Der Unterschied der Inhalte des RTO-Wortes und des Zeitzählers PT wird zum RUA-Wort addiert. Anschließend wird der Prozeßzeitgeberwort PT im RTO-Wort gespeichert. Die Zeit, während der ein Prozeß ausgesetzt ist, wird nicht berechnet. Die RTO- und The processing time calculation double word RUA in bytes 7 to 15 is a time counter which indicates the total amount of processor time during which a process was in the running state. The calculated time is that which the processor used exclusively for the relevant process. The RUA word> t is updated as follows: Every time the process leaves the sequence state, the process time counter PT is read. The difference in the contents of the RTO word and the time counter PT is added to the RUA word. The process timer word PT is then stored in the RTO word. The time that a process is suspended is not calculated. The RTO and
709810/0993709810/0993
ORIGINAL INSPECTEDORIGINAL INSPECTED
RUA-Worte worden auch dann forgeschrieben, wenn das Berechnungsmodus-Bit auf "0" gesetzt ist. Jedoch werden die später noch zu beschreibenden Wort CET, RTO und WTA im Prozeßsteuerblock nur dann angetroffen, wenn das Berechnungsmodus-Bit im Prozeßhauptwort PMW 0 auf "1" steht. Sie werden auch nur in diesem Falle fortgeschrieben.RUA words were also written when the calculation mode bit is set to "0". However, the words CET, RTO and WTA to be described later are only used in the process control block encountered when the calculation mode bit in the process main word PMW 0 is at "1". You will only in this case updated.
Das Wartezeit-Berechnungswort WTA in den Bytes 12 bis 23 ist ein Realzeitzähler, welcher die gesamte Zeitdauer bestimmt, in der sich der Prozeß im Wartezustand befunden hat. Das WTA-Wort wird folgendermaßen fortgeschrieben: Jedesmal wenn der Prozeß den Wartezustand verläßt, wird der Stand TOD einer Tageszeituhr abgelesen und die Differenz zwischen TOD und dem Wert eines Wortes CET zum Wartezeit-Berechnungswort WTA hinzu addiert.The waiting time calculation word WTA in bytes 12 to 23 is a Real-time counter, which determines the total length of time in which the process has been in the waiting state. The WTA word will updated as follows: Every time the process leaves the waiting state, the TOD reading is read from a clock of the day and the difference between TOD and the value of a word CET is added to the waiting time calculation word WTA.
Das in den Bytes 24 bis 31 befindliche Doppelwort RTA für die Berechnung der Vorbereitungszeit, welches ebenfalls einen Realzeitzähler darstellt, bestimmt die gesamte Zeitdauer, über die sich der Prozeß im vorbereiteten Zustand befunden hat. Das RTA-Wort wird folgendermaßen fortgeschrieben: Jedesmal wenn der Prozeß den Vorbereitungszustand verläßt, wird der Wert TOD der Ta- · geszeituhr abgelesen und ihr Inhalt abzüglich des Inhalts des CET-Wortes zum RTA-Wort addiert. Das CET-Doppelwort in den Bytes 32 bis 39 gibt die Tageszeit an, zu der der Prozeß in einen der folgenden Zustände übergegangen ist: Vorbereitet, wartend, ablaufend und ausgesetzt. Es bezeichnet also die Eintrittszeit in den jeweils gerade vorhandenen Ist-Zustand.The double word RTA in bytes 24 to 31 for calculating the preparation time, which is also a real-time counter represents the total time over which the process was in the prepared state. The RTA word is updated as follows: Every time the process leaves the preparation state, the value TOD of the day read the time clock and add its content minus the content of the CET word to the RTA word. The CET double word in bytes 32 to 39 indicates the time of day at which the process entered one of the following states: Prepared, waiting, running and exposed. It describes the time of entry into the current current state.
Figur 6 zeigt das Format der Systembasis 600. Sie liegt im absoluten Hauptspeicher und wird von Firmware entwickelt, welche über das Grenzadressenregister BAR zugängig ist, das wie erwähnt, nur gelesen ab£r in das nicht eingeschrieben werden kann. Das Grcnzadrcssonrogister BAR liegt unterhalb eines Bereichs im Hauptspeicher, der für Hardware reserviert ist und trennt diesen Bereich von der Systembasis 600. Letztere enthält eine Anzahl vonFIG. 6 shows the format of the system base 600. It is in the absolute Main memory and is developed by firmware which over the limit address register BAR is accessible, which, as mentioned, can only be read from £ r into which cannot be written. The Grcnzadrcssonrogister BAR is located below an area in main memory that is reserved for hardware and separates this area from the system base 600. The latter contains a number of
9810/09939810/0993
Systemattributen, welche eine Jobschrittnummer und eine Prozeßgruppennummer (JP) für den gerade laufenden Prozeß enthalten. Aus dem logischen Namen J, P des Prozesses wird die absolute Adresse des entsprechenden Prozeßsteuerblocks PCB abgeleitet. Umfang und Adresse der J-Tabelle sind durch die Inhalte des J-Tabellenworts (JTW) definiert. Dieses Wort befindet sich an der durch das BAR-Register bestimmten Adresse. Das Format des J-Tabellenworts ergibt sich aus Figur 11a. Der Umfang (JTSZ) 1101 oder die J-Tabelle 1204 in Figur 12 bestimmen die Anzahl der Eingangsstellen in die J-Tabelle 1204, welche bis 255 Eingänge haben kann. Das Umfangsfeld JTSZ 1101 ist ein 8-Bit positives ganzzahliges . Ein Ausnahmesignal tritt auf, falls J größer ist als JTSZ. Die absolute Adresse der J-Tabelle 1204 erhält man durch Multiplikation der J-Tabellenhinweisadresse 1102 mit 16. Die J-Tabella 1204 enthält die J-Tabelleneingänge, deren Format aus Figur 11b ersichtlich ist. Jede J-Tabellen-Eingangsstelle bestimmt die absolute Adresse einer P-Tabelle 1205, die durch Multiplikation der P-Tabellenhinweisadresse 1104 mit 16 entsteht. Der Umfang (PTSZ) 1103 einer P-Tabelle definiert die Anzahl der Eingangsstelle in die P-Tabelle. Dieser Umfang ist ein positives 8-Bit ganzzahliges, welches typischerweise zwischen 0 und 255 liegt und die Anzahl der Eingangsstelle in die P-Tabelle angibt. Ein Ausnahmesignal, welches anzeigt, daß die Adresse außerhalb der P-Tabelle liegt, erscheint, falls P größer ist als PTSZ. Jede Eingangsstelle der P-Tabelle 1205 bestimmt die absolute Adresse eines Prozeßsteuerblocks 1206, indem man die Hinweisadresse 1107 des Prozeßsteuerblocks mit 16 multipliziert. Ein Anwesenheits-Indikator P 1105 gibt, wenn er auf "0" steht, das Fehlen des Prozeßsteuerblocks 1206 an. Ist der Prozeßsteuerblock vorhanden, so steht dieser Anwesenheitindikator auf "1". Ist dieser Indikator gleich "0", so tritt ein Ausnahmesignal auf, welches auf einen vakanten P-Tabelleneingang hinweist. Die Bits 1 bis 7 des P-Tabellenindikators (Figur 11c) müssen gleich 0 sein (MBZ-FeId 1106), andernfalls tritt ein einen unzulässigen Eingang zur P-Tabello anzeigendes Ausnahmesignal auf.System attributes, which include a job step number and a process group number (JP) for the current process. The logical name J, P of the process becomes the absolute address of the corresponding process control block PCB derived. The scope and address of the J table are determined by the contents of the J table word (JTW). This word is located at the by the BAR register specific address. The format of the J table word results from FIG. 11a. The scope (JTSZ) 1101 or the J table 1204 in FIG. 12 determine the number of entry positions in the J table 1204 which have up to 255 entries can. The JTSZ 1101 perimeter field is an 8-bit positive integer. An exception signal occurs if J is greater than JTSZ. The absolute address of the J table 1204 is obtained by multiplying the J table pointer address 1102 by 16. The J table 1204 contains the J table entries, the format of which can be seen from FIG. 11b. Each J-table entry point is determined the absolute address of a P table 1205, which is obtained by multiplication the P table pointer address 1104 is 16. The scope (PTSZ) 1103 of a P table defines the number of entry points in the P table. This extent is a positive one 8-bit integer, which is typically between 0 and 255 and indicates the number of entry points in the P table. An exception signal, which indicates that the address is outside the P table, appears if P is greater than PTSZ. Each entry point of the P table 1205 determines the absolute address of a process control block 1206 by using the reference address 1107 of the process control block multiplied by 16. A presence indicator P 1105 is when it is "0" that Absence of process control block 1206. If the process control block is present, this presence indicator is at "1". is if this indicator equals "0", an exception signal occurs which indicates a vacant P-table entry. The bits 1 to 7 of the P table indicator (Figure 11c) must equal 0 (MBZ field 1106), otherwise an impermissible occurs Input to the P-Tabello indicating exception signal.
■709810/0993■ 709810/0993
An der Adresse BAR plus 4 der Systembasis 600 befindet sich das Format-Byte des G-Tabellonwortes (GTW), welches im einzelnen aus Figur 11d ersichtlich ist. Umfang und Adresse einer G-Segmenttabelle 1212 sind durch den Inhalt des G-Tabellenworts definiert. Der Umfang (GTSZ) 1108 der G-Tabelle 1212 bestimmt die "Anzahl der Eingangsstellen in die G-Tabelle, die üblicherweise bis zu 255 Eingänge hat. Das Umfangsfeld GTSZ ist ein ganzzahliges positives 8-Bit-Feld. Ein Ausnahmesignal zeigt an, daß man sich außerhalb der G-Tabelle befindet, wenn die G-Nummer größer ist GTSZ. Die absolute Adresse der G-Tabelle erhält man durch Multiplikation der G-Tabellen-Hinweisadresse 1109 mit 16. Das Format der G-Segmenttabelleneingangsstelle hat den Umfang zweier Worte (8 Bytes)4und wird G-Segmentdescriptor genannt. Das Format eines solchen G-Segmentdescriptors ergibt sich aus den Figuren 11e und 11f. Alle G-Segmentdescriptoren sind gerichtet und folglich muß das Indirekt-Bit (I) 1111 gleich "0" sein, andernfalls ein Ausnahmesignal entsteht, welches einen unzulässigen Segmentdencriptor anzeigt. Der Anwesenheitsindikator P 1110 ist ein 1-Bit-Feld, welches, wenn es auf "1" steht, anzeigt, daß ein Segment im Hauptspeicher zu der Segmentnummer gehört, welche dem Descriptor entspricht. Hat der Anwesenheitsindikator den Wert 11O", so ist kein Segment definiert und eine Bezugnahme auf diesen Segmentdescriptor bewirkt ein Ausnahmesignal dahingehend, daß dieses Segment fehlt. Das Verfügbarkeits-Bit A1112 ist ebenfalls ein 1-Bit-Feld, welches anzeigt, ob das Segment verfügbar ist oder nicht. Es wird nur überprüft, wenn dieses Segment definiert ist, d.h. wenn P gleich "1" ist. Andernfalls wird es vernachlässigt. Das Benutzungsanzeigefeld (Uli 113! läßt erkennen, ob das Segment angewählt wurde oder nicht. Wenn das Bit U auf "0" steht, erfolgte kein Zugriff zu diesem Segment. Andernfalls steht es auf "1". Das Beschriebenanzeigefeld (W) 1114 zeigt, ob in ein Segment eingeschrieben worden ist oder nicht. Steht es auf "0", so wurde nichts in das Segment eingeschrieben. Andernfalls steht es auf "1". Der Zugangsindikator (GS) 1115 eines G-Segmentdescriptors muß auf "01" stehen, andernfalls erscheint einThe format byte of the G table word (GTW), which can be seen in detail from FIG. 11d, is located at the address BAR plus 4 of the system base 600. The scope and address of a G segment table 1212 are defined by the content of the G table word. The scope (GTSZ) 1108 of the G table 1212 determines the "number of entry positions in the G table, which usually has up to 255 entries. The scope field GTSZ is an integer positive 8-bit field. An exception signal indicates that you are outside the G table if the G number is greater than GTSZ. The absolute address of the G table is obtained by multiplying the G table reference address 1109 by 16. The format of the G segment table entry position is two words (8 bytes) 4 and is called the G-segment descriptor. The format of such a G-segment descriptor is shown in Figures 11e and 11f. All G-segment descriptors are directed and consequently the indirect bit (I) 1111 must be "0" , otherwise an exception signal arises which indicates an illegal segment dencriptor. The presence indicator P 1110 is a 1-bit field which, when it is at "1", indicates that a segment in the main memory belongs to the segment number which corresponds to the descriptor. If the presence indicator has the value 11 ", then no segment is defined and a reference to this segment descriptor causes an exception signal to the effect that this segment is missing. The availability bit A1112 is also a 1-bit field which indicates whether the segment is available or not. It is only checked if this segment is defined, ie if P is equal to "1". Otherwise it is neglected. The usage display field (Uli 113! shows whether the segment has been selected or not. If the bit If U is "0", this segment has not been accessed. Otherwise, it is "1." The description display field (W) 1114 shows whether or not a segment has been written. If it is "0", nothing has happened otherwise it is set to "1." The access indicator (GS) 1115 of a G-segment descriptor must be set to "01", otherwise a appears
709810/0993709810/0993
ein Ausgangssignal, welches einen unzulässigen Segm'inndescriptor anzeigt. Der Grund hierfür liegt darin, daß ein G-Segment immer Semaphoren enthält und Befehle für ein Semaphor erfordern, daß der GS-Code "01" ist. Umgekehrt gilt nicht, daß alle Semaphore in einem G-Segment liegen müssen. Die absolute Adresse der Basis eines Segmentes 1214 wird im G-Segmentdescriptor gemäß Figur He durch ein 24-Bit-Basisfeld 1116 definiert. Der Inhalt dieses Feldes wird mit 16 multipliziert, um die absolute Adresse zu erhalten. Das zweite Wort des G-Segmentdescriptors in Figur Hf umfaßt die Bit-Positionen 32 bis 63 in der G-Tabelle 1212. Das RSU-FeId 1117 mit den Bits 32 bis 39 ist für Software-Gebrauch reserviert und wird im allgemeinen ignoriert, wenn es wie im vorliegenden Fall als G-Segmentdescriptor benutzt wird. Das MBZ-FeId 1118 muß wiederum gleich "0" sein, da andererseits ein Ausnahmesignal auftritt, welches ein unzulässiges Segment anzeigt. Da das MBZ-FeId 118 die Bits 40 bis 51 belegt, setzt es das Umfangsfeld 1119, welches das Feld für ein kleines Segment ist. Somit müssen alle G-Segmente zum kleinen Segmenttyp gehören. Der Segmentumfangan output signal which has an illegal segment descriptor indicates. The reason for this is that a G segment always contains semaphores and commands for a semaphore require that the GS code is "01". Conversely, it does not apply that all semaphores must be in a G segment. The absolute address of the base of a segment 1214 is defined in the G-segment descriptor according to FIG. He by a 24-bit basic field 1116. The content of this field is multiplied by 16 to get the absolute address. The second word of the G segment descriptor in Figure Hf comprises the bit positions 32 to 63 in the G table 1212. The RSU field 1117, bits 32 through 39, is reserved for software use and is generally ignored when it is as it is here Case is used as a G-segment descriptor. The MBZ field 1118 must again be equal to "0", since on the other hand an exception signal occurs, which indicates an illegal segment. Since the MBZ field 118 occupies bits 40 to 51, it sets the peripheral field 1119, which is the field for a small segment. Thus, all G segments must belong to the small segment type. The segment scope
1119 ist ein 12-Bit ganzzahliges positives Feld, welches die Anzahl der Bytes im Segment festlegt. Der Segmentumfang ist in Vielfache von 16 unterteilt. Folglich kann der Segmentumfang für ein G-Segment 1214 den Wert von 2^ Bytes (kleine Segmente) nicht tiberschreiten. Wenn auf eine Verschiebung D innerhalb eines G-Segmentes Bezug genommen wird, wobei D größer als oder gleich dem Segmentumfang 1119 ist, so tritt ein Ausgang aus der Segment-Ausnahme auf. Die Methode des Zugriffs auf den Hauptspeicher unter Benutzung eines G-Segmentes und einer Verschiebung D innerhalb des Segmentes wird als G,D-Zugriff bezeichnet. Die verschiedenen Ausnahmen, die während G,D-Speicheroperationen auftreten können, werden als G,D-Zugriffsausnahmen bezeichnet.1119 is a 12-bit integer positive field that defines the number of bytes in the segment. The segment scope is divided into multiples of 16. As a result, the segment size for a G segment 1214 cannot exceed 2 ^ bytes (small segments). When reference is made to a displacement D within a G segment, where D is greater than or equal to the segment circumference 1119, an exit from the segment exception occurs. The method of accessing main memory using a G segment and a shift D within the segment is referred to as G, D access. The various exceptions that can occur during G, D store operations are called G, D access exceptions.
Im folgenden wird erneut auf die Systembasis 600 gemäß Figur 6 Bezug genommen. Es gibt dort neun Systemausnahmezellenworte, welche in den Plätzen zwischen BAR plus 8 und BAR plus 44 untergebracht sind. Das Format dieser EXC-Worte ergibt sich aus Figur 11g. Da,wenn eine Systemausnahme auftritt, für die übertragung von Nachrichten zu bestimmten Prozessen Semaphore benutzt werden^, sind die Hinweisadressen zu diesen Semaphoren in neuen Speicherplätzen des Speichers zu finden, wobei jeder dieser Speicherplätze eine Systemausnahmezelle genannt wird. Es ist jeweils eine pro Klasse von Systemausnahmen vorhanden. Das MBZ-FeIdIn the following, reference is made again to the system base 600 according to FIG. There are nine system exception cell words there, which are housed in the spaces between BAR plus 8 and BAR plus 44 are. The format of these EXC words results from FIG. 11g. Because when a system exception occurs, for the transmission semaphores are used by messages for certain processes ^, the reference addresses for these semaphores are in Find new locations in memory, each of which is called a system exception cell. It is each one per class of system exceptions. The MBZ field
1120 muß wiederum auf "0" stehen, weil sonst eine Systemüber-1120 must again be on "0", otherwise a system over-
7098 10/09937098 10/0993
prüfung erfolgt. Jede Ausnahmezelle EXC enthält den Systemnamen (G, D) 1121 bzw. 1122. Die Kanalausnahmozelle befindet sich in BAR plus 44 der Systembasis und hat ein Format, welches demjenigen der Systemausnahmezelle ähnlich ist. Sie enthält den Systemnamen G, D eines Semaphors, welches für die übertragung von Nachrichten zu bestimmten Prozessen benutzt wird, wenn das Kanalausnahmesignal auftritt.examination takes place. Each exception cell EXC contains the system name (G, D) 1121 or 1122. The channel exception cell is located in BAR plus 44 of the system base and has a format which corresponds to the one is similar to the system exception cell. It contains the system name G, D of a semaphore which is used for the transmission used by messages related to certain processes when the channel exception signal occurs.
Figur 11h zeigt das Format eines Internprozessor-Warteschlangenwortes IPQW, welches bei BAR plus 48 beginnt. Das IPQW-Wort zeigt auf den Kopf einer Warteschlange von im vorbereiteten Zustand befindlichen Prozessen (Q/PR/RDY), wie dies in Figur 9 durch die Bezugszeichen 905 und 805 angedeutet ist. Die Warteschlange im Vorbereitungszustand befindlicher Prozesse verbindet alle Prozesse, die im Vorbereitungszustand verharren. Sie wird durch den Kopf des Q/PR/RDY-Feldes 1124 (Figur 11h) des IPQW-Wortes angewählt, indem man auf die Spitze der Warteschlange der vorbereiteten Prozesse hinweist. Der Kopf des Q/PR/RDY-Feldos 1124 enthält eine 16-Bit positive ganze Zahl, welche die Verschiebung gegenüber der Basis des G-Segments Nummer 0, genannt das GO-Segment, gegenüber dem ersten Byte des Feld Q/PR/RDY darstellt. Ist dieses Bit-Feld gleich "0", so wird die Warteschlange als leer betrachtet. Das MBZ-FeId 1123 muß wiederum gleich "0" sein, da andernfalls ein Signal zur Systemüberprüfung erscheint.Figure 11h shows the format of an internal processor queue word IPQW, which starts at BAR plus 48. The IPQW word points to the head of a queue from in the prepared state processes located (Q / PR / RDY), as indicated in FIG. 9 by the reference numerals 905 and 805. The queue connects processes in the preparation state all processes that remain in the preparation state. It is represented by the head of the Q / PR / RDY field 1124 (Figure 11h) of the IPQW word selected by pointing to the top of the queue of prepared processes. The head of the Q / PR / RDY field 1124 contains a 16-bit positive integer which is the offset from the base of G-segment number 0, called the GO segment, opposite the first byte of the Q / PR / RDY field. If this bit field is "0", the queue is classified as viewed empty. The MBZ field 1123 must again be "0", otherwise a system check signal appears.
An der Stelle BAR plus 52 der Systembasis 600 liegt der Platz für die anfänglichen und laufenden Wiederversuchsnummern, deren Format sich aus Figur 111 ergibt. Das NFS-FeId 1125 ist ein nicht funktionelles Speicherfeld und wird von der Systembasis nicht verwendet. Das Anfangsversuchsnummemfeld 1126 und das laufende Versuchs.nummernfeld 1127 werden benutzt zur Steuerung, wie oft ein Befehl für einen automatischen Wiederversuch ausgeführt wird, ehe ein Maschinenfehlor-Ausnahmcsignal erzeugt wird. Dioou Werte werden mit der gleichen Zahl durch einen nicht dargestellten Wiederversuchs-Rückstellzähler geladen. At the point BAR plus 52 of the system base 600 is the place for the initial and current retry numbers, their Format results from Figure 111. The NFS field 1125 is a non functional memory field and is not used by the system base. The initial trial number field 1126 and the current one Trial number fields 1127 are used to control how often an automatic retry instruction is executed before a machine fault exception signal is generated. Dioou Values are loaded with the same number by a retry reset counter, not shown.
709810/0993709810/0993
Das in Figur 11 j dargestellte Ablaufprozeßwort RPW befindet sich im Speicherplatz BAR plus 56 der Systembasis und wird zur Speicherung des Namens des laufenden Prozesses und im Fall eines Monoprozessor-Aufbaus mit seiner Priorität benutzt. Die NFS-Felder 1128 und 1131 sind wiederum nicht funktioneile Speicherfelder und können für beliebige Zwecke eingesetzt werden, finden jedoch im allgemeinen keine Anwendung in der Systembasis. Der Prioritätsgrad eines laufenden Prozesses wird im PRI-FeId 1129 gespeichert. Ein asynchrones Abfangbit befindet sich im AB-FeId 1130, während ein asynchroner Abfangring im ARN-FeId 1132 liegt, der logische Name J, P des laufenden Prozesses ist im Fall eines Monoprozessor-Aufbaus im J, P-FeId 1133 abgelegt.The sequence process word RPW shown in FIG. 11j is located in memory location BAR plus 56 of the system base and is used to store the name of the current process and in the case of a Monoprocessor structure used with its priority. The NFS fields 1128 and 1131 are again non-functional storage fields and can be used for any purpose, but generally have no application in the system base. Of the The priority level of an ongoing process is set in PRI field 1129 saved. An asynchronous interception bit is in the AB field 1130, while an asynchronous interception ring is in the ARN field 1132 the logical name J, P of the current process is im In the case of a monoprocessor structure, stored in the J, P field 1133.
Ein AbsOlutisiertabellen-Hinweiswort gemäß Figur 11k liegt an der Stelle BAR plus 60 in der Systembasis 600 und wird beim anfänglichen Systemladen dazu benutzt, die absoluten Adressen im Anfangs-Systemladeprogramm ISL dadurch vorzubereiten, daß der Inhalt des Grenzadressenregisters BAR zu allen absoluten Adressen im ISL-Programm hinzugefügt wird. Die Absolutisiertabelle-Hinweisadresse 1135 bestimmt den Speicherplatz der nicht dargestellten Absolutisiertabelle. Ihr Umfang wird durch das ATSZ-FeId 1134 bestimmt.An absolute table reference word according to FIG. 11k is present the digit BAR plus 60 in the system base 600 and is used during the initial system load to store the absolute addresses to prepare ISL in the initial system loader by the content of the boundary address register BAR is added to all absolute addresses in the ISL program. The absolute table reference address 1135 determines the storage location of the absolutization table (not shown). Your scope will be through the ATSZ field 1134 is determined.
Das Seriennummerwort der Zentraleinheit ist in Figur 111 dargestellt und besteht aus einem 4-Byte-Wort, welches im Speicherplatz BAR plus 64 liegt. Es enthält außer der Seriennummer der Zentraleinheit das Seriennummernfeld 1136 der Zentraleinheit. Figur 11m zeigt das die Obergrenze des Hauptspeichers bezeichnende Wort, welches im Speicherplatz BAR plus 68 abgelegt ist. Dieses Wort 1139 gibt die absolute Adresse des letzten zugängigen Wortes im Hauptspeicher an. In der Speicherstelle BAR plus 72 liegt das"in Figur 11n dargestellte Wort, welches die Geräto-Jonalnummer (CN) 1140 für das anfängliche Laden des Systems ISL und die Hardware-Gerätekanalnummer (CN) 1141 angibt.The serial number word of the central unit is shown in FIG. 111 and consists of a 4-byte word which is in the storage location BAR plus 64 . In addition to the serial number of the central unit, it contains the serial number field 1136 of the central unit. FIG. 11 m shows the word designating the upper limit of the main memory, which is stored in the memory location BAR plus 68. This word 1139 gives the absolute address of the last accessible word in main memory. The word shown in FIG. 11n is located in the memory location BAR plus 72, which specifies the device terminal number (CN) 1140 for the initial loading of the ISL system and the hardware device channel number (CN) 1141.
709810/0993709810/0993
Typ und üntertyp eines in dem Rechnersystem benutzten Gerätes wird durch ein Hardware-Gerätetypwort (Figur Ho) in den Feldern 1143 bzw. 1144 angegeben, während das RSU-FeId 1142 für Software reserviert ist. Dieses Wort findet sich in der Systembasis an der Stelle BAR plus 76. Ein ähnliches Wort von ähnlichem Format zeigt Figur 11p und enthält Typ und Untertyp des Gerätes, welches beim anfänglichen Laden des Systems benutzt wird. Dieses Wort befindet sich an der Stelle DAR plus 80.Type and sub-type of a device used in the computer system is indicated by a hardware device type word (Figure Ho) in the fields 1143 and 1144, while the RSU field 1142 for Software is reserved. This word can be found in the system base at BAR plus 76. A similar word from Figure 11p shows a similar format and contains the type and sub-type of device used when the system is initially loaded will. This word is at the position DAR plus 80.
der
Wenn bei einem Rechner Wiederstart-Knopf gedrückt wird, läuft eine simulierte V-Gperation für ein Seraaphor ab und gelangt zum
Vorbereitungszustand. Eine Hinweisadresse auf dieses Semaphor findet man an der Stelle BAR plus 84 der Systembasis und wird
das Wiederstart -Zellenwort genannt. Sie hat das in Figur 11q dargestellte Format. Es ist dem der Systemausnahmezelle ähnlich
und enthält den Namen G, D eines Semaphors im G-FeId 1149 bzw.
B-Feld 1150. Das MBZ-FeId 1148 muß "0" sein. Sind in dem Computersystem mehr als ein Prozessor vorhanden, so ist in der
Systembasis 600 an der Stelle BAR plus 88 ein Wort für Multiprozeß-Erweiterung
vorgesehen. Dieses ist in Figur 11r dargestellt. the
If the restart button is pressed on a computer, a simulated V operation for a Seraaphor runs and comes to the preparation state. A reference address to this semaphore can be found at the position BAR plus 84 in the system base and is called the restart cell word. It has the format shown in FIG. 11q. It is similar to that of the system exception cell and contains the name G, D of a semaphore in the G field 1149 or B field 1150. The MBZ field 1148 must be "0". If there is more than one processor in the computer system, a word for multi-process expansion is provided in the system base 600 at the position BAR plus 88. This is shown in Figure 11r.
Beispiel^ für die Benutzung der Systembasis und des Prozeß-Steuerblocks Example ^ for the use of the system base and the process control block
Figur 12 zeigt ein Ausführungsbeispiel, wie die Systembasis in Verbindung mit dem Prozeßsteuerblock für die Adressierung und den Zugriff.zu einem Benutzersegment, einem Systemsegment oder einem Segment mit einer Warteschlange vorbereiteter Prozesse eingesetzt wird. Der Hauptspeicher 1200 hat einen für Hardware-Benutzung reservierten Teil 1203. Ein Grenzadressenregister BAR 1202 trennt die Systembasis 1215 von dem für Hardware reservierten Teil 1.B03 des Hauptspeichers. Das Grenzadressenregister BAR 1202 wird dadurch zur Adressierung von Größen in der Systembasis 1215 benutzt, daß man den Inhalt des Grenzadressenregisters der Vorschiebung in vier Byte-Einheiten der gewünschten GrößeFigure 12 shows an embodiment of how the system base in conjunction with the process control block for addressing and access. to a user segment, a system segment or a segment with a queue of prepared processes is used. The main memory 1200 has one for hardware use reserved part 1203. A limit address register BAR 1202 separates the system base 1215 from that reserved for hardware Part 1.B03 of the main memory. The limit address register BAR 1202 is used to address variables in the system base 1215 uses the contents of the limit address register of the advance in four byte units of the desired size
709810/0993709810/0993
in der Systembasis hinzuaddiert. Diese Adresse weist dann auf das erste Byte der Größe in der gewünschten Systembasis hin. In Figur 12 weist das Grenzadressenregister 1202 auf das J-Tabellenwort JTW. Dieses Wort enthält eine Hinweisadresse, welche auf die J-Tabelle 1204 zeigt. Durch Indizieren zur J-Nummer gemäß Figur erhält man einen J-Tabelleneingang 1216. An diesem Eingang befindet sich eine P-Tabellenhinweisadresse, welche auf die absolute Adresse in der P-Tabelle 1205 hinweist. Durch Indizieren zur P-Nummer (siehe Figur 5) innerhalb der P-Tabelle 1205 erhält man die absolute Adresse des Prozeßsteuerblocks 1206. Wie bereits beschrieben, befinden sich im Prozeßsteuerblock 1206 zwei Adressraumworte ASW 0 und ASW 1. Die höherwertigen Bits des Segmenttabellennummernfelds STN im Basisregister 1201 werden für den Zugriff zu einem dieser beiden Adressenworte ausgenutzt, in diesem Fall zum Wort ASW 1, welches eine Hinweisadresse auf eine Segmenttabellen-Wortanordnung STWA aufweist, die zur Segmenttabellen-Wortanordnung STWA 1208 führt. Zusammen mit der Segmenttabellennummer STN des Basisregisters 1201 erfolgt ein Zugriff zu acht Sgmenttabellenworten in der Segmenttabellen-Wortanordnung 1208. Diese Segmenttabellenworte weisen auf eine der acht Segmenttabellen 1210. Die Segmenttabelleneingangsstelle STE von der Basis 1201 wird dann für die Ausführung einer der 256 Eingangsstellen in der Segmenttabelle 1210 verwendet, wo sich ein Segmentdescriptor befindet. Letzterer wird dann für den Zügriff zum Benutzersegment 1211 eingesetzt.added in the system base. This address then points to the first byte of the size in the desired system base. In FIG. 12 points the limit address register 1202 to the J table word JTW. This word contains a pointer that points to the J table 1204. By indexing to the J number according to the figure you get a J table input 1216. This input is located a P-table reference address, which refers to the absolute Address in the P table 1205 indicates. Obtained by indexing to the P number (see Figure 5) within the P table 1205 one is the absolute address of process control block 1206. As already described, there are 1206 in process control block two address space words ASW 0 and ASW 1. The more significant bits of the segment table number field STN in the base register 1201 are used for exploited access to one of these two address words, in this case to the word ASW 1, which is a reference address to a Has segment table word arrangement STWA, the segment table word arrangement STWA 1208 leads. Together with the segment table number STN of the base register 1201, eight segment table words in the segment table word arrangement are accessed 1208. These segment table words point to one of the eight segment tables 1210. The segment table entry point STE from the Base 1201 is then used to execute one of the 256 entry points in the segment table 1210, where a segment descriptor is located. The latter is then used to access the user segment 1211.
Um Zugriff zu einem Systemsegment 1214 zu erhalten, das zur Speicherung von Semaphoren dient, wird ein G-Tabellenwort GTW in der Systembasis 1215 benutzt. Die Adresse des G-Tabellenworts erhält man durch Hinzufügen der Verschiebung des G-Tabellenwortes in der Systembasis zum Grenzadressenregister BAR 1202 (vgl. Figur 6). Das G-TabelJ.enwort GTW enthält eine G-Tabollenhinweisadresse auf eine G-Tabelle 1212. Durch Verwendung einer im System verfügbaren G-Nummer und Indizieren in die G-Tabelle erhält man Zugriff zu einem G-Segmentdescriptr, der zur Adressierung eines Systemsegments 1214 dient. In ähnlicher Weise wird die Systembasis fürTo gain access to a system segment 1214 that is used for storage is used by semaphores, a G table word GTW is used in the system base 1215. Receives the address of the G table word by adding the shift of the G table word in the system base to the limit address register BAR 1202 (see FIG. 6). The G table keyword GTW contains a G table reference address a G table 1212. Using one available in the system G number and indexing in the G table gives you access to a G segment descriptor, which is used to address a system segment 1214 serves. Similarly, the system basis for
7Q9810/09937Q9810 / 0993
den Zugriff zu einer Warteschlange von Vorbereitungszustand befindlichen Prozessen (Q/PR/RDY) 1213 verwendet, indem man ein internes Prozessor-Warteschlangenwort ..IPQW aufsucht, welches auf das Q/PR/RDY Segment 1213 hinweist.access to a queue of preparation state Processes (Q / PR / RDY) 1213 used by one internal processor queue word ..IPQW, which refers to the Q / PR / RDY segment 1213.
Die Figuren 13a bis 13c zeigen Einzelheiten desSteuerwerks. Dieses ist obwohl es getrennt von der Zentraleinheit CPU dargesbellt ist, in Wirklichkeit ein Teil der Zentraleinheit und besteht aus einem Speichersteuerwerk (CSU) 1301, einem Steuerspeicher-Schnittstellenadapter (CIA) 1302 mit zugehörigen Untereinheiten, .'einem Steuerspeicherlader (CSLJ 1303 sowie einer Steuer- und Ladeeinheit (CLU)1304. Das Speicharsteuerwerk 1301 empfängt Mikrobefehle über die Steuer- und Ladeeinheit 1304 und den Steuerspeicherschnittstellenadapter 1302 vom Steuerspeicherladcr 1304. Unter normalen Betriebsbedingungen werden die Mikroprogramme während des Einleitungsvorgangs des Systems aus einer externen Quelle geladen und v/erden zur dauerhaften Steuerfunktion für die Maschinen. Jedoch hat das SpeicherSteuerwerk 1301 auch die Möglichkeit, neugeladen und inganggesetzt zu werden und zwar in einer Weise, welche eine Vielzahl von Zentraleinheit-Operationstnöglichkeiten vorsieht. Die folgenden Operationsmoden für die Zentraleinheit sind unter der Steuerwirkung des Speichersteuerwerks 1301 verfügbar:(a) Eigenbereichsmodus; (b) Emulationsmodus; (c) gleichzeitig Eigenbereich und Emulationsmodus; (d) Uberprüfungsmodus. Diese Fähigkeit ergibt sich, weil die Mikrobefehle im Speichersteuerwerk die Quelle von MikroOperationen sind, welchejzur Steuerung des Betriebs aller anderen Funktionseinheiten der Zentraleinheit dienen, beispielsweise der Emulator 1316, das Rechenwerk 1317, die Befehlsabrufeinheit IFU 1318, das Adressenstifcuerwerk ACU 1319 und die Datenverwaltungseinheit DMU 1321. Weiterhin sind innerhalb der Zentraleinheit 1306 die zuvor beschriebenen Goneralrcgister 1307, Basisregister 1308, wissenschaftlichen Register 1309, T-Register 1310, Zustandsregistcr 1311, Befehlszähler IC 1312 und das Hardwaro-Steuormaskcnregister 1313 dargestellt. v Figures 13a to 13c show details of the control unit. Although it is shown separately from the central unit CPU, it is actually part of the central unit and consists of a memory control unit (CSU) 1301, a control memory interface adapter (CIA) 1302 with associated sub-units, a control memory loader (CSLJ 1303 and a control and loader unit (CLU) 1304. The memory controller 1301 receives microinstructions via the control and loader unit 1304 and the control memory interface adapter 1302 from the control memory loader 1304. Under normal operating conditions, the microprograms are loaded from an external source during the initiation process of the system and are v / grounded for permanent purposes However, the memory controller 1301 also has the ability to be reloaded and started in a manner which provides a variety of CPU operations Controller 1301 available: (a) Eigenrange mode; (b) emulation mode; (c) Self-domain and emulation mode at the same time; (d) Review mode. This capability arises because the microinstructions in the memory control unit are the source of micro-operations which are used to control the operation of all other functional units of the central processing unit, for example the emulator 1316, the arithmetic unit 1317, the instruction fetch unit IFU 1318, the address stick unit ACU 1319 and the data management unit DMU 1321 Furthermore, the previously described goneral register 1307, base register 1308, scientific register 1309, T register 1310, status register 1311, instruction counter IC 1312 and hardware control mask register 1313 are shown within the central unit 1306. v
7 0 9810/09937 0 9810/0993
Im typischen Fall ist das Speichersteuerwerk CSU 1301 ein 9K bipolarer programmierbarεκ* Festwertspeicher PROM in integrierter Schaltungstechnik unden mit einem Lese/Schreib-Direktzugriffsspeicher RAM.Sie haben überlicherweise eine Lesezykluszeit von 150 ns und eine Schreibzykluszeit von 450 ns. Jeder Speicherplatz des Steuerspeichers speichert ein 84 Bit Mikrobefehlswort und jedes Mikrobefehlswort steuert einen Zentraleinheitzyklus. Bei jedem Lesen eines Speicherplatzes im Speichersteuerwerk 1301 wird sein Inhalt durch Mikrobefehlsdekodierer dekodiert, welche ein Mikrooperations-Steuersignal erzeugen, von denen jedes eine bestimmte Operation innerhalb der Zentraleinheit auslöst. Durch gruppenweises Zusammenfassen von Stellen innerhalb jedes Mikrobefehlswortes erhält man Steuerspeicherfolgen, welche eine bestimmte Zentraleinheits-Operation oder einen Befehl ausführen. Da'jeder Befehl durch die Zentraleinheit ausgelöst wird, benutzt man bestimmte Bits innerhalb des Operationskodes für die Bestimmung der Startfolge des Steuerspeichers. Durch überprüfung bestimmter Flip-Flops, welche durch Befehlsdekodierfolgen gesetzt oder rückgestellt werden, ist es dem SpeicherSteuerwerk möglich, erforderlichenfalls in eine spezielle Folge abzuzweigen.In the typical case, the memory control unit CSU 1301 is a 9K bipolar programmable κ * read-only memory PROM in an integrated Circuit technology with a read / write random access memory RAM. They usually have a read cycle time of 150 ns and a write cycle time of 450 ns. Any storage space of the control memory stores an 84 bit microinstruction word and each microinstruction word controls one central processing unit cycle. Each time a memory location is read in the memory controller 1301 its content is decoded by microinstruction decoders which generate a micro-operation control signal, each of which is a triggers a certain operation within the central unit. By grouping together positions within each microinstruction word one obtains control memory sequences which execute a certain central processing unit operation or an instruction. Since every command is triggered by the central unit, used certain bits within the opcode are used to determine the start sequence of the control store. By checking certain flip-flops, which are set or reset by command decoding sequences, it is the memory control unit possible to branch off into a special sequence if necessary.
Der Steuerspeicher-Schnittstellenadapter 1302 steht im Informationsaustausch mit dem Speichersteuerwerk 1301, der Datenverwaltungseinheit 1321, dem Adressensteuerwerk ACU 1319 und dem Rechenwerk 1317, um auf diese Weise den Betrieb des Speichersteuerwerks 1333 in Figur 13d zu bestimmen. Der Steuerspeicher-Schnittstellenadapter 1302 enthält ferner Logikschaltungen für die Modifizierung, überprüfung, Fehlerfeststellung in Steuerspeicheradressen und zur Erzeugung von Hardwareadressen. Letzteres wird allgemein für die Entwicklung einer Anfangsadresse einer Fehlerfolge oder für die Einleitungsfolge benutzt.The control store interface adapter 1302 is in information exchange with the memory controller 1301, the data management unit 1321, the address controller ACU 1319 and the Arithmetic unit 1317 in order to operate the storage control unit in this way 1333 in Figure 13d to be determined. The control store interface adapter 1302 also contains logic circuits for the modification, checking, error detection in control store addresses and for generating hardware addresses. The latter is generally used for developing a starting address of a Error sequence or used for the introductory sequence.
Die Datenverwaltungseinheit 1321 bildet die Schnittstelle zwischen Zentraleinheit 1306 und dem Hauptspeicher und/oder dem Pufferspeicher gemäß Figur 1. Die Datcnverwaltungseinheit hat die Aufgabe festzustellen, welche Einheit die von anderen EinheitonThe data management unit 1321 forms the interface between Central processing unit 1306 and the main memory and / or the buffer memory according to Figure 1. The Datcnverwaltungseinheit has the task determine which unit is that of other unit
709810/0993709810/0993
benötigten Informationen aufweist und diese Informationen zur ι richtigen Zeit in die Register der Zentraleinheit zu überführen. Die Datenverwaltungseinheit sorgt auch für die Maskierung bei | bestimmten Schreiboperationen. Die Befehlsabrufeinheit IFU 1318 bildet Schnittstellen mit der Datenverwaltungseinheit 1321, dem Adressensteuerwerk 1319, dem Rechenwerk 1317 und dem Speichersteuerwerk 1301 und ist dafür verantwortlich, daß die Zentraleinheit mit Befehlen versorgt wird. Die Befehlsabrufeinheit hat jeweils vor Ablauf des gegenwärtigen Befehls den nächsten Befehl in ihren Registern bereit. Um dies zu ermöglichen, hat die IFU 1318 ein 12-Byte-Befehlsregister, welches normalerweise mehr als einen Befehl enthält. Zusätzlich fordert die IFU, gesteuert durch das Speichersteuerwerk CSU Informationen aus den Hauptspeicher an, ehe diese Information tatsächlich benötigt wird. Auf diese Weise schreibt sie ihr 12-Byte-Befehlsregister ständig fort. Befehle werden vorabgerufen mit Hilfe normaler Weise nicht benutzter jHas required information and this information to ι at the correct time in the registers of the central unit. The data management unit also takes care of the masking for | certain write operations. The instruction fetch unit IFU 1318 forms interfaces with the data management unit 1321, the Address control unit 1319, the arithmetic unit 1317 and the memory control unit 1301 and is responsible for ensuring that the central processing unit is supplied with commands. The instruction fetch unit has each have the next instruction in their registers before the current instruction expires. To make this possible, the IFU 1318 is a 12-byte command register, which is usually more than contains a command. In addition, the IFU, controlled by the memory control unit CSU, requests information from the main memory before this information is actually needed. In this way, it continually updates its 12-byte command register. Commands are prefetched using normally unused j
i Speicherzyklen. Die IFU dekodiert ferner jeden Befel und infor- j miert andere Einheiten über Länge und Format des Befehls. ji memory cycles. The IFU also decodes every Befel and infor- j mates other units over the length and format of the command. j
•Das Adressensteuerwerk ACU 1319 steht über den CIA in Verbindung mit der IFU, dem ALU, der DMU und dem CSU. Das ACU 1319 ist für j die gesamte Adressenentwicklung in der Zentraleinheit verant- i wortlich. Alle Operationen des Adressensteuerwerks einschließlich ! der übertragung zu, von und innerhalb des Steuerwerks werden -· durch Mikrobefehle des Speichersteuerwerks und durch logische ; Schaltkreise bewirkt. Der normale Zyklus des Adressensteuerwerks hängt von der Art der Adressen im Befehl ab und nicht von der Art der Befehle. In Abhängigkeit vom Adressentyp kann das Adressensteuerwerk unterschiedliche Operationen für jede Adresse innerhalb eines Befehls ausführen. Das Adressensteuerwerk enthält ferner einen Assoziativspeicher 1319a, welcher die Basisadresse• The address control unit ACU 1319 is connected to the IFU, the ALU, the DMU and the CSU via the CIA. The ACU 1319 is responsible for j the entire address development in the central unit. All operations of the address controller including! the transmission to, from and within the control unit are - · by microinstructions of the memory control unit and by logical; Circuits causes. The normal cycle of the address controller depends on the type of addresses in the instruction, not the type of instructions. Depending on the address type, the address controller can perform different operations for each address within a command. The address control unit also contains an associative memory 1319a which is the base address
der zuletzt benutzen acht Speichersegmente zusammen ihren Segmentnummern speichert. Jedesmal wenn ein Zugriff zu einem Speicher erfolgen soll, wird die Segmentnummer mit dem Inhalt des Assoziativspeichers verglichen, um festzustellen, ob die Basisadresse des Segments bereits entwickelt und gespeichert ist.the latter use eight memory segments together with their segment numbers saves. Every time a memory is to be accessed, the segment number with the content of the Associative memory compared to see if the base address of the segment is already developed and stored.
709810/0993709810/0993
-58- f ·-58- f
Befindet sich die Basisadresse im Assoziativspeicher 1319a,so wird sie für die absolute Adressenentwicklung benutzt, wodurch eine beträchtliche Zeitersparnis gegeben ist. Befindet sich die Basisadresse nicht im Assoziativspeicher 1319a, so wird sie durch Zugriff zu den Hauptspeichertabellen entwickelt. Jedoch wird nach der Entwicklung der Basisadresse des Segments diese im Assoziativspeicher zusammen mit ihrer Segmentnummer für spätere Bezugnahme abgelegt. Das Rechenwerk ALU 1317 arbeitet mit dem Adressensteuerwerk ACU, der Befehlsabrufeinheit IFU, der Datenverwaltungseinheit DMU und dem SpeicherSteuerwerk CSU zusammen. Seine Hauptaufgabe besteht in der Durchführung arithmetischer Operationen und Datenverarbeitungen, welche von der Zentraleinheit gefordert werden. Die Operationen des Rechenwerks sind völlig von Mikrobefehls-Steuersignalen aus dem Speichersteuerwerk 1301 abhängig. Dem Rechenwerk 1317 und dem Speichersteuerwerk 1301 zugeordnet ist ein Zwischenspeicher LSU 1315, welcher manchmal auch als interne Speichereinheit bezeichnet wird. Dieser Zwischenspeicher besteht im typischen Fall aus einem Festwertspeicher mit 256 Speicherplätzen und 32 Bits pro Speicherplatz sowie einer Auswahl- und' Lese/Schreiblogik für diesen Speicher. Der Zwischenspeicher 1315 wird zum Abspeichern von Steuer- und Aufrechterhaltungsinformationen der Zentraleinheit verwendet. Zusätzlich enthält er Arbeitsplätze, die hauptsächlich zum vorübergehenden Speichern von Operanden und Teilergebnissen während der Datenverarbeitung dienen. Weiterhin ist dem Rechenwerk 1317 ein Hilfsspeicher 1317a zugeordnet, welcher im üblichen Fall 64 Flip-Flops zur Speicherung verschiedener Zustände des Rechnersystems enthält.If the base address is in the associative memory 1319a, so it is used for the absolute address development, which saves a considerable amount of time. Is the The base address is not in the associative memory 1319a, so it is developed by accessing the main memory tables. However after developing the base address of the segment, this is stored in the associative memory together with its segment number for Filed later reference. The arithmetic unit ALU 1317 works with the address control unit ACU, the command retrieval unit IFU, the data management unit DMU and the memory control unit CSU together. Its main task is to perform arithmetic Operations and data processing required by the central unit. The operations of the arithmetic unit are entirely dependent on microinstruction control signals from memory controller 1301. The arithmetic unit 1317 and the memory control unit 1301 is assigned a buffer LSU 1315, which is sometimes referred to as an internal storage unit. This buffer typically consists of one Read-only memory with 256 memory locations and 32 bits per memory location as well as selection and read / write logic for this Storage. The buffer memory 1315 is used to store control and maintenance information from the central unit used. In addition, it contains workplaces, which are mainly used to temporarily store operands and partial results serve during data processing. Furthermore, the arithmetic unit 1317 is assigned an auxiliary memory 1317a, which in the usual case 64 flip-flops for storing different states of the computer system.
Die Zentraleinheit weist ferner eine Taktgebereinheit 1320 auf, die praktisch aus zwei Taktgebersystemen in einer Einheit besteht. Das""erste Taktgebersystem erzeugt die Taktsignale zur Steuerung des Schnittstellenadapters 1302, während das zweite Taktsystem die Taktimpulse für die Operationen der Funktiona- The central unit also has a clock unit 1320, which practically consists of two clock systems in one unit. The "" first clock system generates the clock signals for controlling the interface adapter 1302, while the second clock system generates the clock pulses for the operations of the functional
70981Q/QIS370981Q / QIS3
einheiten innerhalb der Zentraleinheit liefert.units within the central unit.
In Figur 13c ist das Format des SteuerSpeicherworts 1325 wiedergegeben. Dieses ist ein 84-Bit-Wort und in die folgenden sechs Hauptfelder unterteilt:The format of the control memory word 1325 is reproduced in FIG. 13c. This is an 84-bit word and is divided into the following six main fields:
la'. Folgetypfeld 1326 (3 Bits)la '. Subsequent type field 1326 (3 bits)
b. Verzweigungs- und/oder Mikrobefehlsfeld 1327 (23 Bits)b. Branch and / or microinstruction field 1327 (23 bits)
c. Konstantenerzeugung und Bestimmung 1328 (14 Bits)c. Constants Generation and Determination 1328 (14 bits)
d. Daten zur Sammelschiene 1329 (8 Bits)d. Data for busbar 1329 (8 bits)
e. Mikrobefehle Ί33Ο (32 Bitse. Microinstructions 33Ο (32 bits
f. Prüfung 1331 (4 Bits)f. test 1331 (4 bits)
Das 3-Bit-E-Feld des Steuersp'eicherworts 1325 wird als Folge-Bteuerfeld verwendet. Es sind üblicherweise sieben verschiedene Steuerfolgen vorhanden und eine für das gegenwärtige Rechensystem reserviert. Unter Bezugnahme auf Block 1335 in Figur 13b wird, wenn das E-FeId gleich 0, 1 oder 2 ist, das Verzweigungsfeld A. B, C, D7 und L der Mikrobefehle 1325 benutzt, um die nächste Adresse zu erzeugen. Die ersten sechs Bits des KS-Register 1337 werden zusammen mit dem B-Feld benutzt, es ergibt sich ein C-Test, hieraus ein D-Test und das L-FeId liefert die nächste Adresse des nächsten Mikrobefehls, welche dann in das Adrossenregister KS 1337 eingegeben wird. Ist das E-FeId auf binär 4 (siehe Block 1335) gesetzt, so wird die nächste ausgewählte Adresse vom Unterbrechungs-Rückkehrregister KA 1339 entnommen. Die Adresse im ΚΑ-Register ist diejenige, welche von der Logikschaltung zur Erzeugung der nächsten Adresse erzeugt wird, wenn eine Hardware-Unterbrechung auftritt. Ist das E-FeId auf binär 5 gesetzt, so wird eine Verzweigungsoperation benutzt, um eine Hilfsrückkehroperation von einer Mikroprogramm-Subroutine zu bewirken. Wenn dies erfolgt, werden die Inhalte der Rückkehrregister KR 134G als die nächste SteuerSpeicheradresse verwendet. Das Rückkehrregister 1346 wird dadurch geladen, daß ein Steuerspeicherbefehl herausgegeben wird, der die gegenwärtige Steuerspeicheradresse .The 3-bit E field of the control memory word 1325 is used as the subsequent control field. There are typically seven different control sequences and one is reserved for the current computing system. Referring to block 1335 in Figure 13b, if the E field is 0, 1, or 2, then branch field A. B, C, D 7 and L of microinstructions 1325 is used to generate the next address. The first six bits of the KS register 1337 are used together with the B field, a C test results, from this a D test and the L field supplies the next address of the next microinstruction, which is then entered in the address register KS 1337 is entered. If the E field is set to binary 4 (see block 1335), the next selected address is taken from the interrupt return register KA 1339. The address in the ΚΑ register is the one generated by the logic circuit to generate the next address when a hardware interrupt occurs. If the E field is set to binary 5, a branch operation is used to cause an auxiliary return operation from a microprogram subroutine. When this occurs, the contents of return registers KR 134G are used as the next control memory address. Return register 1346 is loaded by issuing a control store instruction containing the current control store address.
7 09810/09937 09810/0993
im KS-Register 1337 zuzüglich 1 vom Fortschalter 13 38 in das KR-Register 1346 überführt. Eine Möglichkeit für eine Einebone-Einfügungsroutine ist gegeben über ein KT-Rückkehrverzweigungsregister 1347. Jedesmal wenn das KA-Register 1346 geladen wird, wird der alte Inhalt dieses Register in das KT-Register 1347 überführt und jedesmal wenn ein Mikroprogramm-Rückkehrbefehl aufgerufen wird, wird der Inhalt des KT-Registcrs in das KR-Register eingegeben. Eine Möglichkeit für eine Einfügungssubroutine in der dritten Ebene wird durch das KU-Register 1340 und in der vierten Ebene durch das KV-Rückkehrverzweigungsregister 1349 dargestellt. Wenn das E-FeId des Steuerspeicherworts auf binär 6 steht, so ist das nächste adressierte Steuerspeicherwort gleich der gegenwärtigen Adresse im KS-Register 1337 plus 1 im Fortschalter oder Inkrementor 1338. Steht das E-FeId auf binär so geht das Speichersteuerwerk 1301 in den Uberprüfungsmodus über und die nächste Adresse ist gleich der gegenwärtigen Adresse plusin the KS register 1337 plus 1 from the incremental switch 13 38 into the KR register 1346 transferred. One way for a one-bone insert routine is given via a KT return branch register 1347. Every time the KA register 1346 is loaded the old contents of this register are transferred to the KT register 1347 and every time a microprogram return command is called, the content of the KT register is entered into the KR register. One possibility for an insert subroutine in the third level is through the KU register 1340 and in the fourth level through the KV return branch register Shown in 1349. If the E field of the control store word is binary 6, the next addressed control store word is equal to the current address in KS register 1337 plus 1 in the incremental switch or incrementor 1338. If the E field is in binary, the memory control unit 1301 changes to the checking mode and the next address is equal to the current address plus
Zusätzlich zur Folgesteuerung von Verzweigungen zur nächsten Steuerspeicheradresse gemäß Block 1335 ist im Block 1336 von Figur 13b eine durch Hardware erzeugte Folgesteuerung dargestellt.Die Blocks 1335 und 1336 sind in Wirklichkeit Hardware-Register und derart aufgebaut, daß sie die verschiedenen Formen aufnehmen können, welche Mikrobefehle haben können. Die hardwarebestimmLen Verzweigungen stellen übersteuernde Zustände dar, solche wie Fehler, Einleitung, Steuerspeicherabtastung usw., die das E-FeId unterdrücken und eine feste Adresse in das Steuerspeicheradressenregister KS1337 zwangsweise eingeben. Die Verzweigung erfolgt dadurch, daß eine Leitungsunterbrechung für eine Taktperiode stattfindet und die Adresse, welche an sich unter der Steuerung des E-Feldes er.zevsgt worden wäre, in das KA-Unterbrechungsrückkehrregister 1339 geladen wird. Eine hardwaregesteuerte Adresse wird in das Steuerspeicheradressenregister eingegeben. Bestimmte durch Hardware oder Firmware erzeugte Unterbrechungen haben Priorität, wenn der Unterbrechungs-Blockier Flip-Flop gesetzt ist, der dieIn addition to sequencing branches to the next control store address of block 1335, hardware-generated sequencing is shown in block 1336 of Figure 13b. Blocks 1335 and 1336 are actually hardware registers and are constructed to accommodate the various forms of microinstruction can have. The hardware-determined branches represent overriding states, such as errors , initiation, control memory scanning, etc., which suppress the E field and forcibly enter a fixed address in the control memory address register KS1337. The branching occurs in that a line interruption takes place for one clock period and the address which would have been er.zevsgt under the control of the E field is loaded into the KA interruption return register 1339. A hardware controlled address is entered into the control store address register. Certain interrupts generated by hardware or firmware have priority when the interrupt blocking flip-flop is set, which is the
709810/0993709810/0993
Durchführung zusätzlicher Unterbrechungen in ihrer Klasse verhindert, bis der unterbrechende Zustand erledigt ist. Eine Fii^vare-Mikro-Opcration besteht zur Steuerung der Rückstellung des Unterbrechungs-Blockier Flip Flops für jene Folgen, welche unter Firmware-Einfluß stehen. Diese Folgen bewirken automatisch eine Rückstellung des Blockier-Flip-Flops am Ende der Folge. Die nachstehend entsprechend ihrer Priorität aufgeführten Zustände bestehen in dieser Kategorier \. Prevents performing additional interruptions in their class until the interrupting state is resolved. A firmware micro-operation exists to control the resetting of the interrupt-blocking flip-flop for those sequences which are under the influence of firmware. These sequences automatically reset the blocking flip-flop at the end of the sequence. The states listed below according to their priority exist in this category .
(a) Laden des Steuerspeichers;(a) loading the control memory;
(b) Abtastung des Steuerspeichers(b) Scan the control memory
(c) Hardware-fehler?(c) hardware failure?
(d) Software-Fehlers(d) software failure
Die verbleibenden Hardware-Zustände setzen den Unterbrechungsblockier Flip-Flop nicht/ aber bewirken bei iherer Erzeugung eine sofortige Aktion. Die nachstehend entsprechend ihrer Priorität aufgeführten Zustände bestehen in dieser Kategorie:The remaining hardware states do not set the interrupt blocking flip-flop / but cause immediate action when they are generated. The states listed below according to their priority exist in this category:
(a) Einleitung;(a) introduction;
(b) Soft-Freigabe;(b) soft release;
(c) Eintritt in die Wartungskonsolej(c) Entry into the maintenance console j
(d) Eintritt in den Wartungskonsole;(d) entry into the maintenance console;
(e) Hardware-Ausgang.(e) Hardware output.
Ein Einleitungssignal bewirkt, daß das Speicher-Steuerwerk 1301 zur Adresse binär 0 abzweigt, durch Hardware rückstellbare Fehler geklärt werden und eine Steuerspeicher-Ladeoperation gefolgt von einer Steuerspeicher-Abtastfolge unter Hardware-Überwachung ausgeführt werden. Außerdem wird die Systemeinleitung durchgeführt. Ein Signal-Softfreigabe läßt das CSU 1301 zur Adresse binär 0 abzweigen, klärt die durch Hardware zurückstellbaren Fehler und stellt den Unterbrechungsblockier Flip-Flop zurück. Ein Signal für den Eingang in die Wartungsgruppe bewirkt, daß das Speichersteuerwerk in die durch die Schalter auf der Artungstafel vorgegebenen Adressen abzweigt. Ein Signal zum Eintritt in den Wartungskanal läßt das Speichersteuerwerk zu einer Adresse abzweigen, welche über den Wartungskanal erzeugt wird. Die Adresse wird ausAn initiation signal causes the memory controller 1301 branches to address binary 0, errors that can be reset by hardware are cleared and a control store load operation followed by a control store scan sequence carried out under hardware supervision will. In addition, the system initiation is carried out. A soft enable signal causes the CSU 1301 to branch off to the binary 0 address, clears the errors that can be reset by hardware and resets the interrupt blocking flip-flop. A signal for entry into the maintenance group causes the storage control unit branches to the addresses given by the switches on the information board. A signal to enter the maintenance channel lets the memory control unit branch off to an address which is generated via the maintenance channel. The address will be from
7Ö9810/09937Ö9810 / 0993
der Wartungssammelschiene QMD 1344 geladen, welche Teil dos Wartungskanals ist. Ein Ilardware-Ausgangssignal läßt das Speichcr-Steuerwerk zur Binäradresse 2 abzweigen. Diese Folge wird als Wartungsmöglichkeit benutzt. Am Ende der Folge wird durch Herausgabe eines E-Feld-Verzweigungsbefehls eine Rückkehr inganggesetzt und das E-FeId auf binär 4 gesetzt.the maintenance busbar QMD 1344, which is part of the maintenance channel is. An Ilardware output signal leaves the memory control unit branch off to binary address 2. This sequence is used as a maintenance facility. At the end of the episode is through surrender of an E-field branch instruction initiated a return and the E field is set to binary 4.
Ein Steuerspeicherladesignal läßt das Speichersteuerwerk zur Adresse binär 0 abzweigen. Es schaltet außerdem CSU-Lesesyklus Flip-Flop und den Systemtaktgeber 1320 ab und führt das Speichersteuerwerk in den Ladezustand über. In diesem Zustand kann das Speichersteuerwerk aus dem Steuerspeicherlader CSL 1303, der Ein/ Ausgabesteuerung IOC 1305, dem Hauptspeicher 102 .oder der Wartungstafel 1355 geladen werden. Erfolgt eine Ladung aus dem Lader CSL, so wird eine automatische Abtastung am Ende des Ladens bewirkt. Wird hingegen aus einem anderen Medium geladen, so kann eine Abtastung entweder durch Erzeugung eines Mikro-Operationssignals oder durch Einstellen des Abtastschalters auf der Wartungstafel erfolgen. Ein Steuerspeicher-Abtastsignal läßt das Speichersteuerwerk zur Adresse binär 0 abzweigen. Für die Dauer der Folge unterliegt die Abtastung der Steuerung durch Hardware. Während der Abtastung ist der Systemtaktgeber 1320 abgeschaltet und folglich werden keine Befehle oder Überprüfungen ausgeführt. Am Ende der Abtastfolge überträgt die Hardware den Inhalt des Unterbrechungsrückkehrregisters KA in das Adressenregister KS, der Systemtaktgeber wird wieder eingeschaltet.und die Steuerung kehrt zur Firmware zurück.A control store load signal causes the store control unit to branch off to the binary 0 address. It also switches the CSU read cycle Flip-flop and the system clock generator 1320 and transfers the memory control unit to the loading state. In this state it can Memory controller can be loaded from the control memory loader CSL 1303, the input / output controller IOC 1305, the main memory 102. Or the maintenance panel 1355. If a load is carried out from the CSL loader, this will cause automatic scanning at the end of loading. If, on the other hand, loading is carried out from a different medium, a scan can be performed either by generating a micro-op signal or by setting the sampling switch on the MP take place. A control store scan signal causes the store control unit to branch off to the binary 0 address. For the duration of the episode is subject to the scanning of the control by hardware. During the scan, the system clock 1320 is turned off and consequently no commands or checks are performed. At the end of the scan sequence, the hardware transfers the contents of the interrupt return register KA into the address register KS, the system clock is switched on again. And the control returns to Firmware back.
Ein Hardware-Fehlersignal bewirkt eine Abzweigung in die Adresse binär 4. Im normalen Prozeßmodus aktiviert ein in irgendeiner Funktionseinheit der Zentraleinheit festgestellter Hardware-Fehler einehiardware-Fehlerleitung. Die erzeugte Steuerspeichcrfolge überprüft die Systemzustände im Hinblick auf die einzuleitende Aktion. Im Diagnosemodus sind von der Hardware feststellbare Fehlerzustände für die Mikrodiagnose erkennbar. Sie steuertA hardware error signal causes a branch to address binary 4. In normal process mode, an activates in any Functional unit of the central unit detected hardware errors a hardware error line. The generated control storage sequence checks the system status with regard to the action to be taken. In the diagnostic mode, the hardware can detect Error states for micro-diagnosis recognizable. She controls
7098 10/09937098 10/0993
die einzuleitenden Aktionen. Ein Software-Fehlersignal andererseits läßt den Steuerspeicher zur Adresse binär 1 abzweigen. Diese Adresse stellt den Anfang einer Software-Fehlerberichtsfolge dar, die unter Mikroprogrammsteuerung steht.the actions to be taken. A software error signal, on the other hand lets the control store branch off to address binary 1. This address is the beginning of a software bug reporting sequence which is under microprogram control.
In Figur 13c ist das E-FeId 1326 ein 3-Bit-Feld für den Verzweigungscode. Das Verzweigungs und/oder Mikrobefehlsfeld 1327 besteht aus den A, B, C, D und L Feldern (vgl. auch Block 1335 in Figur 13b), wobei das A-FeId die oberen sechs Bits der nächstem Adresse, das B-Feld die mittleren vier Bits der nächsten Adresse des Haskenfeldes an der 64-Weg-Verzweigung, das C-FeId ein 6-Bit-Prüffeld für einen von 64 Tests, das D-Feld ein weiteres 6-Bit-Prüffeld für einen von 64 Tests und das L-FeId das am niedrigst wertige Bit ist. Das K-FeId 1328 ist ein 14-Bit-Feld, von dem sechs Bits für ein Konstsntenfeld, vier Bits für ein Konstantenoder Steuerfeld und vier Bits für ein Steuerfeld für eine Konstante dienen. Das Feld 1329 für die Datenweitergabe zur S amme 1 r, chi one besteht aus dem QA-FeId mit 4 Bits zur Steuerung des Informationsflusses zum QA-Teil der QMB Sammelschiene 1344, während das QB-FeId vier Bits zur Steuerung der Informationsweitergabe zum QB-Teil der QMB-Sammelschiene 1344 enthält. Das F-FeId 1330 ist ein 32-Bit-Feld und ist zur Erzeugung von Mikoroperations-Unterbefehlen kodiert. Das B-Feld 1331 besteht aus vier für Prüfzwecke reservierten Bits.In FIG. 13c, the E field 1326 is a 3-bit field for the branch code. The branch and / or microinstruction field 1327 consists of the A, B, C, D and L fields (see also block 1335 in FIG. 13b), the A field being the upper six bits of the next address and the B field being the middle four bits of the next address of the hash field at the 64-way branch, the C field a 6-bit test field for one of 64 tests, the D field a further 6-bit test field for one of 64 tests and the L -FeId is the least significant bit. The K field 1328 is a 14-bit field, of which six bits are used for a constant field, four bits for a constant or control field and four bits for a control field for a constant. The field 1329 for data transfer to S amme 1 r, chi one consists of the QA field with 4 bits to control the flow of information to the QA part of the QMB busbar 1344, while the QB field has four bits to control the information transfer to the QB- Contains part of the 1344 QMB busbar. The F-Field 1330 is a 32-bit field and is encoded to generate micro-operation sub-commands. The B field 1331 consists of four bits reserved for test purposes.
Im Betrieb werden die Mikrobefehlsworte in einer Steuerspeicheranordnung 1333 gespeichert. Während eines Betriebszyklus wird diese Steuerspeicheranordnung durch den Inhalt des KS-Adressenregisters 1337 adressiert. Hierdurch wird der Inhalt des adressierten Speicherplatzes in die Gruppe von Verriegelungsregistern 1357 eingegeben. Teile des Inhalts dieser Register werden in die Speicherregister innerhalb jeder der Funktionseinheiten der Zentraleinheit übertragen. Jede funktioneile Einheit enthält logische Dekodierschaltung zur Erzeugung der erforderlichen durch das Steuerspeicherwort definierten Unterbefehle und zwar unter den Steuereinfluß des Systemtaktgebers. Im allgemeinen wird die DekodiorungIn operation, the microinstruction words are stored in a control storage arrangement 1333 saved. During a cycle of operation, this control store arrangement is identified by the contents of the KS address register 1337 addressed. This places the content of the addressed memory location in the group of locking registers 1357 entered. Portions of the contents of these registers are stored in the storage registers within each of the functional units of the central processing unit transfer. Each functional unit contains logic decoding circuitry for generating the required by the control store word defined subcommands under the control of the system clock. In general, decoding is used
709810/0993709810/0993
innerhalb jeder funktioneilen Einheit durchgeführt und nicht zentral, damit die Dekodierzeit auf ein Minimum reduziert und die Anzahl der Leitungen für die übertragung von Befehlssignalen reduziert wird. Außerdem vermeidet man durch das Dekodieren inner- \ halb jeder Einheit Zeitgeberprobleme, welche sich aus unterschied- , liehen Kabelverzögerungszeiten ergeben können. Schließlich brauchen1 diejenigen Signale nicht zum Steuerspeicherschnittstellenadapter 1302 zurückgeleitet werden, welche für bestimmte Zustände innerhalb der Funktionseinheit kennzeichnend sind und für die Erzeugung bestimmter Unterbefehls-Signale erforderlich sind. Ein typischer Dekodierer 1359 empfängt gemäß Figur 13b verschiedene Felder aus Mikrobefehlsworten und erzeugt Mikrobefehlssignale a, b, c, d, ...g, r. Ein typischer Mikrobefehlsdecoder 1359 erhält Befehle von einem Mikrobefehlswort. Das Feld des-Mikrobefehlswortes wird dekodiert und stellt eine Mehrzahl von Teilen s, t, u, .... y, ζ auf des Potentional "1". Eine Matrix mit vorgegebenen Steuerleitungen ist an die s- bis z-Leitungen an den Punkten oa lßi(j1'* ^ · ' - CJ angekoppelt. Wenn das Feldcarried out within each functional unit and not centrally, so that the decoding time is reduced to a minimum and the number of lines for the transmission of command signals is reduced. In addition to semi avoids by decoding within \ each unit timing problems which may arise from different, borrowed cable delay times. Finally need 1 those signals not to the control memory interface adapter 1302 returned, which are indicative of certain conditions within the functional unit and for the production of certain sub-instruction-signals are required. A typical decoder 1359 receives various fields of microinstruction words according to FIG. 13b and generates microinstruction signals a, b, c, d, ... g, r. A typical microinstruction decoder 1359 receives instructions from a microinstruction word. The field of the microinstruction word is decoded and sets a plurality of parts s, t, u, .... y, ζ to the potential "1". A matrix with predetermined control lines is coupled to the s to z lines at points oa l ß i ( j 1 '* ^ ·' - CJ . If the field
eines Mikrobefehls dekodiert wird, geht eine der Leitungen s bis ζ auf hohes Potential. Da die in der Zeichnung durch Punkte und griechische Buchstaben gekennzeichneten Verknüpfungspunkte sich kreuzender Leitungen eine Leitungskopplung darstellen, wird jedes sich längs einer horizontalen Leitung . ausbreitende.. Signal an denjenigen Stellen, wo ein Kopplungspunkt angegeben ist, auf eine der vertikalen Leitungen a bis r übergehen. Jede der vertikalen Leitungen kann als Eingang zu einem der UND-Gatter 1360 1365 geführt werden. Weitere Eingangssignale können ebenfalls an die UND-Gatter 1360 bis 1365 geführt werden, einschließlich eines Taktsignals t vom zentralen Taktgeber'. Folglich werden jeweils dann, wenn das Taktsignal den Wert "1" annimmt, jene Gatter durchgeschaltet, deren sämtliche Eingänge ein positives Eingangssignal haben. Diese Gatter liefern Mikrobefehlssignale an vorgegebene Funktionseinheiten innerhalb der Zentraleinheit. Beispielsweise wenn ein Befehl 1341 vom Leseverriegolungsregister 1357 dekodiert wird und eine horizontale Leitung auf "1" liegt, so werden die vertikalen Steuerleitungen a, b, c, und q ebenfalls positiv und die Gatter 1316, 1361, 1362 und 1364 werden beim Auftreten desof a microinstruction is decoded, one of the lines s goes to ζ to high potential. Since the connection points marked in the drawing by dots and Greek letters are Crossing lines represent a line coupling, each will run along a horizontal line. spreading .. signal at those points where a coupling point is indicated, merge onto one of the vertical lines a to r. Any of the vertical Lines can be routed as inputs to one of the AND gates 1360 1365. Other input signals can also be sent the AND gates 1360 to 1365 are carried, including a clock signal t from the central clock '. Consequently, each when the clock signal assumes the value "1", those gates are switched through, all of whose inputs have a positive input signal to have. These gates supply micro-instruction signals to predetermined functional units within the central unit. For example when an instruction 1341 is decoded from read interlock register 1357 and a horizontal line is at "1", the vertical control lines a, b, c, and q are also positive and gates 1316, 1361, 1362 and 1364 are turned on when the
709810/0993709810/0993
Taktsignals nacheinander durchgeschaltet. Folglich stellen die Kombinationen, in denen die vertikalen Steuerleitungen mit der horizontalen Steuerleitung an verschiedenen/ durch griechische Buchstaben gekennzeichneten Punkten gekoppelt sind, eine bleibende Schaltinatrix für die Zufuhr von Mikrobefehlssignalen an die Zentraleinheit dar und zwar für die Steuerung der Funktionseinheiten innerhalb der Zentraleinheit durch Mikrobefehle aus der Steuerspeicheranordnung 1333. Somit kann dauerhafte aber veränderbare Firmware in die Anlage eingebaut werden,indem lediglich die Folge der Mikrobefehle angegeben wird, welche als Fähigkeit des Rechnersystems benötigt wird.Clock signal switched through one after the other. Consequently, the combinations in which the vertical control lines with the horizontal control line are coupled at different points / marked by Greek letters, a permanent one Switching matrix for the supply of micro-command signals to the central unit, namely for the control of the functional units within the central unit by micro-commands of the control memory arrangement 1333. Thus, permanent but changeable firmware can be built into the system by only the sequence of microinstructions is specified, which is required as a capability of the computer system.
Unter normalen Bedingungen werden Daten in die Steuerspeichoranordnung 1333 über ein Schreibdatenregister der Zentraleinheit, welches .auch unter der Bezeichnung , Internes Register YO 1343Under normal conditions, data will be in the control memory array 1333 via a write data register of the central unit, which is also known as Internal Register YO 1343
eingegeben,
bekannt ist f Ein Steuer-Flip-Flop bestimmt, ob in die obere oder
in die untere Hälfte der Speicheranordnung eingeschrieben werden soll. Daten aus der Steuer- und Ladeeinheit CLU 1304 kommen am
Adaptor CIA bzw. dem Speichersteuerwerk CSU über die Wartungssammelschiene
QMB 1344 an und werden vorübergehend im internen Speicherregister YO 1343 aufbewahrt, ehe sie in die Steuerspeicheranordnung
1333" eingegeben werden. Das interne Register 1343 wird sowohl als örtliches Lese- als auch als örtliches Schreibregister
verwendet. Der Multiplexer KQM 1345 kann entweder vom
Wartungspult 1355 oder durch Mikrodiagnoseoperationen gesteuert werden und liefert einen Ausspeicherungsweg aus den ihm angeschlossenen
Registern. Ein Vergleichsregister KP 1350 wird in erster Linie für Wartungszwecke benutzt und zwar zusammen mit
einer Vergleichslogik 1352 und einer Dekodierlogik 1351.entered,
is known f A control flip-flop determines whether the upper or lower half of the memory array is to be written to. Data from the control and loading unit CLU 1304 arrive at the adapter CIA or the storage control unit CSU via the maintenance busbar QMB 1344 and are temporarily stored in the internal storage register YO 1343 before they are entered into the control storage arrangement 1333 ". The internal register 1343 is both The multiplexer KQM 1345 can be controlled either from the maintenance desk 1355 or by micro-diagnostic operations and provides a retrieval path from the registers connected to it. A comparison register KP 1350 is primarily used for maintenance purposes, together with a comparison logic 1352 and a decoding logic 1351.
H. Zuteilqr-Firmware zur Steuerung von Prozessen Der Zuteiler ist eine Firmware/Hardware-Einheit, deren Hauptzweck darin liegt, die verschiedenen Prozeßwarteschlangen zu verwalten und zwischen den Prozossen umzuschalten,und umfaßt ferner dio Fortschreibung der Prozeßwcrteschlangen, der Prozeßsteuerblöcko, H. Arbiter firmware for controlling processes The arbiter is a firmware / hardware unit, the main purpose of which is to manage the various process queues and to switch between the processes, and also includes the updating of the process queues, the process control blocks,
dom des laufenden Prozeßwortes in der Systembasis und Register einesdom of the current process word in the system base and register of a
709810/0993709810/0993
neuen Prozesses. Er liefert ferner Nachrichten an einen Prozeß, der an einem Semaphor hierauf wartet (nach einer V-Operation, einer simulierten V-Operation für die Ein/Ausgabesteuerung oder für einen Ausnahmeverarbeiter). Er ordnet außerdem Nachrichten in Warteschlangen an einem Semaphor nach einer P-Operation ein, die eine Nachrichtenverbindung freigegeben hat, wenn ein Prozeß an einem Verbindungsfreigabe-Semaphor auf die Weitergabe seiner Nachricht wartet. Die Zuteilereinheit ruft ferner nach der Steucrungseingabe eines im Eigenbereichsmodus ablaufenden Prozesses oder nach einem Streit zwischen zwei Prozessen, wenn der Prozeß weiterläuft und sich im Eigenbereichsmodus befindet, die Firmware für Eigenbereichsbefehle auf. Er ruft darüberhinaus Firmware zur Dekorerweiterung auf fürnew process. It also delivers messages to a process that is waiting on a semaphore (after a V operation, a simulated V operation for input / output control or for an exception handler). It also arranges messages in Queues at a semaphore after a P operation that has released a message link when a process is on a connection release semaphore waiting for its message to be passed on. The dispatcher unit also calls for the control input a process running in self-domain mode or after a dispute between two processes if the process continues and is in self-range mode, the firmware for self-range commands. He also calls firmware Decor extension to for
(a) einen zeitweiligen Aufruf .während der Steuerungswegnahme eines Prozesses, der in jener Dekorerweiterung abläuft;(a) a temporary call while control is being withdrawn a process that takes place in that decor extension;
(b) einen zeitweiligen Aufruf während der Steuerungsübernahme eines Prozesses, der in jener Dekorerweiterung abläuft;(b) a temporary call while taking control of a process running in that decor extension;
(c) einen bestimmten Aufruf am Ende der Steuerungsübergabe eines Prozesses, welcher in der Dekorerweiterung abläuft; und(c) a specific call at the end of the transfer of control of a process which is running in the decor extension; and
(d) einen bestimmten Aufruf nach einem Widerstreit, wenn der laufende Prozeß weitergeht und in diesem Dekorerweiterungsmodus abläuft.(d) a certain call after a conflict when the current process is going on and in this decor extension mode expires.
Außerdem versetzt der Zuteiler das System in den Leerlauf, wenn kein laufender Prozeß vorhanden ist. Es gibt verschiedene Wegej zum Zuteiler zu gelangen oder diesen zu verlassen:The arbiter also idles the system when there is no running process. There are different ways to get to or leave the allocator:
(1) die Einleitungsprozedur SIP ergibt eine Eingangsstelle als letzten Schritt;(1) the initiation procedure SIP results in an entry point as the last step;
(2) der Start- und Aussetzbefehl führt zu einem Zugang zum Zuteiler; (2) the start and stop command leads to access to the dispatcher;
(3) P- und V-Operationen ergeben Zugang zum Zuteiler. Die P-Operation nimmt eine Nachricht von einem Semaphor auf / und wenn keine Nachricht vorhanden ist, geht der Prozeß in den Wartezustand über.(3) P and V operations give access to the arbiter. The P operation picks up a message from a semaphore / and if there is no message the process goes to wait.
709810/0093709810/0093
Kurz gesagt, istdcr Zuteiler der Hauptmechanismus, welcher die Prozesse verwaltet und damit auch die Prozeßsteuerblöcke,indem er entscheidet, welcher Prozeß ablaufen soll,und dann die erforderliche Aktion einleitet, beispielsweise eine Steuerungswegnahme für den gerade laufenden Prozeß. Dies bedeutet, daß er in den Prozeßsteuerblock alle Informationen, die für den laufenden Prozeß in Hardware-Registern Zwischenspeichern und dergl. enthalten sind, einschreibt. Außerdem führt zur Steuerungsübergabe an den neuen Prozeß, d.h. er schreibt aus dem Prozeßsteuerblock in die verschiedenen Hardware-Register,Zwischenspeicher und dgl. alle Informationen ein, welche für die Durchführung des neuen Prozesses erforderlich sind.In short, the arbiter is the main mechanism by which the Manages processes and thus also the process control blocks by having decides which process to run, and then the required one Initiates action, for example a removal of control for the currently running process. This means that it is in the process control block all information that is contained in hardware registers, buffers and the like for the current process, enrolls. It also leads to the transfer of control to the new process, i.e. it writes from the process control block to the different ones Hardware registers, buffers and the like. All information that is required for the implementation of the new process are.
Eine Darstellung der vom Zuteiler ausgeführten Funktionen ergibt sich aus den Flußdiagrammen gemäß· den Figuren 14a bis 14i. Beispielsweise ist der Block 1402 in Figur 14a eine Darstellung der von einem Zuteiler ausgeführten Funktion, wobei ein Mikroprogrammwort vom Speichersteuerwerk geliefert wird und nach Dekodierung im Dekoder 1359 die entsprechenden Teile der Zentraleinheit über eine geeignete Folge von Mikrobefehlssignalen 1360, 1361 usw. steuert, um das Internprozeß-Warteschlangenwort IPQW aus der Systembasis im Speichersubsystem 102 herauszunehmen und in den Zwischenspeicher 1315 zu übertragen. Gleichzeitig ruft der Zuteiler den GO-Segmentdescriptor (vgl. Figur 12) aus derjenigen T-Tabelle ab, auf welche das G-Tabellenwort GTW in der Systembasis hinweist. Die Bits 16 bis 31 des IPQW enthalten ein 16-Bit positives ganzzahliges, welches die Verschiebung von der Basis des GO-Segments zum Kopf (erstes Byte) der Warteschlange Q/PR/RDY vorbereiteter Prozesse darstellt. Sind die Bits 16 bis 31 des IPQW-Wortes gleich 0, so wird die Warteschlange als leer angesehen. Dies bedeute^:, daß gegenwärtig kein Prozeß in der Warteschlange steht. Die nächste im Entscheidungsblock 1405 zu entscheidende. Frage ist, ob ein Prozeß gegenwärtig abläuft. Hierzu wird festgestellt, ob der Vakanzindik-ritor gesetzt ist oder nicht. Ist er gesetzt und ist, wie soeben festgestellt wurd, kein, weiterer ProzeßA representation of the functions carried out by the allocator results from the flow charts according to FIGS. 14a to 14i. For example Block 1402 in Figure 14a is a representation of the function performed by an arbiter, with a microprogram word is supplied by the memory control unit and, after decoding in the decoder 1359, the corresponding parts of the central processing unit controls an appropriate sequence of microinstruction signals 1360, 1361, etc. to extract the internal process queue word IPQW from the Remove the system base in the storage subsystem 102 and transfer it to the buffer storage 1315. The dispatcher calls at the same time the GO segment descriptor (see FIG. 12) from that T table to which the G table word GTW in the system base indicates. Bits 16 through 31 of the IPQW contain a 16-bit positive integer indicating the displacement from the base of the GO segment to the head (first byte) of the queue Q / PR / RDY represents prepared processes. Are bits 16 through 31 of the IPQW word equals 0, the queue is considered empty. This means that there is currently no process in the queue stands. The next to be decided in decision block 1405. The question is whether a process is currently in progress. To this end, it is established whether the vacancy indicator is set or not. Is it set and, as has just been stated, is no further process
709810/0993709810/0993
in der Warteschlange, so geht die Anlage in den Leerlaufzustand 1406 über. Läuft jedoch gerade ein Prozeß ab und ist kein weitorcr im Wartezustand, so nimmt der laufende Prozeß seinen Befehl 1407 auf.in the queue, the system goes into the idle state 1406 about. However, if a process is in progress and is not a further process in the wait state, the current process takes its 1407 instruction on.
Im Entscheidungsblock 1403 des Flußdiagramms (Figur 14a) wird der Kopf der durch das IPQW-Wort im GO-Segment angezeigten Wartoschlange in den Zwischenspeicher übernommen, wenn ein positiv ganzteiliger Wert im Hinweisadressenbereich des IPQW, d.h. in den Bits 16-31 vorhanden ist. Um Widerholungen zu vermeiden, werden hier die Zwischenfunktionen des Zuteilers in Verbindung mit der Steuereinheit und der Zentraleinheit weggelassen. Es ist jedoch zu beachten, daß solche Zwischenfunktionen typischerweise vorhanden sind. Bis zu dieser Stelle ist bestimmt worden, daß irgendein Prozeß in der Warteschlange steht. Ehe weitere Aktionen eingeleitet werden können, ist eine" Bestimmung nötig, ob gegenwärtig ein Prozeß in der Zentraleinheit abläuft. Dies wird mittels des Bestimmungsblocks "1410 getan. Läuft gegenwärtig kein Prozeß ab, so wird der Kopf der Warteschlange 1412 in Bearbeitung genommen. Ist jedoch ein Prozeß im Gange, so muß der Zuteiler bestimmen, ob der laufende Prozeß oder der Kopf der Warteschlange Priorität hat. Hierzu wird das Prioritäts-Byte des laufenden Prozesses CJP im . laufenden Prozeßwort des Systembasis-Prozeßsteuerblocks 400 bei 1413 abgerufen. Eine Entscheidung wird bei 1414 gefällt, ob der laufende Prozeß CJP von geringerer Priorität ist als der an der Spitze der Warteschlange stehende neue Prozeß NJP. Hat der laufende Prozeß keine niedrigere Priorität als der neue, so behält der laufende Prozeß seine Steuerbefugnis über die Zentraleinheit und der Ausscheidungsanzeiger wird bei 1415 zurückgestellt. Dieser steht immer auf 0, sofern nicht ein oder mehrere neue Prozesse seit Beginn der letzten Befehlsausübung für den alten Prozeß in die Wartesc^hlange eingereiht wurden und dadurch eine Konfliktmöglichkeit geschaffen worden ist. Nur in diesem Fall wird der Ausscheidungsanzeiger auf "1" gesetzt. Ehe der laufende Prozeß weitergehen und weitere Befehle ausführen kann, wird bestimmt,At decision block 1403 of the flow chart (Figure 14a), the Head of the queue indicated by the IPQW word in the GO segment transferred to the buffer if a positive whole-part value in the reference address area of the IPQW, i.e. in the Bits 16-31 is present. In order to avoid repetitions, the intermediate functions of the allocator in connection with the Control unit and the central unit are omitted. It should be noted, however, that such intermediate functions typically exist are. Up to this point it has been determined that some process is queued. Before taking further action a "determination is necessary as to whether a process is currently running in the central unit. This is done by means of the Determination blocks "1410 done. If no process is currently in progress, the head of the queue 1412 is taken into service. However, if a process is in progress, the arbiter must determine whether the current process or the head of the queue has priority. For this purpose, the priority byte of the current process CJP is used in. running process word of the system base process control block 400 Retrieved 1413. A decision is made at 1414 whether the the current process CJP is of lower priority than the new process NJP at the top of the queue. Has the current one If the process does not have a lower priority than the new one, the current process retains its control authority over the central unit and the elimination indicator is reset at 1415. This is always 0, unless one or more new processes since the beginning of the last command execution for the old process in the queues were queued and thus a conflict possibility has been created. Only in this case is the elimination indicator set to "1". Marriage the ongoing process can go on and carry out further commands, it is determined
709810/0993709810/0993
ob er im Dekorerweiterungsmodus 1415 abläuft. Ist dies der Fall, so wird der nächste Befehl im Emulationsmodus, d.h. in der Dekorerweiterung ausgeführt. Läuft er hingegen nicht im Dekorerweiterungsmodus ab, so erfolgt die Ausführung des nächsten Befehls im Eigenbereichsmodus. Hat im Entscheidungsblock 1414 der neue Prozeß am Kopf der Warteschlange eine höhere Priorität als der alte, bo wird dem laufenden Prozeß die Steuerungsbefugnis weggenommen und dem neuen Prozeß übertragen. Hierzu bewirkt eine Firmware-Prioritätsubroutine PRIQ 1418 die Einordnung des laufenden Prozesses CJP in die Warteschlange, indem die LIFO-Priorioritäts- und die bv-Prioritätsnummer zunächst unter der Steuerung der Firmware Subroutine RLLO 1419 den alten Prozeß absetzen. Die RLLO Subroutine bewirkt das Einschreiben der -in den Generalregistern, Basisregistern, wissenschaftlichen Registern, T-Registern, Statusregistern und im Befehlszählwerk enthaltenen Informationen des alten Prozesses zurück in die geeigneten Speicherbereich des Prozeßsteuerblocks im Hauptspeicher und bewirkt die Fortschreibung der Verarbeitungszeitberechnung. Außerdem wird die DEXT-Nummer des Prozeßhauptwortes PMWO im Prozeßsteuerblock 400 bei 1420 forigeschrieben. whether it runs in decor extension mode 1415. Is that the case, so the next command is in emulation mode, i.e. in the decor extension executed. If, on the other hand, it does not run in the decor extension mode, the next command is executed in Eigenrange mode. In decision block 1414, the new process did a higher priority than the old one at the head of the queue, bo the control authorization is removed from the current process and transferred to the new process. For this purpose, a firmware priority subroutine PRIQ 1418 effects the classification of the current process CJP into the queue by adding the LIFO priority number and the bv priority number first set off the old process under the control of the firmware subroutine RLLO 1419. The RLLO subroutine causes the -in the general registers, basic registers, scientific registers, T-registers, status registers and information contained in the command counter of the old process back to the appropriate memory area of the process control block in the main memory and causes the processing time calculation to be updated. In addition, the DEXT number of the process main word PMWO is written to the process control block 400 at 1420.
Der neue Prozeß NJP ist nunmehr für die Steuerungsübernahme vorbereitet. Das Grenzadressenregister BAR wird abgerufen bei 1422, und das laufende Prozeßwort RPW wird von der Adresse BAR plus der Systembasis bei 1423 abgerufen. Der Name des neuen Prozesses NJP wird zunächst in das laufende Prozeßwort RPW eingeschrieben und da diesser Name in der Prozeßverbindung PL der Warteschlange Q/PR/RDY steht, wird der Name in der Prozeßverbindung PL im Block 14 24 in das laufende Prozeßwort eingegeben. Damit wird der neue Prozeß' aus der Warteschlange der nunmehr laufende Prozeß und ist in der Lage* die Zentraleinheit zu steuern. Er wartet nicht länger in der Q/PR/RDY-Warteschlange und muß folglich aus dieser Warteschlange entfernt werden, indem sein Name an der Stelle 14 aus der Prozeßverbindung PL dieser Warteschlange herausgenommen wird. Sobald dies erledigt ist, wird die Warteschlange durch eine Firmware-Subroutine UQLK'bei 1425a fortgeschrieben. Die JP-Nununor des gerade aus der Anlage herausgenommenen Prozesses wirdThe new process NJP is now prepared for the takeover of control. The limit address register BAR is retrieved at 1422 and the current process word RPW is taken from the address BAR plus the system base is retrieved at 1423. The name of the new process NJP is first written into the current process word RPW and since this name is in the process connection PL of the queue Q / PR / RDY, the name in the process connection PL is in the block 14 24 entered in the current process word. This means that the new process from the queue becomes the current process and is able to * control the central unit. It no longer waits in the Q / PR / RDY queue and must therefore get out of it Queue can be removed by removing its name at position 14 from the process connection PL of this queue will. As soon as this is done, the queue is updated by a firmware subroutine UQLK 'at 1425a. The JP Nununor of the process that has just been removed from the system
7Ö9810/09937Ö9810 / 0993
in eine Prozeßverbindung in der Q/PR/RDY-Warteschlange eingegeben, weil er nunmehr nicht langer die Anlage steuert, sondern bei 1426 auf sie warten muß. Zu diesem Zeitpunkt wird die Obergabe der Steuerung der Zentraleinheit auf den neuen Prozeß und die Einordnung des alten Prozesses in die Warteschlange bewirkt, denn dort befindet sich der neue Prozeß in der Steuerbefugnis über die Zentraleinheit, der Vakanzanzeiger steht.bei 1427 auf 11O". Würde kein laufender Prozeß die Zentraleinheit steuern, so stünde der Vakanzanz6.ger auf "1". Nunmehr ist die Zuordnung des Prozessors beendet, der neue Prozeß arbeitet jetzt mit der Zentraleinheit zusammenjUnd der alte Prozeß befindet sich in der Warteschlange. Noch ist jedoch der neue Prozeß noch nicht in der Lage abzulaufen, weil die Hardware der Zentraleinheit 1306 in Figur 13a wie z.B. die Generalregister 1307, die Basisregister 1308, die wissenschaftlichen Register 1309, das T-Register 1310, die Zustandsregister 1311 und der Befehlszähler 1312'vom Prozesteuerblock des neuen Prozesses erst mit Steuerinformationen versorgt werden müssen.entered into a process connection in the Q / PR / RDY queue because it no longer controls the system but has to wait for it at 1426. At this point in time, the control of the central unit is transferred to the new process and the old process is placed in the queue, because there the new process is under control over the central unit, the vacancy indicator is at 11 O "at 1427. If no running process were to control the central processing unit, vacancy 6.ger would be 1. The assignment of the processor has now been completed, the new process is now working with the central processing unit and the old process is in the queue, but the new one is still there Process not yet able to run because the hardware of the central processing unit 1306 in FIG Process must first be supplied with control information.
Hierzu steuert die Firmware-Subroutine 1430 die Zentraleinheit und ruft zunächst das PMW 3 vom Prozeßsteuerblock (Figur 4) in den Zwischenspeicher 1315 und anschließend das Prozeßhauptwort 0 ab. Das MBZ-FeId des PMW 0 wird bei 1433 überprüft und wenn es nicht gleich binär 0 ist, erscheint ein PCB-Ausnahmesignal, Ist jedoch das MBZ-FeId des PMW 0 gleich Null, so wird das PMW 1 bei 1434 abgerufen. Erneut wird das MBZ-FeId des PMW 1 überprüft, um festzustellen, ob es gleich 0 ist oder nicht. Ist es nicht gleich 0, so erscheint ein einen unzulässigen Steuerblock anzeigendes Ausgangssignal. Andernfalls geht der Zuteiler nach C über. Das Adressraumwort ASW 0 wird aus dem entsprechenden Speicher im PCB abgerufen und der Segmenttabellenwortumfang STWSZ bei 1437 überprüft, um festzustellen, ob er kleiner als 7 ist oder nicht. Ist er größer als 7, so entsteht ein PCB-Ausnahmesignal. Ist es kleiner oder gleich 7, so wird das ASW 1 bei 1438 aus dem PCB entnommen und sein STWSZ-Fe^d bei 1439 überprüft um festzustellen, obFor this purpose, the firmware subroutine 1430 controls the central processing unit and The PMW 3 first calls the process control block (FIG. 4) into the buffer memory 1315 and then the process main word 0. The MBZ field of PMW 0 is checked at 1433 and if it is not equal to binary 0, a PCB exception signal appears, but it is the PMW 0's MBZ field equals zero, so PMW 1 becomes 1 at 1434 retrieved. The MBZ field of PMW 1 is checked again to determine whether it is equal to 0 or not. If it is not equal to 0, an output signal indicating an illegal control block appears. Otherwise the allocator goes to C. The address space word ASW 0 is taken from the corresponding memory in the PCB retrieved and the segment table word size STWSZ checked at 1437, to see if it is less than 7 or not. If it is greater than 7, a PCB exception signal is generated. Is it smaller or equal to 7, the ASW 1 is removed from the PCB at 1438 and its STWSZ-Fe ^ d is checked at 1439 to determine whether
- Π - f - Π - f
es kleiner oder gleich 8 ist oder nicht. Ist dieses Feld größer als 8, erscheint ein PCB-Ausnahmesignal.. Ist STWSZ gleich oder kleiner als 8, so wird bei 1440 das Ausnahmewort EXW abgerufen und sein MBZ-FeId überprüft um festzustellen, ob es gleich 0 istit is less than or equal to 8 or not. If this field is greater than 8, a PCB exception signal appears. If STWSZ is equal to or less than 8, the exception word EXW is retrieved at 1440 and checks its MBZ field to see if it equals 0
en oder nicht. Ist es gleich 0, so entsteht ein ein unzulässigen PCB anzeigendes Ausnahmesignal. Ist es gleich O, so wird das Stapelspeicherwort SKW bei 1442 abgerufen und sein MBZ-FeId bei 1443 überprüft. Ist das MBZ-FeId nicht 0, so erscheint ein PCB-Ausnahmesign; andernfalls wird das Befehlszählerwort ICW aus dem PCB abgerufen und in deai Befehlszähler IC eingegeben und sein I-linweisfeld TAG bei 1445 überprüft, ob es gleich 0 ist oder nicht. Ist es nicht gleich 0, so erscheint ein Signal für einen unzulässigen PCB.. " Andernfalls v/ird das MBZ-FeId (Bits 0-31) bei 1446 abgerufen und bei 1447 überprüft, ob es gleich 0 ist oder nicht. Ist es nicht gleich 0, dann erscheint ein PCB-Ausnahmesignal; ist es jedoch gleich 0, so werden die Stapelspeicherbasisworte SBW 0, 1 und 2 bei 1448 abgerufen. Der Inhalt der acht Basisregister im Basisregister-Sicherheitsbereich des PCB wird bei 1449 abgerufen und in den Basisregistern 1308 der Anlage abgelegt. Dann werden die Inhalte der 16 Generalregister aus dem Generalregister-Sicherstellungsbereich des PCB bei 1450 abgeladen und in die Generalregister der Zentraleinheit bei 13Q7 eingegeben. Vor dem Abruf der wissenschaftlichen Register wird das Fähigkeitsbyte de PMW 0 überprüft, um festzustellen, ob der wissenschaftliche Modus benutzt wird oder nicht (1451). Wird der wissenschaftliche Modus verwendet, dann werden die Inhalte der wissenschaftlichen Register aus der entsprechenden Sicherstellungszone des PCB abgerufen und bei 1452 gespeichert. Die Firmware prüft anschliessend das Fähigkeitsbyte des PMW 0, um festzustellen, ob der Berechnungsmodus angewandt wird (1453). Ist dies der Fall, d.h. steht das Fahigkeitsbyte auf binär 1, so besteht im PCB ein Berechnungswort und das Berechnungswort RTA für die Vorbereitungszeit wird fortgeschrieben..Anschließend überprüft die Firmware, ob die DEXT-Nummor auf 0 steht.(1454). Ist dies nicht der Fall, so gibt sie an, daß . die Maschine * im Emulationsmodus arbeiten kann, d.h. die Dekorerweiterungsinöglichkeit benutzt wird. Dement-en or not. If it is equal to 0, an impermissible PCB is created indicating exception signal. If it is equal to 0, the stack word becomes SKW retrieved at 1442 and checked its MBZ field at 1443. If the MBZ field is not 0, a PCB exception design appears; otherwise the command counter word ICW is fetched from the PCB and entered in the command counter IC and its I-linweisfeld TAG at 1445 checks whether it is equal to 0 or not. If it is not equal to 0, a signal appears for an impermissible one PCB .. "Otherwise the MBZ field (bits 0-31) is called up at 1446 and checked at 1447 whether it is equal to 0 or not. If it is not equal to 0, a PCB exception signal appears; however, if it is 0, the stack base words become SBW 0, 1 and 2 retrieved at 1448. The contents of the eight base registers in the base register security area of the PCB are retrieved at 1449 and stored in the base registers 1308 of the system. Then the contents of the 16 general registers are taken from the Unloaded general register safe area of the PCB at 1450 and entered into the general registers of the central unit at 13Q7. Before the scientific register is called up, the PMW 0 capability byte is checked to determine whether the scientific Mode is used or not (1451). Will the scientific Mode used then the contents of the scientific Register retrieved from the appropriate safe zone of the PCB and stored at 1452. The firmware then checks the capability byte of PMW 0 to determine if the calculation mode is being applied (1453). If this is the case, i.e. if the capability byte is binary 1, there is a calculation word in the PCB and the calculation word RTA for the preparation time is updated .. The firmware then checks whether the DEXT number is 0 (1454). This is not the case, so she states that. the machine * is working in emulation mode can, i.e. the decor extension option is used. Demented
70*9810/0933"70 * 9810/0933 "
sprechend wird die DEXT-Nummer des PMW 1 bei 1455 überprüft, um festzustellen/ ob sie größer oder kleiner als das DETSZ-FeId des Prozeßhauptwortes 3 ist. Ist sie größer, so erscheint bei 1456 eine PCB-Ausnahme. Ist die DEXT-Nummer kleiner als das DETSZ-FeId aber nicht gleich 0, dann läuft die Maschine in einem zulässigen Emulationsmodus ab und geht zu F über. Wenn im Entscheidungsblock 1455 das DEXT-FeId gleich 0 ist, so wird der Eigenbereichmodus ausgeführt und die Maschine ruft die Segment-Tabellenworte STW bei 1457 ab. Das Restzeitwort RTO des Prozeß-Steuerblocks wird bei 1458 abgerufen und der Prozeßzeitgeber mit derjenigen Zeitspanne geladen, welche der laufende Prozeß im Arbeitszustand zubringen kann.Speaking, the DEXT number of PMW 1 is checked at 1455, to determine / whether it is larger or smaller than the DETSZ field of the process noun 3. If it is larger, it appears in 1456 a PCB exception. If the DEXT number is smaller than the DETSZ field but not equal to 0, then the machine runs in one permissible emulation mode and goes to F. In decision block 1455, if the DEXT field is 0, then the Self-range mode executed and the machine retrieves the segment table words STW at 1457. The remaining time word RTO of the process control block is retrieved at 1458 and the process timer is loaded for the amount of time the current process is in Working condition.
Bis zu diesem Zeitpunkt hat entweder(a)ein neuer Prozeß NJP die Steuerung der Zentraleinheit übernommen, falls ein alter Prozeß CJP'.in der Maschine war und der neue Prozeß eine höhere Priorität als der alte hat, oder (b) es war kein alter Prozeß in der Zentraleinheit und der Kopfprozeß der Warteschlange wurde verarbeitet. Unter der Bedingung (a) wurde der alte; Prozeß aus dem laufenden Prozeßwort entfernt und in eine Prozeßverbindung PL in der Warteschlange eingegeben, während der neue Prozeß in der Prozeßverbindung Q/PR/RDY in das laufende Prozeßwort RPW eingefügt wurde und somit die Zustände der beiden Prozesse umgeschaltet worden. Der neue Prozeß wurde zum laufenden Prozeß und erhielt Steuerbefugnis über die Zentraleinheit, während der alte Prozeß diese Steuerbefugnis abgegeben hat. Dann erfolgt der Zugriff zum PCB des neuen Prozesses und die Information zur Durchführung des neuen Prozesses wurde in den Zwischenspeicher oder in die Registeranordnung des Adressensteuerwerks übertragen.Up to this point, either (a) a new process NJP has the Control of the central processing unit taken over if an old process CJP 'was in the machine and the new process had a higher priority than the old one has, or (b) there was no old process in the central processing unit and the head process of the queue was processed. Under condition (a), the old; Process removed from the current process word and in a process connection PL in the queue entered while the new process was inserted into the current process word RPW in the process connection Q / PR / RDY and thus the states of the two processes have been switched. The new process became an ongoing process and was given tax authority via the central unit, while the old process has given up this control authorization. Then access to the PCB takes place of the new process and the information on how to carry out the new process was stored in the buffer or in the register arrangement of the address control unit.
Falls gemäß Zustand (b) kein alter Prozeß die Zentraleinheit steuerte, wurde der Kopfprozeß der Warteschlange der vorbereiteten Prozesse zur Verarbeitung übernommen und der neue Prozeß zum laufenden Prozeß, weil der Zuteiler dieser von der Prozeßverbindung PL am Kopf der Warteschlange entnommen und in das RPW-Wort übertragen hat.- Hierdurch entstand eine leere Prozeß-According to state (b), if no old process was controlling the central processing unit, the head process of the queue became the prepared one Processes are taken over for processing and the new process becomes the current process, because the dispatcher has this from the process connection PL at the head of the queue and transferred it to the RPW word. This resulted in an empty process
709810/0993709810/0993
verbindung PL in der Warteschlange, die herausgenommen werden mußte.connection PL in the queue that had to be removed.
Am Entscheidungsblock 1461 bestimmt die Firmware, ob ein laufender Prozeß Steuerbefugnis über die Zentraleinheit hatte und falls eine freie Prozeßverbindung FPLS bestand, erfolgte ein Zugriff hierzu und sie wurde in die Warteschlange eingereiht und der laufende Prozeß eingeschrieben. Wenn jedoch kein laufender Prozeß die Zentraleinheit steuerte, wird das PMW 0 des neuen Prozesses bei 1460 fortgeschrieben und erneut bei 1463 überprüft, ob ein laufender Prozeß in der Maschine ist. Ist dies nicht der Fall, bo wird die Prozeßverbindung des neuen Prozesses, welcher sich in der Warteschlange befand un nun die Maschine steuert, bei 1466 aus der Warteschlange Q/PR/RDY herausgenommen und wird zu einemAt decision block 1461, the firmware determines whether a running Process had control authority over the central unit and if there was a free process connection FPLS, an access was made to do this and it was queued and the current process was enrolled. However, if not a running process controlled the central unit, the PMW 0 of the new process is updated at 1460 and again checked at 1463 whether a running process in the machine. If this is not the case, the process connection of the new process, which is in the queue was and now the machine controls, at 1466 taken out of the Q / PR / RDY queue and becomes one
FLSP
VerbindungsCrcLgabesemaphor/und nunmehr in die Warteschlange freier
Prozeßverbindungon (805 in Figur 9) eingereiht. Sie wird zu einem Teil der Warteschlange 1466a der freien Prozeßverbindungen. Die
Inhalte der Grenzadressenregister BAR werden abgerufen bei 1464 ^
und das laufende Prozeßwort RPW des neuen Prozesses, welcher nunmehr der laufende Prozeß ist, wird bei BAR plus 56 der Systembasis abgelegt und dadurch fortgeschrieben, daß die Identifizierung
des neuen Prozesses bei 1465 in das laufende Prozeßwort RPW eingeschrieben wird. Der Vakanzindikator wird auf 0 gesetzt, wenn
kein laufender Prozeß vorhanden war. Anschließend wird der Ausscheidungsindikator
bei 1467 auf 0 gesetzt und der Segmentassoziator AS 132 in Figurf, der ein typischer inhaltsadressierbarer
Speicher ist, wird bei 1471 gelöscht. Damit erreicht der Prozeß den Prozeßmodus bei 1470. Dieser zeigt an, daß Ausnahmesignale
durch den im Prozessor ablaufenden Prozeß und nicht durch das Betriebssystem verarbeitet werden. Die Firmware schreitet dann
zu CAB 1480 fort und ein asynchrones Auffang-Bit AB wird bei 1481
überprüft, ob es auf binär 1 steht oder nicht. Steht das AB-Bit
auf 1, dann erfolgt eine überprüfung bei 1482, ob die Prozeringnummcr
PRN größer oder gleich der asynchronen Ringnummer ARN ist.
Das Abfang-Bit AB und die Abfang-Ringnummer ARN befinden sich im Prioritüts-Byte des PCB jedes Prozesses und haben Bedeutung, wennFLSP
ConnectionCrcLgabesemaphor / and now queued in the free process connection queue (805 in FIG. 9). It becomes part of the free process connection queue 1466a. The contents of the limit address register BAR are retrieved at 1464 ^ and the current process word RPW of the new process, which is now the current process, is stored at BAR plus 56 of the system base and updated by the fact that the identification of the new process is updated at 1465 in the current process word RPW is enrolled. The vacancy indicator is set to 0 if there was no running process. The elimination indicator is then set to 0 at 1467 and the segment associator AS 132 in FIG. 1, which is a typical content-addressable memory, is deleted at 1471. The process then enters process mode at 1470. This indicates that exception signals are being processed by the process running in the processor and not by the operating system. The firmware then advances to CAB 1480 and an asynchronous catch bit AB is checked at 1481 to see if it is a binary 1 or not. If the AB bit is 1, a check is made at 1482 as to whether the process ring number PRN is greater than or equal to the asynchronous ring number ARN. The interception bit AB and the interception ring number ARN are in the priority byte of the PCB of each process and have meaning if
709810/0993709810/0993
sich der Prozeß im Verarbeitungszustand befindet. Sie werden aus dem RPW an der Stelle BRA plus 56 der Systembasis abgeleitet und zurückgestellt, weil der nächste Schritt 1484 zu einer asynchronen Abfangroutine führt, die jene Zustände berücksichtigt, welche veranlassen, daß das asynchrone Abfang-Bit oder die asynchrone Ringnummer in die erste Stelle eingegeben werden. Würden diese Bits nicht zurückgesetzt, so würde der nächste Firmware-Durchlauf anzeigen, daß irgendetwas falsch gelaufen ist, obwohl tatsächlich nichts falsch ist. Folglich würde immer die asynchrone Abfangroutine 1584 auftreten und niemals eine Durchführung erfolgen. In den Ent-. Scheidungsblocks 1481 und 1482 würde, wenn das AB-Bit nicht gesetzt ist,oder das AB-Bit gesetzt und die Prozeßringnummern nicht größer als die asynchrone Ringnummer ist, die Firmware übergehen, zu bestimmen, in welchem Modus der Prozessor laufen würde, nämlich im normalen Modus oder im Emulationsmodus. Demzufolge wird die DEXT-Nummer überprüft ob sie auf 0 gesetzt ist und wenn nicht, läuft bei 1487 der Normalmodus der Maschine an. Ist jedoch die DEXT-Nummer nicht gleich 0, so wird bei 1486 der Emulationsmodus eingeleitet.the process is in the processing state. They are derived from the RPW at BRA plus 56 of the system base and deferred because the next step 1484 leads to an asynchronous trap routine that takes into account those conditions which cause the asynchronous trap bit or asynchronous ring number to be entered in the first digit will. If these bits were not reset, the next firmware run would indicate that something went wrong when in fact nothing is wrong. As a result, the asynchronous trap 1584 would always occur and never be carried out. In the ent. Divorce blocks 1481 and 1482 would if the AB bit was not is set, or the AB bit is set and the process ring numbers is not greater than the asynchronous ring number, the firmware will pass over to determine which mode the processor will run in would, namely in normal mode or in emulation mode. As a result, the DEXT number is checked to see whether it is set to 0 and if not, normal mode of the machine starts at 1487. However, if the DEXT number is not equal to 0, then emulation mode is initiated at 1486.
Detaillierte Beschreibung der ErfindungDetailed description of the invention
Das Hardware/Firmwaresystem kennt zwei grundlegende Typen von Datensätzen, welche in Gruppenoperationen bearbeitet werden. Diese beiden Arten von Datensätzen sind die virtuellen Speicher-Datensätze gemäß Figur 15A und die Datenbank-Datensätze gemäß Figur 15B. Die virtuellen Speicher-Datensätze werden im allgemeinen intern für Betriebssystemprozeduren verwendet, wobei Datensätze durch segmentierte Adressen adressiert werden können. Datenbank-Datensätze werden im allgemeinen durch Benutzerprogramme benutzt, welche ihre Datensätze durch die Nummer des Bereichs, der Seite und der Zeile adressieren. Der Bereich bezieht sich auf eine Benutzerdatei, die Seite auf eine Unterteilung innerhalb dieser DateiThe hardware / firmware system knows two basic types of data records, which are processed in group operations will. These two types of data records are the virtual memory data records according to FIG. 15A and the database data records according to Figure 15B. The virtual memory records are generally internal to operating system procedures used, whereby data records can be addressed by segmented addresses. Database records are saved in generally used by user agents, which identify their records by the number of the area, the page and the Address line. The area relates to a user file, the page to a subdivision within this file
709810/0993709810/0993
und die Zeilennummer auf einen speziellen Datensatz innerhalb dieser Seite der Datei.and the line number on a specific record within that page of the file.
Gemäß Figur 15A besteht der virtuelle Speicher-Datensatz aus folgenden Feldern: Das Typfeld 1501 stellt eine Beschreibung der Art des Datensatzes dar und wird von dem Datensatzdescriptor dieses Datensatzes hergeleitet. Dies wird später näher beschrieben. Das D-Umschaltfeld 1502 des virtuellen Speicher-Datensatzes beschreibt den Zustand des Datensatzes. Der Datensatz kann sich in den folgenden Zuständen befinden: Aktiv, dies bedeutet, daß der Datensatz augenblicklich gültige Daten enthält; und logisch gelöscht, dies bedeutet, daß der Datensatz keine gültigen Daten mehr enthält aber weiterhin Speicherraum besetzt hält. Das Längenfeld 1503 beschreibt die tatsächliche Anzahl von Bytes in dem Datensatz. Der Datensatzkörper 1504 enthält die tatsächlichen Daten des Datensatzes. Das Hinweisadressen-Folgefeld 1505 bildet einen Teil des Datensatzkörpers und kann die Hinweisadressen auf den nächsten, den vorangehenden, den ersten und den letzten Datensatz oder auf den Benutzerdatensatz enthalten, wobei diese Datensätze Teil einer Gruppe sind, in der sie als Benutzer- oder Mitglieds-Datensätze vorliegen.According to FIG. 15A, the virtual memory data record consists of the following fields: The type field 1501 provides a description the type of data set and is derived from the data set descriptor of this data set. This will be later described in more detail. The D toggle field 1502 of the virtual memory data set describes the state of the data set. The data record can be in the following states: Active, this means that the data record is currently valid Contains data; and logically deleted, this means that the data record no longer contains any valid data, but still contains it Keeps storage space occupied. The length field 1503 describes the actual number of bytes in the record. The record body 1504 contains the actual data of the data set. The pointer follow-up field 1505 forms part of the record body and can point to the next, previous, first and last record or on the user record, these records being part of a group in which they are used as user or member records are present.
Der zweite Haupttyp eines Datensatzes,der durch das Hardware/ Firmwaresystem erkennbar ist, wird durch Datenbank-Datensätze gemäß Figur 15B gebildet. Das Typfeld 1510 beschreibt wiederum die Art des Datensatzes und wird in der nachstehend noch zu ,beschreibenden Weise von dem Datensatzdescriptor des Datensatzes abgeleitet. Das Längenfeld 1511 beschreibt die Länge des Datensatzes in Bytes. Der Datensatzkörper 1512 enthält die tatsächlichen Daten des Datensatzes. Die Hinweisadressenfolge 1513 enthält die Hinweisadressen auf den nächsten, vorangegangenen« usw. Datensatz der Gruppe. Es gibt ferner ein D-Umschaltfeld 1604 für jeden Datensatz, welches separat aufgezeichnet ist und nachfolgend noch beschrieben wird.The second major type of record that is generated by the hardware / Firmware system is identifiable through database records formed according to Figure 15B. The type field 1510 again describes the type of data record and will be used in the following , descriptively derived from the dataset descriptor of the dataset. The length field 1511 describes the length of the data record in bytes. Record body 1512 contains the actual data of the record. The reference address sequence 1513 contains the reference addresses to the next, previous « etc. Record of the group. There is also a D toggle button 1604 for each record that is recorded separately and is described below.
7098 1 0/09937098 1 0/0993
Die Figuren 15C und 15D beschreiben ferner das Format der Hinweisadressenfolge eines Datensatzes entsprechend der Felder 1505 und 1513 in den Figuren 15A und 15B. Das Hardware/Firmwaresystem erkennt zwei verschiedene Formate von Hinweisadressenfolgen, von denen eines in Figur 15C dargestellt ist und die erkannte Folge für Mitglieds-Datensätze darstellt und von denen das andere für den Fall eines Benutzer-Datensatzes in Figur 15D dargestellt ist. Hinsichtlich der Mitglieds-Datensätze (Figur 15C) enthält das Nächst-Hinweisadressenfeld 1520 die Adresse des nächsten Mitglieds innerhalb der Gruppe. Das Vorangehend-Hinweisadressenfeld 1521 enthält die Adresse des vorangehenden Mitglieds innerhalb der vorliegenden Gruppe. Das Benutzer-Hinweisadressenfeld 1524 enthält die Adresse des Benutzers der Gruppe. Hinsichtlich der Benutzer-Datensätze ist das durch die Hardware/Firmware erkannte Format der Hinweisadressenfolge in Figur 15D dargestellt. Das Erst-Hinweisadressenfeld 1532 enthält die Adresse des ersten Mitglied-Datensatzes der Gruppe. Das Letzt-Hinweisadressenfeld 1533 enthält die Adresse des letzten Mitglied-Datensatzes innerhalb der Gruppe.FIGS. 15C and 15D also describe the format of the pointer sequence of a data record corresponding to the fields 1505 and 1513 in Figures 15A and 15B. The hardware / firmware system recognizes two different formats of reference address sequences, one of which is shown in Figure 15C and represents the recognized sequence for member records and from the other of which is shown for the case of a user data record in FIG. 15D. Regarding the member records (Figure 15C), the Next Pointer field 1520 contains the address of the next member within the group. That Preceding pointer field 1521 contains the address of the preceding member within the present group. That User Notice Address field 1524 contains the address of the user in the group. In terms of user records it is the format of the reference address sequence recognized by the hardware / firmware shown in Figure 15D. The first reference address field 1532 contains the address of the first member record of the group. The last pointer field 1533 contains the address of the last member record within the group.
Jede dieser beschriebenen Hinweisadressen (nächst, vorangehend, usw.) ist wahlfrei. Für eine vorgegebene Gruppe sind jedoch lediglich die folgenden Kombinationen legal:Each of these described reference addresses (next, previous, etc.) is optional. However, only the following combinations are legal for a given group:
Fall 1. Keine erste, letzte, nächste oder vorangehende Hinweisadressen für Benutzer- oder Mitglied-Datensätze. (Die Mitglied-Datensätze besitzen 1, Benutzer-Hinweisadressen)Case 1. No first, last, next or preceding reference addresses for user or member records. (The member records have 1 , user reference addresses)
Fall 2. Der Benutzer-Datensatz besitzt eine Ersti-Hinweisadresse und die Mitglieder-Datensätze besitzen Nächst-Hinweisadressen. (Die Mitglied-Datensätze . *-c können Benutzer-Hinweisadressen aufweisen oder auch nicht)Case 2. The user record has a first reference address and the member records have a next reference address. (The member records. * - c may or may not have user reference addresses)
709810/0993709810/0993
Fall 3. Der Benutzer-Datensatz weist Erst- und Letzt-Hinweisadressen auf und die Mitglied-Datensätze besitzen Nächst-Hinweisadressen. (Die Mitglied-Datensätze können Benutzer-Hinweisadressen aufweisen oder nicht)Case 3. The user record has first and last hint addresses and the member records have next reference addresses. (The member records may or may not have user hint addresses)
Fall 4. Der Benutzer-Datensatz besitzt Erst- und Letzt-Hinweisadressen und die Mitglieder-Datensätze weisen Nächst- und Vorangehend-Hinweisadressen auf. (Die Mitglieder-Datensätze können Benutzer-Hinweisadressen aufweisen oder auch nicht)Case 4. The user data record has first and last reference addresses and the member records have next and previous pointing addresses. (The member records can be used as user reference addresses show or not)
Eine weitere Charakteristik des Hardware/Firinwaresystems besteht in seiner Möglichkeit, vier verschiedene Klassen oder Formate von Hinweisadressen zu erkennen. Innerhalb eines Datensatzes werden diese Klassen wie folgt bezeichnet: Klasse 0, diese v/erden nur für virtuelle Speicher-Datensätze verwendet; Klasse 1, diese werden ebenfalls nur für virtuelle Speicher-Datensätze verwendet; Klasse 2, diese werden nur für Daten-Datensätze verwendet und Klasse 3, diese werden nur für Datenbank-Datensätze verwendet.Another characteristic of the hardware / firmware system is its ability to have four different classes or Recognize formats of reference addresses. These classes are designated as follows within a data record: Class 0, these are only used for virtual memory records; Class 1, these are also only used for virtual memory records used; Class 2, these are only used for data records and Class 3, these are only used for database records used.
Alle vier Hinweisadressen-Klassen weisen eine gemeinsame Bedeutung hinsichtlich ihrer ersten beiden Bits auf. Das erste Bit, das EOS-Bit ist ein Indikatorbit für das Ende einer Gruppe, Weist dieses Bit den Wert 11I" auf, so verweist die Hinweisadresse per Definition auf einen Benutzer-Datensatz. Das zweite Bit, das NINS-Bit ist ein Indikatorbit dafür, daß der Datensatz nicht eingefügt wurde. Wenn dieses Bit den Wert "1" einnimmt, so ist der Datensatz augenblicklich nicht als ein Mitglied der Gruppe, auf die Bezug genommen wird, eingefügt.All four pointer classes have a common meaning with regard to their first two bits. The first bit, the EOS bit, is an indicator bit for the end of a group. If this bit has the value 11 I ", the reference address refers to a user data record by definition. The second bit, the NINS bit, is an indicator bit that the data record has not been inserted.
Das Format der Hinweisadresse von der Klasse 0 ist in Figur 15E dargestellt. Das EOS-Bit 1540 und das NINS-Bit 1541 belegen die erste und zweite Bitposition. Das SRA-FeId 1542 stellt einen 14-Bit-Offset dar, wodurch eine Verschiebung innerhalb eines vorgegebenen Segmentes angezeigt wird, was auf den in diesemThe format of the pointer from class 0 is shown in Figure 15E. The EOS bit 1540 and the NINS bit 1541 occupy the first and second bit position. The SRA field 1542 represents a 14-bit offset, which results in a shift within a specified segment is displayed, which is in this
709810/0993709810/0993
Segment abgespeicherten Datensatz verweist. Das SRA-FeId, das aus den Hinweisadressen der Klasse O gewonnen wird, ist immer mit einer Segmentnummer verbunden, die im allgemeinen von dem Basisregister gewonnen wird, das für die Adressierung von Datensätzen über Hinweisadressen der Klasse 0 benutzt wird.The data record stored in the segment. The SRA field, that is obtained from the reference addresses of class O is always associated with a segment number, which is generally from the Base register is obtained, which is used for addressing data records via reference addresses of class 0.
Die Hinweisadresse der Klasse 1 ist in Figur 15F dargestellt. Das EOS-Bit 1550 und das NINS-Bit 1551 entsprechen der Standarddefinition. Das Feld SEG, SRA 1552 setzt sich aus der segmentierten Standardadresse mit SEG und SRA in der zuvor definierten Weise zusammen. Diese Hinweisadressen werden für die direkte Adressierung eines Datensatzes benutzt, wobei die Segmentnummer direkt über die Hinweisadresse gewonnen wird.The Class 1 pointer is shown in Figure 15F. The EOS bit 1550 and the NINS bit 1551 correspond to the standard definition. The SEG, SRA 1552 field is made up of the segmented Standard address together with SEG and SRA in the manner previously defined. These reference addresses are used for direct addressing of a data record is used, the segment number being obtained directly from the reference address.
Hinsichtlich der Hinweisadressen der Klassen 2 und 3, die im Zusammenhang mit Datenbank-Datensätzen verwendet werden, macht das Firmware/Hardwaresystem von einem Übereinkommen Gebrauch, daß für jedes Basisregister des zuvor beschriebenen Systems (siehe Figur 2, 202) ein Indexregister zugeordnet ist. Die Generalregi.ster 8 bis 15, 201 entsprechen den Indexregistern 0 bis 7. Die Indexregisternummer IXR. ist an die Basisregisternummer BR. angepasst. Beispielsweise enthält für das Basisregister BR3 das Indexregister IXR3 (GRIl) eine Hinweisadresse auf eine Bereich-Seite-Zeilennummer (siehe Figur 15H), dessen laufende SEG, SRA-Adresse in dem Basisregister BR3 enthalten ist. Der Benutzer ist somit in der Lage, seinen Datensatz entweder über ein Basisregister mit der SEG, SRA-Adresse oder über eine Datenbank-Hinweisadresse, wie sie in dem Indexregister des Bereich-Seiten-Zeilen-Formats enthalten ist, zu adressieren.With regard to the reference addresses of classes 2 and 3, which are used in connection with database data records, makes the firmware / hardware system uses a convention that for each base register of the system described above (see Figure 2, 202) is assigned an index register. The general registers 8 to 15, 201 correspond to the index registers 0 to 7. The index register number IXR. is to the basic register number BR. customized. For example, contains for the base register BR3 the index register IXR3 (GRIl) a reference address to an area-page-line number (see Figure 15H), whose current SEG, SRA address is contained in the base register BR3. The user is thus able to either view his or her data set via a base register with the SEG, SRA address or via a database reference address, as it is in the index register of the area-page-line format is to be addressed.
Die Hardware/Firmwarebefehle, die auf die Datenbank-Datensätze einwirken, weisen die Fähigkeit auf, Bereich, Seiten, Zeilen-Hinweisadfessen automatisch in SEG, SRA-Adressen umzuwandeln. Daher benutzen alle tatsächlichen Speicherbezugnahmen durch die Datenbank-Befehle den Standard-Hardwaremechanismus, der denThe hardware / firmware commands that act on the database data records have the ability to assign areas, pages, and line references automatically convert to SEG, SRA addresses. Therefore, all of the actual memory references by the Database commands use the standard hardware mechanism that supports the
7098 10/09937098 10/0993
Speicher mit Segment und SRA-Nummer adressiert, wobei die Umwandlung der in einem Indexregister enthaltenen Bereich-Seite-Zeile erforderlichenfalls automatisch durch die Hardware erfolgt. Memory with segment and SRA number addressed, with the conversion the area-page-line contained in an index register is done automatically by the hardware if necessary.
Es gibt eine zeitweise 1:1 Übereinstimmung zwischen einer Seite in einer Benutzerdatei (Bereich) und einem Segment, wie es durch die Hardware/Firmware identifiziert wird. Die Hardware/ Firmware wandelt daher über einen weiter unten noch zu beschreibenden Seitendescriptormechanismus jede gegebene Seitennummer in eine Segmentnummer um.There is a temporary 1: 1 correspondence between a page in a user file (area) and a segment like it identified by the hardware / firmware. The hardware / firmware therefore converts via a method to be described below Page descriptor mechanism converts any given page number into a segment number.
Das Format der Hinweisadresse der Klasse 2 ist in Figur 15G dargestellt. Die Felder 1560 und 1561 weisen das EOS-Bit und das NINS-Bit auf. Die Seitennummer ist im Feld 1562 enthalten. Die Zeilennummer ist im Feld 1563 abgelegt und stellt die Nummer eines Datensatzes innerhalb einer Seite in einem Bereich dar. Eine Hinweisadresse auf die Vollständige Bereich-Seiten-Zeilennummer gewinnt man durch Benutzung von Datensätzen der Klasse 2, wobei die Bereichnummer aus dem Indexregister gewonnen wird, auf das durch den Datenbank-Befehl Bezug genommen wird.The format of the class 2 pointer is shown in Figure 15G. Fields 1560 and 1561 indicate the EOS bit and the NINS bit on. The page number is contained in field 1562. The line number is stored in field 1563 and represents the Number of a data record within a page in an area. A reference address to the complete area-page line number is obtained by using data records of class 2, with the area number from the index register which is referred to by the database command.
Die Formate der Hinweisadressen der Klasse 3 sind in Figur 15H dargestellt. Die Felder 1570 und 1571 weisen das EOS-Bit und das NINS-Bit auf. Die Bereichnummer ist im Feld 1572 abgelegt. Diese bezieht sich auf die Benutzer-Dateinummer. Die Seitennummer 1573 und die Zeilennummer 1574 adressieren einen bestimmten Datensatz innerhalb der Benutzerdatei.The formats of the class 3 pointing addresses are shown in Figure 15H. Fields 1570 and 1571 indicate the EOS bit and the NINS bit on. The area number is stored in field 1572. This refers to the user file number. The page number 1573 and the line number 1574 address a specific data record within the user file.
Gemäß Figur 16A ist die Seite einer Datenbank dargestellt, welche einen Teil einer Benutzerdatei (Bereich) bildet, wie sie durch das Hardware/Firmwaresystem identifiziert wird. Die Datenbank-Seiten enthalten die Datenbank-Datensätze wie zuvor anhand Figur 15B beschrieben. Wie bereits erwähnt, gibt esAccording to FIG. 16A, the page of a database is shown which forms part of a user file (area), such as it is identified by the hardware / firmware system. the Database pages contain the database data records as previously described with reference to FIG. 15B. As mentioned earlier, there are
709810/0993709810/0993
eine 1:1 Übereinstimmung zwischen einer Datenbank-Seite und einem Segment zu dem Zeitpunkt, wo die Datenbank-Seite im Hauptspeicher abgelegt ist.a 1: 1 correspondence between a database page and a segment at the point in time when the database page is stored in main memory.
Die Seiten-Kopfzeile 1601 enthält gewisse Informationen über die Seite, in welcher sie enthalten ist. Beispielsweise kann sie die Länge der Seite in Bytes beschreiben und ebenfalls einen Hinweis auf die Anzahl der Datensätze (Zeilen) innerhalb der Seite geben. Sie kann ferner eine Information in Form eines Schreibbits enthalten, welches beim Einschreiben in die Seite gesetzt wurde als sie noch im Hauptspeicher enthalten war. Folgend auf die Kopfzeile bildet das Zeilen-Offsetfeld 1602 den nächsten Hauptteil der Datenbankseite. Dieses ist ein Feld von 16-Bit-Elementen, welche auf einer 1:1 Basis mit gültigen Zeilennummern für die Seite übereinstimmen. Für jedes Element des Zeilen-Offsetfeldes gibt es ein D-Umschaltfeld 1604 von 2 Bit und ein Offset-Feld 1603 von 14 Bit. Das D-Umschaltfeld beschreibt den Zustand des Datensatzes beispielsweise als inaktiv, logisch gelöscht, physikalisch gelöscht oder aktiv. Das Offsetfeld stellt eine 14-Bit-Hinweisadresse auf den Datensatz dar, was einer relativen Verschiebung in Bezug auf den Seitenbeginn entspricht. Es ist ersichtlich, daß die Hardware in der Lage ist, einen Datenbank-Datensatz in dieser Seite durch Benutzung des Offsets zu adressieren, wobei der Offset mit der zu dieser Seite gehörigen Segmentnummer verkettet ist. Das Verfahren zur Gewinnung der entsprechenden Segmentnummer wird weiter unten beschrieben. Der verbleibende Teil der Datenbankseite setzt sich aus den tatsächlichen Datenbank-Datensätzen, z.B. den Datensätzen 1610 und 1612 zusammen. Diese Datensätze können in irgendeinem Teil der Seite (Segment) angeordnet sein und befinden sich nicht notwendigerweise in der gleichen Reihenfolge, wie dies ihrer Position in dem Zeilen-Offsetfeld entspricht. "Wenn das D-Umschaltfeld den Datensatz-Zustand als inaktiv oder physikalisch gelöscht beschreibt, so wird das Offsetfeld auf 0 gesetzt und der Datensatz ist nicht existent. The page header 1601 contains certain information about the page in which it is contained. For example, it can describe the length of the page in bytes and also give an indication of the number of data records (lines) within the page. It can also contain information in the form of a write bit which was set when the page was written when it was still contained in the main memory. Following the header, the row offset field 1602 forms the next body of the database page. This is an array of 16-bit elements which match on a 1: 1 basis valid line numbers for the page. For each element of the line offset field there is a D toggle field 1604 of 2 bits and an offset field 1603 of 14 bits. The D toggle field describes the status of the data record, for example, as inactive, logically deleted, physically deleted or active. The offset field represents a 14-bit pointer to the data record, which corresponds to a relative shift with respect to the beginning of the page. It can be seen that the hardware is able to address a database record in this page by using the offset, the offset being concatenated with the segment number belonging to this page. The procedure for obtaining the appropriate segment number is described below. The remaining part of the database page is made up of the actual database data records, e.g. data records 1610 and 1612. These data sets of the page (segment) can be arranged in any part and are not necessarily in the same order as in the corresponding position line offset field. "If the D toggle field describes the data record status as inactive or physically deleted , the offset field is set to 0 and the data record does not exist.
709810/0993709810/0993
Die tatsächliche Datenbank-Seite wird durch einen Seitendescriptor gemäß Figur 16B adressiert. Die Segmentnummer 1625 des Seitendescriptors enthält die Segmentnummer entsprechend der Seitennummer, nachdem sie in den Hauptspeicher geladen ist. Die Bereichnummer 1622 enthält die Bereichnummer (Datei) dieser Seite. Die Seitennummer 1624 stellt die tatsächliche Seitennummer dar. Der Indikator 1626 für die letzte Seite weist hinsichtlich der höchsten Seitennummer für einen vorgegebenen Bereich den Wert "1" auf. Der Verschiebezählstand 1623 enthält die Anzahl der Bits der Seitennummer. Das Hardware/Firmwaresystem identifiziert eine veränderliche Länge der Seitennummer durch Benutzung der Formate der Bereich-Seiten· Zeilen-Hinweisadresse. Der Nächst-Descriptor 1620 wird zum Hinweis auf den nächsten Seitendescriptor innerhalb einer Kette von Seitendescriptoren verwendet. Der Vorangehend-Descriptor 1621 verweist auf den vorangehenden Descriptor innerhalb einer Kette von Seitendescirptoren. Die Verwendung dieser Seitendescriptorketten wird weiter unten beschrieben. The actual database page is addressed by a page descriptor according to FIG. 16B. The segment number 1625 of the page descriptor contains the segment number corresponding to the page number after it is loaded into main memory. Area number 1622 contains the area number (file) of this page. The page number 1624 represents the actual page number. The indicator 1626 for the last page has the value "1" with regard to the highest page number for a given area. The shift count 1623 contains the number of bits of the page number. The hardware / firmware system identifies a varying length of the page number by using the formats of the Area Pages * Line Pointer. The next descriptor 1620 is used to indicate the next page descriptor within a chain of page descriptors. The previous descriptor 1621 refers to the previous descriptor within a chain of page descriptors. The use of these page descriptor chains is described below.
Die Seitendescriptorkette wird durch einen Hardware/Firmwaremechanismus gebildet, der benutzt- wird, um anzuzeigen, welche Seiten innerhalb von Dateien gerade im Hauptspeicher des Computersystems abgelegt sind. Für jede im Speicher vorhandene Seite wird ein Seitendescriptor in einer von einem einzigen System identifizierbaren Kette abgelegt, auf welche durch die integrierte Zugriffssteuerung-Hinweisadresse gemäß Figur 16C hingewiesen wird. Die integrierte Zugriffssteuerung-Hinweisadresse stellt eine Einworterweiterung hinsichtlich der zuvor beschriebenen Systembasis dar. Die integrierte Zugriffssteuerung-Hinweisadresse ist unter der Adresse BAR plus 92 abgelegt, welche Adresse sich ein Wort nach dem Ende der Systembasis befindet. Das Format der integrierten Zugriffssteuerung-Hinweisadresse IAC enthält ein MBZ-FeId 1630, eine G-Nummer 1631 und ein Verschiebefeld 1632. Die G-Nummer ist eine Nummer eines G-Segmentes wie zuvor beschrieben. Das Verschiebefeld gibt eine Verschiebung innerhalb dieses G-Segmentes an, wodurch The page descriptor chain is formed by a hardware / firmware mechanism that is used to indicate which pages within files are currently stored in the main memory of the computer system. For each page present in the memory, a page descriptor is stored in a chain that can be identified by a single system and is pointed to by the integrated access control reference address according to FIG. 16C. The integrated access control pointer represents a one-word extension with respect to the system basis described above. The integrated access control pointer is stored under the address BAR plus 92, which address is one word after the end of the system basis. The format of the integrated access control reference address IAC contains an MBZ field 1630, a G number 1631 and a shift field 1632. The G number is a number of a G segment as described above. The shift field indicates a shift within this G-segment , whereby
7 0 9 8 10/09937 0 9 8 10/0993
der Beginn des Seitendescriptorringes angezeigt wird. Die Seitendescriptoren aller in einem Hauptspeicher enthaltene Seiten werden sodann zusammen im herkömmlichen Kettenformat miteinander verbunden. Die Nächst-Descriptor- und Vorangehend-Descriptor-Felder bilden die Verbindung.the beginning of the page descriptor ring is displayed. The page descriptors of all contained in a main memory Pages are then linked together in the traditional chain format. The Next Descriptor and Previous Descriptor fields form the connection.
Figur 17 zeigt das Hardware/Firmware-Flußdiagramm für die Abspeicherung einer Datenbankseite im Hauptspeicher. Die Firmware wird benutzt, um eine Hinweisadresse für die Bereich-Seite-Zeilenzahl aufzugreifen und zunächst festzustellen, ob sich die Seite im Hauptspeicher befindet und zweitens, um den Seitendescriptor für diese Seite zu bilden, falls die Seite als im Hauptspeicher vorhanden gefunden wird. Die Firmware startet hierbei mit dem Schritt 1701.FIG. 17 shows the hardware / firmware flow diagram for storing a database page in main memory. the Firmware is used to take a pointer for the area-page-line number and first determine whether the page is in main memory and, secondly, to form the page descriptor for this page, if the page than is found in main memory. The firmware starts with step 1701.
Die erste Firmwareaktion tritt im Schritt 1702 auf, wo eine IAC-Hinweisadresse aus dem Hauptspeicher am Speicherplatz BAR plus 92 abgerufen wird. Die IAC-Hinweisadresse ist in der Systembasis gemäß Figur 6 enthalten. Als Ergebnis dieses Speicherabrufs kann die Speicherzugriffsausnahme 1703 auftreten. Beispiele einer SpeicherZugriffsausnahme sind gegeben, wenn sich die abzurufende Größe außerhalb des physikalischen Speichers befindet oder wenn ein Speicherlesefehler auftritt. Der nächste von der Firmware ausgeführte Schritt 1704 überprüft das MBZ-FeId auf den Wert Null. Wenn das Feld den Wert Null nicht aufweist, so tritt eine Systemüberprüfung 1705 auf. Beim Auftritt einer Systemüberprüfung geht das System in einen Diagnostizierzustand über.The first firmware action occurs in step 1702 where an IAC pointer is from main memory in the location BAR plus 92 is called. The IAC reference address is contained in the system base according to FIG. As a result of this Memory access exception 1703 may occur when fetching memory. Examples of a memory access exception are given, when the size to get is out of physical memory or when a memory read error occurs. The next step 1704 carried out by the firmware checks the MBZ field for the value zero. If the field has the value Does not have zero, a system check 1705 occurs. When a system check occurs, the system goes into a Diagnostic status over.
Wenn das MBZ-FeId den Wert Null aufweist, so wird der Schritt 1706 als nächstes ausgeführt. Die G-Nummer des IAC-Feldes wird in das temporäre Register G übertragen.- Das Verschiebefeld wird in äas temporäre Register D übertragen. Die Verschiebung wird ferner in einem Zwischenspeicher an einen Speicherort übertragen, der als erste Hinweisadresse bezeichnet wird. Der Schritt 1707 wird als nächstes ausgeführt. Die Abrufung desIf the MBZ field has the value zero, the step 1706 executed next. The G number of the IAC field becomes transferred to the temporary register G. - The shift field is transferred to the temporary register D. The postponement is also transferred in a buffer to a storage location called the first pointer. Of the Step 1707 is performed next. The retrieval of the
70981Ö/099370981Ö / 0993
Hauptspeichers erfolgt an der Adresse G, D zwecks Abrufung eines Seitendescriptors (siehe Figur 16B). Dieser Abruf erfolgt in Übereinstimmung mit der zuvor beschriebenen G, D-Adressierung. Eine G, D-Zugriffsausnahme 1708 kann als Folge dieses Speicherabrufs auftreten. Als nächstes führt die Firmware den Schritt 1709 aus. Die Bereichsnummer und Seitennummer der Bereich-Seiten-Zeilennummer werden durch die Firmware-Subroutine geprüft und mit dem Bereichsnummernfeld 1622 und dem Seitennummernfeld 1624 des Seitendescriptors hinsichtlich Übereinstimmung verglichen. Wenn die Bereich- und Seitennummern übereinstimmen/ so wird der Schritt 1720 ausgeführt, in welchem die Firmwareroutine endet und wobei der gerade aus dem Hauptspeicher abgerufene Seitendescriptor in den Zwischenspeicher geladen wird.Main memory takes place at address G, D for the purpose of retrieval a page descriptor (see Figure 16B). This retrieval takes place in accordance with the G, D addressing described above. A G, D access exception 1708 can result this memory fetch may occur. Next up is the firmware perform step 1709. The area number and page number of the area-page-line number are determined by the firmware subroutine checked and compared with the area number field 1622 and the page number field 1624 of the page descriptor for Match compared. If the area and page numbers match, then step 1720 is performed, in which the firmware routine ends and the page descriptor just fetched from main memory is stored in the buffer is loaded.
Wenn die Bereichs- oder Seitennummer des vorliegenden Seitendescriptors nicht mit der Bereichs- und Seitennummer der gerade 'geprüften Bereich-Seiten-Zeilen-Hinweisadresse übereinstimmt, so wird der Schritt 1711 ausgeführt. Das Nächst-Descriptorfeld 1620 des Seitendescriptors für die vorliegende Seite wird gegen den Inhalt des temporären Zwischenspeicher-Speicherplatzes, der die erste Hinweisadresse enthält, geprüft. Wenn diese beiden Werte nicht einander gleich sind, so wird der Schritt 1713 ausgeführt, in welchem das temporäre Register D mit dem Nächst-Descriptorfeld des vorliegenden Seitendescriptors geladen wird. Auf den Schritt 1713 erfolgt eine Verzweigung durch die Firmware nach dem Schritt 1707, in welchem der neue durch den Nächst-Descriptor adressierte Seitendescriptor abgerufen wird und der nachfolgend geprüft wird.If the area or page number of the current page descriptor does not match the area and page number of the area-page-line reference address currently being checked, so step 1711 is carried out. The next descriptor field 1620 of the page descriptor for the current page is used against the contents of the temporary buffer space, the contains the first reference address. If these two values are not equal to each other, then step 1713 executed, in which the temporary register D is loaded with the next descriptor field of the current page descriptor. The firmware branches to step 1713 after step 1707, in which the new descriptor is replaced by the next descriptor addressed page descriptor is retrieved and is subsequently checked.
Geht man auf den Schritt 1711 zurück, so wird für den Fall, daß der Nächst-Descriptor dem Inhalt der ersten Hinweisadresse an dem temporären Zwischenspeicherplatz entspricht,angezeigt,, daß der gesamte Ring von Seitendescriptoren,der alle im Speicher vorhandenen Seiten beschreibt, nunmehr herausgeholt worden ist, If one goes back to step 1711, then in the event that the next descriptor corresponds to the content of the first reference address in the temporary buffer location, it is indicated that the entire ring of page descriptors, which describes all the pages in the memory, is now fetched has been,
70981 0/099370981 0/0993
ohne daß die durch die Firmware gesuchte Bereich-Seite aufgefunden wurde. In diesem Fall tritt im Schritt 1712 eine Seitenausnahme auf, die anzeigt, daß die gesuchte Seite im Hauptspeicher nicht vorhanden ist. Auf diese Ausnahme hin kann eine geeignete Softwareaktion auftreten, durch die die gesuchte Seite unter Umständen in den Hauptspeicher gebracht wird.without the area page searched for by the firmware being found. In this case, a page exception occurs in step 1712 indicating that the page sought does not exist in main memory. In response to this exception, a suitable software action can occur, which may bring the searched page into main memory.
Gemäß Figur 18 ist ein Blockdiagramm der Hardware dargestellt, die erforderlich ist, um eine Datenbank-Seite im Hauptspeicher aufzufinden. Der dargestellte Mechanismus wird in Betrieb gesetzt, indem das Seitenauffindungs-Flip-Flop 1851 gesetzt wird, welches in dem Hilfsspeicher 1317A des Rechenwerks 1317 der Zentraleinheit 104 angeordnet ist. Vor dem Setzen des Seitenauf findungs-Flip-Flops 1851 wird die Bereichs-Seitennummer, deren Seitendescriptor zu laden ist, in das Bereichs-Seiten-Register 1852 geladen. Der Inhalt des Bereichs-Seiten-Registers wird sodann benutzt, um festzustellen, ob der geeignete Bereichs-Seiten-According to FIG. 18, a block diagram of the hardware is shown which is required to store a database page in main memory to find. The mechanism shown is activated by setting the page finder flip-flop 1851, which is arranged in the auxiliary memory 1317A of the arithmetic unit 1317 of the central unit 104. Before putting the page on Finding flip-flops 1851 becomes the area page number whose Page descriptor is to be loaded into the area-page-register Loaded in 1852. The contents of the area-page register are then used to determine whether the appropriate area-page
descriptor aufgefunden worden ist.descriptor has been found.
Das Setzen des Seitenauffindungs-Flip-Flops 1851 in den Zustand "1" bereitet das UND-Gatter 1854 vor, welches sodann die übertragung des Inhalts des Grenzadressregisters 1853 zu dem Addierer 1856 gestattet. Der andere Eingang des Addierers wird durch eine Konstante mit dem Wert 92 gebildet, welche Konstante in dem Hardwareregister 1885 gespeichert ist. Der Addierer 1856 ist im Rechenwerk 1317 der Zentraleinheit 104 angeordnet. Der Ausgang des Addierers 1856 ist an ein UND-Gatter 1857 angeschlossen. Das UND-Gatter 1857 wird durch das Seitenauffindungs-Flip-Flop 1851 vorbereitet. Bei Vorbereitung des UND-Gatters 1857 kann der Inhalt des Addierers 1856 zu dem Speicheradressregister 1858 des Speichersystems 1859 übertragen werden. Auf diese Weise wird eine Adresse^ebildet aus dem Grenzadressregisterinhalt plus 92 - in das Speicheradressregister 1858 übertragen. Wie weiter vorne beschrieben, bildet diese Adresse die Adresse der integrierten Setting the page finder flip-flop 1851 to the "1" state prepares the AND gate 1854, which then allows the contents of the limit address register 1853 to be transferred to the adder 1856. The other input of the adder is formed by a constant with the value 92, which constant is stored in the hardware register 1885. The adder 1856 is arranged in the arithmetic unit 1317 of the central unit 104. The output of adder 1856 is connected to an AND gate 1857. The AND gate 1857 is prepared by the page finder flip-flop 1851. When the AND gate 1857 is prepared, the contents of the adder 1856 can be transferred to the memory address register 1858 of the memory system 1859. In this way, an address formed from the limit address register content plus 92 - is transferred to the memory address register 1858. As described above, this address forms the address of the integrated
7Q98 10/09937Q98 10/0993
Zugriffssteuerung-Hinweisadresse die in der Systembasis auffindbar ist. Die integrierte Zugriffssteuerung-Hinweisadresse IAC kann aus dem Speichersystem 1859 ausgelesen werden. Das Ausgangssignal des Seitenauffindungs-Flip-Flop. 1851 wird durch den Invertierverstärker 1886 in den Wert "0" invertiert, welcher seinerseits zum Setzen des Lese/Schreib-Flip-Flops 1887 des Speichersystems benutzt wird und"dieses Flip-Flop auf den Wert "0" stellt (Speicher-Leseoperation). Nachdem das Speichersystem das Laden des Speicheradressregisters 1858 festgestellt hat, kann somit eine Speicher-Leseoperation ausgelöst werden. Als Folge der Speicher-Leseoperation können Speicher-Zugriffsausnahmen auftreten. Wie zuvor beschrieben, verursachen die Speicher-Zugriffsausnahmen die Aktivierung des Ausnahme-Behandlungsmechanismus. Der Ausnahme-Behandlungsmechanismus wird durch Setzen des Speicher-Zugriff sausnahme-Flip-Flops 1860 aktiviert, falls solche Ausnahmen durch das Speichersystem festgestellt werden. Wenn die Speicheroperation normal abläuft, so wird das Speicheroperation-Beendigungs-Flip-Flop 1861 auf den Wert "1" gesetzt, und der Inhalt der Hinweisadresse IAC aus dem Speicher ausgelesen und zu dem Speicher-Datenregister 1862 übertragen. Das Speicheroperation-Beendigungs-Flip-Flop 1861 gibt hierbei die übertragung des Inhalts des Speicher-Datenregisters über das UND-Gatter 1863 frei. Dieser Inhalt, der die Hinweisadresse IAC darstellt, besitzt das Format gemäß Figur 16c.Access control pointer which can be found in the system base is. The integrated access control reference address IAC can be read from the storage system 1859. The output signal of the page finder flip-flop. 1851 is through the inverting amplifier 1886 inverted to the value "0", which in turn is used to set the read / write flip-flop 1887 of the memory system is used and "sets this flip-flop to the value" 0 " (Memory read operation). Thus, after the memory system detects that the memory address register 1858 has been loaded, a memory read operation can be initiated. Memory access exceptions may occur as a result of the memory read operation. As previously described, the memory access exceptions occur the activation of the exception handling mechanism. The exception handling mechanism is set by setting the memory access exception flip-flops 1860 activated, if any Exceptions are detected by the storage system. When the memory operation proceeds normally, the memory operation completion flip-flop becomes 1861 set to the value "1" and the content of the reference address IAC read out from the memory and transferred to memory data register 1862. The store operation completion flip-flop 1861 here indicates the Transmission of the contents of the memory data register via the AND gate 1863 free. This content, which is the reference address IAC represents, has the format according to Figure 16c.
Das MBZ-FeId 1630 der Hinweisadresse IAC wird an einen Vergleicher 1865 abgegeben, der in dem Rechenwerk 1317 enthalten ist. Der Vergleicher 1865 vergleicht das MBZ-FeId mit dem Inhalt eines Registers 1864, das den Wert 11O" speichert. Wenn kein Vergleich vorliegt, so wird das Systemprüfungs-Flip-Flop 1866 auf den Wert "1" gesetzt. Stellt der Vergleicher 1865 den Gleichheitszustand fest, so gibt das Gleichheitssignal die übertragung der G-Nummer...l-1631 und des Verschiebefeldes 1632 der Hinweisadresse IAC über das UND-Gatter 1867 nach dem G-Register 1873 und dem D-Register 1874 frei. Die logischen Schaltkreise für die übertragung in das D-Register 1874 werden weiter unten beschrieben.The MBZ field 1630 of the reference address IAC is sent to a comparator 1865, which is contained in the arithmetic unit 1317. The comparator 1865 compares the MBZ field with the contents of a register 1864 which stores the value 11 O ". If there is no comparison, the system test flip-flop 1866 is set to the value" 1 " State of equality, the equality signal enables the transmission of the G number ... l -1631 and the shift field 1632 of the reference address IAC via the AND gate 1867 to the G register 1873 and the D register 1874. The logic circuits for the transfer to the D register 1874 is described below.
7 Ö9810/09937 Ö9810 / 0993
Das Setzen des Seitenauffindungs-Flip-Flops 1851 seinerseits verursacht das Setzen eines ersten Zeit-Flip-Flops 1869. Dieses Flip-Flop wird auf den Wert "1" gesetzt, um anzuzeigen, daß das D-Register 1874 zum erstenmal geladen worden ist. Der Ausgang des Zeit-Flip-Flops 1869 ist zusammen mit dem Ausgang des UND-Gatters 1867 an das UND-Gatter 1871 angeschlossen, wobei das UND-Gatter 1867 das D-Verschiebefeld der Hinweisadresse IAC enthält, über das UND-Gatter 1871 wird das Verschiebefeld der Hinweisadresse IAC an ein ODER-Gatter 1872 weitergegeben, das seinerseits das Verschiebefeld in das D-Register 1874 überträgt. Der Ausgang des Zeit-Flip-Flops 1869 wird zusammen mit dem Ausgang des UND-Gatters 1867 auf das UND-Gatter 1868 gegeben, über das UND-Gatter 1868 wird somit das erste Hinweisadressenregister 1870 mit dem anfänglichen Verschiebewert geladen, der aus der Hinweisadresse erhalten wird. Die Benutzung des ersten Hinweisadressenregisters 1870 wird weiter unten beschrieben. Es sei weiterhin vermerkt, daß der Ausgang des Zeit-Flip-Flops 1869 auf seinen Rückstelleingang zurückgeführt ist. Das Zeit-Flip-Flop, das auf den Wert "1" gesetzt worden war und somit das Laden des ersten Hinweisadressenregisters 1870 und des D-Registers 1878 gestattet hat, wird somit anschließend auf den Wert "0" zurückgestellt.The setting of the page finder flip-flop 1851 in turn causes a first time flip-flop 1869 to be set. This flip-flop is set to the value "1" to indicate that the D register 1874 has been loaded for the first time. The output of the time flip-flop 1869 is connected to the AND gate 1871 together with the output of the AND gate 1867, the AND gate 1867 containing the D shift field of the reference address IAC, via the AND gate 1871 the Shift field of the reference address IAC passed on to an OR gate 1872, which in turn transfers the shift field to the D register 1874. The output of the time flip-flop 1869 is given together with the output of the AND gate 1867 to the AND gate 1868, the first pointer address register 1870 is thus loaded with the initial shift value obtained from the pointer address via the AND gate 1868 will. The use of the first pointer register 1870 is described below. It should also be noted that the output of the timing flip-flop 1869 is fed back to its reset input. The time flip-flop, which was set to the value "1" and thus allowed the loading of the first reference address register 1870 and the D register 1878, is thus subsequently reset to the value "0".
Sind das G-Register 1873 und das D-Register 1874 einmal geladen, so wird der G, D-Zügriffsmechanismus 1875 aktiviert. Dieser Mechanismus bewirkt einen Abruf des Hauptspeichers unter der Adresse, die durch die Register G.und D vorgegeben ist, wobei ein Seitendescriptor abgerufen wird (siehe Figur.16b). Dieser Mechanismus führt den Hautpspeicherabruf gemäß der zuvor beschriebenen G, D-Adressierung durch. G, D-Zugriffsausnahmen können als Folge dieses Speicherabrufs auftreten (z.B. außerhalb des Segmentes, illegaler G-D-Segmentdescriptor). Werden solche Ausnähmen festgestellt, so wird das G, D-Zugriffsausnahme-Flip-Flop 1876 auf den Wert "1" gesetzt, wodurch wiederum der Ausnahme-Behandlungsmechanismus aktiviert wird. Andernfalls Once the G register 1873 and the D register 1874 are loaded, the G, D access mechanism 1875 is activated. This mechanism causes the main memory to be called up at the address specified by registers G. and D, with a page descriptor being called (see Figure 16b). This mechanism performs the main memory fetch according to the G, D addressing described above. G, D access exceptions can occur as a result of this memory call (e.g. outside the segment, illegal GD segment descriptor). If such exceptions are found, the G, D access exception flip-flop 1876 is set to the value "1", which in turn activates the exception handling mechanism. Otherwise
709810/0993709810/0993
- S7-- S7-
überträgt bei Beendigung des G, D-Zugriffes der Mechanismus 1875 die abgerufenen Daten in das Seitendescriptorregister 1877. Die in das Seitendescriptorregister 1877 übertragenen Daten weisen das Format gemäß Figur 16b auf.When the G, D access is terminated, the mechanism transmits 1875 the retrieved data in the page descriptor register 1877. The The data transferred into the page descriptor register 1877 have the format according to FIG. 16b.
Nach dem Laden des Seitendescriptorregisters 1877 werden die Bereichsnummer 1622 und die Seitennummer 1624 in einen Vergleicher 1878 eingegeben, der in dem Rechenwerk 1317 angeordnet ist. Zu diesem Zeitpunkt wird die Bereichs-Seitennummer, die in dem Bereichs-Seitenregister 1852 abgelegt ist und die bei der Auslösung des Seitenauffindungsmechanismus geladen wurde, ebenfalls in den Vergleicher 1878 eingegeben. Stellt der Vergleicher Gleichheit fest, so ist der gesuchte Seitendescriptor aufgefunden worden und der Mechanismus hat seine Funktion beendet. Die Leitung "Vergleich erfüllt" des Vergleichers 1878 wird daher an das Seitenauffindungs-Beendigungs-Flip-Flop 1879 angeschlossen. Das auf dieser Leitung ausgegebene Signal setzt dieses Flip-Flop in den Zustand "1", wodurch die Beendigung des Seitenauffindungsmechanismus angezeigt wird.After the page descriptor register 1877 is loaded, the area number 1622 and the page number 1624 are put into a comparator 1878 entered, which is arranged in the arithmetic unit 1317. At this point, the area page number that is in the Area page register 1852 is stored and that was loaded when the page retrieval mechanism was triggered entered into the comparator in 1878. If the comparator determines equality, then the searched page descriptor has been found and the mechanism has finished its function. The "comparison fulfilled" line of the comparator 1878 is therefore sent to the Page Finder Completion Flip-Flop 1879 connected. That A signal output on this line sets this flip-flop to the "1" state, thereby terminating the page finder mechanism is shown.
Wenn der Vergleicher 1878 einen nicht erfüllten Vergleich anzeigt, so bereitet das an der entsprechenden Leitung abgegebene Signal das UND-Gatter 1880 vor und gestattet die übertragung des nächsten Descriptors 1620 von dem Seitendescriptorregister 1877 zu dem Vergleicher 1883 sowie zu dem UND-Gatter 1885. Der Vergleicher 1833 vergleicht den nächsten Descriptor 1620 mit dem Inhalt des ersten Hinweisadressenregisters 1870. Ist der Vergleich erfüllt, so ist die gesamte Hinweisadressenkette von Seitendescriptoren durchsucht worden und der gesuchte Seitendescriptor ist nicht aufgefunden worden. Unter diesen Bedingungen befindet sich die gesuchte Bereichsseite nicht im Hauptspeicher und das Gleichheitssignal d.es Vergleichers 1883 wird somit zum Setzen des Seiten-Ausnahme-Flip-Flops 1884 benutzt. Der Ausnahme-Behandlungsmechanismus wird sodann durch das Setzen des Flip-Flops 1864 ausgelöst. ' ' If the comparator 1878 indicates an unsatisfied comparison, the signal delivered on the corresponding line prepares the AND gate 1880 and allows the transfer of the next descriptor 1620 from the page descriptor register 1877 to the comparator 1883 and to the AND gate 1885. The Comparator 1833 compares the next descriptor 1620 with the contents of the first pointer address register 1870. If the comparison is fulfilled, the entire pointer address chain of page descriptors has been searched and the searched page descriptor has not been found. Under these conditions, the searched area page is not in the main memory and the equality signal of the comparator 1883 is thus used to set the page exception flip-flop 1884. The exception handling mechanism is then triggered by setting flip-flop 1864. ''
709810/0993709810/0993
Der Ausgang des UND-Gatters 1880, an dem der nächste Descriptor 1620 des Seitendescriptorregisters 1877 ansteht, ist ebenfalls an das UND-Gatter 1885 angeschlossen. Dieses UND-Gatter wird durch das Signal "Ungleich" des Vergleichers 1883 vorbereitet, der Ungleich-Zustand tritt auf, wenn das Ende der Seitendescriptorkette von Hinweisadressen nicht erreicht worden ist. Das nächste Descriptorfeld wird daher von dem UND-Gatter 1883 zu dem UND-Gatter 1882 übertragen, wenn das Ungleich-Signal den Wert "1" aufweist. Das andere Eingangssignal des UND-Gatters 1882 wird durch das Signal eines Invertierverstärkers 1881 gebildet. Dieses Signal des UND-Gatters 1881 stellt den invertierten Ausgang des Zeit-Flip-Flops 1869 dar. Der Signalausgang des invertierenden UND-Gatters 1881 nimmt somit den Wert "1" ein, wenn das Zeit-Flip-Flop 1869 den Wert "0" abgibt und das UND-Gatter 1882 wird hierdurch zur übertragung des nächsten Descriptorfeldes 1620 zu dem ODER-Gatter 1872 freigegeben, wobei dieses ODER-Gatter seinerseits an das D-Register 1874 angeschlossen ist. Durch diese Reihe von logischen Gattern wird das nächste Descriptorfeld von dem Seitendescriptorregister 1877 in das D-Register 1874 übertragen und der G, D-Zugriffsmechanismus ist anschließend bereit, erneut aktiviert zu werden. Der Zyklus des G, D-Zugriffs wird nun erneut in Gang gesetzt und es wird ein neuer Seitendescriptor abgerufen und in das Seitendescriptorregister 1877 geladen. Diese Operation des Abrufs neuer Seitendescriptoren wird wiederholt bis entweder der Vergleicher 1878 den gesuchten Seitendescriptor feststellt oder bis der Vergleicher 1883 das Ende der Seitendescriptorkette feststellt.The output of the AND gate 1880, at which the next descriptor 1620 of the page descriptor register 1877 is pending, is also connected to the AND gate 1885. This AND gate will prepared by the "not equal" signal of the comparator 1883, the not equal condition occurs when the end of the page descriptor chain has not been reached by reference addresses. The next descriptor field from AND gate 1883 therefore becomes the AND gate 1882 when the not equal signal is "1". The other input signal to the AND gate 1882 is formed by the signal from an inverting amplifier 1881. This signal of the AND gate 1881 represents the inverted The output of the time flip-flop 1869. The signal output of the inverting AND gate 1881 thus assumes the value "1", when the time flip-flop 1869 outputs the value "0" and the AND gate 1882 is thereby used to transmit the next descriptor field 1620 is enabled to the OR gate 1872, this OR gate in turn being connected to the D register 1874. This series of logic gates moves the next descriptor field from the page descriptor register 1877 into the D register 1874 and the G, D access mechanism is then ready to be activated again. The cycle of G, D access is now started again and a new page descriptor is retrieved and stored in the page descriptor register 1877 loaded. This operation of fetching new page descriptors is repeated until either the comparator 1878 finds the one searched for Page descriptor detects or until the comparator 1883 detects the end of the page descriptor chain.
Zwei weitere wesentliche Elemente des Hardware/Firmware-Systems sind in den Figuren 19a und 19b dargestellt und werden anschließend näher beschrieben. Der Gruppendescriptor gemäß Figur 19a wird zur BeschreibungLder Eigenschaften einer vorgegebenen Gruppe benutzt. Gemäß Figur 19a weist das P-FeId 1802 zwei Bit auf, die die Hinweisadressenklasse (Modus) der Datensatz-Hinweisadressen in dieser Gruppe beschreiben. Alle Datensätze sowohl Benutzer-Datensätze,Two further essential elements of the hardware / firmware system are shown in FIGS. 19a and 19b and will be described in more detail below. The group descriptor according to FIG. 19a is used to describe L the properties of a given group. According to FIG. 19a, the P field 1802 has two bits which describe the tip address class (mode) of the data record tip addresses in this group. All data sets as well as user data sets,
7098 10/09937098 10/0993
als auch Mitglieds-Datensätze besitzen Hinweisadressen der gleichen Hinweisadressenklasse bezüglich einer vorgegebenen Gruppe. Das Benutzer-Hinweisadressenfeld des Gruppendescriptors 1803 wird auf den Wert "1" gesetzt, wenn Mitglieds-Datensätze eine Benutzer-Hinweisadresse auf den Benutzer-Datensatz (siehe Figur 15c) enthalten. Das andere Hinweisadressen bezeichnende Feld gibt an, ob Benutzer- und Mitglieds-Datensätze erste, letzte, nächste und vorangehende Hinweisadressen aufweisen. Das Gruppen-Verwirklichungsmodus-Feld K-1805 beschreibt die Art und Weise der Gruppenherstellung, die hinsichtlich der laufenden Gruppe benutzt wird. Einzig der Modus der Ring-Gruppen ist in dieser Beschreibung näher erläutert. Es besteht jedoch die Möglichkeit der Erweiterung auf andere Moden der Gruppen-Verwirklichung, wie beispielsweise durch Tabellenanordnung oder Listenanordnung. Das Verschiebefeld 1806 wird zur Anzeige des Offsets des Beginns des Datensatzes im Speicher in Bezug auf den Beginn der Hinweisadressenfolge in diesem Datensatz benutzt (siehe Figuren 15a und 15b), Auf, den Gruppendescriptor gemäß Figur 19a wird immer Zugriff durch den Datenbank-Befehl genommen, wenn die Hardware/Firmware mit einer Beschreibung der ihr zugeführten Gruppe versorgt wird.as well as member records have reference addresses of the same Pointing address class related to a given group. The 1803 group descriptor user hint field is set to the value "1" if member records have a user reference address for the user record (see Figure 15c) included. The other field, denoting reference addresses, indicates whether user and member records are first, last, have next and previous reference addresses. The group realization mode field K-1805 describes the manner in which the group is established with regard to the current group is used. Only the mode of the ring groups is explained in more detail in this description. However, there is a possibility the expansion to other modes of group implementation, such as by table arrangement or list arrangement. That Shift field 1806 is used to display the offset of the beginning of the record in memory with respect to the beginning of the pointer sequence used in this data record (see FIGS. 15a and 15b), Auf, the group descriptor according to FIG. 19a is always accessed by the database command is taken when the hardware / firmware is supplied with a description of the group assigned to it.
Der Datensatzdescriptor gemäß Figur 19b wird zur Beschreibung gewisser Eigenschaften des Datensatzes benutzt. Das F-FeId 1820 wird zur Beschreibung des Datensatz-Formates herangezogen. Das Format der Datensätze entspricht entweder einem virtuellen Speicher-Datensatz oder einem Datenbank-Datensatz, wie dies anhand von Figur 15a und 15b beschrieben wurde. Das Datensatz-Typfeld 1821 zeigt die Art des Datensatzes an und wird unter Umständen in das Typfeld des tatsächlichen Datensatzes im Speicher geladen, wie dies in den Figuren 15a und 15b dargestellt ist. Das Datensatz-Längenfeld 1822 zeigt die tatsächliche Länge des Datensatzes im Hauptspeicher an und wird gemäß den Figuren 15a und 15b in die Hauptspeicher-Datensätze geladen.The data record descriptor according to FIG. 19b is used for the description Properties of the data set used. THE F-FIELD 1820 is used to describe the data record format. The format of the data records corresponds to either a virtual memory data record or a database data record, as has been described with reference to FIGS. 15a and 15b. The record type field 1821 indicates the type of data set and may be loaded into the type field of the actual data set in memory, as shown in Figures 15a and 15b. The record length field 1822 shows the actual length of the record in the main memory and is loaded into the main memory data records as shown in FIGS. 15a and 15b.
70981 0/099370981 0/0993
-go-- 2S27628-go-- 2S27628
Die tatsächlichen Datenbank-Befehle weisen eines der sechs in den Figuren 20a bis 20f dargestellten Formate auf.The actual database commands assign one of the six formats shown in FIGS. 20a to 20f.
Das GROP-Format gemäß Figur 20a enthält den Operationscode 1910, das Nullfeld 1911, eine Basisregisternummer 1912 und einen Komplementärcode 1912. Das Bäsisregister enthält die segmentierte Adresse eines Datensatzes. Der Komplementärcode wird für eine weitere Differenzierung des besonderen, durch den Operationscode beschriebenen Befehles benutzt. The GROP format according to Figure 20a contains the operation code 1910, the zero field 1911, a base register number 1912 and a complementary code 1912. The base register contains the segmented address of a data record. The complementary code is for a further differentiation of the special command described by the operation code is used.
Das XI-Format gemäß Figur 20b enthält einen Operationscode 1920 einen Komplementärcode 19 21, der zur weiteren Differenzierung des Operationscodes benutzt wird, eine Adressilbe 1922, ein Nullfeld 1923, ein logisches Verzögerungsfeld 1924, ein Hinweisadressen-Modusfeld 1925 und ein BR-FeId 1926. Das Basisregister 1926 enthält eine segmentierte Adresse eines Datensatzes. Die Adressilbe 1922 verweist bei einigen ihrer Ver-Wendungen auf einen Gruppendescriptor der zu verarbeitenden Gruppe. Die Adressilbe wird in eine segmentierte Adresse entwickelt gemäß den Regeln der Adressentwicklung, wie sie zuvor beschrieben wurde.The XI format according to FIG. 20b contains an operation code 1920 a complementary code 19 21, which is used to further differentiate the operation code, an address syllable 1922 Null field 1923, a logical delay field 1924, a pointer mode field 1925 and a BR field 1926. The base register 1926 contains a segmented address of a data record. In some of its usages, the address syllable 1922 refers to a group descriptor of the Group. The address syllable is developed into a segmented address according to the rules of address development as described above.
Das DXDX-Format gemäß Figur 20c setzt sich aus einem Operationscode 1930, einem Komplementärcode 1931, der zur weiteren Differenzierung des Befehles benutzt wird, einer Adressilbe ASl-1932, einem Nullfeld MBZ1-1933, einem Basisregister BR-1934, einem zweiten Nullfeld MBZ2-1935 und einer zweiten Adressilbe AS2-1936 zusammen. Das Basisregister enthält wiederum die segmentierte Adresse eines Datensatzes. Die erste Adressilbe ASl-1932 verweist auf einen Gruppendescriptor. Die zweite Adressilbe AS2-1936 wird zur Adressierung einer binären ganzen Zahl verwendet.The DXDX format according to FIG. 20c consists of an operation code 1930, a complementary code 1931, which is used for further differentiation of the command is used, an address syllable ASl-1932, a zero field MBZ1-1933, a base register BR-1934, a second zero field MBZ2-1935 and a second address syllable AS2-1936 together. The base register in turn contains the segmented one Address of a data record. The first address syllable ASl-1932 refers to a group descriptor. The second address syllable AS2-1936 is used to address a binary integer.
Das BRX-Format gemäß Figur 2Od enthält einen Operationscode 1940, ein Typfeld 1941, welches zur weiteren Differenzierung des Befehles benutzt wird, ein Basisregisterfeld 1942 und eine Adresssilbe 1943. Das Basisregister enthält die segmentierte Adresse The BRX format according to FIG. 20d contains an operation code 1940, a type field 1941 which is used to further differentiate the command, a base register field 1942 and an address syllable 1943. The base register contains the segmented address
709810/0993709810/0993
eines Datensatzes. Die Adressilbe wird zur Adressierung eines Gruppendescriptors benutzt.of a data set. The address syllable is used to address a group descriptor.
Das DXGR-Format gemäß Fig. 2Oe enthält einen Operationscode 1950, ein Typfeld 1951, welches zur weiteren Differenzierung des Befehles benutzt wird, ein erstes Basisregisterfeld BR1-1952, eine Adressilbe 1953, ein erstes Nullfeld MBZ1-1954, ein zweites Basisregisterfeld BR2-1955, ein Vor-Nach-Erst-Letzt-FeId 1956 und ein zweites Nullfeld MBZ2-1957. Die beiden Basisregister werden zur Adressierung zweier verschiedener^ im Speicher aufgefundener Datensätze benutzt. Die Adressilbe wird zur Adressierung des Gruppendescriptors herangezogen. Das Vor-Nach-Erst-Letzt-Feld beschreibt die gesuchte Anordnung eines Datensatzes innerhalb der Gruppe.The DXGR format according to FIG. 20e contains an operation code 1950, a type field 1951, which is used to further differentiate the command is used, a first base register field BR1-1952, an address syllable 1953, a first null field MBZ1-1954 second base register field BR2-1955, a before-after-first-last field 1956 and a second zero field MBZ2-1957. The two Base registers are used to address two different data records found in memory. The address syllable will used to address the group descriptor. That Before-after-first-last field describes the desired arrangement of a data record within the group.
Das OPDD-Format gemäß Fig. 2Of weist einen Operationscode i960, ein Basis-Feld I96I, das zur Beschreibung einer bestimmten Datenbank-Operation benutzt wird, ein Typ-Feld 1962, das zur weiteren Differenzierung des Befehls benutzt wird, ein P-FeId 1963, das zur Beschreibung des Hinweisadressenfeldes herangezogen wird, ein Erst-Letzt-Nächst-Vorangehend-Hinweisadressenfeld I965, das die andere Hinweisadresse der Benutzerund Mitgliederdatensätze beschreibt, das Verschiebefeld I966, welches den Offset des Beginns der Hinweisadressenfolge beschreibt, und ein BR-FeId 1977 auf, das die Nummer eines Basisregisters enthält, Das Basisregister enthält die segmentierte Adresse eines Datensatzes im Hauptspeicher.The OPDD format according to FIG. 20f has an operation code i960, a base field I96I, which is used to describe a specific Database operation is used, a type field 1962, which is used to further differentiate the command P-Field 1963, which is used to describe the reference address field, a first-last-next-previous reference address field I965, which is the other pointing address of the users and Member data records describes the shift field I966, which describes the offset of the start of the reference address sequence, and a BR field 1977 which contains the number of a base register. The base register contains the segmented Address of a data record in the main memory.
Der das Heraussuchen des Benutzers betreffende Datenbank-Befehls ist ein Firmware/Hardware-Befehl, der einen Gruppen-Descriptor abruft, welcher zusammen mit einem Basisregister BB den Zugriff zu dem Benutzer-Zeiger des Mitglied-Datensatzes liefert. Der Benutzer-Zeiger wird in eine segmentierte Adresse umgesetzt, und zwar in Übereinstimmung mit seiner Zeigerklasse. Sodann wird die segmentierte Adresse in das Basisregister BBRThe database command relating to the search for the user is a firmware / hardware command that contains a group descriptor which, together with a base register BB, gives access to the user pointer of the member data record supplies. The user pointer is in a segmented address implemented in accordance with its pointer class. The segmented address is then stored in the base register BBR
709810/0993709810/0993
geladen. Wenn der Zeiger ein Teil des Datenbank-Datensatzes ist, wird der Zeiger außerdem in ein Indexregister geladen. Der das Heraussuchen des Benutzers betreffende Befehl liegt im XI-Format vor, wie dies in Fig. 20b veranschaulicht ist.loaded. If the pointer is part of the database record, the pointer is also loaded into an index register. The command relating to the searching of the user is in the XI format, as illustrated in FIG. 20b.
In Fig. 21A bis 21E ist ein Firmware-Flußdiagramm für den das Heraussuchen des Benutzers betreffenden Befehl gezeigt. Die Operation 2001 des Firmware-Flußdiagramms betrifft das Überprüfen des Befehlsformates. Durch die Operationen 2003 bis 2005 erfolgt der Abruf eines Gruppendescriptors, auf den durch die Adressilbe des Befehls hingezeigt wird. Außerdem erfolgen einige vorläufige Überprüfungen bezüglich des Gruppendescriptors. Gemäß der Operation 2007 wird ein Zeiger abgerufen, der durch das Basisregister BR 1926 des Befehls adressiert ist. Dabei erfolgt eine Indexierung durch die Versetzung 1806, die aus dem Gruppendescriptor erhalten wird (der die Zeigerfolge des Datensatzes festlegt *- siehe Fig. 15a, 15b und 19a). Durch die Operation 2009 wird der Zeigerbetrieb aus dem Gruppendescriptor bestimmt (siehe Fig. 19a); er folgt spezialisierten Funktionen in Übereinstimmung mit dem Zeigerbetrieb.Referring now to Figures 21A through 21E, there is a firmware flow chart for the Finding the command in question is shown. Operation 2001 of the firmware flowchart is for checking of the command format. Operations 2003 to 2005 call for a group descriptor to which the Address syllable of the command is shown. There are also some preliminary checks on the group descriptor. According to operation 2007, a pointer is retrieved which is addressed by the base register BR 1926 of the instruction. Indexing takes place by means of the offset 1806, which is obtained from the group descriptor (which contains the pointer sequence of the data record * - see Fig. 15a, 15b and 19a). By operation 2009, the pointer operation is determined from the group descriptor (see Fig. 19a); he follows specialized Functions in accordance with the pointer operation.
Im folgenden sei insbesondere auf Fig. 21A eingegangen. Im Betrieb wird zunächst mit der Operation 2001 geprüft, ob das MBZ-FeId 1923 des Befehls (siehe Fig. 20b) Null ist. Diese Null-Prüfung wird dadurch vorgenommen, daß der Befehl von der Befehlsabrufeinheit (siehe Fig. 13a, IFU1318) in ein Register in dem Rechenwerk 1317 übertragen wird. Wenn die in diesem Register stattfindende Hardwareprüfung dazu führt, daß MBZ nicht Null ist, so verzweigt die Firmware zu der in Fig. 21A mit 2002 angedeuteten Ausnahmebehandlung. Diese Ausnahme wird als illegale Formatfeldausnahme bezeichnet. Ist das MBZ-FeId Null, so schreitet die Firmware zu der Operation 2003 weiter, gemäß der ein Abruf bzw. Aufruf von 3Bytes dem Hauptspeicher erfolgt; dieser Aufruf erfolgt dabei unter einer Adresse, die durch die Adressilbe AS1922 desIn the following, particular attention will be given to FIG. 21A. In operation, operation 2001 is first used to check whether the MBZ field 1923 of the command (see Fig. 20b) is zero. This zero check is carried out by executing the command from of the instruction fetch unit (see Fig. 13a, IFU1318) into a Register in the arithmetic unit 1317 is transferred. If the hardware test carried out in this register leads to that MBZ is not zero, the firmware branches to the exception handling indicated in FIG. 21A with 2002. These The exception is called an illegal format field exception. If the MBZ field is zero, the firmware advances to the Operation 2003 continues, according to which 3 bytes of the main memory are retrieved or called; this call takes place at an address that is identified by the address syllable AS1922 of the
709810/0993709810/0993
Befehles festgelegt ist. Diese Adressenbildung wird in der Adressensteuereinheit (siehe Fig. 13a, ACU1319) ausgeführt. Als Ergebnis des Aufrufes an den Hauptspeicher können Speicherzugriff ausnahmen erfolgen, wie dies in Fig. 21A im Block 2004 veranschaulicht ist. Einige Beispiele von Speicherzugriffsausnahmen sindj Außerhalb des Segments, Segment nicht vorhanden oder außerhalb des Hauptspeichers. Die drei aufgerufenen Bytes stellen einen Gruppendescriptor dar, wie er im Zusammenhang mit Fig. 19a beschrieben worden ist.Command is set. This address formation is carried out in the address control unit (see Fig. 13a, ACU1319). As a result of the call to the main memory, memory access exceptions can occur, as shown in FIG. 21A in block 2004 is illustrated. Some examples of memory access exceptions are j Out of segment, segment does not exist or outside of main memory. The three bytes called represent a group descriptor as it is in context has been described with Fig. 19a.
Der nächste, in Fig. 21A gezeigte Schritt besteht darin, daß das K-Bit 1805 des Gruppendescriptors (siehe Fig. 19a) überprüft wird um festzustellen, ob das K-Bit gleich Null lsi Die Überprüfung 2005 erfolgt dadurch, daß der Gruppendescriptor, der ursprünglich aus dem Hauptspeicher abgerufen und zu der Daten-Unternehmenseinheit (siehe Fig. 13a, 1321) übertragen worden ist, zu dem Rechenwerk 1317 übertragen wird. Wenn festgestellt wird, daß der K-Bit-Teil des Gruppendescriptors nicht Null ist, tritt entsprechend der Operation 2006 eine die Nichtverfügbarkeit eines Gruppenmerkmals betreffende Behandlung ein.The next step shown in Figure 21A is that the K-bit 1805 of the group descriptor (see Fig. 19a) is checked is used to determine whether the K bit is equal to zero lsi The check 2005 is carried out in that the group descriptor, which was originally retrieved from main memory and transferred to the data business unit (see Figures 13a, 1321) is transmitted to the arithmetic unit 1317. If it is found that the K-bit part of the group descriptor is not zero, an operation occurs in accordance with operation 2006 relating to the unavailability of a group characteristic Treatment a.
¥enn das K-Bit Null ist, schreitet die Firmware zur Operation 2007 weiter, wie dies in Fig. 21A gezeigt ist. Demgemäß erfolgt im Hauptspeicher ein Abruf unter einer Adresse, die durch den im Befehlsformat (siehe Fig. 20b) vorliegenden Inhalt des Basisregisters BR1926 bezüglich der Verschiebung 1806 des Gruppendescriptors (siehe Fig. 19a) gegeben ist. Diese Adresse, bei der der Abruf erfolgt, ist die Adresse des Benutza?-Zeigers in der Zeigerfolge des Datensatzes, auf den durch den Befehl Bezug genommen worden ist (siehe Fig. 15-). Als Ergebnis dieses Hauptspeicherabrufes bzw. -aufrufes können Speicherzugriffsausnahmen 2008 erfolgen. Der aufge-If the K-bit is zero, the firmware proceeds to operation 2007 as shown in Fig. 21A. Accordingly a call is made in the main memory at an address given by the command format (see FIG. 20b) Contents of the base register BR1926 with respect to the shift 1806 of the group descriptor (see Fig. 19a) is given. These The address at which the retrieval takes place is the address of the user pointer in the pointer sequence of the data set referred to by the command (see Fig. 15-). As a result of this main memory call, memory access exceptions 2008 may occur. The
70981 0/099370981 0/0993
16276281627628
rufene Benutzer-Zeiger wird in dem HilfsSpeicherplatz "X" gespeichert. Die Addition des Verschiebefeldes (1806, Fig. 19a) zu dem Inhalt des Basisregisters wird in dem Adressensteuerwerk (siehe 1319, Fig. 13a) ausgeführt.called user pointer is stored in the auxiliary memory location "X" saved. The addition of the shift field (1806, FIG. 19a) to the content of the base register is carried out in the address control unit (see 1319, Fig. 13a).
Die Firmware schreitet zur Operation 2009 weiter, wie dies in Fig. 21A gezeigt ist, gemäß der der Zeigerbetrieb des Datensatzes, auf den Bezug genommen worden ist, bestimmt wird. Diese Bestimmung erfolgt dadurch, daß das P-FeId 1802 des in der Operation 2003 (siehe 1802 in Fig. 19a) aufgerufenen Gruppende scriptors überprüft wird. Diese Überprüfung erfolgt in dem Rechenwerk 1317 gemäß Figo 13a. Für Zeiger der Klasse 0 erfolgt eine Verzweigung zu 2013 gemäß Fig. 21B. Für Zeiger der Klasse 1 ist eine Verzweigung zu 2010 vorzunehmen, und für Zeiger der Klasse 2 ist eine Verzweigung zu 2011 gemäß Fig. 21D vorzunehmen. Für Zeiger der Klasse 3 ist eine Verzweigung zu 2012 gemäß Fig. 21S vorzunehmen.The firmware proceeds to operation 2009, as shown in FIG. 21A, according to which the pointer operation of the referenced record is determined. This determination is made by checking the P field 1802 of the group end scriptor called in operation 2003 (see 1802 in FIG. 19a). This test is performed in the arithmetic unit 1317 shown in FIG o 13a. For pointers of class 0, a branch is made to 2013 according to FIG. 21B. For pointers of class 1, a branch is to be made to 2010, and for pointers of class 2, a branch is to be made to 2011 according to FIG. 21D. For pointers of class 3, a branch is to be made to 2012 according to FIG. 21S.
In Fig. 21B ist die Behandlung von Zeigern der Klasse 0 veranschaulicht. Die Operation 2014 liefert die effektive Adresse des Datensatzes, auf den durch den Zeiger gezeigt wird, der in dem HilfsSpeicherplatz "X" gespeichert ist und der in der Operation 2007 gemäß Fig. 21A aufgerufen worden ist. Die Operationen 2015 bis 2019 führen eine Überprüfung de-s Status des Datensatzes aus, auf den durch den Zeiger in dem HilfsSpeicherplatz "X" gezeigt wird. Dieser Zeiger zeigt auf den Besitzer-Datensatz der Gruppe. Das Format für einen Zeiger der Klasse 0 ist in Fig. 15e angegeben. Wenn der Datensatz, auf den durch den Benutzer-Zeiger gezeigt wird, als im aktiven Zustand befindlich ermittelt worden ist, wird der SRA-Teil des betreffenden Zeigers (siehe Figo 15e) in das Basisregister geladen, und der Befehl ist vollständig.The handling of class 0 pointers is illustrated in FIG. 21B. Operation 2014 returns the effective address of the data set pointed to by the pointer which is stored in auxiliary memory location "X" and which was called in operation 2007 of FIG. 21A is. Operations 2015 to 2019 check the status of the record pointed to by the pointer in the auxiliary memory location "X" is shown. This pointer points to the owner record of the group. The format for one Class 0 pointer is indicated in Figure 15e. If the record pointed to by the user pointer is found in the active state has been determined, the SRA part of the relevant pointer (see Fig. 15e) is in the Base registers loaded and the instruction is complete.
Im folgenden sei auf Einzelheiten der Fig. 21B eingegangeneDetails of Fig. 21B are now discussed
709810/0993709810/0993
Durch die Operation 2014 wird die effektive Adresse des Mitglied-Datensatzes in der Adressensteuereinheit (siehe 1319 in Fig. 13a) dadurch gebildet, daß die Segmentnuramer aus dem Basisregister BR erhalten wird und daß die relative Segmentadresse SRA der segmentierten Adresse aus dem Zeiger X erhalten wird, der durch die Operation 2007 aufgerufen worden ist. Bei der Operation 2015 wird diese durch die Operation 2014 gebildete segmentierte Adresse dazu benutzt, das D-Umschaltfeld des Datensatzes aus dem Hauptspeicher aufzurufen (siehe Fig. 15a bezüglich der Beschreibung des D-Umschaltfeldes 1502 eines Datensatzes). Als Ergebnis dieses Hauptspeicher-Aufrufes können Speicherzugriffsausnahmen 2016 auftreten, wie "außerhalb des Segments" oder "außerhalb des physikalischen Speichers".Operation 2014 establishes the effective address of the member record in the address control unit (see 1319 in Fig. 13a) formed in that the segments only from the Base register BR is obtained and that the relative segment address SRA of the segmented address is obtained from the pointer X. that was called by operation 2007. In the 2015 operation, this will be the result of the operation Segmented address formed in 2014 used the D-toggle field of the data record from the main memory (see Fig. 15a for the description of the D-toggle field 1502 of a data record). As a result of this main memory call 2016 memory access exceptions such as "out of segment" or "outside of the physical memory ".
Das 2-Bit-D-Umschaltfeld, das aus dem Hauptspeicher aufgerufen worden ist, wird von der Datenverwaltungseinheit (siehe 1321 in Fig. 13a) zu dem Rechenwerk 1317 übertragen. Diese Übertragung erfolgt unter der Steuerung der Firmware unter Heranziehung von Mikrobefehlen; auf diese "Weise wird die Übertragung von dem Register in der Datenverwaltungseinheit zu dem Register in dem Rechenwerk bewirkt.The 2-bit D-toggle that is called from main memory is transmitted from the data management unit (see 1321 in FIG. 13 a) to the arithmetic unit 1317. These Transmission takes place under the control of the firmware using microinstructions; in this way the Transfer effected from the register in the data management unit to the register in the arithmetic unit.
Bei der Operation 2019 wird das D-Umschaltfeld, das nunmehr in dem Rechenwerk 1317 untergebracht ist, überprüft um festzustellen, ob es Null ist. Ist dies der Fall, so führt die Firmware eine Verzweigung zu der Ausnahmebehandlung 2020 hin aus, wodurch ein durch eine Ausnahme gelöschter Datensatz gemeldet wird.In operation 2019, the D-toggle field, which is now is housed in the arithmetic unit 1317, checked to see if it is zero. If this is the case, the Firmware branches out to exception handling 2020, which results in a record that was deleted by an exception is reported.
Im übrigen muß das D-Umschaltfeld gleich 1 sein, das ist der Datensatz-Aktivzustand, und die Firmware führt eine Verzweigung zu der Operation 2021 hin aus. Bei dieser Operation wird der relative Segmentadressenteil SRA desIncidentally, the D-toggle field must be equal to 1, that is the record active state, and the firmware branches to operation 2021. At this Operation becomes the relative segment address part of the SRA
709810/0993709810/0993
Benutzer-Zeigers (siehe Fig. 15e) zu dem Offset-Teil des Basisregisters übertragen (siehe 202 in Fig. 2). Diese Übertragung ist eine 15-Bit-Übertragung der am weitesten rechts stehenden 15 Bits des Zeigers, der in dem Zwischenspeicherplatz "X" gespeichert ist. Dabei werden lediglich 15 Bits übertragen, da bei dem Benutzer.-Zeiger (siehe Fig. 15e) das EOS-Bit (15^0) gleich 1 ist und da bei dem Benutzer-ZeigerUser pointer (see Fig. 15e) to the offset part of the Base register transferred (see 202 in Fig. 2). This transmission is a 15-bit right-most transmission standing 15 bits of the pointer, which is stored in the buffer location "X". There are only 15 bits transmitted because the EOS bit (15 ^ 0) is equal to 1 in the case of the user pointer (see FIG. 15e) and there in the case of the user pointer
das
per Definition steht, daß/EOS-Bit gesetzt ist. Eine Null ist
in der ersten Bitposition des SRZ-Feldes 202 des Basisregisters erv.i-inscht, und demgemäß führt die Hardware/Firmware dieses Bit
in ein Null-Bit über, während die übrigen 15 Bits des Zeigers übertragen v/erden. Die nächste Operation ist die Operation 2022,
bei der der Befehl nunmehr vollständig ist und bei der eine Verzweigung zu dem nächsten Befehl durch die Firmware erfolgt.the
by definition, the / EOS bit is set. A zero is erased in the first bit position of the SRZ field 202 of the base register, and accordingly the hardware / firmware converts this bit to a zero bit while the remaining 15 bits of the pointer are transmitted / earthed. The next operation is operation 2022, in which the instruction is now complete and in which the firmware branches to the next instruction.
In Fig. 21 C ist die Behandlung der Zeiger der Klasse 1 veranschaulicht. Durch die Operation 2023 wird die effektive Adresse des Datensatzes gebildet, auf den durch den Mitglied-Zeiger gezeigt wird, der in dem HilfsSpeicherplatz "X" gespeichert ist, welcher durch die Operation 2007 gemäß Fig.21A aufgerufen worden ist. In den Operationen 2024 bis 2029 erfolgt eine Überprüfung des Status des Datensatzes, auf den durch den Zeiger gezeigt ist, der in dem HilfsSpeicherplatz bzw. Zwischenspeicherplatz "X" gespeichert ist. Dieser Zeiger zeigt auf den Benutzer-Datensatz der Gruppe. Das Format für Zeiger der Klasse 1 ist in Fig. 15f veranschaulicht. Wenn bezüglich des Datensatzes, auf den durch den Benutzer.-Zeiger gezeigt ist, ermittelt wird, daß .er im aktiven Zustand ist, dann wird der SEG, SRA-Teil des betreffenden Zeigers in das Basisregister geladen, und der Befehl ist vollständig. The handling of the class 1 pointers is illustrated in FIG. 21C. Operation 2023 forms the effective address of the data record to which the member pointer is shown, which is stored in the auxiliary memory location "X" which is determined by operation 2007 according to FIG. 21A has been called. In operations 2024 to 2029, the status of the data record to which there is shown the pointer stored in the auxiliary memory location "X". This pointer shows on the user record of the group. The format for class 1 pointers is illustrated in Figure 15f. If regarding of the record pointed to by the user. pointer is determined to be in the active state, then the SEG, SRA part of the relevant pointer is loaded into the base register and the instruction is complete.
Im folgenden seien Einzelheiten der Fig. 21C betrachtet. Bei der Operation 2023 wird die effektive Adresse des Benutzer# Datensatzes in der Adressensteuereinheit (siehe 1319 in Fig.13a)Details of Figure 21C will now be considered. In operation 2023, the effective address of the user # data record in the address control unit (see 1319 in Fig. 13a)
709810/0993709810/0993
dadurch gebildet, daß die Segmentnuramer und die SRA-Adresse aus dem Zeiger erhalten wird, der durch die Operation 2007 aufgerufen und in dem Zwischenspeicher an der Speicherstelle "X" gespeichert worden ist. Bei der Operation 2024 wird diese durch die Operation 2023 gebildete segmentierte Adresse dazu herangezogen, das D-Umschaltefeld des Datensatzes aus dem Hauptspeicher aufzurufen (siehe Fig. 15a bezüglich einer Erläuterung des D-Umschaltfeldes eines Datensatzes). Als ärgebnis dieses Hauptspeicheraufrufes können Speicherzugriffausnahmen 2025 auftreten, wie "außerhalb des Segments" oder "außerhalb des physikalischen Speichers".formed by the fact that the segment only and the SRA address is obtained from the pointer called by operation 2007 and stored in the buffer at memory location "X" has been saved. In operation 2024, this segmented address formed by operation 2023 is used to to call up the D switch field of the data record from main memory (see FIG. 15a for an explanation of the D-toggle field of a data record). As a result of this main memory call, memory access exceptions 2025 occur such as "out of segment" or "out of physical memory".
Das 2-Bit-D-Umschaltfeld, das aus dem Hauptspeicher aufgerufen worden ist, wird von der Datenverwaltungseinheit (siehe 1321 in Fig. 13a) zu dem Rechenwerk 1317 übertragen. Diese Übertragung erfolgt unter der Steuerung der Firmware, und zwar unter Heranziehung von Mikrobefehlen. Auf diese Weise wird die Übertragung von dem Register in der Datenverwaltuu^seinheit zu dem Register in dem Rechenwerk bewirkt.The 2-bit D-toggle that is called from main memory is transmitted from the data management unit (see 1321 in FIG. 13 a) to the arithmetic unit 1317. This transfer takes place under the control of the firmware using microinstructions. In this way is the transfer from the register in the data management unit to the register in the arithmetic logic unit.
Bei der Operation 2028 wird das D-Umschaltfeld, das in das Rechenwerk 1317 geladen worden ist, überprüft um festzustellen, ob es gleich 0 ist. Ist dies der Fall, so führt die Firmware eine Verzweigung zu der Ausnahmebehandlung 2029 aus, gemäß der ein durch eine Ausnahme gelöschter Datensatz gemeldet wird.In operation 2028, the D toggle field that has been loaded into arithmetic unit 1317 is checked to determine whether it is equal to 0. If this is the case, the firmware executes a branch to the exception handling 2029 according to to which a data record that has been deleted by an exception is reported.
Im übrigen muß das D-Umschaltfeld in den Datensatz-Aktivzustand gesetzt sein, und die Firmware führt eine Verzweigung zu der Operation 203-0 hin aus. Bei der Operation 2030 werden die am weitesten rechts stehenden 31 Bits des Zeigers, der in dem Zwischenspeicherplatz "X" gespeichert ist, welcher aus dem Hauptspeicher aufgerufen worden ist, in die am weitesten rechts stehenden 31 Bit-Stellen des Basisregisters BR gela-In addition, the D toggle field must be set to the data record active state, and the firmware branches to operation 203-0. In operation 2030, the rightmost 31 bits of the pointer contained in the intermediate memory location "X", which has been called from the main memory, is stored in the furthest 31 bit positions of the basic register BR on the right are loaded
709810/0993709810/0993
den (siehe Fig. 20t), Feld 1926). Dabei werden lediglich 31 Bits übertragen, da das EOS-Bit 1551 der Benutzer-Zeiger (siehe Fig. 15f) gleich 1 ist und da bei dem Benutzer-Zeiger per Definition das SOS-Bit gesetzt ist und da es tatsächlich erwünscht ist, daß das erstem am weitesten links stehende Bit des Basisregisters bei O belassen wird. Die Hardware/Firmware führt das erste Bit des Basisregisters auf Null über. Die nächste Operation ist die Operation 2031, "bei der der Befehl nunmehr vollständig ist und bei der eine Verzweigung zu dem nächsten Befehl durch die Firmware vorgenommen wird.den (see Fig. 20t), box 1926). Only 31 bits are transmitted because the EOS bit 1551 is the user pointer (see 15f) is equal to 1 and since the SOS bit is set by definition in the user pointer and since it is actually desired is that the first leftmost bit of the base register is left at 0. The hardware / firmware moves the first bit of the base register to zero. The next operation is operation 2031, "where the command is now complete and in which a branch to the next instruction is made by the firmware.
Anhand der Fig. 21D und 21E wird die Behandlung von Zeigern der Klasse 2 bzw. der Klasse 3 beschrieben. Bei den Operationen 2032 und 2033 wird die Bereichs-Seiten-Zeilennummeradresse des Datensatzes, auf den durch den Befehl Bezug genommen worden ist, aus dem Zeiger gebildet, der in dem Zwischenspeicherplatz "X" enthalten ist, v/elcher bei der Operation 2007 aufgerufen worden ist, und ebenso das dritte bis zehnte Bit des Indexregisters im Falle des Vorliegens von Zeigern der Klasse 2. Bei der Operation 2034 wird der Seitendeskriptor (siehe Fig. 16b) der Seite aufgerufen, deren Nummer in der Bereichs-Seiten-Zeilennummer vorgegeben ist. Die Zeilennummer wird dann in eine segmentierte Adresse in den Operationen 2036 bis 2043 umgesetzt, und zwar in Übereinstimmung mit dem oben in Verbindung mit Fig. 16a beschriebenen Mechanismus. Das D-Umschaltfeld des Zeilen-Versetzungs-Feldpostens (siehe 1602 in Fig. 16a) wird durch die Operationen 2047 bis 2050 bezüglich des Zustands der Zeile (Datensatz) überprüft. Wenn sich die Zeile im aktiven Zustand befindet, wird die segmentierte Adresse, die dieser Zeilennummer entspricht, sodann in das Basisregister geladen, dessen Nummer in dem Befehlsformat vorgegeben ist (siehe das Feld 1926 in Fig. 20b). Bei den Operationen 2053 Ms 2057 wird das Indexregister entsprechend der in dem Basisregisterfeld 1926 desReferring to Figures 21D and 21E, the handling of pointers will be discussed of class 2 or class 3. In operations 2032 and 2033, the area page line number address becomes of the data set referenced by the instruction, formed from the pointer contained in the It contains cache "X" that was called in operation 2007, and so does the third to tenth bits of the index register in the case of class 2 pointers present. In operation 2034, the Page descriptor (see FIG. 16b) of the page called, the number of which is specified in the area page line number. the Line number is then translated to a segmented address in operations 2036-2043, in accordance with that described above in connection with Fig. 16a Mechanism. The D-toggle field of the line shift field post (see 1602 in Fig. 16a) the operations 2047 to 2050 with respect to the state of the line (data record) checked. If the line is in the active state, the segmented address that corresponds to this line number will be is then loaded into the base register, the number of which is specified in the command format (see field 1926 in Fig. 20b). In operations 2053 Ms 2057, the index register corresponding to that in the base register field 1926 of the
709810/0993709810/0993
Befehlsformates vorgegebenen Nummer ebenfalls mit einer Bereichs-Seiten-Zeilennummer oder mit einer Seiten-Zeilen-Nummer in Übereinstimmung mit der Zeigerklasse geladen. Der Befehl ist dann abgeschlossen.Command format specified number also with an area-page-line number or loaded with a page-line number in accordance with the pointer class. The command is then completed.
Im folgenden sei auf Einzelheiten der Figuren 21D und 21E eingegangen. Bei 2011 wird der Fall eines Zeigers der Klasse 2 behandelt. Die Firmware führt eine Verzweigung zu der Operation 2032 bei Zeigern der Klasse 2 aus. Dort wird die Bereichsnummer für die Bereichs-Seiten-Zeilennummer aus den Indexregisterbits 2 bis 9 aufgerufen. Die Seiten-Zeilennummer wird aus dem Zwischenspeicherplatz 11X" aufgerufen. Die Bereichsnummer wird mit der Seiten-Zeilennummer verbunden bzw. verkettet und sodann in ein Zwischenregister geladen, das als Bereichs-Seiten-Zeilen-Register bezeichnet werden mag. Dieses Register ist in der Recheneinheit 1317 untergebracht.Details of FIGS. 21D and 21E are discussed below. At 2011, the case of a class 2 pointer is dealt with. The firmware branches to operation 2032 on class 2 pointers. There the area number for the area page line number is called from index register bits 2 to 9. The page line number is called from the buffer location 11 X ". The area number is linked or concatenated with the page line number and then loaded into an intermediate register which may be referred to as the area page line register. This register is in the Computing unit 1317 housed.
Bei 2012 wird der Fall ines Zeigers der Klasse 3 behandelt. Die Firmware führt eine Verzweigung zu der Operation 2033 hin aus, bei der der Inhalt des Zwischenspeicherplatzes "X" in das Bereichs-Seiten-Zeilen-Zwischenregister übertragen wird»In 2012, the case of a class 3 pointer will be dealt with. The firmware branches out to operation 2033, in which the contents of the buffer location "X" in the area-page-line intermediate register is transferred »
Bei den beiden Operationen 2032 und 2033 erfolgt eine Verzweigung zu der Operation 2034, gemäß der der Seitendeskriptor aufgerufen wird, der der Seitennummer entspricht, welche durch die Zwischenregister-Bereichs-Seiten-Zeile gegeben ist. Dieser Aufruf erfolgt durch die im Zusammenhang mit Fig. 17 beschriebene, die Seitenfestlegung betreffende Firmware-Subroutine. Als Ergebnis dieser Firmware-Subroutine kann eine Ausnahme 2035 betreffend ein seitenweises Aufrufen auftreten. Wenn der Seitendeskriptor erfolgreich aufgerufen worden ist, geht die Firmware über zu der Operation 2036, bei der die Zeilennummer aus der Zwischenspeicher-Bereichs-Seiten-Zeile in ein anderes Zwischenregister W übertragen wird, welches sich im Rechenwerk befindet (1317 gemäß Fig. 13a). Diese Übertragung der Zeilen-In the two operations 2032 and 2033, a branch is made to operation 2034, according to which the page descriptor is is called which corresponds to the page number which is given by the temporary register area page line. This The call is made by the firmware subroutine relating to the page definition described in connection with FIG. 17. As a result of this firmware subroutine, an exception 2035 regarding page-by-page calling. If the page descriptor has been called successfully, the Firmware over to operation 2036, in which the line number from the cache area page line to another Intermediate register W is transferred, which is located in the arithmetic unit (1317 according to FIG. 13a). This transfer of the line
709810/0993709810/0993
nummer zu dem Register W ist eine Übertragung einer Anzahl von Bits, die durch das Verschiebezählfeld des Seitendeskriptors gegeben sind (siehe das Feld 1623 in Fig. 16b).number to register W is a transfer of a number of bits identified by the shift count field of the page descriptor are given (see field 1623 in Figure 16b).
Bei der Operation 2037 ruft die Firmware den Segmentdeskriptor der SEG-Nummer auf, die von dem Seitendeskriptor erhalten wird (siehe Fig. 16b, Feld 1625). Als Ergebnis dieses Speicheraufrufs können Speicherzugriffsausnahmen 2038 auftreten. Der durch die Operation 2037 aufgerufene Segmentdeskriptor wird bei der Operation 2039 dazu herangezogen, die Basisadresse des betreffenden Segments zu erhalten. Wie oben unter Bezugnahme auf Fig. 16a beschrieben, entspricht der Beginn einer Datenbankseite dem Beginn des äquivalenten Segments. Demgemäß wird die Basisadresse des Segments bei der Operation 2039 als Adresse des Seitenkopfteiles (siehe 1601 in Fig. 16a) benutzt, um die maximale Zeilennummer aufzurufen. Diese maximale Zeilenzahl bzw. Zeilennummer wird zu einem Zwischenregister Z in dem Rechenwerk 1317 übertragen. Als Ergebnis des Speicheraufrufes bei der Operation 2039 können Speieherzugriffsausnahmen 2040 auftreten.At operation 2037, the firmware calls the segment descriptor of the SEG number obtained from the page descriptor (see Figure 16b, box 1625). As a result of this memory call, memory access exceptions 2038 may occur. The through the segment descriptor called operation 2037 is used in the Operation 2039 is used to obtain the base address of the segment in question. As above with reference described on Fig. 16a, the beginning corresponds to a database page the beginning of the equivalent segment. Accordingly, in operation 2039, the base address of the segment is set to be Address of the page header (see 1601 in Fig. 16a) used, to get the maximum line number. This maximum number of lines or line number becomes an intermediate register Z transferred in the arithmetic unit 1317. As a result of the memory call at operation 2039, memory access exceptions Occur in 2040.
Bei der Operation 2041 wird die Gültigkeit der Zeilenzahl bzw, Zeilennummer W geprüft, indem festgestellt wird, ob der absolute Wert von W kleiner als die maximale Zeilenzahl Z ist. Wenn W nicht kleiner als Z ist, wird eine Verzweigung durch die Firmware zu der Ausnahmebehandlung vorgenommen, bei der eine ein ungültiges Seitenformat betreffende Ausnahme 2042 auftritt. Im anderen Fall geht die Firmware zu der Operation 2043 über, bei der das 16-Bit-Zeilenversetzungsfeld-Datenwort 1602 unter einer Adresse aufgerufen wird, die durch die Segmentbasis zuzüglich der Länge des Seitenkopfteiles 1602 (81 Bits) zuzüglich der Zeilenzahl W mal 16 Bits gegeben ist (diese 16 Bits stellen die Länge eines einzelnen Zeilenversetzungsfeld-Datenwortes dar). Als Ergebnis dieses SpeicheraufrufsIn operation 2041, the validity of the line number or line number W is checked by determining whether the absolute The value of W is less than the maximum number of lines Z If W is not less than Z, the Firmware performed for exception handling in which an exception 2042 relating to an invalid page format occurs. Otherwise, the firmware proceeds to operation 2043 where the 16-bit line offset field data word 1602 is called under an address that is determined by the segment base plus the length of the page header 1602 (81 bits) plus the number of lines W times 16 bits (these 16 bits represent the length of a single line offset field data word dar). As a result of this memory call
709810/0993709810/0993
können Speicherzugriffsbefehle 2044 auftreten.2044 memory access commands can occur.
Bei der Operation 2045 wird das D-Umschaltfeld 1604 des Zeilenversetzungsfeld-Datenwortes in ein Register in dem Rechenwerk 1317 übertragen. Die Firmware führt dann eine Verzweigung zu 2046 hin aus (Fig. 21E).At operation 2045, the D-toggle field 1604 becomes the offset-line field data word transferred to a register in the arithmetic unit 1317. The firmware then branches to it 2046 (Fig. 21E).
Die Operation 2046 geht dann über zu der Operation 2047, gemäß der das D-Umschaltfeld, welches sich nunmehr in dem Rechenwerk 1317 befindet, überprüft wird, um festzustellen, ob es gleich ist. Ist dies der Fall, so führt die Firmware eine Verzweigung zu der Ausnähmebehandlung 2048 aus, wodurch das Vorliegen einer die Nichtbenutzung einer Zeile betreffenden Ausnahme gemeldet wird. Im übrigen wird bei der Operation 2049 das D-Umschaltfeld überprüft um festzustellen, ob es 1 oder 3 ist. Ist eine dieser Bedingungen erfüllt, so erfolgt eine Verzweigung zu der Ausnahmebehandlung 2050, wobei eine die Löschung einer Zeile betreffende Ausnahme gemeldet wird.Operation 2046 then goes over to operation 2047, according to which the D toggle field, which is now in the arithmetic unit 1317 is checked to see if it is the same. If this is the case, the firmware branches to the removal treatment 2048, indicating the presence of a the exception concerning the non-use of a row is reported will. Incidentally, in operation 2049, the D toggle field is checked to see if it is 1 or 3. Is one of those If conditions are met, a branch is made to exception handling 2050, one relating to the deletion of a line Exception is reported.
Im übrigen muß das D-Umschaltfeld gleich 2 sein, wodurch der Aktivzustand des Datensatzes angezeigt ist, und die Firmware führt eine Verzweigung zu der Operation 2051 hin aus. Bei der Operation 2051 wird die Segmentnummer SSG der gerade gebrauchten Datenbankseite, die von dem Seitendeskriptor erhalten worden ist (siehe Fig. 16b, Feld 1625), in das Basisregister BR geladen, dessen Nummer in dem Feld 1926 BR des in Fig. 20b gezeigten Befehlsformats gegeben ist. Die Segmentnuramer wird in das Basisregister an den Bitstellen 4 bis 15 übertragen., Die nächste ausgeführte Operation ist die Operation 2052, bei der der Versetzungsteil des Zeilenversetzungsfeld-Datenwortes 16O3 in den SRA-Teil des Basisregisters BR (Feld 202 gemäß Figo 2) übertragen wird.In addition, the D-toggle field must be equal to 2, whereby the Active state of the data set is indicated and the firmware branches to operation 2051. at of operation 2051, the segment number SSG of the database page currently in use is obtained from the page descriptor has been loaded (see Fig. 16b, field 1625) into the base register BR, the number of which is in the field 1926 BR des is given the instruction format shown in Fig. 20b. The segment only is transferred to the base register at bit positions 4 to 15., The next operation performed is the operation 2052 in which the offset portion of the line offset field data word 1603 in the SRA portion of the base register BR (Field 202 according to FIG. 2) is transmitted.
709810/0993709810/0993
Bei der Operation 2053 wird die Zeiger- bzw. Hinweisadressenbetriebsart des durch die Operation 2003 aufgerufenen Gruppendescriptors (siehe 1802 in Fig. 19a) überprüft. Wenn die Betriebsart gleich 3 ist, wird die Operation 2054 ausgeführt, gemäß der die am weitesten rechts stehenden 30 Bits des Inhalts des Zwischenspeicherplatzes "X" (ausgehend vom Bit 2) in die am weitesten rechts stehenden 30 Bitstellen des Indexregisters IXR übertragen werden, und zwar beginnend an der Bitstelle 2. Auf die Operation 2054 hin wird die Operation 2056 ausgeführt, gemäß der der Befehl vervollständigt wird und gemäß der die Firmware eine Verzweigung zu dem nächsten Befehl ausführt. Es erfolgt ein Übergang zu der Operation 2053 zurück, falls bezüglich der Zeigerbetriebsart von dem Rechenwerk ermittelt wird, daß sie 2 ist. Der Mikrobefehlsablauf führt eine Verzweigung zu der Operation 2055 hin aus, bei der die am weitesten rechts stehenden 22 Bits des in dem Zwischenspeicherplatz "X" gespeicherten Zeigers (ausgehend von der Bitstelle des Zeigers) in die am weitesten rechts stehenden 22 Bits des Indexregisters IXR übertragen werden, und zwar beginnend an der Bitstelle 10 des Indexregisters. Auf die Operation 2055 hin wird die Operation 2054 ausgeführt, gemäß der der Befehl vervollständigt wird und gemäß der die Firmware eine Verzweigung zu dem nächsten Befehl ausführt.At operation 2053, the pointer mode becomes of the group descriptor called by operation 2003 (see 1802 in FIG. 19a). When the operating mode equals 3, operation 2054 is performed to determine the rightmost 30 bits of the content of the intermediate storage location "X" (starting from bit 2) into the 30 bit positions furthest to the right of the index register IXR, starting at bit position 2. In response to operation 2054, operation 2056 executed according to which the instruction is completed and according to which the firmware executes a branch to the next instruction. There is a transition back to operation 2053 if the arithmetic unit has determined the pointer operating mode becomes that she is 2. The microinstruction flow branches to operation 2055 where the am Rightmost 22 bits of the pointer stored in the buffer location "X" (starting from the bit position of the pointer) in the rightmost 22 bits of the index register IXR, starting at bit position 10 of the index register. In response to operation 2055, operation 2054 is carried out according to which the command is completed and according to which the firmware branches to the next instruction.
In Fig. 22A bis 22D ist in einer Blockdiagrammdarstellung eine Hardwarerealisierung des das Aufsuchen eines Benutzers betreffenden Datenbankbefehles veranschaulichte In Fig» 22A bis 22C ist die Hardwarelogik gezeigt, die tatsächlich Daten speichert und verschiedene Operationen bezüglich der Daten ausführt, um den das Aufsuchen eines Benutzers betreffenden Befehl auszuführen. In Figo 22D ist die Steuerlogik gezeigt, die für Ablauf Übertragungen und Operationen auf die Daten hin im Zuge der Durchführung des das Aufsuchen eines Benutzers betreffenden Befehls benutzt wird. Die in Fig. 22D gezeigte Steuerlogik wird häufig als Schleifen- bzw«, Zyklen-In FIGS. 22A to 22D in a block diagram representation of a hardware realization of the relevant consulting a user database command illustrated in Figure "22A to 22C, the hardware logic is shown that actually stores data and various operations executing on the data relevant to the prospecting of a user Execute command. Referring to Fig. 22D, there is shown the control logic used to process transfers and operations on the data in the course of executing the command relating to the retrieval of a user. The control logic shown in Fig. 22D is often used as a loop or cycle
709810/0993709810/0993
zählerlogik bezeichnet·counter logic denotes
Im folgenden sei kurz die Arbeitsweise der in Fig. 22D gezeigten Steuerlogik zusammenfassend erläutert, um das Verständnis der in Fig. 22A bis 22C gezeigten Hardwarelogik zu erleichtern. Zunächst kann ersehen werden, daß die Zyklus-1- bis Zyklus 7-Flipflops 2401 bis 2407 eine Reihe von sieben aufeinanderfolgenden Zeitperioden festlegen. Die AO- bis A5-Zyklen 2411 bis 2416 legen eine 6-Zyklen-Steuerfolge fest, die zur Steuerung der Operationen im Zuge der Ausführung des das Heraussuchen eines Benutzers betreffenden Datenbankbefehles in dem Fall verwendet werden, daß an einem virtuellen Speicherdatensatz, einem Datensatz des Zeigerbetriebstyps 0, gearbeitet wird. Der Zyklus BO, der Zyklus B1 und der Zyklus B4 in Verbindung mit den Α-Zyklen (die noch weiter unten erläutert werden) legen eine Zyklussteuerfolge fest, die im Zuge der Ausführung der Hardwareoperationen für den das Aufsuchen eines Benutzers betreffenden Datenbankbefehl in dem Fall benutzt wird, daß an einem virtuellen Datenspeichersatz, einem Datensatz des Zeigerbetriebstyps 1, gearbeitet wird. Durch den CO-Zyklus 2431 bis C12-Zyklus 2444 ist eine 14-Zyklus-Steuerfolge festgelegt, die zur Steuerung der Hardwareoperationen im Zuge der Ausführung des das Heraussuchen eines Benutzers betreffenden Datenbankbefehles in dem Fall verwendet wird, daß an einem Datenbank-Datensatz, einem Datensatz des Zeigerbetriebstyps 2, gearbeitet wird. Der D1-Zyklus 2451 und der D11-Zyklus 2452 legen in Verbindung mit den C-Zyklen eine Steuerfolge fest, die im Zuge der Steuerung der Hardwareoperationen benutzt wird, welche zur Ausführung des das Heraussuchen eines Be nutzers betreffenden Datenbankbefehles in dem Fall dienen, daß auf einen Datenbank-Datensatz, einem Datensatz des Zeiger-3-Typs, gearbeitet wird«,The following briefly summarizes the operation of the control logic shown in FIG. 22D in order to facilitate the understanding of the hardware logic shown in FIGS. 22A to 22C. First, it can be seen that cycle 1 through cycle 7 flip-flops 2401 through 2407 define a series of seven consecutive time periods. The AO to A5 cycles 2411 to 2416 define a 6-cycle control sequence which is used to control the operations in the course of executing the database command relating to the retrieval of a user in the event that a virtual memory data record, a data record of the Pointer operation type 0, is being worked. The cycle BO, the cycle B1 and the cycle B4 in connection with the Α cycles (which will be explained further below) define a cycle control sequence which is used in the course of the execution of the hardware operations for the database command relating to the search for a user is that a virtual data storage set, a data set of pointer mode 1, is being worked on. A 14-cycle control sequence is defined by the CO cycle 2431 to C12 cycle 2444, which is used to control the hardware operations in the course of executing the database command relating to the search for a user in the event that a database data record, a Data record of pointer operation type 2 is being worked. The D1 cycle 2451 and the D11 cycle 2452, in conjunction with the C cycles, define a control sequence which is used in the course of controlling the hardware operations which are used to execute the database command relating to the search for a user in the event that a database data record, a data record of the pointer 3 type, is being worked on «,
Im folgenden seien die Fig. 22A bis 22C näher betrachtet. Auf "22A to 22C are considered in more detail below. On "
709810/0993709810/0993
die Aufnahme eines das Heraussuchen eines Benutzers betreffenden Befehles, wie er durch den Detektor 2201 gemäß Fig. 22A angegeben wird, wird der Befehl in den Befehlspuffer 2202 geladen. Der Befehlspuffer befindet sich in der Befehlsabruf-Ginheit 1318 der Zentraleinheit 104. "Wie oben erwähnt, ist der das Heraussuchen eines Benutzers betreffende Befehl, der zu dem Befehlspuffer 2202 übertragen worden ist, ein Befehl im XI-Format, wie dies in Fig. 2OB dargestellt ist. Das MBZ-FeId 1931 wird unmittelbar mit den O-Bits 2204 mittels eines Vergleichers 2203 verglichen. Wenn der Vergleicher 2203 ein eine fehlende Übereinstimmung anzeigendes Signal abgibt, wird das Vorliegen einer ein unzulässiges Formatfeld betreffenden Ausnahme ermittelt, und ein für das unzulässige Formatfeld vorgesehenes Flipflop 2205 wird gesetzt. Dadurch wird die Aktivierung des Ausnahmebehandlungsmechanismus bewirkt,, Die Ausführung des das Heraussuchen eines Benutzers betreffenden Befehles wird dann abgeschlossen. Wenn der Vergleicher 2203 eine Übereinstimmung anzeigt, setzt sich die Ausführung des das Heraussuchen eines Benutzers betreffenden Befehles fort, wie dies unten beschrieben wird. Es sei darauf hingewiesen, daß das Übereinstimmungssignal des Vergleichers 2203, welches auf einen Verknüpfungswert "1" ansteigt, wenn festgestellt wird, daß das 14BZ-FeId 1923 gleich Null ist, das Eingangssignal für den Setzeingang des 1-Zyklus-Flipflops 2401 ist, das in Figo 22D gezeigt ist«. Demgemäß löst die Vergleichs-Übereinstimmung die Zyklusfolgen ^Zyklen 1 bis 7 aus.the inclusion of a command relating to the retrieval of a user, as indicated by the detector 2201 of FIG. 22A, the command is loaded into the command buffer 2202. The command buffer is located in the command fetch unit 1318 of the central processing unit 104. "As mentioned above, the command relating to the retrieval of a user which has been transferred to the command buffer 2202 is an XI format command as shown in FIG. 20B The MBZ field 1931 is compared directly with the O bits 2204 by means of a comparator 2203. If the comparator 2203 emits a signal indicating a mismatch, the presence of an exception relating to an illegal format field is determined, and an exception is determined for the illegal one Format field provided flip-flop 2205 is set. This causes the activation of the exception handling mechanism, the execution of the instruction relating to the retrieval of a user is then completed. If the comparator 2203 indicates a match, the execution of the instruction relating to the retrieval of a user continues, as described below. Let it be pointed out that the agreement signal of the comparator 2203, which rises to a logic value "1" when it is determined that the 14BZ field 1923 is equal to zero, is the input signal for the set input of the 1-cycle flip-flop 2401, which is shown in FIG 22D is shown «. Accordingly, the comparison match triggers the cycle sequences ^ Cycles 1 to 7.
Durch das Zyklus-1-Signal wird das UND-Glied 2206 in den Stand versetzt, die Adreßsilbe 1922 von dem Befehlspuffer 2202 zu der Adressensteuereinheit 2207 (siehe Fig. 22B) zu übertragen. Diese Übertragung erfolgt über ein ODER-Glied 2217, mit welchem das UND-Glied 2206 verbunden isto Wenn eine Adreßsilbe abgegeben wird, setzt die Adressensteuereinheit 2207 die betreffende Adreßsilbe in eine Speicheradresse um. Die durch die Adressensteuereinheit 2207 gebildete SpeicheradresseThe cycle 1 signal enables the AND gate 2206 to transfer the address syllable 1922 from the instruction buffer 2202 to the address control unit 2207 (see Fig. 22B). This transfer takes place via an OR gate 2217 which is connected to the AND gate 2206 is an address syllable If o is dispensed sets the address control unit 2207, the address syllable in question in a memory address in order. The memory address established by the address control unit 2207
709810/0993709810/0993
?627628? 627628
wird dem Speicheradressenregister 2209 zugeführt,, Da das ODER-Glied 2218 an einem seiner Eingänge das Zyklus-2-Signal zugeführt erhält, ist im Zyklus 2 das mit dem ODaR-Glied 2218 verbundene UND-Glied 2219 in den Stand versetzt, die Speicheradresse in dem Speicheradressenregister 2209 zu dem ODL'R-Glied 2220 zu übertragen. Das ODER-Glied 2220 ist seinerseits mit dem Speicheradressenregister 2210 des Speichersystems 2213 verbunden. is supplied to the memory address register 2209, Since the OR gate 2218 the cycle 2 signal at one of its inputs is supplied, is in cycle 2 that with the ODaR element 2218 connected AND gate 2219 enabled, the memory address in the memory address register 2209 to the ODL'R gate 2220 to transfer. The OR gate 2220 is in turn connected to the memory address register 2210 of the memory system 2213.
Der für die Ermittelung des das Heraussuchen eines Benutzers betreffenden Befehls vorgesehene Detektor 2201 ist außerdem mit einem invertierenden UND-Glied 2211 verbunden, welches seinerseits mit dem Speichersystem-Lese/Schreib-Plipflop 2212 verbunden isto Sin von dem betreffenden Detektor mit einem Verknüpfungswert "1" abgegebenes Signal führt dazu, daß das Ausgangssignal des UND-Gliedes 2211 mit einem Verknüpfungswert "0" auftritt, wodurch das Lese/Schreib-Flipflop 2212 auf Null gesetzt wird. Wenn das Speichersystem 2213 festgestellt hat, daß das Speicheradressenregister 2210 geladen worden ist und daß sich das Lese/Schreib-Flipflop 2212 im 1-Zustand befindet, wird eine Speicherleseoperation eingeleitet. Als Ergebnis einer Speicheroperation können Speicherzugriffsausnahmen 2214 auftreten. Wenn derartige Ausnahmen auftreten, wird das Speicherzugriffsausnahme-Flipflop 2214 in den 1-Zustand gesetzt sein. Die Ausnahmebehandlung wird aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 2215 wird in den 1-Zusatz gesetzt sein. Auf den Übergang des Speicheroperationsabschluß-Flipflops 2215 in einen 1-Zustand sind die aus dem Speichersystem 2213 gelesenen Daten zu dem Speicherdatenregister 2216 hin übertragen worden (in Fig. 22C gezeigt). Der Übergang des Speicheroperationsabschluß-Flipflops 2215 in den 1-Zustand zeigt somit an, daß der Gruppendeskriptor, der durch die Adreßsilbe des das Heraussuchen eines Benutzers betreffenden Befehles (siehe Fig. 19A) adressiert worden ist, in demA user's respective instruction provided for the determination of the picking out detector 2201 is also connected to an inverting AND gate 2211 which in turn is connected to the memory system read / write Plipflop 2212 connected o Sin from the respective detector having a logic value "1 "The output signal causes the output signal of the AND gate 2211 to appear with a logic value" 0 ", as a result of which the read / write flip-flop 2212 is set to zero. When the memory system 2213 has determined that the memory address register 2210 has been loaded and that the read / write flip-flop 2212 is in the 1 state, a memory read operation is initiated. As a result of a memory operation, memory access exceptions 2214 may occur. When such exceptions occur, the memory access exception flip-flop 2214 will be set to the 1 state. The exception handling is activated. Incidentally, the store operation will be terminated normally, and the store operation completion flip-flop 2215 will be set to the 1 suffix. Upon the transition of the memory operation completion flip-flop 2215 to a 1 state, the data read from the memory system 2213 has been transferred to the memory data register 2216 (shown in Fig. 22C). The transition of the memory operation complete flip-flop 2215 to the 1 state thus indicates that the group descriptor addressed by the address syllable of the instruction relating to the retrieval of a user (see FIG. 19A) is in the
709810/099G709810 / 099G
16276281627628
Speicherdatenregister 2216 untergebracht worden ist.Storage data register 2216 has been accommodated.
An dieser Stelle sei darauf hingewiesen, daß der Ausgang des Zyklus-2-Flipflops 2402 gemäß Fig. 22D außerdem mit dem UND-Glied 2481 verbunden ist, welches durch das Speicheroperationsabschlußsignal von dem Speicheroperationsabschluß-Flipflop 2215 gemäß Fig. 22B übertragungsfähig gemacht wird. Mit Abschluß des im Zuge einer Speicheroperation erfolgenden Auslesens des Gruppendeskriptors, der durch den das Heraussuchen eines Benutzers betreffenden Befehles adressiert ist, wird der Zyklus der Zyklusfolge ausgelöst bzw. eingeleitet«At this point it should be pointed out that the output of the cycle 2 flip-flop 2402 according to FIG. 22D is also connected to the AND gate 2481 which is connected by the memory operation completion signal from the memory operation completion flip-flop 2215 is made transferable according to Fig. 22B. With the completion of the reading of the The group descriptor addressed by the command relating to the retrieval of a user becomes the cycle the cycle sequence triggered or initiated "
Das K-FeId 1805 des in dem Speicherdatenregister 2216 enthaltenen Gruppendeskriptors ist mit dem UND-Glied 2221 verbunden, welches durch das Zyklus-3-Signal übertragungsfähig gemacht wird, wie dies in Figo 22C veranschaulicht isto Der Ausgang des UND-Gliedes 2221 ist seinerseits mit dem einen Eingang des Vergleichers 2222 verbunden. Der andere Eingang des Vergleichers 2222 wird durch "O"-Bits 2223 festgelegt. Wenn der Vergleicher 2222 ermittelt, daß das K-FeId 1805 nicht gleich Null ist, dann steigt das von dem Vergleicher 2222 abgegebene, die fehlende Übereinstimmung anzeigende Signal auf einen Verknüpfungswert "1" an, und das Nichtverfügbarkeits-Gruppenmerkmal-Ausnahme-Flipflop 2224 wird in den "1"-Zustand gesetzt. Die Ausnahmebehandlung wird sodann aktiviert, und der Befehl wird abgeschlossen. Wenn festgestellt wird, daß das K-FeId 1805 gleich Null ist, steigt das von dem mit dem UND-Glied 2482 gemäß Fig. 22D verbundenen Vergleicher 2222 abgegebene Übereinstimmungssignal auf einen "1"-Verknüpfungswert an, wodurch das Ausgangssignal des Zyklus-3-Flipflops 2403 freigegeben ist bzw«, aktiviert ist, um das Zyklus-4-Flipflop 2404 zu setzen.The K-field 1805 of the Gruppendeskriptors contained in the memory data register 2216 is connected to the AND gate 2221 which is made capable of transmission by the cycle-3 signal, as is illustrated in Figo 22C o The output of the AND gate 2221 is in turn connected to one input of the comparator 2222. The other input of the comparator 2222 is determined by "O" bits 2223. If the comparator 2222 determines that the K field 1805 is not equal to zero, then the signal output by the comparator 2222 and indicating the mismatching rises to a logic value "1" and the unavailable group feature exception flip-flop 2224 becomes set to the "1" state. Exception handling is then activated and the command completes. If it is determined that the K field 1805 is equal to zero, the match signal output by the comparator 2222 connected to the AND gate 2482 in FIG. Flip-flops 2403 is enabled or activated to set the cycle 4 flip-flop 2404.
Das P-FeId 1802 des in dem Speicherdatenregister 2216 ent-The P field 1802 of the memory data register 2216
7 0981Ü/09937 0981Ü / 0993
— 1D7 -- 1D7 -
haltenen Gruppendeskriptors wird über das UND-Glied 2225 übertragen, welches durch das Zyklus-4-Signal übertragungsfähig gemacht ist. Demgemäß wird im Zyklus 4 das P-FeId 1802 über das UND-Glied 2225 in das P-Register 2226 übertragen, mit welchem das UND-Glied 2225 verbunden ist.The group descriptor held is transferred via the AND element 2225, which is made transmittable by the cycle 4 signal. Accordingly, in cycle 4, the P field 1802 becomes over the AND gate 2225 transferred to the P register 2226 to which the AND gate 2225 is connected.
Das Verschiebefeld 1806 des in dem Speicherdatenregister 2216 enthaltenen Gruppendeskriptors wird dem UI1JD-GIied 2227 zugeführt, welches ebenfalls durch das Zyklus-4-Signal übertra'gungsfähig gemacht ist, wie dies in Fig„ 22B veranschaulicht ist. Demgemäß wird im Zyklus 4 das Verschiebefeld 1806 in das Verschieberegister 2228 übertragen. Es dürfte einzusehen sein, daß das Zyklus-4-Signal eines der Eingangssignale des ODER-Gliedes 2270 ist, welches mit dem UND-Glied 2271 verbunden ist» Demgemäß wird im Zyklus 4 das UND-Glied 2271, welchem das BR-FeId 1926 des Befehls zugeführt wird, übertragungsfähig gemacht, und das Ausgangssignal des UND-Gliedes 2271 wird zu dem BR-Basisregistereingang 2208 der Adressensteuereinheit 2207 übertragen.The shift field 1806 of the group descriptor contained in the memory data register 2216 is fed to the UI 1 JD element 2227, which is also made transferable by the cycle 4 signal, as is illustrated in FIG. 22B. Accordingly, shift field 1806 is transferred to shift register 2228 in cycle 4. It should be understood that the cycle 4 signal is one of the input signals of the OR gate 2270, which is connected to the AND gate 2271. Accordingly, the AND gate 2271, which the BR field 1926 of the Command is supplied, made transferable, and the output of the AND gate 2271 is transferred to the BR base register input 2208 of the address control unit 2207.
Wenn die Adressensteuereinheit 2207 mit einer Basisregisternummer bzw. Basisregisterzahl an ihrem BR-Basisregistereingang 2208 versorgt wird, besteht die resultierende Maßnahme darin, daß der Inhalt des Basisregisters ausgelesen wird, dessen Nummer eingegeben worden ist. Diese Operation ist eine typische Zwischenspeicher-Leseoperation. Der von der Adressensteuereinheit abgegebene Basisregisterinhalt wird an das Basisregister/Ausgaberegister 2230 der Adressensteuereinheit abgegeben. Das Basisregister/Ausgaberegister 2230 steuert einen Eingang eines zwei Eingänge besitzenden Addierers 2229. Mit dem anderen Eingang des Addierers 2229 ist das Verschieberegister 2228 verbunden, welches zuvor geladen worden ist. Das Ausgangssignal des Addierers 2229, das den Inhalt des Basisregisters BR mit dessen durch denIf the address control unit 2207 with a base register number or base register number at its BR base register input 2208 is supplied, the resulting measure is that the content of the base register is read out, whose number has been entered. This operation is a typical cache read operation. The one from the The base register content delivered to the address control unit is transferred to the base register / output register 2230 of the address control unit submitted. The base register / output register 2230 controls one input of a dual input Adder 2229. The shift register 2228 is connected to the other input of the adder 2229, which previously has been loaded. The output of the adder 2229, which the contents of the base register BR with that by the
709810/0993709810/0993
Verschiebeinhalt des Registers 2228 erhöhten Versetzungsfeld (siehe Fig. 2, 202) darstellt, wird dem UND-Glied 2231 zugeführt, wie dies aus Fig. 22A ersichtlich ist. Das UND-Glied 2231 wird durch das Zyklus-5-Signal übertragungsfähig gemacht. Das Ausgangssignal des UND-Gliedes 2231 ist seinerseits ein Eingangssignal für das ODER-Glied 2217, welches mit der Adressensteuereinheit verbunden ist» Die Adressensteuereinheit setzt, wenn sie mit dem Inhalt des Basisregisters angesteuert wird (siehe Fig. 2) diesen Inhalt in eine Speicheradresse um. Demgemäß ist das Ausgangssignal der Adressensteuereinheit 2207 wieder eine Adresse, die zu dem Speicheradressenregister 2209 übertragen wird. Da ein weiteres Eingangssignal der Eingangssignal des ODER-Gliedes 2218 das Zyklus-6-Signal ist, wie dies aus Fig. 22B hervorgeht, wird im Zyklus 6 die Adresse in dem Adreßregister 2209, welches mit demüber das OD^R-Glied 2218 übertragungsfähig gesteuerten UND-Glied. 2219 verbunden ist, über das ODER-Glied 2220 zu dem Speicheradreßregister 2210 das Speichersystems übertrageneThe shift content of the register 2228 represents increased displacement field (see Fig. 2, 202) is fed to the AND gate 2231, as can be seen from Fig. 22A. The AND gate 2231 is made capable of transmission by the cycle 5 signal. The output signal of the AND gate 2231 is in turn an input signal for the OR gate 2217, which with the Address control unit is connected »The address control unit sets when it is addressed with the contents of the base register (see Fig. 2) this content is converted into a memory address. Accordingly, the output of the address control unit is 2207 again an address which is transferred to the memory address register 2209. As another input signal the input to OR gate 2218 is the cycle 6 signal is, as can be seen from Fig. 22B, in cycle 6, the address in the address register 2209 which corresponds to the OD ^ R element 2218 transferable controlled AND element. 2219 is connected via the OR gate 2220 to the memory address register 2210 transferred the storage system
das Speichersystem 2213 wieder feststellt, daß sein Speicheradreßregister 2210 mit einer neuen Adresse geladen ist und daß das Lese/Schreib-Flipflop 2212 sich im NuIl-Zustand befindet, wird eine Speicherleseoperation eingeleitet. Als Ergebnis einer Speicherleseoperation können Speicherzugriffsausnahmen 2214 auftreten«, Wenn derartige Ausnahmen auftreten, wird das Speicherzugriffsausnahme-Flipflop 2214 in den 1-Zustand gesetzt. Die Ausnahmebehandlung wird aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 2215 wird in den 1-Zustand gesetzt (das Speicheroperationsabschluß-Flipflop 2215 wird auf die Einleitung irgendeiner neuen Speicheroperation in den Null-Zustand zurückgestellt). Mit Beendigung der Speicheroperation werden die aus dem Speichersystem gelesenen Daten, die einen Datenbankzeiger darstellenthe memory system 2213 again determines that its memory address register 2210 is loaded with a new address and that the read / write flip-flop 2212 is in the NuIl state a memory read operation is initiated. As a result of a memory read operation, Memory Access Exceptions 2214 Occur "If such exceptions occur, the memory access exception flip-flop 2214 set to the 1 state. The exception handling is activated. Otherwise, the memory operation becomes normal is completed, and the memory operation completion flip-flop 2215 is set to the 1 state (the memory operation completion flip-flop 2215 is reset to the null state upon initiation of any new store operation). With Completion of the storage operation is the data read from the storage system, which represent a database pointer
709810/0993709810/0993
(siehe Figo 15e, 15f, 15g und 15h) zu dem Speicherdatenregister 2216 hin übertragen» Aus Fig. 22D kann ersehe^ werden, daß das UND-Glied 2483, mit dem der Ausgang des Zyklus-6-Fü.pflops 24o6 verbunden ist, durch das Speicheroperationsabschlußsignal von dem Speicheroperationsabschluß-Flipflop 2215 her übertragungsfähig gemacht wird. Demgemäß wird im Zyklus 6, nachdem die Speicheroperation abgeschlossen ist, durch das UND-Glied 2483, welches mit dem Setzeingang des Zyklus-7-Flipflops 2407 verbunden ist, der Zyklus 7 eingeleitet,, (see Figs. 15e, 15f, 15g and 15h) to the storage data register 2216. It can be seen from FIG. 22D that the AND element 2483, with which the output of the cycle 6 foot flop 24o6 is connected by the memory operation completion signal from the memory operation completion flip-flop 2215 is rendered transferable. Accordingly, in cycle 6, After the memory operation is completed, cycle 7 is initiated by AND gate 2483, which is connected to the set input of cycle 7 flip-flop 2407,
Zurückkommend auf Fig. 22C dürfte ersichtlich sein, daß das P-Register 2226 mit einer Reihe von UND-Gliedern und mit vier Flipflops verbunden ist, die mit AS2241, BS2240, CS 2239 und DS 2238 bezeichnet sind. Der Zweck dieser besonderen Logik bzw. Verknüpfungsschaltung besteht darin, die Zeigerbetriebsart des Datensatzes, mit dem die Verarbeitung befaßt ist, zu ermitteln und in den Flipflops A2245, B2244, C2243 und D2242 zu speichern (und zwar speziell zur Speicherung des Umstandes, ob die Zeiger vom Typ 0, 1, 2 oder 3 sind, was in den entsprechenden Flipflops A, B, C und D gespeichert wird). Um die Decodierung der Zeigerbetriebsart zu bewirken, wird das Bit Nr. 0 (das am weitesten links stehende Bit) des P-Registers 2226 dem invertierenden UND-Glied 2232 zugeführt. Das Bit Nr. 1 (das ist das am weitesten rechts stehende Bit) des P-Registers 2226 wird ferner einem invertierenden UND-Glied 2233 zugeführt. Die UND-Glieder 2234 bis 2237 dienen dazu, die beiden Bits des P-Registers 2226 zu decodieren. Das UND-Glied 2237 erhält als Eingangssignale die beiden invertierten Bit-Werte des P-Registers von den invertierenden UND-Gliedern 2232 und 2233. Demgemäß steigt das Signal des UND-Gliedes 2237 auf einen "1"-Verknüpfungswert an, wenn der Wert in dem P-Register gleich Null ist (Binär 00). In diesem Fall würde das Zyklus-7-Signal das UND-Glied 2237 übertragungsfähig machen, wodurch das AS-Flipflop 2241 gesetzt wird» Bezüglich der Fig. 22D sei darauf hingewiesen, daß dasReturning to Figure 22C, it should be seen that the P register 2226 is connected to a number of AND gates and to four flip-flops, which are connected to AS2241, BS2240, CS 2239 and DS 2238 are designated. The purpose of this particular logic is to set the pointer mode of operation of the data record with which the processing is involved and in the flip-flops A2245, B2244, C2243 and D2242 (specifically for storing the fact whether the pointers are of type 0, 1, 2 or 3, which is stored in the corresponding flip-flops A, B, C and D). To effect the decoding of the pointer mode, Bit no. 0 (the leftmost bit) of the P register 2226 is fed to the inverting AND gate 2232. Bit # 1 (the rightmost bit) of P register 2226 also becomes an inverting AND gate 2233 supplied. The AND gates 2234 to 2237 are used to decode the two bits of the P register 2226. That AND element 2237 receives the two inverted bit values of the P register from the inverting AND elements as input signals 2232 and 2233. Accordingly, the signal of the AND gate 2237 rises to a "1" link value when the Value in the P register is zero (binary 00). In this case, the cycle 7 signal would be transferable to AND gate 2237 make, which sets the AS flip-flop 2241 »Referring to Fig. 22D, it should be noted that the
709810/0993709810/0993
_ 11 Π—_ 11 Π—
AS-Flipflop 2241 dazu herangezogen wird, die A-Zyklus-Folge einzuleiten, umfassend den AO-Zyklus 2411 bis den A5-Zyklus 2416. Das AS-Flipflop 2241 ist mit seinem Ausgang außerdem mit dem A-Flipflop 2245 verbunden. Das A-Flipflop 2245 speichert, daß das P-Register 2226 einen Null-Wert besitzt (das ist der virtuelle Speicherdatensatz bei der Zeigerbetriebsart des Typs 0). Das AS-Flipflop 2241 ist ausgangsseitig ferner mit seinem Rückstelleingang verbunden. Nach erfolgtem Zurückstellen des A-Flipflops 22245 und Einleiten der A-Zyklusfolge wird somit das AS-Flipflop auf Null zurückgestellt. AS flip-flop 2241 is used for this, the A cycle sequence to initiate, comprising the AO cycle 2411 through the A5 cycle 2416. The AS flip-flop 2241 is also with its output connected to the A flip-flop 2245. The A flip-flop 2245 stores that the P register 2226 has a zero value (that is, the virtual memory record in the pointer mode of operation of type 0). The AS flip-flop 2241 is also connected to its reset input on the output side. To Once the A flip-flop 22245 has been reset and the A cycle sequence initiated, the AS flip-flop is thus reset to zero.
Dem UND-Glied 2236 werden das invertierte P-Bit Hummer 0 und das nichtinvertierte P-Bit Nr. 1 zugeführt. Somit wird im Zyklus 7, in welchem das UND-Glied 2236 übertragungsfähig gemacht ist, das BS-Flipflop 2240 in den 1-Zustand gesetzt, wenn in dem P-Register ein Wert von 1 (binär 01) vorhanden ist. Analog dem Fall des Zeigerbetriebs des Typs 0 wird durch das BS-Flipflop 2240 das B-Flipflop 2244 gesetzt, und die B-Zyklusfolge wird eingeleitet. Das BS-Flipflop 2240 stellt sich nach Abschluß dieser Operationen selbst zurück.The AND gate 2236 is the inverted P-bit Hummer 0 and the non-inverted P-bit No. 1 is supplied. Thus, in cycle 7, in which the AND gate 2236 becomes transferable is done, the BS flip-flop 2240 is set to the 1 state, if there is a value of 1 (binary 01) in the P register. Analogous to the case of the type 0 pointer mode, the BS flip-flop 2240, the B flip-flop 2244 is set, and the B-cycle sequence is initiated. The BS flip-flop 2240 resets itself after these operations are complete.
Dem UND-Glied 2235 werden das nichtinvertierte P-Bit Nr. 0 von dem P-Register 2226 und das invertierte P-Bit Nr0 1 zugeführt. Demgemäß wird im Zyklus 7 durch das UND-Glied 2235, welches durch das Zyklus-7-Signal übertragungsfähig gemacht wird, das CS-Flipflop 2239 gesetzt, sofern der Wert in dem P-Register gleich 2 ist (binär 10). Analog zu den zuvor betrachteten Fällen würde somit das CS-Flipflop 2239 das C-Flipflop 2243 setzen (in welchem gespeichert ist, daß auf einen Datenbank-Datensatz, einen Datensatz des Zeigerbetriebs-Typs 2, gearbeitet wird). Das CS-Flipflop 2239 leitet ferner die C-Zyklusfolge ein. Das CS-Flipflop 2239 stellt sich außerdem nach dem Setzen des C-Flipflpps 2243 und nachThe AND gate 2235 is supplied with the non-inverted P bit No. 0 from the P register 2226 and the inverted P bit No. 0 1. Accordingly, the CS flip-flop 2239 is set in cycle 7 by the AND gate 2235, which is made transferable by the cycle 7 signal, provided the value in the P register is equal to 2 (binary 10). Analogously to the cases considered above, the CS flip-flop 2239 would set the C flip-flop 2243 (in which it is stored that a database data set, a data set of pointer mode type 2, is being used). The CS flip-flop 2239 also initiates the C cycle sequence. The CS flip-flop 2239 also turns on after the C flip-flop 2243 has been set and after
7GS81Q/09937GS81Q / 0993
Einleitung der C-Zyklusfolge selbst zurück.Initiation of the C cycle sequence itself.
Dem UND-Glied 2234 werden das nichtinvertierte P-Bit Nr. 0 und das P-Bit Nr. 1 zugeführt. Demgemäß wird im Zyklus 7, in welchem das UND-Glied 2234 freigegeben bzw. übertragungsfähig gemacht wird, das DS-Flipflop 2238 in den 1-Zustand gesetzt, sofern das P-Register 2226 einen Wert von 3 (binär 11) enthält; dies zeigt das Vorliegen eines Datenbank-Datensatzes, eines Datensatzes des Zeigerbetriebstyps 3» an. Nachdem das DS-Flipflop 2238 in den 1-Zustand gesetzt ist, löst es die D-Zyklusfolge aus; ferner bewirkt das betreffende Flipflop das Setzen \ des D-Flipflops 2242, um einen Datenbank-Datensatz des Zeigertyps 3 zu speichern, dessen Verarbeitung erfolgt. Das DS-Flipflop 2238 ist mit seinem Ausgang ferner mit seinem Rückstelleingang verbunden, wodurch sich das betreffende Flipflop nach Ausführung der obigen Operationen selbst zurückstellt.The AND gate 2234 receives the non-inverted P bit no. 0 and the P-bit No. 1 is supplied. Accordingly, in cycle 7, the AND gate 2234 is enabled or transferable is done, the DS flip-flop 2238 is set to the 1 state, if the P register 2226 contains a value of 3 (binary 11); this shows the existence of a database record, of a data record of the pointer operation type 3 ». After the DS flip-flop 2238 is set to the 1 state, it triggers the D cycle sequence off; furthermore, the relevant flip-flop causes the D flip-flop 2242 to be set to a database data record of pointer type 3 to be processed. The DS flip-flop 2238 is also with its output connected to its reset input, which causes the relevant flip-flop to self-activate after the above operations have been carried out resets.
Aus Fig. 22D kann ersehen werden, daß der B-Zyklus weniger Zyklusperioden üesitzt als der Α-Zyklus und daß in einigen Fällen das Ausgangssignal eines B-Zyklus-Flipflops mit dem Ausgangssignal eines A-Zyklus-Flipflops einem ODER-Glied zugeführt wird, um ein weiteres Zyklus-Flipflop zu setzen,. Dies erfolgt mit Rücksicht auf die G-emeinsamkeit in den A-Zyklus-Operationen (Zeiger-Typ 0) und den B-Zyklus-Operationen (Zeiger-Typ 1). In denjenigen Fällen, in denen Befehlsoperationen des Zeiger-Typs 0 und des Zeiger-Typs 1 dieselbe Steuerfolge erfordern, wird das Zyklus-A-Signal entweder durch das vorhergehende A-Zyklus-Signal oder durch das vorhergehende B-Zyklus-Signal gesetzt. Ein Beispiel hierfür ist dargestellt., Dabei sind das Zyklus-A1-Flipflop 2412 und das Zyklus-B1-Flipflop 2422 an einem ODER-Glied 2484 angeschlossen, welches das Zyklus-A2-Flipflop 2413 setzt« Nach einer Folge von gemeinsamen A- und B-Zyklus-Vorgängen - zu diesem Zeitpunkt erfordern die Zustände des Zeigerbetriebs-It can be seen from Fig. 22D that the B cycle has fewer cycle periods than the Α cycle and that in some cases the output of a B cycle flip-flop is fed to an OR gate with the output of an A cycle flip-flop, to set another cycle flip-flop. This takes place in consideration of the commonality in the A-cycle operations (pointer type 0) and the B-cycle operations (pointer type 1). In those cases in which instruction operations of pointer type 0 and pointer type 1 require the same control sequence, the cycle A signal is set either by the previous A cycle signal or by the previous B cycle signal. An example of this is shown., The cycle A1 flip-flop 2412 and the cycle B1 flip-flop 2422 are connected to an OR gate 2484, which sets the cycle A2 flip-flop 2413 after a sequence of common A and B-cycle processes - at this point in time, the states of the pointer operation
709810/0993709810/0993
Typs O und des Zeigerbetriebs-Typs 1 unterschiedliche Maßnahmen - werden wieder gesonderte Zyklus-A- oder Zyklus-B-Flipflops gesetzt. Mn Beispiel hierfür ist der folgende A3-Zyklus 2414, gemäß dem der Ausgang ' des A3-Flipflops 2414 mit dem UkD-GIied 2486 verbunden ist. Dieses UND-Glied wird durch das Α-Signal von dem Flipflop 2245 übertragungsfähig gemacht (Anzeige des Zeigerbetriebstyps 0), um das Zyklus-A4-Flipflop 2415 zu setzen. Der Ausgang des Zyklus-A3-Flipflops 2414 ist ebenfalls mit dem ^UND-Glied 2487 verbunden, welches durch das B-Signal von dem Flipflop 2244 her übertragungsfähig gemacht wird (Anzeige des Zeigerbetriebstyps 1), um das Zyklus-4-Flipflop 2423 zu setzen.Type O and pointer operation type 1 have different measures - separate cycle A or cycle B flip-flops are set again. An example of this is as follows A3 cycle 2414, according to which the output 'of the A3 flip-flop 2414 is connected to the UkD-GIied 2486. This AND element becomes transferable by the Α signal from the flip-flop 2245 is made (indicating pointer operation type 0) to set the cycle A4 flip-flop 2415. The outcome of the Cycle A3 flip-flops 2414 is also with the ^ AND gate 2487, which is made transferable by the B signal from the flip-flop 2244 (display of the Pointer operation type 1) to the cycle 4 flip-flop 2423 set.
In Fig. 22D ist ferner gezeigt, daß sich die C-Zyklusfolge (Zeigerbetriebst3T?s 2) und die D-Zyklusfolge (Zeigerbetriebstyp 3) eine Vielzahl von Zyklusfolgen wieder gemeinsam teilen, und zwar wegen der Gemeinsamkeit in den C-Zyklus-Operationen und den D-Zyklus-Operationen. Der Anzeigemechanismus, der eine Anzeige liefert, wenn gesonderte C-Zyklus- und D-Zyklus-Operationen erforderlich sind, ist derselbe Mechanismus, wie er in Verbindung mit den Zyklus-Α- und Zyklus-B-Signalen verwendet wird. Es sei darauf hingewiesen, daß mit Rücksicht darauf, daß der Zeigerbetriebstyp 2 und der Zeigerbetriebstyp 3 von gemeinsamen Operationen ausgehen, das CS-Flipflop 2239 und das DS-Flipflop 2238 mit einem ODER-Glied 2489 verbunden sind, welches seinerseits mit dem Setzeingang des Zyklus-CO-Flipflops 2431 verbunden ist. Der Zyklus GO ist somit der Binleitungszyklus für die beiden C- und D-Zyklusfolgen. Also shown in Fig. 22D is the C cycle sequence (Pointer operation 3T? S 2) and the D cycle sequence (Pointer operation type 3) share a large number of cycle sequences again together, because of the commonality in the C-cycle operations and the D cycle operations. The notification mechanism that provides an indication of separate C-cycle and D-cycle operations is the same mechanism used in conjunction with the Cycle Α and Cycle B signals will. It should be noted that considering that the hand operation type 2 and the hand operation type 3 assume common operations, the CS flip-flop 2239 and the DS flip-flop 2238 with an OR gate 2489 are connected, which in turn is connected to the set input of the cycle CO flip-flop 2431. The cycle is GO thus the two-line cycle for the two C and D cycle sequences.
Nunmehr sei auf die Verknüpfungsoperationen in Fig. 22A bis 22C eingegangen. Es wurde oben bereits bechrieben, wie auf den Zyklus 7 folgend die Zyklusfolgen A, B, C oder D eingeleitet werden. Zunächst sei die Operation der A- undThe link operations in Figs. 22A to 22C will now be discussed. It has already been described above how following cycle 7, cycle sequences A, B, C or D are initiated. First, let the operation be the A- and
709810/0993709810/0993
B-Zyklusfolgen betrachtete In diesem Zusammenhang sei darauf hingewiesen, daß das SRA-FeId des Zeigers in dem Speicherdatenregister 2216 (1542 für einen Zeiger der Klasse 0 oder das Feld 1452 für einen Zeiger der Klasse 1) mit dem UND-Glied 2248 gemäß Fig. 22A verbunden ist. Das Zyklus-AO-Signal und das Zyklus-30-Signal werden dem ODJiR-Glied 2247 zugeführt, welches seinerseits das UND-Glied 2248 übertragungsfähig macht. Entweder im Zyklus AO oder im Zyklus BO wird somit das UND-Glied 2248 übertragungsfähig gemacht, um den SRA-Teil des aus dem Speicher gelesenen Zeigers zu dem SRA-Register 2249 zu übertragen. Ferner dürfte ersichtlich sein, daß das SJiG-FeId 1552 des Zeigers (dieses Feld ist legilich in dem Fall von Bedeutung, daß auf einen Zeiger der Klasse 1 hin gearbeitet wird) von dem Speicherdatenregister 2216 zu dem UHD-GIied 2250 hin geleitet wird«, Das UND-Glied 2250 wird durch as Zyklus-BO-Signal freigegeben bzw. übertragungsfähig gemacht, wodurch das SEG-FeId 1552 zu dem SIG-Register 2316 im Zyklus BO übertragen wird.B cycle sequences considered In this context it should be noted that the SRA field of the pointer in the storage data register 2216 (1542 for a class 0 pointer or the field 1452 for a class 1 pointer) with the AND element 2248 is connected as shown in Fig. 22A. The cycle AO signal and the Cycle 30 signals are fed to the ODJiR gate 2247, which in turn makes the AND gate 2248 transferable. Either in cycle AO or in cycle BO thus becomes the AND element 2248 made transferable to transfer the SRA portion of the pointer read from memory to the SRA register 2249. It should also be evident that the SJiG field 1552 of the pointer (this field is legally important in the case that a pointer of class 1 is being worked on) from the memory data register 2216 to the UHD member 2250 will «, the AND gate 2250 is activated by the cycle BO signal released or made transferable, whereby the SEG field 1552 transferred to the SIG register 2316 in cycle BO will.
Im Zyklus 31 überträgt das SRA-Register 2249, welches mit dem UND-Glied 2253 verbunden ist - das durch das Zyklus-B1-Signal freigegeben bzw. übertragungsfähig gemacht ist - den SRA-Registerinhalt über das ODER-Glied 2255 in das Versetzungsfeld des EAX-Registers 2257 (das Format dieses Registers ist dasselbe wie es für ein Basisregister 202 in Fig. 2 gezeigt ist). Durch das Zyklus-31-Signal wird ferner das UND-Glied 2254, mit dem das SEG-Register 2316 verbunden ist, in den Stand versetzt, den Inhalt des betreffenden Registers über das betreffende ODER-Glied 2256 in den SEG-Teil des EAX-Registers 2257 zu übertragen (d?r SlüG-Teil des SAX-Registers ist das in Figo 2 mit 202 gezeigte Feld STN, STE).In cycle 31, the SRA register 2249, which is connected to the AND gate 2253 - which is enabled or made transferable by the cycle B1 signal - transfers the SRA register contents via the OR gate 2255 into the offset field of the EAX Register 2257 (the format of this register is the same as that shown for a base register 202 in Figure 2). The AND element 2254, to which the SEG register 2316 is connected, is also enabled by the cycle 31 signal to transfer the content of the relevant register to the SEG part of the EAX via the relevant OR element 2256. to transfer the register 2257 (d? r SlüG portion of the SAX register is the box shown in Figure 2 with o 202 STN, STE).
Wenn der Zeigerbetrieb, bei dem gearbeitet v/ird, gegeben ist durch einen Zeiger des Typs 0, gibt das Zyklus-A1-Signal die Übertragung des SRA-Registers 2249 über das UND-Glied 2252If the pointer operation being worked on is given by a pointer of type 0, the cycle A1 signal outputs the Transfer of the SRA register 2249 via the AND element 2252
709810/0993709810/0993
und das ODER-Glied 2252 in den Versetzungsteil des EAX-Registers 2257 frei. Der SSG-Teil (oder Äquivalente, nämlich STiI, STE) des Basisregister— Ausgaberegisters 2230 - das zuvor geladen worden ist, wie dies zuvor beschrieben wurde - wird clem UM)-GUed 2251 zugeführt, welches durch den Zyklus A1 übertragungsfähig gemacht wird. Demgemäß wird im Zyklus A1 die· Segmentnummer des Basisregisters über das ODER-Glied 2256, an welchem das UND-Glied 2251 angeschlossen ist, in den SSG-Teil des SAZi-Registers 2257 übertragen.and OR gate 2252 in the offset part of the EAX register 2257 free. The SSG part (or equivalents, namely STiI, STE) of the base register - output register 2230 - the one before has been loaded, as previously described - is supplied to the UM) -GUed 2251, which is carried out by the cycle A1 is made transferable. Accordingly, in cycle A1 the segment number of the base register via the OR gate 2256, to which the AND gate 2251 is connected, into the SSG part of the SAZi register 2257.
nachdem das EAX-Register 2257 geladen worden ist, wird der Inhalt dieses Registers - welches eine segmentierte Adresse des in Fig. 2 mit 202 bezeichneten Formates umfaßt - über das ODER-Glied 2217 in die Adressensteuereinheit 2207 übertragen, die in Fig. 22B gezeigt ist. Die Adressensteuereinheit 2207 setzt, wenn ihr eine segmentierte Adresse (des in Fig. 2 mit 202 gezeigten Formates) zugeführt wird, die betreffende Adresse wieder in eine Speicheradresse um. Demgemäß wird das Ausgangssignal des Adressensteuereinheit 207 wieder in das Speicheradressregister 2209 übertragen. Da ein weiteres Eingangssignal der üingangssignale des ODER-Gliedes 2218, welches das UND-Glied 2219 freigibt bzw. übertragungsfähig macht, das Zyklus-A2-Signal ist (welches entweder auf den Zyklus A1 oder auf den Zyklus B1 folgt), wird sodann die Adresse in dem Adreßregister 2209 der Adressensteuereinheit über das UND-Glied 2219 und das ODER-Glied 2220 in das Speicheradreßregister 2210 des Speichersystems 2213 übertragen.after the EAX register 2257 has been loaded, the Contents of this register - which is a segmented address of the format designated in FIG. 2 with 202 - transmitted via the OR gate 2217 into the address control unit 2207, shown in Fig. 22B. The address control unit 2207 sets, if you have a segmented address (the one in Fig. 2 with 202 format) is supplied, the address in question is converted back into a memory address. Accordingly, will the output signal of the address control unit 207 is transferred back to the memory address register 2209. There is another Input signal of the input signals of the OR gate 2218, which enables the AND gate 2219 or makes it transferable, is the cycle A2 signal (which is either based on the Cycle A1 or following cycle B1), then the address in the address register 2209 of the address control unit Transferred via the AND gate 2219 and the OR gate 2220 to the memory address register 2210 of the memory system 2213.
Wenn das Speichersystem 2213 wieder feststellt, daß sein Speicheradreßregister 2210 mit einer neuen Adresse geladen ist und wenn das Lese/Schreib-Flipflop 2212 sich im NuIl-Zustand befindet, dann wird eine weitere Speicherleseoperation eingeleitet. Als Ergebnis einer Speicherleseoperation können Speicherzugriffsausnahmen 2214 auftreten. Wenn derartige Ausnahmen auftreten, wird das Speicherzugriffsausnahme-Flipflop 2214When the memory system 2213 again determines that its memory address register 2210 has been loaded with a new address and when the read / write flip-flop 2212 is in the NuIl state is then another memory read operation is initiated. As a result of a memory read operation, Memory access exceptions 2214 occur. If such exceptions occur, memory access exception flip-flop 2214
709810/0993709810/0993
in den 1-Zustand gesetzt, und der AusnahmebehandlimgsmechanismuG wird aktiviert. Im übrigen wird die Speicheroperation normal abgeschlossen, und das Speicheroperationsabschluß-Flipflop 2215 wird in den 1-Zustand gesetzt. Am ißnde der Speicheroperation werden die aus dem Speichersystem gelesenen Daten, die den Teil eines virtuellen Speicherdatensatzes darstellen, der das D-Feld (oder "D-Umsehaltefeld") 1502 gemäß Fig. 15a enthält, in das Speicherdatenregister 2216 übertragen.set to the 1 state, and the exception handling limgsmechanismuG is activated. Otherwise, the memory operation is normally completed and the memory operation completion flip-flop 2215 is completed is set to the 1 state. At the end of the store operation the data read from the storage system, which represent the part of a virtual storage data set, which the D-field (or "D-flip field") 1502 according to FIG. 15a, transferred to memory data register 2216.
Aus Fig. 22D geht dabei hervor, daß der Ausgang des Zyklus-A2-Flipflops 2413 mit dem UND-Glied 2485 verbunden ist, welches durch das Speicheroperationsabschlußsignal freigegeben bzw. übertragungsfähig gemacht wird. Auf die Beendigung der Speicheroperation hin ist somit das UND-Glied 2485 in den Stand versetzt, das Zyklus-A3-Flipflop 2414 zu setzen.As shown in Fig. 22D, the output of the cycle A2 flip-flop 2413 is connected to the AND gate 2485, which is enabled or made transferable by the memory operation completion signal. To the termination of the store operation the AND gate 2485 is thus enabled, set cycle A3 flip-flop 2414.
Im Zyklus A3 überträgt das UND-Glied 2258, welches durch das Zyklus-A3-Signal übertragungsfähig gemacht ist, das D-Feld 1502 des virtuellen Speicherdatensatzes aus dem Speicherdatenregister 2216 zu einem der beiden Eingänge des Vergleichers 2216 hin. Dem anderen Eingang des Vergleichers 2260 wird eine Reihe von Null-Bits 2259 zugeführt. Wenn der Vergleicher 2260 feststellt, daß das D-Feld 1502 gleich Null ist, steigt das vom Vergleicher 2260 gelieferte Übereinstimmungssignal auf einen "1"-Verknüpfungswert an. Dadurch wird das einem gelöschten Datensatz betreffende Ausnahme-Flipflop 2261 in den 1-Zustand gesetzt. Der Ausnahmebehandlungsmechanismus wird sodann aktiviert, und der Befehl wird abgeschlossen. Im übrigen steigt das keine Übereinstimmung anzeigende Signal des Vergleichers 2260 auf einen "1"-Verknüpfungswert an. Im Hinblick auf Fig. 22D kann festgestellt werden, daß das Ungleichheits-Signal des Vergleichers 2260 den beiden UND-Gliedern 2486 und 2487 zugeführt wird. Bei Vorliegen eines Ungleichheitszustandes wird somit entweder das UND-Glied 2486 übertragungsfähig gemacht - falls das A-Signal 2245 eine Zeigeroperation desIn cycle A3, the AND gate 2258, which is generated by the Cycle A3 signal is made transmissible, D-field 1502 of the virtual memory data set from the memory data register 2216 to one of the two inputs of the comparator 2216 there. A series of zero bits 2259 are fed to the other input of the comparator 2260. If the comparator determines 2260 that the D-field 1502 is equal to zero, the match signal provided by the comparator 2260 increases to one "1" link value. As a result, the exception flip-flop 2261 relating to a deleted data record is in the 1 state set. The exception handling mechanism is then activated and the instruction completes. Furthermore the disagreement signal of the comparator 2260 rises to a "1" link value. With regard to on FIG. 22D it can be determined that the inequality signal of the comparator 2260 corresponds to the two AND gates 2486 and 2487 is fed. If there is an inequality state, either the AND element 2486 can be transmitted made - if the A signal 2245 is a pointer operation of the
709810/0993709810/0993
Typs O anzeigt - oder es wird das UND-Glied 2487 Übertragungsfähig gemacht, falls das B-Signal 2244 eine Zeigeroperation des Typs 1 anzeigt. Das UND-Glied 2486 bewirkt, falls es durch das Α-Signal und das Ungleichheitssignal übertragungsfähig gemacht ist, das Setzen des Zyklus-A4-Flipflops 2415 auf den Zyklus A3 hin. Das UND-Glied 2487 bewirkt, falls es durch das B-Signal und durch das Ungleichheitssignal von dem Verglsicher 2260 her übertragungsfähig gemacht ist, das Setzen des Zyklus-B4-Flipflops 2423 auf den Zyklus A3 hin.Type O indicates - or the AND element 2487 is transferable made if the B signal 2244 indicates a type 1 pointer operation. The AND gate 2486 causes, if it is through made the Α signal and the inequality signal transmittable is to set cycle A4 flip-flop 2415 to the Cycle A3 out. The AND gate 2487 effects, if it is by the B signal and by the inequality signal from the comparator 2260 is made transferable, the setting of cycle B4 flip-flop 2423 in response to cycle A3.
Da den Eingängen des ODER-Gliedes 2263 gemäß Fig. 22B das Zyklus-A4-Signal und das Zyklus-B4-Signal zugeführt werden, ist in jedem dieser Zyklen das UND-Glied 2362 übertragungsfähig, um das SRA-Register 2249 bzw. dessen Inhalt über das ODER-Glied 2264, mit dem das UND-Glied 2362 verbunden ist, zu dem Versetzungsfeld des BR-Basisregister-Eingangsregisters 2267 zu übertragen (das BR-Eingangsregister 2267 besitzt das in Fig. 2 mit 202 gezeigte Format). Wenn ein Datensatz des Zeigerbetriebstyps 1 bearbeitet wird, setzt das Zyklus-B4-Signal das UND-Glied 2265 in den Stand, das SBG-Register 2316 über das ODüR-Glied 2266 in den SEG-Teil des BR-üingangsregisters 2267 zu übertragen (der SEG-Teil ist äquivalent dem Feld STN, STS, wie es in Fig. 2 mit 202 dargestellt ist).Since the inputs of the OR gate 2263 according to FIG. 22B are supplied with the cycle A4 signal and the cycle B4 signal, the AND gate 2362 is transferable in each of these cycles to read the SRA register 2249 or its content via the OR gate 2264, to which AND gate 2362 is connected, to the offset field of the BR base register input register 2267 (the BR input register 2267 has the format shown in Fig. 2 with 202). If a record of the Pointer mode 1 is being processed, the cycle B4 signal is set the AND gate 2265 in the state, the SBG register 2316 via the ODüR element 2266 into the SEG part of the BR input register 2267 (the SEG part is equivalent to the field STN, STS, as shown in Fig. 2 with 202).
Da dieZyklus-A4- und Zyklus-B4-Signale Eingangssignale des ODER-Gliedes 2270 sind, durch welches das UND-Glied 2271 übertragungsfähig gemacht wird, ist das UND-Glied 2270 in jedem dieser Zyklen in den Stand versetzt, das BR-FeId 1926 des Befehlspuffers 2202 in den BR-Bereich 2208 der Adressensteuereinheit 2207 zu übertragen» Wenn der Adressensteuereinheit 2207 eine BR-Registernummer in ihrem BR-Bereich 2208 zugeführt wird und wenn das BR-Eingangsregister 2267 mit einem neuen Wert geladen wird, schreibt die Adressensteuereinheit den Wert im BR-Eingangsregister 2267 in das Basisregister ein, und zwar mittels einer normalen Zwischenspeicher- Since the cycle A4 and cycle B4 signals are input signals of the OR gate 2270, through which the AND gate 2271 is made transferable, is the AND gate 2270 in FIG Each of these cycles enabled, the BR field 1926 of the instruction buffer 2202 in the BR area 2208 of the address control unit 2207 to transfer »If the address control unit 2207 has a BR register number in its BR area 2208 and when the BR input register 2267 is loaded with a new value, the address control unit writes enter the value in the BR input register 2267 into the base register using a normal buffer
709810/0993709810/0993
Schreiboperatioiio Damit ist das Basisregister, dessen Basisregister- BR-Nummer in dem Befehlsfehld 1926 vorgegeben ist, nunmehr mit einem segmentierten Adressenwert aktualisiert worden, der die Adresse des Mitglied-Datensatzes desjenigen Datensatzes ist, auf den ursprünglich durch den Inhalt desselben 3asisregisters BR hingewiesen worden ist.Write operation This means that the base register, whose base register BR number is specified in instruction error 1926, is has now been updated with a segmented address value that is the address of the member record of the Is the data record that was originally pointed to by the content of the same base register BR.
Aus einer erneuten Betrachtung der Fig. 22D dürfte ersichtlich sein, daß das Zyklus-A4-Flipflop 2415 und das Zyklus-B4-Flipflop 2423 ausgangsseitig jeweils mit dem ODER-Glied 2488 verbunden sind. Demgemäß setzt das ODUR-GIied 2488 das Zykius-A5-Flipflop 2416 auf den Zyklus A4 oder auf den Zyklus B4 hin. Dfiss Zyklus-A5-Signal, das ein Eingangs signal des ODiiR-Gliedes 2272 ist, wird dazu herangezogen, das Befehlsabschluß-Flipflop 2246 zu setzen, wie dies aus Fig. 22C ersichtlich isto Das Setzen des Befehlsabschluß-Flipflops 2246 sowie die Anzeige des Abschlusses des Befehles an die Zentraleinheit führt ebenfalls zur Zurückstellung der Flipflops A2245,32244, C2243 und D2242, da jedes dieser Flipflops an seinem Rückstelleingang das Befehlsabschlußsignal zugeführt erhält, wie dies aus Figo 22C ersichtlich ist. Zz sei darauf hingewiesen, daß lediglich eines dieser vier B'lipflops tatsächlich in den 1-Zustand gesetzt wird, da der P-Wert das ursprüngliche Setzen lediglich eines der Flipflops bewirken lassen dürfte»From a renewed consideration of FIG. 22D it should be apparent that the cycle A4 flip-flop 2415 and the cycle B4 flip-flop 2423 are each connected to the OR gate 2488 on the output side. Accordingly, the ODUR gate 2488 sets the cycle A5 flip-flop 2416 on either cycle A4 or cycle B4. Dfiss cycle A5-signal which is an input signal of the ODiiR gate 2272 is used to to set the command completion flip-flop 2246 as shown in FIG. 22C is seen o The setting of the command completion flip-flop 2246 as well as the display of the Completion of the command to the central unit also leads to the resetting of the flip-flops A2245, 32244, C2243 and D2242, since each of these flip-flops receives the command completion signal at its reset input, as can be seen from FIG. 22C. It should be noted that only one of these four B'lip-flops is actually set to the 1 state, since the P value should only cause the original setting of one of the flip-flops »
Im folgenden seien die C- und D-Zyklus-FoIgen für Datensätze des Zeigerbetriebstyps 2 und 3 näher betrachtet. Wie oben ausgeführt, beginnen die C- und D-Zyklusfolgen jeweils mit dem Zyklus-CO-Signal von dem Flipflop 2431 gemäß Fig. 22D. Das Flipflop 2431 wird über das ODER-Glied 2489 gesetzt, mit welchem das CS-Flipflop 2239 und das BS-Flipflop 2238 verbunden sind. Im Zyklus CO wird - hierzu sei auf Fig. 22A zurückgegangen - das dem UND-Glied 2274^ welches durch das Zyklus-CO-Signal übertragungsfähig gemacht ist, zugeführteThe following are the C and D cycle sequences for data records of pointer operation types 2 and 3 considered in more detail. As above executed, the C and D cycle sequences each start with the cycle CO signal from the flip-flop 2431 shown in FIG. 22D. The flip-flop 2431 is set via the OR gate 2489, to which the CS flip-flop 2239 and the BS flip-flop 2238 are connected are. In cycle CO - for this purpose, go back to FIG. 22A - the AND gate 2274 ^ which is given by the Cycle CO signal is made transferable, supplied
709810/0993709810/0993
1-Bit 2317 zu der am weitesten links stehenden Bitstelle des Zv.'ischenspeicheradressregisters 2275 übertragen» Das BR-FeId 1926 des Befehlspuffers 2202 wird dem UND-Glied 2273 zugeführt, welches durch das Zyklus-CO-Signal in den Stand versetzt ist, die 3R-iiummer von dem Befehlspuffer 2202 zu den am weitesten rechts stehenden drei Bitstellen des Zwischenspeicheradreßregisters 2275 zu übertragen. Damit wird im Zyklus CO die Adresse eines Indexregisters, welches einem Basisregister BR in der zuvor beschriebenen Weise entspricht, in das Zwischenspeicheradreßregister 2275 geladen. Es sei darauf hingewiesen, daß das Zwischenspeicher-Lese/Schreib-Flipflop 2277 zuvor im iiull-Zustand war, als der Befehlsdetektor 2201 zur Ermittelung eines das Aufsuchen eines Mitglied-Befehles ein Signal abgab, welches auf einen 1-Verknüpfungswert anstieg; demgemäß sinkt das Ausgangssignal des invertierenden UND-Gliedes 2211 auf einen KuIl-Verknüpfungswert ab. Das betreffende UND-Glied ist mit dem ODÜR-Glied 2278 verbunden. Das Ausgangssignal des QDÜR-Gliedes 2278, welches seinerseits mit dem Zwischenspeicher-Lese/Schreib-Flipflop 2277 verbunden ist, wäre somit zunächst auf einen fiull-Tiert festgelegt., Der Zwischenspeicher 2276 leitet eine Zwischenspeicherleseoperation der in dem Zwischenspeicheradreßregister 2275 enthaltenen Adresse ein, und zwar auf die Feststellung, daß das Zwischenspeicheradreßregister 2275 mit einer Adresse geladen worden ist und daß das Zwischenspeicher-Lese/Schreib- Flipflop 2277 in den Null-Zustand gesetzt isto Demgemäß wird der Zwischenspeicher das Indexregister entsprechend der BR-Basisregisternummer auslesen, die in dem Befehlspuffer 2202 enthalten ist. Dies erfolgt auf das Laden des Zwischenspeicheradreßregisters 2275 im Zyklus CO0 Am Ende der Zwischenspeicheroperation wird das aus dem Speicher ausgelesene Indexregister zu dem Zwischenspeicher-Datenregister 2318 übertragen.1-bit 2317 is transferred to the leftmost bit position of the Zv.'ischenspeicheradressregister 2275 »The BR field 1926 of the command buffer 2202 is fed to the AND element 2273, which is set by the cycle CO signal, the 3R-iumers from the instruction buffer 2202 to the rightmost three bit positions of the buffer address register 2275. The address of an index register, which corresponds to a base register BR in the manner described above, is thus loaded into the intermediate storage address register 2275 in the cycle CO. It should be pointed out that the buffer read / write flip-flop 2277 was previously in the iiull state when the command detector 2201 for the determination of a member command to be found emitted a signal which rose to a logic 1 value; accordingly, the output signal of the inverting AND gate 2211 drops to a KuIl logic value. The relevant AND element is connected to the ODÜR element 2278. The output signal of the QDÜR gate 2278, which in turn is connected to the buffer read / write flip-flop 2277, would initially be set to a full-tied., The buffer 2276 initiates a buffer read operation of the address contained in the buffer address register 2275, and on the determination that the latch address register 2275 has been loaded with an address and that the latch read / write flip-flop 2277 is set to the zero state 2202 is included. This is done upon loading the buffer address register 2275 in cycle CO 0. At the end of the buffer operation, the index register read from the memory is transferred to the buffer data register 2318.
709810/0993709810/0993
Im Zyklus C1, der lediglich dann auftritt, wenn der Zeigerbetrieb des Typs 2 vorliegt - wie dies aus Fig. 22D anhand des Flipflops 2432 hervorgeht - wird das Feld 1572 (das in Figo 15h gezeigt ist) des Indexregisters in den Bereichsteil des Bereichs-Seiten-Zeilennummer-Registers 2281 geladen. Diese Übertragung erfolgt über das UND-Glied 2319, das durch das Zyklus-C1-Signal übertragungsfähig gemacht wird. Im Zyklus C1 wird auSerdem der Seiten-Zeilennummerteil des in dem Speicherdatenregister 2216 enthaltenen Zeigers - welches Register zuvor aus dem Speichersystem 2213 gelesen worden war - in den Seiten-Zeilennummernteil des Bereichs-Seiten-Zeilennummerregisters 2281 geladen. Diese Übertragung erfolgt über das UND-Glied 2279» welches durch das Zyklus-C1-Signal übertragungsfähig gemacht wird.In cycle C1, which only occurs when the pointer operation of the type 2 is present -. As shown in FIG 22D can be seen by means of the flip-flop 2432 - is the field 1572 (shown in FIG o 15h is shown) of the index register in the area of part of the divisional Page line number register 2281 loaded. This transfer takes place via the AND gate 2319, which is made transferable by the cycle C1 signal. In cycle C1, the page line number part of the pointer contained in the memory data register 2216 - which register was previously read from the memory system 2213 - is loaded into the page line number part of the area page line number register 2281. This transfer takes place via the AND element 2279, which is made transferable by the cycle C1 signal.
Im Zyklus D1, dem eine Operation des Zeigerbetriebstyps 3 entspricht, wie dies lediglich aus Fig. 22D durch das Flipflop 2451 hervorgeht, wird die vollständige Bereichs-Seiten-Zeilennummer wie dies in Fig. 15h veranschaulicht ist - von dem Speicherdatenregister 2216, in das der Zeiger zuvor nach einer Speicherleseoperation geladen worden war, in das gesamte Bereichs-Seiten-Zeilennummerregister 2281 übertragen. Diese Übertragung erfolgt über das UND-Glied 2280, das durch das Zyklus-D1-Signal übertragungsfähig gemacht wird.In cycle D1, to which an operation of pointer mode 3 corresponds, as only shown in Fig. 22D by flip-flop 2451, the full area page line number becomes like this is illustrated in Fig. 15h - from the memory data register 2216, into which the pointer was previously after a memory read operation has been loaded into the entire area-page-line number register 2281 transferred. This transfer takes place via the AND gate 2280, which is triggered by the cycle D1 signal is made transferable.
Im Zyklus D1, dem eine Operation des Zeigerbetriebstyps 2 entspricht, wie dies lediglich aus Fig. 22D anhand des Flipflops 2451 hervorgeht, wird die vollständige Bereichs-Seiten-Zeilennummer - wie dies in Fig. 15h gezeigt ist - von dem Speicherdatenregister 2216, in das der Zeiger zuvor nach einer Speicherleseoperation geladen worden war, in das Gesamt-Bereichs-Seiten-Zeilennummer-Register 2281 übertragen. Diese Übertragung erfolgt über das UND-Glied 2280, das durch das Zyklus-D1-Signal übertragungsfähig gemacht wird.In cycle D1, to which an operation of pointer operation type 2 corresponds, as is only apparent from Fig. 22D with the aid of flip-flop 2451, it becomes the full area-page-line number - as shown in Fig. 15h - from the memory data register 2216, in which the pointer was previously after a memory read operation has been loaded into the total area-page-line number register 2281 transferred. This transfer takes place via the AND gate 2280, which is triggered by the cycle D1 signal is made transferable.
709810/0993709810/0993
Aus Fig. 22D geht hervor, daß auf das Zyklus-C1-Signal oder auf das Zyklus-D1-Signal hin der Zyklus C2 folgt. Dies wird dadurch bewirkt, daß der Ausgang des Zyklus-C1-Flipflops 24J2 und der Ausgang des Zyklus-D1-Flipflops 2451 mit dem ODER-Glied 2492 verbunden sind, welches seinerseits mit dem Setzeingang des Zyklus-C2-Flipflops 2433 verbunden ist.From Fig. 22D, it is seen that the cycle C1 signal or cycle C2 follows the cycle D1 signal. this will thereby causes the output of cycle C1 flip-flop 24J2 and the output of cycle D1 flip-flop 2451 to the OR gate 2492 are connected, which in turn is connected to the set input of the cycle C2 flip-flop 2433.
Im Zyklus C2 ist das UND-Glied 2282 übertragungsfähig, wodurch die Übertragung des Bereichs-Seiten-Zeilen-Registers 2281 in den Festlegungs-Seiten-Mechanismus 2284 ermöglicht ist. Die Operation des betreffenden Mechanismus 2284 ist weiter oben bereits beschrieben worden; eine Hardwarerealisierung für den betreffenden Mechanismus ist in Fig. 18 gezeigt. Die Aktivierung des betreffenden Mechanismus 2284 umfaßt das Setzen des Aktivierungs-Seitenfestlegungs-Flipflops 2283, was durch das Zyklus-C2-Signal bewirkt wird, und das Laden des Bereichs-Seiten-Registers 2285, in das der Bereichs-Seiten-Teil des Bereichs-Seiten-Zeilen-Nummer-Registers 2281 über das UND-Glied 2282 übertragen wird, welches durch das Zyklus-C2-Signal übertragungsfähig gemacht wird. Das Aktivierungs-Seitenfestelgungs-Flipflop 2283 entspricht dem Flipflop 1851, das in Fig. 18 gezeigt ist. Das Bereichs-Seiten-Register 2285 entspricht dem Register 1852 gemäß Fig. 18. Wie oben beschrieben, kann das Tätigwerden des Seitenfestlegungsmechanismus 2284 zu Ausnahmen bei der seitenweisen Durcharbeit führen. In diesem Falle wird das für die Ausnahme der seitenweisen Durcharbeit vorgesehene Flipflop 2286 gesetzt, und der Ausnahmebehandlungsmechanismus wird aktiviert. Das Ausnahme-Flipflop 2286 entspricht dem Flipflop 1884 in Fig. 18„ Wenn eine Ausnahme bei der seitenweisen Durcharbeit nicht auftritt, wird der Seitendeskriptor, der der Seitennummer entspricht, welche in dem Bereichs-Seiten-Register 2285 gegeben ist, in das Seitendeskriptor-Register 2289 geladen (welches dem Register 1877 in Fig. 18 entspricht). Außerdem wird das Seitenfestlegungs-Abschluß-Flipflop 2287 gesetzt (welches demIn cycle C2, the AND gate 2282 is transferable, whereby the transfer of the range page line register 2281 to the set page mechanism 2284 is enabled. the Operation of the relevant mechanism 2284 has already been described above; a hardware implementation for the mechanism in question is shown in FIG. Activation of the mechanism in question 2284 includes this Set enable page commit flip-flop 2283 caused by cycle C2 signal and load of the area page register 2285 into which the area page part of the area page line number register 2281 is transmitted via the AND gate 2282, which is made transmittable by the cycle C2 signal. The enable page lock flip-flop 2283 corresponds to the flip-flop 1851 shown in FIG. The Area Pages tab 2285 corresponds to register 1852 in FIG. 18. As described above, the operation of the paging mechanism 2284 lead to exceptions when working through pages. In this case it will be for the exception of the page-wise Enabled flip-flop 2286 is set and the exception handling mechanism is activated. The exceptional flip-flop 2286 corresponds to flip-flop 1884 in FIG. 18 “If an exception does not occur when working through the pages, the page descriptor that corresponds to the page number is which is given in the area page register 2285 is loaded into the page descriptor register 2289 (which corresponds to the register 1877 in Fig. 18). It also turns the page commit completion flip-flop 2287 set (which corresponds to the
709810/0993709810/0993
Flipflop 1879 in Fig. 18 entspricht)β Das Format eines Seitendeskriptors, wie er in das Seitendeskriptor-Register 2289 geladen ist, ist in Fig. I6t> gezeigt und oben beschrieben worden.Flip-flop 1879 in Fig. 18 corresponds to) β The format of a page descriptor as loaded into page descriptor register 2289 is shown in Fig. 16 and described above.
Bezüglich der Fig. 22D sei darauf hingewiesen, daß das Seitenfestlegungs-Abschluß-Flipflop 2287 in dem Fall in den 1-Zustand gesetzt ist, daß das Zyklus-C2-Flipflop 2433 im 1-Zustand das UND-Glied 2493 übertragungsfähig gesteuert hat, welches seinerseits den Zyklus C3 der C-Zyklusfolge einleiteteReferring to Fig. 22D, it should be noted that the page setting completion flip-flop 2287 is set to the 1 state in the event that the cycle C2 flip-flop 2433 in the 1 state is the AND gate 2493 has controlled transferable, which in turn initiated cycle C3 of the C cycle sequence
Das Zyklus-C3-Signal macht das MD-Glied 2291 übertragungsfähig, welches das SchiebeZählerfeld 1623 des Seitendeskriptors in das Schiebezählregister 2292 überträgt,, Diese Verschiebezählung wird dazu herangezogen, die Bereichs-Seiten-Zeilennummer aus dem Bereichs-Seiten-Zeilen-Register 2281 aufzunehmen und den Zeilennummernteil der betreffenden Nummer herauszuschieben und sodann die betreffende Zeilennummer in das ^-Register 2296 zu laden. Außerdem wird im Zyklus C3 das Segmentnummernfeld 1625 des Seitendeskriptors über das UND-Glied 2290, welches durch das Zyklus-C3-Signal übertragungsfähig gemacht ist, zu der Adressensteuereinheit 2207 übertragen. Die Adressensteuereinheit 2207 gibt, wenn ihr eine Segmentnummer zugeführt wird, die Basisadresse des betreffenden Segments in das Adreßregister 2209 der Adressensteuereinheit 2207 ab. Aus Fig. 22B geht hervor, daß im Zyklus C4 die von der Adressensteuereinheit 2207 abgegebene Segmentbasisadresse über das UND-Glied 2321, das durch das Zyklus-C4-Signal übertragungsfähig gemacht ist, in das Segmentbasis-Adreßregister 2322 übertragen wird.The cycle C3 signal makes the MD element 2291 transferable, which the shift counter field 1623 of the page descriptor into the Shift count register 2292 transfers,, This shift count is used to record the area page line number from the area page line register 2281 and the Move out the line number part of the relevant number and then the relevant line number in the ^ register 2296 to load. In addition, the segment number field 1625 of the page descriptor via the AND gate 2290, which made transmittable by the cycle C3 signal is transmitted to the address control unit 2207. The address control unit When it is supplied with a segment number, 2207 puts the base address of the segment in question in the address register 2209 from the address control unit 2207. Referring to Fig. 22B, in cycle C4, the address control unit 2207 output segment base address via the AND gate 2321, which is made transferable by the cycle C4 signal, is transferred into the segment base address register 2322.
Das Segmentbasis-Adreßregister 2322 ist mit dem einen Eingang des Addierers 2325 verbunden. Der andere Eingang des Addierers 2325 ist mit dem Register 2323 verbunden, welches einen Wert von 8 enthält,, Dieser Wert von 8 entspricht der Verschiebung vom Beginn der Segmentbasis des die maximale Zeilenzahl be-The segment base address register 2322 is connected to one input of the adder 2325. The other input of the adder 2325 is connected to register 2323, which contains a value of 8 ,, This value of 8 corresponds to the shift from the beginning of the segment base of the maximum number of lines
709810/0993709810/0993
treffenden Feldes, wie dies in dem Seitenkopf teil 1603 zu finden ist, der in Fig. 16a gezeigt ist. Das die maximale Zeilenzahl betreffende Feld enthält den Wert, der die höchstzulässige, zu benutztende ZeilenzaJil angibt, wenn auf die bestimmte Seite Bezug genommen wird, deren Nummer in dem Bereichs-Seiten-Register 2285 vorgegeben isto Im Zyklus C5 wird das Ausgangssignal des Addierers 2325, das die Adresse des die maximale Zeilenzahl betreffenden Feldes darstellt, über das UND-Glied 2324 und das ODER-Glied 2220, mit welchem das UND-Glied 2324 verbunden ist, in das Speicheradreßregister 2210 des Speichersystems 2213 übertragene Das Speichersystem 2213 leitet eine Speicherleseoperation auf die Feststellung hin ein, daß sein Speicheradreßregister 2210 mit einem neuen Wert geladen worden ist und daß das Lese/Schreib-Flipflop 2212 in den Null-Zustand gesetzt ist. Als Ergebnis der Speicheroperation können Speicherzugriff sausnahmen 2214 auftreten. Derartige Speicherzugriffsausnahmen bewirken das Setzen des Speicherzugriffsausnahme-Flipflops 2214 und die Aktivierung des Ausnahmebehandlungsmechanismus. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 2215 wird in den 1-Zustand gesetzt. Im Hinblick auf Fig. 22D sei darauf hingewiesen, daß der Übergang des Speicheroperationsabschlußsignals in den 1-Zustand mit Auftreten des Zyklus-C5-Signales von dem im 1-Zustand befindlichen Flipflop 2436 her das UND-Glied 2294 übertragungsfähig macht, wodurch das Zyklus-C6-Flipflop 2437 in den 1-Zustand gesetzt wird, da nämlich das UHD-Glied 2494 mit dem Setzeingang des Zyklus-C6-Flipflops 2437 verbunden ist. Der Übergang des Speicheroperationsabschluß-Flipflops 2215 in den 1-Zustand zeigt an, daß das adressierte Feld betreffend die maximale Zeilenzahl von dem Speichersystem 2213 zu dem Speicherdatenregister 2216 übertragen worden ist. Im Zyklus C6 ist das UND-Glied 2300 übertragungsfähig gemacht, um das die maximale Zeilenzahl betreffende Feld von dem Speicherdatenregister 2216 in das Z-Register 2301 zu übertragen« corresponding field, as can be found in the page header portion 1603 shown in Fig. 16a. The field relating to the maximum number of lines contains the value which indicates the maximum permissible line number to be used when reference is made to the specific page whose number is specified in the area page register 2285 o In cycle C5, the output signal of adder 2325 , which represents the address of the field relating to the maximum number of lines, via the AND element 2324 and the OR element 2220, to which the AND element 2324 is connected, into the memory address register 2210 of the memory system 2213. The memory system 2213 initiates a memory read operation includes a determination that its memory address register 2210 has been loaded with a new value and that the read / write flip-flop 2212 is set to the zero state. As a result of the memory operation, memory access exceptions 2214 may occur. Such memory access exceptions cause the memory access exception flip-flop 2214 to be set and the exception handling mechanism to be activated. Otherwise, the memory operation is normally ended, and the memory operation completion flip-flop 2215 is set to the 1 state. With regard to FIG. 22D, it should be noted that the transition of the memory operation completion signal to the 1 state with the occurrence of the cycle C5 signal from the flip-flop 2436 which is in the 1 state makes the AND gate 2294 transferable, whereby the cycle C6 flip-flop 2437 is set to the 1 state, since the UHD element 2494 is connected to the set input of the cycle C6 flip-flop 2437. The transition of the memory operation completion flip-flop 2215 to the 1 state indicates that the addressed field relating to the maximum number of lines has been transferred from the memory system 2213 to the memory data register 2216. In cycle C6 the AND element 2300 is made transferable in order to transfer the field relating to the maximum number of lines from the memory data register 2216 to the Z register 2301 «
709810/0993709810/0993
Zurückkommend auf die anderen, durch den Zyklus C4 hervorgerufenen Maßnahmen kann aus Fig. 22A ersehen werden, daß das Bereichs-Seiten-Zeilen-Register 2281 den Eingang der Verschie- -beschaltung 2294 über das UND-Glied 2293 steuert, welches durch das Zyklus-C4-Signal übertragungsfähig gemacht isto Der zuvor in dem Schiebezählregister 2292 gespeicherte ¥ert ist ebenfalls ein Eingangssignal für den Schiebezählfeldeingang der Verschiebeschaltung 2294, und zwar über das UND-Glied 2326, das durch das Zyklus-C4-Signal freigegeben bzw. übertragungsfähig gemacht ist. Aus Fig. 22B geht hervor, daß der Ausgang der Verschiebeschaltung 2294 mit dem UND-Glied 2295 verbunden ist, das durch das Zyklus-C5-Signal übertragungsfähig gemacht wird. Im Zyklus C5 wird somit das Ausgängssignal der Verschiebeschaltung, welches eine von dem Bereichs-Seiten-Zeilen-Register 2281 erhaltenen Zeilenzahl darstellt, über das UND-Glied 2295 in das W-Register 2296 übertragen.Returning to the other measures caused by cycle C4, it can be seen from FIG. 22A that the area-page-line register 2281 controls the input of the shifting circuit 2294 via the AND gate 2293, which is controlled by the cycle C4 signal is made transferable o The ¥ ert previously stored in the shift count register 2292 is also an input signal for the shift counter field input of the shift circuit 2294, via the AND gate 2326, which is enabled or made transferable by the cycle C4 signal . As shown in Fig. 22B, the output of the shift circuit 2294 is connected to the AND gate 2295 which is rendered transmissible by the cycle C5 signal. In cycle C5, the output signal of the shift circuit, which represents a line number received from the area-page line register 2281, is thus transferred to the W register 2296 via the AND gate 2295.
Das Z-Register 2301 liefert das eine Eingangssignal für den Vergleicher 2297. Das andere Eingangssignal für den Vergleicher 2297 liefert das W-Register 2296. Wenn der Vergleicher 2297 feststellt, daß der Wert in dem W-Register größer als der Viert in dem Z-Register oder gleich diesem Wert ist, bewirkt das W-Signal, das größer als das Z-Signal oder gleich diesem Signal ist, über das mit dem betreffenden Vergleicher verbundene UND-Glied 2298 in Verbindung mit dem Zyklus-C7-Signal das Setzen des die Ungültigkeit der Seitenformatausnahme angebenden Flipflops 2299«. Wenn das Ungültigkeits-Seitenformatausnahme-Flipflop 2299 in den 1-Zustand gesetzt ist, wird der Ausnahmebehandlungsmechanismus aktiviert, und der Befehl wird abgeschlossen. Wenn der Vergleicher 2297 feststellt, daß der W-Wert kleiner ist als der Z-Wert, wird das den Zustand, daß V kleiner als Z ist, anzeigende Signal dem UND-Glied 2332 zugeführt und dazu herangezogen, das betreffende Verknüpfungsglied übertragungsfähig zu machen.The Z register 2301 provides the one input signal for the Comparator 2297. The other input signal for the comparator 2297 is supplied by the W register 2296. If the comparator 2297 determines that the value in the W register is greater than or equal to the fourth in the Z register the W signal that is greater than or equal to the Z signal The signal is via the AND gate 2298 connected to the relevant comparator in conjunction with the cycle C7 signal setting the page format exception to be invalid Flip-flops 2299 ". When the invalid page format exception flip-flop 2299 is set to a 1 state, the exception handling mechanism is activated and the command is closed. If the comparator 2297 determines that the W value is less than the Z value, it becomes the condition that V is less than Z, the signal indicating the AND element 2332 is supplied and used for this purpose, the relevant logic element to make transferable.
70981 0/099370981 0/0993
Das W-Register 2296 ist mit dem einen Eingang einer Multiplizierschaltung 2328 verbunden. An dein anderen Eingang der Kultiplizierschaltung 2328 liegt das Register 2327, welches den Wert 2 enthält. Die Multiplizierschaltung 2328 ist eine typische, in Hardwarelogik ausgeführte Multiplizierschaltung. Demgemäß wird die Zeilenzahl ¥ mit einem Faktor von 2 multipliziert. Dies stellt in diesem Falle zwei 8-Bit-Bytes des Sp eicher systems 2213 dar. Die "beiden Bytes "bilden die Länge eines Zeilenversetzungsfeld-Datenwortes, wie 16O4-6O3 in dem Zeilenversetzungsfeld 1602 gemäß Fig. 16a. Die Multiplikation der W-Zeilenzahl mit der Größe des Zeilenversetzungsfeld-Datenwortes führt somit zur Indizierung des richtigen Zeilenverse tzungsfeld-Datenwortes für die Zeile W in einen Adressenspeicherplatz. Das Ausgangssignal der Multiplizierschaltung 2328 wird dem UND-Glied 2329 zugeführt, das durch das Zyklus-C6-Signal übertragungsfähig gemacht ist. Das UND-Glied 2329 ist seinerseits mit einem Addiereingang des Addierers 2330 verbunden. Das andere Eingangssignal des Addierers 2330 ist ein Wert von 10, wie er im Register 2331 gespeichert ist. Der viert von 10 stellt die Versetzungsadresse in 8-Bit-Bytes des Beginns des Zeilenversetzungsfelde.s 1602 dar, wie dies in Fig. 16a veranschaulicht isto Demgemäß wird .durch das Ausgangssignal des Addierers 2330 der relative Speicherplatz des Zeilenversetzungsfeld-Datenwortes der Zeilenzahl W in der Datenbasisseite adressiert, wie dies in Fig. I6a gezeigt und zuvor beschrieben worden ist. Das Ausgangssignal des Addierers 2330 wird dem UND-Glied 2332 zugeführt, das durch das Zyklus-C7^-Signal übertragungsfähig gemacht wird sowie durch das vom Vergleicher 2297 abgegebene Signal, das anzeigt, daß W kleiner ist als Z. Das zuletzt genannte Signal ist ein 1-Verknüpfungssignal, wenn festgestellt wurde, daß die Zeilenzahl W kleiner ist als die maximale Zeilenzahl Z von dein Register Z 2301.The W register 2296 is connected to one input of a multiplier circuit 2328. The register 2327, which contains the value 2, is at the other input of the cultivating circuit 2328. The multiplier circuit 2328 is a typical multiplier circuit implemented in hardware logic. Accordingly, the number of lines ¥ is multiplied by a factor of 2. In this case, this represents two 8-bit bytes of the storage system 2213. The "two bytes" form the length of a line offset field data word, such as 1604-6O3 in the line offset field 1602 according to FIG. 16a. The multiplication of the W line number by the size of the line offset field data word thus leads to the indexing of the correct line offset field data word for the line W in an address memory location. The output signal of the multiplier circuit 2328 is fed to the AND gate 2329, which is made transmittable by the cycle C6 signal. The AND element 2329 is in turn connected to an adding input of the adder 2330. The other input to adder 2330 is a value of 10 as stored in register 2331. The fourth of 10, the offset address in 8-bit bytes of the start of Zeilenversetzungsfelde.s 1602 is, as illustrated in Fig. 16a o Accordingly .by the output signal of the adder 2330, the relative memory location of the row offset field data word the number of lines W addressed in the database page as shown in Fig. 16a and previously described. The output signal of the adder 2330 is fed to the AND gate 2332, which is made transferable by the cycle C7 ^ signal and by the signal output by the comparator 2297, which indicates that W is less than Z. The last-mentioned signal is a 1 logic signal when it has been determined that the number of lines W is less than the maximum number of lines Z from register Z 2301.
709810/0993709810/0993
Das Ausgangs signal des Ui1JD-GIi ede s 2332, das die relative Segmentversetzungsadresse des Zeilenversetzungsfeld-Datenwortes der Zeilenzahl V/ darstellt, wird als ein Eingangssignal dem Addierer 2333 zugeführt. Das andere Eingangssignal des Addierers 2333 liefert das Segmentbasisadreßregister 2322. Demgemäß stellt das Ausgangssignal des Addierers 2333 die absolute Adresse des gewünschten Zeilenversetzungsfeld-Datenvortes der Zeilenzahl bzw«. Zeilennummer ¥ dar. Der Ausgang des Addierers 2333 ist mit dem UND-Glied 2334 verbürgen, welches durch das Zyklus-C7-Signal freigegeben bzw. übertragungsfähig gemacht wird. Das Ausgangssignal des UND-Gliedes 2334 wird über das ODER-Glied 2220 zu dem Speicheradreßregister 2210 übertragen. Wenn das Speichersystem ermittelt hat, daß das Speicheradreßregister 2210 wieder geladen worden ist und das Lese/Schreib-Flipflop 2212 in dem iiull-Zustand gesetzt ist, wird wieder eine Speicherleseoperation eingeleitet. Wenn Speicherzugriffsausnahmen infolge der Speicherleseoperation auftreten, wird das Speicherzugriffsausnahme-Flipflop 2214 in den 1-Zustand csetzt, und der Ausnahmebehandlungsmechanismus wird aktivierte Im übrigen wird die Speicheroperation normal abgeschlossen, und das Speicheroperationsabschluß-Flipflop 2215 wird in den 1-Zustand gesetzt. Aus Fig. 22D dürfte dabei ersichtlich sein, daß durch den Zyklus C7 und durch das Ansteigen des Speicheroperationsabschlußsignales das UND-Glied 2495 übertragungsfähig gemacht ist, welches mit dem Setzeingang des Zyklus-CB-Flipflops 2440 verbunden ist. Auf diese Weise wird der Zyklus C8 eingeleitet. Das Ansteigen des Speicheroperationsabschlußsignales zeigt ferner an, daß das gewünschte Zeilenversetzungsfeld-Datenwort zu dem Speicherdatenregister 2216 hin übertragen worden ist.The output of Ui 1 JD-GIi ede s 2332, which represents the relative segment offset address of the line offset field data word of line number V /, is applied to adder 2333 as an input. The other input to adder 2333 is provided by segment base address register 2322. Accordingly, the output of adder 2333 represents the absolute address of the desired line offset field data advance of the line number or ". Line number ¥ represents. The output of the adder 2333 is guaranteed by the AND gate 2334, which is enabled or made transferable by the cycle C7 signal. The output signal of the AND gate 2334 is transferred to the memory address register 2210 via the OR gate 2220. When the memory system has determined that the memory address register 2210 has been reloaded and the read / write flip-flop 2212 is set to the null state, a memory read operation is initiated again. When memory access exceptions occur due to the memory read operation, the memory access exception flip-flop 2214 is set to the 1 state c and the exception handling mechanism is activated. Otherwise, the memory operation is normally completed and the memory operation completion flip-flop 2215 is set to the 1 state. From FIG. 22D it should be apparent that the AND gate 2495, which is connected to the set input of the cycle CB flip-flop 2440, is made capable of transmission by the cycle C7 and by the rise of the memory operation completion signal. In this way, cycle C8 is initiated. The rise of the memory operation complete signal also indicates that the desired offset field data word has been transferred to memory data register 2216.
Durch den Zyklus C8 wird die Übertragung des D-Feldes (oder des "D-Umschaltfeldes"), wie es im Feld 16O4 gemäß Fig. 16a veranschaulicht ist, des Zeilenversetzungsfeld-Datenwortes überThe transmission of the D-field (or of the "D switch field"), as it is in field 1604 according to FIG. 16a is illustrated, of the displacement field data word above
709810/0993709810/0993
das UND-Glied 2302 zu dem Vergleicher 230J hin freigegeben, wie dies aus Fig. 22C hervorgeht. Das andere Eingangssignal für den Vergleicher 2303 liefert das Register 2304, welches den Viert 0 enthält. ¥enn der Vergleicher 2303 feststellt, daß das D-Umschaltfeld des Zeilenversetzungsfeld-Datenwortes der Zeilenzahl ¥ gleich dem Wert 0 ist, bewirkt das von dem Vergleicher 2303 abgegebene Übereinstimmungssignal das Setzen des die Nichtbenutzung einer Zeile betreffenden Ausnahme-Flipflops 2305t dem das Ubereinstimmungssignal des Vergleichers 2303 zugeführt wird. Das Setzen des Flipflops 2305 bewirkt die Aktivierung des Ausnahmebehandlungsmechanismus, und der Befehl wird beendet sein. Unter anderen Umständen steigt das Ungleichheits-Signal des Vergleichers 2303 auf einen 1-Verknüpfungswert an.the AND gate 2302 is enabled to the comparator 230J, as can be seen from FIG. 22C. The other input signal for the comparator 2303 is provided by the register 2304, which contains the fourth zero. ¥ hen the comparator 2303 determines that the D-switching field of the line offset field data word ¥ equal to the value 0 is the number of lines, causing the coincidence signal output from the comparator 2303, the setting of the relevant non-use of a row except flip-flops 2305 t where the agreement signal from the Comparator 2303 is supplied. Setting flip-flop 2305 will activate the exception handling mechanism and the instruction will be complete. Under other circumstances, the inequality signal of the comparator 2303 rises to a logic 1 value.
Das Ausgangssignal des UND-Gliedes 2302, welches das D-Umschaltfeld des Zeilenversetzungsfeld-Datenwortes der Zeilenzahl W umfaßt, wird ebenfalls dem Vergleicher 2306 zugeführt. Den anderen Eingang des Vergleichers 2306 steuert das Register 230Θ, welches einen Wert von 2 enthält. Wenn der Vergleicher 2306 feststellt, daß das D-Umschaltfeld nicht gleich 2 ist, steigt das Ungleichheitssignal des Vergleichers 2306 auf einen 1-Verknüpfungswert an. Es dürfte ersichtlich sein, daß das Ungleichheitssignal des Vergleichers 2303 und das Ungleichheitssignal des Vergleichers 2306 dem UND-Glied 2309 zugeführt werden. Ist das D-Umschaltfeld nicht gleich 0 oder 2, dann muß es gleich 1 oder 3 sein; in jedem Falle stellt dies eine Zeilenlöschausnahme dar. Demgemäß werden die beiden Ungleichheitssignale der Vergleicher 2303 und 2306 dem UND-Glied 2309 zugeführt, das während des Zyklus C9 übertragungsfähig gemacht ist. Auf diese Weise wird das Zeilenlöschausnahme-Flipflop 2310 gesetzt, wenn das D-Umschaltfeld gleich 1 oder 3 ist. Wenn das Zeilenlöschausnahme-Flipflop 2310 in den 1-Zustand gesetzt ist, wird der Ausnahmebehandlungsmechanismus aktiviert, und der Befehl wird abgeschlossen. Wenn derThe output of AND gate 2302, which is the D toggle field of the line offset field data word of line number W is also applied to comparator 2306. The other input of the comparator 2306 controls the register 230Θ, which contains a value of 2. If the comparator 2306 determines that the D-toggle field is not the same 2, the inequality signal of the comparator 2306 rises to a 1-logic operation value. It should be evident that the inequality signal of the comparator 2303 and the Inequality signal of the comparator 2306 are fed to the AND gate 2309. If the D-toggle field is not equal to 0 or 2, then it must be 1 or 3; in either case, this is a line-deletion exception. Accordingly, the two Inequality signals of the comparators 2303 and 2306 are fed to the AND element 2309, which is transferable during the cycle C9 is made. This becomes the line erasure exception flip-flop 2310 is set when the D toggle field is 1 or 3. When the line erase exception flip-flop 2310 hits the 1 state is set, the exception handling mechanism is activated and the command completes. If the
70 9810/099370 9810/0993
Vergleicher 2306 feststellt, daß das D-Umschaltfeld des Zeilenversetzungsfeld-Datenwortes der Zeilenzahl ¥ gleich 2 ist, wird weder das Zeilenlöschausnahme-Flipflop 2310 noch das die Nichtbenutzung einer Zeile betreffende Ausnahme-Flipflop 2305 in den 1-Zustand gesetzt, weshalb die Befehlsausführung fortgesetzt wird.Comparator 2306 determines that the D toggle field of the line displacement field data word of the line number ¥ is equal to 2 , neither the line deletion exception flip-flop 2310 nor the exception flip-flop 2305 relating to the non-use of a line is set to the 1 state, which is why the command execution is continued .
Das Zyklus-C10-Signal wird dazu herangezogen, den Zeilenversetzungsteil des Zeilenversetzungsfeld-Datenwortes (siehe das Feld 1603 in Fig. 16a) entsprechend der Zeile W über das UND-Glied 2312, welches durch den Zyklus C10 übertragungsfähig gemacht ist, in das Basisregister-BR-Ei.ngaberegister 2267 zu übertragen. Dies erfolgt über das ODER-Glied 2264, wie dies aus Fig. 22B hervorgeht. Die Zeilenversetzung des Zeilenverse tzungsfeld-Datenwortes wird in den CRA-Teil des BR-Eingangsregisters 2267 übertragen, wie dies in Figo 2 mit 202 angedeutet ist. Das Zyklus-C10-Signal wird ferner dazu herangezogen, das UND-Glied 2311 in den Stand zu versetzen, das Segmentnummernfeld 1625 von dem Seitendeskriptorregister 2289 über das UND-Glied 2311 und das ODSR-Glied 2266 in das BR-Bingangsregister 2267 zu übertragen. Die Segmentnummer 1625 wird in den Teil STN, STE des Basisregister-Eingangsregisters übertragen, wie dies in Fig. 2 in dem Teil 202 angedeutet ist.The cycle C10 signal is used to do the line displacement part of the line offset field data word (see field 1603 in Fig. 16a) corresponding to line W via the AND gate 2312, which can be transmitted by cycle C10 is made to be transferred to the base register BR input register 2267. This is done through OR gate 2264 like this is shown in Fig. 22B. The line offset of the line offset field data word is placed in the CRA portion of the BR input register Transferred 2267, as indicated in Fig. 2 with 202. The cycle C10 signal is also used to enable AND gate 2311 to read segment number field 1625 from page descriptor register 2289 via the AND gate 2311 and the ODSR gate 2266 into the BR input register 2267 transfer. The segment number 1625 is transferred to the part STN, STE of the base register input register, as indicated in FIG. 2 in part 202.
Da das Zyklus-C10-Signal ein weiteres Eingangssignal des ODER-Gliedes 2270 ist, welches das UND-Glied 2271 übertragungsfähig steuert, ist im Zyklus C10 das BR-FeId 1926 des Befehlspuffers 2202 ein Eingangssignal für den BR-Bereich 2208 der Adressensteuereinheit 2207'. Wenn der Adressensteuereinheit 2207 eine BR-Register-Nummer in ihrem BR-Bereich 2208 geliefert wird und wenn das BR-Eingangsregister 2267 mit einem neuen Wert geladen wird, schreibt die Adreßsteuereinheit den in dem BR-Eingangsregister 2267 enthaltenen Wert in das Basisregister ein, dessen Nummer durch eine normale Zwischenspeicher-Schreiboperation eingegeben wird« DemgemäßSince the cycle C10 signal is another input signal of the OR gate 2270, which the AND gate 2271 is transferable controls, the BR field 1926 of the command buffer 2202 is an input signal for the BR area 2208 of the in cycle C10 Address control unit 2207 '. If the address control unit 2207 is supplied with a BR register number in its BR area 2208 and if the BR input register 2267 with a new value is loaded, the address control unit writes the value contained in the BR input register 2267 into the base register, the number of which is entered by a normal buffer write operation «Accordingly
709Ö10/0993709Ö10 / 0993
ist das rsasisregister, dessen Basisregisternummer in dem Befohlsfeld 1926 gegeben ist, nunmehr mit dem segmentierten Adrecsenwert ε-.ktualisisrt, der die Adresse des Mitglied-Datensatzes darstellt, auf den durch den Inhalt des Indexregisters entsprechend dem Basisregister BR hingewiesen ist.is the rsasis register whose basic register number is in the Befohlsfeld 1926 is given, now with the segmented Address value ε-.ktualisrt, which contains the address of the member data record which is indicated by the content of the index register corresponding to the base register BR.
Aus Fig. 22D geht hervor, daß im Anschluß an das Zyklus-CIO-Flip flop 2442 entweder das Zyklus-C11-Flipflop 2443 oder das Zyklus-D11-Flipflop 2452 gesetzt wird, und zwar in Abhängigkeit davon, ob der Aufzeichnungszeiger des Typs 2 oder des Typs 3 vorliegt, was dadurch angezeigt wird, daß entweder das C-Flipflop 2243 in den 1-Zustand oder das D-Flipflop 2242 in den 1-Zustand gesetzt wird. Das Setzen des Zyklus-C11-Flipflops 2443 wird über das UND-Glied 2496 bewirkt, und das Setzen des Zyklus-D11-Flipflops 2452 erfolgt über das UND-Glied 2497.From Fig. 22D it can be seen that following the cycle CIO flip flop 2442 either the cycle C11 flip-flop 2443 or the Cycle D11 flip-flop 2452 is set, depending on whether the recording pointer is type 2 or type 3 is present, which is indicated by the fact that either the C flip-flop 2243 in the 1 state or the D flip-flop 2242 in the 1 state is set. Setting the cycle C11 flip-flop 2443 is effected via the AND element 2496, and the setting of the cycle D11 flip-flop 2452 takes place via the AND gate 2497.
Im Zyklus C11 wird der Seiten-Zeilen-Hummernteil des Bereichs-Seiten-Zeilen-Registers 2281 über das UND-Glied 2315, das durch das Zyklus-C11-Signal übertragungsfähig gemacht ist, in den Seiten-Zeilen-Teil (Feld 1573 und Feld 1574 gemäß Fig. 15h) des Zwischenspeicher-Datenregisters 2318 übertragen, wie dies aus Fig. 22A hervorgeht. ¥enn der Zeigerbetrieb des Typs 5 vorliegt, dann wird im Zyklus D11 das gesamte Bereichs-Seiten-Zeilen-Register 2281 über das UND-Glied 2314, das durch das Zyklus-D11-Signal übertragungsfähig gemacht ist, in das gesamte Zwischenspeicher-Datenregister 2318 übertragen.In cycle C11, the page-line code part of the area-page-line register becomes 2281 via the AND gate 2315, which is made transferable by the cycle C11 signal, transferred to the page-line part (field 1573 and field 1574 according to FIG. 15h) of the buffer data register 2318, as shown in Fig. 22A. If the pointer mode of type 5 is present, then the entire area-page-line register is opened in cycle D11 2281 via the AND gate 2314, which is made transferable by the cycle D11 signal, into the entire buffer data register 2318.
In jedem Zyklus der Zyklen C11 und D11 wird mit Rücksicht darauf, daß diese beiden Signale Eingangssignale des ODER-Gliedes 2278 sind, welches mit dem Zwischenspeicher-Lese/Schreib-Flipflop 2277 verbunden ist, das Zwischenspeicher-Lese/Schreib-Flipflop 2277 in den 1-Zustand gesetzte Dies zeigt an, daß eine Zwischenspeicher-Schreiboperation einzuleiten ist. Die in dem Zwischenspeicher-Adreßregister 2275 enthaltene Adresse ist zu diesem Zeitpunkt noch die Adresse des Indexregisters,In each cycle of cycles C11 and D11, with regard to the fact that these two signals are input signals of the OR gate 2278, which is connected to the latch read / write flip-flop 2277, are the latch read / write flip-flop 2277 set to 1 This indicates that a cache write operation is to be initiated. the The address contained in the buffer address register 2275 is still the address of the index register at this point in time,
709810/0993709810/0993
und zwar entsprechend der BR-üasisregisternummer I926 in άθΠί Befehlspuffor 2202G Der Zwischenspeicher 2276 schreibt eine neue Bereichs-Seiten-Zeilennummor in dieses Indexregister, nachdem das Zyklus-011 -Signal oder das Zyklus-D1'i-Signal veranlaßt hat, daß das Zwischenspeicher-Datenregister 2318 zu laden ist, und nachdem das Zwischenspeicher-Lese/Schreib-Flipflop 2277 in den 1-Zustand überführt worden ist. Die neue Bereichs-Seiten-ZeilennuLnner ist die Acresse des Mitglied-Datensatzes des Ijuimnern-Datensatzes, auf den durch das Basisregister BR des Befehls Bezug genommen worden ist. in accordance with the BR-üasisregister number I926 in άθΠί instruction buffer for 2202 G The buffer memory 2276 writes a new area-page line number in this index register after the cycle 011 signal or the cycle D1'i signal has caused the buffer memory Data register 2318 is to be loaded, and after the latch read / write flip-flop 2277 has been brought to the 1 state. The new area page line number is the address of the member record of the Ijuimnern record referenced by the base register BR of the instruction.
Aus ?i<~. 22D geht hervor, daß das Zyklus-C11-Flipflop 2443 und das Zyklus-D11-Flipflop 2452 mit ihren Ausgängen an dem OD^-v-Glied 2493 eingeschlossen sind, welches seinerseits ausgangsseitig mit dem ,Setzeingang des Zyklus-C12-Flipflops 2444 verbunden ist. Demgemäi3 folgt der Zyklus CI2 entweder auf den Zyklus CI1 oder auf den Zyklus D11.From? I <~. 22D it can be seen that cycle C11 flip-flop 2443 and the cycle D11 flip-flop 2452 with their outputs on the OD ^ -v element 2493 are included, which in turn is on the output side with the, set input of the cycle C12 flip-flop 2444 connected is. Accordingly, the cycle CI2 follows either the Cycle CI1 or cycle D11.
..us Fig. 22C kann ferner ersehen werden, daß das Zyklus-C12-.üignal dem betzeingang des BefehlsabschluB-Flipflops 2246 als 1-Signal zugeführt wird. Dadurch wird die Beendigung des das Heraussuchen eines Benutzers betreffenden Datenbank befehles angezeigt.It can also be seen from FIG. 22C that the cycle C12 signal is applied to the bet input of the instruction completion flip-flop 2246 as a 1 signal. This indicates the completion of the database command relating to the retrieval of a user.
In Fig. 22D ist die detaillierte Logik bzw. Verknüpfungsschaltung für die ZykluszäüLer-Steuerlogik der in Figo 22A bis 22C veranschaulichten Hardwarerealisierung des das Heraussuchen eines Benutzers betreffenden Befehles gezeigt« Die Zyklen C1 bis C7 mit den Flipflops 2401 bis 2407 stellen die Anfangs-Zyklusfolge der Steuerlogik dar. Die Zyklen AO bis A5 mit den Flipflops 2411 bis 2416 stellen die A-Zyklusfolge dar, die den Teil der Hardwareoperation ausführt, der für einen Zeigerbetriebstyp 0, einem virtuellen Speicherdatensatz, festgelegt ist» Die Zyklen BO bis B4 mit den22D shows the detailed logic or combination circuit for the cycle counter control logic of the hardware implementation of the command relating to the search for a user illustrated in FIGS. 22A to 22C The cycles A0 to A5 with the flip-flops 2411 to 2416 represent the A cycle sequence that executes the part of the hardware operation that is defined for a pointer operation type 0, a virtual memory data set. The cycles BO to B4 with the
709810/0993709810/0993
Flipflops 2421 bis 242^ bilden die B-Zyklusfolge, die den Teil der Hardwareoperation ausfährt, die für einen Zeigerbctriebstyp 1, einem virtuellen Speicherdatensatz, festgelegt ist. In gewissen Fällen v/erden die A-Zyklusfolgen dazu herangezogen, Operationen für den Zyklus B (Typ 1 des Zeigerbstriebs) auszuführen, und zwar wegen der Gemeinsamkeit zwischen Oparationen des Typs 0 und des Typs 1. Die Zyklen CO bis C12 mit den Flipflops 2431 bis 2441 bilden die C-Zyklusfolge, die die Hardwareoperation ausführt, welche spezifisch ist für einen Zeigerbetriebstyp 2, dem Datenbank-Datensatz. !/Le Zyklen D1 bis D11 mit den Flipflops 2451 bis 2452 bilden cii'3 D-Zyklusf olge, die die Hardware op er at ion ausführt, welche spezifisch ist für einen Zeigerbetriebstyp 3> dem Datenbank-Datensatz. In verschiedenen Fällen werden C-Zyklen von D-Zyklen geteilt , und zwar wegen der Gemeinsamkeit zwischen operationen für Datensätze des Typs 2 und des Typs 3.Flip-flops 2421 to 242 ^ form the B cycle sequence which carries out the part of the hardware operation which is defined for a pointer drive type 1, a virtual memory data record. In certain cases, the A cycle sequences are used to perform operations for cycle B (type 1 of the pointer drive) because of the similarities between type 0 and type 1 operations to 2441 form the C cycle sequence which carries out the hardware operation which is specific for a pointer operation type 2, the database data record. ! / Le Cycles D1 to D11 with the flip-flops 2451 to 2452 form cii'3 D cycle sequences which the hardware operation executes, which is specific for a pointer mode of operation 3> the database data record. In several cases, C-cycles are shared by D-cycles, owing to the commonality between operations for records of the type 2 and type. 3
Jedes Flipflops g»emäß Fig. 22D ist ein Synchron-Flip flop,, Demgemäß wird ein Taktsystem benutzt, um die Verknüpfungszustandsänderungen in jedem dieser Flipflops zu triggern. Das Taktsignal wird dem Takteingang jedes dieser Flipflops zugeführt. Das Ausgangssignal jedes der Flipflops in dieser oteuer-zählerlogik ist aui3erdem dem jeweiligen Rückstelleingang zugeführt. Demgemäß führt das Setzen eines Zyklus-Flipflops in den 1-Zustand dazu, daß das betreffende Flipflop , eine Taktperiode später in den O-Zustand zurückgestellt wird. In dem Fall, daß der nächstfolgende Taktzyklus von iinem anderen Verknüpfungszustand abhängt als gerade davon, cs,3 das vorhergehende Taktzyklus signal ein 1-Signal ist, was z.B. dann gegeben ist, wenn das Speicheroperationsabschlußsignal auf einen 1-Viert ansteigt, wird das Ausgangs signal des UKD-GIiedes, welches die verknüpfungsmäßige Feststellung der in Frage kommenden Zustände bewirkt - nicht das direkte Ausgangssignal - dem Rückstelleingang für den vorhergehenden Taktzyklus zugeführt.Each flip-flop as shown in FIG. 22D is a synchronous flip-flop. Accordingly, a clock system is used to trigger the logic state changes in each of these flip-flops. The clock signal is fed to the clock input of each of these flip-flops. The output signal of each of the flip-flops in this control counter logic is also fed to the respective reset input. Accordingly, setting a cycle flip-flop to the 1 state results in the flip-flop in question being reset to the 0 state one clock period later. In the event that the next following clock cycle depends on a different logic state than precisely on it, cs, 3 the previous clock cycle signal is a 1 signal, which is the case, for example, when the memory operation completion signal rises to a 1-fourth, the output signal is of the UKD-GIiedes, which brings about the link-like determination of the states in question - not the direct output signal - fed to the reset input for the previous clock cycle.
709810/0993709810/0993
Das Übereinstiinmungssignal von dem Vergleicher 2203 gemäß Fig. 22A wird dem Setzeingang des Zyklus-1-Flipflops 2201 zugeführt. Nachdem das MBZ-FeId 1925 des das Heraussuchen eines Benutzers "betreffenden Befehles dahingehend überprüft worden ist, daß es einen liert von 0 besitzt, wird der Zyklus 1 eingeleitet. Der Ausgang des Zyklus-1-Flip.flops 2401 ist mit dem Setzeingang des Zyklus-2-Flipflops 2402 verbunden. Der Ausgang des Zyklus-2-Flipflops 2402 ist mit dem UKD-GIied 2481 verbunden. Das UND-Glied 2481 wird durch das Speicheroprationsabschluß-Flipflop-Signal von dem Speicheroperationsabschluß-Flipflop 2215 her in den übertragungsfähigen Zustand gesteuert, .wie es in Fig. 22B gezeigt ist. Demgemäß steigt das Ausgangssignal des UKD-Gliedes 2481 auf einen 1-Verknüpfungswert an, nachdem die opeicheroperation abgeschlossen worden ist. Zu diesem Zeitpunkt ist der das Heraussuchen eines Benutzers betreffende Befehl bereit, auf den nächsten Schritt seiner Ausführung überzugehen. Das Ausgangssignal des UND-Gliedes 2481 wird dem Setzeingang des Zyklus-3-Flipflops 2403 zugeführt.The match signal from the comparator 2203 according to FIG. 22A is fed to the set input of the cycle 1 flip-flop 2201. After the MBZ field 1925 of the command relating to searching for a user has been checked to the effect that it has a value of 0, cycle 1 is initiated. The output of cycle 1 flip flop 2401 is with the set input of the cycle -2 flip-flops 2402. The output of the cycle 2 flip-flop 2402 is connected to the UKD gate 2481. The AND gate 2481 is switched to the transferable state by the memory operation complete flip-flop signal from the memory operation complete flip-flop 2215 As shown in Fig. 22B, accordingly, the output of UKD gate 2481 rises to a logic 1 value after the store operation is completed, at which point the command pertaining to retrieving a user is ready for the next The output of AND gate 2481 is fed to the set input of cycle 3 flip-flop 2403.
Der Ausgang des Zyklus-3-Flipflops 2403" ist mit UND-Glied 2482 verbunden. Das UND-Glied 2482 wird durch das Übereinstimmungssignal von dem Vergleicher 2222 gemäß Fig. 22C übertragungsfähig gemacht. Demgemäß steigt das Ausgangssignal des UND-Gliedes 2482 auf einen 1-Verknüpfungswert an, wenn der Vergleicher 2222 feststellt, daß das K-FeId 1805 des Gruppsndeskriptors, der durch den das Heraussuchen eines Benutzers betreffenden Befehl adressiert worden ist, gleich 0 ist. Das Ausgangssignal des UND-Gliedes 2482 wird dem Setzeingang des Zyklus-4-Flipflops 2404 zugeführt.The output of the cycle 3 flip-flop 2403 "is connected to AND gate 2482. The AND gate 2482 is made transferable by the match signal from the comparator 2222 as shown in FIG Combination value when the comparator 2222 determines that the K field 1805 of the group descriptor which has been addressed by the command relating to the retrieval of a user is equal to 0. The output signal of the AND gate 2482 is the set input of cycle-4 -Flip-flops supplied to 2404.
Der Ausgang des Zyklus-4-Flipflops 2404 ist mit dem Setzeingang des Zyklus-5-Flipflops 2405 verbunden. Der Ausgang des Zyklus-5-Flipflops 2405 ist mit dem Setzeingang des Zyklus-6-Flipflops 2406 verbunden.The output of cycle 4 flip-flop 2404 is with the set input of cycle 5 flip-flop 2405. The outcome of the Cycle 5 flip-flops 2405 is connected to the set input of the cycle 6 flip-flop 2406 connected.
709810/0993709810/0993
Der Ausgang des Zyklus-6-Flipflops 2406 ist mit dem UND-Glied 2483 verbunden. Das UND-Glied 2483 wird durch das Speicheroperationsabschluß signal von dem Speicheroperationsabschluß-Flipflop 2215 her übertragungsfähig gemacht. Der Ausgang des MD-Gliedes 2483 ist mit dem Setzeingang des Zyklus-7-Flipflop 2407 verbunden»The output of cycle 6 flip-flop 2406 is AND gate 2483 connected. The AND gate 2483 is activated by the memory operation completion signal from the memory operation completion flip-flop 2215 made transferable. The output of the MD element 2483 is connected to the set input of the cycle 7 flip-flop 2407 connected »
Wie oben beschrieben wurde, wird auf den Zyklus 7 folgend eines der nachstehenden Flipflops gesetzt sein: AS2241, B32240, CS2239 oder DS2258 (siehe Fig. 22C). Diese Signale leiten entweder die A-Zyklusfolge, die B-Zyklusfolge, die C-Zyklusfolge oder die D-Zyklusfolge ein.As described above, one of the following flip-flops will be set following cycle 7: AS2241, B32240, CS2239 or DS2258 (see Figure 22C). These signals initiate either the A-cycle sequence, the B-cycle sequence, the C-cycle sequence or the D-cycle sequence.
Das Zyklus-AO-Flipflop 2411 wird durch das AS-Flipflop 2241 gesetzt. Der Ausgang des Zyklus-AO-Flipflops 2411 ist mit dem Setzeingang des Zyklus-A1-Flipflops 2412 verbunden. Das Zyklus-BO-FIi pflop 2421 wird durch das BS-Flipflop 2440 gesetzt. Der Ausgang des Zyklus-BO-Flipflops 2421 ist mit dem Setzeingang des Zyklus-B1-Flipflops 2422 verbunden. Die Ausgänge des Zyklus-A1-Flipflops 2412 und des Zyklus-B1-Flipflops 2422 sind an dem ODER-Glied 2484 angeschlossen. Der Ausgang des ODER-Gliedes 2484 ist seinerseits mit dem Setzeingang des Zyklus-A2-Flipflops 2413 verbunden. Demgemäß folgt der Zyklus A2 entweder auf den Zyklus A1 oder auf den Zyklus B1The cycle AO flip-flop 2411 is replaced by the AS flip-flop 2241 set. The output of the cycle AO flip-flop 2411 is with connected to the set input of cycle A1 flip-flop 2412. That Cycle BO flip-flop 2421 is set by BS flip-flop 2440. The output of the cycle BO flip-flop 2421 is with the Set input of cycle B1 flip-flop 2422 connected. The exits of the cycle A1 flip-flop 2412 and the cycle B1 flip-flop 2422 are connected to the OR gate 2484. Of the The output of the OR gate 2484 is in turn connected to the set input of the cycle A2 flip-flop 2413. Accordingly, it follows cycle A2 either to cycle A1 or to cycle B1
Der Ausgang des Zyklus-A2-Flipflops 2413 ist mit dem UND-Glied 2485 verbunden. Das UND-Glied 2485 wird durch das Speicheroperationsabschlußsignal übertragungsfähig gemacht bzw. freigegeben. Der Ausgang des UND-Gliedes 2485 ist mit dem Setzeingang des Zyklus-A3-Flipflops 2414 verbunden.The output of cycle A2 flip-flop 2413 is with the AND gate 2485 connected. The AND gate 2485 is rendered transferable by the memory operation completion signal or released. The output of AND gate 2485 is connected to the set input of cycle A3 flip-flop 2414.
Der Ausgang des Zyklus-A3-Flipflops 2414 ist mit den beiden UND-Gliedern 2486 und 2487 verbunden. Diese beiden UND-GliederThe output of cycle A3 flip-flop 2414 is with the two AND gates 2486 and 2487 connected. These two AND gates
709810/0993709810/0993
werden dazu herangezogen, die Fortsetzung entweder eines Α-Zyklus oder eines B-Zyklus auszuwählen, und zwar in Abhängigkeit davon, ob ein Zeigerbetrieb des Typs 0 oder des Typs 1 vorliegt. Die beiden UND-Glieder 2486 und 2487 erhalten außerdem ein zusätzliches Freigabe-Eingangssignal das Ungleichheitssignal von dem Vergleicher 2260 gemäß Fig. 22C zugeführt. Dieses Signal wird dazu herangezogen anzuzeigen, daß der virtuelle Speicherdateneatz ein D-Umschaltfeld besitzt, das nicht 0 ist (Datensatz gelöscht). Das letzte Freigabe-Eingangssignal für das UND-Glied 2486 ist das Α-Signal von dem Flipflop 2245. Wenn der Zeigerbetrieb des Typs 0 vorliegt und wenn demgemäß das A-Signal 2245 ein 1-Verknüpfungssignal ist, gibt demgemäß das UND-Glied 2486 ein 1-Verknüpfungssignal ab. Das Zyklus-A4-Flipflop 2415, an dessen Setzeingang das UND-Glied 2486 angeschlossen ist, wird in den 1-Zustand gesetzt. Wenn der Zeigerbetrieb des Typs 1 vorliegt und wenn demgemäß das B-Signal des Flipflops 2244 ein 1-Verknüpf ungssignal ist, steigt das Ausgangssignal des UND-Gliedes 2487 auf einen 1-Verknüpfungswert an„ Da das UND-Glied 2487 mi4"· dem Setzeingang des Zyklus-B4-Flipflop 2423 verbunden ist, wird der Zyklus B4 eingeleitet.are used to select the continuation of either a Α cycle or a B cycle, depending on whether a type 0 or type 1 pointer operation is present. The two AND gates 2486 and 2487 also receive an additional enable input signal, the inequality signal supplied from the comparator 2260 according to FIG. 22C. This signal is used to indicate that the virtual memory data item has a D toggle field that is not 0 (data record deleted). The last enable input signal for the AND gate 2486 is the Α signal from the flip-flop 2245. If the pointer mode of type 0 is present and if the A signal 2245 is accordingly a 1 logic signal, the AND gate 2486 accordingly inputs 1 logic signal. The cycle A4 flip-flop 2415, to whose set input the AND gate 2486 is connected, is set to the 1 state. If the pointer mode of type 1 is present and if the B signal of the flip-flop 2244 is accordingly a 1-logic operation signal, the output signal of the AND element 2487 rises to a 1-logic operation value “Since the AND element 2487 has 4 ” Set input of cycle B4 flip-flop 2423 is connected, cycle B4 is initiated.
Die Ausgänge des Zyklus-A4-Flipflops 2415 und des Zyklus-B4-Flipflops 2423 sind mit dem ODER-Glied 2488 verbunden. Demgemäß steigt das Ausgangssignal des ODER-Gliedes 2488 auf einen 1-Verknüpfungswert im Anschluß entweder an den Zyklus A4 oder im Anschluß an den Zyklus B4 an. Der Ausgang des ODER-Gliedes 2488 ist mit dem Setzeingang des Zyklus-A5-Flipflops 2416 verbunden. Auf den Zyklus A5 folgend wird das Befehlsabschluß-Flipflop 2246 gesetzt sein.The outputs of cycle A4 flip-flop 2415 and cycle B4 flip-flop 2423 are connected to the OR gate 2488. Accordingly, the output of OR gate 2488 rises a 1-logic operation following either cycle A4 or following cycle B4. The output of the OR gate 2488 is connected to the set input of cycle A5 flip-flop 2416. Following cycle A5, the command completion flip-flop becomes 2246 must be set.
Die beiden Flipflops CS2239 und DS2238 sind mit ihren Ausgängen an dem ODER-Glied 2489 angeschlossen. Das ODER-Glied 2489The two flip-flops CS2239 and DS2238 are with their outputs connected to the OR gate 2489. The OR gate 2489
709810/0993709810/0993
O5O5
ist am Setzeingang des Zyklus-CO-Flipflops 2431 angeschlossen.is connected to the set input of the cycle CO flip-flop 2431.
Der Ausgang des Zyklus-CO-Flipflops 2431 ist an den beiden UND-Gliedern 2490 und 2491 angeschlossen. Diese beiden UND-Glieder werden dazu herangezogen, die Fortsetzung entweder der C-Zyklusfolge oder der D-Zyklusfolge auszuwählen, und zwar in Abhängigkeit davon, ob der Zeigerbetrieb des Typs 2 oder des Typs 3 vorliegt. Demgemäß wird das zweite Freigabe-Eingangssignal für das UND-Glied 2490 durch das C-Signal von dem Flipflop 2243 gebildet (siehe Fig. 22C). Wenn der Zeigerbetrieb des Typs 2 vorliegt und wenn demgemäß das C-Signal 2243 mit einem 1-Verknüpfungswert auftritt, steigt das Ausgangssignal des UND-Gliedes 2490 auf einen 1-Verknüpfungswert an. Das Zyklus-C1-Flipflop 2432, an dessen Setzeingang das UND-Glied 2490 angeschlossen ist, wird dadurch in den 1-Zustand gesetzt. Wenn der Zeigerbetrieb des Typs 3 vorliegt und wenn demgemäß das D-Signal des Flipflops 2242 als 1-Verknüpfungssignal auftritt, steigt das Ausgangssignal des UND-Gliedes 2491 auf einen 1-Verknüpf ungswert an. Da das UND-Glied 2491 am Setzeingang des Zyklus-D1-Flipflops 2451 angeschlossen ist, wird der Zyklus D1 eingeleitet.The output of the cycle CO flip-flop 2431 is on the two AND gates 2490 and 2491 connected. These two AND gates are used to select the continuation of either the C-cycle sequence or the D-cycle sequence, namely depending on whether the type 2 or type 3 pointer operation is present. Accordingly, the second enable input becomes for the AND gate 2490 formed by the C signal from the flip-flop 2243 (see Fig. 22C). When the pointer operation of type 2 is present and if the C signal 2243 occurs accordingly with a 1-logic operation, the output signal rises of the AND gate 2490 to a 1 logic operation value. That Cycle C1 flip-flop 2432, at whose set input the AND gate 2490 is connected, it is set to the 1 state. When there is type 3 pointer operation and when accordingly the D signal of flip-flop 2242 occurs as a 1 logic signal, the output signal of the AND gate 2491 rises to a 1-logic operation value. Since the AND gate 2491 at the set input of cycle D1 flip-flop 2451 is connected the cycle D1 is initiated.
Die Ausgänge des Zyklus-C1-Flipflops 2432 und des Zyklus-D1-Flipflops 2451 sind an dem ODER-Glied 2492 angeschlossen. Demgemäß steigt das Ausgangssignal des ODER-Gliedes 2492 auf einen 1-Verknüpf ungswert im Anschluß entweder an einen Zyklus C1 oder im Anschluß an einen Zyklus D1 an. Der Ausgang des ODER-Gliedes 2492 ist am Setzeingang des Zyklus-C2-Flipflops 2433 angeschlossen.The outputs of cycle C1 flip-flop 2432 and cycle D1 flip-flop 2451 are connected to the OR gate 2492. Accordingly, the output of the OR gate 2492 rises a 1-logic operation value following either a cycle C1 or following a cycle D1. The exit of the OR gate 2492 is connected to the set input of the cycle C2 flip-flop 2433.
Der Ausgang des Zyklus-C2-Flipflops 2433 ist mit dem UND-Glied 2493 verbunden. Das UND-Glied 2493 wird durch das Seitenfestlegungsabschlußsignal von dem Seitenfestlegungsabschluß-Flipflop 2287 her übertragungsfähig gesteuert, wie es in Fig. 22A gezeigt ist. Der Ausgang des UND-Gliedes 2493The output of cycle C2 flip-flop 2433 is to the AND gate 2493 connected. The AND gate 2493 is activated by the page setting completion signal from the page setting completion flip-flop 2287, as shown in Fig. 22A. The output of the AND gate 2493
709810/0993709810/0993
ist mit dem Setzeingang des Flipflops C3-Flipflop 2434 verbunden. Der Ausgang des Zyklus-C3-Flipflops 2434 ist mit dem Setzeingang des Zyklus-C4-Flipflops 2435 verbunden. Der Ausgang des Zyklus-C4-Flipflops 2435 ist mit dem Setzeingang des Zyklus-C5-Flipflops 2436 verbunden. Der Ausgang des Zyklus-C5-Flipflops 2436 ist mit dem UND-Glied 2494 verbunden. Das UND-Glied 2494 wird durch das Speicheroperationsabschlußsignal von dem Speicheroperations-Äbschluß-Flipflop 2215 her übertragungsfähig gemacht. Der Ausgang des UND-Gliedes 2494 ist mit dem Setzeingang des Zyklus-C6-Flipflops 2437 verbunden.is connected to the set input of flip-flop C3 flip-flop 2434. The output of cycle C3 flip-flop 2434 is with the Set input of cycle C4 flip-flop 2435 connected. The output of the cycle C4 flip-flop 2435 is connected to the set input of the Cycle C5 flip-flops 2436 connected. The output of the cycle C5 flip-flop 2436 is connected to the AND gate 2494. The AND gate 2494 is activated by the memory operation completion signal of transferable to memory operation completion flip-flop 2215 made. The output of AND gate 2494 is connected to the set input of cycle C6 flip-flop 2437.
Der Ausgang des Zyklus-C6-Flipflops 2437 ist mit dem Setzeingang des Zyklus-C7A-Flipflops 2438 verbunden. Der Ausgang des Zyklus-C7A-Flipflops 2438 ist mit dem Setzeingang des Zyklus-C7-Flipflops 2439 verbunden.The output of cycle C6 flip-flop 2437 is connected to the set input of cycle C7A flip-flop 2438. The outcome of the Cycle C7A flip-flop 2438 is connected to the set input of the cycle C7 flip-flop 2439 connected.
Der Ausgang des Zyklus-C7-Flipflops 2439 ist mit dem UND-Glied 2495 verbunden. Das UND-Glied 2495 wird durch das Speicheroperationsabschlußsignal freigegeben bzw. übertragungsfähig gemacht. Der Ausgang des UND-Gliedes 2495 ist mit dem Setzeingang des Zyklus-Ce-Flipflops 2440 verbunden. Der Ausgang des Zyklus-C8-Flipflops 2440 ist mit dem Setzeingang des Zyklus-C10-Flipflops 2442 verbunden.The output of cycle C7 flip-flop 2439 is connected to AND gate 2495. The AND gate 2495 is activated by the memory operation complete signal released or made transferable. The output of the AND gate 2495 is with the set input of the cycle Ce flip-flop 2440 connected. The outcome of the Cycle C8 flip-flop 2440 is connected to the set input of the cycle C10 flip-flop 2442 connected.
Der Ausgang des Zyklus-CIO-Flipflops 2442 ist mit den beiden UND-Gliedern 2496 und 2497 verbunden. Diese beiden UND-Glieder werden dazu herangezogen, eine Fortsetzung entweder eines C-Zyklus oder eines D-Zyklus auszuwählen, und zwar ebenfalls in Abhängigkeit davon, ob der Zeigerbetrieb des Typs 2 oder des Typs 3 vorliegt. Das zweite Freigabesignal für das UND-Glied 2496 ist das C-Signal von dem Flipflop 2243 her. Wenn der Zeigerbetrieb des Typs 2 vorliegt und wenn demgemäß das C-Signal von dem Flipflop- 2243 ein 1-Verknüpfungssignal ist,The output of the cycle CIO flip-flop 2442 is with the two AND gates 2496 and 2497 connected. These two AND gates are used to select a continuation of either a C-cycle or a D-cycle, and that too depending on whether the type 2 or type 3 pointer operation is present. The second release signal for the AND gate 2496 is the C signal from flip-flop 2243. if type 2 pointer operation is present and accordingly the C signal from the flip-flop 2243 is a 1 logic signal,
709810/0993709810/0993
steigt demgemäß das Ausgangs^gnal des UND-Gliedes 2496 auf einen 1-Verknüpfungswert an. Außerdem wird das Zyklus-C11-Flipflop 2443, an dessen Setzeingang das UND-Glied 2496 angeschlossen ist, in den 1-Verknüpfungszustand gesetzt. Wenn der Zeigerbetrieb des Typs 3 vorliegt und wenn demgemäß das D-Signal des Flipflops 2242 ein 1-Verknüpfungssignal ist, steigt das Ausgangssignal des UND-Gliedes 2497 auf einen 1-Verknüpfungswert an. Da das UND-Glied 2497 an dem Setzeingang des Zyklus-D11-Flipflops 2452 angeschlossen ist, wird der Zyklus D11 eingeleitet.The output signal of the AND gate 2496 rises accordingly a 1-link value. It also turns the cycle C11 flip-flop 2443, to whose set input the AND element 2496 is connected, is set to the 1 logic state. If the Pointer operation of type 3 is present and if the D signal of the flip-flop 2242 is accordingly a 1-link signal, it rises the output signal of the AND gate 2497 to a 1 logic value at. Since the AND gate 2497 is connected to the set input of the cycle D11 flip-flop 2452, the Cycle D11 initiated.
Die Ausgänge des Zyklus-C 11-Flip flops 2443 und des Zyklus-D11-Flipflops 2452 sind an dem ODER-Glied 2498 angeschlossen. Demgemäß steigt das Ausgangssignal des ODER-Gliedes 2498 auf einen 1-Verknüpfungswert entweder im Anschluß an den Zyklus C11 oder im Anschluß an den Zyklus D11 an. Der Ausgang des ODER-Gliedes 2498 ist am Setzeingang des Zyklus-C12-Flipflops 2444 angeschlossen. Auf den Zyklus C12 folgend wird das Befehlsabschluß-Flipflop 2246 gesetzt sein, wie dies in Fig. 22C veranschaulicht ist.The outputs of cycle C11 flip flop 2443 and cycle D11 flip flop 2452 are connected to the OR gate 2498. Accordingly, the output of the OR gate 2498 rises to one 1 logic operation value either following cycle C11 or following cycle D11. The output of the OR gate 2498 is connected to the set input of the cycle C12 flip-flop 2444. Following cycle C12, instruction completion flip-flop 2246 will be set, as in Figure 22C is illustrated.
Der Such-Serien-Datenbankbefehl ist ein Firmware/Hardwarebefehl, bei dem aufeinanderfolgende Überprüfungen des jeweiligen Datenbank-Datensatzes (siehe Fig. 15b) in einem Bereich (Datei) erfolgen, und zwar beginnend bei der Seiten- und Zeilennummer des durch ein Indexregister gegebenen Bereiches, bis der nächste aktive Datensatz bestimmt ist. Die Datenbankadresse des in der Bereichs-Seiten-Zeilenform festgelegten Datensatzes (siehe Fig. 15h) wird sodann in das Indexregister geladen. Der Such-Serienbefehl besitzt das in Fig. 2OA gezeigte GROP-Format.The search series database command is a firmware / hardware command, in the case of successive checks of the respective database data record (see FIG. 15b) in one area (File), starting with the page and line number of the area given by an index register, until the next active record is determined. The database address of the specified in the range-page-line form The data record (see Fig. 15h) is then loaded into the index register. The search series command has that shown in FIG. 20A GROP format.
Das Firmware-Flußdiagramm für den Such-Serienbefehl ist in Fig. 23A bis 23C veranschaulicht. Bei der Operation 3001The firmware flow chart for the search serial command is illustrated in Figures 23A through 23C. At operation 3001
709810/0993709810/0993
gemäß dem Firmware-Flußdiagramm wird das Format des Befehls überprüft. Bei der Operation 3003 wird überprüft, daß bzw. ob die Anfangsseite des Bereiches, auf den Bezug genommen worden ist, im Speicher vorhanden ist. Sodann wird in der Operation 3005 der Seitendeskriptor der betreffenden Seite (siehe Fig.i6b) aufgerufen. Durch die Operationen 3007 bis 3009 wird die Seitennummer P aus dem Bezugs-Indexregister erhalten. Ferner wird die Zeilenzahl bzw. Zeilennummer W aus dem Bezugsindexregister erhalten, und sodann wird die Zeilenzahl ¥ um 1 erhöht. Demgemäß beginnt die Suche nach dem nächsten aktiven Datensatz bei dem Datensatz, der jenem Datensatz folgt, auf den durch das Indexregister gezeigt bzw. hingewiesen ist. Durch die Operation 3010 wird der Segmentdeskriptor der Segmentnummer aufgerufen, die der Bereichs-Seiten-Nummer entspricht (die Bereichsnummer ist dabei die Bereichsnummer des Indexregisters). Die Übereinstimmung zwischen einer Seite und einem Segment liegt in der Weise vor, wie dies oben beschrieben worden ist. Durch die Operation 3012 wird die maximale Zeilenzahl aus dem Seitenkopfteil erhalten (siehe Fig. I6a).the format of the command is checked according to the firmware flow chart. In operation 3003 it is checked whether or not the starting page of the referenced area is in memory. Then in the operation 3005 the page descriptor of the relevant page (see Fig.i6b) called. Through operations 3007 through 3009, the page number P is obtained from the reference index register. Furthermore, the line number or line number W is obtained from the reference index register, and then the line number ¥ is increased by 1. Accordingly the search for the next active data record begins with the data record following the data record followed by the Index register is shown or indicated. Operation 3010 calls the segment descriptor of the segment number, which corresponds to the area page number (the area number is the area number of the index register). the Match between a page and a segment is in the manner described above. By operation 3012 will get the maximum number of lines from the page header (see Fig. 16a).
Im folgenden sei auf Fig. 23A näher eingegangen. Zunächst werden in der Operation 3001 die MBZ-Felder I9OI und 1903 darauf überprüft, ob sie 0 sind. Diese Überprüfung auf 0 erfolgt dadurch, daß der Befehl von der Befehlsaufrufeinheit (siehe Fig. 13a, IFU1318) zu einem Register in dem Rechenwerk 1317 übertragen wird. Wenn die in diesem Register durchgeführte Hardwareprüfung feststellt, daß die MBZ-Felder nicht Null sind, führt die Firmware eine Verzweigung zu der Ausnahmebehandlung aus, wie dies in Fig. 23A durch die Operation 3002 veranschaulicht ist. Diese Ausnahme wird als Unzulässigkeitsformatfeld-Ausnahme bezeichnet. Wenn die MBZ-Felder 0 sind, schreitet die Firmware zu der Operation 3003 fort, gemäß der der Bereich und die Seite aus dem Indexregister in der Zwischenspeichereinheit 1315 zu dem Rechenwerk 1317 übertragen werden. Das Bezugsindexregister ist dabei ein Register,FIG. 23A is discussed in greater detail below. First, in operation 3001, the MBZ fields I9OI and 1903 checked to see if they are 0. This check for 0 is carried out by the fact that the command from the command calling unit (see Fig. 13a, IFU1318) is transferred to a register in the arithmetic unit 1317. If the If the hardware check determines that the MBA fields are not zero, the firmware branches to exception handling as illustrated by operation 3002 in Figure 23A. This exception is called a Forbidden Format Field Exception designated. If the MBZ fields are 0, the firmware proceeds to operation 3003 according to FIG the area and the page are transferred from the index register in the intermediate storage unit 1315 to the arithmetic unit 1317 will. The reference index register is a register
70981 0/099370981 0/0993
dessen Nummer durch die Basisregister-BR-Nummer gegeben ist (Feld 1902 gemäß Fig. 20A). Durch die in Fig. 17 gezeigte Seitenfestiegungs-Firmware-Subroutine erfolgt eine Überprüfung zur Feststellung, ob die Seite der Bereichs-Seite entspricht, deren Nummer in dem Hauptspeicher enthalten ist. Wenn die Seite nicht in dem Speicher enthalten ist, tritt eine Ausnahme 3004 bezüglich einer seitenweisen Durcharbeit auf. Wenn die Seite sich im Hauptspeicher befindet, wird durch die Operation 3005 der Seitendeskriptor der Seiten aufgerufen. Die Speicherzugriffsausnahmen 3006, wie die Ausnahme "außerhalb des Hauptspeichers", können als Ergebnis dieses Hauptspeicher-Aufrufes auftreten.whose number is given by the base register BR number (Box 1902 of Figure 20A). A check is made by the side mount firmware subroutine shown in FIG to determine whether the page corresponds to the area page whose number is contained in the main memory. If the Page is not in memory, a page-through exception 3004 occurs. If the If the page is in main memory, operation 3005 calls the page descriptor of the pages. the Memory access exceptions 3006, such as the "out of main memory" exception, may result from this main memory call appear.
Bei der Operation 3007 wird die Seitennummer, die in dem Indexregister enthalten ist, dessen Nummer durch BR gegeben ist, in ein Zwischenregister P übertragen, das in dem Rechenwerk 1317 enthalten ist. Die durch die Anzahl von Bits dieser Seitennummer gegebene Länge ist gleich dem Verschiebezählfeld 1623, wie dies in Fig. 16b gezeigt ist. Bei der Operation 3008 wird die Zeilenzahl durch BR in ein Zwischenregister W in dem Rechenwerk 1317 eingegeben. Die durch die Anzahl von Bits dieser Zeilenzahl gegebene Länge beträgt gleich 22 abzüglich des Schiebezählfeldes 1623. Bei der Operation 3009 wird der Hauptaddierer des Rechenwerkes dazu herangezogen, den Inhalt des Zeilenzahl-Registers W um 1 zu erhöhen. Bei der Operation 3010 wird der Segmentdeskriptor der SEG-Zahl, die aus dem Seitendeskriptor erhalten worden ist, aufgerufen (siehe das Feld 1625 in Fig. 16b). Als Ergebnis dieses Speicheraufrufes können Speicherzugriffsausnahmen 3011 auftreten. Bei der Operation 3012 wird die maximale Zeilenzahl aus dem Seitenkopfteil I6OI aufgerufen, indem die Basisadresse herangezogen wird, die aus dem in der Operation 3010 aufgerufenen Segmentdeskriptor erhalten wird. Die aufgerufene maximale Zeilenzahl wird in einem Zwischenregister Z in dem Rechenwerk gespeichert. Als Ergebnis dieses HauptspeicheraufrufesAt operation 3007, the page number contained in the index register is given its number by BR is transferred to an intermediate register P, which is contained in the arithmetic unit 1317. Which by the number of bits of this Given length is equal to the shift count field 1623, as shown in Figure 16b. At operation 3008 the number of lines is entered by BR into an intermediate register W in the arithmetic unit 1317. Which by the number of bits The length given this number of lines is equal to 22 minus the shift count field 1623. In operation 3009, the The main adder of the arithmetic unit is used to increase the content of the line number register W by 1. During the operation 3010 the segment descriptor of the SEG number obtained from the page descriptor is called (see the field 1625 in Fig. 16b). As a result of this memory call, memory access exceptions 3011 can occur. In operation 3012, the maximum number of lines is retrieved from the page header I6OI using the base address obtained from the segment descriptor called in operation 3010. The maximum called The number of lines is stored in an intermediate register Z in the arithmetic unit. As a result of this main memory call
709S10/0993709S10 / 0993
können Speicherzugriffausnahmen 3013 auftreten. Auf die Operation 3012 hin führt die Hardware/Firmware eine Verzweigung zu 3020 gemäß Fig. 23B hin aus.Memory access exceptions 3013 can occur. On the In operation 3012, the hardware / firmware branches to 3020 of Figure 23B.
Gemäß Fig. 23B wird die Zeilenzahl W, die den Datensatz adressiert, überprüft um festzustellen, ob sie sich im aktiven Zustand befindet. Dabei erfolgt ein Vergleich zum Zwecke der Feststellung, ob die betreffende Zahl größer als die maximale Zeilenzahl Z ist. Ist dies der Fall, so führt die Firmware eine Verzweigung zu der Operation 3022 hin aus, bei der festgestellt wird, ob dies die letzte Seite des Bereiches ist. Wenn bei der Operation 3022 festgestellt wird, daß die gerade vorliegende Seite die letzte Seite des Bereiches ist, ist der Befehl nicht erfolgreich gewesen im Hinblick auf das Aufsuchen eines aktiven Datensatzes; damit wird eine Ausnahme 3023 bezüglich des letzten Datensatzes gemeldet. Wenn die gerade vorliegende Seite nicht die letzte Seite ist, schreitet die Firmware zu der Operation 3024 und zu der Operation 3025 weiter, gemäß der der Inhalt in dem Seitenzahl-P-Register um erhöht wird und gemäß der die Zeilenzahl auf 0 gesetzt wird. Sodann wird die Operation 3026 ausgeführt, bei der die neue Seite überprüft wird, um festzustellen, ob sie in dem Hauptspeicher vorhanden ist. Ist sie in dem Hauptspeicher vorhanden, so schreitet die Firmware zu der Operation 3028 fort, gemäß der der Seitendeskriptor der neuen Seite P aufgerufen wird. Die Firmware führt sodann eine Verzweigung zu der Fig. 23C hin aus, wo die letzte Zeile der neuen Seite bezüglich des Vorliegens des aktiven Zustande überprüft wird.According to FIG. 23B, the line number W which addresses the data record is checked to determine whether it is active State. A comparison is made to determine whether the number in question is greater than the maximum number of lines Z is. If this is the case, the firmware branches out to operation 3022 at which determines whether this is the last page of the range. If it is determined in operation 3022 that the the current page is the last page of the area, the command has not been successful with regard to that Finding an active data set; an exception 3023 relating to the last data record is thus reported. If that is If the present page is not the last page, the firmware proceeds to operation 3024 and operation 3025 further, according to which the content in the page number P register is increased by and according to which the line number is set to zero. Operation 3026 is then performed which checks the new page to see if it is in main memory is available. If it is in main memory, the firmware proceeds to operation 3028, according to which the page descriptor of the new page P is called. The firmware then branches to the 23C, where the last line of the new page is checked for the presence of the active state.
Im folgenden sei Fig. 23B näher betrachtet. Bei der Operation 3021 wird der Rechenwerk-Hauptaddierer in den Vergleichs-, betriebszustand gesetzt, und der Inhalt des Zwischenregisters W wird mit dem Inhalt des Zwischenregisters Z verglichen. Wenn die Zeilenzahl W nicht größer als die maximale Zeilenzahl Z oderReferring now to Fig. 23B. In operation 3021, the arithmetic unit main adder is used in the comparison, operating state is set, and the content of the intermediate register W is compared with the content of the intermediate register Z. if the number of lines W is not greater than the maximum number of lines Z or
709810/0993709810/0993
- 14O -- 14O -
gleich dieser Zeilen Z ist, führt die Firmware eine Verzweigung zur Fig. 23C, nämlich zu der Operation 3030 hin aus. Wenn die Zeilenzahl W größer als die maximale Zeilenzahl Z oder gleich dieser Zeilenzahl Z ist, führt die Firmware eine Verzweigung zu der Operation 3022 hin aus um festzustellen, ob die gerade vorliegende Seite P die letzte Seite des Bereiches ist. Bei der Operation 3022 wird der die letzte Seite betreffende Anzeiger 1626 des bei der Operation 3005 aufgerufenen Seitendeskriptors überprüft. Wenn bezüglich dieses Anzeigers festgestellt wird, daß er gleich 1 ist, führt die Firmware eine Verzweigung zu der Ausnahmebehandlung aus, bei der eine den letzten Datensatz betreffende Ausnahme 3023 aufgezeichnet wird.equals these lines Z, the firmware branches to FIG. 23C, namely to operation 3030. If the If the number of lines W is greater than the maximum number of lines Z or equal to this number of lines Z, the firmware will branch to operation 3022 to determine whether the current page P is the last page of the range. at of operation 3022 becomes the last page indicator 1626 of the page descriptor called in operation 3005 checked. If this indicator is found to be equal to 1, the firmware is executing a Branch to exception handling, in which an exception 3023 relating to the last record is recorded.
Wenn bezüglich des die letzte Seite betreffenden Anzeigers durch die Firmware festgestellt wurde, daß er 0 ist, führt die Firmware eine Verzweigung zu ihrer Operation 3024 hin aus, gemäß der der Inhalt des Seitennummernregisters P um 1 erhöht wird, und zwar in dem Hauptaddierer des Rechenwerks. Sodann wird die Operation 3025 ausgeführt, gemäß der die Hardware/Firmware einen O-Wert in das Zeilennummernregister W einführt. Sodann wird die Operation 3026 ausgeführt, bei der die Seitenfestlegungs-Firmware-Subroutine (siehe Fig. 17) dazu herangezogen wird zu überprüfen, ob die durch die Bereichsseite beschriebene Seite in dem Hauptspeicher vorhanden ist. Ist die betreffende Seite nicht in dem Hauptspeicher vorhanden, so tritt eine die seitenweise Durchführung betreffende Ausnahme 3027 auf. Wenn die Seite in dem Hauptspeicher vorhanden ist, wird die Operation 3028 ausgeführt, gemäß der der Seitendeskriptor aus dem Hauptspeicher für die Seite P aufgerufen bzw. abgeholt wird. Als Ergebnis dieses Hauptspeicheraufrufes können Speieherzugriffsausnahmen 3029 auftreten. Auf die Operation 3028 folgend führt die Firmware eine Verzweigung zu der Operation 3030 aus, wie dies in Fig. 23C veranschaulicht ist.If the indicator relating to the last page has been determined by the firmware to be 0, leads the firmware branches out to its operation 3024, according to which the content of the page number register P is incremented by one in the main adder of the arithmetic unit. Operation 3025 is then performed, according to which the hardware / firmware introduces an O value into the line number register W. Then operation 3026 is performed in which the paging firmware subroutine (see Fig. 17) is used to check whether the described by the area page Page exists in main memory. If the relevant page is not available in the main memory, so an exception 3027 relating to page-by-page execution occurs. If the page is in main memory, operation 3028 is performed, according to which the page descriptor for page P is called from main memory or is picked up. As a result of this main memory call, memory access exceptions 3029 may occur. On the Following operation 3028, the firmware branches to operation 3030, as illustrated in Figure 23C is.
709810/0993709810/0993
Gemäß Fig. 23C erfolgt die eigentliche Überprüfung bezüglich des aktiven Zustands der Zeile, deren Datenbankadresse durch die Bereichs-Seiten-Zeilen-Nummer gegeben ist, deren nummer tatsächlich in dem Rechenwerk enthalten ist, intaelches die betreffende Nummer von dem Indexregister in dem Zwischenspeicher übertragen wurde. Die Seitennummer ist in dem Zwischenregister P untergebracht. Die Zeilennummer befindet sich in dem Zwischenregister W. Das Zeilenfeldelement (siehe das Feld 1610 in Fig. 16a) wird in der Operation 3031 aufgerufen. In der Operation 3031 erfolgt eine Überprüfung dahingehend, ob diese Zeile sich im aktiven Zustand befindet oder nicht. Diese Überprüfung erfolgt dadurch, daß das D-Umschaltfeld (siehe das Feld 16O4 in Fig. 16a) des Zeilenversetzungsfeld-Elementes 1603 überprüft wird. Wenn das D-Umschaltfeld gleich 0, 1 oder 3 ist, befindet sich der Datensatz nicht im aktiven Zustand, und die Firmware schreitet zu der Operation 3034 weiter, bei der die Zeilenzahl ¥ um 1 erhöht wird und bei der die Firmware eine Verzweigung zu der Operation 3021 gemäß Fig. 23B hin ausführt. Dies dient zur Vorbereitung der Prüfung des nächsten Datensatzes (Zeile) in dem Bereich. Wenn das D-Umschaltfeld gleich 2 ist, befindet sich der Datensatz (Zeile) im aktiven Zustand, und nunmehr kann der Befehl erfolgreich abgeschlossen werden. Die Operationen 3036 und 3037 bewirken das Laden der Adresse des im aktiven Zustand befindlichen Datensatzes. Bei der Operation 3036 wird das Basisregister BR mit der segmentierten Adresse des Datensatzes geladen. Bei der Operation 3037 wird das Indexregister mit der Seiten- und Zeilen-W-Nummer geladen. Die Bereichsnummer in dem Indexregister bleibt dieselbe. Der Befehl wird dann in der Operation 3038 beendet.According to FIG. 23C, the actual check is carried out with respect to the active state of the line whose database address is given by the area-page-line number, whose number is actually contained in the arithmetic unit, intaelches the number in question was transferred from the index register in the buffer memory. The page number is in the temporary register P housed. The line number is in the intermediate register W. The line field element (see the Field 1610 in FIG. 16a) is called in operation 3031. In operation 3031, a check is made as to whether this line is in the active state or not. This check is carried out in that the D toggle field (see field 1604 in FIG. 16a) of the line displacement field element 1603 is checked. If the D-toggle box equals Is 0, 1, or 3, the record is not in the active state and the firmware proceeds to operation 3034 further, in which the number of lines ¥ is increased by 1 and in which the firmware branches to operation 3021 according to FIG 23B. This is used in preparation for the examination of the next record (line) in the area. If the D-toggle field is equal to 2, the record (line) is in the active state and the command can now be completed successfully. Operations 3036 and 3037 load the address of the active state Dataset. At operation 3036, the base register BR is assigned the segmented address of the record loaded. At operation 3037 the index register is loaded with the page and line W numbers. The area number in the index register remains the same. The command then ends in operation 3038.
Im folgenden sei auf Fig. 21C näher eingegangen. Beginnend mit der Operation 3031 ruft die Firmware das 16-Bit-Zeilen-Referring now to Fig. 21C. Starting with operation 3031 the firmware calls the 16-bit line
709810/0993709810/0993
versetzungsfeldelement 1602 unter einer Adresse auf, die durch die Segmentbasisadresse der Seite zuzüglich der Länge des Seitenkopfteiles 16O2 (81 Bits) zuzüglich der Zeilenzahl ¥ mal 16 Bits gegeben ist. Diese 16 Bits stellen die Länge eines einzigen Zeilenversetzungsfeldelementes dar. Als Ergebnis dieses Speicheraufrufes können Speicherzugriffsausnahmen 3032 auftreten.displacement field element 1602 at an address that by the segment base address of the page plus the length of the page header part 16O2 (81 bits) plus the number of lines ¥ times 16 bits is given. These 16 bits represent the length of a single line displacement field element. As a result of this Memory access exceptions 3032 may occur during memory calls.
Bei der Operation 3033 wird das D-Umschaltfeld 16O4 des Zeilenversetzungsfeldelementes in ein Register des Rechenwerkes 1317 übertragen. Bei der Operation 3033 wird nunmehr das D-Umschaltfeld überprüft, das in dem Rechenwerk enthalten ist, um festzustellen, ob es gleich 0, 1 oder 3 ist. Diese Überprüfungen werden in einem Addierer in dem Rechenwerk durchgeführt. Wenn festgestellt wird, daß das D-Umschaltfeld einen dieser Werte besitzt, führt die Firmware eine Verzweigung zu der Operation 3034 hin aus, gemäß der das Zwischenregister W um 1 in seinem Inhalt erhöht wird. Diese Erhöhung des Registerinhalts erfolgt durch den Hauptaddierer des Rechenwerkes. Auf die Operation .3034 hin führt die Firmware eine Verzweigung zu der Operation 3020 gemäß Fig. 23B aus.At operation 3033, the D toggle field 1604 becomes the offset line field element transferred to a register of the arithmetic unit 1317. Operation 3033 now becomes the D toggle button checked, which is contained in the arithmetic unit to determine whether it is equal to 0, 1 or 3. These reviews are carried out in an adder in the arithmetic unit. If the D toggle button is found to have one of these values the firmware branches to operation 3034, according to which the intermediate register W is increased by 1 in its content is increased. The main adder of the arithmetic unit is used to increase the register content. On the In the direction of operation .3034, the firmware branches to operation 3020 in accordance with FIG. 23B.
Wenn die Firmware feststellt, daß das D-Umschaltfeld einen Wert von 2 besitzt, das ist der aktive Zustand, führt die Firmware eine Verzweigung zu der Operation 3036 aus, bei der die SEG-Nummer 1625 des bei der Operation 3005 aufgerufenen Seitendeskriptors zu dem Basisregister BR hin übertragen wird, dessen Nummer in dem Befehlsformat, Feld 1902 gegeben ist. Die Verschiebung der SEG-Nummer von dem Seitendeskriptor zu dem Basisregister (das in der Adressensteuereinheit 1319 enthalten ist) erfolgt unter der Firmwaresteuerung. Bei der Operation 3036 wird der Versetzungsteil des Zeilenversetzungsfeldelementes 1603 außerdem in den SRA-Teil des Basisregisters BR übertragen. Die Segmentnummer wird in die Bitstellen 4 bis 15 des Basisregisters übertragen. Die VersetzungIf the firmware detects that the D-toggle pad has a Has a value of 2, which is the active state, the firmware branches to operation 3036 in which the SEG number 1625 of the one called in operation 3005 Page descriptor is transferred to the base register BR, the number of which is given in the command format, field 1902 is. The shift of the SEG number from the page descriptor to the base register (which is in the address control unit 1319 is included) takes place under the firmware control. In the Operation 3036 becomes the displacement portion of the displacement field element 1603 also transferred to the SRA part of the base register BR. The segment number is in the bit positions 4 to 15 of the base register are transferred. The dislocation
709810/0993709810/0993
wird in die Bitstellen 18 Ms 31 des Basisregisters übertragen. Auf die Operation 3036 folgend führt die Firmware eine Verzweigung zu der Operation 3037 aus, in der das Zwischenregister P zu dem Indexregister übertragen wird, dessen Nummer gegeben ist in dem Basisregisterfeld BR1902 des Befehlsformates, Das Zeilennummern-Zwischenregister W wird ebenfalls in das Indexregister übertragen. Die Anzahl der Bits in den Seiten- und Zeilennummern wird ebenfalls aus dem Schiebezählfeld 1623 des Seitendeskriptors bestimmt, der in der Operation 3005 aufgerufen worden ist (die Bits der Seitennummer sind gleich der Verschiebezählung, die Bits der Zeilennummer bzw. Zeilenzahl sind gleich 22 abzüglich der Verschiebezählung). Auf die Operation 3037 folgend führt die Firmware eine Verzweigung zu der Operation 3038 aus, bei der der Befehl abgeschlossen wird und bei der die Steuerung auf den nächsten Befehl übertragen wird.is transferred to bit positions 18 Ms 31 of the base register. Following operation 3036, the firmware branches to operation 3037 in which the intermediate register P is transferred to the index register, the number of which is given in the base register field BR1902 of the command format, The line number intermediate register W is also transferred to the index register. The number of bits in the page and line numbers are also determined from the shift count field 1623 of the page descriptor called in operation 3005 has been (the bits of the page number are equal to the shift count, the bits of the line number or line number are equal to 22 minus the shift count). On the Following operation 3037, the firmware branches to operation 3038, where the command completes and in which control is transferred to the next command.
Nunmehr sei auf die Fig. 24A und 24B eingegangen, in denen in einer Blockdiagrammdarstellung die Hardware gezeigt ist, die zur Ausführung des Serien-Such-Datenbankbefehles erforderlich ist. In Fig. 25 ist die Steuerlogik gezeigt, die für Folgeübertragungen und -operationen auf die Daten im Zuge der Ausführung des Serien-Such-Befehles benutzt wird . Die in Fig. 25 dargestellte Steuerlogik wird häufig als Zykluszählerlogik bezeichnet.Referring now to FIGS. 24A and 24B, the hardware is shown in a block diagram. required to execute the serial search database command. In Fig. 25 is shown the control logic that is used for Follow-up transmissions and operations on the data is used in the course of executing the series search command. the The control logic shown in Figure 25 is often referred to as cycle counter logic.
Zum Zwecke der Erleichterung eines Verständnisses der in Fig. 24A und 24B dargestellten Hardwarelogik sei die Operation der in Fig. 25 dargestellten Steuerlogik kurz wie folgt zusammengefaßt. Zunächst dürfte ersichtlich sein, daß die Zyklus-0- bis Zyklus-13-Flipflops 3301 bis 3319 eine Reihe, von 14 aufeinanderfolgenden Zeitperioden festlegen. Durch die B1- bis B3-Zyklen 3320 bis 3322 ist eine 3-Zyklus-Steuerfolge festgelegt, die wiederholt werden kann. Am Snde der B-ZyklenFor the purpose of facilitating an understanding of the hardware logic illustrated in FIGS. 24A and 24B, let us say Operation of the control logic shown in Fig. 25 is briefly summarized as follows. First of all it should be evident that the cycle 0 through cycle 13 flip-flops 3301 through 3319 a row, of 14 consecutive time periods. B1 through B3 cycles 3320 through 3322 is a 3 cycle control sequence set that can be repeated. At the end of the B cycles
709810/0993709810/0993
wird der Zyklus Nr. 8 der Hauptzyklusfolge wiederholt. Die C1- biw C5-Zyklen 3330 bis 3334 legen eine zweite Reihe von Folgen fest, die ebenfalls wiederholt ausgeführt werden können. Am Ende der C-Zyklen wird der Zyklus 13 der Hauptfolge eingeleitet. Die D1- bis D3-Zyklen 3341 bis 3343 legen eine dritte Gruppe von Ablauffolgen fest. Am Ende der D-Zyklen wird das Befehlsabschluß-Flipflop 3298 gesetzt, womit die Ausführung des Serien-Suchbefehls endet.cycle no. 8 of the main cycle sequence is repeated. The C1-biw C5 cycles 3330 through 3334 lay a second series of Sequences that can also be executed repeatedly. At the end of the C cycles, cycle 13 of the main sequence is initiated. D1 through D3 cycles 3341 through 3343 define a third group of sequences. At the end of the D cycles, that will be Command completion flip-flop 3298 is set, ending execution of the serial search command.
Im folgenden sei Fig. 24A näher betrachtet. Auf die Aufnahme eines Serien-Sacnbefehls, wie er durch den Seriensuchbefehlsdetektor 3201 angezeigt wird, wird der Befehl kurzzeitig in dem Befehlspuffer 3202 gespeichert. Der Befehlspuffer befindet sich in der Befehlsaufrufeinheit 1318 der Zentraleinheit 104. V/ie oben bereits erwähnt, liegt der dem Befehlspuffer 3202 zugeführte Seriensuchbefehl in dem GROP-Format vor, wie dies in Fig. 2OA gezeigt ist. Das MBZ-FeId 1911 wird unmittelbar mit dem O-Bit 3204 mittels des Vergleichers 3203 verglichen. Wenn der Vergleicher 3203 ein Ungleichheitssignal abgibt, ist eine unzulässige Formatfeldausnahme ermittelt worden, und das Unzulässigkeitsformatfeld-Flipflop 3205 wird gesetzt. Dadurch wird die Aktivierung des Ausnahmebehandlungsmechanismus bewirkt. Die Ausführung des Seriensuchbefehles ist dann abgeschlossen. Wenn der Vergleicher 3203 eine Übereinstimmung anzeigt, wird die Ausführung des Seriensuchbefehles fortgesetzt, wie dies weiter unten beschrieben wird.Referring now to FIG. 24A, a closer look is given. On the inclusion of a serial sacn command, as generated by the serial search command detector 3201 is displayed, the command is temporarily stored in the command buffer 3202. The command buffer is located in the command calling unit 1318 of the central unit 104. As already mentioned above, the serial search command supplied to the command buffer 3202 is in the GROP format as shown in Fig. 20A. The MBZ field 1911 is directly linked to the O bit 3204 by means of the comparator 3203 compared. If the comparator 3203 outputs an inequality signal, an invalid format field exception has been determined and the forbidden format field flip-flop 3205 is set. This activates the exception handling mechanism causes. The execution of the serial search command is then completed. When the comparator 3203 indicates a match, execution of the serial search command continues as described below will.
Es sei darauf hingewiesen, daß das vom Vergleicher 3203 abgegebene Übereinstimmungssignal, das auf einen 1-Verknüpf ungswert ansteigt, wenn festgestellt wird, daß das MBZ-FeId 1911 gleich 0 ist, als Eingangssignal dem Setzeingang des Zyklus-0-Flipflops 3301 zugeführt wird. Demgemäß löst die Feststellung einer Übereinstimmung bei dem betreffenden Vergleich dieIt should be noted that the output from the comparator 3203 Agreement signal that has a 1 linkage value increases when it is determined that the MBZ field 1911 is equal to 0, as an input signal to the set input of the cycle 0 flip-flop 3301 is fed. Accordingly, finding a match in the comparison in question solves the
709810/0993709810/0993
Hauptzyklusfolge mit den Zyklen 0 bis 13 aus.Main cycle sequence with cycles 0 to 13.
Das BR-FeId 1912 des Befehlspuffers ist mit dem UND-Glied 3206 verbunden, welches durch das Zyklus-O-Signal übertragungsfähig gemacht wird. Demgemäß wird im Zyklus 0 das BR-FeId in die am weitesten rechts stehenden drei Bits des Zwischenspeicher-Adreßregisters 3281 eingegeben. Bezüglich des UND-Gliedes 3293, das durch das Zyklus-O-Signal ebenfalls übertragungsfähig gesteuert wurde, ist festzustellen, daß bei dem Zyklus 0 ein 1-Bit von dem 1-Bit-Flipflop 3282 ebenfalls in die am weitesten links stehende Bitstelle des Zwischenspeicher-Adreßregisters 3281 eingegeben wird. Der Zwischenspeicher 3283 arbeitet in der typischen Weise bekannter Zwischenspeicher. Wenn das Zwischenspeicher-Adreßregister 3281 mit einer Adresse geladen ist, wird demgemäß der Inhalt der betreffenden Adresse in das Zwischenspeicher-Datenregister 3217 ausgelesen. In diesem Falle wird der aus dem Zwischenspeicher 3283 ausgelesene tatsächliche Wert das Indexregister sein, dessen Nummer gegeben ist durch die BR-Basisregisternummer aus dem Befehlspuffer . 3202. Dieses Indexregister enthält eine Bereichs-Seiten-Zeilennummer wie dies oben beschrieben worden ist. The BR field 1912 of the instruction buffer is connected to the AND gate 3206, which is made transferable by the cycle 0 signal. Accordingly, in cycle 0, the BR field is entered into the rightmost three bits of the buffer address register 3281. With regard to AND gate 3293, which was also controlled by the cycle 0 signal to be transferable, it should be noted that in cycle 0 a 1-bit from the 1-bit flip-flop 3282 also into the leftmost bit position of the buffer Address register 3281 is entered. Latch 3283 operates in the typical manner of known buffers. If the temporary storage address register 3281 is loaded with an address, the content of the relevant address is accordingly read out into the temporary storage data register 3217. In this case, the actual value read from the latch 3283 will be the index register, the number of which is given by the BR base register number from the instruction buffer. 3202. This index register contains an area page line number as described above .
Im Zyklus 1 wird das UND-Glied 3218 übertragungsfähig gemacht, wodurch die Übertragung des Inhalts des Zwischenspeicher-Datenregisters über das ODER-Glied 3219, an welchem das UND-Glied 3218 angeschlossen ist, in den Seitenfestlegungsmechanismus 3225 ermöglicht ist. Die Operation des Seitenfestlegungsmechanismus ist oben bereits beschrieben worden; eine Hardwarerealisierung für den betreffenden Mechanismus ist in Fig. 18 gezeigt. Die Aktivierung des Seitenfestlegungsmechanismus umfaßt das Setzen des Aktivierungs-Seitenfestlegungs-Flipflops 3223, was durch das Zyklus-1-Signal über das ODER-Glied 3285 bewirkt wird. Ferner erfolgt das Laden des Bereichs-Seiten-Registers 3226, in das der Inhalt desIn cycle 1, AND gate 3218 is made transferable, thereby transferring the contents of the buffer data register via the OR gate 3219, to which the AND gate 3218 is connected, into the page fixing mechanism 3225 is enabled. The operation of the paging mechanism has already been described above; a hardware implementation for the mechanism in question is shown in FIG. Activation of the paging mechanism includes setting the activation paging flip-flop 3223, which is caused by the cycle 1 signal via the OR gate 3285. Charging also takes place of the area page register 3226 in which the content of the
709810/0993709810/0993
Zwischenspeicher-Datenregisters geladen ist. Das Aktivierungs-Seitenfestlegungs-Flipflop 3223 entspricht dem in Fig. 18 dargestellten Flipflop 1851. Das Bereichs-Seiten-Register 3226 entspricht dem Register 1852 in Fig. 18. Wie oben beschrieben, kann die Ausführung des Seitenfestlegungsmechanismus 3225 zu Ausnahmen bei der seitenweisen Durchführung führen. In diesem Falle wird das Ausnahme-Flipflop 3224 gesetzt^und der Ausnahmebehandlungsmechanismus wird aktiviert. Im übrigen wird der Seitendeskriptor, welcher der in dem Bereichs-Seiten-Register vorgegebenen Seitennummer bzw. Seitenzahl entspricht, in das Seitendeskriptor-Register 3222 geladen (welches dem Register 1877 gemäß Fig. 18 entspricht). Das Seitenfestlegungsabschluß-Flipflop 3228 wird gesetzt (dieses Flipflop entspricht dem Flipflop 1897 gemäß Fig. 18). Im Hinblick auf Fig. 25 sei darauf hingewiesen, daß das Seitenfestlegungsabschluß-Flipflop, das in den 1-Zustand bei Vorliegen eines 1-Verknüpfungssignales im Zyklus 1 gesetzt wird, das UND-Glied 3303 übertragungsfähig macht, welches seinerseits den Zyklus 2 der Hauptzyklusfolge einleitet. Das Seitenfestlegungsabschluß-Flipflop bleibt solange im 1-Zustand, bis der Seitenfestlegungsmechanismus wieder aktiviert wird, und zwar durch das Setzen des Aktivierungs-Seitenfestfegungs-Flipflops 3223 und das Laden des Bereichs-Seiten-Registers 3226.Buffer data register is loaded. The activation paging flip-flop 3223 corresponds to flip-flop 1851 shown in FIG corresponds to the register 1852 in FIG. 18. As described above, the execution of the page setting mechanism 3225 can be Exceptions to the page-by-page implementation. In this case the exception flip-flop 3224 is set and the exception handling mechanism is set is activated. Otherwise, the page descriptor which is the one in the area-page register specified page number or page number is loaded into the page descriptor register 3222 (which corresponds to the register 1877 according to FIG. 18). The page setting completion flip-flop 3228 is set (this flip-flop corresponds to the Flip-flop 1897 according to FIG. 18). With reference to Fig. 25, it should be noted that the page setting completion flip-flop, that in the 1 state when there is a 1 link signal is set in cycle 1, the AND gate 3303 makes transferable, which in turn, cycle 2 of the Main cycle sequence initiates. The paging complete flip-flop remains in the 1 state until the paging mechanism is re-activated by setting the activation page lock flip-flop 3223 and loading area page register 3226.
Das Format des in das Seitendeskriptor-Register 3227 geladenen Seitendeskriptors ist in Fig.16b gezeigt. Durch das Zyklus-2-Signal wird das UND-Glied 3229 übertragungsfähig gemacht, welches das Verschiebefeld-Zählfeld 1623 des Seitendeskriptors in das Verschiebezählregister 3230 überträgt. Diese Verschiebezählerstellung wird dazu benutzt, die Bereichs-Seiten-Zeilennummer aus dem Zwischenregister 3217 aufzunehmen und den Zeilenzahlteil der betreffenden Nummer bzw. Zahl herauszuschieben und in das.W-Register 3249 zu laden. Während des Zyklus 2 überträgt das UND-Glied 3221,The format of the page descriptor loaded into the page descriptor register 3227 is shown in Figure 16b. By the The AND element 3229 is capable of transmission for a cycle 2 signal which transfers the shift field count field 1623 of the page descriptor to the shift count register 3230. This shift counter setting is used to determine the area-page line number from the intermediate register 3217 and the line number part of the relevant number or number and to load into the W register 3249. During cycle 2, AND gate 3221 transmits,
709810/0993709810/0993
das ebenfalls durch das Zyklus-2-Signal freigegeben worden ist, den Bereichsteil 1572 des Zwischenspeicher-Datenregisters 3217 in das Bereichsregister 3222, in welchem der betreffende Bereichsteil für eine spätere Verwendung gespeichert wird.which has also been enabled by the cycle 2 signal is, the area portion 1572 of the temporary storage data register 3217 into the area register 3222 in which the relevant area part is saved for later use.
Der in dem Verschiebezählregister 3230 gespeicherte Wert wird von einem Wert 22 subtrahiert, der in dem Register 3235 gespeichert ist. Diese Subtraktion erfolgt in einer Subtrahierschaltung 3236. Dieser neue Wert, der die Anzahl von Bits in der Zeilennummer darstellt, wird vom Ausgang der Subtrahierschaltung 3236 über das UND-Glied 3237, welches durch den Zyklus 3 übertragungsfähig gemacht ist, zu dem ODER-Glied 3239 hin übertragen, welches seinerseits als Verschiebewert das Eingangssignal für die Verschiebeschaltung 3243 bildet. Außerdem wird im Zyklus 3 der Inhalt des Zwischenspeicher-Datenregisters 3217 über das UND-Glied 3241, das durch den Zyklus übertragungsfähig gemacht ist, sowie das ODER-Glied 3242 in die Verschiebeschaltung 3243 eingegeben, um verschoben zu werden. Der Ausgang der Verschiebeschaltung ist mit dem UND-Glied 3245 (Fig. 24B) verbunden, das durch den Zyklus 4 übertragungsfähig gemacht wird. Im Zyklus 4 wird somit das Ausgangssignal der Verschiebeschaltung, welches die Zeilenzahl darstellt - die aus dem durch den Befehl adressierten Indexregister erhalten worden ist - über das ODER-Glied 3248 in das W-Register 3249 übertragen, in welchem die betreffende Zahl für eine spätere Verwendung gespeichert wird.The value stored in the shift count register 3230 is subtracted from a value 22 stored in the register 3235 is. This subtraction is done in a subtracting circuit 3236. This new value, which is the number of bits in represents the line number, is from the output of the subtraction circuit 3236 via the AND gate 3237, which by the Cycle 3 is made transferable, transferred to the OR gate 3239, which in turn uses the Input signal for the shift circuit 3243 forms. aside from that the contents of the buffer data register 3217 via the AND gate 3241, which is determined by the cycle is made transferable, and the OR gate 3242 is input to the shifting circuit 3243 in order to be shifted will. The output of the shift circuit is with the AND gate 3245 (Fig. 24B), which is made transmittable by cycle 4. The output signal is thus in cycle 4 the shift circuit, which represents the number of lines - those from the index register addressed by the command has been received - transferred via the OR gate 3248 into the W register 3249, in which the relevant Number is saved for later use.
Im Zyklus 5 wird der in dem Schiebe Zählregister 3230 gespeicherte Wert, der aus dem Seitendeskriptorfeld 1623 erhalten wurde, über das UND-Glied 3238, das durch den Zyklus übertragungsfähig gemacht wird, sowie das ODER-Glied 3239 zu dem Schiebezähleingang der Verschiebeschaltung 3243 übertragen.In cycle 5, the value stored in shift count register 3230 is stored Value obtained from the 1623 page descriptor field was, via the AND gate 3238, which is made transferable by the cycle, and the OR gate 3239 to the shift count input of the shift circuit 3243.
709810/0993709810/0993
Der Inhalt des Zwischenspeicher-Datenregisters 3217 wird über das ODER-Glied 3240, das durch den Zyklus 5 übertragungsfähig gemacht wird, sowie das ODER-Glied 3242 zu dem Schiebewerteingang cder Verschiebeschaltung 3243 übertragen. Im Zyklus 6 wird das verschobene Ausgangssignal der Verschiebeschaltung 3243 vrelches die Seitennummer darstellt, die aus dem Indexregister erhalten worden ist, das durch den Befehl adressiert wurde über das UND-Glied 3244 und das ODER-Glied 3246 zu dem P-Register 3247 übertragen. Die in dem P-Register 3247 gespeicherte Seitenzahl bzw. Seitennummer wird später verwendet.The content of the buffer data register 3217 is transferred to the shift value input c of the shift circuit 3243 via the OR element 3240, which is made transferable by cycle 5, and the OR element 3242. In cycle 6, the shifted output signal of the shift circuit 3243 vrelches represents the page number which has been obtained from the index register which was addressed by the instruction, via the AND gate 3244 and the OR gate 3246 to the P register 3247. The page number stored in the P register 3247 will be used later.
Die W-Zeilenzahl in dem W-Register 3249 wird dem einen Eingang der Addierereingänge des Addierers 3253 zugeführt. An dem anderen Eingang des Addierers 3253 ist das Flipflop 3252 angeschlossen, welches einen Wert von 1 enthält. Das Ausgangssignal des Addierers 3253 stellt die Zeilenzahl ¥ dar, die 1^m 1 erhöht ist. Dieses Ausgangssignal wird dem UND-Glied 3254 zugeführt, das durch den Zyklus 7 übertragungsfähig gemacht wird. Demgemäß wird im Zyklus 7 die um 1 erhöhte Zeilenzahl Vi über das UND-Glied 3254 zu dem ODER-Glied 3256 übertragen, mit dem das UND-Glied 3254 verbunden ist, und zu dem ODER-Glied 3248 zurückgeleitet. Der Ausgang des ODER-Gliedes 3248 ist seinerseits mit dem W-Register 3249 verbunden, in welchem der vergrößerte Wert der Zeilenzahl gespeichert wird.The W line number in the W register 3249 is fed to one input of the adder inputs of the adder 3253. The flip-flop 3252, which contains a value of 1, is connected to the other input of the adder 3253. The output of the adder 3253 represents the number of lines, which is increased by 1 ^ m 1. This output signal is fed to AND gate 3254, which is made transferable by cycle 7. Accordingly, in cycle 7, the number of lines Vi increased by 1 is transmitted via the AND element 3254 to the OR element 3256, to which the AND element 3254 is connected, and fed back to the OR element 3248. The output of the OR gate 3248 is in turn connected to the W register 3249, in which the increased value of the number of lines is stored.
Im Zyklus, Nr. 8, wird das Segmentnummernfeld 1625 des Seitendeskriptor-Registers 3227 über das UND-Glied 3230, das durch den Zyklus 8 übertragungsfähig gemacht wird, in die Adressensteuereinheit 3207 übertragen. Wenn der Adressensteuereinheit eine Segmentnummer bzw. Segmentzahl zugeführt wird, wird die Basisadresse des Segmentdeskriptors des betreffenden Segmentes aus der Adressensteuereinheit in das Adreßregister 3209 gelesen. Die in dem Adreßregister 3209 enthaltene Segmentbasisadresse wird über das UND-Glied 3266 übertragen, das durch dasIn cycle number 8, the segment number field becomes 1625 of the page descriptor register 3227 via the AND gate 3230, which is made transferable by cycle 8, into the address control unit 3207 transferred. When a segment number or segment number is supplied to the address control unit, the Base address of the segment descriptor of the relevant segment is read from the address control unit into the address register 3209. The segment base address contained in the address register 3209 is transmitted via the AND gate 3266, which is determined by the
7098 10/09937098 10/0993
copycopy
Zyklus-9-Signal übertragungsfähig gemacht ist. Das Ausgangssignal des UND-Gliedes 3236 wird seinerseits über das ODER-Glied 3267 in das Speicheradreßregister 3210 des Speichersystems 3213 übertragen. Es sei darauf hingev/iesen, daß der Seriensuchbefehlsdetektor 3201 ebenfalls an dem invertierenden UND-Glied 3211 angeschlossen ist, welches seinerseits an dem Speichersystem-Lese/Schreib-Flipflop 3212 angeschlossen ist. Das von dem Seriensuchbefehlsdetektor abgegebene Signal führt in dem Fall, daß es ein 1-Verknüpfungssignal ist, dazu, daß das Ausgangssignal des Verknüpfungsgliedes 3211 ein O-Verknüpfungssignal ist. Dies führt dazu, daß das Lese/Schreib-Flipflop 3212 in den O-Zustand gesetzt wird. Wenn das Speicher^ system 3213 festgestellt hat, daß das Speicheradreßregister 3210 geladen worden ist und daß das Lese/Schreib-Flipflop 3212 in den O-Verknüpfungszustand gesetzt ist, wird -eine Speicherleseoperation eingeleitet. Als Ergebnis einer Speicheroperation können ^peieherzugriffsausnahmen 3214 auftreten. Wenn derartige Ausnahmen auftreten, wird das Speicherzugriffsausnahme-Flipflop 3214 in den 1-Verknüpfungszustand gesetzt. Der Ausnahmebehandlungsmechanismus wird aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 3215 wird in den 1-Verknüpfungszustand gesetzt. Auf den Übergang des Speicheroperations-Flipflop 3215 in den 1-Verknüpfungszustand sind die aus dem Speichersystem 3213 gelesenen Daten an das Speicherdatenregister 3216 übertragen worden. Der Übergang des Speicheroerationsabschluß-Flipflops 3215 in den 1-Verknüpfungszustand führt dazu, daß das UND-Glied 3268 übertragungsfähig gemacht wird. Dadurch wird die aus dem Speichersystem ausgelesene Segmentbasisadresse in das Segmentbasisadreßregister 3284 übertragen, in welchem der betreffende Wert gespeichert wird.Cycle 9 signal is made transmittable. The output signal of AND gate 3236 is in turn entered via OR gate 3267 into memory address register 3210 of the memory system 3213 transferred. It should be noted that the Serial search command detector 3201 is also connected to the inverting AND gate 3211, which in turn is connected to connected to memory system read / write flip-flop 3212 is. The signal emitted by the series search command detector leads, in the event that it is a 1-link signal, to that the output signal of the logic element 3211 is an O logic signal is. As a result, the read / write flip-flop 3212 is set to the 0 state. If the memory ^ system 3213 has determined that memory address register 3210 has been loaded and that read / write flip-flop 3212 is set in the O link state, it becomes a memory read operation initiated. As a result of a store operation, look-up access exceptions 3214 may occur. if such exceptions occur, the memory access exception flip-flop 3214 is set to the logic 1 state. The exception handling mechanism is activated. Otherwise, the memory operation is normally ended and the memory operation completion flip-flop 3215 goes into the 1-link state set. On the transition of the memory operation flip-flop 3215 to the 1 logic state, those from the Memory system 3213 has been transferred to the memory data register 3216. The transition of the storage operation completion flip-flop 3215 in the 1 logic state leads to the AND gate 3268 being made transferable will. Thereby, the segment base address read out from the memory system is set in the segment base address register 3284 in which the relevant value is saved.
Im Zyklus 9 wird ferner das UND-Glied 3231 übertragungsfähig gemacht, welches das Anzeigesignal 1626 betreffend die letzteIn cycle 9, the AND gate 3231 is also made transferable, which the display signal 1626 relating to the last
GOPYGOPY
7098", 0/09937098 ", 0/0993
Seite von dem Seitendeskriptor-Register 3227 überträgt, um den Wert des die letzte Seite betreffenden AnzB igesignals in dem Flipflop 3232 zu speichern. Page from the page descriptor register 3227 to store the value of the display signal relating to the last page in the flip-flop 3232.
Im Hinblick auf Fig. 25 sei darauf hingewiesen, daß das Zyklus-10-Flipflop 3314 über das UND-Glied 3318 gesetzt wird, das durch das Zyklus-9-Signal und das Speicheroperationsabschluß-Signal übertragungsfähig gemacht wird.With regard to Fig. 25, it should be noted that the Cycle 10 flip-flop 3314 is set via AND gate 3318, that by the cycle 9 signal and the memory operation complete signal is made transferable.
Das Segmentbasisadreßregister 3284 ist mit einem der Addierereingänge des Addierers 3270 verbunden. An dem anderen Eingang des Addierers 3270 liegt das Register 3269, welches den Wert enthält. Der Ausgang des Addierers 3270 ist mit dem UND-Glied 3271 verbunden, das durch das Zyklus-11-Signal übertragungsfähig gemacht wird. Das Ausgangssignal des UND-Gliedes 3271 wird an das ODER-Glied 3267 übertragen, welches seinerseits das Speicheradreßregister 3210 steuert. Die somit in dem Speicheradreßregister 3210 gespeicherte Adresse stellt die Adresse des Zeilenfeld-Größenfeldes in dem Seitenkopfteil der Bereichs-Seiten-Adresse von dem Zwischenspeicher-Datenregister 3217 her dar. Dies ist ein Seitenkopfteil 1702, wie er in Fig. 16a gezeigt ist. Demgemäß wird das Speichersystem 3213, das durch das Laden des Speicheradreßregisters 3210 aktiviert wird, die Zeilenfeldgröße aus dem Speichersystem auslesen. Als Ergebnis der Speicheroperation können Speicherzugriffsausnahmen 3214 auftreten. Wenn derartige Ausnahmen auftreten, wird das Speicherzugriffsausnahme-Flipflop 3214 in den 1-Verknüpfungszustand gesetzt. Der Ausnahmebehandlungsmechanismus wird aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 3215 wird wieder in den 1-Verknüpfungszustand gesetzt. Im Hinblick auf Fig. 25 sei darauf hingewiesen, daß das UND-Glied 3216 durch das Zyklus-11 -Signal und durch das Speicheroperations-Abschluß-Signal übertragungsfähig gemacht wird, um demgemäßThe segment base address register 3284 is one of the adder inputs of adder 3270 connected. At the other input of the adder 3270 is the register 3269, which contains the value contains. The output of the adder 3270 is connected to the AND gate 3271, which can be transmitted by the cycle 11 signal is made. The output of AND gate 3271 is transferred to the OR gate 3267, which in turn controls the memory address register 3210. The thus in the Address stored in memory address register 3210 represents the address of the line field size field in the page header of the Area page address from buffer data register 3217. This is a page header 1702 as shown in FIG 16a is shown. Accordingly, the storage system 3213, activated by loading memory address register 3210 will read the line field size from the storage system. As a result of the memory operation, memory access exceptions can occur 3214 occur. When such exceptions occur, the memory access exception flip-flop 3214 goes to the logic 1 state set. The exception handling mechanism is activated. Otherwise, the memory operation becomes normal terminated, and the memory operation completion flip-flop 3215 is again set to the logic 1 state. With regard to 25, it should be noted that AND gate 3216 is activated by the cycle 11 signal and by the memory operation complete signal is made transferable to accordingly
709810/0993709810/0993
das Zyklus-12-Flif plop 3317 zu setzen. Damit beginnt der Zyklus 12 nach Abschluß der Speicheroperation und gibt die Übertragung der Zeilenfeldgröße über das UND-Glied 3274 an das Z-Register 3275 frei.to set the cycle 12 flif plop 3317. So begins the Cycle 12 after the storage operation has been completed and indicates the transfer of the line field size via AND gate 3274 the Z register 3275 free.
Das Z-Register 3275 liefert ein Eingangssignal für den Vergleicher 3276. Das andere Eingangssignal für den VergleicherThe Z register 3275 provides an input signal for the comparator 3276. The other input signal for the comparator
3276 liefert das W-Register 3249. Wenn der Vergleicher 3276 feststellt, daß der Wert in dem W-Register größer ist als der Wert in dem Z-Register oder gleich diesem Wert, wird ein Signa! abgegeben, das anzeigt, daß W größer als oder gleich Z ist. Dieses Signal, das dem UND-Glied 3277 zugeführt wird, gibt das Setzen des B-Zyklus-Flipflops 3278 frei. Das UND-Glied3276 supplies the W register 3249. If the comparator 3276 detects that the value in the W register is greater than or equal to the value in the Z register, a Signa! indicating that W is greater than or equal to Z. This signal, which is fed to the AND gate 3277, is enables the setting of B-cycle flip-flop 3278. The AND element
3277 wird durch das Zyklu—s-13-Signal übertragungsfähig gesteuert. Das B-Zyklus-Flipflop 3278, das in den 1-Verknüpfungszustand gesetzt ist, leitet seinerseits die B-Zyklus-Folgen B1 bis B3 über die Flipflops 3320 bis 3322 gemäß Fig. 25 ein.3277 is controlled to be transferable by the cycle-13 signal. The B-cycle flip-flop 3278, which is set to the logic 1 state, in turn routes the B-cycle sequences B1 to B3 via the flip-flops 3320 to 3322 according to FIG.
Wenn der Vergleicher 3276 feststellt, daß der W-Wert in dem ¥-Register 3249 kleiner ist als der Z-Wert in dem Z-Register 3275, wird ein Signal abgegeben, das anzeigt, daß W kleiner ist als Z. Dieses Signal, das dem UND-Glied 3278 zugeführt wird, gibt zusammen mit dem Zyklus-13-Signal das Setzen des C-Zyklus-Flipflops 3279 frei. Das Setzen des C-Zyklus-Flipflops 3279 leitet den C-Zyklus C1 bis G5 ein, wie dies aus Fig. 25 anhand der Flipflops 3330 bis 3334 ersichtlich ist.If the comparator 3276 determines that the W value in the ¥ register 3249 is less than the Z value in the Z register 3275, a signal is output which indicates that W is less than Z. This signal, which is fed to AND gate 3278 , together with the cycle 13 signal, sets the C cycle flip-flops 3279 free. Setting the C cycle flip-flop 3279 initiates C cycle C1 through G5 like this 25 can be seen on the basis of flip-flops 3330 to 3334.
Aus einer Betrachtung der Fig. 24A und 24B gehen die Maßnahmen hervor, die aus den B-Zyklen resultieren. Dabei dürfte ersichtlich sein, daß durch den Zyklus 31 das UND-Glied 3233 übertragungsfähig gesteuert wird, welches den Wert, der in dem Flipflop 3232 gespeichert ist, welches sine Anzeige bezüglich der letzten Seite' speichert, an den Setzeingang des eine Ausnahme bezüglich des letzten Datensatzes betreffendenConsideration of FIGS. 24A and 24B reveals the measures that result from the B cycles. It should it can be seen that the AND gate 3233 is controlled transferable by the cycle 31, which the value in is stored in the flip-flop 3232 which is its indication regarding of the last page 'saves to the set input of the Concerning an exception regarding the last record
7 09810/09937 09810/0993
GOPYGOPY
Flipflops 3234 übertragen wird. Wenn somit der von dem Seitendeskriptor-Register 3227 erhaltene Wert bezüglich des die letzte Seite betreffenden Anzeigegliedes ein 1-Verknüpfungssignal ist, wird das den letzten Datensatz betreffende Ausnahme-Flipflop 3234 gesetzt, und der Ausnahmebehandlungsmechanismus wird aktiviert. Wenn der die letzte Seite betreffende Anzeigewert ein O-Verknüpfungssignal ist, tritt die den letzten Datensatz betreffende Ausnahme nicht auf.Flip-flops 3234 is transmitted. So if that of the Page descriptor register 3227 with regard to the display element relating to the last page is a 1-link signal, the exception flip-flop relating to the last data record is activated 3234 is set and the exception handling mechanism is activated. If the one on the last page Display value is an O-logic signal, occurs does not raise the exception relating to the last record.
Wenn der den letzten Datensatz betreffende Ausnahmezustand nicht vorhanden ist, wird durch den Zyklus B2 das UND-Glied 3250 übertragungsfähig gemacht, wodurch ein O-Wert von dem Register 3251 her über das ODER-Glied 3248, an welchem das UND-Glied 3250 angeschlossen ist, zu dem W-Register 3249 übertragen^ Als Ergebnis des Zyklus B2 wird somit das W-Register 3249 auf 0 zurückgestellt. Durch den Zyklus B2 wird ferner das UND-Glied 3257 übertragungsfähig gemacht. Es sei darauf hingewiesen, daß das P-Register 47 mit dem einen Addierereingang der Addierereingänge des Addierers 3258 verbunden ist. Dem anderen Eingang des Addierers 3258 wird ein 1-Wert zugeführt, der in dem Flipflop 3259 gespeichert ist. Das Ausgangssignal des Addierers 3258 wird dem UND-Glied 3257 zugeführt, das durch den Zyklus B2 übertragungsfähig gesteuert wird. Das betreffende Signal wird über das ODER-Glied 3246 in das P-Register 3247 übertragen. Als Ergebnis des Zyklus B2 wird somit ein P-Wert zuzüglich 1 in das P-Register 3247 geladen.If the exceptional condition relating to the last data record does not exist, cycle B2 becomes the AND element 3250 made transferable, creating an O value of the Register 3251 via the OR gate 3248, to which the AND gate 3250 is connected, to the W register 3249 transferred ^ As a result of cycle B2, W register 3249 is reset to 0. Cycle B2 becomes also made the AND gate 3257 transferable. It should be noted that the P register 47 with the one Adder input of the adder inputs of adder 3258 connected is. A 1 value, which is stored in flip-flop 3259, is fed to the other input of adder 3258. The output of adder 3258 becomes the AND gate 3257, which is transferrably controlled by cycle B2. The relevant signal is sent via the OR gate 3246 transferred to P-Register 3247. As a result of cycle B2, a P value plus 1 is thus entered in the P register 3247 loaded.
Im Zyklus B3 wird der neue Wert des P-Registers 3247 mit dem Inhalt des Bereichs-Registers 3222 über das UND-Glied 3220 verknüpft bzw. kombiniert, um in den Seitenfestlegungsmechanismus 3225 geladen zu werden. Das UND-Glied 3220 ist demgemäß mit dem ODER-Glied 3219 verbunden, welches seinerseits mit dem Bereichs-Seiten-Register 3226 des Seitenfestlegungsmechanismus 3225 verbunden ist. Das Zyklus-B3-SignalIn cycle B3, the new value of P-register 3247 with the Contents of the area register 3222 linked or combined via the AND gate 3220 in order to be included in the page definition mechanism 3225 to be loaded. The AND gate 3220 is accordingly connected to the OR gate 3219, which in turn is connected to the area page register 3226 of the page setting mechanism 3225. The cycle B3 signal
7 0 9 8 10 AO 9 9 37 0 9 8 10 AO 9 9 3
wird ferner dazu herangezogen, das Aktivierungs-Seitenfestlegungs-Flipflop 3223 über das ODER-Glied 3285 zu setzen.is also used to activate the paging flip-flop 3223 to be set via the OR gate 3285.
Wie oben beschrieben, kann die Operation des Seitenfestlegungsmechanismus 3225 zum Auftreten einer Ausnahme bezüglich der seitenweisen Durchführung von Vorgängen führen. Ist dies der Fall, so wird das betreffende Ausnahme-Flipflop 3224 gesetzt, und der Ausnahmebehandlungsmechanismus wird aktiviert. Im übrigen wird der Seitendeskriptor, wie dies in Fig. 16b gezeigt ist, derjenigen Seite, deren Nummer bzw. Zahl in dem Bereichs-Seiten-Register 3226 enthalten ist, in das Seitendeskriptor-Register 3227 geladen, und das Seitenfestlegungsabschluß-Flipflop 3228 wird in den 1-Verknüpfungszustand am Ende der Operation des Mechanismus gesetzt. Die Aktivierung des Seitenfestlegungsmechanismus führt dazu, daß das Seitenfestlegungsabschluß-Flipflop 3228 in den O-Zustand bis zum Abschluß der Vorgänge des betreffenden Mechanismus überführt wird. Aus Fig. 25 dürfte ersichtlich sein, daß das Zyklus-8-Flipflop 3312 über das ODER-Glied 3210 gesetz.t werden kann, wenn das Zyklus-B3-Signal als 1-Verknüpfungssignal auftritt und wenn das Seitenfestlegungs-Abschlußsignal wieder mit einem 1-Verknüpf ungswert auftritt. Der Grund hierfür liegt darin, daß der Ausgang des ODER-Gliedes 3210 mit dem UND-Glied 3311 verbunden ist, welches dadurch übertragungsfähig gemacht wird, daß das Seitenfestlegungs-Abschlußsignal ansteigt. Demgemäß wird das Zyklus-8-Flipflop 3312 am Ende der Tätigkeit des Seitenfestlegungsmechanismus wieder in den 1-Verknüpf ungszustand gesetzt. Die Zyklen 8, 9, 10, 11, 12 und 13 werden in der zuvor beschriebenen Weise wieder ausgeführt. As described above, the operation of the page setting mechanism 3225 could cause a paging exception to occur. is If so, the relevant exception flip-flop 3224 is set and the exception handling mechanism is activated. Otherwise, the page descriptor becomes as shown in Fig. 16b is the page whose number is contained in the area page register 3226 into the page descriptor register 3227 is loaded and the page setting complete flip-flop 3228 goes into the logic 1 state on End of the operation of the mechanism set. Activation of the paging mechanism causes the paging complete flip-flop 3228 transferred to the O state until the processes of the relevant mechanism have been completed will. From Fig. 25 it should be seen that the cycle 8 flip-flop 3312 via the OR gate 3210 can be set if the cycle B3 signal occurs as a 1 logic signal and when the page setting completion signal occurs again with a 1 linkage value. The reason for this lies in that the output of the OR gate 3210 is connected to the AND gate 3311, which is thereby capable of transmission the paging completion signal is made to rise. Accordingly, at the end of the cycle 8 flip-flop 3312 becomes Activity of the paging mechanism set back to the 1-link state. Cycles 8, 9, 10, 11, 12 and 13 are executed again in the manner previously described.
Im folgenden seien die Ausführungsmaßraahmen der C-Zyklen C1 bis C5 betrachtet, die dadurch eingeleitet werden, daß das C-Zyklus-Flipflop 3279 gesetzt wird. Dabei dürfte ersichtlichThe following are the execution measures of the C-cycles C1 through C5, which are initiated by setting the C-cycle flip-flop 3279. It should be evident
709810/0993709810/0993
sein, daß im Zyklus C1 das UND-Glied 3262 übertragungsfähig gemacht wird, wie dies in Fig. 24B veranschaulicht ist. Das andere Eingangssignal für das UND-Glied 3262 ist das Ausgangssignal der Multiplizierschaltung 3261. Eines der Eingangssignale für die Multiplizierschaltung 3261 ist der Inhalt des W-Registers 3249. An dem anderen Eingang der Multiplizierschaltung 3261 liegt das Register 3260, welches einen Wert von 2 enthält. Demgemäß wird die Zeilenzahl ¥ mit zwei multipliziert-, was in diesem Falle 2Bytes des Speichersystems 3213 darstellt. Die beiden Bytes bilden die Länge des Zeilenversetzungs-Datenwortes, wie 1604-1603, in dem Zeilenversetzungsfeld 1602 gemäß Fig. 16a. Die Multiplikation der W-Zeilen-Zahl mit der Größe des Zeilenversetzungs-Datenwortes führt somit zu einer Indizierung einer Adresse, welche das richtige Zeilenversetzungs-Datenwort für die Zeile W festlegt. Das Ausgangssignal der Multiplizierschaltung 3261 wird dem UND-Glied 3262 zugeführt, das durch das Zyklus-C1-Signal übertragungsfähig gemacht wird. Das UND-Glied 3262 ist seinerseits mit einem der Addierereingänge des Addierers 3263 verbunden. Dem anderen Eingang des Addierers 3263 wird ein Wert von 10 zugeführt, der in dem Register 3264 gespeichert ist. Der Wert von 10 stellt die Versetzungsadresse in Bytes des Beginns des Zeilenversetzungsfeldes 1602 dar, wie dies in Fig. 16a gezeigt ist. Demgemäß adressiert das Ausgangssignal des Addierers 3263 den relativen Speicherplatz des Zeilenversetzungs-Datenwortes der Zeilenzahl W in der betreffenden Seite, wie dies in Fig. 16a gezeigt ist und wie dies zuvor beschrieben worden ist. Der Ausgang des Addierers 3263 ist mit dem UND-Glied 3265 verbunden, welches durch den Zyklus C2 übertragungsfähig gemacht wird. Das Ausgangssignal des UND-Gliedes 3265 ist das Eingangssignal für einen weiteren Addierer 3286. An dem anderen Eingang des Addierers 3286 liegt das Segmentbasisadreßregister 3284. Demgemäß stellt das Ausgangssignal des Addierers 3286 die absolute Adresse des gewünschten Zeilenversetzungsfeld-Datenwortesbe that the AND gate 3262 is transferable in cycle C1 is made as illustrated in Fig. 24B. The other input to AND gate 3262 is the output of the multiplier circuit 3261. One of the inputs to the multiplier circuit 3261 is the content of the W register 3249. At the other input of the multiplier circuit 3261 is the register 3260, which contains a value of 2. Accordingly, the number of lines ¥ is multiplied by two-, which in this case represents 2Bytes of the memory system 3213. The two bytes form the length of the line offset data word, as 1604-1603, in the line offset field 1602 according to Figure 16a. The multiplication of the W-line number with the The size of the line offset data word thus leads to an indexing of an address which contains the correct line offset data word for the W line. The output of the multiplier circuit 3261 is fed to the AND gate 3262 which is made transmittable by the cycle C1 signal. The AND gate 3262 is in turn with a connected to the adder inputs of adder 3263. The other A value of 10, which is stored in register 3264, is fed to the input of adder 3263. The value of 10 represents represents the offset address, in bytes, of the beginning of the line offset field 1602, as shown in Figure 16a. Accordingly, the output of adder 3263 addresses the relative storage location of the line offset data word of the line number W in the relevant page, as shown in FIG. 16a and as previously described. The output of the adder 3263 is connected to the AND gate 3265, which is made transferable by cycle C2. The output of AND gate 3265 is the input for a further adder 3286. At the other input of the adder 3286 is the segment base address register 3284. Accordingly the output of adder 3286 represents the absolute Address of the required line offset field data word
709810/0993709810/0993
der Zeilenzahl W dar. Der Ausgang des Addierers 3286 ist mit dem UND-Glied 3287 verbunden, das durch den Zyklus C3 übertragungsfähig gemacht wird. Das Ausgangssignal des UND-Gliedes 3287 wird über das ODER-Glied 3267 in das Speicheradreßregister 3210 übertragen. Wenn das Speichersystem 3213 festgestellt hat, daß das Speicheradreßregister 3210 wieder geladen worden ist und daß das Lese/Schreib-Flipflop 3212 in den O-Verknüpfungszustand gesetzt ist, wird wieder eine Speicherleseoperation eingeleitet. Als Ergebnis der Speicheroperation können Speicherzugriffsausnahmen 3214 auftreten. Wenn derartige Ausnahmen auftreten, wird das Speieherzugriffsausnahme-Flipflop 3214 in den 1-Verknüpfungszustand gesetzt, und der Ausnahmebehandlungsmechanismus wird aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 3215 wird in den 1-Verknüpfungszustand gesetzt, was anzeigt, daß das gewünschte Zeilenversetzungsfeld-Datenwort zu dem Speicherdatenregister 3216 hin übertragen worden ist. Aus Fig. 25 geht hervor, daß der Zyklus C3 und das Ansteigen des Speicheroperationsabschluß-Signales ermöglichen, daß das Setz-Eingangssignal für das Zyklus-C4-Flipflop 3333 auf einen 1-Verknüpfungswert ansteigt, wodurch der Zyklus C4 eingeleitet wird.the line number W. The output of the adder 3286 is connected to the AND gate 3287, which can be transmitted by the cycle C3 is made. The output signal of the AND gate 3287 is transferred to the memory address register via the OR gate 3267 3210 transferred. When the memory system 3213 has determined that the memory address register 3210 has been reloaded and that the read / write flip-flop 3212 is in the O logic state is set, a memory read operation is initiated again. As a result of the memory operation you can Memory access exceptions 3214 occur. When such exceptions occur, the store access exception flip-flop becomes 3214 set to the 1 link state, and the exception handling mechanism is activated. Otherwise, the memory operation is normally ended and the memory operation completion flip-flop 3215 is set to the logical 1 state, indicating that the desired offset field data word has been transferred to the storage data register 3216. From Fig. 25 it is seen that the cycle C3 and the rise of the store complete signal enables the set input to the cycle C4 flip-flop 3333 rises to a 1 logic operation value, whereby cycle C4 is initiated.
Der Zyklus C4 ermöglicht die Übertragung des D-Umschaltfeldes, des Feldes 1604 gemäß Fig. 16a, des Zeilenversetzungsfeld-Datenwortes über das UND-Glied 3272 zu dem Vergleicher 3230. An dem anderen Eingang des Vergleichers 3273 liegt das Register 3288, welches einen Wert von 2 enthält.The cycle C4 enables the transfer of the D-switchover field, of the field 1604 of Figure 16a, the line offset field data word via the AND gate 3272 to the comparator 3230. The register is located at the other input of the comparator 3273 3288, which contains a value of 2.
Wenn der Vergleicher 3273 feststellt, daß das D-Umschaltfeld des Zeilenversetzungsfeld-Dab enwortes der W-Zeilen-Zahl nicht gleich 2 ist, wird durch das Ungleichheitssignal zusammen mit dem Zyklus-C5-Signal das .UND-Glied 3255 übertragungsfähig gemacht, um das Ausgangssignal des Addierers 3253 (das ist dieWhen comparator 3273 determines that the D toggle button of the line offset field word of the W line number is not equals 2, the inequality signal together with the cycle C5 signal makes the AND gate 3255 transferable, to get the output of adder 3253 (that is the
709810/0993709810/0993
ταπί 1 erhöhte Zeilenzahl des Registers ¥ 3249) über das ODER-Glied 3256 und das ODER-Glied 3248 (an welchem das ODER-Glied 3256 angeschlossen ist) zu übertragen. Das ODER-Glied 3248 ist seinerseits an dem Register W3249 angeschlossen« Demgemäß wird der Inhalt des Registers W 3249 wieder um 1 erhöht. Wie aus Fig. 25 ersichtlich ist, bewirkt die Zustandsänderung des Zyklus-C5-Flipflops 3334 die Aktivierung des Zyklus-13-Flipflops 3319. Dies ergibt sich mit Rücksicht darauf, daß der Ausgang des Zyklus-C5-Flipflops 3334 über das ODER-Glied 3318 mit dem Setzeingang des Zyklus-C13-Flipflops 5319 verbunden ist.ταπί 1 increased number of lines in the register ¥ 3249) over that OR gate 3256 and the OR gate 3248 (at which the OR gate 3256 is connected). The OR gate 3248 is in turn connected to register W3249. Accordingly, the content of register W 3249 is increased by 1 again. As can be seen from Fig. 25, the change of state causes of cycle C5 flip-flop 3334 activates cycle 13 flip-flop 3319. This is done with consideration that the output of cycle C5 flip-flop 3334 via the OR gate 3318 with the set input of the cycle C13 flip-flop 5319 is connected.
Wenn der Vergleicher 3273 feststellt, daß das D-Umschaltfeld gleich 2 ist, setzt das Übereinstimmungssignal des Vergleichers 3273 das D-Zyklus-Flipflop 3288. Das D-Zyklus-Signal aktiviert die D-Zyklusfolge der Zyklen D1 bis D3.If the comparator 3273 determines that the D toggle field is equal to 2, the comparator asserts the match signal 3273 the D-cycle flip-flop 3288. The D-cycle signal activates the D-cycle sequence of cycles D1 to D3.
Im Zyklus D1 wird der Versetzungsteil des Zeilenversetzungsfeld-Datenwortes (siehe das Feld 1603 in Fig. 16a) entsprechend der Zeile W über das UND-Glied 3289, das durch das Zyklus-D1-Signal übertragungsfähig gemacht ist, in das Basisregister-BR-Eingangsregister 3292 übertragen. Dieses Versetzungsfeld des Zeilenversetzungsfeld-Datenwortes wird in das Versetzungsfeld des Basisregister-Eingangsregisters 3292 übertragen, wie dies in Fig. 2 mit 202 angedeutet ist. Außerdem wird im Zyklus D1 das Segmentnummernfeld 1625 des Seitendeskriptors 3227 über das UND-Glied 3291, das durch das Zyklus-D1-Signal übertragungsfähig gemacht ist, in den Segmentteil des BR-Eingangsregisters 3292 übertragen. Die Segmentnummer wird in das Feld STN, STE des Basisregisters übertragen, wie dies in dem Feld 202 gemäß Fig. 2 veranschaulicht ist. Schließlich wird als Teil des Zyklus D1 das BR-FeId des Befehlspuffers 3202 über das UND-Glied 3290, das durch den Zyklus D1 übertragungsfähig gemacht ist, in den BR-Teil 3208 der Adressensteuereinheit 3207 übertra gen.In cycle D1, the offset portion of the offset line field data word becomes (see field 1603 in Fig. 16a) accordingly of the line W via the AND gate 3289, which is made transferable by the cycle D1 signal, into the Base register BR input register 3292 transferred. This displacement field of the line displacement field data word becomes transferred to the offset field of the base register input register 3292, as indicated at 202 in FIG. In addition, the segment number field 1625 of the page descriptor 3227 via the AND gate 3291, through the cycle D1 signal is made transferable, transferred to the segment portion of the BR input register 3292. the Segment number is transferred to the STN, STE field of the base register, as illustrated in field 202 of FIG is. Finally, as part of cycle D1, the BR field of instruction buffer 3202 is accessed via AND gate 3290, the is made transferable by the cycle D1, transferred to the BR part 3208 of the address control unit 3207.
709810/0993709810/0993
Wenn der Adressensteuereinheit 3207 eine BR-Basisregisternummer in ihrem BR-Bereich 3208 zugeführt wird und wenn das BR-Eingangsregister 3292 mit einem neuen Wert geladen wird, schreibt die Adressensteuereinheit den in dem BR-Eingangsregister 3292 enthaltenen Wert in das Basisregister ein, und zwar durch eine normale Zwischenspeicher-Schreiboperation.If the address control unit 3207 has a BR base register number is supplied in its BR area 3208 and when the BR input register 3292 is loaded with a new value, the address control unit writes the value contained in the BR input register 3292 into the base register, and by a normal cache write operation.
Es dürfte ersichtlich sein, daß das Lese/Schreib-Flipflop 3295 des HilfsSpeichers 3283 zunächst in den O-Zustand unter Anzeige einer Leseoperation durch die Wirkung des zur Ermittelung eines Seriensuchbefehls dienenden Detektors 3201 gesetzt worden ist, der an dem invertierenden UND-Glied 3294 angeschlossen ist. Da der für die Ermittelung eines Seriensuch-It should be seen that the read / write flip-flop 3295 of the auxiliary memory 3283 initially in the O-state under display a read operation is set by the action of the detector 3201 serving to detect a serial search command which is connected to the inverting AND gate 3294. Since the for the determination of a series search
ein "1"-Signala "1" signal
befehles vorgesehene Detektor 3201/abgibt, sinkt das Ausgangssignal des invertierenden UND-Gliedes 3294 auf einen O-Verknüpfungswert, der über das ODER-Glied 3299 in das Zwischenspeicher-Lese/Schreib-Flipflop 3295 als O-Wert übertragen wird. Im Zyklus D2 wird jedoch das Zyklus-D2-Signal, das ein 1-Signal ist, über das UND-Glied 3^01 zu dem ODER-Glied 3299 und in das Zwischenspeicher-Lese/Schreib-Flipflop 3295 als 1-Wert übertragen, wodurch eine Lese/Schreib-Operation angezeigt wird. Außerdem wird im Zyklus D2 der Inhalt des W-Registers 3249 zu dem Zeilennummernteil 1574 der Bereichs-Seiten-Zeilen-Nummer in dem Zwischenspeicher-Datenregister 3217 über das UND-Glied 3297 übertragen, das durch das Zyklus-D2-Signal übertragungsfähig gemacht ist. Außerdem wird der Inhalt des P-Registers 3247 zu dem Seitennummernteil 1573 der Bereichs-Seiten-Zeilennummer in dem Zwischenspeicher-Datenregister 3217 über das UND-Glied 3296 übertragen, welches im Zyklus D2 übertragungsfähig gemacht ist. Der Bereichsnummernteil 1572 der Bereichs-Seiten-Zeilennummer des Zwischenspeicher-Datenregisters 3217 ist unverändert geblieben, da der Zwischenspeicher während des Zyklus 0 zuerst ausgelesen wurde. Außerdem ist die Adresse in dem Zwischen-befehles provided detector 3201 / emits, the output signal drops of the inverting AND gate 3294 to an O logic value, which is entered via the OR gate 3299 into the Buffer read / write flip-flop 3295 transferred as a 0 value will. In cycle D2, however, the cycle D2 signal, which is a 1 signal, becomes the OR gate via the AND gate 3 ^ 01 3299 and into the latch read / write flip-flop 3295 is transferred as a 1 value, causing a read / write operation is shown. In addition, in cycle D2, the content of the W register 3249 becomes the line number part 1574 of the area page line number transferred in the buffer data register 3217 via the AND gate 3297, which is carried out by the cycle D2 signal is made transmittable. In addition, the content of the P register 3247 becomes the page number part 1573 of the area page line number in the temporary storage data register 3217 via the AND gate 3296, which is made transferable in cycle D2. The area number part 1572 of the area page line number of the Latch data register 3217 has remained unchanged since the latch was first during cycle 0 was read out. In addition, the address is in the intermediate
709810/0993709810/0993
Speicher-Adreßregister 3281 die Adresse des Indexregisters, und zwar entsprechend der BR-Basisregisternummer in dem Befehlspuffer 3202. Der Zwischenspeicher 3283 schreibt die neue Bereichs-Seiten-Zeilennummer in dieses Indexregister, nachdem das Zyklus-D2-Signal das Laden des Zwischenspeicher-Datenregisters 3217 und das Setzen des Zwischenspeicher-Lese/Schreib-Flipflops 3295 in den 1-Verknüpf ungszustand bewirkt hat.Memory Address Register 3281 is the address of the index register, corresponding to the BR base register number in the Instruction buffer 3202. The buffer memory 3283 writes the new area page line number into this index register, after the cycle D2 signal loads the latch data register 3217 and setting the cache read / write flip-flop 3295 in the 1-link state.
Das Zyklus-D3-Signal wird dem Setzeingang des Befehlsabschluß-Flipflops 3298 zugeführt. Demgemäß setzt das Zyklus-D3-Signal das Befehlsabschluß-Flipflop in den 1-Verknüpfungszustand. Dadurch wird das Ende des Seriensuch-Datenbankbefehles angezeigt.The cycle D3 signal becomes the set input of the command completion flip-flop 3298 supplied. Accordingly, the cycle D3 signal sets the command completion flip-flop to the logic 1 state. Through this the end of the recurring search database command is displayed.
In Fig. 25 ist die detaillierte Verknüpfungsschaltung für die Zykluszähler-Steuerlogik der in Fig. 24A und 24B gezeigten Hardwarerealisierung des Seriensuchbefehles veranschaulicht. Die für die Zyklen 0 bis 13 vorgesehenen Flipflops 3304 bis 3319 legen die Hauptzyklusfolge der Steuerlogik fest. Die für die Zyklen B1 bis B3 vorgesehenen Flipflops 3320 bis 3322 legen die B-Zyklusfolge fest. Die für die Zyklen C1 bis C5 vorgesehenen Flipflops 3330 bis3334 legen die C-Zyklusfolge fest. Die für die Zyklen D1 bis D3 vorgesehenen Flipflops 3341 bis 3343 legen die D-Zyklusfolge fest. Jedes in Fig. 25 dargestellte Flipflop ist ein Synchron-Flipflop. Demgemäß wird ein Taktsystem benutzt, um die Verknüpf ungszustandsänderungen in jedem dieser Flipflops zu triggern. Bei dem Taktsystem wird ein Taktsignal dem Takteingang des jeweiligen Flipflops zugeführt. Bei jedem Flipflop der Flipflops dieser Steuerzyklus-Zählerlogik ist außerdem das Ausgangssignal dem jeweils zugehörigen Rückstelleingang zugeführt. Demgemäß wird ein Zyklus-Flipflop, das im 1-Zustand gesetzt ist, eine Taktperiode später in den O-Zustand zurückgestellt. Das Ergebnis dieser Art von Flipflopverbindung ist das Auftreten einer Reihe von aufeinanderfolgenden Zyklusimpulsen.Referring to Figure 25, the detailed logic circuit for the cycle counter control logic is that shown in Figures 24A and 24B Hardware implementation of the serial search command illustrated. The flip-flops 3304 bis provided for cycles 0 to 13 3319 define the main cycle sequence of the control logic. The flip-flops 3320 to 3322 provided for cycles B1 to B3 define the B cycle sequence. The ones provided for cycles C1 to C5 Flip-flops 3330 to 3334 define the C cycle sequence. The flip-flops 3341 to 3343 provided for cycles D1 to D3 define the D cycle sequence. Each in Fig. 25 The flip-flop shown is a synchronous flip-flop. Accordingly a clock system is used to trigger the logic state changes in each of these flip-flops. In which Clock system, a clock signal is fed to the clock input of the respective flip-flop. With each flip-flop the flip-flops this one Control cycle counter logic, the output signal is also fed to the respective reset input. Accordingly a cycle flip-flop set in the 1 state becomes a Clock period later reset to the 0 state. The result of this type of flip-flop connection is occurrence a series of consecutive cycle pulses.
709810/0993709810/0993
Das von dem Vergleicher 3203 gemäß Fig. 24A gelieferte Übereinstimmungssignal wird dem Setzeingang des Zyklus-O-Flipflops 3301 zugeführt. Nachdem das MBZ-FeId 1911 des Seriensuchbefehles auf das Vorliegen des Wertes 0 überprüft worden ist, wird demgemäß der Zyklus 0 eingeleitet. Das Zyklus-O-Flipflop 3301 ist mit seinem Ausgang am Setzeingang des Zyklus-1-Flipflops 3302 angeschlossen. Der Ausgang des Zyklus-1-Flipflops 3302 ist an dem UND-Glied 3303 angeschlossen. Das UND-Glied 3303 wird durch das Seitenfestlegungsabschluß-Flipflop-Signal von dem Seitenfestlegungsmechanismus 3225 her freigegeben bzw. .übertragungsfähig gemacht. Demgemäß steigt das Ausgangssignal des UND-Gliedes 3303 auf einen 1-Verknüpf ungswert an, wenn der Seitenfestlegungsmechanismus seine Operation beendet hat. Zu diesem Zeitpunkt ist der Seriensuchbefehl bereit, auf den nächsten Schritt seiner Ausführung überzugehen. Der Ausgang des UND-GliedesThe agreement signal supplied by the comparator 3203 in accordance with FIG. 24A becomes the set input of the cycle-O flip-flop 3301 supplied. After the MBZ field 1911 of the serial search command checked for the value 0 has been, cycle 0 is accordingly initiated. The output of the cycle-O flip-flop 3301 is at the set input of cycle 1 flip-flop 3302 is connected. The exit of cycle 1 flip-flop 3302 is connected to AND gate 3303. The AND gate 3303 is activated by the page setting completion flip-flop signal released or made transferable by the page lock mechanism 3225. Accordingly, the output signal of the AND gate 3303 rises to a logic 1 value when the page fixing mechanism has finished his operation. At this point the serial search command is ready to move on to the next step to pass over its execution. The output of the AND gate
3303 ist direkt mit dem Setzeingang des Zyklus-2-Flipflops3303 is directly connected to the set input of the cycle 2 flip-flop
3304 verbunden. Der Ausgang des Zyklus-2-Flipflops 3304 ist mit dem Setzeingang des Zyklus-3-Flipflops 3303 verbunden. Der Ausgang des Zyklus-3-Flipflops 3305 ist mit dem Setzeingang des Zyklus-4-Flipflops 3306 verbunden. Der Ausgang des Zyklus-4-Flipflops 3306 ist mit dem Setzeingang des Zyklus-5-Flipflops 3307 verbunden. Der Ausgang des Zyklus-5-Flipflops 3307 ist mit dem Setzeingang des Zyklus-6-Flipflops 3308 verbunden. Der Ausgang des Zyklus-6-Flipflops 3308 ist mit dem Setzeingang des Zyklus-7-Flipflops 3309 verbunden.3304 connected. The output of cycle 2 flip-flop 3304 is connected to the set input of cycle 3 flip-flop 3303. The output of cycle 3 flip-flop 3305 is connected to the set input of cycle 4 flip-flop 3306. The outcome of the Cycle 4 flip-flop 3306 is connected to the set input of the cycle 5 flip-flop 3307 connected. The output of the cycle 5 flip-flop 3307 is with the set input of the cycle 6 flip-flop 3308 connected. The output of cycle 6 flip-flop 3308 is connected to the set input of cycle 7 flip-flop 3309.
Der Ausgang des Zyklus-7-Flipflops 3309 ist mit dem ODER-Glied 3310 verbunden. An dem anderen Eingang des ODER-Gliedes 3310 ist der Ausgang der Zyklus-B3-Stufe 3322 angeschlossen. Demgemäß kann die nächste Ablauffolge nach dem Zyklus entweder durch das Zyklus-7-Signal oder durch das Zyklus-B3-Signal aktiviert werden.. Der Ausgang des ODER-Gliedes 3310 ist mit dem UND-Glied 3311 verbunden. Dieses UND-Glied wirdThe output of cycle 7 flip-flop 3309 is OR gate 3310 connected. The output of the cycle B3 stage 3322 is connected to the other input of the OR gate 3310. Accordingly, the next sequence after the cycle can either be by the cycle 7 signal or by the cycle B3 signal activated .. The output of the OR gate 3310 is connected to the AND gate 3311. This AND element becomes
709810/0993709810/0993
durch das Seitenfestlegungsabschlußsignal von dem Seitenfestlegungsabschluß-Flipflop 3228 her übertragungsfähig gemacht. Das UND-Glied 3311 ist an dem Setzeingang des Zyklus-8-Flipflops 3312 angeschlossen. Der Ausgang des Zyklus-8-Flipflops 3312 ist an dem Setzeingang des Zyklus-9-Flipflops 3313 angeschlossen. Der Ausgang des Zyklus-9-Flipflops 3313 ist an dem UND-Glied 3318 angeschlossen. Dieses UND-Glied wird durch das Speicheroperationsabschlußsignal von dem Speicheroperationsabschluß-Flipflop 3215 her übertragungsfähig gemacht. Nach dem Zyklus 9 und nach Abschluß der Speicheroperation steigt somit das Ausgangssignal des UND-Gliedes 3318 auf einen 1-Verknüpfungswert an. Da das UND-Glied 3318 am Setzeingang des Zyklus-10-Flipflops 3314 angeschlossen ist, folgt sodann der Zyklus 10. Der Ausgang des Zyklus-10-Flipflops 3314 ist am Setzeingang des Zyklus-11-Flipflops 3315 angeschlossen. Der Ausgang des Zyklus-11-Flipflops 3315 ist an dem UND-Glied 3316 angeschlossen. Dieses UND-Glied wird ebenfalls durch das Speicheroerationsabschlußsignal von dem Speicheroperationsabschluß-Flipflop 3215 her übertragungsfähig gemacht bzw. freigegeben, das in einen 1-Verknüpfungszustand auf den Abschluß der Vorgänge in dem Speichersystem übergeht. Der Ausgang des UND-Gliedes 3316 ist am Setzeingang des Zyklus-12-Flipflops 3317 angeschlossen.by the page setting completion signal from the page setting completion flip-flop 3228 made transferable. The AND gate 3311 is at the set input of the cycle 8 flip-flop 3312 connected. The output of the cycle 8 flip-flop 3312 is connected to the set input of cycle 9 flip-flop 3313. The output of cycle 9 flip-flop 3313 is on connected to AND gate 3318. This AND gate is activated by the memory operation completion signal from the memory operation completion flip-flop 3215 made transferable. After cycle 9 and after the store operation is complete the output signal of the AND element 3318 thus rises to a 1-logic operation value. Since the AND gate 3318 at the set input of cycle 10 flip-flop 3314 is connected, follows then cycle 10. The output of cycle 10 flip-flop 3314 is connected to the set input of cycle 11 flip-flop 3315. The output of cycle 11 flip-flop 3315 is at the AND gate 3316 connected. This AND gate is also activated by the memory operation completion signal from the memory operation completion flip-flop 3215 made transferable or released, which is in a 1-link state proceeds to the completion of the operations in the storage system. The output of the AND gate 3316 is at the set input of the Cycle 12 flip-flops 3317 connected.
Der Ausgang des Zyklus-12-Flipflops 3317 ist an dem ODER-Glied 3318 angeschlossen. Der Ausgang des Zyklus-C5-Flipflops 3334 ist ebenfalls an dem ODER-Glied 3318 angeschlossen. Dieses ODER-Glied 3318 ist am Setzeingang des Zyklus-13-Flipflops 3319 angeschlossen.The output of cycle 12 flip-flop 3317 is at the OR gate 3318 connected. The output of the cycle C5 flip-flop 3334 is also connected to the OR gate 3318. This OR gate 3318 is at the set input of the cycle 13 flip-flop 3319 connected.
Die B-Zyklusfolge wird durch das B-Zyklus-Flipflop 3278 aktiviert, dessen Ausgang am Setzeingang des Zyklus-B-Flipflops 3320 angeschlossen ist. Der Ausgang des Zyklus-B1-Flipflops 3320 ist am Setzeingang des Zyklus-B2-Flipflops 3321 The B cycle sequence is activated by the B cycle flip-flop 3278, whose output is connected to the set input of cycle B flip-flop 3320. The output of cycle B1 flip-flop 3320 is at the set input of cycle B2 flip-flop 3321
709810/0993709810/0993
angeschlossen. Der Ausgang des Zyklus-B2-Flipflops 3321 ist am Setzeingang des Zyklus-B3-Flipflops 3322 angeschlossen. Wie zuvor ausgeführt, ist der Ausgang des Zyklus-B3-Flipflops 3322 ebenfalls an dem ODER-Glied 3310 angeschlossen, welches über das UND-Glied 3311 am Setzeingang des Zyklus-8-Flipflops 3312 angeschlossen ist.connected. The output of cycle B2 flip-flop 3321 is connected to the set input of the cycle B3 flip-flop 3322. As previously stated, the output of the cycle is B3 flip-flop 3322 also connected to the OR gate 3310, which is connected via the AND gate 3311 to the set input of the cycle 8 flip-flop 3312 is connected.
Die C-Zyklusfolge wird durch das C-Zyklus-Flipflop 3379 aktiviert, dessen Ausgang am Setzeingang des Zyklus-C1-Flipflops 3330 angeschlossen ist. Der Ausgang des C1-Flipflops 3330 ist am Setzeingang des Zyklus-C2-Flipflops 3331 angeschlossen. Der Ausgang des Zyklus-C2-Flipflops 3331 ist am Setzeingang des Zyklus-C3-Flipflops 3332 angeschlossen. Der Ausgang des Zyklus-C3-Flipflops 3332 ist an dem UND-Glied 3340 angeschlossen. Das UND-Glied 3340 wird durch das Speicheroperationsabschlußsignal von dem Speicheroperationsabschluß-Flipflop 3215 freigegeben bzw. übertragungsfähig gemacht. Der Ausgang des UND-Gliedes 3340 ist am Setzeingang des Zyklus-C4-Flipflops 3333 angeschlossen. Der Ausgang des Zyklus-C4-Flipflops 3333 ist an dem Setzeingang des Zyklus-C5-Flipflops 3334 angeschlossen. Wie weiter oben bereits ausgeführt worden ist, ist der Ausgang des Zyklus-C5-Flipflops 3334 an dem ODER-Glied 3318 angeschlossen, welches seinerseits am Setzeingang des Zyklus-13-Flipflops 3319 angeschlossen ist.The C cycle sequence is set by the C cycle flip-flop 3379 activated whose output is connected to the set input of cycle C1 flip-flop 3330. The output of the C1 flip-flop 3330 is connected to the set input of cycle C2 flip-flop 3331. The output of the cycle C2 flip-flop 3331 is at the set input of cycle C3 flip-flop 3332 is connected. The outcome of the Cycle C3 flip-flop 3332 is connected to AND gate 3340. The AND gate 3340 is activated by the memory operation completion signal enabled by memory operation complete flip-flop 3215 or made transferable. The outcome of the AND gate 3340 is connected to the set input of cycle C4 flip-flop 3333. The output of cycle C4 flip-flop 3333 is connected to the set input of cycle C5 flip-flop 3334. As has already been stated above, is the output of cycle C5 flip-flop 3334 on the OR gate 3318 connected, which in turn is connected to the set input of the cycle 13 flip-flop 3319.
Die D-Zyklus-Folge wird durch das D-Zyklus-Flipflop 3288 aktiviert, welches am Setzeingang des Zyklus-D1-Flipflops 3341 angeschlossen ist. Der Ausgang des Zyklus-D1-Flipflops 3341 ist am Setzeingang des Zyklus-D2-Flipflops 3342 angeschlossen. Der Ausgang des Zyklus-D2-Flipflops 3342 ist am Setzeingang des Zyklus-D3-Flipflops 3343 angeschlossen.The D-cycle sequence is generated by the D-cycle flip-flop 3288 activated, which is activated at the set input of the cycle D1 flip-flop 3341 connected. The output of cycle D1 flip-flop 3341 is connected to the set input of the cycle D2 flip-flop 3342. The output of the cycle D2 flip-flop 3342 is at the set input of the cycle D3 flip-flop 3343 is connected.
7098 10/09937098 10/0993
Der Datensatzprüf-Datenbank^befehl ist ein in Firmware/Hardware ausgeführter Maschinenbefehl, der einen Datensatzdeskriptor (siehe Fig. 19b) aufruft, welcher einen Bezugsdatensatztyp enthält. Sodann wird der Datensatztyp des zu überprüfenden Datensatzes, auf den durch das Basisregister hingezeigt wird, aufgerufen, und ein Vergleich wird durchgeführt. Der Zustandscode des Statusregisters wird in Übereinstimmung mit den Ergebnissen des Vergleichs eingestellt. Der Prüfdatensatztypbefehl liegt im XI-Format vor, wie dies in Fig. 2OB gezeigt ist.The record check database ^ command is in firmware / hardware executed machine instruction which calls a data record descriptor (see Fig. 19b) which has a related data record type contains. Then the data record type of the data record to be checked, to which the base register is called and a comparison is made. The status code of the status register becomes in accordance set with the results of the comparison. The audit record type command is in XI format, as shown in 20B is shown.
Das Firmware-Flußdiagramm für den Prüfdatensatztypbefehl ist in Fig. 26 gezeigt. Bei der Operation 4001 des Firmware-Flußdiagramms erfolgt eine Überprüfung des Formates des Befehls. Sodann ruft die Operation 4003 den Datensatzdeskriptor auf, der den Bezugsdatensatztyp enthält. Anschließend wird in der Operation 4005 der Datensatztyp des durch das Basisregister adressierten Datensatzes aufgerufen, und in der Operation 4007 erfolgt der tatsächliche Vergleich der beiden Datensatztypen. In den Operationen 4008 und 4009 wird der Zustandscode in Übereinstimmung mit dem Ergebnis des Vergleichs festgesetzt. Dabei wird ein Zustandscode von 1 festgesetzt, falls die Datensatztypen gleich sind, oder es wird ein Zustandscode von 0 festgesetzt, falls die Datensatztypen ungleich sind. Die Operationen 4010 und 4011 beenden den Hardware/Firmware-Befehl.The firmware flow chart for the Audit Record Type command is shown in FIG. At operation 4001 of the firmware flowchart the format of the command is checked. Operation 4003 then calls the record descriptor, that contains the related record type. Then, in operation 4005, the record type is determined by the base register addressed data record is called, and in operation 4007 the actual comparison of the two data record types takes place. In operations 4008 and 4009, the status code is set in accordance with the result of the comparison. A status code of 1 is set if the data record types are the same, or a status code of 0 is set, if the record types are not the same. Operations 4010 and 4011 terminate the hardware / firmware command.
Im folgenden sei auf Fig. 26 näher eingegangen. Zunächst wird in der Operation 4001 das MBZ-FeId 1923 des Befehls (siehe Figo 20B) darauf überprüft, ob es 0 ist. Diese überprüfung auf 0 erfolgt dadurch, daß der Befehl aus der Befehlsaufrufeinheit (siehe Fig. 13a, IFU 1318) zu einem Register in dem Rechenwerk 1317 übertragen wird. Wenn die in diesem Register durchgeführte Hardwareprüfung feststellt, daß das MBZ-FeIdIn the following, FIG. 26 will be discussed in more detail. First, in operation 4001, the MBZ field 1923 of the command (see Figo 20B) checks whether it is 0. This check for 0 takes place in that the command from the command calling unit (see FIG. 13a, IFU 1318) is transmitted to a register in the arithmetic unit 1317. If the in this register The hardware test carried out determines that the MBZ field
709810/0993709810/0993
nicht O ist, führt die Firmare eine Verzweigung zu der Ausnahmebehandlung vor, wie dies in Fig. 26 mit 4002 angedeutet ist. Diese Ausnahme wird als Unzulässigkeits-Formatfeld-Ausnahme bezeichnet. Ist das MBZ-FeId 0, so schreitet die Firmware zur Operation 4003 weiter, bei der ein Aufruf von 4 Bytes für den Hauptspeicher unter einer Adresse erfolgt, die aus der Adreßsilbe AS 1922 des Befehls abgeleitet ist. Diese Adressenbildung erfolgt in der Adressensteuereinheit (siehe ACU 1319 in Fig. 13a). Als Ergebnis des Aufrufs an den Speicher können Speicherzugriffsausnahmen auftreten, wie dies in Fig. 26 mit 4004 angedeutet ist. Einige Beispiele der Speicherzugriffsausnahmen sind "außerhalb des Segments", "Segment nicht vorhanden" oder "außerhalb des Hauptspeichers". Die ersten 25 Bits der aufgerufenen bzw. abgerufenen vier Bytes stellen einen Datensat zdeskrip tor dar, wie er in Verbindung mit Fig. 19b beschrieben worden ist.is not 0, the firmare branches to exception handling as indicated in FIG. 26 with 4002. This exception is called a Forbidden Format Field Exception designated. If the MBZ field is 0, the firmware proceeds to operation 4003, in which a call of 4 bytes for the main memory takes place at an address which is derived from the address syllable AS 1922 of the command. This address formation occurs in the address control unit (see ACU 1319 in Figure 13a). As a result of the call to memory you can Memory access exceptions occur, as indicated by 4004 in FIG. Some examples of memory access exceptions are "outside of segment", "segment does not exist" or "outside of main memory". The first 25 bits of the The four bytes called up or called up represent a data set descriptor as described in connection with FIG. 19b has been.
Bei der Operation 4005 erfolgt ein Aufruf an den Hauptspeicher, um den Datensatztyp des durch diesen Befehl adressierten Datensatzes zu erhalten. Der Datensatz, auf den durch den Befehl hingewiesen ist, wird über das Basisregister BR adressiert, das sich in dem Feld 1926 des Befehles findet. Dieser Aufruf an den Hauptspeicher ist ein Aufruf nach zwei Bytes, wobei die ersten 10 Bits den Typ des Datensatzes sowohl für virtuelle Speicherdatensätze als auch für Datenbankspeichersätze darstellen, wie dies in Fig. 15a (Feld 1501) und in Fig. 15b (Feld 1510) veranschaulicht ist. Dieser Datensatztyp, der aufgerufen wird, wird an die Datenverwaltungseinheit 1321 übertragen. Als Ergebnis dieses Speicheraufrufs können Speicherzugriffsausnahmen 4006 auftreten. Nachdem die 10 Bits, die den Datensatztyp darstellen, von der Speichereinheit 102 (siehe Fig. 1) an die Datenverwaltungseinheit 1321 übertragen sind, überträgt die Firmwaresteuerung sodann den 10-Bit-Datensatztyp des adressierten Datensatzes an das Rechenwerk 1317.At operation 4005, a call is made to main memory to determine the record type of the record addressed by this command to obtain. The data record referred to by the command is addressed via the base register BR, which can be found in the 1926 field of the order. This call to main memory is a call for two bytes, whereby the first 10 bits represent the type of record for both virtual storage records and database storage records, as illustrated in Fig. 15a (field 1501) and in Fig. 15b (field 1510). This type of record, the is called is transmitted to the data management unit 1321. As a result of this memory call you can Memory access exceptions 4006 occur. After the 10 bits representing the record type from the storage unit 102 (see FIG. 1) are transmitted to the data management unit 1321, the firmware controller then transmits the 10-bit data record type of the addressed data record to the arithmetic unit 1317.
7098 10/09937098 10/0993
An dieser Stelle enthält das Rechenwerk nunmehr sowohl den Bezugsdatensatztyp, auf den durch die Adreßsilbe hingewiesen ist und der in der Operation 4003 aufgerufen worden ist, als auch den Datensatztyp des Datensatzes, der durch den Befehl über das Basisregister adressiert und in der Operation 4005 aufgerufen worden ist. In der Operation 4007 führt die Firmware den Vergleich zwischen dem Datensatztyp des Datensatzes, der durch das Basisregister adressiert ist, und dem Bezugsdatensatztyp aus. Dieser Vergleich erfolgt durch die Hauptaddierereinheit des Rechenwerkes unter Ausnutzung der Vergleichsfunktion. Wenn die Firmwaresteuerung eine Gleichheit zwischen den beiden verglichenen Datensatztypen feststellt, führt die Firmware eine Verzweigung zu der Operation 4009 hin aus. Wenn der Vergleich zu einer Ungleichheit führt, führt die Firmware eine Verzweigung zu der Operation 4008 hin aus.At this point the arithmetic unit now contains both the reference data record type indicated by the address syllable and that was called in operation 4003, as well as the record type of the record that was called by the command addressed via the base register and called in operation 4005. In operation 4007, the firmware the comparison between the record type of the record addressed by the base register and the related record type the end. This comparison is carried out by the main adder unit of the arithmetic unit using the comparison function. If the firmware control determines an equality between the two compared data record types, the firmware executes a branch to operation 4009. If the comparison leads to an inequality, leads the firmware branches out to operation 4008.
Wenn die Firmware eine Übereinstimmung bzw. Gleichheit zwischen dem Datensatztyp des adressierten Datensatzes und dem Bezugsdatensatztyp festgestellt hat und wenn die Verzweigung in der Operation 4009 erfolgte, wird der Zustandscode des Statusregisters (siehe 207 in Fig. 2) durch die Hardware/Firmware auf 1 gesetzt. Anschließend wird die Operation 4011 ausgeführt, bei der der Befehl abgeschlossen ist und bei der die Hardware/Firmware eine Verzweigung zu dem nächsten Befehl ausführt.If the firmware shows a match between the record type of the addressed record and the related record type and if the branch was made in operation 4009, the status code of the status register (see 207 in FIG. 2) set to 1 by the hardware / firmware. Operation 4011 is then carried out, in which the command is completed and in which the hardware / firmware executes a branch to the next command.
Wenn der Vergleich zwischen dem Datensatztyp des Datensatzes und dem Bezugsdatensatztyp zu einem Ungleichheitsergebnis führt, erfolgt die Verzweigung zu der Operation 4008 hin, bei der der Zustandscode des Statusregisters 207 durch die Firmware/Hardware nunmehr auf Null gesetzt wird. Im Anschluß an die Operation 4008 führt die Firmware eine Verzweigung zu der Operation 4010 hin aus, bei der der Befehl abgeschlossen wird und bei der eine Verzweigung zu dem nächsten Befehl ausgeführt wird.When the comparison between the record type of the record and the related record type results in an inequality result leads to the branching to the operation 4008, in which the status code of the status register 207 by the Firmware / hardware is now set to zero. Following operation 4008, the firmware applies a branch to operation 4010, which completes the instruction and branches to the next instruction will.
709810/0993709810/0993
Nunmehr sei auf Fig. 27 eingegangen, in der in einer Blockdiagrammdarstellung die Hardware gezeigt ist, die zur Ausführung des Prüfdatensatztyp-Datenbankbefehles erforderlich ist. Auf die Aufnahme eines Prüfdatensatztypbefehles als Anzeigesignal von dem Prüfdatensatztypbefehlsdetektor 4201 wird der betreffende Befehl kurzzeitig in dem Befehlspuffer 4202 gespeichert. Der Befehlspuffer befindet sich in der Befehlsaufrufeinheit 1318 der Zentraleinheit 104. Wie oben bereits erwähnt, besitzt der Prüfdatensatztypbefehl, der zu dem Befehlspuffer 4201 übertragen wird, das XI-Format, wie es in Fig. 2OB gezeigt ist. Das MBZ-FeId 1923 wird unmittbar mit den O-Bits 4204 mittels des Vergleichers 4203 verglichen. Wenn der Vergleicher 4203 ein keine Übereinstimmung anzeigendes Signal abgibt, ist eine Unzulässigkeits-Formatfeldausnahme ermittelt worden, und das Unzulässigkeitsformatfeld-Flipflop 4205 wird gesetzt. Dadurch wird die Aktivierung des Ausnahmebehandlungsmechanismus bewirkt. Die Ausführung des Prüfdatensatztypbefehles wird dann abgeschlossen. Wenn der Vergleicher 4203 eine Übereinstimmung anzeigt, wird die Ausführung des Prüfdatensatztypbefehles fortgesetzt, wie dies nachstehend beschrieben wird.Referring now to FIG. 27, in a block diagram representation there is shown the hardware required to execute the audit record type database command. To the inclusion of a test data record type command as a display signal The relevant command is temporarily stored in the command buffer 4202 by the test data record type command detector 4201. The command buffer is located in the command calling unit 1318 of the central processing unit 104. As above mentioned, the audit record type command transferred to the command buffer 4201 has the XI format as shown in Fig. 20B is shown. The MBZ field 1923 is immediately linked to the O bits 4204 compared by means of the comparator 4203. When the comparator 4203 has a disagreement signal outputs, a forbidden format field exception has been detected and the forbidden format field flip-flop 4205 becomes set. This activates the exception handling mechanism. The execution of the audit record type command will then be completed. If the comparator 4203 indicates a match, execution of the audit record type command continued as described below.
Die Ermittelung eines Prüfdatensatztypbefehles durch den Prüfdatensatztypbefehlsdetektor 4201 führt ferner dazu, daß das Ausgangssignal des Deskriptor-Lese/Flipflops 4208 auf einen 1-Wert gesetzt wird. Das Ausgangssignal dieses Flipflops wird als Deskriptor-Lesesignal bezeichnet. Das UND-Glied 4206 wird durch das Deskriptor-Lesesignal und durch das Übereinstimmungssignal von dem Vergleicher 4203 freigegeben b2W . übertragungsfähig gemacht, um die Adreßsilbe 1922 an die Adressensteuereinheit 4207 zu übertragen. Wenn eine Adreßsilbe zugeführt wird, setzt die Adressensteuereinheit 4207 die betreffende Adreßsilbe in eine Speicheradresse um. Die durch die Adressensteuereinheit 4207 gebildete Speicheradresse wird zu dem Speicheradreßregister 4209 übertragen. DerThe determination of a test data record type command by the test data record type command detector 4201 also leads to the fact that the output of descriptor read / flip flop 4208 a 1 value is set. The output signal of this flip-flop is referred to as the descriptor read signal. The AND element 4206 is through the descriptor read signal and through the match signal from comparator 4203 enabled b2W. Made transferable to the address syllable 1922 to the address control unit 4207. When an address syllable is supplied, the address control unit sets 4207 converts the relevant address syllable into a memory address. The memory address established by the address control unit 4207 is transferred to the memory address register 4209. Of the
7098 1 0/09937098 1 0/0993
Inhalt des Speicheradreßregisters 4209 wird seinerseits zu dem Speicheradreßregister 4210 des Speichersystems übertragen.The contents of the memory address register 4209 are in turn transferred to the memory address register 4210 of the memory system.
Der Prüfdatensatztypbefehlsdetektor 4201 ist ebenfalls an dem invertierenden UND-Glied 4211 angeschlossen, welches seinerseits an dem Speichersystem-Lese/Schreib-Flipflop 4212 angeschlossen ist. Das von dem betreffenden Detektor abgegebene 1-Signal führt dazu, daß das Ausgangssignal des UND-Gliedes 4211 mit einem 0-Verknüpfungswert auftritt, was dazu führt, daß das Lese/Schreib-Flipflop 4212 in den O-Zustand gesetzt wird. Wenn das Speichersystem 4213 festgestellt hat, daß das Speicheradreßregister 4210 geladen worden ist und daß das Lese/Schreib-Flipflop 4212 in den O-Zustand gesetzt worden ist, wird eine Speicherleseoperation eingeleitet. Als Ergebnis einer Speicheroperation können Speicherzugriffsausnahmen 4214 auftreten. Wenn derartige Ausnahmen auftreten, wird das Speicherzugriffsausnahme-Flipflop 4214 in den 1-Zustand gesetzt. Die Ausnahmebehandlung wird aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 4215 wird in den 1-Verknüpf ungszustand gesetzt. Auf den Übergang des Speicheroperationsabschluß-Flipflop 4215 in den 1-Verknüpfungszustand sind die aus dem Speichersystem 4213 gelesenen Daten zu dem Speicherdatenregister 4216 hin übertragen worden. Der Übergang des Speicheroperationsabschluß-Flipflops 4215 in den 1-Verknüpf ungs zustand in Verbindung mit dem als 1-Verknüpf ungssignal auftretenden Deskriptor-Lesesignal ermöglicht, daß das Datensatztypfeld 1821 des gerade aus dem Speichersystem gelesenen Datensatzdeskriptors von dem Speicherdatenregister 4216 über das UND-Glied 4217 zu dem Deskriptor-Datensatztyp-Register 4218 zu übertragen ist.The audit record type command detector 4201 is also on the inverting AND gate 4211 connected, which in turn is connected to the memory system read / write flip-flop 4212 is. The 1 signal emitted by the relevant detector leads to the output signal of the AND element 4211 occurs with a logic 0 value, which leads to the read / write flip-flop 4212 being set to the 0 state will. If the memory system 4213 has determined that the memory address register 4210 has been loaded and that the Once read / write flip-flop 4212 has been set to the 0 state, a memory read operation is initiated. As a result Memory access exceptions 4214 may occur during a memory operation. If such exceptions occur, will the memory access exception flip-flop 4214 is set to the 1 state. The exception handling is activated. Furthermore the memory operation is terminated normally, and the memory operation completion flip-flop 4215 is set to the 1-link state. On the transition of the memory operation completion flip-flop 4215 in the 1-link state are the data read from the memory system 4213 to the memory data register 4216 has been transferred. The transition of the memory operation complete flip-flop 4215 to the 1 logic operation state in connection with the 1-link signal occurring descriptor read signal enables the record type field 1821 of the just read from the storage system Record descriptor from storage data register 4216 through AND gate 4217 to the descriptor record type register 4218 is to be transferred.
Bs sei ferner darauf hingewiesen, daß der Ausgang des Speicheroperationsabschluß-Flipflops 4215 mit dem Rückstell-Bs should also be noted that the outcome of the Memory operation completion flip-flops 4215 with the reset
709810/0993709810/0993
eingang des Deskriptor-Lese-Flipflops 4208 verbunden ist. Demgemäß bewirkt der Übergang des Speicheroperationsabschluß-F^ipflop 4215 in den 1-Verknüpfungszustand, daß das Ausgangssignal des Deskriptor-Lese-Flipflops 4208 auf einen O-Wert absinkt. Da das Deskriptor-Lesesignal dem invertierenden UND-Glied 4238 zugeführt wird, bewirkt dieses Absinken des Deskriptor-Lesesignals auf einen O-Wert, daß das Ausgangssignal des invertierenden UND-Gliedes 2238 auf einen 1-Wert ansteigt. Dadurch wird das Datensatztyp-Lese-Flipflop 4220 in den 1-Verknüpfungszustand gesetzt, da nämlich der Ausgang des UND-Gliedes 4238 am Setzeingang des Datensatztyp-Lese-Flipflops 4220 angeschlossen ist. Das Ausgangssignal dieses Flipflops 4220 wird als Datensatztyp-Lesesignal bezeichnet.input of the descriptor read flip-flop 4208 is connected. Accordingly, the transition of the memory operation completion flip-flop 4215 to the logic 1 state causes the output signal of the descriptor read flip-flop 4208 to drop to a 0 value. Since the descriptor read signal to the inverting AND gate 4238 is supplied, this causes lowering of the descriptor read signal on a OW e rt, that the output signal of the inverting AND gate 2238 rises to a 1 value. As a result, the data record type read flip-flop 4220 is set to the 1 logic state, namely, since the output of the AND element 4238 is connected to the set input of the data record type read flip-flop 4220. The output of this flip-flop 4220 is referred to as the record type read signal.
Das BR-Basisregister-Feld 1926 des Befehlspuffers 4206 ist mit dem UND-Glied 4221 verbunden. Dieses UND-Glied wird durch das Datensatztyp-Lesesignal freigegeben bzw. übertragungsfähig gemacht. Das Ansteigen des Datensatztyp-Lesesignals auf einen 1-Verknüpfungswert bewirkt somit, daß das Basisregisterfeld BR 1926 zu dem Basisregistereingang 4222 der Adressensteuereinheit 4207 über die Verbindung des UND-Gliedes 4221 zu übertragen ist. Wenn der Basissteuereinheit 4207 eine Basisregisternummer an ihrem BR-Basisregistereingang 4242 zugeführt wird, besteht die daraus resultierende Maßnahme darin, daß der Inhalt des Baeisregisters ausgelesen wird, dessen Nummer eingegeben wurde. Diese Operation ist eine typische Zwischenspeicher-Leseoperation. Der Basisregisterinhalt von der Adressensteuereinheit wird über das ODER-Glied 4223 an den Basisregisterausgang 2224 der Adressensteuereinheit abgegeben. Der Ausgang des Basisregisters bzw. der Basisregisterausgang. 4224 ist seinerseits mit dem UND-Glied 4225 verbunden, welches durch das Datensatztyp-Lesesignal freigegeben bzw. übertragungsfähig gemacht wird. Der Ausgang des UND-Gliedes 4225 ist mit der Adressensteuereinheit 4207The BR base register field 1926 of the instruction buffer 4206 is connected to the AND gate 4221. This AND element is enabled or made transferable by the data record type read signal. The rise of the data record type read signal to a 1 link value thus causes the base register field BR 1926 to be transferred to the base register input 4222 of the address control unit 4207 via the connection of the AND element 4221. If the base control unit 4207 is supplied with a base register number at its BR base register input 4242, the resultant action consists in reading out the content of the base register whose number was entered. This operation is a typical cache read operation. The base register content from the address control unit is output via the OR gate 4223 to the base register output 2224 of the address control unit. The output of the base register or the base register output. 4224 is in turn connected to AND element 4225, which is enabled or made transferable by the data record type read signal. The output of AND gate 4225 is to address control unit 4207
709810/0993709810/0993
verbunden. Die Adressensteuereinheit setzt, wenn ihr der Inhalt eines Basisregisters zugeführt wird, diesen Inhalt in eine Speicheradresse um.tied together. When the content of a base register is supplied to it, the address control unit sets this content into a memory address.
Demgemäß stellt das Ausgangssignal der Adressensteuereinheit 4207 ebenfalls wieder eine Adresse dar, die zu dem Speicheradreßregister 4209 übertragen wird, welches seinerseits eine Übertragung zu dem Speicheradreßregister des Speiehersystems 4210 vornimmt.Accordingly, the output signal of the address control unit 4207 also again represents an address which is transferred to the memory address register 4209, which in turn is a Transfer to the memory system memory address register 4210 makes.
Wenn das Speichersystem 4213 feststellt, daß sein Speicheradreßregister 4210 mit einer neuen Adresse geladen worden ist und daß das Lese/Schreib-Flipflop 4212 sich im O-Verknüpfungszustand befindet, wird ebenfalls eine Speicherleseoperation eingeleitet. Als Ergebnis einer Speicherleseoperation können Speicherzugriffsausnahmen 4214 auftreten. Wenn derartige Ausnahmen auftreten, wird das Speicherzugriffsausnahme-Flipflop 4214 in den 1-Verknüpfungszustand gesetzt. Die Ausnahmebehandlung wird aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 4215 wird in den 1-Verknüpfungszustand gesetzt (das Speicheroperationsabschluß-Flipflop 4215 wird auf die Einleitung irgendeiner Speicheroperation hin in den O-Verknüpfungszustand zurückgestellt). Am Ende der Speicheroperation werden die aus dem Speichersystem gelesenen Daten, die den Datensatztyp (1501 oder 1510 gemäß Fig. 15a und 15b) eines Datensatzes darstellen, zu dem Speicherdatenregisti_er 4216 hin übertragen.If the memory system 4213 determines that its memory address register 4210 has been loaded with a new address and that the read / write flip-flop 4212 is in the O-logic state is also a memory read operation initiated. As a result of a memory read operation, memory access exceptions 4214 may occur. If such Exceptions occur, the memory access exception flip-flop 4214 is set to the logic 1 state. The exception handling is activated. Otherwise, the memory operation is normally ended and the memory operation completion flip-flop 4215 is set to the 1-link state (The memory operation completion flip-flop 4215 goes into the O logic state upon initiation of any memory operation postponed). At the end of the storage operation, the data read from the storage system, the represent the data record type (1501 or 1510 according to FIGS. 15a and 15b) of a data record to the memory data register 4216 transferred to.
Der gerade aus einem Datensatz in dem Speichersystem gelesene und zu dem Speicherdatenregister 4216 hin übertragene Datensatz wird dem UND-Glied 4226 zugeführt. Dieses UND-Glied wird durch das Datensatz-Lesesignal und durch das Speicheroperationsabschluß-Flipflop 4215 übertragungsfähig gemacht.The data set just read from a data set in the storage system and transferred to the storage data register 4216 is fed to AND gate 4226. This AND gate is activated by the data record read signal and by the memory operation completion flip-flop 4215 made transferable.
709810/0993709810/0993
Am .ende der zweiten Speicheroperation, die während der Ausführung dieses Befehls ausgeführt worden ist, wird somit der Datensatztyp von dem Datensatz, der gelesen wurde, über das UND-Glied 4226 übertragen und dem Vergleicher 4227 eingangsseitig zugeführt. Das andere Eingangssignal des Vergleichers 4227 liefert ein Deskriptor-Datensatztyp-Register 4218, das zuvor mit einem Datensatztyp geladen worden ist, der aus dem bei der ersten Speicheroperation gelesenen Deskriptor erhalten wurde.At the end of the second store operation that occurred during execution this command has been executed, the record type of the record that was read via the AND gate 4226 transmitted and fed to the comparator 4227 on the input side. The other input signal to the comparator 4227 provides a descriptor record type register 4218 which has previously been loaded with a record type selected from the descriptor read in the first store operation has been obtained.
Wenn der Vergleicher 4227 feststellt, daß die beiden miteinander verglichenen Datensatztypen gleich sind, gibt das an das UND-Glied 4233 abgegebene Gleichheitssignal die Übertragung eines Binärwertes 01 aus dem Register 4232 an das ODER-Glied 4234 frei. Wenn der Vergleicher 4224 feststellt, daß die beiden Datensatztypen nicht gleich sind, gibt das dem UND-Glied 4231 zugeführte Ungleichheitssignal die Übertragung eines Binärwertes 00 aus dem Register 4230 an das ODER-Glied 4234 frei. Es dürfte ersichtlich sein, daß das Speicheroperationsabschluß-Flipflop 4215 an dem UND-Glied 4228 angeschlossen ist. Dieses UND-Glied wird durch das Datensatztyp-Lese signal freigegeben bzw. übertragungsfähig gemacht. Der Ausgang des UND-Gliedes 4228 ist mit dem Setz-Zustandscode-Flipflop 4229 verbunden. Daraus folgt, daß dieses Flipflop 4229 in den 1-Verknüpfungszustand gesetzt wird, nachdem die zweite Speicherleseoperation abgeschlossen worden ist (das Lesen des Datensatztyps des Datensatzes, auf den durch den Prüfdatensatztypbefehl hin gezeigt worden ist). Der Ausgang des Setz-Zustandscode-Flipflops 4229 ist mit dem UND-Glied 4235 verbunden, das somit das ODER-Glied 4234 in den Stand versetzt, einen Binärwert 00 oder 01 in das Zustandscoderegister 4236 zu übertragen, an welchem das UND-Glied 4235 angeschlossen ist. Das Zustandscoderegister wird tatsächlich durch die ersten beiden Bits des StatusregistersIf the comparator 4227 determines that the two types of records being compared are the same, that gives The equality signal output to the AND element 4233 means that a binary value 01 is transferred from the register 4232 to the OR gate 4234 free. If the comparator 4224 determines that the two record types are not the same, it returns the inequality signal fed to the AND gate 4231, the transmission of a binary value 00 from the register 4230 to the OR gate 4234 free. It should be seen that the memory operation complete flip-flop 4215 is connected to AND gate 4228 connected. This AND element is read by the record type signal released or made transferable. The output of AND gate 4228 is with the set status code flip-flop 4229 connected. It follows that this flip-flop 4229 is set in the 1 logic state after the second memory read has been completed (reading the record type of the record to which the audit record type command has been pointed). The exit of the set status code flip-flop 4229 is with the AND gate 4235 connected, which thus puts the OR gate 4234 in the state, a binary value 00 or 01 in the status code register 4236 to which the AND gate 4235 is connected. The status code register actually becomes through the first two bits of the status register
709810/0993709810/0993
gebildet wie es in Fig. 2 gezeigt ist.formed as shown in FIG.
Der Übergang des Setz-Zustandscode-Flipflops 4229 in einen 1-Verknüpf ungszustand bewirkt ferner, daß das Befehlsabschluß-Flipflop 4237, mit dem der Ausgang des Flipflops 4229 verbunden ist, in den 1-Verknüpf ungszustand gesetzt wird, und zwar zur selben Zeit, zu dem der Zustandscodewert in dem Zustandscoderegister 4236 festgelegt bzw. gesetzt wird. Das Setzen des Befehlsabschluß-Flipflops 4237 in einen 1-Verknüpfungszustand zeigt den Abschluß des Prüf-Datensatztyp-Befehles an.The transition of the set status code flip-flop 4229 to a 1 logic state also causes the command completion flip-flop 4237, to which the output of the flip-flop 4229 is connected, is set to the 1 logic state, and at the same time that the status code value in the status code register 4236 is determined or set. That Set command completion flip-flop 4237 to a 1 logic state indicates the completion of the check record type command.
Der Entlade-Datenbankbefehl ist ein Firmware/Hardware-Befehl, der den Zeiger für einen Datensatz in den Hauptspeicher einschreibt. Der Zeiger wird aus einem Basisregister für virtuelle Speicherdatensätze (siehe Fig. 16a) und aus einem Indexregister für Datenbank-Datensätze (siehe Fig. 16b) übertragen. Die Zeigerbetriebsart in dem Befehlsformat zeigt an, ob der Zeiger ein Zeiger des virtuellen Speichers oder des Datenbank-Datensatzformates ist. Der Entladebefehl Ißßgt im XI-Format vor, wie dies in Fig. 2OB veranschaulicht ist.The unload database command is a firmware / hardware command that writes the pointer for a data set into main memory. The pointer is made up of a base register for virtual memory data records (see FIG. 16a) and an index register for database data records (see Fig. 16b). The pointer mode in the command format indicates whether the Pointer is a virtual memory pointer or database record format pointer. The discharge command is in XI format as illustrated in Figure 20B.
Das Firmware-Flußdiagramra für den Entladebefehl ist in Fig. 28 gezeigt. Bei der Operation 5001 des Firmware-Flußdiagramms wird dj*s Format des Befehls überprüft. Sodann bestimmt die Operation 5001, ob der Datensatz ein virtueller Speicherdatensatz oder ein Datenbank-Datensatz ist oder nicht, und sodann erfolgt eine Verzweigung zu der Operation 5003 oder zu der Operation 5005 hin, um in den Speicher den in Frage kommenden Zeigertyp einzuschreiben, und zwar entweder von dem Basisregister oder von dem Indexregister her. Der Befehl wird nach dem Speicherschreibvorgang beendet.The firmware flowchart for the unload command is shown in FIG. At operation 5001 of the firmware flowchart the dj * s format of the command is checked. Then definitely operation 5001, whether the record is a virtual storage record or a database record, or not, and a branch is then made to operation 5003 or to operation 5005 to transfer the to write the pointer type in question, either from the base register or from the index register. The command is terminated after the memory write operation.
709810/0993709810/0993
Im folgenden sei auf Fig. 28 näher eingegangen. Zunächst wird durch die Operation 5001 das MBZ-FeId 1923 des Befehles (siehe Fig. 19b) darauf überprüft, ob es 0 ist. Diese Überprüfung auf 0 erfolgt dadurch, daß der Befehl aus der Befehlsaufrufeinheit (siehe Fig. 13a, IFU 1318) zu einem Register in dem Rechenwerk 1317 übertragen wird. Wenn die in diesem Register durchgeführte Hardware-Prüfung feststellt, daß das MBZ-FeId nicht 0 ist, führt die Firmware eine Verzweigung zu der Ausnahmebehandlung aus, wie dies in Fig. 28 mit 5009 angedeutet ist. Diese Ausnahme wird als Unzulässigkeits-Formatfeld-Ausnahme bezeichnet.28 is discussed in more detail below. First of all, operation 5001 creates the MBZ field 1923 of the command (see 19b) checks whether it is 0. This check for 0 takes place in that the command from the command calling unit (see FIG. 13a, IFU 1318) is transmitted to a register in the arithmetic unit 1317. If the in this register If the hardware test carried out determines that the MBZ field is not 0, the firmware branches exception handling, as indicated by 5009 in FIG. 28. This exception is called a Forbidden Format Field Exception designated.
Wenn das MBZ-FeId 0 ist, schreitet die Firmware zu der Operation 5002 weiter, bei der das P-FeId 1925 des Befehles (siehe Fig. 20B) in dem Rechenwerk überprüft wird. Dieses P-FeId enthält die Zeigerbetriebsart, wie dies oben beschrieben worden ist. Wie ausgeführt worden ist, sind die virtuellen Speicherdatensätze Zeiger der Klasse 0 oder der Klasse 1. Die Datenbank-Datensätze sind Zeiger der Klasse 2 oder der Klasse 3. Somit überprüft das Rechenwerk das 2-Bit-P-Feld 1925, um eine Prüfung bezüglich des Wertes 0 oder 1 vorzunehmen. Falls dieser Zustand vorliegt, erfolgt eine Verzweigung zu der Operation 5005 hin, wobei der Datensatz vom virtuellen Speichertyp ist. Wenn das Rechenwerk feststellt, daß das 2-Bit-P-Feld 1925 gleich 2 oder 3 ist, ist der Datensatz ein Datenbank-Datensatz, und es erfolgt eine Verzweigung zu dem Schritt 5003 hin.If the MBZ field is 0, the firmware proceeds to the operation 5002, in which the P field 1925 of the command (see FIG. 20B) is checked in the arithmetic unit. This P field contains the pointer mode as described above. As has been stated, the storage records are virtual Class 0 or class 1 pointers. The database records are class 2 or class 3 pointers. The arithmetic unit thus checks the 2-bit P-field 1925 in order to carry out a check with regard to the value 0 or 1. If If this state is present, a branch is made to operation 5005, whereby the data record is from the virtual Storage type is. If the arithmetic logic unit determines that the 2-bit P-field 1925 is equal to 2 or 3, the record is a database data record, and a branch is made to step 5003.
Bei der Operation 5005, bei der die Firmware eine Verzweigung für virtuelle Speicher-Datensätze vornimmt, erfolgt ein Einschreiben in den Hauptspeicher trrter einer Adresse, die durch die Adreßsilbe 1922 (siehe Fig. 20B) gegeben ist. Der in den Hauptspeicher einzuschreibende Inhalt des Basisregisters wird von der Adressensteuereinheit 1319 zu der Datenver-A write occurs at operation 5005, where the firmware branches for virtual memory records into main memory an address entered by the address syllable 1922 (see Fig. 20B) is given. The contents of the base register to be written into main memory is from the address control unit 1319 to the data transfer
709810/0993709810/0993
waltungseinheit 1^21 hin übertragen. Der Hardware-Hauptspeicher-Schreibmechanismus bewirkt dann die Übertragung von der Datenverwaltungseinheit 1319 zu dem Hauptspeicher (siehe Fig. 1). Als Ergebnis dieses Hauptspeicher-Schreibvorganges können Speicherzugriffsausnahmen 5008 auftreten. Die Bildung der Adreßsilbe AS1921 erfolgt in der Adressensteuereinheit 1319. Auf den Hauptspeicher-Schreibvorgang der Operation 5005 hin führt die Firmware eine Verzweigung zu der Operation 5006 aus, bei der der Befehl abgeschlossen wird. Die Firmware-Steuerung wird auf den nächsten Befehl übertragen.management unit 1 ^ 21 transferred. The hardware main memory write mechanism then effects the transfer from the data management unit 1319 to the main memory (see Fig. 1). As a result of this main memory write 5008 memory access exceptions may occur. The address syllable AS1921 is formed in the address control unit 1319. In response to the main memory write of operation 5005, the firmware branches to the Execute operation 5006, which completes the command. Firmware control is transferred to the next command.
Falls die Zeigerklasse die Klasse 2 oder 3 gewesen wäre, hätte die Firmware eine Verzweigung zu der Operation 5003 ausgeführt. Bei dieser Operation wird der Inhalt des Indexregisters, dessen Nummer durch das BR-FeId 1926 des Befehles gegeben ist, in den Hauptspeicher 102 unter der Adresse eingeschrieben, die aus der Adreßsilbe AS 1922 abgeleitet ist. Der Inhalt des Indexregisters wird aus dem Zwischenspeicher 1315 an die Datenverwaltungseinheit 1319 übertragen. Der Hardware-Hauptspeicher-Schreibmechanismus überträgt sodann die Daten aus der Datenverwaltungseinheit an den Hauptspeicher. Als Ergebnis dieses Hauptspeicher-Schreibvorganges können Speicherzugriffsausnahmen 5007 auftreten. Die Adressenbildung wird in der Adressensteuereinheit 1319 für die Adreßsilbe AS ausgeführt. Auf den Hauptspeicher-Schreibvorgang in der Operation 5003 hin führt die Firmware eine Verzweigung zu der Operation 5004 hin aus, bei der der Befehl abgeschlossen wird und bei der die Steuerung auf den nächsten Befehl übertragen wird.If the pointer class had been class 2 or 3, the firmware would have branched to operation 5003. During this operation, the content of the index register, the number of which is given by the BR field 1926 of the command, is stored in the main memory 102 is written at the address which is derived from the address syllable AS 1922. The content of the The index register is transferred from the buffer memory 1315 to the data management unit 1319. The hardware main memory write mechanism then transfers the data from the data management unit to the main memory. As a result Memory access exceptions 5007 may occur during this main memory write. The address formation is carried out in the address control unit 1319 carried out for the address syllable AS. The main memory write in the operation Towards 5003, the firmware branches out to operation 5004, at which the command is completed and in which control is transferred to the next command.
Nunmehr sei auf Fig. 29 eingegangen, in der eine Blockdiagrammdarstellung der Hardware gezeigt ist, die zur Ausführung des Entlade-Datenbankbefehles erforderlich ist. Auf die Aufnahme eines Entladebefehles, wie dies durch dasReferring now to FIG. 29, it is a block diagram representation the hardware required to execute the unload database command is shown. on the inclusion of an unloading order, as indicated by the
70981 0/099370981 0/0993
Entladebefehlsdetektorregister 5201 angezeigt wird, wird der Befehl kurzzeitig in dem Befehlspuffer 5202 abgespeichert. Der Befehlspuffer befindet sich in der Befehlsabrufeinheit 1318 der Zentraleinheit 104. Wie oben erwähnt, besitzt der zu dem Befehlspuffer 5202 übertragene Ladebefehl das XI-Format, wie dies in Fig. 2OB gezeigt ist. Das MBZ-FeId 1923 wird unmittelbar mit den O-Bits 5204 mittels des Vergleichers 5203 verglichen. Wenn der Vergleicher 5203 ein Ungleichheitssignal abgibt, ist eine Unzulässigkeits-Formatfeld-Ausnahme festgestellt worden, und das Unzulässigkeits-Formatfeld-Flipflop 5205 wird gesetzt. Sodann wird die Ausführung des Entladebefehls abgeschlossen. Wenn der Vergleicher 5203 eine Übereinstimmung anzeigt, wird die Fortsetzung des Entladebefehles fortgesetzt, wie dies nachstehend beschrieben wird.Unload command detector register 5201 is displayed, the Command stored briefly in command buffer 5202. The instruction buffer is located in instruction fetch unit 1318 of the central processing unit 104. As mentioned above, the load instruction transferred to the instruction buffer 5202 has the XI format, such as this is shown in Figure 20B. The MBZ field 1923 is compared directly with the O bits 5204 by means of the comparator 5203. When the comparator 5203 has an inequality signal returns, an invalid format field exception has been detected and the invalid format field flip-flop 5205 is set. The execution of the discharge command is then completed. If the comparator 5203 finds a match indicates, the continuation of the discharge command is continued as described below.
Die Ermittelung eines Entladebefehles durch den Entladebefehlsdetektor 5201 bewirkt ferner, daß das UND-Glied 5206 freigegeben bzw. übertragungsfähig gemacht wird. Dadurch ist die Übertragung des BR-Feldes 1926 an das Zwischenspeicher-Adreßregister 5207 ermöglicht. Ein Bit 5208 hoher Wertigkeit wird in das Zwischenspeicher-Adreßregister 5207 übertragen. Damit enthält das Zwischenspeicher-Adreßregister dann eine Adresse eines Indexregisters, welches einen Datenbank-Zeiger enthält, wie dies oben beschrieben worden ist. Das Zwischenspeicher-Adreßregister 5207 wird dazu herangezogen, eine Adresse aus dem Zwischenspeicher 5209 zu lesen. Dies ist derselbe Zwischenspeicher, wie er in Fig. 13 durch den Zwischenspeicher 1315 gezeigt ist. Die aus dem Zwischenspeicher 5209 ausgelesenen Daten werden zu dem Zwischenspeicher-Datenregister 5210 hin übertragen. Bei dem UND-Glied 5211 erfolgt eine Entscheidung darüber, ob diese in das Zwischenspeicher-Datenregister 5210 gelesenen Daten weiter verarbeitet werden. Dieses UND-Glied wird übertragungsfähig gemacht, wenn festgestellt wird, daß das Bit 0 oderThe detection of a discharge command by the discharge command detector 5201 also causes the AND gate 5206 to be enabled or made transferable. This is the transfer of the BR field 1926 to the buffer address register 5207 allows. A high order bit 5208 is transferred to the buffer address register 5207. The buffer address register then contains an address of an index register, which is a database pointer as described above. The cache address register 5207 is used to read an address from the buffer 5209. This is the same buffer as shown in FIG. 13 by buffer 1315. The ones from the cache 5209 read out data is transferred to the temporary storage data register 5210. With the AND element 5211, a decision is made as to whether this data read into the buffer data register 5210 is made further processed. This AND element is made transferable when it is determined that the bit 0 or
709810/0993709810/0993
25276282527628
das P-FeId 1925 in dem Befehlspuffer einen Wert von 1 besitzt. 3in Viert von 1 wird festgestellt, wenn das P-FeId gleich einen Binärwert von 2 oder 3 besitzt, d.h., daß ein Datenbank-Datensatztyp-Datensatz vorliegt. Wenn das IM)-Glied 5211 durch das P-Bit 0 übertragungsfähig gemacht ist, wird der Inhalt des Zwischenspeicher-Datenregisters 5210 zu dem ODER-Glied 5217 hin übertragen und sodann in das Speicherdatenregister 5218.the P field 1925 in the command buffer has a value of 1. 3in fourth of 1 is determined when the P field equals a Has a binary value of 2 or 3, i.e. a database record type record is present. When the IM) member 5211 is replaced by the P-bit 0 is made transferable, the contents of the temporary storage data register 5210 are transferred to the OR gate 5217 and then into the memory data register 5218.
Das Basisregister BR 1926 wird ferner von dem Befehlspuffer 5202 zu der Adressensteuereinheit 5212 hin übertragen. Diese Einheit ist die Adressensteuereinheit 1319, wie sie in Fig.13a gezeigt ist, welche die Zentraleinheit beschreibt. Wenn eine Basisregisternummer zugeführt wird, liest die Adressensteuereinheit 5212 den Inhalt des betreffenden Basisregisters in das Register 5214 aus. Das Register 5214 ist an dem UND-Glied 5215 angeschlossen. Es dürfte ersichtlich sein, daß das BitO des P-Feldes 1925 des Befehlspuffers 5202 mit dem invertierenden UND-Glied 5216 verbunden ist, welches seinerseits an dem UND-Glied 5215 angeschlossen ist. Demgemäß wird das UND-Glied 5215 unter der Bedingung übertragungsfähig gemacht bzw. freigegeben, daß das Bit mit der Nummer 0 des P-Feldes 1925 einen Wert von 0 besitzt, d.h. dann, wenn P gleich 0 oder 1 ist, und zwar für virtuelle Speicherdatensätze. Ist eine Freigabe durch das UND-Glied 5216 erfolgt, so wird der Inhalt des Basisregisters 5214 von dem UND-Glied 5215 zu dem ODER-Glied 5217 sowie zu dem Speicherdatenregister 5218 hin übertragen.The base register BR 1926 is also transferred from the instruction buffer 5202 to the address control unit 5212. These The unit is the address control unit 1319, as shown in FIG. 13a which describes the central unit. When a base register number is supplied, the address control unit reads 5212 the contents of the relevant base register into the register 5214. Register 5214 is on the AND gate 5215 connected. It should be seen that the bit 0 of the P field 1925 of the instruction buffer 5202 corresponds to the inverting AND gate 5216 is connected, which in turn is connected to the AND gate 5215. Accordingly, the AND gate becomes 5215 made transferable or enabled under the condition that the bit with the number 0 of the P-field 1925 a Has a value of 0, i.e. when P is equal to 0 or 1, for virtual memory records. Is a release is done by the AND gate 5216, the content of the Base register 5214 transferred from AND gate 5215 to OR gate 5217 and to memory data register 5218.
Nachdem der Bntladebefehlsdetektor 5201 einen Entladebefehl ermittelt hat und nachdem der Befehl in den Befehlspuffer 5202 übertragen worden ist, wird die Adreßsilbe 1922 über das UND-Glied 5230 zu der Adressensteuereinheit 5212 hin übertragen. Das UND-Glied 5230 wird durch das Übereinstimmungssignal von dem Vergleicher 5203 her übertragungsfähig gemacht, was, wie zuvor beschrieben, eine Bedingurug ist, die dann vorhandenAfter the unload command detector 5201 has detected an unload command and after the command is entered into the command buffer 5202 has been transmitted, the address syllable 1922 is via the AND element 5230 is transmitted to the address control unit 5212. The AND gate 5230 is determined by the match signal from made transferable to the comparator 5203, which, as previously described, is a condition that then exists
709810/0993709810/0993
ist, wenn festgestellt worden ist, daß das MBZ-FeId 1923 einen Wert von O besitzt. Die Adreßsilbe 1922, die zu der Adressensteuereinheit 5212 hin übertragen worden ist, wird in eine Speicheradresse umgesetzt. Die durch die Adressensteuereinheit 5212 gebildete Speicheradresse wird zu dem Register 5213 hin übertragen, dem Speicheradreßregister. Der Inhalt des Speicheradreßregisters 5213 wird seinerseits zu dem Speicheradreßregister 5219 des Speichersystems übertragen.is when it has been determined that the MBZ field 1923 a Value of O. The address syllable 1922 associated with the address control unit 5212 is transferred to a memory address. The one through the address control unit Memory address formed 5212 is transferred to register 5213, the memory address register. The content of the In turn, memory address register 5213 is transferred to memory address register 5219 of the memory system.
An dieser Stelle besitzt das Speichersystem 5220 in seinem Speicherdatenregister 5218 entweder ein Indexregister - sofern der Entladebefehl anzeigt, daß auf einen Datenbank-Datensatz hin gearbeitet wird - oder noch ein Basisregister - sofern der Entladebefehl angezeigt hat, daß auf einen virtuellen Datenspeichersatz hin gearbeitet wirdo Das Speicheradreßregister 5219 des Speichersystems enthält eine Adresse, welche die Adresse darstellt, unter der der Inhalt des Speicherdatenregisters 5218 einzuschreiben ist. Wenn das Speichersystem 5220 festgestellt hat, daß das Speicherdatenregister 5218 und das Speicheradressenregister 5219 geladen worden sind, wird eine Speicherschreiboperation eingeleitet. Dem Speichersystem wird der Befehl gegeben, eine Schreiboperation auszuführen, da das Lese/Schreib-Flipflop 5224 durch den Entladebefehlsdetektor 5201 in den 1-Zustand gesetzt worden ist. Als Ergebnis einer Speieherschreiboperation können Speicherzugriffsausnahmen 5221 auftreten. Wenn derartige Ausnahmen auftreten, wird die Speicherzugriffsausnahmebehandlung aktiviert. Im übrigen wird die Speicheroperation normal beendet, und das Speicheroperationsabschluß-Flipflop 5222 wird in den 1-Verknüpfungszustand gesetzt. Auf den Übergang des Speicheroperationsabschluß-Flipflop 5222 in den 1-Verknüpfungszustand wird das Befehlsabschluß-Flipflop 5223 in den 1-Verknüpf ungszustand gesetzt, wodurch der Abschluß des Entladebefehls angezeigt ist.At this point, has the storage system 5220 in its memory data register 5218, either an index register - if the discharge command indicating that record database is carried out on a - or even a base register - if the discharge command has indicated that it is carried on a virtual data storage set out o The memory address register 5219 of the memory system contains an address which is the address at which the contents of the memory data register 5218 are to be written. When the memory system 5220 determines that the memory data register 5218 and memory address register 5219 have been loaded, a memory write operation is initiated. The memory system is commanded to perform a write operation because the read / write flip-flop 5224 has been set to the 1 state by the unload command detector 5201. As a result of a memory write operation, memory access exceptions 5221 may occur. When such exceptions occur, memory access exception handling is enabled. Otherwise, the memory operation is normally ended, and the memory operation completion flip-flop 5222 is set to the 1-logic state. Upon the transition of the memory operation completion flip-flop 5222 to the 1-logic operation, the command completion flip-flop 5223 is set to the 1-logic operation, whereby the completion of the discharge command is indicated.
7098 1 0/09937098 1 0/0993
2§276282§27628
BegriffslisteList of terms
Absolute Adresse Die physikalische Adresse eines Hardwareby.tes im Hauptspeicher.Absolute address The physical address of a hardware byte in the main memory.
Adressenentwicklung Eine Hardwarefunktion, welche aus einer Anzahl von Adressenelementen eine absolute Adresse berechnet/die auf einen Speicherplatz im Hauptspeicher hinweist,Address development A hardware function that consists of a number of address elements to form an absolute Address calculated / which indicates a memory location in main memory,
Adressierung Lokalisierung eines Objekts durch eine Anzahl virtueller logischer und physikalischer Mittel.Addressing Localization of an object through a number of virtual logical and physical Middle.
Adressenrauni Eine Gruppe logischer segmentierter Adressen entsprechend einem Prozeß, welche die Zentraleinheit während der Durchführung des Prozesses in absolute Adressen umwandeln darf.Address room A group of logical segmented addresses corresponding to a process, which the central unit is allowed to convert into absolute addresses while the process is being carried out.
Adressenraumwort Eines von zwei Worten in einem Prozeßsteuerblock, welches auf die Segmenttabellen-Wortanordnung hinweist. Letztere definiert die dem Prozeß zugeordneten Segmenttabellen.Address space word One of two words in a process control block, which indicates the segment table word order. The latter defines those assigned to the process Segment tables.
Adressensilbc Eine von der Hardware der Zentraleinheit feststellbare logische Adresse, normalerweise der Operand eines Befehls.Adressensilbc A logical address that can be determined by the hardware of the central processing unit, usually the operand of an instruction.
7098 1 0/09937098 1 0/0993
Analysierer/Ubersetzer Derjenige Teil einer statischen Verbind.ungseinheit, die zunächst den Fluß der Steuersprache zur Verbindungseinheit hinleitet; bei fehlerfreier Steuersprache wandelt der Analysierer/Übersetzer diese in Tabellen und andere Strukturen für die Benutzung durch die statische Verbindungseinheit um.Analyzer / Translator That part of a static link unit that which first directs the flow of control language to the connection unit; if the control language is correct the analyzer / translator converts these into tables and other structures for use by the static Connection unit around.
Asynchrone Abwicklung Gleichzeitige Aktivierung von mehr alsAsynchronous processing Simultaneous activation of more than
einem Prozeß.a process.
Hllfsspeicher Besteht aus 64 Flipflops zur Speicherung verschiedener Systemzustände und befindet sich* im Rechenwerk.Auxiliary memory Consists of 64 flip-flops for storage various system states and is * in the calculator.
Basisregister Das Hauptelement bei der Segmentadressierung , wird durch seine Nummer in jeder Adressensilbe angewählt.Base register The main element in segment addressing is identified by its number in each Address syllable selected.
Grenzadressenregister Ein sichtbares Hardwareregister, welches die niedrigste Speicheradresse definiert, die für die Firmware/Software zugängig ist.Boundary Address Register A visible hardware register which defines the lowest memory address accessible to the firmware / software is.
Aufrufcall
Siehe Prozeduraufruf - Einwärtsaufruf, Auswärts aufruf.See Procedure Call - Inward Call, Outward Call.
Zentraleinheit Teil des Rechners, welcher die Schaltkreise zur Steuerung der Interpretation und Ausübung von Befehlen enthält.Central processing unit Part of the computer, which the circuits for controlling the interpretation and the exercise of commands.
Kanalchannel
Nachrichtenverbindung zwischen dem Prozessor-Untersystem und einem periphercn Untersystem. Es gibt physikalische und logische Kanäle. Ein physikalischer Kanal Nist die Hardwareverbindung zwischen der -Ein/Aiisciabesteuereinheit IOC und der Pg-7 0.9 810/0993Communication link between the processor subsystem and a peripheral subsystem. There are physical and logical channels. A physical channel N is the hardware connection between the on / off control unit IOC and the Pg-7 0.9 810/0993
ripheriesteuereinheit PCU.* Ein logischer Kanal ist ein Softwareverbindungsweg zwischen dem Hauptspeicher und einem einzelnen Peripheriegerät.peripheral control unit PCU. * A logical channel is a software connection path between main memory and a single peripheral device.
Kanaleingangsbefehl Befehl in einem Kanalprogramm.Channel input command Command in a channel program.
Kanalbefehlswort Ein Element eines Kanaleingangsbefehls. Zwei Kanalbefehlsworte bilden einen Kanaleingangsbefehl .Channel Command Word An element of a channel input command. Two channel command words form a channel input command .
Kanalprogramm Eine Folge von Befehlen, welche die Durchführung einer bestimmten Ein/Ausgabeoperation durch ein Peripheriegerät bewirken. Channel program A sequence of commands that enable a specific input / output operation to be carried out cause by a peripheral device.
Komplementärcode Ein Code in einigen Befehlen, der zusammen mit dem Operationscode die Funktion des Befehls definiert.Complementary code A code in some commands that goes together defines the function of the command with the operation code.
Compiliereinheit Der einzelne Objektcodemodul, welcher sich beim Compilieren oder Assemblierer einer Prozedur in einem Prozessor mit hoch entwickelter Programmsprache ergibt, Die Compiliereinheit ist eine nicht ausführbare Einheit, sie ist verbunden.Compilation unit The single object code module that is used during compilation or assembler a procedure in a processor with a highly developed program language results, the compilation unit is not an executable Unity, it is connected.
Gleichzeitigkeit Offensichtliche Gleichzeitigkeit.Simultaneity Obvious simultaneity.
Bedingungs feId
(Condition Field) Ein 4-Bit-Feld in einem Verzweigungsbefehl. Jedes Bit in dem Feld entspricht
der Einstellung eines Bedingungscodes in den Zustandsregisterbits 0 und 1.Conditional field
(Condition Field) A 4-bit field in a branch instruction. Each bit in the field corresponds to the setting of a condition code in status register bits 0 and 1.
Ausscheidungsanzeiger (Contest Indicator) Eine Hardwarestruktur im Hilfsspeicher, welche anzeigt daß ein neuer Eingangsbefehl in die Warteschlange eingereiht wurde und ggfs. einen PrioritätsinhaltContest Indicator A hardware structure in the auxiliary memory, which indicates that a new input command is queued and possibly a priority content
709810/099 3709810/099 3
DatenadreßraumData address space
Eine Gruppe logischer Datensatzadressen, welche für einen Prozeß über das Datenjnanagement
zugängig sind; er bestaht aus vier Elementen: logischen Feldern, logischen
Datensätzen, Datenbasisseiten und
Dateien.A group of logical data record addresses which are accessible to a process via data management; it consists of four elements: logical fields, logical records, database pages and
Files.
Datendeskriptor Eine Befehlsstruktur, welche bei der indirekten Adressierung für die Beschreibung einer bestimmten Datenbehandlung verwendet wird.Data descriptor A command structure which, in indirect addressing, is used for the description a certain data treatment is used.
DecorDecor
Die funktioneilen Eigenschaften oder der Aufbau eines Rechnersystems.The functional properties or the structure of a computer system.
Decorerweiterungsmodus Ein Betriebsmodus, der den Betrieb des Systems im Emulationsmodus ermöglicht.Decor extension mode An operating mode that enables the system to operate in emulation mode.
Deskriptor Ein 32- oder 64-Bit-Feld, welches bei der Adressenentwicklung jedes Datenfeldes benutzt wird. Es ist nur eine von vielen Hinweisadressen im vorliegenden Adressierungsschema. Descriptor A 32- or 64-bit field which is used in the Address expansion of each data field is used. It is only one of many pointing addresses in the present addressing scheme.
Deskriptorblock Geräteadapter Ein Datenblock, der eine beliebige Anzahl Verschiedenheit von Deskriptorerklärungen mit Ausnahme von Semaphor-Deskriptoren enthält. Keine anderen Daten sind erlaubt.Device adapter descriptor block A block of data that contains any number Differentiation of descriptor explanations with the exception of semaphore descriptors contains. No other dates are allowed.
Elektronische Schaltkreise zur Anpassung eines bestimmten Gerätes an ein Peripheriesteuergerät. Electronic circuits for adapting a specific device to a peripheral control device.
70981 0/099370981 0/0993
Geräteadapterschnittstelle Device adapter interface
262762 »262762 »
Schnittstelle zwischen einem Geräteadapter und seinem zugehörigen Peripheriesteuergerät. Interface between a device adapter and its associated peripheral control device.
Gerätesteuerung Eine Softwareeinheit zur Verarbeitung von gerätespezifischen Kenngrößen.Device control A software unit for processing device-specific parameters.
Zuteiler (Dispatcher) Die Firmware, welche für die Zuteilung der Prozesse in der Zentraleinheit zuständig ist.Dispatcher The firmware that is responsible for the allocation of processes in the central unit is.
Zuteilung Ein Feld innerhalb des Befehlsformates oder eines Datendeskriptors, welches Information über die relative Lage eines Segments liefert. Allocation A field within the command format or a data descriptor which supplies information about the relative position of a segment.
Verschiebungsadressierung Eine Form indirekter Adressierung, bei der der Operand die Lage in Bezug entweder auf die Basis eines Unmittelbar-•segments oder auf den laufenden Stellenzähler angibt.Shift addressing A form of indirect addressing in which the operand is in relation to either on the basis of an immediate segment or on the current position counter.
Aufbereiter (Editor) Ein Adressierverfahren, welches während der Ausführung zu einer Auflösung von innerhalb der Prozeßgruppe festgelegten Bezugnahmen führt. Editor (Editor) An addressing process which, during execution, leads to the resolution of references defined within the process group.
Derjenige Teil einer statischen Verbindungseinheit, der beliebige oder alle informationen formiert und herausgibt, die sich aus der Verbindung einer be stimmten Prozedur ergeben. That part of a static connection unit that forms and outputs any or all of the information that results from the connection of a certain procedure .
709810/0993709810/0993
Effektive AdresseEffective address
(Segmentierte Adresse)(Segmented address)
181 -181 -
Im Gegensatz zur physikalischen eine logische Adresse, welche aus einer Segmenttabellennummer, einer Segment- . t'abelleneingangsnummer und einer relativen Segmentadresse besteht. Diese Elemente weisen den Weg zu einem bestimmten Segmentdeskriptor, der schließlich auf das angewählte Segment hinweist.In contrast to the physical one, a logical address, which consists of a Segment table number, a segment. t 'table entry number and a relative Segment address exists. These elements show the way to a specific segment descriptor, which is ultimately indicates the selected segment.
Emulationsmodus Eine Rechnerbetriebsweise, bei der ein anderer Rechner in Gang gesetzt wird und die als im anderen Rechner ablaufend erscheint.Emulation mode A computer mode of operation in which another computer is started and which appears to be running on the other computer.
Ausnahme Eine Ausnahme tritt auf, wenn die Hardware das Vorhandensein eines ZustandeException An exception occurs when the hardware recognizes the presence of a state
feststellt, der eine besondere Bearbeitung erfordert.that requires special processing.
Ereignis Irgendetwas, das in einem System von einem Prozeß festgestellt wird und für einen anderen Prozeß von Interesse sein kann.Event Anything that is detected in a system by a process and for one other process may be of interest.
Firmware Derjenige Teil eines Hardwareablaufs, der eine Art Mikroprogramm-Steuerung verwendet.Firmware That part of a hardware process that uses a type of microprogram control.
Gr D-Name Der von der Hardware als Hinweis auf einG r D name The one used by the hardware as a reference to a
Semaphor benutzte Name. Der G-Segmentname ist die Nummer des Eingangs in die G-Tabelle, welche den Segmentdeskriptor enthält; D ist die relative Adresse im Segment. Semaphore used name. The G segment name is the number of the entry in the G table which contains the segment descriptor; D is the relative address in the segment.
G-Segment Ein Segment, welches die Semaphoren enthält, die durch Verwendung des G, D-Namcns und zugehörige Speicherumschichtungsmöglichkeiten (G-Tabelle) adressiert werden können.G segment A segment that contains the semaphores by using the G, D names and the associated storage reallocation options (G table) can be addressed.
709810/0993709810/0993
- .182 -- .182 -
G-TabelleG table
Eine Tabelle für die Speicherumschichtung (Lokalisierung eines G-Segments), wenn der G, D-Name benutzt wird.A table for memory reallocation (localization of a G-segment), when the G, D name is used.
Gattersteuerung
(Gating)Gate control
(Gating)
Eine Möglichkeit für die Steuerung des Zugangs zu Prozeduren in. einem Segment durch die Benutzung von Prozedurdeskriptoren. A way of controlling access to procedures in a segment through the use of procedure descriptors.
Generalregister Ein zur Ausführung von Prozessen zur Verfugung stehendes 32-Bit Register,
welches im allgemeinen binäre Daten
oder Daten in Bitform einer Bitzeichenfolge enthält. Bestimmte Generalregister können für das indizierte
Adressieren verwendet werden.(GR8 bis GR15).General register A 32-bit register available for the execution of processes, which generally contains binary data
or contains data in bit form of a bit string. Certain general registers can be used for indexed addressing (GR8 to GR15).
Indexindex
Eine Datenstruktur, welche vom System beibehalten und verarbeitet wird. Die
Struktur erscheint dem Benutzer nir in Form eines Schlüssels, den er zum
Zwecke des Zugangs oder der Positionierung zu einem bestimmten Datensatzvorgang angibt.A data structure that is retained and processed by the system. The structure only appears to the user in the form of a key that he uses
Indicating purposes of access or positioning to a particular data record process.
IndizierenIndex
Modifizieren einer Adresse durch vorzeichenbehaftete arithmetische Werte, indem etwas hinzugefügt wird.Modifying an address with signed arithmetic values, by adding something.
IndexregisterIndex register
Ein Generalregister, welches zum Indizieren benutzt wird (GR8 bis GRl5).A general register that is used for indexing (GR8 to GRl5).
709810 /.0993709810 /.0993
Indirekte Adressierung Ein Adressierverfahren, bei dem eine Adresse zur Erzeugung einer anderen Adresse statt für die Ermittlung der tatsächlichen Daten benutzt wird.Indirect addressing An addressing process in which one address is used to generate another Address is used instead of determining the actual data.
Indirekte Basisadressierung Die Art der indirekten Adressierung, bei der unter der angezogenen Adresse ein Datendeskriptor mit einerv-Basisregisternummer und einer Verschiebung gefunden wird.Indirect base addressing The type of indirect addressing in which a data descriptor with a v base register number and an offset is found under the address referred to.
Indirekte.Segmentadressierung Die Art der indirekten Adressierung, bei der unter einer angewählten Adresse ein Datendeskriptor mit einer Segmentadresse gefunden wird.Indirect segment addressing The type of indirect addressing a data descriptor with a segment address at a selected address Is found.
Indirekter Segmentdeskriptor Eine Art von Segmentdeskriptoren, welche Information für die Adressierung eines anderen Segmentdeskriptors statt des Segments selbst enthält.Indirect segment descriptor A type of segment descriptor which contains information for addressing another segment descriptor instead of the segment itself.
Befehlcommand
Die dem Programmierer erkennbare Arbeitseinheit einer Zentraleinheit.The working unit of a central processing unit that is recognizable to the programmer.
Befehlszählwerk Ein dem ablaufenden Prozeß zugeordnetes Register, welches die Segmentadressen des nächsten Befehls der auszuführenden Prozedur enthält.Command counter A register assigned to the current process, which contains the segment addresses of the next instruction of the Contains procedure.
Durchschießen (Interleave) Der aufeinanderfolgende Zugriff zu Speichermodulen, um die Speicherzugriffszeit sffu verringern.Interleave The successive access to memory modules, to reduce the memory access time sffu.
70981 0/099370981 0/0993
Unterbrechung Die Unterbrechung eines Prozesses in dem System infolge des Auftretens eines Ereignisses.Interruption The interruption of a process in the system as a result of the occurrence of a Event.
Unterbrechungsprozeß Ein Prozeß, der beim Auftreten einer Unterbrechung in Gang gesetzt wird.Interrupt Process A process that is started when an interrupt occurs.
Einwärts aufruf Wenn eine innerhalb einer Ringzone ablaufende Prozedur den Ablauf einer Prozedur in einer niedrigeren Ringzone aufruft. Inward call If one is within a ring zone running procedure calls the running of a procedure in a lower ring zone.
Ein/Ausgabesteuergerät Eine Einheit, die die grundlegendeInput / output control device A unit that provides the basic
Steuerung für ein spezielles Ein/Ausgabe-Untersystem bewirkt.Control for a special input / output subsystem effected.
Ein/Ausgabeprozessor Potentiell asynchrone Systemprozesae, die in erster Linie mit der Bewegung von Daten zwischen peripheren Speichern oder Ein/Ausgabegeräten und dem Hauptspeicher beschäftigt sind.I / O processor Potentially asynchronous system processes, primarily involved in moving data between peripheral memories or input / output devices and main memory are busy.
J.P.-Tabellen Eine Sammlung logischer Adressen für die Lokalisierung eines Prozeßsteuerblocks.J.P. Tables A collection of logical addresses for the Localization of a process control block.
Job
Job-Steuersprache Eine Arbeitseinheit des Systems.job
Job control language A unit of work in the system.
Eine Sprache zum Beschreiben eines Jobs und seiner Teile.A language used to describe a job and its parts.
Job-SchrittJob step
Der Hauptteil eines Jobs, der zur Ausführung eines durch eine Anweisung in der Jobsteuersprache definierten Programms führt.The body of a job that is required to perform one of the tasks specified by an instruction in the program defined in the job control language.
709810/0993709810/0993
- 195 -- 195 -
Job-Schritt-Tabelle Eine Systemtabelle, welche für die Festlegung des ersten Teils eines Prozeßnamens, d.h. für die Lokalisierrung der Prozeßgruppentabelle benutzt wird.Job step table A system table which is used for the Definition of the first part of a process name, i.e. used for locating the process group table will.
Verknüpfter Modul (Linked Module) Der Ausgang der statischen Verbindungseinheit. Es ist eine konsolidierte Gruppe von Compiliereinheiten, deren Kreuzreferenzen durch die statische Verbindungseinheit gelöst worden sind.Linked Module The output of the static link unit. It's a consolidated group of compilation units whose cross-references by the static connection unit have been resolved.
Logischer Prozessor Eine Ansammlung von Hardwarehilfsmitteln und Steuerinformationen für die Ausführung eines Prozesses.Logical processor A collection of hardware tools and control information for execution of a process.
HauptspeicherMain memory
Magne tb ands teue rge rät Der gesamte adressierbare Speicherraum, von dem her Befehle ausgeführt werden können oder von dem Daten unmittelbar in Register geladen werden können.Magne tb ands expensive device The total addressable memory space from which commands are executed or from which data can be loaded directly into registers.
Die Elemente eines Magnetbandgeräten zugeordneten peripheren Untersystems.Peripheral subsystem associated with the elements of a tape recorder.
Großspeicher-Steuergerät Large storage control unit
Speichermanagement Die Großspeichern zugeordneten Elemente einer peripheren Untersystems.Storage management The elements of a peripheral subsystem associated with large storage facilities.
Betriebssystem-Möglichkeiten für die Zuordnung, Umordnung undPreigabe eines physikalischen Speichers.Operating system options for assigning, rearranging and sharing a physical memory.
Nachricht (Message) Die von einer Quelle oder zu einem Bestimmungsort hin übertragene Information, wobei weder Quelle noch BestimmungsortMessage The from a source or to a destination information transmitted, with neither source nor destination
eine Datei ist. A AA_is a file. A AA _
709810/0993709810/0993
Mikrobefehl Das gleiche wie Mikrobefehlswort und Speichersteuerwort.Microinstruction same as microinstruction word and memory control word.
Mikroprogramm Eine Gruppe von Maschinencodes, die bei der Ausführung von Steuerfunktionen eines Prozessors verwendet werden.Microprogram A group of machine codes used in can be used to execute control functions of a processor.
Multiplex Die gemeinsame Benutzung von Hilfsmitteln wie z.B. eines Speichers; üblicherweise erreicht durch zeitliche Unterteilung.Multiplex The sharing of resources such as a memory; usually achieved through time division.
Multi-ProgrammierungMulti programming
Die gleichzeitige Ausübung von zwei oder mehreren Programmen durch einen einzigen Rechner.The simultaneous exercise of two or more programs through a single one Computer.
Eigenbereichsmodus (Native Mode) Betrieb"eines Rechners in seinem eigenen Wirkungsbereich.Native mode operation "of a computer in its own" Effective range.
OffsetOffset
Bei der Adressenentwicklung die Anzahl der Bytes nach dem Beginn eines Segments, bei dem ein adressierter Teil des Segments anfängt.In address development, the number of bytes after the start of a segment, at which an addressed part of the segment begins.
Betriebssystem Ein System grundlegender Software für die Unterstützung des wirkungsvollen Einsatzes der Benutzersoftware.Operating system A system of basic software for the support of the effective Use of the user software.
Auswärts-Aufruf Wenn eine Prozedur, die in einer Ringzone abläuft, eine andere Prozedur zur Ausführung in einer höheren Ringzone aufruft. Away call If a procedure running in a ring zone, another procedure calls for execution in a higher ring zone.
70981Ö/099370981Ö / 0993
28276282827628
Peripheriesteuereinheit -Ein eigenständiger mikroprogrammierter Peripheral control unit -A self-contained micro-programmed
Prozessor, welcher Kanalprogramme für die Durchführung von Ein/Ausgabeoperationen ausführt.Processor, which channel programs for the implementation of input / output operations executes.
Peripheriesystem-Schnittstelle Eine Standardschnittstelle für die übertragung und Steuerung zwischen eigenständigen peripheren Steuereinheiten und Ein/Ausgabe-Sinheiten. Peripheral system interface A standard interface for transmission and control between independent peripheral control units and input / output units.
Physikalische Datenstruktur Eine vollständige Definition der!" Datenorganisation, wie sie physikalisch auf einem Speichermedium aufgezeichnet ist, Physical data structure A complete definition of the data organization as it is physically recorded on a storage medium.
Physikalische Ein/ AusgabePhysical input / output
Derjenige Teil eines Betriebssystems, der die übertragung von Daten zwischen dem Speicher und peripheren oder Endgeräten in Gang setzt und steuert.That part of an operating system that handles the transfer of data between sets and controls the memory and peripheral or terminal devices.
Physikalische Speicherung Die zur Datenspeicherung dienende Hardware. Sie setzt sich aus verschiedenen Arten von Aufzeichnungsmedien und der Schreib/Lesehardware zusammen. Physical storage The hardware used to store data. It is made up of various types of recording media and read / write hardware.
Ein Maschinenbefehl mit einem Semaphor, welches.den Prozeß veranlaßt, den Wartezustand einzunehmen oder eine Nachricht zu empfangen. A machine instruction with a semaphore which causes the process to enter the waiting state or to receive a message.
Ein Befehl, der im Ring 0 ausgeführt werden muß. A command that must be carried out in ring 0.
Prozedur Eine benannte Softwarefunktion oder ein Algorithmus, der von einem Prozessor ohne Gleichzeitigkeit ausgeführt worden kann: Eine Fortran-Subroutine, ein Gobol-Programm, eine interne Prozedur Procedure A named software function or algorithm that can be executed by a processor without concurrency: a Fortran subroutine, a gobol program, an internal procedure
709810/0993709810/0993
in der Prograitunsprache I.in the program language I.
Prozeduraufruf Ein Mechanismus für die Erzeugung eines Stapelrahmens innerhalb eines Stapelsegments.Procedure call A mechanism for creating a stack frame within a Stacking segments.
Prozedur-Deskriptor Ein Wort, das den Platz und die Eingangsstelle einer Prozedur enthält. Procedure descriptor A word that contains the place and entry point of a procedure.
Prozedursegment Eine Art Segment, dessen Inhalt eine Prozedur, mehrere Prozeduren oder einen Teil einer Prozedur darstellt.Procedure segment A type of segment, the content of which is a procedure, several procedures, or one Represents part of a procedure.
ProzeßProcess
Die geordnete Ausführung von Befehlen durch einen Prozessor ohne Gleichzeitigkeit entweder zentral oder mit Ein/Ausgabe. The orderly execution of instructions by a processor without concurrency either centrally or with input / output.
Prozeßadressenraum Speicheradressen, welche während eines bestimmten Prozesses angewählt werden können oder auf welche die Steuerung übertragen werden kann.Process address space Memory addresses which are selected during a specific process can or to which the control can be transferred.
Prozeßsteuerblock Eine durch Hardware definierte und feststellbare Datenstruktur, welche die Informationen enthält, um jederzeit den Zustand eines Prozesses festssteilen zu können.Process control block A hardware-defined and determinable one Data structure that contains the information to determine the status of a process at any time to be able to.
Prozeßgruppe Eine Gruppe einander zugeordneter Prozesse üblicherweise jene, welche zur Durchführung eines einzelnen Jobschrittes nötig sind.Process group A group of related processes usually those that are necessary to carry out a single job step are.
70981G/099370981G / 0993
Prozeßgruppenbildner (Process Group Builder) Derjenige Teil der statischen Verbindungseinheit, dessen Einsatz zum verknüpften Modul führt.Process Group Builder That part of the static connection unit, whose use leads to the linked module.
Prozeßgruppenlader (Process Group Loader) Eine Möglichkeit des Betriebssystems, welches die endgültigen Entscheidungen in einem verknüpften Modul herbeiführt und eine durchführbare Prozeßgruppe erzeugt, anschließend die Prozeßgruppe in den Speicher lädt und ihre Durchführung in Gang setzt.Process Group Loader A possibility of the operating system, which brings about the final decisions in a linked module and a feasible process group then loads the process group into memory and executes it sets in motion.
Prozeßverbindung Eine Eingangsstelle in einem vorbereiteten Prozeß oder eine wartende Prozeß-Warteschlange.Process connection An entry point in a prepared process or a waiting one Process queue.
ProzeßzustandProcess state
Der dynamische Zustand eines Zentraleinheit --Prozesses, beispielsweise laufend, vorbereitet, wartend oder ausgesetzt. The dynamic state of a central processing unit process, for example ongoing, prepared, waiting or suspended.
Prozeßumschaltung Die Hardwarefunktion, welche einen Prozeß von der Zentraleinheit abtrennt und einen anderen damit verbindet.Process switching The hardware function that controls a process from the central unit and connects another to it.
Prozeßsynchronisierung Die Funktion, welche die asynchrone Tätigkeit zwischen den Prozessen koordiniert. Diese Funktion enthält im allgemeinen Semaphoren und die P- und V-Operationen. Process synchronization The function that coordinates the asynchronous activity between the processes. This function generally includes semaphores and the P and V operations.
Prozessorprocessor
Eine Einheit, welche Daten empfangen und verarbeiten, Ergebnisse liefern und ihre Arbeitsfolge in Abhängigkeit von einem gespeicherten Programm steuern N kann; allgemeiner Ausdruck für Zentraleinheit, Peripherieprozessor oder Hard-A unit which receive and process data, provide results and control their operation sequence in accordance with a stored program may be N; general term for central unit, peripheral processor or hardware
709810/0993709810/0993
ware/Softwareprozessor.ware / software processor.
Programmprogram
Die Spezifikation von Prozedur bestimmenden und zugehörigen Informationen, die zur Lösung eines Problems nötig ist, d.h., die geordnete Ansammlung von Befehlen, welche vom Rechner ausgeführt wird, um einen Benutzerjob oder eine bestimmte Phase eines solchen Jobs zu erledigen. The specification of procedure-determining and related information, which is necessary to solve a problem, i.e. the orderly collection of commands, which is executed by the computer in order to carry out a user job or a specific Phase of such a job.
Programmaus führung Die Aktivität eines Prozesses in Übereinstimmung mit der Programmspezifikation .Program execution The activity of a process in accordance with the program specification.
Schutzfunktion Die durch Hardware und Software gewährleistete Funktion, um gegenseitige Beeinträchtigung von Prozessen oder die unerlaubte gemeinsame Benutzung von Adreßraum zu verhindern.Protective function The function guaranteed by hardware and software to prevent mutual interference of processes or the unauthorized sharing of address space.
P-Tabelle (Prozeßgruppentabelle) Eine durch Hardware definierte Datenstuktur mit Eingangsstellen, von denen jede auf den Ursprung eines Prozeßsteuerblocks hinweist. Die P-Tabelleneingangsstellen zeigen auch auf die gesamte Gruppe von Prozeßsteuerblöcken, die zu jeder gegebenen Zeit eine Prozeßgruppe enthalten. Man nennt sie auch Prozeßgruppentabelle.P table (process group table) A hardware-defined data structure with input points, each of which points to the origin of a process control block indicates. The P table entry points also point to the entire group of process control blocks that are a process group at any given time contain. It is also called a process group table.
Q/PR/RDY. Die Warteschlange eines Prozesses ist vorbereitet.Q / PR / RDY. The queue of a process is prepared.
709810/0993709810/0993
WarteschlangeQueue
Vorbereitungs zus tand (Ready State)Preparation state (ready state)
Eine geordnete Liste von Eingangsgrößen, welche auf Informatiom oder auf Zugang warten,An ordered list of input variables, which are based on Informatiom or wait for access,
welche auf Informationen einen Prozeßwhich on information a process
Ein Prozeßzustand, bei dem kein Prozessor zugeordnet ist, aber alle notwendigen Hilfsmittel mit Ausnahme des Prozessors für den übergang in den Ablaufzustand vorbereitet sind.A process state in which no processor is assigned, but all necessary ones Tools with the exception of the processor for the transition to the run state are prepared.
Relative AdresseRelative address
Umordnung (Relocation)Relocation
RücksprungReturn
Ringring
Der Schrittweise definierte Platz eines Objekts in Bezug auf ein anderes.The incrementally defined place of one object in relation to another.
Die Verschiebung eines Segments von einem Platz im Hauptspeicher auf einen anderen einschließlich der Anpassung aller erforderlichen Bezugnahmen auf seinen vorhergehenden Standort.Moving a segment from one location in main memory to another including the adjustment of all necessary references to its previous one Location.
Die Funktion und die Operationen, welche nötig sind, um die Tätigkeit einer Prozedur an einer Stelle wieder aufzunehmen, welche unmittelbar derjenigen Stelle folgt, wo sie in eine andere Prozedur übergegangen ist.The function and the operations which are necessary for the operation of a procedure at a point that immediately follows the point where it entered another procedure has passed.
Ein Schutzattribut eines Segments, welches den Lese-,Schreib-und Ausführungszugriff eines Prozesses zu jenem Segment beschränkt. Der Ring stellt ferner den Grad des Privilegs eines Prozesses für das Lesen, Schreiben oder Durchführen von Operationen dar.A protection attribute of a segment which restricts the read, write and execution access of a process to that segment. The ring also provides the degree of privilege is a process for reading, writing, or performing operations.
709810/0993709810/0993
Steuerungsübergabe (Rolling-in)Transfer of control (rolling-in)
Durchführung der notwendigen Operationen, um die Steuerung eines Prozesses auf. einen neuen Prozeß zu übertragen.Perform the operations necessary to control a process based on. a transferring a new process.
Steuerungswegnahme (Rolling-out)Removal of control (rolling out)
Durchführung der notwendigen Operationen, um die Steuerung eines Prozessors durch einen Prozeß zu beenden.Carrying out the operations necessary to control a processor through end a process.
Laufender ZustandRunning condition
Der dynamische Zustand eines an die Zentraleinheit angeschlossenen Prozesses, welcher gerade abläuft.The dynamic state of a process connected to the central unit, which is currently running.
Zwischenspeicher (Scratch Pad Memory) 256 Speicherplätze im Rechenwerk zur Speicherung von Steuerinformationen für die Zentraleinheit, auch als örtlicher Speicher bekannt.Intermediate memory (scratch pad memory) 256 memory locations in the arithmetic unit for Storage of control information for the central unit, also known as local memory.
Ablaufplanung (Scheduling)Scheduling
Wissenschaftliches RegisterScientific register
Α·ί.Α · ί.
Segmentsegment
Bestimmung der Folge der einzelnen Operationen.Determination of the sequence of the individual operations.
Ein 64-Bit-Register, welches bei der Verarbeitung von binären Fließkommazahlen verwendet wird. Beim vorliegenden System hat dieses in der wissenschaftlichen Option vier wissenschaftliche Register. A 64-bit register which is used when processing binary floating point numbers is used. In the present system this has four scientific registers in the scientific option.
_. zusammenhäugender . . , Ein .. Hauptspeicherraum, welcher als Einheit behandelt wird._. more cohesive. . , A .. main storage space, which is treated as a unit.
Segmentierung Die Unterteilung des Hauptspeichers in logische Gruppen genannt Segmente an Stelle der Unterteilung in einen einzigen linearen Speicherraum.Segmentation The division of main memory into logical groups called segments Place of division into a single linear memory space.
709810/0993709810/0993
262762B262762B
SegmentbasisSegment base
Der laufende Ursprung des Segments. Dies ist eines der Felder in einem Segmentdes criptorwort.The running origin of the segment. This is one of the fields in a segment of the crypto word.
SegmentdescriptorSegment descriptor
Die Eingangsstelle in eine Segmenttabelle, welche die Kenngrößen eines Segments definiert oder auf einen Segmentdescriptor hinweist.The entry point in a segment table which defines the parameters of a segment or indicates a segment descriptor.
Segmentnummer Die Identifizierung eines bestimmten Segments bestehend aus einer Segmenttabellennummer, die eine der Segmenttabellen des Prozesses auswählt, und einer Segmenttabelleneingangssteile der ausgewählten Tabelle.Segment number The identification of a specific segment consisting of a segment table number, which selects one of the segment tables of the process, and a segment table input parts the selected table.
Relative Segmentadresse Während der Adressenentwicklung der endgültige Wert,der zur Segmentbasis zu addieren ist, um die absolute Adresse zu erhalten.Relative segment address The final one during address development Value to be added to the segment base to get the absolute address obtain.
SegmenttabelleSegment table
Segmenttabelleneingangsstelle Eine Tabelle mit Segmentdescriptoren, welche die Adressierbarkeit eines Prozesses zu seinen Segmenten festlegt. Die Sammlung von Segmenttabellen eines Prozesses bestimmt den Adressenraum für jenen Prozeß..Segment table entry point A table with segment descriptors, which defines the addressability of a process for its segments. The collection of segment tables of a Process determines the address space for that process.
Eine Stelle in einer Segmenttabelle. Jede Segmenttabelleneingangsstelle ist ein Segmentdescriptor.A place in a segment table. Each segment table entry point is a segment descriptor.
Segmenttabellenwort Der Eingang in eine Segmenttabellenwortanordnung, welcher auf die Segmenttnbellen eines Prozesses hinweist. Die An-Segment table word The entry into a segment table word arrangement, which indicates the segment tables of a process. The arrival
709810/0993709810/0993
Ordnung wird durch eines von zwei Adreßraumworten im Prozeßsteuerblock bezeichnet. Order is denoted by one of two address space words in the process control block.
Semaphorsemaphore
Datenstrukturen zur Steuerung des Informationsaustausches zwischen Prozessen.Data structures for controlling the exchange of information between processes.
SemaphorblockSemaphore block
Ein Datenblock, der nur Semaphor-Descriptorerklärungen enthält.A block of data that only has semaphore descriptor declarations contains.
Stapelspeicher
(Stack)Stack memory
(Stack)
Ein Mechanismus, welcher Daten aufnimmt, speichert und ihre Wiedergewinnung ermöglicht nach dem Prinzip, daß die zuletzt eingegebene Information zuerst ausgegeben wird. Er besteht aus einer Anzahl benachbarter Teile, welche Stapelspeicherrahmen genannt werden.A mechanism that takes in data, stores it and enables it to be retrieved according to the principle that the information entered last is output first. It consists of one Number of adjacent parts, which are called stack frames.
Stapelspeicher-Aktivbereich Stack active area
Derjenige Teil eines gerade in Betrieb befindlichen Stapelspeicherrahmens, welcher einen Hinweis auf einen Reservebereich, das Befehlszählwerk des Aufrufers , Parameterraum und örtliche Veränderliche enthält, kurz gesagt, die Daten des gerade ablaufenden Rahmens, welche mit größter Wahrscheinlichkeit für die Ausführung der aufgerufenen Prozedur nützlich sind.That part of a stack frame that is currently in use which a reference to a reserve area, the command counter of the caller, Parameter space and local variables contain, in short, the data of the current running frame, which are most likely useful for the execution of the called procedure.
Stapelspeicherbasisworte Stack base words
Eine Gruppe von drei Worten in einem Prozeßsteuerblock, die die segmentierten Adressen der Stapelspeichersegmente für die dem Prozeß zugeordneten Ringe 0, 1 und 2 enthält.A group of three words in a process control block that make up the segmented Contains addresses of the stack memory segments for rings 0, 1 and 2 associated with the process.
709810/0993709810/0993
StapelspeicherrahmenStack frame
Ein fortlaufender Teil des Stapelspeichersegments, welcher die gespeicherten Daten für einen einzigen Prozeduraufruf enthält.A contiguous portion of the stack segment that contains the stored Contains data for a single procedure call.
Stapelspeicherbetrieb Die Operationen zum Speichern und Wiedergewinnen von Informationen im und aus dem Stapelspeicher. In der Praxis die Verarbeitung von Hinweisadressen auf die in dem Stapelspeieher enthaltenen Informationen.Stack operation The operations for storing and retrieving of information in and from the stack. In practice, the processing of reference addresses on the information contained in the stack.
Stapelspeicher-Überlauf Der Versuch mehr Information in den Stapelspeicher einzuspeichern als in diesem Speicherraum vorhanden ist. Dieser Zustand wird von der Hardware festgestellt.Stack Overflow Trying to put more information on the stack than is available in this memory space. This condition is determined by the hardware.
Stapelspeicherregister Siehe T-Register.Stack register See T register.
Stapelspeichersegment· Das Segment eines Prozesses, welches dessen Stapelspeicher enthält.Stack segment · The segment of a process which whose stack contains.
Statische Verbindungseinheit
(Static Linking) Ein Zwischenschritt zwischen dem Compilieren einer Quellenprozedur und der
Ausführung der Objektform einer solchen Prozedur. Die Verbindung löst die externen
Bezugnahmen auf und von dieser Prozedur. Static connection unit
(Static Linking) An intermediate step between compiling a source procedure and executing the object form of such a procedure. The link releases the external references to and from this procedure.
StatusregisterStatus register
Auswärtsspeichern
(Swapping)Save away from home
(Swapping)
Ein 8-Bit Register, welches den Zustand der gerade ablaufenden Prozedur kennzeichnet. An 8-bit register, which identifies the status of the currently running procedure.
Die Entlastung des von einem Segment besetzten Hauptspeicherraums durch UmladenRelieving the main memory space occupied by a segment by reloading
709810/0993709810/0993
des Segments in einen Sekundäropeichcr. Das tatsächliche Umschreiben in den Sekundärspeicher kann unterdrückt werden, falls das Segment seit dem letzten Auslesen nicht geändert worden ist.of the segment in a secondary storage. The actual rewriting in the secondary memory can be suppressed, if the segment has not been changed since the last readout.
Synchronisierung Eine feste zeitliche Zuordnung, beispielsweise die synchronisierte Durchführung von zwei oder mehr Prozessen.Synchronization A fixed time allocation, for example the synchronized execution of two or more processes.
Systembasis Ein fest vorgegebener Bereich im Hauptspeicher, der als Wurzel für alle Informationsstrukturen dient.System basis A fixed area in the main memory, which serves as the root for all information structures.
TaskTask
Kleinste Einheit der vom Benutzer bestimmten Arbeit, welche nur aus einem einzigen Strom nicht gleichzeitig auftretender Befehle steht.Smallest unit of the work determined by the user, which consists of only one single stream of commands that do not occur at the same time.
T-Register Ein für die Software sichtbares Hardwareregister, welches die segmentierte Adresse der Spitze eines Prozedurstapelspeichers enthält.T register A hardware register visible to the software, which contains the segmented address of the top of a procedure stack.
Aufzeichnungsgerät-Steuereinheit Die Elemente des peripheren Untersystems , die mit Aufzeichnungsgeräten wie Karten=- Stanzer und -Lesern, Streifen- Stanzern und-Lesern sowie Zeilendruckern in Verbindung stehen.Aufzeichnungsgerät- control unit the elements of the peripheral subsystem connected to recording devices such as maps = - are punch and readers, strip punches and readers and line printers in connection.
Benutzer-Prozeßgruppe Die interne Darstellung irgendeines Jobschrittes im Gegensatz zu einer Systemprozeßgruppe, die unabhängig von irgendeinem Job besteht. User Process Group The internal representation of any job step as opposed to a system process group that is independent of any job.
709810/0993709810/0993
VakanzanzeigerVacancy indicator
Eine Hardwarestruktur, welche anzeigt, daß der Prozeß, welcher in der Zentraleinheit ablief,· sich selbst ausgesetzt hat, d.h., daß kein gerade ablaufender Prozeß sich in der Zentraleinheit befindet. Er befindet sich dann in einem Hilfsregister des Rechenwerks.A hardware structure which indicates that the process which is in the central processing unit has expired, has exposed itself, i.e. that no Process is in the central unit. It is then located in an auxiliary register of the arithmetic unit.
Ein Adressierverfahren, welches dem Programmierer eine Codierung ohne Rücksicht auf den physikalischen Umfang des Speichers erlaubt. Ein Virtualspeicher-Steuersystem sorgt für den Austausch von Segmenten zwischen dem Hauptspeicher und dem Sekundärspeicher.An addressing method that allows the programmer to code without regard allowed on the physical size of the memory. A virtual storage control system ensures the exchange of segments between the main memory and the secondary memory.
Ab.£ancf-Semäphor Ein Maschinenbefehl für die Mitteilung des Abschlusses eines Ereignisses innerhalb des Prozesses. Eine V-Operation erfolgt auf ein bestimmtes Semaphor.Ab. £ ancf-semaphore A machine instruction for notification of the completion of an event within of the process. A V operation is performed on a specific semaphore.
Semaphor mit nicht-programmiertern Sprung bzw. Haltepunkt.Semaphore with non-programmed jump or breakpoint.
Eine Gruppe ähnlicher Feldwerte, von denen jeder Feldwert aus einem verschiedenen Datensatz in der gleichen Datensatzklasse stammt und wobei die Feldwerte zur Speicherung der gleichen Eigenschaft benutzt werden. Beispielsweise alle Feldwerte für das Alter innerhalb der Datensatzklasse für die Angestellten.A group of similar field values, each field value from a different one Record originates in the same record class and the field values are used to store the same Property to be used. For example, all field values for the age within the record class for the Employees.
709810/0 993709810/0 993
- 196-- 196-
Feldwert Ein Datenelement, das einem Datensatz zugeordnet ist/ welches den Wert irgendeiner Eigenschaft des durch den Datensatz repräsentierten Systemelementes darstellt. Der Wert kann durch eine Zeichenfolge, eine Nummer, einen Bool1sehen Wert oder irgendwelche Daten dargestellt werden, welche als der Wert interpretiert werden können oder welche indirekt zu dem Wert führen. Field value A data element which is assigned to a data record / which represents the value of some property of the system element represented by the data record. The value can be represented by a character string, a number, a Boolean 1 value or any data which can be interpreted as the value or which lead indirectly to the value.
Mitglied Eine Rolle, die ein Datensatz in Beziehung mit einem Gruppenauftritt spielt.Member A role that a record is related to a group appearance plays.
Hinweisadresse Zeiger Ein Informationselement, das zum Identifizieren eines Systemelementes innerhalb einer Informationsstruktur verwendet wird. Der Inhalt der Hinweisadresse kann ein eindeutiges Symbol sein, welches das Systemelement oder die Adresse des Systemelementes in irgendeinem Adressbereich identifiziert. Pointer pointer An item of information related to the Identification of a system element within an information structure is used. The content of the reference address can be a unique symbol that represents the system element or the address of the system element is identified in some address range.
Datenbank-HinweisadresseDatabase hint address
Eine Hinweisadresse, deren Inhalt auf einem Adressbereich basiert, welcher von dem normalen Adressierbereich des Computers verschieden ist. Typischerweise sind Datenbank-Hinweisadressen mit Adressbereichen ausgestattet, welche größer als die hardwareunterstützten Adressen sind und sie bieten daher einige Möglichkeiten der indirekten Adressierung, wodurch das Problem des fortlaufend unbenutzten Speicherplatzes umgangen wird. A pointer whose content is based on an address range which is different from the normal addressing range of the computer. Database reference addresses are typically equipped with address ranges which are larger than the hardware-supported addresses and therefore offer some options for indirect addressing, which circumvents the problem of continuously unused memory space.
709810/0993709810/0993
Virtuelle Speicher-HinweisadresseVirtual memory pointer
Eine Hinweisadresse, deren Inhalt durch die teilweise virtuelle Speicheradresse des zu adressierenden Systemelementes gebildet ist. Der fehlende Segmentteil der virtuellen Speicheradresse ist der gleiche, wie der des Segmentes der Zwischensegment-Hinweisadresse und ist somit implizite bekannt.A pointer, the content of which is determined by the partially virtual memory address of the system element to be addressed is formed. The missing segment part of the virtual Memory address is the same as that of the segment of the inter-segment pointer and is thus implicitly known.
Eine Hinweisadresse, deren Inhalt durch die virtuelle Speicheradresse des zu adressierenden Systemelementes gebildet wird.A pointer, the content of which is determined by the virtual memory address of the address to be addressed System element is formed.
Datensatzrecord
Ein Datenelement, welches ein Objekt der tatsächlichen Umwelt umschreibt. Beispielsweise repräsentiert ein "personeller11 Datensatz einen Angestellten.A data element that describes an object in the actual environment. For example, a “personal 11 data record represents an employee.
DatensatzklasseRecord class
Eine Gruppe von ähnlichen Datensätzen, die so definiert sind, daß jeder Datensatz nur einer einzigen Datensatzklasse genügt. Beispielsweise alle "personellen""Datensätze.A group of similar records that are defined so that each record only satisfies a single record class. For example, all "personal" data records.
Eine Informationsstruktur, welche bei der Bildung, Erkennung und Zerstörung von Datensatzstrukturen benutzt wird. Der Datensatzdescriptor bezieht sich auf eine einzelne Datensatzklasse. An information structure that is used in the creation, recognition and destruction of data record structures. The record descriptor refers to a single record class.
709810/0993709810/0993
Gruppegroup
Benutzer Eine Gruppe ist eine Zusammenstellung von einem oder mehreren Datensätzen. Sie benutzt einen "Benutzer"-Datensatz, der die Gruppe definiert. Sie weist ferner null, einen oder mehrere "Mitglied"-Datensätze auf. Eine Gruppe kann so geordnet sein, daß sie auf folgendes verweist:User A group is a collection of one or more data records. It uses a "user" record that defines the group. It also has zero, one, or more "member" records. A group can be ordered to refer to the following:
"erstes Mitglied"
"letztes Mitglied" "nächstes Mitglied" "vorangegangenes Mitglied""first member"
"last member""nextmember""previousmember"
Eine Gruppenklasse ist eine mit Namen versehene Sammlung von Gruppen, basierend auf Regeln für:A group class is a named collection of groups based on rules for:
GruppenrollenGroup roles
Gruppenauftrittauswahl GruppenordnungGroup appearance selection group order
Eine Gruppe kann ein Mitglied von nur einer einzigen Gruppenklasse sein. Ein Datensatz kann ein Mitglied nur von einer Gruppe innerhalb einer Gruppenklasse sein.A group can be a member of only one group class be. A data record can only be a member of one group within a group class.
Eine Informationsstruktur, welche bei der Auslösung, der Einfügung, der Wiederauffindung und dem Entfernen von Datensätzen in Beziehung auf Gruppenstrukturen benutzt wird· Ein Gruppendescriptor bezieht sich auf eine einzige Gruppenklasee. An information structure which is used in the initiation, the insertion, the retrieval and removal of data sets in relation to group structures · A Gruppendescriptor refers to a single Gruppenklasee.
Eine Rolle, die ein Datensatz in BeBeziehung zu einer Gruppe spielt. Ein Gruppenauftreten existiert während der Zeitspanne, während der ein Datensatz in der Benutzerrolle existiert.A role that a record plays in relation to a group. A group occurrence exists during the period of time during which a record is in the user role exists.
709810/0993709810/0993
-ΖΟΪ - -ΖΟΪ -
Abkürzungen:Abbreviations:
ACU (address control unit)ACU (address control unit)
ALU (arithmetic and logic unit)ALU (arithmetic and logic unit)
AS (address syllable)AS (address syllable)
ASW (address space word)ASW (address space word)
BAR (boundary address register)BAR (boundary address register)
BCD (binary coded decimal)BCD (binary coded decimal)
BR (base register)BR (base register)
CCE (channel command entry)CCE (channel command entry)
CCU (channel control unit)CCU (channel control unit)
CMRN (the callers maximum ring number)CMRN (the callers maximum ring number)
CCW (channel command word)CCW (channel command word)
CET (current state entry time)CET (current state entry time)
CIA (control store interface adapter)CIA (control store interface adapter)
CJP (currently executing process)CJP (currently executing process)
CPU (central process unit)CPU (central process unit)
CU (compilation unit)CU (compilation unit)
CSU (control store unit)CSU (control store unit)
D (displacement)D (displacement)
DMU (data management unit)DMU (data management unit)
DA (device adapter)DA (device adapter)
EAR (effective address ring)EAR (effective address ring)
EXW (exeption word)EXW (exception word)
GR (generjal register)GR (general register)
GTW (G-table word)GTW (G-table word)
IC (instruction counter)IC (instruction counter)
IFU (instruction fetch unit)IFU (instruction fetch unit)
Adressensteuerwerk RechenwerkAddress control unit arithmetic unit
AdreßsilbeAddress syllable
Adress en raumwo rt AdressengrenzregisterAdress en Raumwo rt Address limit register
Binär codierte Dezimalziffer Binary coded decimal digit
Basisregister Kanaleingangsbefehl KanalsteuereinheitBase register channel input command channel control unit
maximale Ringnummer des Aufrufersmaximum ring number of the caller
KanalbefehlswortChannel command word
Eingangszeit des laufenden ZustandesEntry time of the current state
Steuerspeicher-Schnittstellenadapter Control store interface adapter
gerade ablaufender Prozeß Zentraleinheit CompilerSinheit Speichersteuerwerk Verschiebung Datenmahagementeinheit Geräteadapter effektiver Adreßring Ausnahmewort Generalregister G-Tabellenwort Be f eh 1 s ζ Sh lwe rk BefehlsabrufeinheitProcess currently running central processing unit compiler unit Storage control unit displacement data management unit device adapter effective address ring Exceptional word general register G table word Be f eh 1 s ζ Sh lwe rk Command fetch unit
709810/0993709810/0993
I/O (input/output)I / O (input / output)
IOC (input/output controller)IOC (input / output controller)
IPQW (internal process queue word)IPQW (internal process queue word)
IR (index register)IR (index register)
ITBR (indirect to base register)ITBR (indirect to base register)
ITS (indirect to segment)ITS (indirect to segment)
J (job)J (job)
JCL (job control language)JCL (job control language)
JTW (J-table word)JTW (J-table word)
LCT (logical channel table)LCT (logical channel table)
LIFO (last-in-first-out)LIFO (last-in-first-out)
LSU (local store memory or scratch pad memory)LSU (local store memory or scratch pad memory)
HBZ (must be zero)HBZ (must be zero)
MOS (metal oxide semiconductor)MOS (metal oxide semiconductor)
MAXR (maximum ring number)MAXR (maximum ring number)
MSC (mass storage controller) MTC (magnetic tape controller) NFS .(non-functional status)MSC (mass storage controller) MTC (magnetic tape controller) NFS. (Non-functional status)
NPRN (new process ring number) NJP (new process replacing theNPRN (new process ring number) NJP (new process replacing the
currently executing process)currently executing process)
PCB (process control block)PCB (process control block)
PCT (physical channel table)PCT (physical channel table)
PCU (peripheral control unit)PCU (peripheral control unit)
PL/I (programming language/one)PL / I (programming language / one)
PMW (process" main word)PMW (process "main word)
Eingabe/Ausgabe Ein/Ausgabe-SteuerungInput / output input / output control
Internprozeß-Warteschlangenwort Internal process queue word
IndexregisterIndex register
Register für indirekte BasisadressierungRegister for indirect basic addressing
indirekte Segmentadressierung indirect segment addressing
Jobjob
Jobsteuersprache J-Tabellenwort logische KanaltabelleJob control language J table word logical channel table
zuletzt eingegeben/als erster entnommen örtlicher Speicher oder
Zwischenspeicher muß Null sein
Metalloxyd-Halbleiterlast entered / first removed local memory or intermediate memory must be zero
Metal oxide semiconductors
maximale Ringnummer, bei der eine Prozedur ausgeführt werden kann. Sie wird im Segmentdeskriptor SEGßp gefunden.maximum ring number at which a procedure can be executed. It is found in the segment descriptor SEG ßp .
Großspeieher-Steuergerät MagnetbandgerätsteuereinheilLarge storage control unit Magnetic tape recorder control unit
nicht-funktioneller Zustand : non-functional condition :
neue Prozeßringnummernew process ring number
neuer Prozeß als Ersatz für den ablaufenden Prozeß Prozeßsteuerblock physikalische Kanaltabelle Peripheriesteuereinheit Programmsprache/l Prozeßhauptwortnew process to replace the current process process control block physical channel table peripheral control unit program language / l process main word
709810/0993709810/0993
Q/PR/RDY (queue of processes ready)Q / PR / RDY (queue of processes ready)
RD RHURD RHU
RPW RSURPW RSU
RTO SBW SEG SKWRTO SBW SEG SKW
EPEP
PDPD
STN STR STW STWASTN STR STW STWA
WR WTAWR WTA
(read ring)(read ring)
(reserved for hardware use)(reserved for hardware use)
(running process word) (reserved for software use)(running process word) (reserved for software use)
(ready time accounting)(ready time accounting)
(residual time out) (stack base word) (segment number) (stack word)(residual time out) (stack base word) (segment number) (stack word)
(segment containing entry point)(segment containing entry point)
(segment containing procedure descriptor)(segment containing procedure descriptor)
(scientific register) (segment relative address) (segment table entry)(scientific register) (segment relative address) (segment table entry)
(segment table number) (status register) (segment table word) (segment table word array) (segment table number) (status register) (segment table word) (segment table word array)
(T-register, stack register)(T-register, stack register)
(unit record controller)(unit record controller)
•s(write ring) (waiting time accounting) Warteschlange des Prozesses vorbereitet• s (write ring) (waiting time accounting) queue of the process prepared
LeseringReading ring
reserviert für Hardwarebenutzung reserved for hardware use
laufendes Prozeßwortcurrent process word
reserviert für Softwarebenutzung reserved for software use
Bereitschaftszeitberechnung Availability time calculation
Restzeitablauf
Stapelspeicherbasiswort .Segmentnummer
StapelspeicherwortRemaining time
Stack base word .segment number
Stack word
das Segment, welches die im Prozedurdeskriptor gefundene Eingangsstelle aufweistthe segment containing the entry point found in the procedure descriptor having
Segment, welches den Prozedurdeskriptor aufweist wissenschaftliches Register .relative SegmentadresseSegment containing the procedure descriptor scientific register .relative segment address
Segmenttabelleneingangsstelle Segment table entry point
Segmenttabellennummer StatusregisterSegment table number status register
SegmenttabellenwortSegment table word
Segmenttabellenwortanordnung Segment table word arrangement
T-register, Stapelspeicherregister T-register, stack register
Aufzeichnungsgerät-Stouereinheit Recorder control unit
Schreibring
WartezeitberechnungWriting ring
Waiting time calculation
70Ö810/099370Ö810 / 0993
Claims (1)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/588,434 US4025901A (en) | 1975-06-19 | 1975-06-19 | Database instruction find owner |
US05/588,523 US4130867A (en) | 1975-06-19 | 1975-06-19 | Database instruction apparatus for determining a database record type |
US05/588,435 US4024508A (en) | 1975-06-19 | 1975-06-19 | Database instruction find serial |
US05/588,522 US4044334A (en) | 1975-06-19 | 1975-06-19 | Database instruction unload |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2627628A1 true DE2627628A1 (en) | 1977-03-10 |
Family
ID=27504984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762627628 Ceased DE2627628A1 (en) | 1975-06-19 | 1976-06-19 | INTERNALLY PROGRAMMABLE DATA PROCESSING SYSTEM |
Country Status (4)
Country | Link |
---|---|
CA (1) | CA1074022A (en) |
DE (1) | DE2627628A1 (en) |
FR (1) | FR2325104A1 (en) |
GB (1) | GB1528062A (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112098770B (en) * | 2020-08-20 | 2024-06-14 | 深圳市宏旺微电子有限公司 | Test method and device for dynamic coupling fault simulation in extreme environment |
CN117312330B (en) * | 2023-11-29 | 2024-02-09 | 中国人民解放军国防科技大学 | Vector data aggregation method and device based on note storage and computer equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3643225A (en) * | 1969-04-02 | 1972-02-15 | Fairchild Camera Instr Co | Memory control system |
FR122199A (en) * | 1973-12-17 |
-
1976
- 1976-06-10 CA CA254,536A patent/CA1074022A/en not_active Expired
- 1976-06-10 GB GB24111/76A patent/GB1528062A/en not_active Expired
- 1976-06-19 DE DE19762627628 patent/DE2627628A1/en not_active Ceased
- 1976-06-21 FR FR7618858A patent/FR2325104A1/en not_active Withdrawn
Non-Patent Citations (2)
Title |
---|
DE-Z: Elektronische Rechenanlagen 1974, Heft 6, S. 230-235 * |
US Proceedings of the Spring Joint Computer Conference 1966, S. 65-69 * |
Also Published As
Publication number | Publication date |
---|---|
GB1528062A (en) | 1978-10-11 |
CA1074022A (en) | 1980-03-18 |
FR2325104A1 (en) | 1977-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2626703A1 (en) | INTERNALLY PROGRAMMABLE DATA PROCESSING SYSTEM | |
DE3280446T2 (en) | Digital data processing system. | |
DE2458065C2 (en) | Data processing system | |
DE69833008T2 (en) | PROCESSOR WITH INSTRUCTION CODING BY MEANS OF A TEMPLATE | |
DE69730276T2 (en) | Apparatus and method for facilitating the avoidance of exceptional specific conditions during the course of a program | |
DE2722099C2 (en) | ||
DE2517297A1 (en) | DEVICE FOR DETERMINING A SYSTEM STATE LEADING TO A FINAL STANDSTILL TO BE PREVENTED | |
DE2555963C2 (en) | Function modification facility | |
DE2714805C2 (en) | ||
DE2716051C2 (en) | Data processing system with one or more processors with at least one input / output channel with several subchannels and with a memory arrangement in which keys are used for memory access | |
DE2456602C2 (en) | Multiprogramable data processing arrangement with internal programming and virtual memory | |
DE2720578A1 (en) | COMPUTER SYSTEM WITH MULTI-PROGRAM OPERATION / MULTIPROGRAM PROCESSING AND PROCEDURE FOR OPERATING SUCH A COMPUTER SYSTEM | |
DE2517276A1 (en) | DATA PROCESSING SYSTEM | |
DE2500006A1 (en) | HOST DATA PROCESSING SYSTEM AND METHOD FOR EMULATION OF INPUT / OUTPUT COMMANDS | |
DE2612139A1 (en) | INPUT / OUTPUT CONTROL SYSTEM | |
DE2902862A1 (en) | DIGITAL COMPUTER WITH DIVERSITY PROCESS CAPABILITY THAT PROVIDES FOR THE USE OF A COMPOSITE INTELLIGENT MEMORY AND INPUT / OUTPUT MODULES | |
DE2847934A1 (en) | DATA PROCESSING DEVICE WITH A MICRO COMMAND MEMORY | |
DE2837872A1 (en) | DIGITAL COMPUTER WITH OVERLAPPING OPERATION USING A CONDITIONAL CONTROL TO MINIMIZE TIME LOSS | |
DE2806024A1 (en) | STORAGE SYSTEM WITH ERROR DETECTION AND CORRECTION POSSIBILITY | |
DE2209282A1 (en) | Data processing system | |
DE2744251A1 (en) | MULTIPROGRAM / MULTI-PROCESS COMPUTER SYSTEM | |
DE2750721A1 (en) | INPUT / OUTPUT SYSTEM | |
DE2629459A1 (en) | DATA PROCESSING SYSTEM | |
DE2459956A1 (en) | PROCESSOR AND PERIPHERAL PROCESSING SYSTEM USING IT | |
DE1549531A1 (en) | Digital computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |