NO173207B - PROCEDURE AND DEVICE FOR PERFORMING TWO INSTRUCTION SEQUENCES IN A PRESENT ORDER PREFERRED - Google Patents

PROCEDURE AND DEVICE FOR PERFORMING TWO INSTRUCTION SEQUENCES IN A PRESENT ORDER PREFERRED Download PDF

Info

Publication number
NO173207B
NO173207B NO882413A NO882413A NO173207B NO 173207 B NO173207 B NO 173207B NO 882413 A NO882413 A NO 882413A NO 882413 A NO882413 A NO 882413A NO 173207 B NO173207 B NO 173207B
Authority
NO
Norway
Prior art keywords
sequence
write
execution
address
instruction
Prior art date
Application number
NO882413A
Other languages
Norwegian (no)
Other versions
NO173207C (en
NO882413L (en
NO882413D0 (en
Inventor
Sten Edvard Johnson
Lars-Oerjan Kling
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE8604223A external-priority patent/SE454921B/en
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of NO882413L publication Critical patent/NO882413L/en
Publication of NO882413D0 publication Critical patent/NO882413D0/en
Publication of NO173207B publication Critical patent/NO173207B/en
Publication of NO173207C publication Critical patent/NO173207C/en

Links

Landscapes

  • Ultra Sonic Daignosis Equipment (AREA)
  • Electrotherapy Devices (AREA)

Description

Teknisk område Technical area

Den foreliggende oppfinnelse vedrører en fremgangsmåte og en innretning for utførelse av to instruksjonssekvenser i en orden som er bestemt på forhånd, idet utførelsen innbefatter selektering av leseinstruksjoner som hver inneholder sin leseadresse for gjenfinning av datainformasjon som er lagret i én av en flerhet av hovedlagerlokasjoner som er tilgjengelige ved deres individuelle adresser, såvel som selektering av skriveinstruksjoner som hver inneholder sin skriveadresse og datainformasjon for overføring av denne datainformasjon til en hovedlagerlokasjon som er tilgjengelig ved hjelp av denne skriveadresse, og idet datainformasjon som benyttes i forbindelse med utførelsen av den sekvens som er nummer to på grunn av ordenen, på forhånd ikke er garantert uavhengig av den datainformasjon som er oppnådd i forbindelse med utførelsen av den sekvens som er den første på grunn av ordenen. The present invention relates to a method and a device for executing two instruction sequences in an order that is determined in advance, the execution includes selecting read instructions that each contain their read address for retrieving data information that is stored in one of a plurality of main storage locations that are available at their individual addresses, as well as selecting write instructions each containing its write address and data information for transferring this data information to a main storage location accessible by means of this write address, and that data information used in connection with the execution of the sequence which is number two due to the order, is not guaranteed in advance independently of the data information obtained in connection with the execution of the sequence which is the first due to the order.

Bakgrunnsteknikk Background technology

En triviell, vanlig løsning på det ovenfor angitte informa-sjonsbehandlingsproblem ligger i utførelsen av den sekvens som i henhold til det ovenstående og i det følgende blir kalt den annen sekvens, ikke blir startet før utførelsen av den sekvens som i henhold til det ovenstående og det følg-ende blir kalt den første sekvens, er avsluttet. A trivial, common solution to the above-mentioned information processing problem lies in the execution of the sequence which according to the above and in the following is called the second sequence, is not started before the execution of the sequence which according to the above and the follow-end is called the first sequence, is terminated.

Denne trivielle løsning oppnår man som en naturlig nødvend-ighet i et databehandlingssystem som styres av én eneste prosessor, slik at sekvensene blir utført én etter én under bruk av hovedlagerlokasjonene som er felles for begge sekvenser. This trivial solution is achieved as a natural necessity in a data processing system controlled by a single processor, so that the sequences are executed one by one using the main storage locations that are common to both sequences.

Det er kjent å øke databehandlingskapasitet ved parallell utførelse av instruksjonssekvenser. Så lenge som sekvensene er garantert på forhånd, uavhengig av hverandre, oppnår man feilfri parallell drift ved hjelp av såkalt forhånds-behandling eller multi-behandling, eller også ved hjelp av et én-prosessor-system som innbefatter i det minste to databehandlingsenheter, idet hver av disse utfører sin instruksjonssekvens. Det er kjent å realisere informasjonsbehandling både ved hjelp av et hovedlager som er felles for en flerhet av separate lagre som hver er tilknyttet sin databehandlingsenhet, og blir innbyrdes oppdatert fra tid til annen. It is known to increase data processing capacity by parallel execution of instruction sequences. As long as the sequences are guaranteed in advance, independently of each other, error-free parallel operation is achieved by means of so-called pre-processing or multi-processing, or also by means of a single-processor system that includes at least two data processing units, as each of these executes its sequence of instructions. It is known to realize information processing both by means of a main storage that is common to a plurality of separate storages, each of which is associated with its data processing unit, and is mutually updated from time to time.

Når der foreligger følsomme instruksjonsfrekvenser som påvirker hverandre, og som derfor må utføres i en forhånds-bestemt orden, blir der benyttet f.eks. i henhold til tidsskriftet "Computer Design", 15. august 1985, side 76-81 eller "Balance 8000 System Technical Summary, Sequent Computer Systems, Inc." programmeringsspråk, kompilatorer og sekvensmaskinvare for parallell behandling av innbyrdes uavhengige sekvenser, samtidig som parallell behandling av de følsomme sekvenser blir forhindret. When there are sensitive instruction frequencies that affect each other, and which must therefore be carried out in a predetermined order, e.g. according to "Computer Design" magazine, August 15, 1985, pages 76-81 or "Balance 8000 System Technical Summary, Sequent Computer Systems, Inc." programming languages, compilers and sequence hardware for parallel processing of mutually independent sequences, while simultaneously preventing parallel processing of the sensitive sequences.

Redegjørelse for oppfinnelsen Account of the invention

Som allerede nevnt innledningsvis vedrører den foreliggende oppfinnelse datainformasjonsbehandling under bruk av et hovedlager som er felles for begge sekvenser. Ved den foreslåtte informasjonsbehandling blir begge sekvenser utført i parallell uten at de trenger å starte under hensyntagen av den orden som er bestemt på forhånd. For å sikre at den forhåndsbestemte orden, er det imidlertid nødvendig å forhindre at datainformasjon som oppnås på grunn av de selekterte skrivinstruksjoner som har tilknytning til den annen sekvens, blir overført til hovedlagerlokasjonene under foregående utførelse av den første sekvens. Avhengig-heten av den annen sekvens i forhold til den første sekvens, blir overvåket og den foreskrevne orden oppnår man ved hjelp av en mellomliggende lagerenhet som innbefatter et hjelpelager og sammenligningskretser. As already mentioned at the outset, the present invention relates to data information processing using a main storage which is common to both sequences. In the proposed information processing, both sequences are executed in parallel without needing to start, taking into account the order determined in advance. In order to ensure the predetermined order, however, it is necessary to prevent data information obtained due to the selected write instructions associated with the second sequence from being transferred to the main storage locations during previous execution of the first sequence. The dependence of the second sequence in relation to the first sequence is monitored and the prescribed order is achieved by means of an intermediate storage unit which includes an auxiliary storage and comparison circuits.

Adresser som oppnås på grunn av leseinstruksjonene som selekteres under utførelsen av den annen sekvens, blir lagret midlertidig i hjelpelageret. Hver skriveadresse som blir selektert under utførelsen av den første sekvens, blir sammenlignet med hver av leseadressene som er lagret i hjelpelageret. Så lenge der ikke bestemmes noen likhet mellom adresser, vil ingen datainformasjon som er avhengig av datainformasjon som oppnås under utførelsen av den første sekvens, bli benyttet under utførelsen av den annen sekvens. Dersom det under utførelsen av den annen sekvens forekommer at informasjon er gjenvunnet fra en hovedlagerlokasjon, vil denne informasjon da bli korrigert på grunn av en skrivope-rasjon som har tilknytning til den første sekvens, dvs. dersom de to sekvenser ikke lenger er innbyrdes avhengig av hverandre, vil hjelplageret bli slettet og instruksjonsselekteringene av den annen sekvens blir startet på nytt. Gjenoppstarting av utførelsen av den annen sekvens vil da finne sted på et tidspunkt når en første del av den første sekvens allerede er utført, og følgelig foreligger der mindre risiko for at den annen sekvens er avhengig av den gjenværende del av den første sekvens. Addresses obtained due to the read instructions selected during the execution of the second sequence are stored temporarily in the auxiliary storage. Each write address selected during the execution of the first sequence is compared with each of the read addresses stored in the auxiliary storage. As long as no equality between addresses is determined, no data information dependent on data information obtained during the execution of the first sequence will be used during the execution of the second sequence. If during the execution of the second sequence it happens that information has been recovered from a main storage location, this information will then be corrected due to a write operation which is connected to the first sequence, i.e. if the two sequences are no longer mutually dependent each other, the auxiliary store will be deleted and the instruction selections of the second sequence will be restarted. Restarting the execution of the second sequence will then take place at a time when a first part of the first sequence has already been executed, and consequently there is less risk of the second sequence being dependent on the remaining part of the first sequence.

Skriveadresser og datainformasjon som oppnås på basis av skriveinstruksjonene som er selektert under utførelsen av den annen sekvens, blir også lagret i hjelpelageret. Hver leseadresse som blir selektert under utførelsen av den annen sekvens, blir sammenlignet med hver av de skriveadresser som er midlertidig lagret i hjelpelageret. Dersom der ikke skulle bli bestemt noen adresselikhet, blir datainformasjon gjenvunnet fra hovedlagerlokasjonen som er tilgjengelig ved hjelp av den aktuelle leseadresse, samtidig som datainformasjon som er tillagt den aktuelle adresse, blir gjenvunnet fra hjelpelageret dersom man har sikkerhet for adresselikhet . Write addresses and data information obtained on the basis of the write instructions selected during the execution of the second sequence are also stored in the auxiliary storage. Each read address selected during the execution of the second sequence is compared with each of the write addresses temporarily stored in the auxiliary storage. If no address similarity should be determined, data information is recovered from the main storage location that is accessible using the relevant read address, at the same time that data information assigned to the relevant address is recovered from the auxiliary storage if there is certainty of address similarity.

Når utførelsen av den første sekvens er avsluttet, vil den datainformasjon som er midlertidig lagret i hjelpelageret, bli overført til hovedlagerlokasjonene som er tilgjengelige ved de likeledes midlertidig lagrede tilhørende skriveadres- When the execution of the first sequence is finished, the data information that is temporarily stored in the auxiliary storage will be transferred to the main storage locations that are accessible by the corresponding write addresses that are also temporarily stored

ser. looking.

Ved bruken av den foreslåtte informasjonsbehandling oppnår man en økning i databehandlingskapasiteten, dersom utfør-elsen av den annen sekvens er uavhengig av i det minste de instruksjoner som selekteres ved utførelsens avslutning av den første sekvens. Den økte kapasitet blir dessuten forbedret dersom en selektert adresse blir lagret midlertidig som en leseadresse i hjelpelageret, bare dersom denne adresse ikke har forekommet som en skriveadresse tidligere under utførelsen av den annen sekvens. By using the proposed information processing, an increase in the data processing capacity is achieved, if the execution of the second sequence is independent of at least the instructions that are selected at the end of the execution of the first sequence. The increased capacity is also improved if a selected address is stored temporarily as a read address in the auxiliary storage, only if this address has not previously occurred as a write address during the execution of the second sequence.

De karakteristiske trekk ved oppfinnelsen fremgår dessuten av de vedføyde patentkrav. The characteristic features of the invention are also apparent from the appended patent claims.

Kort omtale av tegningsfigurene Brief description of the drawing figures

Oppfinnelsen vil nå bli beskrevet i detalj under henvisning til de vedføyde tegningsfigurer. Figur 1 anskueliggjør to databehandlingsenheter som er forbundet via et bussystem til et felles hovedlager. Figur 2 anskueliggjør i ytterligere detalj i forhold til figur 1, en instruksjonslagerinnretning, en krets for start og identifikasjon av et portnettverk, som er innlemmet i en databehandlingsenhet. Figur 3 illustrerer en mellomliggende lagerenhet som er innlemmet i en databehandlingsenhet. The invention will now be described in detail with reference to the attached drawings. Figure 1 illustrates two data processing units which are connected via a bus system to a common main storage. Figure 2 illustrates in further detail in relation to Figure 1, an instruction storage device, a circuit for starting and identifying a port network, which is incorporated in a data processing unit. Figure 3 illustrates an intermediate storage unit that is incorporated into a data processing unit.

Detaljert beskrivelse av en utførelsesform for oppfinnelsen Detailed description of an embodiment of the invention

Et databehandlingssystem i henhold til figur 1 innbefatter et hovedlager 1 for lagring av datainformasjon, som er blitt behandlet av i det minste to databehandlingsenheter 2, som via et bussystem 3 hver er forbundet med hovedlageret. Hver av databehandlingsenhetene utfører en instruksjonssekvens for styring av tillagte funksjonsenheter (ikke vist på figur 1) under utførelsen av tillagte systemfunksjoner. Avhengig av hvorvidt databehandlingsenhetene blir styrt av en felles prosessor eller hvorvidt hver enhet innbefatter en flerhet av prosessorer, blir der vanligvis oppnådd i prinsippet et en- eller multiprosessorsystem, innbefattende en felles buss og et felles hovedlager. Et slikt databehandlingssystem som innbefatter en flerhet av databehandlingsenheter og en buss, er omtalt for eksempel i Intel's "APX" 286 Hardware Reference Manual" og artikkelen "Backup Support gives VME bus poweful milit-processing arcitecture" i "Electronics" 22. mars 1984. A data processing system according to Figure 1 includes a main storage 1 for storing data information, which has been processed by at least two data processing units 2, which are each connected to the main storage via a bus system 3. Each of the data processing units executes a sequence of instructions for controlling added function units (not shown in Figure 1) during the execution of added system functions. Depending on whether the data processing units are controlled by a common processor or whether each unit includes a plurality of processors, a single- or multi-processor system is usually obtained in principle, including a common bus and a common main storage. Such a data processing system including a plurality of data processing units and a bus is discussed, for example, in Intel's "APX" 286 Hardware Reference Manual" and the article "Backup Support gives VME bus powerful milit-processing architecture" in "Electronics" March 22, 1984.

Figur 1 viser på en meget forenklet måte, idet der tas hensyn til den foreliggende oppfinnelse, to databehandlingsenheter 2 for utførelse av den ovenfor angitte første og annen instruksjonssekvens i en orden som er bestemt på forhånd. Til forskjell fra en vanlig instruksjonslagerinnretning 4 for selektering, en om gangen, av instruksjoner som er lagret i et instruksjonslager, innbefatter hver databehandlingsenhet et organ 5 som kalles start/identifi-seringskrets, for evaluering hvorvidt dens egen sekvens er den første uavhengige eller annen eventuelt avhengige sekvens, samt en mellomliggende lagerenhet 6 for midlertid lagring av adresser og datainformasjon som er innlemmet i instruksjonene, idet slik data imidlertid bare blir benyttet i databehandlingsenheten for utførelse av den annen sekvens, og endelig et portnettverk 7 for styring av forbindelsen mellom databehandlingsenheten og bussystemet. Figure 1 shows in a very simplified manner, taking into account the present invention, two data processing units 2 for carrying out the above-mentioned first and second instruction sequence in a predetermined order. Unlike a normal instruction store device 4 for selecting, one at a time, instructions stored in an instruction store, each data processing unit includes a device 5 called start/identification circuit, for evaluating whether its own sequence is the first independent or another dependent sequence, as well as an intermediate storage unit 6 for temporary storage of addresses and data information incorporated in the instructions, such data being however only used in the data processing unit for execution of the second sequence, and finally a port network 7 for managing the connection between the data processing unit and the bus system .

Det skal forstås fra den senere beskrivelse at bussystem-belastningen blir noe øket på grunn av de nødvendige instruksjoner som er midlertidig lagret, men det antas at tilgjengelighetskapasiteten for bussystemet mot databehandlingsenhetene og mot hovedlageret, er slik at den totale databehandling kan utføres uten forstyrrelser i den orden som er bestemt på forhånd. Med hensyn til bussystemet, viser figur 1 en multibit-adressebuss 8, en linje 9 for overføring av skrivesignaler, og multibit-databuss 10. Det er ytterligere indikert at databussen er to-veis forbundet med hovedlageret 1 og databehandlingsenhetene 2, mens adressebussen 8 og skrivsignallinjen 9 er en-veis forbundet med en adressekrets 11 og skrivaktiviseringsinngang 12 for hovedlageret, på hvilken mottagelsen av en adresse og et skrivsignal bevirker at innholdet på databussen blir overført til hovedlagerlokasjonen som er tilgjengelig ved adressen. Ved bare å motta en adresse, blir data overført fra hovedlageret, idet disse data blir lagret i en hoved-lagerlokas jon som er tilgjengelig ved hjelp av adressen, via databussen 10 til den databehandlingsenhet som sender adressen. Startidentifikasjonskretsene 5 i databehandlingsenhetene er hver forsynt med en startsignalutgang 13 som er forbundet med startsignalinngangen 14 på den annen krets 5. Det blir således indikert muligheten for utførelse av begge sekvenser i parallell, slik dette blir omtalt i det følgende, og under bruk av den foreslåtte informasjonsbehandling . It is to be understood from the later description that the bus system load is somewhat increased due to the necessary instructions that are temporarily stored, but it is assumed that the availability capacity of the bus system towards the data processing units and towards the main storage is such that the total data processing can be carried out without disturbances in the order that is determined in advance. With respect to the bus system, Figure 1 shows a multi-bit address bus 8, a line 9 for transmitting write signals, and multi-bit data bus 10. It is further indicated that the data bus is bi-directionally connected to the main storage 1 and the data processing units 2, while the address bus 8 and the write signal line 9 is one-way connected to an address circuit 11 and write activation input 12 for the main storage, on which the reception of an address and a write signal causes the contents of the data bus to be transferred to the main storage location available at the address. By simply receiving an address, data is transferred from the main storage, this data being stored in a main storage location that is accessible by means of the address, via the data bus 10 to the data processing unit that sends the address. The start identification circuits 5 in the data processing units are each provided with a start signal output 13 which is connected to the start signal input 14 on the other circuit 5. The possibility of executing both sequences in parallel is thus indicated, as will be discussed below, and using the proposed information processing.

Endelig blir der på figur 1 vist startidentifikasjonskretser 5 som hver er forsynt med sine identifikasjonssignalutganger 15, som er forbundet med en første identifikasjonssignalinngang fra den midlertidige lagerenhet 6 hos den annen Finally, figure 1 shows start identification circuits 5, each of which is provided with its identification signal outputs 15, which are connected to a first identification signal input from the temporary storage unit 6 at the other

databehandlingsenhet. data processing unit.

Figur 1 viser imidlertid ikke de vanlige buffere og aktiviseringer som blir benyttet og utført i forbindelse med dataoverføringer mellom databehandlingsenhetene og bussystemet, idet bussystemet, slik det vil bli beskrevet i det følgende, også blir benyttet for overføring av adresser og skrivsignaler mellom databehandlingsenhetene. Figur 2 viser mer utførlig enn figur 1 noen av databehand-lings-detaljene, idet kjennskap til disse er nødvendig for forståelse av den foreslåtte informasjonsbehandling. However, Figure 1 does not show the usual buffers and activations that are used and performed in connection with data transfers between the data processing units and the bus system, as the bus system, as will be described in the following, is also used for the transfer of addresses and write signals between the data processing units. Figure 2 shows in more detail than Figure 1 some of the data processing details, knowledge of which is necessary for understanding the proposed information processing.

Instruksjonslagerinnretningen 4 innbefatter et instruksjonslager 17 for lagring av en instruksjonssekvens, som leses ut ved hjelp av en selekteringsinnretning 18 fra instruksjonslageret, en instruksjon om gangen, på grunn av aktivisering av en av selekteringsinnretningsutgangene. The instruction storage device 4 includes an instruction store 17 for storing an instruction sequence, which is read out by means of a selection device 18 from the instruction store, one instruction at a time, due to activation of one of the selection device outputs.

Sekvensen innbefatter tre typer instruksjoner. Den første type som heretter blir betegnet "lesinstruksjon", som er identifisert ved en binær "EN" innstilt lesebitposisjon 19, blir benyttet for beordring av gjenfinning av data fra en hovedlagerlokasjon, idet aksess til dette oppnås ved hjelp av en adresse, for eksempel A1, som er lagret i et antall av adressebitposisjoner 20, samtidig som adressene er innlemmet i den lesebitmerkede instruksjon. Den annen instruksjonstype som i det følgende blir betegnet "skrivinstruksjon", som blir identifisert ved en "EN" innstilt skrivebitposisjon 21, blir beriyttet for beordring av de data, for eksempel D2, som er skrevet inn i en hovedlagerlokasjon, idet disse data blir innlemmet i den skrivebitmarkerte instruksjon og lagret i en flerhet av databitposisjoner 22, samtidig som der benyttes en adresse, for eksempel A2, som også er innlemmet i den skrivebitmarkerte instruksjon og lagret i adressebitposisjonene 20. Den tredje instruksjonstype, som er betegnet med "NULL" innstill-bitposisjoner 19 og 21, blir benyttet for beordring av informasjonsbehandling uten lesing fra eller skriving til hovedlageret. Bruken av informasjonen, for eksempel Sl, som er lagret i bitposisjonene 20 og 22, som har tilknytning til den tredje type av instruksjon, ligger ikke innenfor området for den foreliggende oppfinnelse, men figur 2 illustrerer en første ELLER-port 23, som er innlemmet i nevnte portnettverk 7 og har sin inngang forbundet med bitposisjonene 19 og 21 og sin utgang forbundet med en inverterende aktiviserende inngang til en første OG-portinnretning 24, som i en aktivisert tilstand overfører innholdet, for eksempel S1, av bitposisjonene 20 og 22 direkte til databehandlingsenheten. Instruksjoner av den tredje type vil ikke belaste bussystemet eller hovedlageret, som derfor kan være felles for en flerhet av databehandlingsenheter uten å legge altfor store hastighets- The sequence includes three types of instructions. The first type, hereinafter referred to as "read instruction", which is identified by a binary "EN" set read bit position 19, is used to order the retrieval of data from a main storage location, access to which is obtained by means of an address, for example A1 , which are stored in a number of address bit positions 20, at the same time as the addresses are incorporated into the read bit marked instruction. The second type of instruction, hereinafter referred to as "write instruction", which is identified by a "ONE" set write bit position 21, is used for ordering the data, for example D2, which is written into a main storage location, this data being incorporated in the write-bit-marked instruction and stored in a plurality of data bit positions 22, while using an address, for example A2, which is also included in the write-bit-marked instruction and stored in the address bit positions 20. The third instruction type, which is denoted by "NULL" set -bit positions 19 and 21 are used for ordering information processing without reading from or writing to the main storage. The use of the information, for example S1, stored in bit positions 20 and 22, which is associated with the third type of instruction, is not within the scope of the present invention, but Figure 2 illustrates a first OR gate 23, which is incorporated in said gate network 7 and has its input connected to the bit positions 19 and 21 and its output connected to an inverting activating input to a first AND gate device 24, which in an activated state transfers the content, for example S1, of the bit positions 20 and 22 directly to the data processing unit. Instructions of the third type will not load the bus system or the main storage, which can therefore be common to a plurality of computing units without imposing excessively large speed

krav på hovedlageret og bussystmet. requirements on the main warehouse and the bus system.

Start/identifiserings-kretsene 5 for databehandlingsenhetene innbefatter hver for seg andre og tredje ELLER-porter 25 og 26, i henhold til figur 2. Porten 25 har en av sine innganger forbundet med utgangen fra porten 26, hvis innganger er forbundet med den ovenfor angitte startsignal-inngang 14 og med restart-signalutgang 27 fra den mellomliggende lagerenhet 6 som er innlemmet i den samme databe-handl ingshenhet. Databehandlingsenhetene innbefatter hver for seg en startsignalgenerator, som ikke er vist på figur 2, og hvis utgang er forbundet via startterminalen 28, med den annen inngang til porten 26, med den ovenfor angitte startsignalutgang 13, og med innstillingsinngangen til en første vippe 29, med en utgang som utgjør den ovenfor angitte identifiseringssignalutgang 15. En annen vippe 30 har sin innstillingsinngang forbundet med utgangen fra porten 26 og sin utgang forbundet med en annen identifikasjonssignalinngang 31 på den lokale mellomliggende lagerenhet 6. I sin påvirkede tilstand selekterer porten 25 en instruksjon av den tredje type, som er en startinstruksjon med innholdet S1, på grunn av hvilket databehandlingsenheten starter den tilhørende instruksjonssekvens-utførelse ved hjelp av sin selekteringsinnretning 18. Det antas at den sekvens som er lagret i instruksjonslageret 17, blir avsluttet i forbindelse med aktiviseringen av en selekter-ingsinnretningutgang 32, som er forbundet med tilbakestill-ingsinngangene til vippene 29 og 30. The start/identification circuits 5 for the data processing units each include second and third OR gates 25 and 26, according to Figure 2. The gate 25 has one of its inputs connected to the output of the gate 26, whose inputs are connected to the above indicated start signal input 14 and with restart signal output 27 from the intermediate storage unit 6 which is incorporated in the same data processing unit. The data processing units each include a start signal generator, which is not shown in Figure 2, and whose output is connected via the start terminal 28, with the second input to the gate 26, with the above-mentioned start signal output 13, and with the setting input of a first flip-flop 29, with an output which constitutes the above-mentioned identification signal output 15. Another flip-flop 30 has its setting input connected to the output of the gate 26 and its output connected to another identification signal input 31 on the local intermediate storage unit 6. In its affected state, the gate 25 selects an instruction of the third type, which is a start instruction with the content S1, due to which the data processing unit starts the corresponding instruction sequence execution by means of its selection device 18. It is assumed that the sequence stored in the instruction store 17 is terminated in connection with the activation of a selector -ing device output 32, which is connected with ed the reset inputs to flip-flops 29 and 30.

Utførelse av den første sekvens blir startet ved hjelp av den lokale startsignalgenerator. Følgelig vil en binær "EN" på utgangen fra den første vippe 29 indikere at instruksjonsselekteringene som har tilknytning til den lokale sekvens, er i virksomhet, og at den lokale sekvens er den første sekvens. En binær "EN" på utgangen fra den annen vippe 30 indikerer at instruksjonsselekteringene som har tilknytning til den lokale sekvens, er i virksomhet, og at den lokale sekvens er den annen sekvens. I henhold til oppfinnelsen vil instruksjonene for begge sekvenser bli selektert i parallell, noe som oppnås for eksempel ved hjelp av en overføring av et startsignal fra startsignalutgangen 13 som har tilknytning til den første sekvens, til startsignalinngangen 14 som har tilknytning til den annen sekvens. Execution of the first sequence is started by means of the local start signal generator. Accordingly, a binary "EN" on the output of the first flip-flop 29 will indicate that the instruction selections associated with the local sequence are active and that the local sequence is the first sequence. A binary "EN" on the output of the second flip-flop 30 indicates that the instruction selections associated with the local sequence are active and that the local sequence is the second sequence. According to the invention, the instructions for both sequences will be selected in parallel, which is achieved, for example, by means of a transfer of a start signal from the start signal output 13, which is connected to the first sequence, to the start signal input 14, which is connected to the second sequence.

De instruksjoner som selekteres fra instruksjonslageret 17, blir overført til portnettverket 7 for databehandlingsenheten, og via terminaler 33-36 til den mellomliggende lagerenhet 6 for databehandlingsenheten. Hvert portnettverk 7 innbefatter en annen OG-portinnretning 37 for overføring, når den befinner seg i aktiv tilstand, via en første ELLER-portinnretning 38, innholdet av bitposisjonene 20-22 til adressebussen 8, skrivesignallinjen 9 og databussen 10 for bussystemet. Portinnretningen 37 har sin aktiviseringsinn-gang forbundet med utgangen fra en fjerde ELLER-port 39, den første og annen inngang fra hvilken er forbundet henholdsvis til utgangene fra en første styreport 40 og en annen styreport 41. Styreporten 40 har en første inngang forbundet med en skrivebitposisjon 21 i instruksjonslageret, og sin annen inngang forbundet med utgangen fra den første vippe 29. Styreporten 41 har sin første inngang forbundet med skrivebitposisjonen 19 i instruksjonslageret, og sin annen inverterende inngang forbundet med en kategorisignalutgang 42 fra den mellomliggende lagerenhet 6. The instructions selected from the instruction store 17 are transferred to the port network 7 for the data processing unit, and via terminals 33-36 to the intermediate storage unit 6 for the data processing unit. Each gate network 7 includes another AND gate device 37 for transferring, when in the active state, via a first OR gate device 38, the contents of the bit positions 20-22 of the address bus 8, the write signal line 9 and the data bus 10 of the bus system. The gate device 37 has its activation input connected to the output of a fourth OR gate 39, the first and second inputs from which are connected respectively to the outputs of a first control gate 40 and a second control gate 41. The control gate 40 has a first input connected to a write bit position 21 in the instruction store, and its second input connected to the output of the first flip-flop 29. The control port 41 has its first input connected to the write bit position 19 in the instruction store, and its second inverting input connected to a category signal output 42 from the intermediate storage unit 6.

Det er senere beskrevet at der foreligger en første og en annen kategori blant skriveinstruksjonene, som blir selektert under utførelsen av den annen sekvens, at den første og annen kategori blir henholdsvis identifisert ved hjelp av en binær "NULL" og "EN" som overføres via nevnte kategoriutgang 42, og at nevnte kategoriutgang 42 sender en binær "NULL" dersom den tilhørende databehandlingsenhet utfører den første sekvens. Følgelig blir portinnretningen 37 påvirket på grunn av alle leseinstruksjoner og skrive-instruks joner som blir selektert under utførelsen av den første sekvens, så vel som på grunn av en leseinstruksjon av den første kategori. Imidlertid blir portinnretningen 37 ikke aktivisert på grunn av en tredje type av instruksjon eller en skriveinstruksjon som blir selektert under utførelsen av den annen sekvens eller på grunn av en leseinstruksjon av den annen kategori. It is later described that there is a first and a second category among the write instructions, which are selected during the execution of the second sequence, that the first and second category are respectively identified by means of a binary "ZERO" and "ONE" which is transmitted via said category output 42, and that said category output 42 sends a binary "NULL" if the associated data processing unit executes the first sequence. Consequently, the gate device 37 is affected due to all read instructions and write instructions that are selected during the execution of the first sequence, as well as due to a read instruction of the first category. However, the gate device 37 is not activated because of a third type of instruction or a write instruction that is selected during the execution of the second sequence or because of a read instruction of the second category.

Hvert portnettverk innbefatter ytterligere en tredje 0G-portinnretning 43 for overføring i en aktivisert tilstand via en annen ELLER-portinnretning 44 datainformasjon som oppnås fra en terminal 45 i den mellomliggende lagerenhet 6, og som blir behandlet ved den tilhørende databehandlingsenhet. Portinnretningen 43 har sin aktiviserende inngang forbundet med kategorisignalinngangen 42. ELLER-portinnretningen 44 har sin annen inngang forbundet med databussen 10 for bussystemet. Ved selektering av en annen kategori-instruksjon, vil datainformasjon således ikke bli gjenvunnet fra hovedlageret 1, men fra den mellomliggende lagerenhet 6. Each gate network further includes a third 0G gate device 43 for transferring in an activated state via another OR gate device 44 data information which is obtained from a terminal 45 in the intermediate storage unit 6, and which is processed by the associated data processing unit. The gate device 43 has its activating input connected to the category signal input 42. The OR gate device 44 has its other input connected to the data bus 10 for the bus system. When selecting another category instruction, data information will thus not be recovered from the main storage 1, but from the intermediate storage unit 6.

Sluttelig innbefatter hvert portnettverk 7 en fjerde 0G-portinnretning 46 for overføring i en aktivisert tilstand, data og adresseinformasjon såvel som skrivesignaler fra utgangsterminaler 45, 47 og 48 fra den mellomliggende lagerenhet 6 som har tilknytning til den samme databehandlingsenhet, til bussystemet 3. Aktivisering av portinnretningen 46 vil bli omtalt i forbindelse med omtalen av den mellomliggende lagerenhet. Finally, each port network 7 includes a fourth 0G port device 46 for transmitting in an activated state, data and address information as well as write signals from output terminals 45, 47 and 48 from the intermediate storage unit 6 which is connected to the same data processing unit, to the bus system 3. Activation of the gate device 46 will be discussed in connection with the discussion of the intermediate storage unit.

Figur 3 illustrerer en mellomliggende lagerenhet som innbefatter et hjelpelager 49. Sistnevnte omfatter kolonne for midlertidig eller mellomliggende lagring av datainformasjon, samt leseadresser og skriveadresser, som er overført via terminaler 33-36, idet kolonnene er selektert for skriving, lesing og sletting ved hjelp av en skanderingsinn-retning 50. Det vil senere bli beskrevet hvordan hjelpelageret blir slettet når den tilhørende instruksjonssekvens til slutt blir utført. Figure 3 illustrates an intermediate storage unit which includes an auxiliary storage 49. The latter includes columns for temporary or intermediate storage of data information, as well as read addresses and write addresses, which are transmitted via terminals 33-36, the columns being selected for writing, reading and deletion using a scanning device 50. It will be described later how the auxiliary storage is deleted when the associated instruction sequence is finally executed.

Frontkanten av en skanderingspuls som er sendt fra en femte ELLER-port 51 setter skanderingsinnretningen til null. Aksess til hjelpelagerkolonnene oppnår man ved hjelp av frontkantene av trinnpulser som blir fremskaffet ved hjelp av en trinngenerator 52 og overført via en aktivisert trinnOG-port 53 til en trinnterminal 54 for skanderingsinnretningen. Trinnpulsene blir også sendt til en les-aktivi-seringsterminal 55, noe som resulterer i at kolonneinnholdet blir lest ett for ett. The leading edge of a scan pulse sent from a fifth OR gate 51 sets the scan device to zero. Access to the auxiliary storage columns is achieved by means of the leading edges of step pulses which are produced by means of a step generator 52 and transmitted via an activated step AND gate 53 to a step terminal 54 for the scanning device. The step pulses are also sent to a read enable terminal 55, resulting in the column contents being read one by one.

Den mellomliggende lagerenhet i henhold til figur 3, innbefatter en første NELLER-port 56, som har sine innganger innrettet til å motta skrivemarkeringer og lesemarkeringer som er midlertidig lagret i skrivebitposisjoner 57 og lesebitposisjoner 58 i hjelpelageret, og med sin inverterende utgang forbundet via en stopp-ELLER-port 59 med en inverterende inngang til trinn-OG-porten 53 og med den første inngang til en tredje og en fjerde OG-styreport 60 og 61, hvis utganger er forbundet med ELLER-porten 51. Styreporten 60 har sin annen inngang forbundet med en femte OG-styreport 62, hvis første inngang er forbundet med den ovenfor angitte identifikasjonssignalinngang 31, og hvis annen inngang er forbundet med utgangen fra den ovenfor angitte første ELLER-port 23 via en første styreterminal 63. The intermediate storage unit according to Figure 3 includes a first NOR gate 56, having its inputs arranged to receive write marks and read marks temporarily stored in write bit positions 57 and read bit positions 58 in the auxiliary storage, and with its inverting output connected via a stop -OR gate 59 with an inverting input to the stage AND gate 53 and with the first input to a third and a fourth AND control gates 60 and 61, the outputs of which are connected to the OR gate 51. The control gate 60 has its second input connected to a fifth AND control gate 62, whose first input is connected to the above-mentioned identification signal input 31, and whose second input is connected to the output of the above-mentioned first OR gate 23 via a first control terminal 63.

Følgelig vil skanderingspulser bare bli fremskaffet i den mellomliggende lagerenhet innbefattet i databehandlingsenheten som utfører den annen sekvens. En skanderingsoperasjon blir beordret ved selektering av en leseinstruksjon eller en skriveinstruksjon. Et opphold i trinnutøvelsen oppnår man når der leses en ikke-opptatt kolonne, dvs. en kolonne som hverken er merket med skriv eller les. En betingelse for oppstart av skandering er at trinn-utøvelsen er blitt stoppet. Consequently, scan pulses will only be provided in the intermediate storage unit included in the data processing unit which executes the second sequence. A scan operation is ordered by selecting a read instruction or a write instruction. A stay in the step exercise is achieved when an unoccupied column is read, i.e. a column that is neither marked with write nor read. A condition for starting scanning is that the step exercise has been stopped.

Den første NELLER-port 56 er forbundet via en skriv-ELLER-port 64 med en skrivaktiviseringsinngang 65 til skanderingsinnretningen. Det er antatt at en skriveinstruksjon med tilhørende adresse A3 og data D3/1 såvel som en leseinstruksjon med tilhørende adresse A4, utgjør den første og annen instruksjon av den annen sekvens rettet mot hovedlageret, idet disse instruksjoner ble midlertidig lagret på den beskrevne måte i den første og annen kolonne i hjelpelageret, idet disse søyler har bitposisjoner 57 og 58, som ble innstilt til null før den respektive lagring. Styreporten 61 har sin annen inngang forbundet med en sjette OG-styreport 66, med den første inngang forbundet med den ovenfor angitte første identifiseringsinngang 16 og med den annen inngang forbundet med bussystem-skrivesignallinjen 9 via en første bussterminal 67. En skanderingsoperasjon blir således beordret for mellomlager-lagerenheten for den annen sekvens ved selektering av en skrivinstruksjon som har tilknytning til den første sekvens. Tidtager-frekvensen for trinn-generatoren 52 antas å være tilstrekkelig høy i forhold til instruksjonsselekteringshastigheten, til at alle skander-ingsoperas joner som kommanderes via styreportene 62 og 66, vil ha tid til å bli utført. The first OR gate 56 is connected via a write OR gate 64 to a write enable input 65 of the scanning device. It is assumed that a write instruction with associated address A3 and data D3/1, as well as a read instruction with associated address A4, constitute the first and second instruction of the second sequence aimed at the main storage, as these instructions were temporarily stored in the described manner in the first and second columns of the auxiliary storage, these columns having bit positions 57 and 58, which were set to zero before the respective storage. The control port 61 has its second input connected to a sixth AND control port 66, with the first input connected to the above-mentioned first identification input 16 and with the second input connected to the bus system write signal line 9 via a first bus terminal 67. A scan operation is thus ordered for the intermediate storage unit for the second sequence by selecting a write instruction that is associated with the first sequence. The timer frequency for the step generator 52 is assumed to be sufficiently high in relation to the instruction selection speed, so that all scanning operations commanded via the control gates 62 and 66 will have time to be performed.

Den mellomliggende lagerenhet innbefatter en første sammenligningskrets 68, med en utgang som blir aktivisert når der foreligger likhet mellom den adresse som oppnås via terminal 36 fra instruksjonslageret 17, og en av adressene som er lest fra hjelpelager-bitposisjonene 69 under en skanderings-operas jon. En syvende OG-styreport 70 har sin utgang forbundet med stopp-ELLER-porten 59, idet den første inngang er forbundet med utgangen fra den første sammenligningskrets 68 og den annen inngang står til disposisjon for å motta de skrivemarkeringer som er midlertidig lagret i hjelpelager-skivebitposisjonene 57. Man oppnår således at en skander-ingsoperas jon blir stoppet dersom en leseadresse eller skriveadresse som er selektert fra instruksjonslageret, stemmer overens med en midlertidig lagret skriveadresse. The intermediate storage unit includes a first comparison circuit 68, with an output that is activated when there is equality between the address obtained via terminal 36 from the instruction store 17, and one of the addresses read from the auxiliary store bit positions 69 during a scan operation. A seventh AND control gate 70 has its output connected to the stop OR gate 59, the first input being connected to the output of the first comparison circuit 68 and the second input being available to receive the write marks which are temporarily stored in the auxiliary storage the disk bit positions 57. One thus achieves that a scanning operation is stopped if a read address or write address selected from the instruction store matches a temporarily stored write address.

Skriv-ELLER-porten 64 har sin annen inngang forbundet med utgangen fra en åttende OG-styreport 71, hvis første inngang er forbundet med den første sammenligningskrets, og hvis annen og tredje inngang er henholdsvis innrettet til å motta skrivemarkeringer som er midlertidig lagret i hjelpelager-skrivebitposisjonene 57 og skrivemarkeringer selektert via terminalen 34 fra instruksjonslageret 17. Dersom en skriveadresse, for eksempel A3, selektert fra instruksjonslageret, stemmer overens med en midlertidig lagret skriveadresse, vil kolonnen i hjelpelageret hvor skanderingen er blitt stoppet på grunn av den selekterte skriveadresse, bli oppdatert slik at for eksempel den første kolonne i hjelpelageret lagrer midlertidig datainformasjon D3/2 i hjelpelager-databitposisjoner 72 etter oppdatering. The write OR gate 64 has its second input connected to the output of an eighth AND control gate 71, the first input of which is connected to the first comparison circuit, and the second and third inputs of which are respectively adapted to receive write marks temporarily stored in auxiliary storage - the write bit positions 57 and write markings selected via the terminal 34 from the instruction store 17. If a write address, for example A3, selected from the instruction store, corresponds to a temporarily stored write address, the column in the auxiliary store where the scan has been stopped because of the selected write address will be updated so that, for example, the first column of the auxiliary storage stores temporary data information D3/2 in auxiliary storage data bit positions 72 after updating.

Styreporten 70 har sin utgang forbundet med en inngang til en niende OG-styreport 73, som har sin annen inngang innrettet til å motta de lesemarkeringer som er selektert via terminal 33 fra instruksjonslageret 17, idet utgangen fra utgangen 73 utgjør den ovenfor angitte kategorisignalutgang 42, som følgelig har overført et binært "NULL" til den ovenfor angitte styreport 41 og portinnretningen 42 i forbindelse méd den midlertidige lagring av adressen A4 i den annen kolonne av hjelpelageret. Man antar at selekteringen av leseinstruksjonen med tilhørende adresse A4 blir repetert for første gang etter selektering av et antall av instruksjoner (ikke vist på figur 3) med adresser forskjellige fra A3 og A4. Man oppnår da at selekteringen som blir gjentatt for første gang, ikke resulterer i en binær "EN" på kategori-signalutgangen 42 og en skanderingsstopp på grunn av adresselikhet som bestemmes av den første sammenligningskrets 68 slik at leseinstruksjonen som blir repetert for første gang, blir midlertidig lagret for annen gang i en kolonne hvor bitposisjoner 57 og 58 tidligere ble innstilt til "NULL". Den annen sekvens av leseinstruksjoner med tilhørende adresse Ax blir kalt "første kategori-instruksjoner" dersom de blir selektert før den samme adresse Ax foreligger i den annen sekvens i forbindelse med selekteringen av en skriveinstruksjon. En utgang 42 blir innstilt til "NULL" og identifiserer en første kategori-instruksjon. The control port 70 has its output connected to an input to a ninth AND control port 73, which has its second input arranged to receive the read markings that are selected via terminal 33 from the instruction store 17, the output from the output 73 forming the above-mentioned category signal output 42, which has consequently transmitted a binary "ZERO" to the above-mentioned control port 41 and the port device 42 in connection with the temporary storage of the address A4 in the second column of the auxiliary storage. It is assumed that the selection of the read instruction with associated address A4 is repeated for the first time after selecting a number of instructions (not shown in figure 3) with addresses different from A3 and A4. It is then achieved that the selection that is repeated for the first time does not result in a binary "EN" on the category signal output 42 and a scan stop due to address equality determined by the first comparison circuit 68 so that the read instruction that is repeated for the first time is temporarily stored for a second time in a column where bit positions 57 and 58 were previously set to "NULL". The second sequence of read instructions with associated address Ax is called "first category instructions" if they are selected before the same address Ax is present in the second sequence in connection with the selection of a write instruction. An output 42 is set to "NULL" and identifies a first category instruction.

Det antas at en skriveinstruksjon med tilhørende adresse A4 og data D4 blir selektert etter selektering av den ovenfor angitte leseinstruksjon gjentatt for første gang og etter selektering av en flerhet av instruksjoner (ikke vist på figur 3) med adresse forskjellige fra A3 og A4. Man oppnår således at denne skriveinstruksjon blir midlertidig lagret i en tidligere ikke-opptatt kolonne. Man antar videre at selekteringen av leseinstruksjonen med tilhørende adresse A4 blir gjentatt for annen gang etter selektering av den nevnte skriveinstruksjon med adressen A4. Man oppnår således en skanderingsstopp i forbindelse med avlesning av den mellom-lagrede skriveinstruksjon med adressen A4. Ingen oppdatering oppnår man, dvs. skrivemarkeringen i bitposisjonen 57 blir bibeholdt og der utføres ingen lesemarkering i bitposisjonen 58, og en binær "EN" blir oppnådd på kategori-signalutgangen 42, hvorved leseinstruksjonen med tilhørende adresse A4 gjentatt for annen gang, blir identifisert som en annen kategori-instruksjon. Følgelig vil hjelpelageret ikke inneholde noen instruksjoner av annen kategori, hvilken selektering imidlertid resulterer i at den styreport 41 som er vist på figur 2, stopper instruksjonsoverføringen til busssystemet 3 og at datainformasjonen, for eksempel D4, som ble lest i forbindelse med den tilhørende skanderingsstopp fra hjelpelagerdata-bitposisjonene 72, ble overført til databehandlingsenheten via portinnretningene 43 og 44 vist på figur 2. It is assumed that a write instruction with associated address A4 and data D4 is selected after selecting the above-mentioned read instruction repeated for the first time and after selecting a plurality of instructions (not shown in figure 3) with addresses different from A3 and A4. One thus achieves that this writing instruction is temporarily stored in a previously unoccupied column. It is further assumed that the selection of the read instruction with associated address A4 is repeated for a second time after selection of the aforementioned write instruction with address A4. One thus achieves a scanning stop in connection with reading the intermediately stored write instruction with the address A4. No update is achieved, i.e. the write mark in bit position 57 is retained and no read mark is performed in bit position 58, and a binary "EN" is obtained at the category signal output 42, whereby the read instruction with associated address A4 repeated for a second time, is identified as another category instruction. Consequently, the auxiliary storage will not contain any instructions of another category, which selection, however, results in the control port 41 shown in figure 2 stopping the instruction transfer to the bus system 3 and that the data information, for example D4, which was read in connection with the corresponding scan stop from the auxiliary storage data bit positions 72 were transferred to the data processing unit via the gate devices 43 and 44 shown in Figure 2.

Den midlertidige eller mellomliggende lagerenhet innbefatter en annen sammenligningsenhet 74, hvis utgang blir påvirket ved likhet mellom den adresse som oppnås fra adressebussen 8 via en annen bussterminal 75, og en av adressene lest fra hjelpelager-adressebitposisjonene 69 under en skanderingsoperasjon. Den annen sammenligningskrets er forbundet med den første inngang til en tiende OG-styreport 76, hvis annen inngang er forbundet med den ovenfor angitte styreport 66, samtidig som den tredje inngang mottar de lesemarkeringer som er midlertidig lagret i hjelpelager-bitposisjonene 58, samtidig som utgangen, som utgjør den ovenfor nevnte gjenoppstarting-signalutgang 27, er forbundet med en slette ELLER-port 77. ELLER-porten 26 vist på figur 2 mottar et gjenoppstartningssignal fra en aktivisert styreport 76. Skanderingsinnretningen 50 mottar fra en aktivisert slette ELLER-port 77 en slettekommandopuls, på grunn av hvilken all adresseinformasjon som er midlertidig lagret i hjelpelageret, kanselleres umiddelbart. The temporary or intermediate storage unit includes another comparison unit 74, the output of which is affected by equality between the address obtained from the address bus 8 via another bus terminal 75, and one of the addresses read from the auxiliary storage address bit positions 69 during a scan operation. The second comparison circuit is connected to the first input of a tenth AND control gate 76, the second input of which is connected to the above-mentioned control gate 66, at the same time that the third input receives the read marks temporarily stored in the auxiliary storage bit positions 58, at the same time that the output , which constitutes the above-mentioned restart signal output 27, is connected to a blank OR gate 77. The OR gate 26 shown in Figure 2 receives a restart signal from an activated control gate 76. The scanning device 50 receives from an activated blank OR gate 77 a delete command pulse, due to which all address information temporarily stored in the auxiliary storage is canceled immediately.

Der oppnås en sletting av hjelpelageret og en gjenoppstarting av utførelsen av den annen sekvens, dersom en midlertidig lagret første kategori leseinstruksjoner blir påtruffet, hvor den tilhørende adresse for denne instruksjon stemmer overens med den adresse som har tilknytning til en skriveinstruksjon som blir selektert under utførelsen av den første sekvens. Denne sletting er nødvendig fordi den tilhørende databehandlingsenhet har mottatt datainformasjon fra hovedlageret, på grunn av den påtrufne første kategori-instruksjon, som lageret ikke ville ha mottatt dersom oppmerksomheten til stadighet hadde vært konsentrert med hensyn til den orden som skal bestemmes på forhånd, dvs. dersom instruksjonene i den første og annen sekvens ikke var blitt selektert i parallell. A deletion of the auxiliary storage and a restart of the execution of the second sequence is achieved, if a temporarily stored first category of read instructions is encountered, where the corresponding address for this instruction corresponds to the address associated with a write instruction that is selected during the execution of the first sequence. This erasure is necessary because the associated data processing unit has received data information from the main store, due to the encountered first category instruction, which the store would not have received if the attention had been constantly concentrated with regard to the order to be determined in advance, i.e. if the instructions in the first and second sequence had not been selected in parallel.

Den midlertidige lagerenhet innbefatter en annen NELLER-port 78 med innganger som er forbundet med de ovenfor angitte identifikasjons-signalinnganger 16 og 31, og har sin inverterende utgang forbundet med ELLER-porten 51. Når selekteringene av den første og annen sekvens blir avsluttet, blir deretter en skanderingsoperasjon kommandert, selv om skanderingen er uten resultat i den mellomliggende lagerenhet innbefattet i databehandlingsenheten som har utført den første sekvens. Utgangen fra NELLER-porten 78 er forbundet med den første inngang til en ellevte OG-styreport 79, hvis utgang mottar skrivemarkeringer som er midlertidig lagret i hjelpelager-bitposisjonene 57, samtidig som utgangen fra porten 79 er forbundet med den ovenfor angitte portinnretning 46 via en annen styreterminal 80. Man oppnår da at den skanderingsoperasjon som startes ved hjelp av NELLER-porten 78, resulterer i at alle skriveinstruksjoner som er midlertidig lagret i hjelpelageret, blir overført, via terminalene 45, 47 og 48, portinnretningene 46 og 38, og bussystemet 3, til hovedlageret 1. The temporary storage unit includes another NOR gate 78 with inputs connected to the above identification signal inputs 16 and 31, and has its inverting output connected to the OR gate 51. When the selections of the first and second sequences are terminated, then a scan operation is commanded, even if the scan is unsuccessful in the intermediate storage unit included in the data processing unit that has performed the first sequence. The output of the NOR gate 78 is connected to the first input of an eleventh AND control gate 79, the output of which receives write marks temporarily stored in the auxiliary storage bit positions 57, while the output of the gate 79 is connected to the above-mentioned gate device 46 via a second control terminal 80. It is then achieved that the scanning operation initiated by means of the NELLER gate 78 results in all write instructions temporarily stored in the auxiliary storage being transferred, via the terminals 45, 47 and 48, the gate devices 46 and 38, and the bus system 3, to the main warehouse 1.

Sluttelig har den mellomliggende lagerenhet ifølge figur 3 en tolvte OG-port 31, med sin inngang forbundet med NELLER-portene 56 og 78, og har sin utgang forbundet med slette-ELLER-porten 77. Man oppnår en slette-kommandopuls når skanderingsoperasjonen som ble startet av NELLER-porten 78 blir avsluttet. Som en samlet virkning oppnår man ved hjelp av den mellomliggende lagerenhet at den første og annen sekvens til slutt blir utført uten feil i den orden som er bestemt på forhånd, til tross for at utførelsen av begge sekvenser til å begynne med er kommandert for utførelse i parallell. Finally, the intermediate storage unit according to Figure 3 has a twelfth AND gate 31, with its input connected to the NOR gates 56 and 78, and has its output connected to the erase OR gate 77. An erase command pulse is obtained when the scan operation which was started by the NELLER port 78 is terminated. As an overall effect, by means of the intermediate storage unit, the first and second sequences are eventually executed without error in the predetermined order, despite the fact that the execution of both sequences is initially commanded for execution in parallel.

Claims (1)

1. Fremgangsmåte for utførelse av to instruksjonssekvenser i en orden som er bestemt på forhånd, idet utførelsene innbefatter selektering av leseinstruksjoner som hver inneholder sin leseadresse for gjenfinning av datainformasjon som er lagret i én av en flerhet av hovedlagerlokasjoner som er tilgjengelige ved deres individuelle adresser, såvel som selektering av skriveinstruksjoner som hver inneholder sin skriveadresse og datainformasjon for overføring av denne datainformasjon til en hovedlagerlokasjon som er tilgjengelig ved hjelp av denne skriveadresse, og idet datainformasjon som benyttes i forbindelse med utførelsen av den sekvens som er nummer to på grunn av ordenen, på forhånd ikke er garantert å være uavhengig av den datainformasjon som er oppnådd i forbindelse med utførelsen av den sekvens som er den første på grunn av ordenen, karakterisert ved trinnene a) å utføre instruksjonene i begge sekvenser parallelt uten hensyn til ordenen, b) å forhindre, under utførelsen av den første sekvens, at datainformasjon overføres til hovedlagerlokasjonene, dersom datainformasjon blir oppnådd på grunn av utførelsen av den annen sekvens skriveinstruksjoner, c) å lagre midlertidig en skriveadresse og datainformasjon som oppnås på grunn av den skriveinstruksjon som selekteres under utførelsen av den annen sekvens, d) å lagre midlertidig en adresse som oppnås som en skriveadresse på grunn av en leseinstruksjon som er selektert under utførelsen av den annen sekvens, dersom denne adresse tidligere ikke er blitt selektert i forbindelse med utførelsen av skriveinstruksjoner for den annen sekvens, e) å utføre en første sammenligning mellom en lest adresse selektert under utførelsen av den annen sekvens og den midlertidig lagrede skriveadresse, f) å forhindre, på grunn av likhet bestemt ved hjelp av den første sammenligning mellom en leseadresse og en skriveadresse, datainformasjons-gjenvinning fra hovedlagerlokasjonen som er tilgjengelig ved hjelp av denne leseadresse, og i stedet lese den midlertidig lagrede informasjon som har tilknytning til denne skriveadresse, g) å utføre en annen sammenligning mellom den midlertidig lagrede leseadresse og hver av de skriveadresser som oppnås på grunn av utførelsen av skriveinstruksjoner for den første sekvens, h) å gjenstarte utførelsene av den annen sekvens om det bestemmes en adresselikhet ved hjelp av den annen sammenligning, og i) å overføre, når utførelsen av første sekvens er avsluttet, den midlertidig lagrede datainformasjon ved hjelp av den likeledes midlertidig lagrede skriveadresse til hovedlagerlokasjonen som er tilgjengelig ved hjelp av denne skriveadresse.1. Method for executing two instruction sequences in a predetermined order, the executions including selecting read instructions each containing its read address for retrieving data information stored in one of a plurality of main storage locations accessible at their individual addresses, as well as selecting write instructions that each contain their write address and data information for transferring this data information to a main storage location that is accessible by means of this write address, and as data information used in connection with the execution of the sequence which is number two due to the order is not guaranteed in advance to be independent of the data information obtained in connection with the execution of the sequence which is the first due to the order , characterized by the steps a) to execute the instructions in both sequences in parallel without regard to the order, b) to prevent, during the execution of the first sequence, that data information is transferred to the main storage locations, if data information is obtained due to the execution of the second sequence of write instructions, c) to temporarily store a write address and data information obtained due to the write instruction selected during the execution of the second sequence, d) to temporarily store an address obtained as a write address due to a read instruction selected during the execution of the second sequence, if this address has not previously been selected in connection with the execution of write instructions for the second sequence, e) to perform a first comparison between a read address selected during the execution of the second sequence and the temporarily stored write address, f) to prevent, due to similarity determined by means of the first comparison between a read address and a write address, data information retrieval from the main storage location accessible by means of this read address, and instead read the temporarily stored information related to them nne write address, g) performing another comparison between the temporarily stored read address and each of the write addresses obtained due to the execution of write instructions for the first sequence, h) restarting the execution of the second sequence if an address equality is determined using the second comparison, and i) transferring, when the execution of the first sequence is finished, the temporarily stored data information by means of the likewise temporarily stored write address to the main storage location accessible by means of this write address. 2. Apparat for å utføre, i henhold til krav 1, to instruksjonssekvenser i en orden som er bestemt på forhånd, innbefattende en første startkrets (13, 25, 38) for oppstarting av utførelsen av sekvensen som er den første på grunn av ordenen, og henholdsvis en første og en annen instruksjons-lagerinnretning (4) for lagring av henholdsvis den sekvens som er den første og annen på grunn av ordenen, og for selektering av de lagrede instruksjoner én om gangen, samtidig som instruksjons-lagerenhetene er forbundet via et bussystem (3) med en hovedlagerenhet (1, 11) som har sine hovedlagerlokasjoner tilgjengelige for lesing/skriving av datainformasjon ved hjelp av les/skriv-adresser som er selektert fra les/skriv-adressebitposisjoner (19, 20, 21) i instruksjonslager-innretningen, og datainformasjon som benyttes i forbindelse med utførelsen av den annen sekvens på forhånd ikke er garantert å være avhengig av den datainformasjon som oppnås i forbindelse med utførelsen av den første sekvens, karakterisert ved at apparatet innbefatter a) en annen startkrets (14, 25, 26) for oppstarting av den annen sekvens og som har sin første aktiviserende inngang (14) forbundet med den første startkrets, b) en første instruksjons-overføringskrets (37, 38, 39,2. Apparatus for executing, according to claim 1, two instruction sequences in a predetermined order, including a first start circuit (13, 25, 38) for starting the execution of the sequence which is the first due to the order, and respectively a first and a second instruction storage device (4) for storing respectively the sequence which is the first and second due to the order, and for selecting the stored instructions one at a time, while the instruction storage units are connected via a bus system (3) with a main storage unit (1, 11) having its main storage locations available for reading/writing data information by means of read/write addresses selected from read/write address bit positions (19, 20, 21) in instruction storage the device, and data information used in connection with the execution of the second sequence in advance is not guaranteed to be dependent on the data information obtained in connection with the execution of the first sequence, characterized in that the device includes a) another start circuit (14, 25, 26) for starting the second sequence and which has its first activating input (14) connected to the first start circuit, b) a first instruction transfer circuit (37, 38 , 39, 41 ) som på sin inngangsside og utgangsside er forbundet henholdsvis med den annen instruksjonslager-innretning og bussystem, og som deaktiviseres under utførelsen av den første sekvens på grunn av selektering av en skriveinstruksjon som er innlemmet i den annen sekvens, c) en hjelpelagerenhet (49, 50) med sine inngangstermi-naler (33-36) forbundet med den annen instruksjonslager-innretning, og som innbefatter databitposisjoner (72) og skriveadresse-bitposisjoner (57, 69) for midlertidig lagring av en skriveadresse og datainformasjon' som oppnås på grunn av en skriveinstruksjon som selekteres under uførelsen av den annen sekvens, og leseadresse-bitposisjoner (58, 69) for midlertidig lagring av en adresse som oppnås som en leseadresse på grunn av en leseinstruksjon som selekteres under utførelsen av den annen sekvens, dersom denne adresse tidligere ikke er blitt selektert i forbindelse med utførelsen av skriveinstruksjonene for den annen sekvens, d) en omkoblings-sammenligningskrets (68, 70, 73) hvis første sammenligningsterminal er forbundet med leseadresse-bitposis jonene (19, 20) for den annen instruksjonslager-innretning, og hvis annen sammenligningsterminal er forbundet med skriveadresse-bitposisjonene (57, 69) for hjelpelagerenheten, idet utgangen fra omkoblings-sammenligningskretsen sender et første og et annet logikk-koblingstil-standssignal som henholdsvis skyldes forskjell og likhet mellom de adresser som blir mottatt på svitsje-sammenlign-ings terminalene , e) en dataomkobler (37, 38, 39, 41, 44) som har sin første datainngang forbundet med bussystemet og sin annen datainngang forbundet med databitposisjonene (72) for hjelpelagerenheten, og som har sine styreinnganger forbundet med utgangen fra omkoblings-sammenligningskretsen, for på grunn av det første omkoblings-tilstandssignal, å gjenvinne datainformasjon fra hovedlagerlokasjonen som er tilgjengelig ved hjelp av den leseadresse som blir mottatt av omkoblings-sam menligningskretsen, og på grunn av det annet omkoblings-tilstandssignal, å gjenvinne fra hjelpelageret den datainformasjon som har tilknytning til den skriveadresse som blir mottatt av omkoblings-sammenligningskretsen, f) en sammenligningskrets (66, 74, 76) med første sammenligningsterminaler (16, 75) for å motta de skriveadresser som selekteres under utførelsen av den første sekvens, andre sammenligningsterminaler som er forbundet med nevnte leseadresse-bitposisjoner (58, 69) for hjelpelagerenheten, og med sin utgang (27) forbundet med en annen aktiviserende inngang fra den annen startkrets, hvis utgang blir aktivisert ved overensstemmelse mellom de adresser som blir mottatt på sammenligningskriteriumterminalene, og g) en annen instruksjonsoverføringskrets (38, 46, 78, 79) som på sin inngangsside og utgangsside er forbundet henholdsvis med databitposisjonene (72) og skriveadresse-bitposis jonene (57, 69) for hjelpelagerenheten, og med bussystemet (3), og som aktiviseres når utførelsen av den første sekvens avsluttes.41 ) which is connected on its input side and output side respectively with the second instruction storage device and bus system, and which is deactivated during the execution of the first sequence due to the selection of a write instruction which is incorporated in the second sequence, c) an auxiliary storage unit (49 . of a write instruction that is selected during the execution of the second sequence, and read address bit positions (58, 69) for temporarily storing an address obtained as a read address due to a read instruction that is selected during the execution of the second sequence, if this address previously has not been selected in connection with the execution of the write instructions for the second sequence, d) a switching comparison circuit (68 , 70, 73) whose first comparison terminal is connected to the read address bit positions (19, 20) of the second instruction storage device, and whose second comparison terminal is connected to the write address bit positions (57, 69) of the auxiliary storage device, the output of the switching the comparison circuit sends a first and a second logic connection status signal which is respectively due to difference and similarity between the addresses received on the switch-comparison terminals, e) a data switch (37, 38, 39, 41, 44) which has its first data input connected to the bus system and its second data input connected to the data bit positions (72) of the auxiliary storage unit, and having its control inputs connected to the output of the switching comparator circuit, for, due to the first switching state signal, to recover data information from the main storage location available at using the read address that is received by the switching comparator circuit, and because of that a nnet switching state signal, to recover from the auxiliary storage the data information associated with the write address received by the switching comparison circuit, f) a comparison circuit (66, 74, 76) with first comparison terminals (16, 75) to receive the write addresses which is selected during the execution of the first sequence, other comparison terminals which are connected to said read address bit positions (58, 69) of the auxiliary storage unit, and with its output (27) connected to another activating input from the second starting circuit, whose output is activated upon matching between the addresses received at the comparison criteria terminals, and g) another instruction transfer circuit (38, 46, 78, 79) which is connected on its input side and output side respectively to the data bit positions (72) and the write address bit positions (57, 69) of the auxiliary storage unit , and with the bus system (3), and which is activated when the execution of the first sequence ends.
NO882413A 1986-10-03 1988-06-01 PROCEDURE AND DEVICE FOR PERFORMING TWO INSTRUCTION SEQUENCES IN A PRESENT ORDER PREFERRED NO173207C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE8604223A SE454921B (en) 1986-10-03 1986-10-03 SET AND DEVICE FOR EXECUTIVE ORDER IN ORDER TO EXECUTE TWO INSTRUCTION SEQUENCES
PCT/SE1987/000437 WO1988002513A1 (en) 1986-10-03 1987-09-28 Method and device to execute two instruction sequences in an order determined in advance

