DK168135B1 - Fremgangsmaade til udoevelse af to instruktionssekvenser i en paa forhaand fastlagt raekkefoelge - Google Patents

Fremgangsmaade til udoevelse af to instruktionssekvenser i en paa forhaand fastlagt raekkefoelge Download PDF

Info

Publication number
DK168135B1
DK168135B1 DK300788A DK300788A DK168135B1 DK 168135 B1 DK168135 B1 DK 168135B1 DK 300788 A DK300788 A DK 300788A DK 300788 A DK300788 A DK 300788A DK 168135 B1 DK168135 B1 DK 168135B1
Authority
DK
Denmark
Prior art keywords
sequence
data
instruction
write
address
Prior art date
Application number
DK300788A
Other languages
English (en)
Other versions
DK300788D0 (da
DK300788A (da
Inventor
Sten Edward 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
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of DK300788D0 publication Critical patent/DK300788D0/da
Publication of DK300788A publication Critical patent/DK300788A/da
Application granted granted Critical
Publication of DK168135B1 publication Critical patent/DK168135B1/da

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Programmable Controllers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)

Description

DK 168135 B1
Den foreliggende opfindelse angår en fremgangsmåde for drift af datamater til udøvelse af en første og en anden instruktionssekvens, hvilke datamater indbefatter hjælpedatalagre og et hoveddatalager, som indbefatter et antal hoved-5 datalagerpladser tilgængelige ved en adresse, idet instruktionssekvenserne er indrettede til at blive udøvede sekventielt i en forud fastlagt rækkefølge, og hvor den første sekvens logisk kan udøves før den anden sekvens, og hvor hver instruktionssekvens består af i det mindste én læsein-10 struktion og i det mindste én skriveinstruktion, hvilken i det mindste ene læseinstruktion indbefatter en læseadresse til søgning og udlæsning af data lagret i en af hoveddatala-gerpladserne, som er tilgængelig ved læseadressen, medens den i det mindste ene skriveinstruktion indbefatter data og 15 en dertil knyttet skriveadresse til angivelse af en af hoveddatalagerpladserne, hvortil de nævnte skriveinstruktionsdata skal overføres, og hvori data til udøvelse af den anden sekvens ikke nødvendigvis er uafhængige af data opnået som et resultat af udøvelsen af den første sekvens.
20 En kendt løsning af ovennævnte informationsbehand lingsproblem består deri, at man først begynder udøvelsen af den sekvens, som ifølge det ovenstående og i det følgende benævnes den anden sekvens, når udøvelsen af den sekvens, som ifølge det ovenstående og i det følgende benævnes den 25 første sekvens, er afsluttet. Denne kendte løsning tilvejebringes naturligvis i et databehandlingssystem, som med en enkelt processor styres således, at sekvenserne udøves en ad gangen under anvendelse af hoveddatalagerpladser, som er fælles for begge sekvenser.
30 Det er kendt at forøge databehandlingskapaciteten ved paralleludøvelse af instruktionssekvenser. Så længe sekvenserne på forhånd med sikkerhed er indbyrdes uafhængige, tilvejebringes fejlfrit paralleltarbejde ved hjælp af en såkaldt "pre-processing" eller "multi-processing", (en sådan 35 fremgangsmåde er omtalt i GB-A-1 441 458), eller også ved hjælp af et en-processor-system, som indbefatter mindst to DK 168135 B1 2 databehandlingsenheder til udøvelse af hver sin instruktionssekvens. Det er kendt at tilvejebringe informationsbehandling såvel ved et hoveddatalager, som er fælles for et antal databehandlingsenheder, og ved et antal særskilte 5 datalagre, som er knyttet til hver sin databehandlingsenhed, og som tid efter anden opdateres indbyrdes.
Ved forekomst af følsomme instruktionssekvenser, som påvirker hinanden indbyrdes, og som derfor må udøves i en foreskreven rækkefølge, anvendes eksempelvis ifølge tids-10 skriftet Computer Design, 15. august 1985, side 76-81, eller ifølge Balance 8000 System Technical Summary, Sequent Computer Systems, Inc programmeringssprog, kompilatorer og sekvensmaskinel til at parallelbehandle indbyrdes uafhængige sekvenser, medens parallelbehandling af de følsomme sekvenser 15 forhindres.
En sådan fremgangsmåde kendes fra US-A-4 626 989, hvori omtales en dataprocessor, som er indrettet til parallel behandling af instruktioner. Behandlingssystemet indbefatter et fordelingskredsløb, som fordeler dekodet information i 20 den efterfølgende instruktion, som er i operationsmæssig konflikt med den pågående instruktion, til den instruktionsudøvende enhed, som styrer den pågående instruktionsudøvelse.
Som nævnt indledningsvis angår den foreliggende opfindelse datainformationsbehandling under anvendelse af et 25 for begge sekvenser fælles hoveddatalager. Ved den foreslåede informationsbehandling udøver man begge sekvenser parallelt, idet der til en begyndelse ikke tages hensyn til den på forhånd fastlagte rækkefølge. Por at sikre den foreskrevne rækkefølge er det imidlertid nødvendigt, at man under den 30 fortløbende udøvelse af den første sekvens forhindrer, at der til hoveddatalagerpladserne overføres datainformation, som er tilvejebragt ved udpegede skriveinstruktioner, som er knyttet til den anden sekvens. Den anden sekvens afhængighed af den første sekvens overvåges, og den foreskrevne 35 rækkefølge tilvejebringes ved en mellemlagerenhed, som indbefatter et hjælpelager samt sammenligningskredse.
DK 168135 B1 3 I hjælpelageret mellemlagres adresser, som tilvejebringes ved læseinstruktioner, som udpeges under udøvelsen af den anden sekvens. Enhver under udøvelse af den første sekvens udpeget skriveadresse sammenlignes med hver af de i 5 hjælpelageret mellemlagrede læseadresser. Så længe der ikke registreres nogen adresselighed, anvendes under udøvelsen af den anden sekvens ingen datainformation, som er afhængig af den datainformation, som blev tilvejebragt under udøvelsen af den første sekvens. Men hvis der under udøvelsen af den 10 anden sekvens er indhentet information fra en hoveddatalager-plads, hvilken information senere korrigeres ved en til den første sekvens knyttet skriveoperation, dvs. hvis de to sekvenser ikke længere er indbyrdes uafhængige, slettes hjælpelageret, og den til den anden sekvens knyttet instruk-15 tionsudpegning iværksættes på ny. Genstarten af udøvelsen af den anden sekvens finder således sted på et tidspunkt, hvor en første del af den første sekvens allerede er udøvet, og hvor der som følge heraf foreligger mindre risiko for, at den anden sekvens er afhængig af den resterende del af 20 den første sekvens.
I hjælpelageret mellemlagres også skriveadresser og datainformation, som tilvejebringes ved skriveinstruktioner, som er blevet udpeget under udøvelsen af den anden sekvens. Hver læseadresse, som er blevet udpeget under udøvelsen af 25 den anden sekvens, sammenlignes med hver af de i hjælpelageret mellemlagrede skriveadresser. Hvis der herved ikke registreres nogen adresselighed, indhentes datainformation fra den hoveddatalagerplads, som er tilgængelig ved den aktuelle læseadresse, medens datainformation, som er tilknyttet den 30 aktuelle adresse, hentes fra hjælpedatalageret, hvis adresselighed registreres.
Når den første sekvens er færdigudøvet, overføres den i hjælpelageret mellemlagrede datainformation til de hoveddatalagerpladser, som er tilgængelige ved de ligeledes 35 mellemlagrede dertil knyttede skriveadresser.
Ved anvendelse af den foreslående informationsbehand- 4 DK 168135 B1 ling tilvejebringes en forøgelse af databehandlingskapaciteten, hvis udøvelsen af den anden sekvens er uafhængig af i det mindste de instruktioner, som udpeges ved afslutningen af udøvelsen af den første sekvens. Kapacitetsforøgelsen 5 forbedres yderligere, hvis der i hjælpedatalageret kun mellemlagres en udpeget adresse som læseadresse, hvis denne adresse forinden under udøvelsen af den anden sekvens ikke har været tilvejebragt som en skriveadresse.
Opfindelsens karakteristiske træk fremgår af patent- 10 kravet.
Opfindelsen forklares i det følgende nærmere under henvisning til tegningen, hvorpå: fig. 1 anskueliggør to over et bussystem med et fælles hoveddatalager forbundne databehandlingsenheder, 15 fig. 2 anskueliggør mere detaljeret, end i fig. 1, en instruktionsdatalagerindretning, en start- og identifikationskreds og et portnet, som indgår i en databehandlingsenhed, fig. 3 anskueliggør en i en databehandlingsenhed 20 indgående mellemlagerenhed.
Et databehandlingssystem ifølge fig. 1 indbefatter et hoveddatalager 1 til oplagring af datainformation, som behandles af mindst to databehandlingsenheder 2, hvilke databehandlingsenheder over et bussystem 3 er forbundne med 25 hoveddatalageret. Databehandlingsenhederne udøver hver sin instruktionssekvens til styring af tilknyttede, i fig. l ikke viste funktionsenheder ved gennemførelse af tilknyttede systemfunktioner. Afhængige af, om databehandlingsenhederne styres af en fælles processor, eller om hver enhed indbefat-30 ter et antal processorer, tilvejebringes der et i princippet kendt en- eller multiprocessorsystem, i hvilket indgår en fælles bus og et fælles hoveddatalager. Et lignende databehandlingssystem med et antal databehandlingsenheder og en bus er omtalt f.eks. i Intels "APX" 286 Hardware Reference 35 Manual" og i Electronics, 22. marts 1984, "Backup support gives VME bus powerful multiprocessing architecture".
DK 168135 B1 5
Fig. 1 viser på et i forhold til den foreliggende opfindelse vidtgående forenkletvis to databehandlingsenheder 2, som i en på forhånd fastlagt rækkefølge skal udøve ovennævnte første og anden instruktionssekvens. Ud over en kendt 5 instruktionsdatalagerindretning 4 til udpegning af i et instruktionsdatalager lagrede instruktioner en ad gangen, indbefatter hver databehandlingsenhed en start- og identifikationskreds 5 til anvisning af, om den dertil knyttede sekvens udgør den første uafhængige, eller den mulige af-10 hængige anden sekvens, en mellemlagerenhed 6 til mellemlagring af i instruktionerne indgående adresser og datainformation, som imidlertid kun anvendes i den databehandlingsenhed, som udøver den anden sekvens, samt et portnet 7 til styring af databehandlingsenhedens forbindelse mellem bussystemet 15 3.
Som det vil fremgår af den senere forklaring, forøges bussystemets belastning noget på grund af de udkrævede instruktionsmellemlagringer, men det antages, at bussystemets tilgængelighedskapacitet i retning mod databehandlingsen-20 hederne og i retning mod hoveddatalageret er tilvejebragt således, at den samlede databehandling kan gennemføres forstyrrelsesfrit i den på forhånd fastlagte rækkefølge. Af bussystemet vises i fig. 1 en flerbitadressebus 8, en ledning 9 til overføring af skrivesignaler, og en flerbitdatabus 25 10. Det er yderligere angivet, at databussen er forbundet med hoveddatalageret 1 og databehandlingsenhederne 2 for dataoverføring i to retninger, medens adressebussen 8 og skrivesignalledningen 9 er forbundet med hoveddatalagerets adresseringskreds 11 og skriveaktiverings indgang 12 for 30 data overføring i kun én retning, idet modtagelse af en adresse og et skrivesignal bevirker, at databussens indhold overføres til en ved adressen tilgængelig hoveddatalagerplads.
Ved modtagelse af kun én adresse overføres fra hoveddatalageret data, som er lagrede i en ved adressen tilgængelig 35 hoveddatalagerplads over databussen 10 til den adresseudsendende databehandlingsenhed. Databehandlingsenhedernes 6 DK 168135 B1 start- og identifikationskredse 5 er udformede med hver sin startsignaludgang 13, som er forbundet med den anden startkreds startsignalindgang 14. Hermed angives den senere forklarede, og i tilknytning til den foreslåede informations-5 behandling anvendte mulighed at udøve begge sekvenser parallelt.
Endelig er det i fig. 1 vist, at identifikationskredsene 5 er udformet med hver sin identifikationssignaludgang 15, som er forbundet med en første identifikationssignal-10 indgang 16 i den anden databehandlingsenheds mellemlagerenhed 6.
Fig. 1 viser ikke de kendte bufferprocessor og aktiveringer, som udøves i tilknytning til dataoverføring mellem databehandlingsenhederne og bussystemet, hvilket-15 som senere forklaret - også anvendes til overføring af adresser og skrivesignaler mellem databehandlingsenhederne.
Fig. 2 viser mere udførligt end fig. 1 nogle databehandlingsenhedsdetaljer, hvortil kendskab er nødvendig for forståelsen af den ved opfindelsen tilvejebragte informa-20 tionsbehandling.
Instruktionsdatalagerindretningen 4 indbefatter et instruktionsdatalager 17 til oplagring af instruktionssekvens, som ved en udpegnings indretning 18 udlæses fra instruktionsdatalageret, en instruktion ad gangen, som følge af 25 aktivering af en af udpegningsindretningens udgange.
Sekvensen indbefatter tre instruktionstyper. Den første type, som i det følgende benævnes "læseinstruktion", og som identificeres ved en binær "l” indstillet læsebitpo-sition 19, anvendes til at beordre indhentning af data fra 30 en hoveddatalagerplads, hvortil tilgang tilvejebringes ved hjælp af en i et antal adressebitpos it ioner 20 lagret adresse, f.eks. Al, som indgår i den læsebitmarkerede instruktion. Den anden instruktionstype, som herefter benævnes "skrive-instruktion", som identificeres ved en "1" indstillet skrive-35 bitposition 21, anvendes til at beordre indskrivning af data i en hoveddatalagerplads, f.eks. D2, som indgår i den DK 168135 B1 7 skrivebitmarkerede instruktion, og som lagres i et antal databitpositioner 22, under anvendelse af en adresse, f.eks.
A2, som også indgår i den skrivebitmarkerede instruktion, og som lagres i adressebitpos it ionerne 20. Den tredie in-5 struktionstype, som identificeres ved "0" indstillede bitpositioner 19 og 21, anvendes til at beordre en informationsbehandling uden læsning fra eller skrivning i hoveddatalage-ret. Anvendelsen af den information, f.eks. SI, som lagres i de bitpositioner 20 og 22, som er knyttet til en tredie 10 type instruktion, ligger udenfor opfindelsens rammer, men fig. 2 viser en første ELLER port 23, som indgår i det tidligere nævnte portnet 7, og hvis indgange er forbundne med bitpositionerne 19 og 21, og hvis udgang er forbundet med en inverterende aktiveringsindgang på en første OG portind-15 retning 24, som i aktiveret tilstand overfører indholdet, f.eks. SI, i bitpositionerne 20 og 22 direkte til databehandlingsenheden. Instruktioner af den tredie type belaster hverken bussystemet eller hoveddatalageret, hvilket derfor kan være fælles for et antal databehandlingsenheder, uden 20 at der stilles alt for store hastighedskrav til hoveddata-lageret og bussystemet.
Databehandlingsenhedernes start- og identifikationskredse 5 indbefatter ifølge fig. 2 hver sin anden og tredie ELLER port 25 og 26. Porten 25 har sin ene indgang forbundet 25 med udgangen på porten 26, hvis indgange er forbundne med den tidligere nævnte startsignalindgang 14 og genstartsignaludgangen 27 i den i samme databehandlingsenhed indgående mellemlagerenhed 6. Databehandlingsenhederne indbefatter hver sin på fig. 2 ikke viste startsignalgenerator, hvis 30 udgang over en startkredsklemme 28 er forbundet med den anden indgang på porten 25, med ovennævnte startsignaludgang 13 og med indstillingsindgangen på en første flip-flop 29, hvis udgang udgør den tidligere nævnte identifikationssignaludgang 15. En anden flip-flop 30 er med sin indstillings-35 indgang forbundet med udgangen på porten 26, og med sin udgang forbundet med en anden identifikationssignalindgang 8 DK 168135 B1 31 på mel lemlagerenheden 6 i egen databehandlingsenhed. Porten 25 udpeger i aktiveret tilstand en instruktion af tredie type, som er en startinstruktion med indholdet SI, hvorved databehandlingsenheden iværksætter den dertil knyt-5 tede instruktionssekvensudøvelse ved sin udpegningsindretning 18. Det forudsættes, at den i instruktionsdatalageret 17 lagrede sekvens afsluttes i tilknytning til aktiveringen af udpegningsindretningsudgangen 32, som er forbundet med nulstillingsindgangene på flip-flop'erne 29 og 30.
10 Udøvelsen af den første sekvens iværksættes af egen startsignalgenerator. Som følgende heraf angiver en binær "l” på den første flip-flop 29's udgang, at instruktionsud-pegningerne i egen sekvens er under udøvelse, og at egensekvensen er den første sekvens. En binær "1" på den anden 15 flip-flop 30's udgang angiver, at instruktionsudpegningerne af egensekvensen udøves, og at egensekvensen er den anden sekvens. Ifølge opfindelsen udpeges instruktionerne i begge sekvenser parallelt, hvilket f.eks. tilvejebringes ved en startsignaloverføring fra den startsignaludgang 13, som er 20 knyttet til den første sekvens, til den startsignalindgang 14, som er knyttet til den anden sekvens.
De fra instruktionsdatalageret 17 udpegede instruktioner overføres til databehandlingsenhedens portnet 7 og over klemmerne 33-36 til databehandlingsenhedens mellem-25 lagerenhed 6. Hvert portnet 7 indbefatter en anden OG portindretning 37 til overføring i aktiveret tilstand over en første ELLER portindretning 38 af indholdet i adresse-, skrive- og databitpositioneme 20-22 til bussystemets adressebus, skrivesignalledning og databus 8-10. Portindretningen 30 37 er med sin aktiverings indgang forbundet med udgangen på en fjerde ELLER port 39, hvis ene, hhv. anden indgang er forbundet med udgangen på en første hhv. anden OG styreport 40 hhv. 41. Styreporten 40 er med sin første indgang forbundet til instruktionsdatalagerets skrivebitposition 21 og 35 med sin anden indgang forbundet med udgangen på den første flip-flop 29. Styreporten 41 er med sin første indgang for- DK 168135 B1 9 bundet med instruktionsdatalagerets læsebitposition 19 og med sin anden inverterende indgang forbundet med en kategorisignaludgang 42 i mellemlagerenheden 6.
Det vil senere blive forklaret, at der findes en 5 første og en anden kategori af de læseinstruktioner, som udpeges under udøvelsen af den anden sekvens, at den første hhv. den anden kategori identificeres med en over nævnte katagoriudgang 42 overført binær værdi "0" hhv. "1”, samt at nævnte udgang 42 udsender et binært "0", hvis den dertil 10 knyttede databehandlingsenhed udøver den første sekvens.
Som følge heraf aktiveres portindretningen 37 ved samtlige læse- og skriveinstruktioner, som udpeges under udøvelsen af den første sekvens, samt ved en første kategorisk læse-instruktion. Men portindretningen 37 aktiveres ikke ved en 15 tredie type instruktion eller en skriveinstruktion, som udpeges under udøvelsen af den anden sekvens eller en anden kategorist læseinstruktion.
Hvert portnet indbefatter endvidere en tredie OG portindretning 43 til i aktiveret tilstand at overføre data-20 information over en anden ELLER portindretning 44, hvilken datainformation er tilvejebragt fra en klemme 45 i mellemlagerenheden 6, og hvilken datainformation behandles af den dertil knyttede databehandlingsenhed. Portindretningen 43 er med sin aktiveringsindgang forbundet til kategorisig-25 naludgangen 42. ELLER port indretningen 44 er med sin anden indgang forbundet med bussystemets databus 10. Ved udpegning af en anden kategoris instruktion tilvejebringes altså ikke datainformation for hoveddatalageret 1, men fra mellemdatalage renheden 6.
30 Endelig indbefatter hvert portnet 7 en fjerde port indretning 46, som i aktiveret tilstand overfører data- og adresseinformation samt skrivesignaler fra udgangsklemmerne 45, 47 og 48 på den mellemlagerenhed 6, som er knyttet til den samme databehandlingsenhed, til bussystemet 3. Aktiverin-35 gen af portindretningerne 46 vil blive forklaret i tilknytning til mellemdatalagerenheden.
10 DK 168135 B1
Fig. 3 viser en mellemlagerdataenhed, som indbefatter et hjælpedatalager 49. Hjælpedatalageret 49 er tilvejebragt med søjler til mellemlagring af datainformation, læse- og skriveadresser, som overføres over klemmerne 33-36, idet 5 søjlerne udpeges til skrivning, læsning og sletning ved hjælp af en afsøgningsindretning 50. Det vil senere blive forklaret, at hjælpedatalageret slettes, når den dertil knyttede instruktionssekvens er færdigudøvet.
Forkanten af en affølingsimpuls, som udsendes fra en 10 femte ELLER port 51, nulstiller afsøgningsindretningen. Tilgang til hjælpedatalagerets søjler tilvejebringes ved forkanterne af trinimpulser, som tilvejebringes af en trap-petragtgenerator 52 og som overføres via en aktiveret trin OG port 53 til afsøgningsindretningens trinklemme 54. Trin-15 impulserne udsendes også til en læseaktiveringsklemme 55, hvorved søjlerne indhold læses en af gangen.
Mellemdatalagerenheden ifølge fig. 3 indbefatter en første IKKE ELLER port 56, hvis indgange modtager de i hjæl-pedatalagerets skrive- og læsebitpositioner 57 og 58 mellem-20 lagrede skrive- og læsemarkeringer, og hvis inverterende udgang over en stop ELLER port 59 er forbundet med en inverterende indgang på trin OG porten 53 og med den første indgang på en tredie og en fjerde OG styreport 60 og 61, hvis udgange er forbundne med ELLER porten 51. styreporten 25 60 er med sin anden indgang forbundet med en femte OG styre port 62, hvis første indgang er forbundet med den tidligere nævnte identifikationssignalindgang 31, og hvis anden indgang over en første styreklemme 63 er forbundet med udgangen på den tidligere nævnte første ELLER port 23.
30 I overensstemmelse hermed tilvejebringes kun afsøg ningsimpulser i den mellemlagerdataenhed, som indgår i den databehandlingsenhed, som udøver den anden sekvens. En afsøgningsoperation beordres ved udpegning af en læse- eller skriveinstruktion. Trinstandsning tilvejebringes, når der 35 læses en første ledig søjle, dvs. en søjle, som hverken er skrive- eller læsemarkeret. Forudsætningen for at påbegynde DK 168135 Bl 11 en afsøgning err at den forudgående trintilvejebringelse er blevet standset.
Den første IKKE ELLER port 56 er over en skrive ELLER port 64 forbundet med afsøgningsindretningens skriveaktive-5 ringsindgang 65. Det forudsættes, at en skriveinstruktion med dertil knyttet adresse A3 og data D3/1, samt en læsein-struktion med dertil knyttet adresse A4 udgør den anden sekvens første og andet mod hoveddatalageret rettede instruktion, som på den forklarede vis mellemlagres i hjælpedata-10 lagerets første og anden søjle, hvis bitpositioner 57 og 58 forud har været "0" stillede.
Styreporten 61 er med sin anden indgang forbundet med en sjette OG styreport 66, hvis første indgang er forbundet med den tidligere nævnte første identifikationsindgang 15 16, og hvis anden indgang over en første busklemme 67 er forbundet med bussystemets skrivesignalledning 9. Således beordres også en afsøgningsoperation i mellemdatalagerenheden knyttet til den anden sekvens ved udpegning af en skriveinstruktion, som er tilknyttet den første sekvens. Trappegene-20 ratoren 52's taktfrekvens forudsættes at være egnet høj i forhold til instruktionsudpegningshastigheden, så at samtlige over de nævnte styreporte 62 og 66 beordrede afsøgningsoperationer kan gennemføres.
Mellemlagerdatalagerenheden indbefatter en første 25 sammenligningskreds 68, hvis udgang aktiveres ved lighed mellem den over klemme 36 fra instruktionsdatalageret 17 tilvejebragte adresse og en af de under en afsøgningsoperation fra hjælpedatalagerets adressebitpos it ioner 69 læste adresser. En syvende OG styreport 70 er med sin udgang for-30 bundet med stop ELLER porten 59, idet dens ene indgang er forbundet med udgangen på den første sammenligningskreds 68, og idet den på sin anden indgang modtager de i hjælpedatalagerets skrivebitpositioner 57 mellemlagrede skrivemarkeringer. Standsning af en afsøgningsoperation tilvejebrin-35 ges, hvis en fra instruktionsdatalageret udpeget læse- eller skriveadresse er i overensstemmelse med en mellemlagret DK 168135 B1 12 skriveadresse.
Skrive ELLER porten 64 er med sin anden indgang forbundet med udgangen på en ottende OG styreport 71, hvis første indgang er forbundet med den første sammenlignings-5 kreds, og hvis anden og tredie indgange modtager de i hjælpe-datalagerets skrivebitpositioner 57 mellemlagrede skrivemarkeringer, og den over klemmen 34 fra instruktionsdatalageret 17 udpegede skrivemarkering. Hvis en fra instruktionsdatalageret udpegede skriveadresse, f.eks. A3, er i overensstem-10 melse med en mellemlagret skriveadresse, opdateres den søjle i hjælpedat al ageret, ved hvilken den på grund af den udpegede skriveadresse gennemførte afsøgning er standset, således at f.eks. hjælpedatalagerets første kolonne efter opdateringen mellemlagrer datainformationen D3/2 i hjælpedatalagerets 15 databitpositioner 72.
Styreporten 70 er med sin udgang forbundet med den ene indgang på en niende OG styreport 73, hvis anden indgang modtager den over klemmen 33 fra instruktionsdatalageret 17 udpegede læsemarkering, og hvis udgang udgør den tidligere 20 nævnte kategorisignaludgang 42, som i overensstemmelse hermed har overført et binært "0" til ovennævnte styreport 41 og portindretningen 42 i tilknytning til mellemlagring af adressen A4 i hjælpedatalagerets anden søjle. Det forudsættes, at udpegningen af læseinstruktionen med dertil knyttet adres-25 se A4 gentages en første gang efter udpegningen af et antal i fig. 3 ikke viste instruktioner med andre adresser end A3 og A4. Der er således opnået, at den en første gang gentagne udpegning ikke resulterer i en binær "1" indstillet kategorisignaludgang 42, og der opnås tillige en standsning af af-30 søgningen på grund af en ved den første sammenligningskreds 68 registreret adresselighed, således at den læseinstruktion, som er gentaget en første gang, mellemlagres en anden gang i en søjle, hvis bitpositioner 57 og 58 forud har været "O" stillede. Den anden sekvenses læseinstruktioner med dertil 35 knyttet adresse Ax benævnes første kategoris instruktioner, hvis de udpeges inden samme adresse Ax forekommer i den DK 168135 B1 13 anden sekvens i tilknytning til udpegningen af en skriveinstruktion. En binær "0” stillet udgang 42 angiver en første kategoris instruktion.
Det forudsættes, at en skriveinstruktion med en dertil 5 knyttet adresse A4 og data D4 udpeges efter udpegningen af ovennævnte, en første gang gentagne læseinstruktion, og af et antal i fig. 3 ikke viste instruktioner med andre adresser end A3 og A4. Herved opnås, at denne skriveinstruktion mellemlagres i en forud ledig søjle. Det forudsættes endvidere, 10 at udpegning af læseinstruktionen med dertil knyttet adresse A4 gentages en anden gang efter udpegningen af nævnte skriveinstruktion med adressen A4. Herved opnås en afsøgningsstandsning i tilknytning til læsning af den mellemlagrede skriveinstruktion med adressen A4. Der tilvejebringes ingen 15 opdatering, dvs. man bibeholder skrivemarkeringen i bitposition 57 og gennemfører ingen læsemarkering i bitposition 58, og man tilvejebringer en binær "l" stillet kategorisignaludgang 42, hvorved den anden gang gentagne læseinstruktion med dertil knyttet adresse A4 identificeres som en anden 20 kategoris instruktion. Som følge heraf indeholder hjælpelagret ingen anden kategoris instruktioner, hvis udpegninger imidlertid resulterer i, at den i fig. 2 viste styreport 41 standser instruktionsoverføringen til bussystem 3, samt at den datainformation, f.eks. D4, som læses i tilknytning til 25 afsøgningsstandsningen fra hjælpelagerets databitpositioner 72, overføres til databehandlingsenheden over de i fig. 2 viste portindretninger 43 og 44.
Mellemlagerenheden indbefatter en anden sammenligningskreds 74, hvis udgang aktiveres ved lighed mellem den 30 over en anden busklemme 75 fra adressebussen 8 modtagne adresse og en af de under en afsøgningsoperation fra hjælpe-datalagerets adressebitpositioner 69 læste adresser. Den anden sammenligningskreds er forbundet med den første indgang på en tiende OG styreport 76, hvis anden indgang er 35 forbundet med den tidligere nævnte styreport 66 og hvis tredie indgang modtager de i hjælpedatalageret bitpositioner DK 168135 B1 14 58 mellemlagrede læsemarkeringer og hvis udgang udgør den tidligere nævnte genstartsignaludgang 27 og tillige er forbundet med en slette ELLER port 77. Fra en aktiveret styreport 76 modtager den i fig. 2 viste ELLER port 26 et gen-5 startsignal. Fra en aktiveret slette ELLER port 77 modtager afsøgningsindretningen 50 en sletteordreimpuls, hvorved umiddelbart samtlige i hjælpedatalageret mellemlagrede adresse- og datainformationer slettes.
Det er opnået, at en sletning af hjælpedatalageret 10 og en genstart af udøvelsen af den anden sekvens gennemføres, hvis der mødes en mellemlagret første kategoris læseinstruk-tion, hvis dertil knyttede adresse er i overensstemmelse med den adresse, som er tilknyttet en skriveinstruktion, som udpeges under udøvelsen af den første sekvens. Sletningen 15 udkræves fordi den dertil knyttede databehandlingsenhed på grund af den mødte første kategoris instruktion har modtaget datainformation fra hovéddatalageret, som den ikke ville have modtaget, hvis der konsekvent havde været taget hensyn til den på forhånd fastlagte rækkefølge, dvs. hvis instruk-20 tionerne i den første og den anden sekvens ikke var blevet udpegede i parallel.
Mellemlagerenheden indbefatter en anden IKKE ELLER port 78, hvis indgange er forbundne med de tidligere nævnte identifikationssignalindgange 16 og 31, og hvis inverterende 25 udgang er forbundet med ELLER porten 51. Når den første og den anden sekvens udpegninger er afsluttede, beordres som følge heraf en afsøgningsoperation, hvilken imidlertid er resultatløs i den mellemlagerenhed, som indgår i den databehandlingsenhed, som har udøvet den første sekvens. Udgangen 30 på IKKE ELLER porten 78 er forbundet med den første indgang på en elfte OG styreport 79, hvis anden indgang modtager de i hjælpedatalagerets bispositioner 57 mellemlagrede skrivemarkeringer, og hvis udgang er forbundet over en anden styreklemme 80 med den tidligere nævnte port indretning 46. Herved 35 opnås, at den ved IKKE ELLER porten 78 iværksatte afsøgningsoperation resulterer i, at samtlige i hjælpedatalageret DK 168135 B1 15 mellemlagrede skriveinstruktioner overføres til klemmerne 45, 47 og 48 over portindretningerne 46 og 38 og over bussystemet 3 til hoveddatalageret 1.
Endelig er mellemlagerenheden ifølge fig. 3 vist med 5 en tolvte OG styreport 81, hvis indgange er forbundne med IKKE ELLER portene 56 og 78, og hvis udgang er forbundet med slette ELLER porten 77. Herved tilvejebringes en slet-teordreimpuls når den ved IKKE ELLER porten 78 iværksatte afsøgningsoperation er afsluttet.
10 Som samlet virkning opnås ved mellemlagerenheden, at den første og den anden sekvens definitivt udøves fejlfrit i den på forhånd fastlagte rækkefølge, på trods af, at der indledningsvis har været beordret udøvelse af begge sekvenser parallelt.

Claims (1)

1. Fremgangsmåde til drift af datamater som udøver en første og en anden instruktionssekvens, hvilke datamater indbefatter hjælpedatalagre og et hoveddatalager, som ind-5 befatter et antal hoveddatalagerpladser tilgængelige ved en adresse, idet instruktionssekvenserne er indrettede til at blive udøvet sekventielt i en forud fastlagt rækkefølge, og hvor den første sekvens logisk kan udøves, før den anden sekvens, og hvor hver instruktionssekvens består af i det 10 mindste en læseinstruktion og i det mindste en skriveinstruktion, hvilken i det mindste ene læseinstruktion indbefatter en læseadresse til søgning og udlæsning af data lagret i en af hoveddatalagerpladserne, som er tilgængelige ved læse-adressen, medens den i det mindste ene skriveinstruktion 15 indbefatter data og en dertil knyttet skriveadresse til angivelse af en af hoveddatalagerpladserne, hvortil de nævnte skriveinstruktionsdata skal overføres, og hvori data til udøvelse af den anden sekvens ikke nødvendigvis er uafhængig af data opnået som et resultat af udøvelsen af den første 20 sekvens, kendetegnet ved at indbefatte følgende trin: udøvelse af instruktionerne i begge sekvenser uafhængig af den forud fastlagte rækkefølge for udøvelse af sekvenserne, forhindring, under udøvelse af den første sekvens, af over-25 føring til hoveddatalagerpladserne af data opnåede ved udøvelsen af den i det mindste ene skriveinstruktion i den anden sekvens, og i stedet herfor, ved optræden af i det mindste en skriveinstruktion under udøvelse af den anden sekvens, midlertidig lagring af skriveadressen og af data i 30 den i det mindste ene skriveinstruktion i den anden sekvens i hjælpedatalagret, sammenligning af hver læseadresse, som optræder under udøvelsen af den anden sekvens, med alle midlertidigt lagrede skriveadresser, og hvis læseadressen ikke er identisk med 35 nogen adresse, som er fremkommet i sammenhæng med udøvelsen af en hvilken som helst skriveinstruktion i den anden sek- 17 DK 168135 B1 vens, midlertidig lagring af læseadressen for den i det mindste ene læseinstruktion i den anden sekvens i hjælpedata-lageret, og ellers frembringelse af et første signal, når den sammenlignede læseadresse er lig med en af de midlerti-5 digt lagrede skriveadresser, samt forhindring af, ved modtagelsen af det første signal, at data fra hoveddatalager-pladsen, som er tilgængelige ved den sammenlignede adresse, udlæses, idet der i stedet for læses fra hjælpedatalageret af den midlertidigt lagrede data, som er knyttet til skrive-10 adressen, yderligere sammenligning af skriveadressen for hver skriveinstruktion, som optræder under udøvelsen af den første sekvens, med alle midlertidigt lagrede læseadresser, og frembringelse af et andet signal, når den sammenlignede 15 skriveadresse er lig med en af de midlertidigt lagrede læseadresser, genudøvelse af den anden sekvens som svar på frembringelse af det andet signal, overføring som svar på afslutningen af udøvelsen af den 20 første sekvens af en hvilket som helst midlertidigt lagret data til hoveddatalagerpladserne, som er tilgængelige ved de dertil knyttede, midlertidigt lagrede skriveadresser. 25 30 35
DK300788A 1986-10-03 1988-06-02 Fremgangsmaade til udoevelse af to instruktionssekvenser i en paa forhaand fastlagt raekkefoelge DK168135B1 (da)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SE8604223 1986-10-03
SE8604223A SE454921B (sv) 1986-10-03 1986-10-03 Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instuktionssekvenser
SE8700437 1987-09-28
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 (3)

Publication Number Publication Date
DK300788D0 DK300788D0 (da) 1988-06-02
DK300788A DK300788A (da) 1988-06-02
DK168135B1 true DK168135B1 (da) 1994-02-14

Family

ID=20365824

Family Applications (1)

Application Number Title Priority Date Filing Date
DK300788A DK168135B1 (da) 1986-10-03 1988-06-02 Fremgangsmaade til udoevelse af to instruktionssekvenser i en paa forhaand fastlagt raekkefoelge

Country Status (20)

Country Link
US (1) US4956770A (da)
EP (1) EP0285634B1 (da)
JP (1) JPH01500935A (da)
KR (1) KR920006769B1 (da)
CN (2) CN87106625A (da)
AU (1) AU596234B2 (da)
BR (1) BR8707473A (da)
CA (1) CA1289670C (da)
DE (1) DE3777632D1 (da)
DK (1) DK168135B1 (da)
ES (1) ES2005370A6 (da)
FI (1) FI93907C (da)
GR (1) GR871511B (da)
IE (2) IE61307B1 (da)
MA (1) MA21073A1 (da)
MX (1) MX159991A (da)
PT (1) PT85811B (da)
SE (1) SE454921B (da)
TN (1) TNSN87108A1 (da)
WO (1) WO1988002513A1 (da)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075844A (en) * 1989-05-24 1991-12-24 Tandem Computers Incorporated Paired instruction processor precise exception handling mechanism
US5163139A (en) * 1990-08-29 1992-11-10 Hitachi America, Ltd. Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions
US5420990A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Mechanism for enforcing the correct order of instruction execution
JPH07334372A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
SE9901146D0 (sv) 1998-11-16 1999-03-29 Ericsson Telefon Ab L M A processing system and method
SE9901145D0 (sv) 1998-11-16 1999-03-29 Ericsson Telefon Ab L M A processing system and method
US8738822B2 (en) * 2005-05-03 2014-05-27 Flexera Software Llc System and method for controlling operation of a component on a computer system
JP5350677B2 (ja) * 2008-05-19 2013-11-27 株式会社東芝 バス信号制御回路、及び、バス信号制御回路を備えた信号処理回路
JP2021015384A (ja) * 2019-07-10 2021-02-12 富士通株式会社 情報処理回路、情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1218656A (en) * 1968-03-27 1971-01-06 Int Computers Ltd Improvements in or relating to computer system
US3787673A (en) * 1972-04-28 1974-01-22 Texas Instruments Inc Pipelined high speed arithmetic unit
GB1441458A (en) * 1972-06-28 1976-06-30 Texas Instruments Inc Stored programme data processing for parallel processing of programme segment
IT991096B (it) * 1973-07-10 1975-07-30 Honeywell Inf Systems Calcolatore elettronico con reti funzionali indipendenti per l esecuzione simultanea di opera zioni diverse sugli stessi dati
SE378690B (da) * 1973-12-13 1975-09-08 Ellemtel Utvecklings Ab
SE387763B (sv) * 1975-10-23 1976-09-13 Ellemtel Utvecklings Ab Anordning vid ett datorminne for att mojliggora en successiv forflyttning under drift av ett ledigt minnesfelt
JPS57162165A (en) * 1981-03-30 1982-10-05 Fanuc Ltd Re-editing system for storage area
US4466061A (en) * 1982-06-08 1984-08-14 Burroughs Corporation Concurrent processing elements for using dependency free code
JPS5932045A (ja) * 1982-08-16 1984-02-21 Hitachi Ltd 情報処理装置
JPS60146350A (ja) * 1984-01-11 1985-08-02 Hitachi Ltd 通信制御装置
US4720779A (en) * 1984-06-28 1988-01-19 Burroughs Corporation Stored logic program scanner for a data processor having internal plural data and instruction streams
SE454920B (sv) * 1986-10-03 1988-06-06 Ellemtel Utvecklings Ab Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen

Also Published As

Publication number Publication date
ES2005370A6 (es) 1989-03-01
IE61306B1 (en) 1994-10-19
IE872506L (en) 1988-04-03
FI882468A0 (fi) 1988-05-25
DK300788D0 (da) 1988-06-02
BR8707473A (pt) 1988-09-13
AU596234B2 (en) 1990-04-26
IE61307B1 (en) 1994-10-19
FI93907C (sv) 1995-06-12
WO1988002513A1 (en) 1988-04-07
PT85811B (pt) 1993-08-31
MA21073A1 (fr) 1988-07-01
AU8036587A (en) 1988-04-21
EP0285634B1 (en) 1992-03-18
FI882468A (fi) 1988-05-25
CN87106625A (zh) 1988-04-13
IE872505L (en) 1988-04-03
SE8604223L (sv) 1988-04-04
JPH01500935A (ja) 1989-03-30
DK300788A (da) 1988-06-02
FI93907B (sv) 1995-02-28
CN87106765A (zh) 1988-04-20
SE8604223D0 (sv) 1986-10-03
GR871511B (en) 1987-10-01
DE3777632D1 (de) 1992-04-23
TNSN87108A1 (fr) 1990-01-01
US4956770A (en) 1990-09-11
KR920006769B1 (ko) 1992-08-17
KR880701913A (ko) 1988-11-07
PT85811A (pt) 1988-11-30
CA1289670C (en) 1991-09-24
EP0285634A1 (en) 1988-10-12
MX159991A (es) 1989-10-23
SE454921B (sv) 1988-06-06

Similar Documents

Publication Publication Date Title
EP0258453B1 (en) Instruction prefetch control apparatus
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
US4707784A (en) Prioritized secondary use of a cache with simultaneous access
EP0106671B1 (en) Prefetching instructions in computer
US4654783A (en) Unique process for loading a microcode control store in a data processing system
US4551799A (en) Verification of real page numbers of stack stored prefetched instructions from instruction cache
KR890004994B1 (ko) 어드레스 변환 제어장치
DK168135B1 (da) Fremgangsmaade til udoevelse af to instruktionssekvenser i en paa forhaand fastlagt raekkefoelge
SE514861C2 (sv) Förfarande, dator och system för dynamisk länkning av moduler i programvara
JPH0231419B2 (da)
US3740722A (en) Digital computer
EP0550283A2 (en) Invoking hardware recovery actions via action latches
KR101475640B1 (ko) 인터럽트 신호 접수 장치 및 컴퓨터 장치
DK168415B1 (da) Fremgangsmåde og indretning til udøvelse af to instruktionssekvenser i en på forhånd fastlagt rækkefølge.
US3761893A (en) Digital computer
KR910001114B1 (ko) 디스크 캣슈 시스템
NO173207B (no) Fremgangsmaate og innretning for utfoerelse av to instruksjonssekvenser i en orden som er bestemt paa forhaand
US3513446A (en) Data processing system wherein the instruction word contains plural data word addresses
JPS59206947A (ja) マイクロプログラム制御装置
JPS6161143B2 (da)
JP2507871B2 (ja) 並列処理方式
EP0550290A2 (en) CPU register array
JPS6035692B2 (ja) バッファ管理方式
JPS61221846A (ja) アドレス変換制御方式

Legal Events

Date Code Title Description
B1 Patent granted (law 1993)
PBP Patent lapsed