SE454920B - Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen - Google Patents

Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen

Info

Publication number
SE454920B
SE454920B SE8604222A SE8604222A SE454920B SE 454920 B SE454920 B SE 454920B SE 8604222 A SE8604222 A SE 8604222A SE 8604222 A SE8604222 A SE 8604222A SE 454920 B SE454920 B SE 454920B
Authority
SE
Sweden
Prior art keywords
sequence
address
instruction
execution
writing
Prior art date
Application number
SE8604222A
Other languages
English (en)
Other versions
SE8604222L (sv
SE8604222D0 (sv
Inventor
B Jonsson
L-O Kling
S Johnson
O Avsan
Original Assignee
Ellemtel Utvecklings Ab
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 Ellemtel Utvecklings Ab filed Critical Ellemtel Utvecklings Ab
Priority to SE8604222A priority Critical patent/SE454920B/sv
Publication of SE8604222D0 publication Critical patent/SE8604222D0/sv
Priority to MX008506A priority patent/MX168943B/es
Priority to AU80370/87A priority patent/AU589047B2/en
Priority to JP62506082A priority patent/JPH01500936A/ja
Priority to US07/192,512 priority patent/US4985826A/en
Priority to PCT/SE1987/000438 priority patent/WO1988002514A1/en
Priority to EP87906633A priority patent/EP0287600B1/en
Priority to PT85810A priority patent/PT85810B/pt
Priority to BR8707481A priority patent/BR8707481A/pt
Priority to DE8787906633T priority patent/DE3774119D1/de
Priority to GR871512A priority patent/GR871512B/el
Priority to TNTNSN87107A priority patent/TNSN87107A1/fr
Priority to ES8702816A priority patent/ES2005371A6/es
Publication of SE8604222L publication Critical patent/SE8604222L/sv
Priority to NO882196A priority patent/NO173718C/no
Priority to FI882469A priority patent/FI93908C/sv
Priority to DK300888A priority patent/DK168415B1/da
Publication of SE454920B publication Critical patent/SE454920B/sv
Priority to KR1019880700624A priority patent/KR920006768B1/ko

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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Communication Control (AREA)
  • Complex Calculations (AREA)
  • Electrotherapy Devices (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Image Input (AREA)
  • Multi Processors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

15 20 25 30 454 920 2 Vid förekomst av känsliga instruktionssekvenser, vilka påverkar varandra och därför måste exekveras i en föreskriven ordningsföljd används till exempel enligt tidskrift “Computer Design, August 15, 1985, pp 76-8l" eller enligt "Balance 8000 System Technical Summary, Sequent Computer Systems, Inc" programspråk, kompilatorer och sekvensmaskinvara för att parallellbearbeta av varandra oberoende sekvenser medan parallellbearbetning av de känsliga sek- venserna förhindras.
REooGtiRi-:Lse FÖR UPPFINNINGEN Som det har nämnts inledningsvis, hänför sig föreliggande uppfinning till datainformationshantering under användning av tva vart sin sekvens tillordnade separatminnen. Vid den föreslagna informationshanteringen exekverar man båda sekvenser parallellt utan att till att börja med taga hänsyn till den pa förhand avgjorda ordningsföljden. Den andra sekvensens beroende av den första sekven- sen bevakas och den föreskrivna ordningsföljden astadkommes medelst en undanlagringsenhet som omfattar ett hjälpminne samt minst en jämförelsekrets. l hjälpminnet undanlagras adresser som erhallespa grund av läsinstruktioner vilka utpekas under den andra sekvensens exekvering. Man jämför varje under den första sekvensens exekvering utpekad skrivadress med var och en av de i hjälpminnet undanlagrade läsadresserna. Salänge ingen adresslikhet fastställs, används under den andra sekvensens exekvering ingen datainformation som är beroende av den under den första sekvensens exekvering erhållna datain- formationen. Men om under den andra sekvensens exekvering har hämtats fran en den andra sekvensen tillhörande separatminnesplats information som sedan korrigeras i samband med uppdateringen pa grund av en den första sekvensen tillhörande skrivoperation, d v s om de tva sekvenserna inte längre är oberoende av varandra, raderar man hjâlpminnet och igangsätter den andra sekvensens instruktionsutpekningar pa nytt. Återstarten av den andra sekvensens exekve- ring sker___da i en tidpunkt då en första del av den första sekvensen redan är exekverad och då följaktligen mindre risk föreligger att den andra sekvensen är beroende av den första sekvensens kvarstående del.
I hjälpminnet undanlagras även skrivadresser och datainformation som erhålles på grund av skrivinstruktioner vilka utpekas under den andra sekvensens 10 15 20 25 454 920 3 exekvering för att underlätta uppdateringen av det den första sekvensen tillhörande separatrninnet.
Vid användning av den föreslagna informationshanteringen erhåller man en höjning av databehandlingskapaciteten om den andra sekvensens exekvering är oberoende av åtminstone de instruktioner som utpekas vid slutet av den första sekvensens exekvering. Kapacitetshöjningen förbättras ytterligare om man i hjälpminnet undanlagrar en utpekad adress som läsadress enbart om denna adress dessförinnan under den andra sekvensens exekvering inte har förekommit som en skrivadress, och förbättras ytterligare om det den andra sekvensen tillordnade separatminnet uppdateras stegvis i samband med varje under den första sekvensens exekvering utpekad skrivinstruktion.
Uppfinningens kännetecken framgår av patentkraven.
FIGURBEISKRIVNING Uppfinningen förklaras närmare under hänvisning till bifogad ritning, vars figur 1 visar tva databehandlingsenheter, vilka är anslutna till var sitt separatminne och en uppdateringsenhet. Ritningens figur 2 visar mera detaljerat än figur l aktiveringen av ett separatminne för läsning, skrivning och uppdatering, samt en instruktionsminnesanordning, en start- och identifieringskrets, vilka ingår i en databehandlingsenhet. Ritningens figur 3 visar en i en databehandlingsenhet ingående undanlagringsenhet. f-'öRi-:DRAGEN UTFÖRINGSFORM Ett databehandlingssystem enligt figur 1 omfattar två separatminnen l för att lagra datainformation som behandlas av minst två databehandlingsenheter 2, vilka är anslutna till var sitt separatminne. Databehandlingsenheterna exekve- rar var ___sin instruktionssekvens för att styra tillordnade i figur l icke visade funktionsenheter vid genomförandet av tillordnade systemfunktioner. Beroende pa om databehandlingsenheterna styrs av en gemensam processor eller om varje databehandlingsenhet omfattar ett antal procesorer, erhåller man ett i princip konventionellt en- eller multiprocesorsystem, hos vilket instruktionssekvenserna till att börja med exekveras medelst det sekvensegna separatminnet, vars 454 920 10 15 20 25 30 ll databehandlingsenhet emellertid beordrar en uppdateringsenhet 3 att uppdatera systemets övriga separatminnen med hänsyn till ordningsföljden och till de exekverade skrivinstruktionerna. Ett dylikt ett flertal databehandlingsenheter och tillhörande da och da sinseemellan uppdaterade separatminnen omfattande databehandlíngssystem beskrivs till exempel i S-E Granberg's artikel "APZ 150: A multiprocessor system for the control of transit telephone exchanges", vilken har publicerats 1976 av lnfotech International Ltd, Nicholson House, Maiden- head, Bershire, England.
Figur l visar pa ett med hänsyn till föreliggande uppfinning vittgàende förenklat sätt tva databehandlingsenheter 2 för att i en pà förhand avgjord ordningsföljd exekvera ovannämnda första och andra instruktionssekvenser.
Utöver en konventionell instruktionsminnesanordning ll för att utpeka i ett instruktionsminne lagrade instruktioner en i taget omfattar varje databehand- lingsenhet en start-och identifieringskrets 5 för att ange om den egna sekvensen utgör den första oberoende eller den möjligen beroende andra sekvensen, och en undanlagringsenhet 6. Med hjälp av undanlagringsenheterna styrs separatminne- nas uppdatering och därmed sekvenser-nas exekvering i den pà förhand avgjorda ordningsföljden. Den undanlagringsenhet, vars databehandlingsenhet exekverar den andra sekvensen, undanlagrar i instruktionerna ingående adresser och bevakar därmed den andra sekvensens beroende av den första sekvensen.
Det antydes, att datainformation överförs dels pa grund av skrivinstruktioner fràn instruktionsminnesanordningarna till de tillhörande separatminnena och dels pa grund av läsinstruktioner fràn separatminnena till de tillhörande datab ehandlingsenheterna.
Databehandlingsenheternas start- och identifieringskretsar 5 är försedda med var sin startsignalutgang 7 som 'âr ansluten till den andra startkretsens startsignalingàng 8. Därmed antydes den längre ner beskrivna och vid den föreslagna informationshanteringen använda möjligheten att exekvera parallellt båda sekvenser. ldentifieringskretsarna 5 är försedda med var sin identifieringssignalutgàng 9 som är ansluten till en första identifieringssignalingàng 10 hos den andra databehandlingsenhetens undanlagringsenhet 6. Den ena databehandlingsenhe- 10 15 2D 25 30 454 920 5 tens undanlagringsenhet är försedd med en adressingang 11 och en skriv- markeringsingang 12 för att mottaga skrivadresser som utpekas från den andra databehandlingsenhetens instruktionsminnesanordning 4. Undanlagringsen- heterna 6 är sinsemellan förbundna via en uppdateringsutgang 13 och en upp dateringsingàng 14.
Figur 2 visar mera utförligt än figur 1 nagra databehandlingsenhetsdetaljer vars kännedom behövs för förståelsen av den föreslagna informationshanteringen.
Instruktionsminnesanordningen 4 omfattar ett instruktionsminne 15 för att lagra en instruktionssekvens, vilken medelst en utpekningsanordning 16 utläses fràn instruktionsminnet, en instruktion i taget, pa grund av aktivering av en av utpekningsanordningens utgångar.
Sekvensen omfattar tre instruktionstyper. Den första typen, fortsättningsvis kallad "läsinstruktion", vilken identifieras medelst en binär "l" satt läsbit- position 17, används för att beordra att hämta data fran en plats hos det till instruktionsminnet anslutna separatminnet 1, till vilken åtkomst erhålles med hjälp av en i ett antal adressbitpositioner 18 lagrad adress, till exempel A1, vilken ingår i den läsbitmärkta instruktionen. Läsbitpositionerna 17 respektive adressbitpositionera 18 är anslutna till separatminnets läsaktiveringsingang 19 respektive adresseringskrets 20.
Den andra instuktionstypen, fortsättningsvis kallad "skrivinstruktion", vilken identifieras medelst en "l" satt skrivbitposition 21, används för att beordra att i en separat minnesplats skriva data, till exempel D2, vilka ingar i den skrivbits- märkta instruktionen och lagras i ett antal databitpositioner 22, under använd- ning av en adress, till exempel A2, vilken också ingår i den skrivbitmärkta instruktionen och lagras i adressbitpositionerna 18. Skrivpositionerna 21 är anslutna till separatminnets skrivaktiveringsingang 23.
Den tredje instruktionstypen, vilken identifieras medelst "O" satta bitpositio- ner 17 och 21, används för att beordra en informationshantering utan läsning fran eller skrivning i separatminnet. Användningen av den information, till exempel S1, som lagras i de bitpositioner 18 och 22, som tillhör en tredje typs instruktion ligger utanför uppfinningens ram, men figur 2 visar en första OR 10 15 20 25 30 454 920 6 grind 24, vars ingångar är anslutna till bitpositionerna 17 och 21 och vars utgång är ansluten till en inverterande aktiveringsingång hos en första AND grindan- ordning 25, vilken i aktiverat tillstånf överför innehållet, till exempel S1, hos bitpositionerna 18 och 22 direkt till databehandlingsenheten. ' Databehandlingsenheternas start- och identifieringskretsar 5 omfattar enligt figur 2 var sin andra och tredje OR grind 26 och 27. Grind 26 har sin ena ingång ansluten till utgången hos grind 27, vars ingångar är anslutna till ovannämnda startsígnalingång 8 och till en återstartsignalutgång 28 hos den i samma data- behandlingsenhet ingående undanlagringsenheten 6. Databehandlingsenheterna omfattar var sin på figur 2 inte visad startsignalgenerator, vars utgång via en startkretsterminal29 är ansluten till den andra ingången hos grind 26, till ovannämnda startsignalutgång 7 och till sättingången hos en första vippa 30 vars ovannämnda identifieringssignalinång 9 utgörande utgång är ansluten till en andra identifieringssignalingång 31 hos den egna undanlagringsenheten 6. En andra vippa 32 har sin sättingång ansluten till utgången hos grind 27 och sin utgång ansluten till en tredje identifieringssignalingång 33 hos den egna undan- lagringsenheten 6. 'Grind 26 utpekar i aktiverat tillstånd en instruktion av tredje typen som är en startinstruktion med innehåll Sl, på grund av vilken data- behandlingsenheten igångsätter medelst sin utpekningsanordning 16 den till- hörande instruktíonssekvensexekveringen. Det antages att den i instruktions- minnet 15 lagrade sekvensen avslutas i samband med aktiveringen av ut- pekningsanordningsutgång 34, vilken är ansluten till nämnda vippors 30 och 32 återställingångar.
Exekveringen av den första sekvensen sättes igång av den egna startsignal- generatorn. Följaktligen identifierar en binär "l" på den första vippans 30 utgång, att den egna sekvensens instruktionsutpekningar pågår och att den egna sekvensen är den första sekvensen. En binär "l" på den andra vippans 32 utgång identifierar, att den egna sekvensens instruktionsutpekningar pågår och att den egna sekvensen är den andra sekvensen. Enligt uppfinningen utpekas instruk- tionerna i båda sekvenser parallellt, vilket till exempel åstadkommas medelst en startsignalöverföring från den startsignalutgång? som tillhör den första sekvensen till den startsignalingång B som tillhör den andra sekvensen 10 15 20 25 30 454 920 7 De från instruktionsminnet l5 utpekade läs- och skrivadresserna överförs via terminaler 35-37 till databehandlingsenhetens undanlagringsenhet 6. Figur 2 vi- sar undanlagringsenhetens ovannämnda identifieringssignal- och skrivadressin- gångar 10-12, samt en första styrterminal 38 som är ansluten till utgången hos nämnda första OR grind 24.
Slutligen antydes i figur2 konventionella uppdateringsfunktioner medelst streckade förbindelselinjer. Uppdateringsenheten 3 är försedd med orderter- minaler 39 och 40. Via terminal 39 respektive 40 sändes parallellt uppdaterings- ordersignaler respektive uppdateringsadresser. På grund av en från den ena undanlagringsenheten erhållen uppdateringsorder överför uppdateringsenheten ordersignalen till det egna separatminnets läsaktiveringsingang 19 och till det andra separatminnets skrivaktiveringsingàng 23 samt den till ordern hörande adressen till separatminnenas adresseríngskretsar 20. Man erhåller en dataöver- föring från det egna separatminnet via uppdateringsenheten till det andra separatminnet.
Figur3 visar en undanlagringsenhet som omfattar ett hjälpminne 41, vars kolumner för att undanlagra via nämnda terminaler 35-37 överförda läs- och skrivadresser utpekas för skrivning, läsning och radering medelst en avsöknings- anordning 42. Det kommer att beskrivas, att hjälpminnet raderas när den tillhörande uppdateringen är genomförd.
Framkanten av en avsökningspuls, som utsändes fran en fjärde OR grind 43, nollställer avsökningsanordningen. Åtkomst till hjälpminnets kolumner erhålles medelst framkanterna av stegpulser, som alstras av en stegtaktgenerator 44, och överförs via en aktiverad stegnings AND grind 45 till avsökningsanord- ningens stegterminal46. Stegpulserna sändes även till en läsaktiveringstermi- nal 47, varigenom kolumnernas innehall läses ett i taget.
Undanlagringsenheten enligt figur 3 omfattar en första NOR 48, vars ingångar mottager de i hjälpminnets skriv- och läsbitpositioner 49 och 50 undanlagrade skriv- och läsmarkeringar och vars inverterande utgång är via en stopp OR grind 51 ansluten till en inverterande ingång hos stegnings AND grind 45 och till första ingångar hos en första och andra AND styrgrind 52 och 53, vars utgångar är anslutna till OR grind 43. Styrgrind 52 har sin andra ingång ansluten till en 10 15 20 25 30 454 920 B tredje AND styrgrind 5A, vars ingångar är anslutna till ovannämnda identi- fieringssignalingång 33 och styrterminal 38.
Följaktligen alstras avsökningspulser endast i den undanlagringsenhet som ingar i den databehandlingsenhet som exekverar den andra sekvensen. En avsöknings- operation beordras vid utpekning av en läs- eller skrivinstruktion. Man erhaller stegningsstopp då det läses en ledig kolumn, d v s en kolumn som är varken skriv- eller läsmarkerad. Förutsättning för att starta en avsökning är att den föregående stegningen har blivit stoppad.
Nämnda första NOR grind 48 är ansluten till avsökningsanordningens skriv- aktiveringsingàng 55. Det antages, att en skrivinstruktion med tillhörande adress A3 samt en läsinstruktion med tillhörande adress All» utgör den andra sekvensens första och andra mot det tillhörande separatminnet riktade instruk- tioner, vars skriv-/läsadresser pa det beskrivna sättet undanlagras i hjälp- minnets första och andra kolumn, vars bitpositioner 49 och 5D dessförinnan har varit "D" satta.
Styrgrind 53 har sin andra ingång ansluten till en fjärde AND styrgrind 56, vars första ingång är ansluten till ovannämnda första identifieringsingâng 10 och vars andra ingång via ovannämnda skrivmarkeringsingång 12 är ansluten till skrivbitpositionerna 21 hos det instruktionsminne 15 som lagrar den första sekvensen. Därmed beordras en avsökningsoperation hos den andra sekvensens. undanlagringsenhet även vid utpekning av en den första sekvensen tillhörande skrivinstruktion. Stegtaktgeneratorns 44 taktfrekvens antages vara sä pass hög relativt till instruktionsutpekningshastigheten, att man hinner att genomföra samtliga via nämnda styrgrindar 54 och 56 beordrade avsökningsoperationer.
Undanlagringsenheten omfattar en första jämförelsekrets 57, vars utgång akti- veras vid likhet mellan den via terminal 37 från instruktionsminnet 15 erhållna adressen och en av de under en avsökningsoperation från hjälpminnets adressbit- positioner 58 lästa adresserna. En femte AND styrgrind 59 har sin utgång ansluten till stopp DR grind 51, sin ena ingang ansluten till den första " jämförelsekretsens 57 utgång och mottager pä sin andra ingang de i hjälp- minnets skrivbitpositioner 49 undanlagrade skrivmarkeringar. Man erhåller, att en avsökningsoperation stoppas om en fran ínstruktionsminnet utpekad läs- eller skrivadress överensstämmer med en undanlagrad skrivadress. 10 15 20 25 30 454 920 9 Det antages, att utpekningen av läsinstruktionen med tillhörande Adress Al: upprepas en första gang efter utpekningen av ett antal i figur 3 inte visade instruktioner med andra adresser än A3 och All. Man erhaller, att den en första gang upprepade utpekningen inte resulterar i ett avsökningsstopp pa grund av en medelst den första jämförelsekretsen 57 fastställd adresslikhet, sa att den en första gang upprepade lasinstruktionen undanlagras en andra gang i en kolumn, vars bitpositioner 49 och 50 dessförinnan har varit "0" satta. Den andra sekven- sens läsinstruktioner med tillhörande adress Ax kallas första kategoris instruk- tioner om dom utpekas innan samma adress Ax förekommer hos den andra sekvensen i samband med utpekningen av en skrivinstruktion.
Det antages att en skrivinstruktion med tillhörande adress AA utpekas efter utpekningen av ovannämnda en första gang upprepad läsinstruktion och av ett antal i figur 3 inte visade instruktioner med andra adresser än A3 och A4. Man erhåller, att denna skrivinstruktion undanlagras i en dessförinnan ledig kolumn.
Det antages vidare att utpekningen av lasinstruktionen med tillhörande adress A4 upprepas en andra gang efter utpekningen av nämnda skrivinstruktion med adressen A4. Man erhåller ett avsökningsstopp i samband med läsning av den undanlagrade skrivinstruktionen med Adressen A4, men man genomför ingen läsmarkering i bitposition 50. Den en andra gang upprepade läsinstruktionen med tillhörande Adress A4 utgör en andra kategoris instruktion, vars tillhörande adress inte undanlagras i hjälpminnet.
Den ena databehandlingsenhetens undanlagringsenhet omfattar en andra jäm- förelsekrets 6D, vars utgang aktiveras vid likhet mellan den via ovannämnda adressingang ll överförda adressen, vilken utpekas fran de adressbitpositio- ner 18 som ingar i den andra databehandlingsenhetens instruktionsminne 15 och en av de under en avsökningsoperation fran hjälpminnets adressbitpositioner S8 lästa adresserna. Den andra jämförelsekretsen är ansluten till den första ingangen hos en sjätte AND grind 61, vars andra ingang är ansluten till ovannämnda styrgrind 56, och vars utgang är ansluten till första ingangen hos en sjunde AND styrgrind 62. Utgangen hos styrgrind 62, vilken pa sin andra ingang mottager de i hjälpminnets bitpositioner 50 undanlagrade läsmarkeringarna utgör ovannämnda aterstartsignalutgang 26 och är ansluten till en rader OR grind 63. Fran en aktiverad styrgrind 62 erhaller den i figur2 visade OR grinden 27 en aterstartsignal. Fran en aktiverad rader OR grind 63 erhaller 10 15 2D 25 30 454 920 10 avsökningsanordningen 42 en raderorderpuls pa grund av vilken omedelbart makuleras samtliga i hjälpminnet undanlagrade adressinformationer.
Man erhåller, att en radering av hjälpminnet och en aterstart av exekveringen av den andra sekvensen genomföres om man paträffar en undanlagrad första kategori läsinstruktion vars tillhörande adress överensstämmer med den adress som tillhör en skrivinstruktion, vilken utpekas under exekveringen av den första sekvensen. Raderingen erfordras därför att den tillhörande databehandlíngs- enheten har pa grund av den paträffade första katergoris instruktionen mottagit från sitt separatminne datainformation, som den inte hade mottagit om man konsekvent hade tagit hänsyn till den pa förhand bestämda ordningsföljden, d v s om man inte hade utpekat parallellt instruktionerna i den första och i den andra se kvensen.
Undanlagringsenheten omfattar en andra NOR grind 64, vars ingangar är anslutna till ovannämnda identifieringssignalingangar 10 och 33 och vars inver- terande utgång är ansluten till OR grind 43. Dä den första och den andra sekvensens utpekningar är avslutade beordras följaktligen en avsökningsopera- tion, vilken emellertid är resultatlös hos den undanlagringsenhet som ingar i den databehandlíngsenhet, vilken har exekverat den första sekvensen. En åttonde AND styrgrind 65 har sina ingångar anslutna till NOR grindarna 48 och 64 och sin utgång ansluten till rader OR grind 63. Man erhåller en raderorderpuls da den medelst NOR grind 64 igangsatta avsökningsoperationen är avslutad.
Under den sistnämnda avsökningsoperationen alstrar den andra sekvensens undanlagringsenhet uppdateringsinformation, vilken utgörs av samtliga under exekveringen av den andra sekvensen utpekade och undanlagrade skrivadresser.
De fran hjälpminnets bitpositioner 49 lästa skrivmarkeringarna mottages av en nionde AND styrgrind 66, vilken har sin andra ingang ansluten till NOR grind 64 och vars utgang är ansluten via en uppdaterings OR grind 67 till ovannämnda orderterrninal 39 hos uppdateringsenheten 3. Medelst en andra AND grind- anordning 68, vars aktiveringsingang är ansluten till utgangen hos styrgrind 66, överförs de fran hjälpminnets adressbitpositioner 58 lästa uppdateringsadresser- na via en OR grindanordning 69 till ovannämnda orderterminal40 hos uppda- teringsenhe ten 3. 10 15 20 ZS 30 35 454 920 ll En tionde AND styrgrind 70, vars första ingång mottager de i hjälpminnets bitpositioner 49 undanlagrade skrivmarkeringarna, har sin andra ingång ansluten till utgången hos styrgrind 61 och sin ovannämnda uppdateringsutgång 13 ut görande utgång ansluten till en tredje ingång hos stopp OR grinden 51. Man erhåller, att den på grund av aktiveringen av styrgrind 56 igångsatta avsök- ningsoperationen stoppas om medelst den andra jämförelsekretsen 60 fastställes likhet mellan en under den första sekvensens exekvering utpekad skrivadress och en av de i hjälpminnet under den andra sekvensens exekvering undanlagrade skrivadresserna.
Den i figur3 visade undanlagringsenheten omfattar slutligen en elfte AND styrgrind 71, vars första respektive medelst en pulsbakflank aktiverad andra ingång är ansluten till ovannämnda identifieringssignalingång 31 respektive terminal 36, vars tredje ingång är inverterande och utgör ovannämnda upp- dateringsingång lä, och vars utgång är ansluten till uppdaterings OR grind 67 och till aktiveringsingången hos en tredje AND grindanordning 72, vilken har sin ingång ansluten till undanlagringsenhetens terminal 37 och sin utgång ansluten till OR grindanordningen 69. Följaktligen överför OR grind 67 och OR grind- anordning 69 hos den undanlagringsenhet, vilken är tillordnad den första sek- vensen, som uppdateringsinformation en under den första sekvensens exekvering utpekad och i denna sekvens ingående skrivadress, om inte denna skrivadress är undanlagrad i det den andra sekvensen tillordnade hjälpminnet.
Om det till exempel skrivs data i en den första sekvensen tillordnad och medelst adressen A3 åtkomlig separatminnesplats, vore det fel att uppdatera den andra sekvensens separatminne då , som det enligt ovan har antagits, denna skriv- adress A3 har dessförinnan undanlagrats i den andra sekvensens hjälpminne. Om det däremot gäller en uppdatering på grund av en i den första sekvensen ingående skrivinstruktion med adress A4 och om som det enligt ovan har antagits, denna adress Ali har dessförinnan undanlagrats i den andra sekvensens hjälpmirgne dels som tillhörande en första kategoris läsinstruktion och dels som tillhörande en skrivinstruktion, raderas hjälpminnets innehåll när man på träffar läsadressen Ali. Därför aktiveras inte styrgrind 70 hos den andra sekvensens undanlagringsenhet, så att det på det ovan beskrivna sättet genomförs en korrekt uppdatering av det den andra sekvensen tillordnade separatminnet medelst styrgrind 71 hos den första sekvensens undanlagringsenhet och under användning av adress A4. 10 'l5 20 454 920 12 Enligt ett på ritningen inte visat undanlagrings- och uppdateringsförfarande undanlagras i respektive hjälpminnet den första sekvensens skrivadresser och den andra sekvensens skrivinstruktioner, d v s skrivadresser ooh tillhörande datainformation. Jämförelsen mellan var och en av de undanlagrade skriv- adresserna tillhörande den första sekvensen och var och en av de undanlagrade läsadresserna tillhörande den andra sekvensen genomförs parallellt med upp- dateringen av den andra sekvensens separatminne då den första sekvensens instruktionsutpekníngar är avslutade, varvid en aterstart av den andra sekven- sens exekvering beordras pà grund av en vid jämförelsen fastställd adresslikhet.
Uppdeteríngen av separatminnet tillhörande den första sekvensen genomförs med hjälp av de undanlagrade skrivinstruktionerna tillhörande den andra sekven- sen då den andra sakvensens instruktionsutpekningar är avslutade.
Medelst det sistnämnda undanlagrings- och uppdateringsförfarandet erhålles en höjning av databehandlingskapacíteten medelst den föreslagna parallellexekve- ringen av båda sekvenser endast om man inte tvingas att àterstarta den andra sekvensens exekvering.
Som helhetsverkan uppnår man medelst databehandlingsenheternas undanlag- ringsenheter, att den första och den andra sekvensen slutgiltigt exekveras i den pa förhand avgjorda ordningsföljden felfritt, trots att man inledningsvis har beordrat att exekvera båda sekvenser parallellt.

Claims (4)

1D 15 20 25 454 920 13 PATENTKRAV
1. l. Sätt att i en pa förhand avgjord ordningsföljd exekvera tva instruktione- sekvenser, varvid exekveringen av den första respektive andra sekvensen omfattar utpekning av läsinstruktioner som innehåller var sin läsadress för hämtning av datainformation, vilken är lagrad i en av ett flertal medelst var sin adress åtkomliga minnesplatser hos ett första respektive andra separatminne, samt utpekning av skrivinstruktioner som innehåller var sin skrivadress och datainformation för överföring av datainformationen till en medelst skrivadres- sen atkomlig och respektive sekvens tillordnad separatminnesplats, varvid sekvensernas separatminnesplatser uppdateras sinsemellan med hänsyn till ord- ningsföljden och med hänsyn till de utpekade skrivinstruktionerna, och varvid i samband med exekveringen av den pa grund av ordningsföljden andra sekvensen används dataínformation som är icke pa förhand garanterat oberoende av den datainformation som erhålles i samband med exekveringen av den pa grund av ordningsföljden första sekvensen, kännetecknatdärawattman a) utan hänsyn till ordningsföljden exekverar parallellt instruktionerna i bada sekvenser, b) undanlagrar en adress, vilken erhålles pa grund av en läsinstruktion som utpekas under den andra sekvensens exekvering, om denna adress dessförinnan inte har utpekats i samband med exekveringen av den andra sekvensens skrivinstruktioner, c) genomför en beroendejämförelse mellan den undanlagrade läsadressen och var och en av de skrívadresser som erhålles pa grund av exekveringen av den första sekvensens skrivinstruktioner, och d) aterstartar exekveringen av den andra sekvensen om en adresslikhet fast- ställes medelst nämnda beroendejämförelse.
2. Sätt enligt patentkrav 1, k ä n n e t e c k n a t därav, att man 454 920 1D 10 15 14 a) undanlagrar en skrivadress, vilken erhålles pa grund av en skrivinstruktion som utpekas under den andra sekvensens exekvering, b) genomför en uppdateringsjämförelse mellan den undanlagrade skrivadressen och var och en av de skrivadresser som utpekas under den första sekvensens exekvering, c) uppdaterar det andra separatminnet i samband med varje exekvering av en den första sekvensen tillhörande skrivínstruktion, om ingen adresslikhet fast- ställes medelst nämnda uppdateringsjämförelse, och d) förhindrar en uppdatering av det andra separatminnet, om adresslikhet fastställes medelst nämnda uppdateringsjämförelse.
3. Anordning för att enligt patentkrav 1 exekvera tva instruktionssekvenser i en på förhand avgjord ordningsföljd, omfattande en första startkrets (7, 26, 29) för att starta exekveringen avden på grund av ordningsföljden första sekvensen och en första respektive andra instruktionsminnesenhet (4) för att lagra den pa grund av ordningföljden första respektive andra sekvensen och för att en i taget utpeka de lagrade instruktionerna, viiken är ansluten till en första respektive andra separatminnesenhet (l, 20), vars minnesplatser är åtkomliga för data- informationsläsning/skrivning medelst från den tillhörande instrukt-jionsminnes- enhetens läs/skrivadressbitpositioner(17, 18, 21) utpekade läs/skrivadresser, varvid en uppdateringsenhet (3) uppdaterar sekvensernas separatminnesplatser sinsemellan med hänsyn till ordningsföljden och med hänsyn till de utpekade skrivinstruktionerna, och varvid i samband med exekveringen av den andra sekvensen används datainformation som är icke pà förhand garanterat oberoen- de av den datainformation som erhålles i samband med exekveringen av den första sekvensen, k ä n n e t e c k n a d därav, att anordningen omfattar a) en andra startkrets (B, 26, 27) för'att starta den andra sekvensen, vars första aktiveringsingàng (8) är ansluten till nämnda första startkrets, 20 25 30 10 15 454 920 15 b) en hjälpminnesenhet (41, 42) som ingângsidigt är ansluten till den andra instruktionsminnesenheten och so.m omfattar läsadressbitpositioner (50, 58) för att undanlagra en adress, vilken erhålles på grund av en läsínstruktion som utpekas under den andra sekvensens exekvering, om denna adress dessförinnan inte har utpektas i samband med exekveringen av den andra sekvensens skrivinstruktioner, och c) en beroendejämförelsekrets (56,60,6l,62), vars ena jämförelseterminaler (ll,lZ) är anslutna till den första instruktionsminnesenhetens skrivadressbitposi- tioner (l8,2l), vars andra jämförelseterminaler är anslutna till hjälpminnesenhe- tens nämnda läsadressbitpositioner (5058) och vars till en andra aktiveríngsin- gäng hos nämnda andra startkrets ansluten utgang (28) aktiveras vid överens- stämmelse mellan de pà beroendejämförelseterminalerna mottagna adresserna.
4. Anordning enligt patentkrav 3, k ä n n e t e c k n a t därav, att hjälpminnesenheten omfattar skrivadressbítpositioner (4958) för att undan- lagra en adress, vilken erhålles på grund av en skrivinstruktion som utpekas under den andra sekvensens exekvering att anordningen vidare omfattar en uppdateringsjämförelsekrets (56,60,6l,60), vars ena järnförelseterminaler 01,12) är anslutna till den första instruktions- minnesenhetens skrivadressbitpositioner (l8,2l), vars andra jämförelsetermina- ler är anslutna till hjälpminnesenhetens nämnda skrivadressbitpositioner 019,58) och vars utgång sänder ett första respektive andra logiskt uppdateringssignal- tillstànd på grund av olikhet respektive likhet mellan de pà uppdateringsjäm- förelseterminalerna mottagna adresserna, och att anordningen dessutom omfattar en uppdateríngsstyrkrets (67,69,7l,72), vilken aktiveras respektive desaktiveras vid mottagning av nämnda första respektive andra uppdateringssignaltillstànd, vars ingangsterminaler är anslutna till den första instruktionsminnesenhetens skrivadressbitpositioner (l8,2l) och vars utgangsterminaler 09,40) är anslutna till uppdateringsenheten (3).
SE8604222A 1986-10-03 1986-10-03 Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen SE454920B (sv)