Publications (4)

Publication Number Publication Date
NO882413L NO882413L (en) 1988-06-01
NO882413D0 NO882413D0 (en) 1988-06-01
NO173207B true NO173207B (en) 1993-08-02
NO173207C NO173207C (en) 1993-11-10

Family

ID=26659519

Family Applications (1)

Application Number Title Priority Date Filing Date
NO882413A NO173207C (en) 1986-10-03 1988-06-01 PROCEDURE AND DEVICE FOR PERFORMING TWO INSTRUCTION SEQUENCES IN A PRESENT ORDER PREFERRED

Country Status (1)

Country Link
NO (1) NO173207C (en)

Also Published As

Publication number Publication date
NO173207C (en) 1993-11-10
NO882413L (en) 1988-06-01
NO882413D0 (en) 1988-06-01

Similar Documents

Publication Publication Date Title
US4594660A (en) Collector
EP0444544B1 (en) Updating or restoring method for stored data groups and system executing same
US4344134A (en) Partitionable parallel processor
JP2001501002A (en) Method and system for generating a mirrored data copy image using a reference label
KR970059955A (en) Memory controller and memory control method
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
EP0614138A1 (en) A data processor with most recently allocated register bit
JPS59502158A (en) Virtual memory data processor and its access error recovery method
US3868644A (en) Stack mechanism for a data processor
US6829719B2 (en) Method and apparatus for handling nested faults
DK168135B1 (en) Method for executing two instruction sequences in a predetermined order
NO173718B (en) PROCEDURE AND DEVICE FOR PERFORMING TWO INSTRUCTION SEQUENCES IN A PRESENT ORDER PREFERRED
US6282635B1 (en) Method and apparatus for controlling an instruction pipeline in a data processing system
EP0514697A2 (en) Split instruction paging method
NO173207B (en) PROCEDURE AND DEVICE FOR PERFORMING TWO INSTRUCTION SEQUENCES IN A PRESENT ORDER PREFERRED
US6209001B1 (en) Back-up system capable of performing back-up operation at optional time
US5168558A (en) Apparatus and method for providing distributed control in a main memory unit of a data processing system
US3761893A (en) Digital computer
KR960014825B1 (en) Information processing system
JP3144979B2 (en) Program processing device and processing method
JPH0695944A (en) Method for replacing file
Neumann Disk-based program swapping in 8080-based microcomputers
JPH05736B2 (en)
JPH07182248A (en) Highly reliable information processor
JPS59158428A (en) Subchannel control system