FI93907B - Sätt och anordning för att i en på förhand avgjord ordningsföljd exekvera två instruktionssekvenser - Google Patents

Sätt och anordning för att i en på förhand avgjord ordningsföljd exekvera två instruktionssekvenser Download PDF

Info

Publication number
FI93907B
FI93907B FI882468A FI882468A FI93907B FI 93907 B FI93907 B FI 93907B FI 882468 A FI882468 A FI 882468A FI 882468 A FI882468 A FI 882468A FI 93907 B FI93907 B FI 93907B
Authority
FI
Finland
Prior art keywords
sequence
instruction
write
address
execution
Prior art date
Application number
FI882468A
Other languages
English (en)
Finnish (fi)
Other versions
FI882468A0 (sv
FI93907C (sv
FI882468A (sv
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
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of FI882468A0 publication Critical patent/FI882468A0/sv
Publication of FI882468A publication Critical patent/FI882468A/sv
Publication of FI93907B publication Critical patent/FI93907B/sv
Application granted granted Critical
Publication of FI93907C publication Critical patent/FI93907C/sv

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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Description

93907 Sätt och anordning för att i en pä förhand avgjord ord-ningsföljd exekvera tvä instruktionssekvenser
Tekniskt omräde 5 Föreliggande uppfinning hänför sig tili ett sätt och en anordning för att i en pä förhand avgjord ordnings-följd exekvera tvä instruktionssekvenser, varvid exekve-ringarna omfattar utpekning av läsinstruktioner som inne-häller var sin läsadress för hämtning av datainformation, 10 vilken är lagrad i en av ett flertal medelst var sin ad-ress ätkomliga huvudminnesplatser, samt utpekning av skrivinstruktioner som innehäller var sin skrivadress och datainformation för överföring av datainformationen tili en medelst skrivadressen ätkomlig huvudminnesplats, och 15 varvid i samband med exekveringen av den pä grund av ord-ningsföljden andra sekvensen används datainformation som är icke pä förhand garanterat oberoende av den datainformation som erhälles i samband med exekveringen av den pä grund av ordningsföljden första sekvensen.
20 Teknikens ständpunkt
En trivial konventionell lösning av ovannämnda in-formationshanteringsproblem bestär däri, att man startar exekveringen av den sekvens som enligt ovan och i det föl-jande kallas den andra sekvensen först dä exekveringen av 25 den sekvens som enligt ovan och i det följande kallas den första sekvensen är avslutad. Denna triviala lösning er-hälles naturnödvändigt hos ett databehandlingssystem, vil-ket medelst en enda processor styrs sä att sekvenserna exekveras en i taget under användning av för bäda sekven-30 ser gemensamma huvudminnesplatser.
; ; Det är känt att höja databehandlingskapaciteten genom att parallellexekvera instruktionssekvenser. Sä länge sekvenserna är pä förhand garanterat oberoende av varandra ästadkommes felfritt parallellarbete med hjälp 35 av sä kallad pre-processing eller multi-processing, eller « • · 2 93907 även med hjälp av ett en-processorsystem, vilket omfattar minst tvä databehandlingsenheter för exekvering av var sin instruktionssekvens. Det är känt att realisera informa-tionshanteringen bäde medelst ett huvudminne som är gemen-5 samt för ett flertal databehandlingsenheter och medelst ett flertal separatminnen, vilka tillhör var sin databe-handlingsenhet och vilka dä och dä uppdateras sinsemellan.
Vid förekomst av känsliga instruktionssekvenser, vilka päverkar varandra och därför mäste exekveras i en 10 föreskriven ordningsföljd används tili exempel enligt tid-skrift "Computer Design, August 15, 1985, pp 76-81" eller enligt "Balance 8000 System Technical Summary, Sequent Computer Systems, Inc" programspräk, kompilatorer och sek-vensmaskinvara för att parallellbearbeta av varandra obe-15 roende sekvenser medan parallellbearbetning av de känsliga sekvenserna förhindras.
Redogörelse för uppfinningen
Som det har nämnts inledningsvis, hänför sig före-liggande uppfinning till datainformationshantering under 20 användning av ett för bäda sekvenser gemensamt huvudminne. Vid den föreslagna informationshanteringen exekverar man bäda sekvenser parallellt utan att tili att börja med taga hänsyn tili den pä förhand avgjorda ordningsfölj den. För att säkerställa den föreskrivna ordningsfÖ1Jden är det 25 emellertid nödvändigt, att man under pägäende exekvering av den första sekvensen förhindrar att tili huvudminnes-platserna överföres datainformation som erh&lles pä grund av utpekade den andra sekvensens tillhörande skrivinstruk-tioner. Den andra sekvensens beroende av den första sek-30 vensen bevakas och den föreskrivna ordningsföljden ästad-j kommes medelst en undanlagringsenhet som omfattar ett hjälpminne samt jämförelsekretsar.
I hjälpminnet undanlagras adresser som erhälles pä grund av läsinstruktioner, vilka utpekas under den andra 35 sekvensens exekvering. Man jämför varje under den första »· 3 93907 sekvsensens exekvering utpekad skrivadress med var och en av de i hjälpminnet undanlagrade läsadresserna. Sä länge ingen adresslikhet fastställs, används under den andra sekvensens exekvering ingen datainformation som är beroen-5 de av den under den första sekvensens exekvering erhälinä datainformationen. Men om under den andra sekvensens exekvering har hämtats frän en huvudminnesplats information som sedan korrigeras pä grund av den första sekvensen tillhörande skrivoperation, d v s om de tvä sekvenserna 10 inte längre är oberoende av varandra, raderar man hjälpminnet och igängsätter den andra sekvensens instruktions-utpekningar pä nytt. Aterstarten av den andra sekvensens exekvering sker dä i en tidpunkt dä en första del av den första sekvensen redan är exekverad och dä följaktligen 15 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 skrivinstruktio-ner, vilka utpekas under den andra sekvensens exekvering. 20 Man jämför varje under den andra sekvensens exekvering utpekad läsadress med var och en av de i hjälpminnet undanlagrade skrivadresserna. Om härvid ingen adresslikhet fastställs hämtas datainformation frän den huvudminnesplats som är ätkomlig medelst den aktuella läsadressen, :. 25 medan datainformationen, som är tillordnad den aktuella adressen hämtas frän hjälpminnet, om adresslikhet fastställs.
När den första sekvensen är slutexekverad överför man den i hjälpminnet undanlagrade datainformationen till 30 de huvudminnesplatlser som är ätkomliga medelst de lika-: ledes undanlagrade tillhörande skrivadresserna.
Vid användning av den föreslagna informationshan-terinten erhäller man en höjning av databehandlingskapa-citeten om den andra sekvensens exekvering är oberoende 35 av ätminstone de instruktioner som utpekas vid slutet av • 4 93907 den första sekvensens exekvering. Kapacitetshöj ningen för-bättras ytterligare om man i hjälpminnet undanlagrar en utpekad adress som läsadress enbart om denna adress dess-förinnan under den andra sekvensens exekvering inte har 5 förekonunit som en skrlvadress.
Uppfinningensn kännetecken framgär av patentkra- ven.
Figurbeskrivning
Uppfinningen förklaras närmare under hänvisning 10 till blfogad ritning, vars flgur 1 visar tvä via ett buss-system tili ett gemensamt huvudminne anslutna databehand-lingsenheter. Ritningens figur 2 visar mera detaljerat än figur 1 en instruktionsminnesanordning, en start- och identifieringskrets, och ett grindnät, vilka ingär i en 15 databehandlingsenhet. Ritningens figur 3 visar en i en databehandlingsenhet ingäende undanlagringsenhet.
Föredragen utförinqsform
Ett databehandlingssystem enligt Figur 1 omfattar ett huvudminne 1 för att lagra datainformation som behand-20 las av minst tvä databehandlingsenheter 2, vilka via ett bussystem 3 är anslutna tili huvudminnet. Databehandlings-enheterna exekverar var sin instruktionssekvens för att styra tillordnade i Figur 1 icke visade funktionsenheter vid genomförandet av tillordnade systemfunktioner. Beroen-l 25 de pä om databehandlingsenheterna styrs av en gemensam processor eller om varje enhet omfattar ett antal proces-sorer, erhäller man ett i princip konventionellt en- eller multiprocessorsystem, i vllket ingär en gemensam buss och ett gemensamt huvudminne. Ett dylikt ett flertal databe-30 handlingsenheter och en buss omfattande databehandlings-: system beskrivs till exempel i Intels "APX”286 Hardware
Reference Manual" och i en Electronics, March 22, 1984, artikel "Backup support gives VMW bus powerful multiprocessing architecture".
35 Figur 1 visar pä ett med hänsyn till föreliggande • ·
II
5 93907 uppfinning vittgäende förenklat sätt tvä databehandlings-enheter 2 för att i en pä förhand avgjord ordningsföljd exekvera ovannämnda första och andra instruktionssekven-ser. Utöver en konventionell instruktionsminnesanordning 5 4 för att utpeka i ett instruktionsminne lagrade instruk- tioner en i taget omfattar varje databehandlingsenhet en start- och identifieringskrets 5 för att ange om den egna sekvensen utgör den första oberoende eller den möjligen oberoende andra sekvensen, en undanlagringsenhet 6 för att 10 undanlagra i instruktionerna ingäende adresser och datain-formation, som används emellertid enbart hos den databehandlingsenhet som exekverar den andra sekvensen, samt ett grindnät 7 för att styra databehandlingsenhetens an-slutning tili bussystemet 3.
15 Det kommer att framgä frän den senare beskriv- ningen, att bussystemets belastning ökas nägot pä grund av de erforderliga instruktionsundanlagringarna, men det antages att bussystemets ätkomstkapacitet mot databehand-lingsenheterna och mot huvudminnet är sädant att den to-20 tala databehandlingen kan genomföras störningsfritt 1 den pä förhand avgjorda ordningsföljden. Av bussystemet visar Flgur 1 en flerbitsadressbuss 8, en ledning 9 för att överföra skrivsignaler, och en flerbitsidatabuss 10. Det antydes vldare, att databussen är dubbelriktat ansluten 25 tili huvudminnet 1 och databehandllngsenheterna 2, medan adressbussen 8 och skrivsignalledningen 9 är enkelriktat anslutna tili huvudminnets adresseringskrets 11 och skriv-aktiveringsingäng 12, vars mottagning av en adress och en skrivsignal föranleder att databussens innehäll överförs 30 tili en medelst adressen ätkomlig huvudminnesplats. Vid : mottagning av enbart en adress överförs frän huvudminnet data, som är lagrade i en medelst adressen ätkomlig huvudminnesplats, via databussen 10 tili den adressändande da-tabehandlingsenheten. Databehandlingsenheternas start-35 och identifieringskretsar 5 är försedda med var sin start- 6 93907 signalutgäng 13 som är ansluten tili den andra startkret-sens startsignalingäng 14. Därmed antydes den längre ner beskrivna och vid den föreslagna informationshanteringen använda möjligheten att exekvera parallellt bäda sekven-5 ser.
Slutligen visas i Figur 1 att identifieringskret-sarna 5 är försedda med var sin identifieringssignalutgäng 15 som är ansluten tili en första identifieringssignalin-gäng 16 hos den andra databehandlingsenhetens undanlag-10 ringsenhet 6.
Figur 1 visar inte de konventionella bufferterin-gar och aktiveringar, vilka genomförs i samband med data-överföringarna mellan databehandlingsenheterna och bussys-temet, vilket - som det kommer att beskrivas senare - an-15 vänds även för att överföra adresser och skrivsignaler mellan databehandlingsenheterna.
Figur 2 visar mera utförligt än Figur 1 nägra da-tabehandlingsenhetsdetaljer, vars kännedom behövs för för-stäelsen av den föreslagna informationshanteringen.
20 Instruktionsminnesanordningen 4 omfattar ett in- struktionsminne 17 för att lagra en instruktionssekvens, vilken medelst en utpekningsanordning 18 utläses frän in-struktionsminnet, en instruktion i taget, pä grund av ak-tivering av en av utpekningsanordningens utgängar.
25 Sekvensen omfattar tre instruktionstyper. Den första typen, fortsättningsvis kallad "läsinstruktion", vilken identifieras medelst en binär "l"satt läsbitposi-tion 19, används för att beordra att hämta data frän en huvudminnesplats tili vilken ätkomst erhälles med hjälp 30 av en i ett antal adressbitpositioner 20 lagrad adress, • tili exempel AI, vilken ingär i den läsbitmärkta instruk- tionen. Den andra instruktionstypen, fortsättningsvis kallad "skrivinstruktion", vilken identifieras medelst en "l"satt skrivbitposition 21, används för att beordra att 35 i en huvudminnesplats skriva data, tili exempel D2, vilka
II
7 93907 ingär i den skrivbitsmärkta instruktionen och lagras i ett antal databitpositioner 22, under användning av en ad-ress, till exempel A2, vilken ocksä ingär i den skrivbit-märkta instruktionen och lagras i adressbitpositionerna 5 20. Den tredje instruktionstypen, vilken identifieras me- delst "0"satta bitpositioner 19 och 21, används för att beordra en informationshantering utan läsning fr Δη eller skrivning i huvudminnet. Användningen av den information, till exempel SI, som lagas i de bitpositioner 20 och 22, 10 som tillhör en tredje typs instruktion, ligger utanför uppfinningens ram, men Figur 2 visar en första OR grind 23, som ingär i nämnda grindnät 7 och vars ingängar är an-slutna tili bitpositionerna 19 och 21 och vars utgäng är ansluten tili en inverterande aktiveringsingäng hos en 15 första AND grindanordnirig 24, vilken i aktiverat tillstAnd överför innehället, tili exempel SI, hos bitpositionerna 20 och 22 direkt tili databehandlignsenheten. Instruktio-ner av den tredje typen belastar varken bussystemet eller huvudminnet, vilka därför kan vara gemensamma för ett an-20 tai databehandlingsenheter utan att ställa allt för Stora hastighetskrav ρΔ huvudminnet och bussystemet.
Databehandlingsenheternas start- och identifie-ringskretsar 5 omfattar enligt Figur 2 var sin andra och tredje OR grind 25 och 26. Grind 25 har sin ena ingΔng an-:. 25 sluten till utgängen hos grind 26, vars ingängar är an-slutna tili ovannämnda startsignalingΔng 14 och tili en ΔterstartsignalutgΔng 27 hos den i samma databehandlings-enhet ingäende undanlagringsenheten 6. Databehandlingsen-heterna omfattar var sin ρΔ Figur 2 inte visad startsig-30 nalgenerator, vars utgΔng via en startkretsterminal 28 är • ansluten tili den andra ingängen hos grind 25, till ovan nämnda startsignalutgäng 13 och tili sättingängen hos en första vippa 29 vars utgAng utgör ovannämnda identifie-ringssignalutgäng 15. En andra vippa 30 har sin sättingäng 35 ansluten tili utgΔngen hos grind 26 och sin utgΔng anslu- I · 8 93907 ten till en andra identifieringssignalingäng 31 hos den egna databehandlingsenhetens undanlagrinsenhet 6. Grinden 25 utpekar i aktiverat tillständ en instruktion av tredje typen som är en startinstruktion med innehäll SI, pä grund 5 av vilken databehandlingsenheten igängsätter medelst sin utpekningsanordning 18 den tillhörande instruktionssekven-sexekveringen. Det antages att den i instruktionsminnet 17 lagrade sekvensen avslutas i samband med aktiveringen av utpekningsanordningsutgäng 32, vilken är ansluten tili 10 nämnda vippors 29 och 30 äterställingängar.
Exekveringen av den första sekvensen sättes igäng av den egna startsignalgeneratorn. Följaktligen identifie-rar en binär "1" pä den första vippans 29 utgäng, att den egna sekvensens instruktionsutpekningar pägär och att den 15 egna sekvensen är den första sekvensen. En binär "1" pä den andra vippans 30 utgäng identifierar, att den egna sekvensens instruktionsutpekningar pägär och att den egna sekvensen är den andra sekvensen. Enligt uppfinningen ut-pekas instruktionerna i bäda sekvenser parallellt, vilket 20 tili exempel ästadkommes medelst en startsignalöverföring frän den startsignalutgäng 13 som tillhör den första sekvensen tili den startsignalingäng 14 som tillhör den andra sekvensen.
De frän instruktionsminnet 17 utpekade instruktio- • 25 nerna överförs tili databehandlingsenhetens grindnät 7 och via terminaler 33-36 til databehandlignsenhetens undanlag-ringsenhet 6. Varje grindnät 7 omfattar en andra AND grin-danordning 37 för att i aktiverat tillständ överföra via en första OR grindanordning 38 innehället hos adress-, 30 skriv- och data-bitpositionerna 20-22 tili busssystemets • adressbuss, skrivsignalledning och databuss 8-10. Grindanordning 37 har sin aktiveringsingäng ansluten tili ut-gängen hos en f järde OR grind 39, vars ena respektive andra ingäng är ansluten tili utgängen hos en första respek- 35 tive andra AND styrgrind 40 respektive 41. Styrgrind 40 «
II
9 93907 har sin första ingäng ansluten till instruktionsminnets skrivbitposition 21 och sin andra ingäng ansluten till den första vippans 29 utgäng. Styrgrind 41 har sin första ingäng ansluten till instruktionsminnents läsbitposition 5 19 och sin andra inverterande ingäng ansluten till en ka- tegorisignalutgäng 42 hos undanlagrinsenheten 6.
Det konuner att beskrivas längre ner, att det finns en första och en andra kategori bland de läsinstruktioner som utpekas under exekveringen av den andra sekvensen, att 10 den första respektive andra kategorin identifieras medelst en via nämnda kategoriutgäng 42 överförd binär "0" respektive "1", samt att nämnda utgäng 42 sänder en binär "0" om den tillhörande databehandlingsenheten exekverar den första sekvensen. Följaktligen aktiveras grindanordningen 37 15 pä grund av samtliga läs- och skrivinstruktioner som utpekas under exekveringen av den första sekvensen samt pä grund av en första kategoris läsinstruktion. Men grindan-ordning 37 aktiveras inte pä grund av en tredje typs instruktion eller en skrivinstruktion som utpekas under exe-20 kveringen av den andra sekvensen eller en andra kategoris läsinstruktion.
Varje grindnät omfattar vidare en tredje AND grinddanordning 43 för att i aktiverat tillständ överföra via en andra OR grindanordning 44 datainformation som er-25 hälles frän en terminal 45 hos undanlagringsenheten 6 och som hanteras av den tillhörande databehandlingsenheten. Grindanordningen 43 har sin aktiveringsingäng ansluten tili nämnda kategorisignalutgäng 42. OR grindanordningen 44 har sin andra ingäng ansluten till bussystemets data 30 buss 10. Vid utpekning av en andra kategoris instruktion : hämtas alltsä datainformation inte frän huvudminnet 1 utan frän undanlagringsenheten 6.
Slutligen omfattar varje grindnät 7 en fjärde AND grindanordning 46 för att i aktiverat tillständ överföra 35 data- och adressinformation samt skrivsignaler frän ut- 10 93907 gAngsterminaler 45, 47 och 48 hos den samma databehand-lingsenhet tillhörande undanlagringsenheten 6 tili bussys-temet 3. Aktiveringen av grindanordningen 46 kommer att beskrlvas 1 samband med beskrivningen av undanlagringsen-5 heten.
Flgur 3 vlsar en undanlagringsenhet som omfattar ett hjälpminne 49, vars kolumner för att undanlagra via nämnda terminaler 33 - 36 överförda datainformation, läs-och skrivadresser utpekas för skrivning, läsning och ra-10 dering medelst en avsökningsanordnign 50. Det kommer att beskrlvas, att hjälpminnet raderas när den tillhörande in-struktionssekvensen är slutexekverad.
Framkanten av en avsökningspuls, som utsändes frAn en femte OR grind 51, nollställer avsökningsanordningen. 15 Atkomst tili hjälpminnets kolumner erhAller medelst fram-kanterna av stegpulser, som alstras av en stegtaktgenera-tor 52 och överförs via en aktiverad stegnings AND grind 53 till avsökningsanordningens stegterminal 54. Pulserna sändes även tili en läsaktiveringsterminal 55, varigenom 20 kolumnernas innehAll läses ett i taget.
Undanlagringsenheten enligt Figur 3 omfattar en första NOR grind 56, vars ingAngar mottager de i hjälpminnets skriv- och läsbitpositioner 57 och 58 undanlagrade skriv- och läsmarkeringar och vars inverterande utgAng är 25 via en stopp OR grind 59 ansluten till en inverterande in-gAng hos stegnings AND grind 53 och tili första ingAngar hos en tredje och fjärde AND styrgrind 60 och 61, vars ut-gAngar är anslutna till OR grind 51. Styrgrind 60 har sin andra ingAng ansluten tili en femte AND styrgrind 62, vars 30 första ingAng är ansluten tili ovannämnda identifierings-: signalingAng 31 och vars andra ingAng via en första styr- terminal 63 är ansluten tili utgAngen hos ovannämnda första OR grind 23.
Följaktligen alstras avsökningspulser endast i den 35 undanlagringsenhet som ingAr i den databehandlingsenhet, 11 93907 som exekverar den andra sekvensen. En avsöknlngsoperatlon beordras vld utpeknlng av en läs- eller skrlvlnstruktion. Man erhäller stegnlngsstopp dä det läses en ledlg kolumn, d v s en kolumn som är varken skriv- eller läsmarkerad.
5 Förutsättning för att starta en avsöknlng är att den före-gäende stegnlngen har blivit stoppad.
Nämnda första NOR grind 56 är via en skriv OR grind 64 ansluten till avsökningsanordningens skrivaktiv-eringsingäng 65. Det antages, att en skrivinstruktion med 10 tillhörande adress A3 och data D3/1 samt en läsintruktion med tillhörande adress A4 utgör den andra sekvensens första och andra mot huvudminnet riktade instruktioner, vilka pä det beskrivna sättet undanlagras i hjälpminnets första och andra kolumn, vars bitpositioner 57 och 58 dessförin-15 nan har värit "0"satta.
Styrgrind 61 har sin andra ingäng ansluten tili en sjätte AND styrgrind 66, vars första ingäng är ansluten tili ovannämnda första identifieringsingäng 16 och vars andra ingäng via en första bussterminal 67 är ansluten 20 tili bussystemets skrivsignalledning 9. Därmed beordras en avsöknlngsoperatlon hos den andra sekvensens undanlag- ringsenhet även vid utpekning av en den första sekvensen tillhörande skrivinstruktion. Stegtaktgeneratorns 52 takt- frekvens antages vara sä pass hög relativt tili instruk- ·· 25 tionsutpekningshastigheten, att man hinner att genomföra » samtliga via nämnda styrgrindar 62 och 66 beordrade av-vsökningsoperationer.
Undanlagringsenheten omfattar en första jämförel-sekrets 68, vars utgäng aktiveras vid likhet mellan den 30 via terminal 36 frän instruktionsminnet 17 erhällna adres-* sen och en av de under en avsöknlngsoperatlon frän hjälp minnets adressbitpositioner 69 Iästä adresserna. En sjunde AND styrgrind 70 har sin utgäng ansluten till stopp OR grind 59, sin enda ingäng ansluten tili den första jämfö-35 relsekretsens 68 utgäng och mottager pä sin andra ingäng » 12 93907 de 1 hjälpminnets skrivbitpositioner 57 undanlagrade skrivmarkerlngar. Man erhäller, att en avsöknlngsoperatlon stoppas om en f rän instruktionsminnet utpekad läs-, eller skrlvadress överensstämmer med en undanlagrad skrlvadress.
5 Skrlv OR grind 64 har sin andra ingäng ansluten tili utgängen hos en ättonde AND styrgrind 71, vars första ingäng är ansluten tili den första j ämförelsekretsen och vars andra och tredje ingängar mottager de i hjälpminnets skrivbitpositioner 57 undanlagrade skrivmarkeringarna och 10 den via terminal 34 frän instruktionsminnet 17 utpekade skrivmarkeringen. Om en frän instruktionsminnet utpekad skrivaderss, till exempel A3, överensstämmer med en undanlagrad skrlvadress, uppdateras den kolumn i hjälpminnet, vid vilken den pä grund av den utpekade skrivadressen ge-15 nomförda avsökningen har stoppats, sä att tili exempel hjälpminnets första kolumn undanlagrar efter uppdateringen datainformation D3/2 i hjälpminnets databitpositioner 72.
Styrgrind 70 har sin utgäng ansluten tili den ena ingängen hos en nionde AND styrgrind 73, vars andra ingäng 20 mottager den via terminal 33 frän instruktionsminnet 17 utpekade läsmarkeringen och vars utgäng utgör ovannämnda kategorisignalutgäng 42, vilken följaktligen har överfört en binär "0" tili ovannämnda styrgrind 41 och grindanord-nlng 42 i samband med undanlagringen av adressen A4 i • 25 hjälpminnets andra kolumn. Det antages, att utpekningen av läsinstruktionen med tillhörande adress A4 upprepas en första gäng efter utpekningen av ett antal i Figur 3 inte visade instruktioner med andra adresser än A3 och A4. Man erhäller, att den en första gäng upprepade utpekningen in-30 te resulterar i en binär "l"satt kategorisignalutgäng 42 och ett avsökningsstopp pä grund av en medelst den första jämförelsekretsen 68 fastställd adresslikhet, sä att den en första gäng upprepade läsinstruktionen undanlagras en andra gäng i en kolumn, vars bitpositioner 57 och 58 dess-35 förinnan har värit "0" satta. Den andra sekvensens läsin- 13 93907 struktioner med tillhörande adress Ax kallas första kate-gorls instruktioner om dom utpekas innan sanuna adress Ax förekommer hos den andra sekvensen i samband med utpeknin-gen av en skrivinstruktion. En binär "0"satt utäng 42 5 ldentlfierar en första kategorls Instruktion.
Det antages, att en skrivinstruktion med tillhörande adress A4 och data D4 utpekas efter utpekningen av ovannämnda en första gäng upprepad läsinstruktion och av ett antal 1 Figur 3 inte visade instruktioner med andra 10 adresser än A3 och A4. Man erhäller, att denna skrivinstruktion undanlagras i en dessförinnan ledig kolumn. Det antages vidare, att utpekningen av läsinstruktionen med tillhörande adress A4 upprepas en andra gäng efter utpekningen av nämnda skrivinstruktion med adressen A4. Man er-15 häller ett avsökningsstopp i samband med läsning av den undanlagrade skrivinstruktionen med adressen A4. Man er-häller ingen uppdatering, d v s man bibehäller skrivmarke-ringen i bitpositioner 57 och genomför ingen läsmarkering i bitposition 58, och man erhäller en binär "l"satt kate-20 gorisignalutgäng 42, varmed den en andra gäng upprepade läsinstruktionen med tillhörande adress A4 identifieras som en andra kategoris instruktion. Följaktligen innehäl-ler hjälpminnet Inga andra kategoris instruktioner, vars utpekningar emellertid resulterar i att den i Figur 2 vi- *. 25 sade styrgrinden 41 stoppar instruktionsöverföringen tili m bussystem 3, samt att den datainformation, tili exempel D4, vilken läses i samband med det tillhörande avsöknings-stoppet frän hjälpminnets databitpositioner 72, överförs tili databehandlingsenheten via de i Figur 2 visade grin-30 danordningarna 43 och 44.
: Undanlagringsenheten omfattar en andra jämförelse- krets 74, vars utgäng aktiveras vid likhet mellan den via en andra bussterminal 75 frän adressbussen 8 erhällna adressen och en av de under en avsökningsoperatlon frän 35 hjälpminnets adressbitpositioner 69 Iästä adresserna. Den 14 93907 andra jämförelsekretsen är ansluten till den första in-gängen hos en tionde AND styrgrind 76, vars andra ingäng är ansluten tili ovannämnda styrgrind 66, vars tredje ingäng mottager de i hjälpminnets bitpositioner 58 undanlag-5 rade läsmarkeringarna och vars utgäng utgör ovannämnda äterstartsignalutgäng 27 och är ansluten tili en rader OR grind 77. Frän en aktiverad styrgrind 76 erhäller den i Figur 2 visade OR grinden 26 en äterstartsignal. Frän en aktiverad rader OR grind 77 erhäller avsökningsanordningen 10 50 en raderorderpuls, pä grund av vilken omedelbart maku- leras samtliga i hjälpminnet undanlagrade adress- och da-. tainformationer.
Man erhäller, att en radering av hjälpminnet och en äterstart av exekveringen av den andra sekvensen genom-15 förs om man päträffar en undanlagrad första kategoris läs-instruktion, vars tillhörande adress överensstämmer med den adress som tillhör en skrivinstruktlon, vilken utpekas under exekveringen av den första sekvensen. Raderingen er-fordras därför att den tillhörande databehandlingsenheten 20 har pä grund av den päträffade första kategoris instruk-tionen mottagit frän huvudminnet datainformation, som den inte hade mottagit om man konsekvent hade tagit hänsyn tili den pä förhand bestämda ordningsföljden, d v s om man inte hade utpekat parallellt instruktionerna i den första 25 och i den andra sekvensen.
Undanlagringsenheten omfattar en andra NOR grind 78, vars ingängar är anslutna tili ovannämnda identifie-ringssignalingängar 16 och 31 och vars inverterande utgäng är ansluten till OR grind 51. Dä den första och den andra 30 sekvensen utpekningar är avslutade beordras följaktligen : en avsökningsoperation, vilken emellertid är resultatlös hos den undanlagringsenhet som ingär i den databehand-lingssenhet, vilken har exekverat den första sekvensen. Utgängen hos NOR grind 78 är ansluten tili den första in-35 gäng hos en elfte AND styrgrind 79, vars andra ingäng mot- 15 93907 tager de i hjälpminnets bitpositioner 57 undanlagrade skrlvmarkerlngarna, och vars utgäng är ansluten via en andra styrterminal 80 till ovannämnda grindanordning 46. Man erhäller, att den medelst NOR grind 78 igängsatta av-5 sökningsoperationen resulterar i att samtliga i hjälpmin-net undanlagrade skrivinstruktioner överförs via termina-lernsa 45, 47 och 48, via grindanordningarna 46 och 38, och via bussystemet 3 till huvudminnet 1.
Slutligen visar undanlagringsenheten enligt Figur 10 3 en tolvte AND styrgrind 81, vars ingängar är anslutna till NOR grindanra 56 och 78 och vars utgäng är ansluten till rader OR grind 77. Man erhäller en raderorderpuls dä den medelst NOR grind 78 igängsatta avsökningsoperationen är avslutad.
15 Som helhetsverkan uppnär man medelst undanlag ringsenheten, att den första och den andra sekvensen slut-giltigt exekveras i den pä förhand avgjorda ordningsfölj-den felfritt trots att man inledningsvis har beordrat att exekvera bäda sekvenser parallellt.
• · 16 93907
Patentkrav 1. Förfarande för användning av en dator för att exekvera en första och en andra instruktionssekvens, vil-5 ken dator omfattar ett hjälpminne och ett centralminne omfattande ett antal medelst adresser utpekbara minnes-platser, vilka instruktionssekvenser exekveras i en förut-bestämd ordning, varvid den första sekvensen logiskt kan exekveras före den andra sekvensen/ varvid bäda instruk-10 tionssekvenserna innehäller ätminstone en läsinstruktion och en skrivinstruktion, varvid den nämnda ätminstone ena läsinstruktionen omfattar en läsadress för avhämtning av datainformation frän en av centralminnets minnesplatser som kan utpekas med hjälp av nämnda läsadress, varvid 15 nämnda ätminstone ena skrivinstruktion omfattar datainformation och en motsvarande skrivadress, som definierar en minnesplats i centralminnet tili vilken nämnda skrivin-struktions datainformation skall överföras, varvid datain-formationen som krävs för att exekvera den andra sekvensen 20 inte nödvändigtvis är oberoende av datainformationen som erh&lles som ett resultat av exekveringen av den första sekvensen, kännetecnat av följande skeden: a) exekvering av instruktioner i bäda sekvenserna . oberoende av den förutbestämda ordningsföljden för sekven- :25 sernas exekvering; b) under den första sekvensens exekvering förhin-dras överföring tili centralminnet av data som erhälles pä basen av exekveringen av den andra sekvensens nämnda ät-minstone ena skrivinstruktion, och istället, dä dk nämnda .30 ätminstone ena skrivinstruktion utpekas under exekveringen av den andra sekvensen, lagras den andra sekvensens nämnda ätminstone ena skirivinstruktionens skrivadress och datainformation temporärt i nämnda hjälpminne; c) jämförande av varje läsadress som utpekats under 35 exekveringen av den andra sekvensen med alla temporärt 11 17 93907 lagrade skrivadresser, och ifall nämnda läsadress inte är densamma som nigon adress som har utpekats under exekve-ringen av nigon av den andra sekvensens skrivinstruk-tioner, lagring av den andra sekvensens nämnda itminstone 5 ena läsinstruktions läsadress temporärt i nämnda hjälpmin-ne, i annat fall generering av en första signal di nämnda jämförda läsadress är densamma som en av de temporärt lagrade skrivadresserna, förhindrande dä nämnda första signal är mottagen, avläsning av datainformation frin centralmin-10 nets minnesplats som kan utpekas med nämnda jämförda läsadress , och istället avläsande frin nämnda hjälpminne den temporärt lagrade datainformationen som motsvaras av nämnda skrivadress; d) ytterligare jämförande av skrivadressen som ut-15 pekats under exekveringen av den första sekvensens varje skrivinstruktion med alla temporärt lagrade läsadresser och generering av en andra signal di nämnda jämförda skrivadress är densamma som en av de temporärt lagrade läsadresserna; 20 e) iterexekvering av den andra sekvensen som svar pi genereringen av den nämnda andra signalen; och f) överföring av ali temporärt lagrad datainformation som svar pi slutförandet av den första sekvensen tili centralminnet tili minnesplatser som utpekas av de motsva--’25 rande temporärt lagrade skrivadresserna.
2. Anordning för att enligt patentkrav 1 exekvera tvi instruktionssekvenser i en pi förhand avgjord ord-ningsföljd, omfattande en första startkrets (13, 25, 28) för att starta exekveringen av den pi grund av ordnings-30 följden första sekvensen och en första respektive andra instruktionsminnesenhet (4) för att lagra den pi grund av ordningsföljden första respektive andra sekvensen och för att en i taget utpeka de lagrade instruktionerna, vilka instruktionsminnesenheter är anslutna via ett bussystem 35 (3) tili en huvudminnesenhet (1, 11) vars huvudminnesplat- 18 93907 ser är ätkomliga för datainformationsläsning/skrivning medelst frän instruktionsminnesenheternas läs/skrivadress-bitpositioner (19, 20, 21) utpekade läs/skrivadresser, varvid i samband med exekveringen av den andra sekvensen 5 används datainformation som är icke pä förhand garanterat oberoende av den datainformation som erhälles i samband med exekveringen av den första sekvensen, kanne-t e c k n a d därav, att anordningen omfattar a) en andra startkrets (14, 25, 26) för att starta 10 den andra sekvensen, vars första aktiveringsingäng (14) är ansluten tili nämnda första startkrets, b) en första instruktionsöverföringskrets (37, 38, 39, 41), vilken ingängsidigt respektive utgängsidigt är ansluten tili den andra instruktionsminnesenheten respek- 15 tive bussystemet och vilken under pägäende exekvering av den första sekvensen desaktiveras pä grund av utpekningen av en i den andra sekvensen ingäende skrivinstruktion, c) en hjälpminnesenhet (49, 50), vars ingängster-minaler (33-36) är anslutna tili den andra instruktions- 20 minnesenheten och vilken omfattar data- och skrivadress-bitbitpositioner (57, 69, 72) för att undanlagra en skriv-adress och datainformation som erhälles pä grund av en skrivinstruktion som utpekas under den andra sekvensens exekvering samt läsadressbitpositioner (58, 69) för att *25 undanlagra en adress, vilken erhälles som en läsadress pä grund av en läsintruktion som utpekas under den andra sekvensens exekvering, om denna adress dessförinnan inte har utpekats i samband med exekveringen av den andra sekvensens skrivinstruktioner, .30 d) en omkopplingsjämförelsekrets (68, 70, 73), vars ena jämförelseterminaler är anslutna tili den andra in-struktionsminnesenhetens läsadressbitpositioner (19,20), vars andra jämförelseterminaler är anslutna tili hjälpmin-nesenhetens nämnda skrivadressbitpositioner (57, 69) och 35 vars utgäng sänder ett första respektive andra logiskt om- I! 19 93907 kopplingssignaltillständ p& grund av olikhet respektive likhet mellan de pä omkopplingsjämförelseterminalerna mot-tagna adresserna, e) en dataomkopplare (37, 38, 39, 41, 44), vars ena 5 dataingäng är ansluten tili bussystemet, vars andra data-ingäng är ansluten tili hjälpminnets databitpositioner (72) och vars styringängar är anslutna tili utgingen hos omkopplings jämförelsekretsen, för att pä grund av nämnda första omkopplingssignaltillständ hämta datainformation 10 fr&n den huvudminnesplats som är ätkomlig medelst den av omkopplingsjämförelsekretsen mottagna läsadressen och för att pä grund av nämnda andra omkopplingssignaltillständ hämta frän hjälpminnet den datainformation som tillhör den av omkopplingsjämförelsekretsen mottagna skrivadressen, 15 f) en beroendejämförelsekrets (66, 74, 76), vars ena jämförelseterminaler (16, 75) mottager de under den första sekvensens exekvering utpekade skrivadresserna, vars andra jämförelseterminaler är anslutna tili hjälpmin-nesenhetens nämnda läsadressbitpositioner (58, 69) och 20 vars tili en andra aktiveringsingäng hos nämnda andra startkrets ansluten utgäng (27) aktiveras vid överensstäm-melse mellan de pä beroendejämförelseterminalerna mottagna adresserna, och g) en andra instruktionsöverföringskrets (38, 46, *25 78, 79), vilken ingängsidigt respektive utgängsidigt är ansluten tili hjälpminnets data- och skrivadressbitposi-tioner (57, 69, 72) respektive bussystemet (3) och vilken aktivernas dk exekveringen av den första sekvensen är avs-lutad.
FI882468A 1986-10-03 1988-05-25 Sätt och anordning för att i en på förhand avgjord ordningsföljd exekvera två instruktionssekvenser FI93907C (sv)

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
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
SE8700437 1987-09-28