Priority Applications (17)

Application Number Priority Date Filing Date Title
SE8604222A SE454920B (sv) 1986-10-03 1986-10-03 Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen
MX008506A MX168943B (es) 1986-10-03 1987-09-24 Metodo y dispositivo para ejecutar dos secuencias de instrucciones en un orden determinado con anticipacion
JP62506082A JPH01500936A (ja) 1986-10-03 1987-09-28 予め定まった順序で2つの命令列を実行する方法と装置
BR8707481A BR8707481A (pt) 1986-10-03 1987-09-28 Processo e aparelho para executar duas sequencias de instrucao numa ordem determinada de atencao
DE8787906633T DE3774119D1 (de) 1986-10-03 1987-09-28 Verfahren und vorrichtung zur ausfuehrung von zwei befehlsfolgen in einer im voraus bestimmten reihenfolge.
US07/192,512 US4985826A (en) 1986-10-03 1987-09-28 Method and device to execute two instruction sequences in an order determined in advance
PCT/SE1987/000438 WO1988002514A1 (en) 1986-10-03 1987-09-28 Method and device to execute two instruction sequences in an order determined in advance
EP87906633A EP0287600B1 (en) 1986-10-03 1987-09-28 Method and device to execute two instruction sequences in an order determined in advance
PT85810A PT85810B (pt) 1986-10-03 1987-09-28 Processo e dispositivo para executar duas sequencias de instrucoes segundo uma ordem predeterminada
AU80370/87A AU589047B2 (en) 1986-10-03 1987-09-28 Method and device to execute two instruction sequences in an order determined in advance
GR871512A GR871512B (en) 1986-10-03 1987-09-30 Method and device to execute two instruction sequences in an order determined in advance
TNTNSN87107A TNSN87107A1 (fr) 1986-10-03 1987-09-30 Procede et dispositif pour executer deux sequences d'instructions dans un ordre determine a l'avance
ES8702816A ES2005371A6 (es) 1986-10-03 1987-10-02 Metodo y aparato para ejecutar dos secuencias de instrucciones en un orden predeterminado.
NO882196A NO173718C (no) 1986-10-03 1988-05-19 Fremgangsmaate og innretning for utfoerelse av to instruksjonssekvenser i en orden som er bestemt paa forhaand
FI882469A FI93908C (sv) 1986-10-03 1988-05-25 Sätt och anordning för att i en på förhand avgjord ordningsföljd exekvera två instruktionssekvenser
DK300888A DK168415B1 (da) 1986-10-03 1988-06-02 Fremgangsmåde og indretning til udøvelse af to instruktionssekvenser i en på forhånd fastlagt rækkefølge.
KR1019880700624A KR920006768B1 (ko) 1986-10-03 1988-09-28 사전에 결정된 순서대로 두개의 명령시이퀀스를 실행하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE8604222A SE454920B (sv) 1986-10-03 1986-10-03 Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen

Publications (3)

Publication Number Publication Date
SE8604222D0 SE8604222D0 (sv) 1986-10-03
SE8604222L SE8604222L (sv) 1988-04-04
SE454920B true SE454920B (sv) 1988-06-06

Family

ID=20365823

Family Applications (1)

Application Number Title Priority Date Filing Date
SE8604222A SE454920B (sv) 1986-10-03 1986-10-03 Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen

Country Status (17)

Country Link
US (1) US4985826A (sv)
EP (1) EP0287600B1 (sv)
JP (1) JPH01500936A (sv)
KR (1) KR920006768B1 (sv)
AU (1) AU589047B2 (sv)
BR (1) BR8707481A (sv)
DE (1) DE3774119D1 (sv)
DK (1) DK168415B1 (sv)
ES (1) ES2005371A6 (sv)
FI (1) FI93908C (sv)
GR (1) GR871512B (sv)
MX (1) MX168943B (sv)
NO (1) NO173718C (sv)
PT (1) PT85810B (sv)
SE (1) SE454920B (sv)
TN (1) TNSN87107A1 (sv)
WO (1) WO1988002514A1 (sv)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454921B (sv) * 1986-10-03 1988-06-06 Ellemtel Utvecklings Ab Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instuktionssekvenser
US5280615A (en) * 1990-03-23 1994-01-18 Unisys Corporation Out of order job processing method and apparatus
JP2786574B2 (ja) * 1992-05-06 1998-08-13 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
GB9305263D0 (en) * 1993-03-15 1993-05-05 Univ Westminster Parrallel computation
JPH07334372A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
JP4160705B2 (ja) * 1999-10-15 2008-10-08 富士通株式会社 プロセッサ及びプロセッサシステム
FI114428B (sv) * 2001-12-13 2004-10-15 Nokia Corp Förfarande och system för insamlande av räkneverksdata i ett nätelement
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier

