NO854375L - COMPUTING SYSTEM. - Google Patents
COMPUTING SYSTEM.Info
- Publication number
- NO854375L NO854375L NO854375A NO854375A NO854375L NO 854375 L NO854375 L NO 854375L NO 854375 A NO854375 A NO 854375A NO 854375 A NO854375 A NO 854375A NO 854375 L NO854375 L NO 854375L
- Authority
- NO
- Norway
- Prior art keywords
- instruction
- command
- text
- pointer
- instructions
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 41
- 238000013500 data storage Methods 0.000 claims description 9
- 210000000056 organ Anatomy 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 17
- 230000000977 initiatory effect Effects 0.000 description 15
- 238000013479 data entry Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
- Document Processing Apparatus (AREA)
- Memory System (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Complex Calculations (AREA)
Description
Den foreliggende oppfinnelse vedrører et databehandlingssystem som spesielt er tenkt benyttet i forbindelse med lagring og gjenfinning av data fra et lager av data, f.eks. en database. Som et resultat av utviklingen av datamaskiner med stor lagerkapasitet og rask operasjon, blir mer og mer informasjon lagret i databaser i databehandlingssystemer. Imidlertid er effektiviteten av databasene begrenset ved muligheten for brukeren, enten øvet eller uøvet, til å lagre og/eller gjenfinne data fra databasen. Generelt kan databehandlingssystemer og lignende utføres til å kunne operere, under et passende styreorgan, i to forskjellige modi . The present invention relates to a data processing system which is particularly intended to be used in connection with the storage and retrieval of data from a warehouse of data, e.g. a database. As a result of the development of computers with large storage capacity and fast operation, more and more information is stored in databases in data processing systems. However, the effectiveness of the databases is limited by the ability of the user, whether trained or untrained, to store and/or retrieve data from the database. In general, data processing systems and the like can be designed to operate, under a suitable governing body, in two different modes.
Ved den første operasjonsmodus er datasystemet tilpasset for automatisk drift. Under automatisk drift kan styreorganet dirigere databehandlingssystemet til å operere forover i henhold til et sett med kommandoinstruksjoner og i det minste delvis bakover. Ved en annen driftsmodus blir databehandlingssystemet innrettet til å drives manuelt. Under manuell drift kan brukeren, ved hjelp av styreorganet, dirigere databehandlingssystemet til å operere forover eller bakover i henhold til settet med kommandoinstruksjoner. Imidlertid kan brukeren under manuell styring ikke lett dirigere databehandlingssystemet utifrå en rekursin kommando instruksjon. In the first mode of operation, the computer system is adapted for automatic operation. During automatic operation, the controller may direct the data processing system to operate forward according to a set of command instructions and at least partially backward. In another mode of operation, the data processing system is arranged to be operated manually. During manual operation, the user, by means of the control body, can direct the data processing system to operate forward or backward according to the set of command instructions. However, under manual control, the user cannot easily direct the data processing system from a recursive command instruction.
Under slike omstendigheter må brukeren trinnvis gå gjennom en hver term for de rekursive styreinstruksjoner eller dirigere databehandlingssystemet ut av kommandoen for styreorganet. Det hvor f.eks. en rekursiv kommandoinstruksjon spe-sifiserer, la oss si 1000 rekusjoner, vil brukeren under manuell styremodus være nødt til å gå over alle 1000 rekursjoner når han passerer gjennom kommandoinstruksjonen. Det innebærer, for å passere gjennom en rekursiv kommandoinstr-uks jon, må brukeren dirigere styring inn i kommandoen, gjennom alle rekursjonene og ut av kommandoen ved fullbyrd-elsen av i det minste en av rekursjonene. In such circumstances, the user must step through each term of the recursive control instructions or direct the data processing system out of the control body command. That where e.g. a recursive command statement specifies, say, 1000 recursions, the user under manual control mode will have to go through all 1000 recursions when passing through the command statement. That means, in order to pass through a recursive command instruction, the user must direct control into the command, through all the recursions and out of the command upon completion of at least one of the recursions.
Den foreliggende oppfinnelse skaffer et databehandlingssys tem som kan styres forover og bakover i henhold til et kom-mandoinstruks jonsorgan, under dirigering av et instruksjonsorgan, og inn i og ut av rekursive kommandoinstruksjoner for kommandoinstruksjonsorganet. The present invention provides a data processing system which can be controlled forwards and backwards according to a command instruction means, under the direction of an instruction means, and in and out of recursive command instructions for the command instruction means.
I henhold til en side av den foreliggende oppfinnelse er der skaffet et databehandlingssystem for datalagring og datagjenfinning, omfattende en sentral behandlingsenhet, et lagerorgan, et inn/ut-organ og et operativsystem som er forbundet av en systembuss under styring av en buss-styrer, idet lagerorganet har et første lagringsorgan som inneholder en flerhet av instruksjoner for bruk i et instruksjonsorgan for dirigering av operasjonen av databehandlingssystemet og et annet lagringsorgan som er forsynt med, under bruk, en flerhet av instruksjoner for bruk i et kommando-instruks jonsorgan , idet operativsystemet skaffer grensesjikt for instruksjonsorganet og kommandoinstruksjonsorganet til resten av databehandlingssystemet, idet kommando-instruks jonsorganet styrer databehandlingssystemet under dirigering av instruksjonsorganet, idet instruksjonsorganet fremskaffer og tillegger pekere for hver av instruksjonene i kommandoinstruksjonsorganet, idet pekerne er representative for lokasjonen for foregående og etterfølgende instruksjoner i forhold til en aktuell instruksjon, samtidig som pekerne omfatter en første peker som representere lokasjonen for en etterfølgende instruksjon som er nestet inn i den aktuelle instruksjon, en annen peker som representerer lokasjonen av en påfølgende instruksjon som er på et nivå for nesting av samme som og inne i en nesting av instruksjoner svarende til den aktuelle instruksjon, en tredje peker som representerer lokasjonen av en foregående instruksjon som nester den aktuelle instruksjon, og en fjerde peker som representerer lokajsonen av en foregående instruksjon som befinner seg på et nivå for nesting av samme som og innenfor en nesting av instruksjoner svarende til den aktuelle instruksjon, samtidig som systemet er manuelt styrbart ved hjelp av et manuelt styreorgan og/eller automatisk styrbart ved hjelp av et automatisk styreorgan. According to one aspect of the present invention, a data processing system for data storage and data retrieval has been provided, comprising a central processing unit, a storage device, an input/output device and an operating system which are connected by a system bus under the control of a bus controller, the storage means having a first storage means containing a plurality of instructions for use in an instruction means for directing the operation of the data processing system and a second storage means provided with, in use, a plurality of instructions for use in a command instruction ion means, the operating system provides a boundary layer for the instruction body and the command instruction body to the rest of the data processing system, the command instruction body controls the data processing system under the direction of the instruction body, the instruction body providing and adding pointers for each of the instructions in the command instruction body, the pointers being representative of the location for preceding and succeeding instructions relative to a current instruction, while the pointers include a first pointer representing the location of a subsequent instruction nested within the current instruction, a second pointer representing the location of a subsequent instruction that is at a level for nesting the same as and inside a nest of instructions corresponding to the current instruction, a third pointer representing the location of a preceding instruction nesting the current instruction, and a fourth pointer representing the location zone of a preceding instruction located at a level for nesting the same as and within a nesting of instructions corresponding to the relevant instruction, at the same time that the system is manually controllable using a manual control device and/or automatically controllable using an automatic control device.
I henhold til en ytterligere side ved den foreliggende oppfinnelse er der skaffet en fremgangsmåte for styring av et databehandlingssystem i forhold til datalagring og datagjenfinning, omfattende å akseptere en flerhet av kommando-instruks joner for et kommandoinstruksjonsorgan fra en inn/ ut-innretning og lagring av dem i et annet lagringsorgan under dirigering av et instruksjonsorgan med en flerhet av instruksjoner lagret i et første lagringsorgan via en systembuss under styring av en buss-styrer og mellomkoblet ved et operativsystem, å fremskaffe og tillegge pekere for hver instruksjon i kommandoinstruksjonsorganet, idet pekerne er representative for lokasjonen av foregående og etterfølgen-de instruksjoner i forhold til en aktuell instruksjon, samtidig som pekerne omfatter en første peker som representerer lokasjonen av en etterfølgende instruksjon som er nestet inn i kommandoinstruksjonen, en annen peker som representerer lokasjonen for en etterfølgende instruksjon som befinner seg på et nivå for nesting av det samme som og innenfor en nesting av instruksjoner svarende til den aktuelle instruksjon, en tredje peker som representerer lokasjonen av en foregående instruksjon som nester den aktuelle instruksjon, og en fjerde peker som representerer lokasjonen av en foregående instruksjon som befinner seg på et nivå for nesting av det samme som og innenfor en nesting av instruksjoner svarende til den aktuelle instruksjon, og å lagre pekerne i en gruppe, samtidig som fremgangsmåten kan styres manuelt ved hjelp av et manuelt styreorgan og/eller styres automatisk ved hjelp av et automatisk styreorgan for å følge en ønsket retning for utførelse. According to a further aspect of the present invention, there is provided a method for controlling a data processing system in relation to data storage and data retrieval, comprising accepting a plurality of command instructions for a command instruction body from an input/output device and storing them in another storage device under the direction of an instruction device with a plurality of instructions stored in a first storage device via a system bus under the control of a bus controller and interconnected by an operating system, to provide and add pointers for each instruction in the command instruction device, the pointers being representative of the location of preceding and subsequent instructions in relation to a current instruction, while the pointers include a first pointer representing the location of a subsequent instruction nested within the command instruction, a second pointer representing the location of a subsequent instruction located themselves at a nesting level of the same as and within a nesting of instructions corresponding to the current instruction, a third pointer representing the location of a preceding instruction nesting the current instruction, and a fourth pointer representing the location of a preceding instruction located itself at a level for nesting the same as and within a nesting of instructions corresponding to the instruction in question, and storing the pointers in a group, while the method can be controlled manually by means of a manual control means and/or controlled automatically by means of an automatic governing body to follow a desired direction of execution.
Oppfinnelsen vil nå blir beskrevet ved hjelp av eksempel under henvisning til de vedføyde tegningsfigurer. Fig. 1 er en skjematisk representasjon av apparatet som innebefatter databehandlingssystemet ifølge den foreliggende oppfinnelse. The invention will now be described by way of example with reference to the attached drawings. Fig. 1 is a schematic representation of the apparatus which includes the data processing system according to the present invention.
Fig. 2 er en tabell over tekst-kommandoinstruksjoner.Fig. 2 is a table of text command instructions.
Fig. 3 er en tabell over pekere svarende til tabellen på fig. 2. Fig. 4 er et flytskjema for manuell styring av databehandlingssystemet ifølge den foreliggende oppfinnelse. Fig. 5 er et flytskjema over automatisk styring for databehandlingssystemet ifølge den foreliggende oppfinnelse. Fig. 3 is a table of pointers corresponding to the table in fig. 2. Fig. 4 is a flowchart for manual control of the data processing system according to the present invention. Fig. 5 is a flowchart of automatic control for the data processing system according to the present invention.
På fig. 1 er der vist et apparat 8 som omfatter databehandlingssystemet ifølge den foreliggende oppfinnelse og er egnet til å innebefatte fremgangsmåten ifølge oppfinnelsen. In fig. 1 shows an apparatus 8 which includes the data processing system according to the present invention and is suitable for including the method according to the invention.
Apparatet 8 omfatter en sentral databehandlingsenhet (CPU) 9a som står i elektrisk forbindelse med en systembuss 9b. Bussen 9b skaffer forøvrig elektrisk kommunikasjon mellom et lagerorgan 9c, en inn/ut (I/O) organ 9d, en buss-styrer 9e og et operativsystem 9f. The apparatus 8 comprises a central data processing unit (CPU) 9a which is electrically connected to a system bus 9b. The bus 9b otherwise provides electrical communication between a storage device 9c, an input/output (I/O) device 9d, a bus controller 9e and an operating system 9f.
Lagerorganet 9c omfatter et første lagringsorgan og et annet lagringsorgan, idet hvert omfatter en flerhet av instruksjoner som er lagret temporært eller permanent deri. The storage member 9c comprises a first storage member and a second storage member, each comprising a plurality of instructions which are temporarily or permanently stored therein.
Instruksjonene i det første lagringsorgan og det annet lagringsorgan tjener til bruk i henholdsvis et instruksjonsorgan og et kommandoinstruksjonsorgan i databehandlingssystemet ifølge oppfinnelsen. Kommandoinstruksjonsorganet er innrettet til å styre databehandlingssystemet under dirigering av instruksjonsorganet. The instructions in the first storage device and the second storage device serve for use in an instruction device and a command instruction device respectively in the data processing system according to the invention. The command instruction body is designed to control the data processing system under the direction of the instruction body.
Egenskapen hos kommandoinstruksjonsorganet og dettes styring over databehandlingssystemet kan endres av brukeren av databehandlingssystemet ved endring av instruksjonene i det annet lagringsorgan. The property of the command instruction body and its control over the data processing system can be changed by the user of the data processing system by changing the instructions in the other storage device.
Instruksjonene i det første lagringsorgan er instruksjoner svarende til de kommandoer som blir brukt for å utføre en manuell styreprosess (vist på fig. 4) og en automatisk styreprosess (vist på fig. 5) for databehandlingssystemet under dirigering av instruksjonsorganet. Det annet lagringsorgan omfatter en flerhet av instruksjoner for bruk i kommandoinstruksjonsorganet som er relatert til prosesskom-mandoer som er uavhengig og dirigert av apparatet og fremgangsmåten ifølge oppfinnelsen. The instructions in the first storage means are instructions corresponding to the commands used to perform a manual control process (shown in Fig. 4) and an automatic control process (shown in Fig. 5) for the data processing system under the direction of the instruction means. The second storage means comprises a plurality of instructions for use in the command instruction means which are related to process commands which are independent and directed by the apparatus and the method according to the invention.
Lagerorganet 9c omfatter også et tredje lagringsorgan omfattende data som der skal skaffes adkomst til og som skal behandles. Dataene har relasjon til data som fremgangsmåten ifølge oppfinnelsen skal operer med, slik det vil bli beskrevet i det følgende. F.eks. kan de lagrede data ha forbindelse med data i en database. The storage device 9c also comprises a third storage device comprising data to which access is to be obtained and which is to be processed. The data is related to data with which the method according to the invention is to operate, as will be described in the following. E.g. can the stored data be linked to data in a database.
Flerheten av kommandoinstruksjoner i det annet lagringsorgan har forbindelse med en fremgangsmåte for realisering av apparatet og fremgangsmåten ifølge den foreliggende oppfinnelse, som er ønsket av brukeren for å få adkomst til og/ eller behandle data som inneholdes i lagerorganet 9c, f.eks. data i det tredje lagringsorgan. Instruksjonorganet og kommandoinstruksjonsorganet er mellomkoblet ved hjelp av operativsystemet 9f til det øvrige av apparatet 8. I/O-organet 9d omfatter innretninger som tillater innføring og utføring av instruksjoner og data inn og ut av apparatet 8. Mer spesielt kan I/O-organet 9d omfatte vldeofremviser-enheter, skrivere, automatiske postsystemer, diskdriftsam-menstillinger etc. (ikke vist). The plurality of command instructions in the second storage means is connected with a method for realizing the apparatus and the method according to the present invention, which is desired by the user to gain access to and/or process data contained in the storage means 9c, e.g. data in the third storage device. The instruction device and the command instruction device are interconnected by means of the operating system 9f to the rest of the device 8. The I/O device 9d includes devices that allow the input and output of instructions and data into and out of the device 8. More specifically, the I/O device 9d can include video display devices, printers, automatic mail systems, disk drive assemblies, etc. (not shown).
Data- og kommandoinstruksjoner blir ført inn av brukeren til I/O-organet 9d og ført til resten av apparatet 8. Data and command instructions are entered by the user to the I/O means 9d and passed to the rest of the apparatus 8.
Videreføringen av data og instruksjonskommandoer blir dirigert og styrt rundt i apparatet 8 langs bussen 9b ved hjelp av buss-styreren 9e. The forwarding of data and instruction commands is directed and controlled around the device 8 along the bus 9b by means of the bus controller 9e.
Buss-styreren 9e kan f.eks. gi eksklusiv bruk av bussen 9b til I/O-organet 9d. En sli eksklusiv bruk kan også gis til en diskdriftsammenstilling for I/O-organet 9d for å tillate at der lagres og/eller leses data i lagerorganet 9c under påvirkning av en styrer for direkte adkomst til lageret (DMA) (ikke vist). The bus controller 9e can e.g. grant exclusive use of the bus 9b to the I/O device 9d. Such exclusive use may also be given to a disk drive assembly for the I/O means 9d to allow data to be stored and/or read in the storage means 9c under the influence of a direct memory access (DMA) controller (not shown).
Operativsystemet 9f ved apparatet 8 er også nødvendig for å mellomkoble fremgangsmåten ifølge den forliggende oppfinnelse med resten av apparatet 8. Operativsystemet 9f skaffer dessuten instruksjon- og dataformatendringer som tillater instruksjoner fra lagerorganet 9c og kunne anvendes ved en flerhet av CPU-er 9a, I/O-organet 9d og buss-styrere 9e. The operating system 9f at the device 8 is also necessary to interconnect the method according to the present invention with the rest of the device 8. The operating system 9f also provides instruction and data format changes that allow instructions from the storage device 9c and could be used by a plurality of CPUs 9a, I/ O body 9d and bus controllers 9e.
Apparatet og fremgangsmåten ifølge oppfinnelsen er spesielt tenkt brukt i forbindelse med UNIX operativsystem som er The apparatus and method according to the invention are particularly intended to be used in connection with the UNIX operating system which is
utviklet ved AT og T Bell Laboratories, selv om det kan tilpasses for bruk ved andre operativsystemer. developed at AT and T Bell Laboratories, although it can be adapted for use with other operating systems.
På fig. 2 er der vist som et eksempel en tabell over tekstinstruksjoner 10 omfattende en flerhet av tekstlinjer 12. Tekstlinjene 12 blir brukt for å tillate brukeren av apparatet 8 å skreddersy styringen av kommandoinstruksjonene for at de skal være tilpasset hennes eller hans bruksområ-de. Tekstlinjene 12 er passende betegnet som verlinjer 12. In fig. 2, there is shown as an example a table of text instructions 10 comprising a plurality of text lines 12. The text lines 12 are used to allow the user of the device 8 to tailor the management of the command instructions so that they are adapted to her or his area of use. The 12 lines of text are appropriately designated as verb lines 12.
Tekstlinjene 12 utgjør under bruk tekstinstruksjoner som kan benyttes i kommandoinstruksjonsorganer, og kan innebefatte nestede instruksjoner som skal utføres på en rekursiv måte. En nestet instruksjon er en instruksjon hvis utførel-se er avhengig av en foregående instruksjon som nester den. Nesteinstruksjonen blir utført med en gang den nestede in-struksjonen er utført, gjennom alle sine rekursjoner. Den nestede rekursive instruksjon blir således utført mellom hver utførelse av de nestende rekursive instruksjoner inntil den nestende rekursive instruksjon også er fullstendig utført. The text lines 12 constitute, in use, text instructions that can be used in command instruction bodies, and can include nested instructions to be executed in a recursive manner. A nested instruction is an instruction whose execution depends on a preceding instruction that nests it. The next instruction is executed once the nested instruction is executed, through all its recursions. The nested recursive instruction is thus executed between each execution of the nested recursive instructions until the nested recursive instruction is also completely executed.
I forbindelse med det foreliggende eksempel er en nestet verblinje 12 en verblinje 12 som fremkommer en eller flere mellomrom på avstand fra margen, enn den foregående verblinje 12. Således kan en verblinje 12 omformes fra en nestet til en ikke-nestet verblinje 12 ved hjelp av brukeren av apparatet 8, ved tilføyelse eller fjerning av et eller flere mellomrom ved begynnelsen av verblinjen 12. In connection with the present example, a nested verb line 12 is a verb line 12 that appears one or more spaces further from the margin than the preceding verb line 12. Thus, a verb line 12 can be transformed from a nested to a non-nested verb line 12 by means of the user of the device 8, by adding or removing one or more spaces at the beginning of the verb line 12.
Tabellen med tekstinstruksjoner 10 blir fremskaffet av brukeren av databehandlingssystemet ifølge den foreliggende oppfinnelse. Tekstlinjene 12 blir ført inn i apparatet via en videofremviserenhet hos I/O-organet 9d, som et eksempel. På fig. 2 er verblinjene 12 vist på en skjerm 13a for en videofremviserenhet, og hver verblinje 12 har et verblinjenummer 13b. Hvert verblinjenummer 13b er en peker for hver tilsvarende verblinje 12. The table of text instructions 10 is provided by the user of the data processing system according to the present invention. The text lines 12 are fed into the apparatus via a video display unit at the I/O device 9d, as an example. In fig. 2, the verb lines 12 are displayed on a screen 13a of a video display unit, and each verb line 12 has a verb line number 13b. Each verb line number 13b is a pointer to each corresponding verb line 12.
Verblinjene 12 blir overført fra I/O-organet 9d til lagerorganet 9c langs bussen 9b under styring av buss-styreren 9e og kan blir underkastet krav fra resten av apparatet 8. The verb lines 12 are transferred from the I/O device 9d to the storage device 9c along the bus 9b under the control of the bus controller 9e and can be subjected to demands from the rest of the device 8.
For tabellen med instruksjoner 10 på fig. 2, blir nestede verblinjer 12 utført til fullendelse før ikke-nestede verblinjer 12. F.eks. blir verblinjene nr. 3, 4 og 5 nestet i verblinjen 2, og hver blir utført til fullendelse hver gang verblinjen nr. 2 blir utført. For the table of instructions 10 in fig. 2, nested verb lines 12 are executed to completion before non-nested verb lines 12. E.g. verb lines #3, #4, and #5 are nested within verb line #2, and each is executed to completion each time verb line #2 is executed.
Utførelse av de nestede verblinjer 12 i et databehandlingssystem ifølge den foreliggende oppfinnelse kan sammenlignes med nestede DO-sløyfer i FORTRAN IV programmeringsspråket. Ved en slik sammenligning kan hver verblinje 12 betraktes som en DO- sløyfe. Videre kan hver verblinje 12 betraktes som en mikroinstruksjon omfattende definisjoner hva angår rekursjon. Fortrinnsvis er verblinjene 12 tildannet av kom-ponenter som omtalt og patentsøkt i søkerens samtidige innleverte patentsøknad, som vil bli omtalt i det følgende. Execution of the nested verb lines 12 in a data processing system according to the present invention can be compared to nested DO loops in the FORTRAN IV programming language. In such a comparison, each verb line 12 can be considered a DO loop. Furthermore, each verb line 12 can be considered as a microinstruction comprising definitions regarding recursion. Preferably, the verb lines 12 are formed from components as mentioned and applied for in the applicant's simultaneously filed patent application, which will be discussed in the following.
På fig. 3 er der vist en tabell med pekere som passende kan betegnes som en merketabell 14. Merketabellen 14 omfatter en flerhet av pekere som indikerer den relative lokasjon av en aktuell tekstinstruksjon eller verblinje 12 med foregående og påfølgende tekstinstruksjoner eller verblinjer 12. In fig. 3, there is shown a table of pointers which can appropriately be termed a tag table 14. The tag table 14 comprises a plurality of pointers that indicate the relative location of a current text instruction or verb line 12 with preceding and following text instructions or verb lines 12.
Pekerne er definert for hver kommandoinstruksjonslinje som blir skrevet av brukeren og lagret i lagerorganet 9c. Pekerne blir fremskaffet av instruksjonsorganet og svarer til kommandokomponenter, forbindelseskomponenter og parameterkomponenter i kommandoinstruksjonene som beskrevet og pat-entsøkt i søkerens samtidige innleverte patentsøknad. Pekerne skaffer også en representasjon vedrørende egenskapene hos forbindelseskomponentene og parameterkomponentene i kommandoinstruksjonen. The pointers are defined for each command instruction line that is written by the user and stored in the storage means 9c. The pointers are provided by the instruction body and correspond to command components, connection components and parameter components in the command instructions as described and patent-examined in the applicant's concurrently filed patent application. The pointers also provide a representation regarding the properties of the connection components and the parameter components of the command statement.
Pekerne omfatter en første peker 16 som passende er betegnet som IN-peker 16. IN-pekeren 16 skaffer en representasjon for lokasjonen av en påfølgende verblinje 12 som er nestet i den aktuelle verblinje 12. The pointers comprise a first pointer 16 which is suitably designated as IN pointer 16. The IN pointer 16 provides a representation for the location of a subsequent verb line 12 which is nested in the current verb line 12.
F.eks. på fig. 2, har verblinjen nr. 1 inn-nestet i seg verblinjen nr. 2. I den tilsvarende merketabell 14 på fig. 3 har verblinjen nr. 1 en IN-peker 16 svarende til 2. IN-pekeren 16 foreligger som en datainnføring i lagerorganet 9c, og blir fremskaffet ved hjelp av instruksjonsorganet. IN-pekeren 16 skaffer en representasjon til CPU 9a, under bruk, av en bane for å fortsette til verblinje nr. 2 fra verblinje nr. 1. E.g. on fig. 2, verb line no. 1 has verb line no. 2 nested within it. In the corresponding mark table 14 in fig. 3, the verb line no. 1 has an IN pointer 16 corresponding to 2. The IN pointer 16 exists as a data entry in the storage device 9c, and is obtained with the help of the instruction device. The IN pointer 16 provides a representation to the CPU 9a, in use, of a path to proceed to verb line #2 from verb line #1.
På lignende måte har verblinjen nr. 2 inn-nestet i seg verblinjene nr. 3, 4 og 5. I merketabellen 14 svarende til In a similar way, verb line no. 2 has verb lines no. 3, 4 and 5 nested within it. In the mark table 14 corresponding to
tabellen for tekstinstruksjoner 10 (fig. 2) har verblinjen nr. 2 en IN-peker 16 svarende til 3. En tilsvarende data-innføring fremskaffes av instruksjonsorganet og lagres i lagerorganet 9c. IN-pekeren skaffer en representasjon for en utførelsesbane for CPU 9a til verblinje nr. 3 fra verblinje nr. 2. the table for text instructions 10 (Fig. 2) verb line no. 2 has an IN pointer 16 corresponding to 3. A corresponding data entry is obtained by the instruction body and stored in the storage body 9c. The IN pointer provides a representation for an execution path for CPU 9a to verb line #3 from verb line #2.
Således dirigerer IN-pekern 16 kommandoinstruksjonorganet fra en aktuell verblinje 12 til en nestet verblinje 12. Thus, the IN pointer 16 directs the command instruction body from a current verb line 12 to a nested verb line 12.
Pekerne omfatter også en annen peker 18 som passende er omtalt som en FORWARD peker 18. FORWARD pekeren 18 skaffer en representasjon for lokasjonen av en påfølgende verblinje 12 som befinner seg på et nestenivå som er det samme og befinne seg i en nesting av verblinjer 12 svarende til den aktu- The pointers also include another pointer 18 which is appropriately referred to as a FORWARD pointer 18. The FORWARD pointer 18 provides a representation for the location of a subsequent verb line 12 that is at a next level that is the same as being in a nesting of verb lines 12 corresponding to to the current
elle verblinje 12.elle verb line 12.
F.eks. blir verblinjen nr. 3 fulgt av verblinjen nr. 4 som er en ikke-nestet verblinje 12. E.g. verb line no. 3 is followed by verb line no. 4 which is a non-nested verb line 12.
I merketabellen 14 har verblinjen nr. 3 en FORWARD peker 18 svarende til 4. FORWARD pekeren 18 skaffer en representasjon til CPU 9a for en bane for å gå videre fra verblinjen nr. 3 til verblinjen nr. 4. Tilsvarende datainnføring blir fremskaffet av instruksjonsorganet og lagret i lagerorganet 9c. In the tag table 14, the verb line No. 3 has a FORWARD pointer 18 corresponding to 4. The FORWARD pointer 18 provides a representation to the CPU 9a of a path to advance from the verb line No. 3 to the verb line No. 4. Corresponding data input is provided by the instruction body and stored in the storage member 9c.
Fordi verblinjen nr. 4 ikke er nestet i verblinjen nr. 3, foreligger der ikke noen IN-peker 16 for verblinjen nr. 3. Because verb line no. 4 is not nested in verb line no. 3, there is no IN pointer 16 for verb line no. 3.
I slike tilfeller blir den relevante peker og datainnføring i det annet lagringsorgane satt til null eller en eller annen ikke-aktiv verdi, f.eks. -1. In such cases, the relevant pointer and data entry in the other storage means is set to zero or some inactive value, e.g. -1.
På lignende måte blir verblinjen nr. 4 umiddelbart fulgt av verblinjen nr. 5 som er en ikke-nestet verblinje 12. Verblinjen nr. 4 har en FORWARD peker 18 svarende til 5 og en IN-peker 16 svarende til null. FORWARD pekeren 18 skaffer en representasjon for en bane for utføring av CPU 9a til verblinje nr. 5 fra verblinje nr. 4. Similarly, verb line #4 is immediately followed by verb line #5 which is a non-nested verb line 12. Verb line #4 has a FORWARD pointer 18 equal to 5 and an IN pointer 16 equal to zero. The FORWARD pointer 18 provides a representation for a path of execution by the CPU 9a to verb line No. 5 from verb line No. 4.
Utjevningen av IN-pekeren 16, for verblinje nr. 4, til null indikerer at der ikke foreligger noen verblinje 12 nestet i verblinjen nr. 4. Det innebærer at der ikke foreligger noen IN-peker for verblinje nr. 4. Tilsvarende forhold eksisterer for verblinjer nr. 5, 6 og 7 ved eksempelet på fig. 2. The equalization of the IN pointer 16, for verb line no. 4, to zero indicates that there is no verb line 12 nested in verb line no. 4. This implies that there are no IN pointers for verb line no. 4. Similar conditions exist for verb lines no. 5, 6 and 7 in the example in fig. 2.
Pekerne omfatter ytterligere en tredje peker 20 som passende kan betegnes somen OUT-peker 20. OUT-pekern 20 skaffer en representasjon for lokasjonen av en foregående verblinje 12 som nester den aktuelle verblinje 12. F.eks. på fig. 2, er verblinjen nr. 2 nestet av verblinjen nr. 1. I den tilsvarende merketabell 14 har verblinjen nr. 2 OUT-peker 20 svarende til 1. En tilsvarende datainnføring fremskaffes ved hjelp av instruksjonsorganet og lagres i lagerorganet 9c. OUT-pekeren 20 skaffer en representasjon for en bane til CPU 9a for å fortsette fra verblinjen nr. 2 til verblinjen nr. 1. The pointers further comprise a third pointer 20 which can appropriately be termed the OUT pointer 20. The OUT pointer 20 provides a representation for the location of a preceding verb line 12 that nests the relevant verb line 12. E.g. on fig. 2, verb line no. 2 is nested by verb line no. 1. In the corresponding tag table 14, verb line no. 2 has OUT pointer 20 corresponding to 1. A corresponding data entry is obtained by means of the instruction device and stored in the storage device 9c. The OUT pointer 20 provides a representation for a path to the CPU 9a to proceed from verb line No. 2 to verb line No. 1.
På lignende måte har verblinjene nr. 3, 4 og 5 OUT-pekere 20 svarende til 2, noe som indikerer en bane fra hver av verblinjene nr. 3, 4 og 5 til verblinjen nr. 2. Similarly, verb lines No. 3, 4, and 5 have OUT pointers 20 equal to 2, indicating a path from each of verb lines No. 3, 4, and 5 to verb line No. 2.
Verblinjene nr. 1 og nr. 7 ved eksemplet på fig. 2 har ingen nestende verblinjer og har således OUT-pekere 20 svarende til en ikke-aktiv verdi, f.eks. null, med tilsvarende datainnføringer fremskaffet i lagerorganet 9c. The verb lines no. 1 and no. 7 in the example in fig. 2 has no nesting verb lines and thus has OUT pointers 20 corresponding to a non-active value, e.g. zero, with corresponding data entries provided in the storage device 9c.
Pekerne omfatter også en fjerde peker som passende er betegnet som en BACK-peker 22. BACK-pekeren 22 skaffer en representasjon av lokasjonen av en foregående verblinje 12 som befinner seg på et nestenivå som er det samme som og befinne seg i en nesting av verblinjer 12 svarende til den aktuelle verblinje 12. The pointers also include a fourth pointer appropriately designated a BACK pointer 22. The BACK pointer 22 provides a representation of the location of a preceding verb line 12 that is at a next level which is the same as being in a nest of verb lines 12 corresponding to the relevant verb line 12.
F.eks. vil verblinjen nr. 6 den ikke-nestende verblinje nr. 2 foran seg og har i merketabellen 14 en BACK-peker 22 svarende til 2. BACK-pekeren 22 har en tilsvarende datainnfør-ing fremskaffet av instruksjonsorganet og lagret i lagerorganet 9c. E.g. verb line no. 6 will have the non-nesting verb line no. 2 in front of it and has in the tag table 14 a BACK pointer 22 corresponding to 2. The BACK pointer 22 has a corresponding data entry provided by the instruction device and stored in the storage device 9c.
BACK-pekeren 22 indikerer en bane fra verblinjen nr. 6 til verblinjen nr. 2 for apparatet 8 under styring av kommando-instruks jonsorganet . The BACK pointer 22 indicates a path from the verb line No. 6 to the verb line No. 2 for the device 8 under the control of the command instruction ion device.
På lignende måte har verblinje nr. 7 en BACK-peker 22 svarende til 1, og indikerende en bane til verblinje nr. 1 fra verblinje nr. 7. Verblinjene nr. 1, 2 og 3 ved eksemplet på fig. 2 har ingen foregående ikke-nestende verblinjer, og således vil deres tilsvarende BACK-peker 22 blir innstilt på en ikke-aktiv verdi, f.eks. null. In a similar way, verb line no. 7 has a BACK pointer 22 corresponding to 1, and indicating a path to verb line no. 1 from verb line no. 7. Verb lines no. 1, 2 and 3 in the example of fig. 2 have no preceding non-nesting verb lines, and thus their corresponding BACK pointer 22 will be set to a non-active value, e.g. zero.
Pekerne 16, 18, 20 og 22 blir benyttet i en manuell prosess i henhold til den foreliggende oppfinnelse, og pekerne 16, 18 og 20 blir brukt i en automatisk prosess i henhold til den foreliggende oppfinnelse for styring av driften av apparatet 8 i henhold til kommandoinstruksjonsorganet under dirigering av instruksjonsorganet. The pointers 16, 18, 20 and 22 are used in a manual process according to the present invention, and the pointers 16, 18 and 20 are used in an automatic process according to the present invention for controlling the operation of the apparatus 8 according to the command instructional body under the direction of the instructional body.
Hver av pekerne har knyttet til seg en initierende kommando. IN-pekeren 16 er tilknyttet en IN kommando, FORWARD-pekeren 18 en FORWARD kommando og OUT-pekeren 20 en OUT kommando og BACK-pekeren 22 en BACK kommando. Each of the pointers has an initiating command associated with it. The IN pointer 16 is associated with an IN command, the FORWARD pointer 18 a FORWARD command and the OUT pointer 20 an OUT command and the BACK pointer 22 a BACK command.
De initierende kommandoer blir, under bruk, ført inn av brukeren av apparatet 8 i I/O-organet 9d, blir fortolket av operativsystemet 9f og dirigert av CPU 9a og instruksjonsorganet for påfølgende utføring i en bane som er presentert av en relevant peker 16, 18, 20 eller 22 for en aktuell verblinje 12 for kommandoinstruksjonsorganet. The initiating commands are, during use, entered by the user of the apparatus 8 into the I/O means 9d, are interpreted by the operating system 9f and directed by the CPU 9a and the instruction means for subsequent execution in a path presented by a relevant pointer 16, 18, 20 or 22 for a current verb line 12 for the command instruction body.
F.eks. ved en manuell prosess, ville en IN kommando gitt ved en verblinje nr. 2 i tabellen for tekstinstruksjoner 10 vist på fig. 2, dirigere CPU 9a via den relevante IN-peker 16 (verdisatt til 3), til verblinje nr. 3. Det er antatt at de initierende kommandoer kunne bli gitt av hvilke som helst bokstavtaster eller kontrollfunksjoner på et tastatur hos I/O-organet 9d eller via en styrespakstyring eller lys-penn eller lignende. E.g. in a manual process, an IN command given at a verb line No. 2 in the text instruction table 10 shown in FIG. 2, direct the CPU 9a via the relevant IN pointer 16 (valued to 3), to verb line No. 3. It is believed that the initiating commands could be given by any letter keys or control functions on a keyboard of the I/O means 9d or via a joystick control or light pen or similar.
Den manuelle prosess følger en operasjonssekvens vist i flytdiagrammet på fig. 4 og dirigert av instruksjonsorganet. Flytdiagrammet omfatter operasjonsblokker med henvis-ningstall 30 - 68. CPU 9a bibeholdes i en fri tilstand av drift i operasjonsblokken 30. I denne tilstand blir CPU 9a etterlatt fri for å tjene forespørsler fra perifere innretninger, f.eks. I/O-organet 9d. Når en initierende kommando blir detektert av CPU 9a fra tastaturer hos I/O-organet 9d, tolker operativsystemet 9f den initierende kommando og pre-senterer den for instruksjonsorganet. Instruksjonsorganet dirigerer CPU 9a til å utføre kontroller for å bestemme hvilke av de ovennevnte kommandoer som ble gitt. Blokkene 32 - 38 dirigerer CPU 9a til å utføre en test for en IN kommando, en FORWARD kommando, en OUT kommando og en BACK kommando, respektivt. The manual process follows an operation sequence shown in the flow diagram in fig. 4 and directed by the instructional body. The flowchart comprises operation blocks with reference numbers 30 - 68. CPU 9a is maintained in a free state of operation in operation block 30. In this state, CPU 9a is left free to serve requests from peripheral devices, e.g. I/O body 9d. When an initiating command is detected by the CPU 9a from keyboards at the I/O means 9d, the operating system 9f interprets the initiating command and presents it to the instruction means. The instruction means directs the CPU 9a to perform checks to determine which of the above commands were given. Blocks 32 - 38 direct the CPU 9a to perform a test for an IN command, a FORWARD command, an OUT command and a BACK command, respectively.
Testen omfatter å sammenligne den gitte initierende kommando med de fire initierende kommandoer. I blokkene 32, 34, 36 og 38 blir den gitte initierende kommando sammenlignet med henholdsvis IN kommandoen, FORWARD kommandoen, OUT kommandoen og BACK kommandoen i nevnte rekkefølge. Dersom CPU 9a i blokken 32 avgjør at en gitt initierende kommando ikke er en IN kommando, vil en styring blir overført til blokken 34. På lignende måte vil CPU 9a i blokken 34 bestemme hvorvidt den gitte initierende kommando er en FORWARD kommando, og dersom så ikke er tilfelle føre en styring av databehandlingssystemet til blokken 36 og på lignende måte til blokken 38. The test involves comparing the given initiating command with the four initiating commands. In blocks 32, 34, 36 and 38, the given initiating command is compared with the IN command, the FORWARD command, the OUT command and the BACK command respectively in the aforementioned order. If CPU 9a in block 32 determines that a given initiating command is not an IN command, control will be transferred to block 34. In a similar way, CPU 9a in block 34 will determine whether the given initiating command is a FORWARD command, and if so is not the case, transfer control of the data processing system to block 36 and similarly to block 38.
Testen utføres bare inntil der oppdages en gitt instruk-sjonskommando. F.eks., dersom en IN kommando ble gitt, ville testen av blokken 32 oppdage kommandoen og ingen ytterligere kommandogjenkjenningstester ville bli utført. Den gjenkjente kommando blir kontrollert med hensyn til gyldig-heit før kommandoen blir utført. Som omtalt ovenfor er den ikke gyldig for å utføre noen av kommandoene på visse verblinjer 12 i teksttabellen 10. Blokkene 40 - 46 svarer henholdsvis til blokkene 32 - 38, og kontrollere at de relevante pekere 16, 18, 20 eller 22 i merketabellen 14 representerer en gyldig peker. Passende kan en ikke gyldig peker gis verdien null (eller -1) og blokkene 40 - 46 tester for å etablere om den gjenkjente kommando har tilknytning til en peker som er gitt et positivt tall forskjellig fra null (eller et negativt tall). Den gjenkjente kommando kan bare utføres dersom kommandoen er en gyldig kommando for verblinjen 12, ved hvilken instruksjonskommandoen er gitt. Det innebærer at hvor ingen gyldig peker eksisterer for den gitte kommando ved den aktuelle verblinje 12, blir kommandoen ikke utført. The test is only performed until a given instruction command is detected. For example, if an IN command was given, the test of block 32 would detect the command and no further command recognition tests would be performed. The recognized command is checked for validity before the command is executed. As discussed above, it is not valid to execute any of the commands on certain verb lines 12 in the text table 10. Blocks 40 - 46 correspond to blocks 32 - 38, respectively, and verify that the relevant pointers 16, 18, 20 or 22 in the tag table 14 represent a valid pointer. Appropriately, an invalid pointer may be assigned the value zero (or -1) and blocks 40 - 46 test to establish whether the recognized command is associated with a pointer assigned a positive number other than zero (or a negative number). The recognized command can only be executed if the command is a valid command for the verb line 12, at which the instruction command is given. This means that where no valid pointer exists for the given command at the relevant verb line 12, the command is not executed.
F.eks. vil en IN kommando gitt ved verblinjen nr. 4 i tabellen for tekstinstruksjoner 10 på fig. 2, bli gjenkjent som en slik kommando, men vil ikke bli utført fordi IN-pekeren 16 har fått verdien null. E.g. will an IN command given at verb line no. 4 in the table for text instructions 10 in fig. 2, will be recognized as such a command, but will not be executed because the IN pointer 16 has been given the value zero.
Når den relevante peker er en gyldig peker vil henholdsvis blokkene 48 - 54 dirigere instruksjonsorganet til å dirigere CPU 9a for å utføre kommandoen. Blokken 48 dirigerer CPU 9a via operativsystemet 9f for å utføre IN kommandoen, og på lignende måte vil blokkene 50, 52 og 54 diregere CPU 9a for å utføre henholdsvis FORWARD, OUT og BACK kommandoene. Ved utføring av en kommando blir CPU 9a dirigert av den manuelle prosess ifølge den foreliggende oppfinnelse for å utføre tabellen med instruksjoner 10 lagret i det annet lagringsorgan i henhold til kommandoinstruksjonsorganet dirigert av pekerne 16, 18, 20 og 22 for merketabellen 14. Ved kompletering av utøvelsen av en gitt kommando ved en av blokkene 48 - 59 blir en styring ført tilbake til blokken 30 for å avvente ytterligere initierende kommandoer fra brukeren av apparatet 8. When the relevant pointer is a valid pointer, blocks 48 - 54 respectively will direct the instruction means to direct the CPU 9a to execute the command. Block 48 directs CPU 9a via operating system 9f to execute the IN command, and similarly blocks 50, 52 and 54 direct CPU 9a to execute FORWARD, OUT and BACK commands respectively. Upon execution of a command, the CPU 9a is directed by the manual process according to the present invention to execute the table of instructions 10 stored in the second storage means according to the command instruction means directed by the pointers 16, 18, 20 and 22 of the mark table 14. Upon completion of the execution of a given command at one of the blocks 48 - 59, a control is returned to the block 30 to await further initiating commands from the user of the apparatus 8.
Dersom ingen kommando blir gjenkjent eller der mottas en ikke gyldig kommando vil prosessen dirigere styringen til blokken 56. Blokken 56 er innrettet til å indikere at der har foreligget en feil. Passende kan blokken 56 dirgere en feilmelding til å bli fremskaffet for å indikere typen feil. Feilmeldingen overføres til I/O-organet 9d via bussen 9b under dirigering av CPU 9a og buss-styreren 9e og kan bli fremvist på en videofremviserenhet eller skriver, alt etter forgodtbefinnende. Styringen føres tilbake til blokken 30 for å avvente ytterligere initierende kommandoer. If no command is recognized or an invalid command is received, the process will direct control to block 56. Block 56 is designed to indicate that there has been an error. Appropriately, block 56 may direct an error message to be provided to indicate the type of error. The error message is transmitted to the I/O means 9d via the bus 9b under the direction of the CPU 9a and the bus controller 9e and may be displayed on a video display unit or printer as desired. Control is returned to block 30 to await further initiating commands.
På fig. 4 er der også vist et under-flytskjerna forbundet med hoved-flytskjemaet ved hjelp av stiplede linjer. Under-flytskjemaet skaffer en styring for å dirigere utøvelse av databehandlingssystemet til å gå fremover eller bakover n termer fra en aktuell verblinje 12. Det innebærer at ifall den aktuelle verblinje 12 er en rekursiv verblinje 12, i likhet med en FORTRAN IV DO-sløyfe, f.eks., kan kommandoer bli gitt for å dirigere CPU 9a til å fortsett forover eller bakover som tilfelle måtte være, gjennom termene for den rekursive verblinje 12. For å fortsett videre gjennom termene for en rekursiv verblinje 12 som har forbindelse med data i datafilen i det tredje lagringsorgan i lagerorganet, vil CPU 9a øke eller redusere en lageradresse som peker mot lagerlokasjoner i det tredje lagringsorgan. In fig. 4 there is also shown a sub-flow core connected to the main flow chart by means of dashed lines. The sub-flowchart provides a control for directing execution of the data processing system to go forward or backward n terms from a current verb line 12. This means that if the current verb line 12 is a recursive verb line 12, like a FORTRAN IV DO loop, e.g., commands may be given to direct the CPU 9a to proceed forward or backward as the case may be, through the terms of the recursive verb line 12. To proceed further through the terms of a recursive verb line 12 relating to data in the data file in the third storage means in the storage means, the CPU 9a will increment or decrement a storage address pointing to storage locations in the third storage means.
På en slik måte kan CPU 9a dirigeres forover eller bakover et antall av opptegninger av data i datafilen. En slik styring tillater en bruker å lete seg gjennom dataopptegninge-ne i en datafil i henhold til styringen av kommandoinstruksjonsorganet og avhengig av den manuelle styreprosess. In such a way, the CPU 9a can be directed forward or backward a number of records of data in the data file. Such control allows a user to search through the data records in a data file according to the control of the command instruction body and depending on the manual control process.
Kommandoer som passende er betegnet som FORWARD n RECORDS og BACKWARD n RECORDS kan gis av operatøren via I/O-organet 9d for å dirigere CPU 9a til å fortsette gjennom termene for en rekursiv verblinje 12 for å lete seg gjennom data-opptegningene i datafilen. Kommandoene påvirker CPU 9a til å forlate styringen i blokk 30 og fortsette gjennom gjen-kjenningstestene. Blokkene 58 og 60 skaffer ytterligere gjenkjenningstester og vil gjenkjenne en FORWARD n RECORDS og en BACKWARD n RECORDS initierende kommando, hver for seg . Commands appropriately designated as FORWARD n RECORDS and BACKWARD n RECORDS may be given by the operator via the I/O means 9d to direct the CPU 9a to proceed through the terms of a recursive verb line 12 to search through the data records in the data file. The commands cause CPU 9a to leave control in block 30 and continue through the recognition tests. Blocks 58 and 60 provide additional recognition tests and will recognize a FORWARD n RECORDS and a BACKWARD n RECORDS initiating command, separately.
Blokkene 62 og 64 tester hvorvidt den initierende kommando er gyldig for den aktuelle verblinje 12. Blocks 62 and 64 test whether the initiating command is valid for the relevant verb line 12.
Blokkene 62 og 64 avgjør at en initierende kommando er ugyldig dersom den spør om opptegninger som ikke eksisterer i de opptegninger som der er gitt adkomst til ved den aktuelle verblinje 12, eller dersom den aktuelle verblinje 12 ikke er av rekursiv type. Blocks 62 and 64 determine that an initiating command is invalid if it asks for records that do not exist in the records to which access is given at the relevant verb line 12, or if the relevant verb line 12 is not of recursive type.
F.eks. vil en BACK n RECORDS kommando hvor den aktuelle verblinje 12 peker på en første opptegning av en datafil i det tredje lagringsorgan ikke bli tillatt. Når kommandoen er gyldig vil blokkene 66 og 68 dirigere CPU 9a via operativsystemet 9f for å fortsette forover eller bakover n opptegninger gjennom de opptegninger som er aksesert av den aktuelle verblinje 12. E.g. a BACK n RECORDS command where the relevant verb line 12 points to a first recording of a data file in the third storage device will not be allowed. When the command is valid, blocks 66 and 68 will direct the CPU 9a via the operating system 9f to proceed forward or backward n records through the records accessed by the relevant verb line 12.
Med en gang den n<1>te opptegning er aksesert, blir en styring ført tilbake til blokken 30. Once the n<1>th record has been accessed, control is returned to block 30.
Dersom ingen kommando er gjenkjent eller testet til å være gyldig, så fortsetter styringen til feilblokken 56, og deretter til kommandoinnføringsblokken 30, som omtalt ovenfor. Under manuell styring forekommer der, som beskrevet ovenfor, seks typer av kommandoer for å utføre seks modi av prosess-styring, som heretter vil bli betegnet som hexa-retningsstyring. If no command is recognized or tested to be valid, then control continues to error block 56, and then to command input block 30, as discussed above. During manual control there occur, as described above, six types of commands to perform six modes of process control, which will hereafter be referred to as hexa-directional control.
Den automatiske prosess følger en operasjonssekvens vist på flytskjemaet på fig. 5. Flytskjemaet omfatter operasjonsblokker 80 - 96. The automatic process follows a sequence of operations shown in the flowchart of fig. 5. The flowchart includes operation blocks 80 - 96.
Den automatiske prosess følger en styrebane definert ved kommandoinstruksjonsorganet og beskrevet ved pekere 16, 18, 20 og 22 i merketabellen 14 inneholdt som datainnføringer i lagerorganet 9c og underkastet dirigeringen fra instruksjonsorganet. The automatic process follows a control path defined by the command instruction body and described by pointers 16, 18, 20 and 22 in the tag table 14 contained as data entries in the storage body 9c and submitted to the routing from the instruction body.
Med en gang utføring av tabellinstruksjonene 10 er blitt dirigert av operatøren, kommer CPU 9a under styring av blokken 80 og blir dirigert av instruksjonsorganet.Blokken 80 dirigerer CPU 9a til å utføre den aktuelle verblinje 12 bare en gang. Once execution of the table instructions 10 has been directed by the operator, CPU 9a comes under the control of block 80 and is directed by the instruction body. Block 80 directs CPU 9a to execute the relevant verb line 12 only once.
Utføringen fortsetter til et første testtrinn ved blokken 82. Det første trinn omfatter testing om der er noen dataopptegninger som gjenstår å bli vurdert i en fil i det tredje lagringsorgan hvor den aktuelle verblinje 12 opererer. Et flagg blir benyttet til å representere hvorvidt der er opptegninger igjen som skal vurderes av den aktuelle verblinje 12. Flagget er passende referert til som et "end of data" EOD flagg. Det skal forståes at dersom der foreligger data som skal vurderes, blir EOD flagget ikke satt, og når ingen data gjenstår for vurdering blir EOD flagget satt. The execution continues to a first test step at block 82. The first step includes testing whether there are any data records that remain to be evaluated in a file in the third storage device where the relevant verb line 12 operates. A flag is used to represent whether there are records left to be evaluated by the relevant verb line 12. The flag is appropriately referred to as an "end of data" EOD flag. It should be understood that if there is data to be assessed, the EOD flag is not set, and when no data remains for assessment the EOD flag is set.
Dersom der ikke foreligger mer data som skal vurderes av den aktuelle verblinje 12, så blir CPU 9a dirigert av blokken 80 til å utføre verblinjen 12 en gang til. If there is no more data to be evaluated by the verb line 12 in question, the CPU 9a is directed by the block 80 to execute the verb line 12 once more.
Verblinjen 12 blir utøvet rekursivt inntil slutten av data (EOD) blir detektert og EOD flagget satt. Deretter dirigerer blokken 82 CPU 9a for å teste gyldigheten av pekerne 16, 18 og 20 for å bestemme den fremtidige kurs for prosessen ifølge den foreliggende oppfinnelse som styrt av kommandoinstruksjonsorganet. Verb line 12 is executed recursively until the end of data (EOD) is detected and the EOD flag is set. Next, block 82 directs CPU 9a to test the validity of pointers 16, 18 and 20 to determine the future course of the process of the present invention as directed by the command instruction means.
Med den aktuelle utførelsesform for den foreliggende oppfinnelse er det ønsket å utføre nestede verblinjer 12 på en måte i likhet med den for nestede DO-sløyfer i FORTRAN IV. For å oppnå dette, dirigerer blokken 84 CPU 9a via ©perativ-systemet 9f for testing av IN-pekeren 16, svarende til den aktuelle verblinje 12, først. Deretter, dersom en nestet verblinje 12 eksisterer, skal den utføres i sin helhet før den neste term i den aktuelle verblinje 12 blir utført. F.eks. verblinje nr. 2 i tekstabellen 10 på fig. 2. With the current embodiment of the present invention, it is desired to execute nested verb lines 12 in a manner similar to that for nested DO loops in FORTRAN IV. To achieve this, the block 84 directs the CPU 9a via the operative system 9f to test the IN pointer 16, corresponding to the current verb line 12, first. Then, if a nested verb line 12 exists, it must be executed in its entirety before the next term in the relevant verb line 12 is executed. E.g. verb line no. 2 in text table 10 on fig. 2.
Dessuten vil en gruppe av nestede verblinjer 12 bli behand-let på en lignende måte til en singulær nestet verblinje 12. Dersom der ikke foreligger noen gyldig IN-peker 16, vil blokken 86 dirigere instruksjonsorganet til å dirigere CPU 9a, via operativsystemet 9f, for testing av FORWARD-pekeren 18 for den aktuelle verblinje 12. Also, a group of nested verb lines 12 will be treated in a similar manner to a singular nested verb line 12. If there is no valid IN pointer 16, the block 86 will direct the instruction means to direct the CPU 9a, via the operating system 9f, for testing the FORWARD pointer 18 for the relevant verb line 12.
På lignende måte vil blokken 88 dirigere CPU 9a via operativsystemet 9f for testing av gyldigheten av OUT-pekeren 20 dersom der ikke foreligger noen gyldige IN eller FORWARD-pekere 16 eller 18 for den aktuelle verblinje 12. Slik det fremgår av eksemplet på fig. 2, er det påkrevet med en OUT-peker 20 for å dirigere utføring ut fra et nestet sett av verblinjer 12. In a similar way, the block 88 will direct the CPU 9a via the operating system 9f to test the validity of the OUT pointer 20 if there are no valid IN or FORWARD pointers 16 or 18 for the relevant verb line 12. As can be seen from the example in fig. 2, an OUT pointer 20 is required to direct execution out of a nested set of verb lines 12.
Blokkene 90 - 94 dirigerer CPU 9a til å utføre den kommando som svarer til en gyldig peker henholdsvis 16, 18 eller 20. Når utførelsen av kommandoen er fullbragt, i henhold til merketabellen 14 under dirigering av instruksjonsorganet, blir styringen av apparatet 8 ført tilbake til blokken 80. Blocks 90 - 94 direct the CPU 9a to execute the command corresponding to a valid pointer 16, 18 or 20, respectively. When the execution of the command is completed, according to the tag table 14 under the direction of the instruction means, the control of the apparatus 8 is returned to block 80.
Dersom alle testene blokken 84 - 88 etablerer ingen gyldige pekere 16, 18 eller 20 for den aktuelle verblinje 12, gjen-kjenner blokken 96 en feiltilstand og gir brukeren signal ved å avgi et tilsvarende feilvarsel. Med en gang feilvars-elet er gitt, dirigerer blokken 96 CPU 9a til å utføre en verblinje en gang under styring av blokken 80, og den automatiske prosess ifølge den foreliggende oppfinnelse fortsetter. Den automatiske styreprosess kan avbrytes ved utøv-else av et avbruddskommandoorgan. If all the tests block 84 - 88 establish no valid pointers 16, 18 or 20 for the relevant verb line 12, the block 96 recognizes an error condition and gives the user a signal by issuing a corresponding error warning. Once the error warning is given, block 96 directs CPU 9a to execute a verb line once under the control of block 80, and the automatic process of the present invention continues. The automatic control process can be interrupted by exercising an interruption command body.
Avbruddet kan utføres av operatøren av apparatet 8 via I/O-organet 9c. Avbruddskommandoorganet tillater brukeren å av-bryte den automatiske prosess og dirigere driften av databehandlingssystemet i henhold til den manuelle prosess. The interruption can be carried out by the operator of the device 8 via the I/O device 9c. The interrupt command means allows the user to interrupt the automatic process and direct the operation of the data processing system according to the manual process.
Avbruddskommandoorganet kan også benyttes til å veksle den manuelle driftsprosess til den automatiske driftsprosess. The interrupt command body can also be used to switch the manual operating process to the automatic operating process.
De pekere som er lagret i merketabellen 14 blir fortrinnsvis fjernet fra lagerorganet 9c ved hjelp av instruksjonsorganet når operasjonsprosessen er blitt gjennomført for kompletering under styring av kommandoinstruksjonsorganet. The pointers stored in the tag table 14 are preferably removed from the storage member 9c by means of the instruction member when the operation process has been carried out for completion under the control of the command instruction member.
En hvilken som helst eller flere av pekerne kan bli SWITCHED OFF eller gjort uvirksomme ved en hvilken som helst ønsket verblinje 12. Det å gjøre pekeren uvirksom ved en verblinje 12 kan dirigeres av instruksjonsorganet i den hensikt å gjøre pekeren uvirksom ved den verblinje 12. Deretter kan en kommando svarende til den uvirksomme peker ikke utføres for den spesielle verblinje 12. Any one or more of the pointers may be SWITCHED OFF or disabled at any desired verb line 12. Disabling the pointer at a verb line 12 may be directed by the instruction body to disable the pointer at that verb line 12. Then a command corresponding to the inactive pointer cannot be executed for the special verb line 12.
En peker kan bli SWITCHED OFF ved negering av den tilsvarende datainnføring i lagerorganet 9c for den relevante verblinje 12 eller verblinjer 12. Deretter vil testene for gyldighet som beskrevet ovenfor vise den kommando som er ugyldig for den verblinje 12. A pointer can be SWITCHED OFF by negating the corresponding data entry in the storage means 9c for the relevant verb line 12 or verb lines 12. Then the tests for validity as described above will show the command which is invalid for that verb line 12.
Det å gjøre en peker uvirksom bør være knyttet til brukerens databehandlingssystem-aksesskode, slik at brukerens mu-lighet til å betjene hele en hvilken som helst del av prosessen eller for å overskue alle eller noen av dataene som er lagret i databehandlingssystemet, blir avhengig av det nivå for sikkerhet som er fremskaffet ved hennes/hans ad-komstkode. Deactivating a pointer should be associated with the user's computing system access code, so that the user's ability to fully operate any part of the process or to view all or any of the data stored in the computing system becomes dependent on the level of security provided by her/his access code.
I søkerens samtidig innleverte australske fullstendige pat-entbeskrivelse nr. med tittelen "Improvements in/or relating to data processing system", er der omtalt og patentsøkt et datalagringssystem for datalagring og datagjenfinning, omfattende en systembuss, en buss-styrer, et lagerorgan, et operativsystem, en sentral behandlingsenhet (CPU) og et inn/ut-organ, idet systembussen er anordnet for å fremskaffe elektrisk kommunikasjon mellom komponenetene i apparatet under påvirkning av buss-styreren og under påvirkning av operativsystemet, idet lagerorganet omfatter et første lagringsorgan inneholdende en flerhet av instruksjoner for bruk i et instruksjonsorgan for dirigering av operasjonen av databehandingssystemet, og et annet lagringsorgan inneholdende, under bruk, en flerhet av kommandoinstruksjoner for bruk i et kommandoinstruksjonsorgan for styring av operasjonen av databehandlingssystemet, idet operativsystemet skaffer en mellomkobling mellom instruksjonsorganet og kommandoinstruksjonsorganet og resten av databehandlingssystemet, idet kommandoinstruksjonsorganet styrer databehandlingssystemet under dirigering av instruksjonsorganet, og inn/ut-organet er innrettet for innføring av data til apparatet og utføring av data fra apparatet, samtidig som kommandoinstruksjonene omfatter kommandokomponenter og forbindelseskomponenter, idet hver av kommandokomponentene og hver av forbindelsekomponentene har en eller flere parameterkomponenter, idet kommandokomponentene styrer operasjonen av apparatet avhengig av en eller flere parameterkomponenenter relatert av en eller flere forbindelseskomponentene, slik at strukturen av kommandoinstruksjonen er avhengig av rekkefølgen av parameterkomponentene og deres tilsvarende forbindelseskomponenter. In the applicant's simultaneously filed Australian full patent specification no. entitled "Improvements in/or relating to data processing system", a data storage system for data storage and data retrieval, comprising a system bus, a bus controller, a storage means, a operating system, a central processing unit (CPU) and an input/output means, the system bus being arranged to provide electrical communication between the components of the apparatus under the influence of the bus controller and under the influence of the operating system, the storage means comprising a first storage means containing a plurality of instructions for use in an instruction means for directing the operation of the data processing system, and another storage means containing, in use, a plurality of command instructions for use in a command instruction means for controlling the operation of the data processing system, the operating system providing an intermediate link between the instruction means and command instructions the ion device and the rest of the data processing system, the command instruction device controls the data processing system under the direction of the instruction device, and the input/output device is arranged for inputting data to the device and outputting data from the device, while the command instructions include command components and connection components, each of the command components and each of the connection components has one or more parameter components, the command components controlling the operation of the apparatus depending on one or more parameter components related by the one or more connection components, so that the structure of the command instruction depends on the order of the parameter components and their corresponding connection components.
I søkerens samtidige innleverte australske fullstendige patentfremstilling nr. med tittelen "Improvements in/or Ralating to Data Processing Systems", er der omtalt og patentsøkt et databehandlingssystem for datalagring og datagjenfinning, omfattende en systembuss, en buss-styrer, et lagerorgan, et operativsystem, en sentral behandlingsenhet (CPU), og et inn/ut-organ, idet systembussen er innrettet til å skaffe elektrisk kommunikasjon mellom komponente-ne i apparatet avhengig av buss-styreren og avhengig av operativsystemet, idet lagerorganet omfatter et første lagringsorgan omfattende en flerhet av instruksjoner for bruk i et instruksjonsorgan for dirigering av operasjonen av databehandlingssystemet, og et annet lagringsorgan som inneholder, under bruk, en flerhet av kommandoinstruksjoner for bruk i et instruksjonsorgan for styring av operasjonen av databehandlingssystemet, idet operativsystemet skaffer en mellomkobling mellom instruksjonsorganet og kommandoin-struks jonsorganet og resten av systemet, idet kommandoins-truks jonsorganet styrer databehandlingssystemet under dirigering av instruksjonsorganet, og inn/ut-organet er innrettet for innføring av data til apparatet og.utføring av data fra apparatet, samtidig som lagerorganet også omfatter et tredje lagringsorgan inneholdende en flerhet av datalag-ringsorganer, samtidig som datalagringsorganene innebefatter lagringsorganer for ferske data, første datadefini-sjonslagringsorganer og andre datadefinisjonslagringsorgan-er . In applicant's co-filed Australian Complete Patent Application No. entitled "Improvements in/or Relating to Data Processing Systems", there is disclosed and patent-pending a data processing system for data storage and data retrieval, comprising a system bus, a bus controller, a storage means, an operating system, a central processing unit (CPU), and an input/output means, the system bus being arranged to provide electrical communication between the components of the apparatus depending on the bus controller and depending on the operating system, the storage means comprising a first storage means comprising a plurality of instructions for use in an instruction means for directing the operation of the data processing system, and another storage means containing, in use, a plurality of command instructions for use in an instruction means for directing the operation of the data processing system, the operating system providing an intermediate link between the instruction means and command instructions ion organ and res of the system, as the command instruction body controls the data processing system under the direction of the instruction body, and the input/output body is arranged for inputting data to the device and outputting data from the device, while the storage body also includes a third storage body containing a plurality of data storage means, while the data storage means include storage means for fresh data, first data definition storage means and second data definition storage means.
Hele innholdet av denne samtidig innleverte søknad skal betraktes som en del av den foreliggende patentfremstilling. Modifikasjoner og variasjoner som torde være åpenbare for fagfolk på området skal også ligge innenfor den foreliggende oppfinnelses område. F.eks. kan merketabellen 14 fremskaffes dynamisk istedenfor statisk, slik at apparatet 8 bestemmer de relevante pekere ettersom prosessen skrider frem uten å skape et lager for alle pekere som er av betyd-ning for lagringen av kommandoinstruksjoner fremskaffet av brukeren og inneholdt i det annet lagringsorgan. The entire content of this concurrently filed application shall be considered as part of the present patent preparation. Modifications and variations which are likely to be obvious to experts in the field must also lie within the scope of the present invention. E.g. the tag table 14 can be provided dynamically instead of statically, so that the apparatus 8 determines the relevant pointers as the process progresses without creating a store for all pointers relevant to the storage of command instructions provided by the user and contained in the other storage means.
Claims (19)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPG796684 | 1984-11-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
NO854375L true NO854375L (en) | 1986-05-05 |
Family
ID=3770826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO854375A NO854375L (en) | 1984-11-02 | 1985-11-01 | COMPUTING SYSTEM. |
Country Status (15)
Country | Link |
---|---|
JP (1) | JPS61115152A (en) |
KR (1) | KR860004363A (en) |
BE (1) | BE903560A (en) |
BR (1) | BR8505471A (en) |
DE (1) | DE3526788A1 (en) |
DK (1) | DK504185A (en) |
FI (1) | FI854295A (en) |
FR (1) | FR2572819A1 (en) |
GB (1) | GB2166571B (en) |
IL (1) | IL76791A0 (en) |
IT (1) | IT1200817B (en) |
NL (1) | NL8502998A (en) |
NO (1) | NO854375L (en) |
SE (1) | SE8505153L (en) |
ZA (1) | ZA858203B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2299492B (en) | 1995-03-28 | 1999-12-22 | Sony Uk Ltd | Automation of signal processing apparatus |
-
1985
- 1985-07-10 GB GB08517425A patent/GB2166571B/en not_active Expired
- 1985-07-26 DE DE19853526788 patent/DE3526788A1/en not_active Ceased
- 1985-09-05 FR FR8513208A patent/FR2572819A1/en not_active Withdrawn
- 1985-09-13 JP JP60203231A patent/JPS61115152A/en active Pending
- 1985-10-22 IL IL76791A patent/IL76791A0/en unknown
- 1985-10-25 ZA ZA858203A patent/ZA858203B/en unknown
- 1985-10-31 BE BE0/215803A patent/BE903560A/en not_active IP Right Cessation
- 1985-10-31 IT IT22687/85A patent/IT1200817B/en active
- 1985-10-31 SE SE8505153A patent/SE8505153L/en not_active Application Discontinuation
- 1985-10-31 KR KR1019850008105A patent/KR860004363A/en not_active Application Discontinuation
- 1985-11-01 FI FI854295A patent/FI854295A/en not_active Application Discontinuation
- 1985-11-01 NL NL8502998A patent/NL8502998A/en not_active Application Discontinuation
- 1985-11-01 NO NO854375A patent/NO854375L/en unknown
- 1985-11-01 BR BR8505471A patent/BR8505471A/en unknown
- 1985-11-01 DK DK504185A patent/DK504185A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
SE8505153D0 (en) | 1985-10-31 |
ZA858203B (en) | 1987-06-24 |
FI854295A (en) | 1986-05-03 |
IL76791A0 (en) | 1986-02-28 |
IT8522687A0 (en) | 1985-10-31 |
KR860004363A (en) | 1986-06-20 |
FI854295A0 (en) | 1985-11-01 |
JPS61115152A (en) | 1986-06-02 |
IT1200817B (en) | 1989-01-27 |
BE903560A (en) | 1986-04-30 |
FR2572819A1 (en) | 1986-05-09 |
BR8505471A (en) | 1986-08-05 |
NL8502998A (en) | 1986-06-02 |
GB8517425D0 (en) | 1985-08-14 |
DK504185A (en) | 1986-05-03 |
GB2166571B (en) | 1988-04-07 |
DE3526788A1 (en) | 1986-05-07 |
SE8505153L (en) | 1986-05-03 |
DK504185D0 (en) | 1985-11-01 |
GB2166571A (en) | 1986-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3806878A (en) | Concurrent subsystem diagnostics and i/o controller | |
JPS5822782B2 (en) | Pattern similarity calculation device | |
NO854375L (en) | COMPUTING SYSTEM. | |
EP0112179B1 (en) | Data processing apparatus with automatic mode determination | |
JP2000284678A (en) | Grading evaluation supporting device | |
EP0315111B1 (en) | Data processing device | |
NO173718B (en) | PROCEDURE AND DEVICE FOR PERFORMING TWO INSTRUCTION SEQUENCES IN A PRESENT ORDER PREFERRED | |
KR20010013919A (en) | Information processing apparatus and method, and recording medium containing information processing program stored therein | |
JPH0944375A (en) | Automatic test item selection system for test program | |
JPS6112587B2 (en) | ||
JP3067161B2 (en) | Fuzzy arithmetic processing unit | |
JP2790340B2 (en) | Word processor with typing practice function | |
JP2507871B2 (en) | Parallel processing method | |
JPS61260329A (en) | Command input device | |
NO854374L (en) | IMPROVEMENT IN, OR RELATED TO, DATA PROCESSING SYSTEM. | |
JPH04264983A (en) | Printed board automatic wiring device | |
JPS61226806A (en) | Sequence control device | |
JPH04117747A (en) | Node computer to be managed in network system | |
JPS6028013B2 (en) | microprogram controller | |
JPS62249273A (en) | Document processor | |
JPH06332854A (en) | Session activation system | |
JPH0455974A (en) | Document processor | |
JPH096772A (en) | Character processor | |
JPH1097343A (en) | Time setting method for virtual information processor | |
JPS5824948A (en) | Address designation method for operand |