Publications (4)

Publication Number Publication Date
FI882468A0 FI882468A0 (sv) 1988-05-25
FI882468A FI882468A (sv) 1988-05-25
FI93907B true FI93907B (sv) 1995-02-28
FI93907C FI93907C (sv) 1995-06-12

Family

ID=20365824

Family Applications (1)

Application Number Title Priority Date Filing Date
FI882468A FI93907C (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

Country Status (20)

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

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 (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 情報処理装置
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
KR880701913A (ko) 1988-11-07
SE454921B (sv) 1988-06-06
DE3777632D1 (de) 1992-04-23
PT85811B (pt) 1993-08-31
TNSN87108A1 (fr) 1990-01-01
SE8604223D0 (sv) 1986-10-03
FI882468A0 (sv) 1988-05-25
BR8707473A (pt) 1988-09-13
MA21073A1 (fr) 1988-07-01
MX159991A (es) 1989-10-23
FI93907C (sv) 1995-06-12
DK300788A (da) 1988-06-02
IE872506L (en) 1988-04-03
IE61307B1 (en) 1994-10-19
AU596234B2 (en) 1990-04-26
DK168135B1 (da) 1994-02-14
ES2005370A6 (es) 1989-03-01
WO1988002513A1 (en) 1988-04-07
CN87106765A (zh) 1988-04-20
EP0285634B1 (en) 1992-03-18
SE8604223L (sv) 1988-04-04
JPH01500935A (ja) 1989-03-30
GR871511B (en) 1987-10-01
PT85811A (pt) 1988-11-30
US4956770A (en) 1990-09-11
DK300788D0 (da) 1988-06-02
CA1289670C (en) 1991-09-24
CN87106625A (zh) 1988-04-13
FI882468A (sv) 1988-05-25
KR920006769B1 (ko) 1992-08-17
IE61306B1 (en) 1994-10-19
EP0285634A1 (en) 1988-10-12
AU8036587A (en) 1988-04-21
IE872505L (en) 1988-04-03

Similar Documents

Publication Publication Date Title
US4028683A (en) Memory patching circuit with counter
US3576544A (en) Storage protection system
CN1698032B (zh) 从非线性存储器引导
EP0444544B1 (en) Updating or restoring method for stored data groups and system executing same
FI93907B (sv) Sätt och anordning för att i en på förhand avgjord ordningsföljd exekvera två instruktionssekvenser
SE445269B (sv) Dator med indexerat lokalt direktminne
GB1454198A (en) Multi-level information processing system
GB888732A (sv)
US3594732A (en) General purpose digital computer
US11119948B2 (en) Memory protection circuit and memory protection method
WO1988002887A1 (en) An improved content addressable memory
EP0182126B1 (en) Directing storage requests during master mode operation
EP0385487A2 (en) Interrupt controller for multiprocessor systems
FI93908B (sv) Sätt och anordning för att i en på förhand avgjord ordningsföljd exekvera två instruktionssekvenser
KR100377608B1 (ko) 데이터 처리장치 및 데이터 처리방법
US4827400A (en) Segment descriptor present bit recycle and detect logic for a memory management unit
US6263412B1 (en) Method and apparatus for RAM emulation using a processor register set
EP0213306B1 (en) Isolating idle loop for cartridge insertion/removal
JPS6319058A (ja) メモリ装置
EP0424031B1 (en) Method and system for dynamically controlling the operation of a program
KR910001114B1 (ko) 디스크 캣슈 시스템
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
SE515461C2 (sv) Metod och arrangemang för minneshantering
CN115480835A (zh) 程序启动方法和设备、存储介质
Neumann Disk-based program swapping in 8080-based microcomputers

Legal Events

Date Code Title Description
BB Publication of examined application
MM Patent lapsed

Owner name: OY L M ERICSSON AB