Family Cites Families (11)

* 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 (sv) * 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 情報処理装置
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
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system

Also Published As

Publication number Publication date
FI93908B (sv) 1995-02-28
EP0287600A1 (en) 1988-10-26
PT85810B (pt) 1993-08-31
FI882469A0 (sv) 1988-05-25
AU8037087A (en) 1988-04-21
DK300888D0 (da) 1988-06-02
FI882469A (sv) 1988-05-25
DE3774119D1 (de) 1991-11-28
GR871512B (en) 1987-10-01
NO173718B (no) 1993-10-11
PT85810A (pt) 1988-11-30
AU589047B2 (en) 1989-09-28
ES2005371A6 (es) 1989-03-01
EP0287600B1 (en) 1991-10-23
BR8707481A (pt) 1988-12-06
MX168943B (es) 1993-06-15
DK300888A (da) 1988-06-02
KR920006768B1 (ko) 1992-08-17
DK168415B1 (da) 1994-03-21
NO173718C (no) 1994-01-19
FI93908C (sv) 1995-06-12
NO882196L (no) 1988-05-19
SE8604222L (sv) 1988-04-04
US4985826A (en) 1991-01-15
WO1988002514A1 (en) 1988-04-07
JPH01500936A (ja) 1989-03-30
NO882196D0 (no) 1988-05-19
TNSN87107A1 (fr) 1990-01-01
SE8604222D0 (sv) 1986-10-03
KR880701912A (ko) 1988-11-07

Similar Documents

Publication Publication Date Title
US2968027A (en) Data processing system memory controls
US4028683A (en) Memory patching circuit with counter
EP0444544B1 (en) Updating or restoring method for stored data groups and system executing same
CN1698032B (zh) 从非线性存储器引导
US4521850A (en) Instruction buffer associated with a cache memory unit
EP0526029B1 (en) Read and write circuitry for a memory
GB888732A (sv)
US3539996A (en) Data processing machine function indicator
GB1454198A (en) Multi-level information processing system
US4638457A (en) Method and apparatus for the non-volatile storage of the count of an electronic counting circuit
SE454920B (sv) Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen
US3286236A (en) Electronic digital computer with automatic interrupt control
US5483491A (en) Memory card device
US5307470A (en) Microcomputer having EEPROM provided with detector for detecting data write request issued before data write operation responsive to preceding data write request is completed
FI93907B (sv) Sätt och anordning för att i en på förhand avgjord ordningsföljd exekvera två instruktionssekvenser
US4338662A (en) Microinstruction processing unit responsive to interruption priority order
US3142043A (en) Information handling apparatus for distributing data in a storage apparatus
US3699535A (en) Memory look-ahead connection arrangement for writing into an unoccupied address and prevention of reading out from an empty address
US3344404A (en) Multiple mode data processing system controlled by information bits or special characters
US3609700A (en) Data processing system having an improved fetch overlap feature
US3248702A (en) Electronic digital computing machines
US4008461A (en) Apparatus for correcting and adding data to that taken from a mechanical data carrier
US3417375A (en) Circuitry for rotating fields of data in a digital computer
EP0048848B1 (en) Device controlled by programmed modular controller means with selfchecking
EP0030981A1 (en) Numerical control device

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 8604222-3

Format of ref document f/p: F

NUG Patent has lapsed

Ref document number: 8604222-3

Format of ref document f/p: F