SE444235B - Databehandlingsanleggning med en centralprocessor som har for en anvendare tillgengligt styrminne - Google Patents

Databehandlingsanleggning med en centralprocessor som har for en anvendare tillgengligt styrminne

Info

Publication number
SE444235B
SE444235B SE7904063A SE7904063A SE444235B SE 444235 B SE444235 B SE 444235B SE 7904063 A SE7904063 A SE 7904063A SE 7904063 A SE7904063 A SE 7904063A SE 444235 B SE444235 B SE 444235B
Authority
SE
Sweden
Prior art keywords
wcs
cpu
firmware
address
bus
Prior art date
Application number
SE7904063A
Other languages
English (en)
Other versions
SE7904063L (sv
Inventor
K H Terakawa
W E Woods
Original Assignee
Honeywell Inf Systems
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 Honeywell Inf Systems filed Critical Honeywell Inf Systems
Publication of SE7904063L publication Critical patent/SE7904063L/sv
Publication of SE444235B publication Critical patent/SE444235B/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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

an' a ëf. n. fi: .L p, “79o4oss-o i ; 10 15 29 30 35 H0 1 ""'_I-_____IIFIIIQIIQmUmmmIIIIIIIIIIfIIIIIIIIIIIIIIIIIIIIIIII: Å 1 , É 2 L A ren till den andra. Den gör det möjligt för mikroprogrammeraren att É förbättra CPU's ursprungliga fast-programvarašför att åstadkomma en Q anordning som är ekvivalent med en för kunden speciellt byggd, A specialiserad central processor. Programrutiner (eller program) som Å är avsedda att köras utan WCS-funktionen är opåverkade av dennas 5 existens. Med effektiva instruktioner i fastšprogramvara kan en användare förbättra de totala prestanda för den centrala processor- enheten (CPU) med ett minimum av programomvandling.
Mikroprogrammering och speciellt ett skrivbart styrminne är beskrivna i en bok med titeln "Microprogrammingz Principles and Practice" av Samir Si Bussen, 1970, Prentice-Hall, inc. Dessutom beskrives i amerikanska patentskriften R GRZ 072 av 1977-08-16 ett datorsystem i vilket ett skrivbart styrminne används som tillägg till det i den centrala processorn befintliga inre styrminnet.
Ett huvudändamál med uppfinningen är mot bakgrund härav att åstadkomma ett förbättrat skrivbart styrminne för användning i ett databehandlingssystem, vilket skrivbara styrminne möjliggör utökning av systemets prestanda på grundval av varje särskild användares behov. - En databehandlingsanläggning enligt uppfinningen innefattar A. en central processorenhet som har ett första styrminne för att lagra styrningsord avsedda att användas för att styra processorenhetens funktion; B. ett styrminnesorgan som innehåller ett andra stvrminne för att lagra styrningscrd avsedda att användas för att styra processorenhetens funktion; I \ C. en elektrisk buss för att förbinda processorenheten med styrminnesorganet; t I ü. ett i stïrminnesorganet ingående mottagningaorgan för att É via nämnda buss ta emot en adress från styrminnesorganet och inst- t ruktioner och data från processorenheten; E E. i styrminnesorganet ingående överföringsorgan för att via É nämnda buss överföra ett adresserat ord av nämnda styrningsord från ä det andra styrminnet till processorenheten; Å L F. ett första kopplingsorgan för att koppla processorenheten Å för att överföra en adress för nämnda andra minne till styrminnes~ 5 organet; samt Å _ à G. ett andra kopplingsorgan för att koppla styrminnesorganet É för att överföra ett adresserat styrningsord av nämnda styrningsord " från det andra minnet till processorenheten. __> _«,=;~ , ,._._, _ _» ,_ .m ¿¿ _~.~,:,¿- W' ._~..¿_ _ akwsnifldalwsuálmsf-»eaeawaaawßimaimausaammzß 10 15 20 IN) U! 30 35 BO ,: ~ -fl _. _. . _ e . _ . _. i.. ...e..~.._s..-..,«-..... . 7904063-0 Uppfinningen skall i det följande närmare beskrivas i anslut- ning till på bifogade ritning med fig. 1 - 28 visade utföringsexem- ä pel. §¿5¿_1 är ett blockschema som visar den omgivning i vilken É uppfinningen används. Fig. 2 är ett allmänt blockschema över minnes-_§ anordningen enligt uppfinningen. Fig. 3 är ett detaljerat blocksche- å ma över minnesanordningen enligt uppfinningen. Pig. H visar formatetffi för laddningsminnesanordningens (WCS) kommando som används i samband É med minnesanordningen enligt uppfinningen Fig. 5 visar formatet för i det skriv-RAM-ordkommando som används i samband med minnesanord- ningen enligt uppfinningen. Fíg. 6 visar formatet för det HCS-in- gångskommando ("splash branoh"-kommando, i det följande kallat N inhoppsgkommandol som används i samband med minnesanordningen enligtifi uppfinningen. §ig¿_1 visar formatet för det "åter till_PROM"-kom- 'T mando som används i samband med minnesanordningen enligt uppfin- q ningen..Fig. 8 visar formatet för det läs-RAM-kommando som används iš samband med minnesanordningen enligt uppfinningen, samt svaret på f detta. Fig. 9 visar tre fält av ett fast-programvaru-ord som användsšš i samband med lagringsanordningen enligt uppfinningen. §¿¿¿_lg visarë en typisk laddningssekvens som används i samband med minnesanord- g ningen enligt uppfinningen. Fig. 11 t.o.m. lå visar flödessehemor för olika kommandon som används i samband med minnesanordningen enligt uppfinningen. Fig. 1? visar den logik som används för att åstadkomma den grundläggande tidgivningen för minnesanordningen enligt uppfinningen. Fig. T8 visar den logik som används för utökadeï CPU-cykler som alstras i samband med minnesanordningen enligt É uppfinningen. Fig. 19 visar den RAM-läs/skriv-tidgivningslogik som används i anslutning till minnesanordningen enligt uppfinningen.
Fig. 20 visar formatet för den adress som används för åtkomst av information i minnesanordningen enligt uppfinningen. §ig¿_§l visar logiken för den multiplexerstyrningslogik vilken används i samband med minnesanordningen enligt uppfinningen. Fig. 22 är ett logikdia- gram som visar det s.k. inhopps-adress-registret som används i samband med minnesanordningen enligt uppfinningen. Fi . 2 visar i M detalj logiken för ökningssteg-adressräknaren och den återgång från É subrutin-registret som används i samband med minnesanordningen ” enligt uppfinningen. Fig. Zü är ett detaljerat logiksohema över den _ buss-svarslogik som ingår i den buss-styrningslogik vilken används iš samband med minnesanordningen enligt uppfinningen. Pig. 25 visar i É detalj logiken för den buss-adressräknare som används 1 samband med f minnesanordningen enligt uppfinningen. Fig.'26 visar detaljerna av É 10 15 30 35 G0 79o4oss-o H _ omkopplaren mellan ”transparent mod" och "sekvens-mod” som används 1 samband med minnesanordningen enligt uppfinningen. Fig. 27 visar detaljerna av den PROM/RAM-styrlogik som används i samband med minnesanordningen enligt uppfinningen, och fig. 28 slutligen visar detaljerna av en alternativ utföringsform av en del av den i fig. 23 visade logiken.
Det skrivbara styrminnet (HCS) 10 i fig. 1 förbättrar den tillhörande centrala processorn (CPU) 12 genom att tillhandahålla ytterligare lagringskapacitet för fast programvara som kan ändras genom programinstruktioner för att tillgodose användarens speciella Detta för processorn att tföra av krav. särdrag gör det möjlig användaren definierade instruktioner som dirigerar maskinvaru-opera- tionerna i enlighet med den av användaren tillskapade och i det ändringsbara minnet införda fasta programvaran. Nämnda WCS ersätter F ej den fasta programvaran för den standardiserade CPU-instruktions- 3 uppsättningen, men den utgör ett hjälpmedel medelst vilket använda- ren kan komplettera och utöka denna. Fast-programvara som är kodad av användaren för att utföra av användaren definierade instruktioner införes i WCS-minnet via system~bussen 1U med användning av in/utfinstruktioner. En "privat" interface 16 mellan CPU och WCS ger- en direkt väg till CPU för tillämpning av utav användaren åstadkom~ men fast programvara när en av användaren definierad instruktion påträffas. Pig. 1 visar ett typiskt system i vilket en HCS ingår och 4 åskådliggör som exempel andra element såsom ett huvudminne 18 och en m organ-styranordning 29.
Det skrivbara styrminnet (WCS) innehåller ett buss-inter~ face-organ 22, ett av användaren kodat "fast programvara"~minne ZN, tillståndslogik 32, kommando-avkodningslogik 3H och adresslogik 36.
WCS kan även innehålla en tillvalbar provanordning 26 som tillfäl- ligt kan installeras i systemet i enlighet med vad som visas i fig. 2. Det skrivbara styrminnet 10 tolkar funktionskod-kommandon och behandlar dialog via bussen ïü mellan CPU och WCS för laddning av användarens fasta programvara i minnet och för att initiera fast programvara som utför de av användaren definierade instruktionerna.
Provamordningen 26 kan tillfälligt installeras i systemet för att hjälpa användaren med "avlusning" av hans kodade fasta programvara.
Anordningen ifråga visar en bild av den centrala processorenhetens interna buss 28 och den fasta programvarans adress 30 för den aktuella cykeln eller vilken som helst av sexton föregående cykier för den fasta programvaran. Provanordningen kan även användas för =¿-I¿ï-.-.;e=s~.x: '3:ï-,.-:~:}a;._,: 1 10 15 29 30 35 H0 7904063-0 att genomföra enkla cykler av fast programvara och för operationer lg av typen STANNA VID ADRESS.
V Det finns två olika slags operationer som gäller WCS, nämligen (1) laddning av den av användaren kodade fasta programvaran och (2) utförande av rutiner som ingår i den av användaren kodade fasta programvaran. Användarens fasta programvara laddas i WCS-minnet genom utfärdande av in/ut-instruktioner som resulterar i att den i CPU normalt ingående fasta programvaran styr överföringen av data från CPU till WCS via bussen 1N. Separata in/ut-instruktioner _ utfärdas för överföringen av varje ord (t.ex. 16 bitar per ord) till: eller från CPU. Den av användaren kodade fasta programvaran måste V laddas i WCS-minnet 23 innan den kan användas. Användarens fasta program genomföras genom att man läser fast-program-ord från ¿ WCS-minnet ZN och överför dessa till CPU där de behandlas. Innehål-g let i varje fast-program-ord bestämmer adressen till det fast-pro- é gram-ord som därnäst skall verkställas. .För¿införande av denna process måste en av användaren definierad instruktion påträffas under datorprogrammets genomförande. Detta resulterar i att CPU's normala fast-program överför instruktionskoden via dataledningarna i bussen 14 till WCS 19 där den används för att välja en ingångspunkt i användarens fasta program. Härigenom kan användarens fasta program ta över kontrollen över CPU's maskinvara och behandling enligt användarens fasta program påbörjas. j När verkställandet av den av användaren kodade fast-pro- h gram-rutinen har slutförts och kontrollen återlämnas till den i CPU É ingående fast-program-varan, alstrar användaren ett in/ut-utgångs- Ä kommando till WCS vid slutet av sin kodade fast-program-rutin.
Detta kommando kopplar om kontrollen från användarens fast-program- vara till CPU's normala fast~programvara. Denna CPU's normala fast-programvara alstrar automatiskt det kommando som inför behand- ling av användarens fast-programvara, men användaren måste alstra in/ut-instruktionen i sin fast-programvara för att CPU's fast-pro- gramvara skall kunna återta kontrollen.
Användarens fast-programvara kan genomgås i följd genom att verkställas på ettdera av tvâ sätt: (1) WCS-sekvens~mod eller (2) "transparent mod". Vid båda dessa arbetssätt bestämmes nästa fast-programvaru-adress av användarens fast-program-kodning. Vid sekvens-moden är emellertid fast~program-hoppkodningen begränsad, och WCS-logiken är anordnad att via kommando-avkodningslogiken 3& tolka hoppkod-fältet i fast-programvaru-ordet för bestämning av x 10 15 29 FO UI 30 35 RO i19o4c a is-o 6 vilken av fyra källor som innehåller nästa adress. I den "trans- parenta moden" är alla hopp-koder giltiga, och normal, 1 CPU ingå- ende nästa-adress-generator-logik (NAG-logik) tolkar hela fast-pro- gramvaru-ordet och alstrar nästa fast-programvaruadress som överfö- res till WCS.
HCS's båda fast-programvaru-sekvensmoder, transparent och sekvensiell, utesluter ömsesidigt varandra. WCS måste ställas in på antingen det ena eller det andra arbetssättet, medelst en antingen manuellt eller på annat sätt manövrerad omkopplare 95 (se fig. 5).
Skillnaden mellan de båda arbetssätten visar sig i tílldelningen av styrminnesadresser till konsekutiva steg i en fast~programvaru-ru- g tin. I detta avseende tilldelar mikroprogrammeraren för den sekven- siella moden en begynnelseadress, varefter automatisk framstegning av adressen sker för varje nytt steg. Villkorliga hopp represente- V rar val mellan fortsättning av sekvensen ochïvidtagande av annan åtgärd (hopp till speciell position, inkallning av en subrutin ellerj "återhopp").¶ I motsats härtill kommer en mikroprogrammerare som arbetar med transparent kod sällan att tillåta systemtilldelning av f adressen till nästa steg, ej ens när värdenafligger intill varand- d rat Varje steg i den transparenta moden anger uttryckligen adressenš till nästföljande, som kan befinna sig var som helst i den ZOUB H platser innehållande fast-programvaru-bankenl Villkorlíga hopp representerar ett val mellan den sålunda angivna adressen och en alternativ adress. När inget hopp erfordras; alstras i båda arbetseš sätten den erforderliga koden för fortskridande från steg till 1 steg. Det bör emellertid observeras att i den transparenta ebjekt- E -koden är de bitar som anger nästa adress upptagna i nästan varje steg, under det att dessa “itar i den sekvensiella objekt-koden är H outnyttjade utom i det fall att ett hopp erfordras. Denna distínk~ É tion är betydelsefull eftersom vissa av dessa bitar har uppgifter É vid alstring av konstanter medelst fast-programvaran. När behov Ä föreligger att alstra en viss konstant, pålägges därför en restrik- M tion på värdet i nästa adressfält. I det transparenta arbetssättet 2 kräver denna restriktíon en viss extra registrering för att hålla H reda på adress-tilldelningarna. I det sekvensiella arbetssättet försvinner restriktionen när inget samtidigt hopp förekommer; i annat fall kräver det vanligen införande av ett extra fast-pregram- Ä varusteg. Valet mellan de båda arbetssätten grundas vanligen på denê förväntade hopp-frekvensen och frekvensen för konstantutnyttjníng f samt den därav betingade sannolikheten för att dessa stör varandra. Å 10 15 29 FU UT 30 UD 79o4oss-ø dÉ En mera detaljerad bild av WCS visas i fig. 3. Denna figur åskådliggör WCS' maskinvaru-komponenter och dataflödet mellan HCS 10, CPU 12 och den provanordning 26 som man om så önskas kan till- foga.t Samtliga kommandon som avges av CPU till WCS överföres via z systembussen lß. Det "privata" interface-organet mellan CPU och wCSíÉ utgör ett organ genom vilket WCS_direkt kan överföra ord från 3 Provanordningens interface- ,;_' användarens fast-programvara till CPU. »organ möjliggör manuell access till fast-programvaru-minnet.
Huvudkomponenterna av den i HCS befintliga hårdvaran skall nu beskrivas. 9 RCS innehåller system-buss-styrlogiken 63 som kan innefatta mottagare 62 och drivorgan 6R samt ytterligare logik av det slag som Ä är beskrivet i amerikanska patentskriften 3 993 981 av 1976-11-23. V Denna logik möjliggör kommunikation mellan CPU och WCS. WCS tar emot kommando-koder tillsammans med sitt kanalnummer från CPU via bussens lä adresslinjer. Med varje avgivet kommando kan ett sexton ¿ bits dataord mottagas av WCS på samma datalinjer. WCS alstrar CPU'sdš kanalnummer på sina buss-adresslinje-drivorgan. Därför kommer den då att överföra data endast till CPU. Dessa data kan antingen utgöras av WCS identifieringsked, HCS tillståndsbitar eller ett valt dataord (16 bitar) från användarens fast-programvara som är lagrad i det i É HCS ingående direktaccess-minnet 60, i fortsättningen kallat RAM 60,-3 som ingår i fast-programvaruminnet Zü. WCS kommunicerar ej direkt med huvudminnet 18. M WCS=kommandc=avkodaren 3% avkodar den kemmandokod som avges till WCS via bussens lä adresslinjer. Den lagrar kommandotypen och alstrar de erforderliga styrsignalerna för genomförandet av den åtgärd som beordrats av CPU. uDylika kommandon kommer i det fö1jande~ att beskrivas. _ Grundläggande tidgivníng för WCS erhålles direkt från CPU- -huvudklockan (MCLOCK) och mottages på linjen 63. Därigenom säker- ställes att samtliga WCS- och CPU-operationer är synkroniserade.
Inhopps-adress-registret 66 är ett 5-bits register som möjlig- gör tillfällig lagring av ett uppgifts-ord som tillföras på vissa avgå bussens 1U datalinjer när ett "Ingång"-kommando avges till WCS. E Innehållet i detta register används för att bilda den WCS-RAH~adress9É som föranleder ett hopp till det första området i en viss rutin í É användar-fast-programvaran.
Buss-adressräknaren 68 är en lä-bits uppstegande räknare. innehåll används för att adressera WCS~fast-programvaruminnet 2% när § DessfÉ ~»_~,«¿.;¿§==t1gygaf¿ee=qta;_¿aa___.'WA . v. , . _ ._ 4 _ j I __ ' 79o4os3-o' 10 15 20 25 30 35 RO 8 antingen laddning (skrivning) eller läsning sker i användarens fast-programvara via bussen iü. Den laddas från början med ett unikt WCS-kommando och upostegas sedan allteftersom de olika läs- eller skriv-RAM-kommandona verkställes. De två bitarna av lägre ordning i detta register är dataord-pekar-bitar. De utpekar det data-ord (16 bitar) inom det 6ä bitar omfattande fast-program- varu-ordet som behandlas. Detta är nödvändigt eftersom bussen ïfl endast kan behandla ett 16-bits dataord per kommando. Dessa två ä bitar av lägre ordningen mottages för att användas av skrivstyrlogi- É ken 89 och dataväljaren 82. _ V Ökningssteg=adressräknaren 79 är en 12-bits räknare som avgerr en uppstegad fast-programvarufadress för varje CPU-klockcykel. "Återgång-från-subrutin"-registret 72 omfattar 12 bitar och lagrar återgángsadressen för WCS när ett fast-programvara-hopp till en subrutin genomföras. När ett subrutin-återgångshopp genomföres, används den uppstegade adress som är lagrad i detta register för återgång till huvudflödet i användarens fasta programvara.
WCS's användare-fast-programvaruminne ZU innehåller exempelvis två RAM-minnen 60. Varje minne kan exempelvis innehålla 102U områ- den, vardera om SQ bitar. Varje område lagrar 1 fast-pregram- varu-ord för totalt 2k (20U8) områden i fast-programvaruminnet.
Dessa RAMfminnen laddas eller läses med ett dataord (16 bitar) per skriv/läs-kommando. Vid verkställande avges emellertid hela fast- -programvaruordet om GH bitar. _ Adressval=multiplexern (HDX) 74 är en multi-port-multiplexer omfattande 12 bitar. Den väljer den WCS-RAM-adress som ger åtkomst till ett lagrat fast-programvaru-ord. Den valda adressen kan bli ignorerad när den avges till RAM-minnet via direkt-access-mu1tip1e- xernj76.
Direkt-access-multiplexern (MUX) (DADD) 76 är en två-ports 12-bits multiplexer. Den väljer den slutliga adress som av NES avges till RAM-minnena 60. Om den centrala processorenheten detek- terar ett tillstånd som kräver ett fast-programvara-hopp till nästa adress som är kodad i det aktuella fast-programvaru-ordet, meddelar den adress-MUX 76 att den skall välja nästa adressfält (NA) é som är lagrat i hoppadress-registret 78. Eljest väljer multinlexern f 76 utgångsdata från adressval-HDX 7ü för att adressera wCS-fant-pro- f gramvaruminnet 2fl. M Hoppadressregistret 78 lagrar NA-fältet av det aktuella Fast- Dess innehåll används ifall ett hopp till NA ~programvaru-ordet.
M... . ___. _ _, .nte- , _; ¿»,¿¿_, p.. 10 15 20 ID H1 30 35 BO všoaoss-o erfordras.
Data-in-registret 80 omfattar 16 bitar och lagrar det skrivda- i taord (16 bitar) som avges till WCS när fast-programvara laddas in i š fast-programvaruminnet Zß. Det krävs fyra skrivkommandon för att ladda ett fast-programvaruord i RAM-minnet 60. Den 16-bit-position g av fast-programvaruordet som skrivs bestämmas av skrivstyrlogiken 89 Q som avkodar pekar-bitarna i buss-adressräknaren 68. f Dataväljaren 82 är en U-ports 16-bits-multiplexer. emot det 6U-bits fast-programvaruord som läses från fast-program- varuminnet 23 och väljer ett 16-bits dataord i fast-programvaran enligt de pekar-bitar sem är lagrade i bussaadressräknaren 68. Det valda dataordet kan återföras till CPU via bussen 1ß.n Data-utgângsregistret 83 lagrar det valda 16-bits dataord som avges till CPU via bussen 1D. Denna data-väg används när systemet önskar verifiera innehållet i fast-programvaruminnet Zü.
(FROM/RAM-styrlogiken 86 bestämmer huruvida fast-programvaran i CPU's PROM eller användarens i WCS lagrade fast-programvara är aktiviä och styr CPU. Den kontrollyssnar på kommandon som är lagrade i WCS- och CPU-villkoren för att bestämma vilken fast-programvara som _ är aktiverad. _ Tillstånds- och identifieringslogiken 88 avger på kommando WCS~ti11ståndsbitarna eller WCS-identifieringskoden till bussdata- -drivorganen 6ü. 2 Det finns fem stora interface-organ som är förknippade med WCS,i (1) CPUIHCS-styrminnes-interface, (2) Systembuss-inter- WCS/Provorgan-interface och' Den tar nämligen: face, (3) WCS/RAM-minnes-interface, (Hi (5) Provorgan/CPU-interface. Interface-organen (1) och (3) skall nu¶ beskrivas i detalj." Detaljer som hänför sig till nämnda buss-inter i face (2) kan erh llas från den ovannämnda patentskriften coh kommer att diskuteras i det följande. Interface-organen (N) och (5) är ej tillämpliga vid uppfinningen. så - CPU/WCS-styrminnes-interface-organet är ett "privat" data/styr~š -interface mellan WCS och CPU. Det erbjuder en direkt väg mellan å WCS~fast-programvaruminnet 2B och CPU 12. Sextiofyra styrminnes- bitar (d.v.s. fast-programvaru-ord) plus en styrsignal går från WCS ¿ till CPU på ledningarna 90 resp. 92. CPU's nästa-adress-a1strings~ É signaler (11 bitar) på ledningen 9D och CPU-huvudklockan (för då WCS-tidgivning) på ledningen 6% överföras till WCS från CPU. De signaler som bildar CPU/WCS-interface skall nu beskrivas. Huvud~ klocksignalen (tidgivning) på ledningen GR är den grundläggande 7904063-o g w CPU-tidgivningssignalen och den används för att synkronisera CPU och É HCS. Grundläggande WCS-tidgivningssignaler härleds ur denna sig- ¿ nal. Nästa-adress-alstringssignaler (11 bitar) på ledningen 93 matas ut från CPU-nästa-adressbalstringslogiken. Beroende på a 5 hopp-fältet (BR) i fast-programvaru-ordet och HCS-operations-arbets- 2 sättet kan dessa interface-signaler bilda WCS-RAM-access-adressen. T Vid funktion i WCS-sekvensmoden drivs biten av den låga ordningen (NAG011) till "sann" så snart CPU-provlogiken konstaterar att ett hopp till NA-fältadressen erfordras. CPU's nästa-adress-alstrings- 10 logik och provlogik är beskrivna i amerikanska patentskriften H ON? 2%? av 977-G9-G6. PROM-styraktiveringssignalen (PRGMCE) på led- ningen 92 anger när den är "sann" att CPU FROM (CPU fast-prcgram- Ü vara) är aktiverad och att WCS RAM (användarens fast-programvara) är E passiverad. WCS-RAM-styrordet (öü bitar) på ledningen 90 är det V” 15 fast-programvaru-styrord som läses ut från WCS-RAM-minnet. Vid sekvensiellt arbetssätt tolkas de i bitarna H9, 50 och 63 lagrade hopp-typkonerna medelst WCS-logiken och överföras därför till CPU såsom nollor. Vid transparent arbetssätt överföres samtliga 6H bitar i fast-programvaru-styrordet oförändrade till CPU. 20 Interface-organet mellan HSS ech RAM=minnet innehåller samtiig data, adress och styrsignaler som erfordras för att lagra och återvinna fast-programvaru-styrord till och från RAM-minnet.
Interface-organet för vart och ett av RAM-minnena 60 är väsentligen identiskt likadana. Endast signalerna för aktivering och tillgäng- lighet skiljer sig beroende på den geometriska plats som RAMeminnet å upptar i WCS. Data- och adress-signalerna för varje HAM~minne är kablade tillsammans i WCS. Beskrivning över signalerna i WCSIRAM- -interface-organet skall nu lämnas. Två signaler används för att välja antingen det första RÅM-minnet öü-i eller det andra minnet 30 60-2. Dessutom finns två signaler för att bestämma typen av RAM- -minne och två ytterligare signaler finns för att bestämma huruvida det speciella RAM-minnet är installerat. Ett data-ingångsord (16 bitar) sändes till båda RAM-minnena 60 såsom utgångs-skrivdata.
Ordet ifråga skrivs in i det aktiverade RAM-minnet i det omrâde som 35 är definierat av adress-ingången. En adress-ingångsuppgift (10 bitar) sändes till båda RAM-minnena 60 och väljer det område i vilket läsning eller skrivning skall ske. Denna adress är relevant J endast för det aktiverade RAM-minnet. Ett skriv-ord (fyra signaler) É anger i vilken ordeposition i det adresserade RAM-området som T HO ingångsdata skall skrivas in. Varje signal styr en ord-position ílê Å ß) UN I. .r ' y f om t A? : 10 15 20 25 BO 35 H0 »båda RAM-minnena medelst en kabiaa ELLER-koppling. 7904063-0 _ 11 bitar) av det område som skall laddas med ifrågavarande ingångsdata.; Dessa skrivsignaler tillföras till båda Råfleminnena, men de förcrse~ kar inskrivning endast i det aktiverade RAM-minnet. Ett styrninge- ord från RÅM (GM signaler) är det fast-programvaru-styrningsord som i läses från det aktiverade RAM-minnet i det område som är angivet av 2 adress-ingången. Eftersom endast ett RAM-minne är aktiverat vid varje särskild tidpunkt, förknippas RAM-utgångssignalerna från de Systembussen lä är den gemensamma interface som används av CPU g 12 och andra enheter för kommunikation med varandra. Alla buss-ope~É rationer i vilka WCS 10 deltar försiggår dock endast mellan CPU oohd WCS. WCS kommunicerar ej direkt med någon annan enhet. CPU avger samtliga WCS-kommandon och tillhörande data till WCS över denna buss, under det att WCS endast överför data (som svar på ett kom- mando) till CPU via bussen. Samtliga buss-operationer sker på basis av en anynkron buss-cykel. Varje buss-cykel har en styrorganlslav-? Den enhet som avsänder informationen är alltid i När en enhet organ-relation. styrorgan och den mottagande enheten är slavorgan. L önskar överföra information, blir den styrorgan genom att begära en: buss-cykel. Om ingen annan enhet med en högre prioritet begär en buss~cykel kommer den att tilldelas till styrorganet ifråga. När detta tillförsäkrats cykeln, tillför styrorganet slavorganets enhetskanalnummer och datainformation till bussen. Slavenheten känner igen sin kanal, tar emot buss-data o svarssignal. Svarssignalen avslutar buss-cykel _ CPU kan avge endera ingångskommando (läsning från WCS7 eller -L ..-___ ._ __) .--J _. 3.5...
Cn :svarâr meu veußr-uusr' n. utgångskommando (skriv till WCS) till WCS. Det krävs två buss-cyk~_a ler för att läsa information från WCS. I den första cykeln är CPU styrenhet och avger låskommando till WCS med begäran em speciella NCS-data. I den andra buss-cykeln blir WCS styrenhet och de hflgflrnaë data överföres till CPU. För order av utgångstyp krävs endast en gå buss-cykel. För dessa utgångskommandon är CPU alltid styrenhet ooh ä all önskad information överföres till WCS tillsammans med kommandot.É Bussen lä innehåller Zü adressledningar. Styrenheten avger f alltid kanalnumret för slavenheten på adressledningarna 8 t.o.m. ï7 q och kommandokoden på ledningarna 18 t.o.m. 23. Eftersom samtliga r operationer över bussen vilka berör WCS endast är med den C?U till vilken WCS är ansluten, kommer adressbussen alltid att innehålla _ antingen CPU's eller WCS's kanalnummer. Kanalnummertilldelningen 1 för dessa enheter står i direkt relation på grund av deras nära A axla-f 'lilla i ..-. \79o4os3-o 12 funktionella samhörighet. De sista två bitarna i HCS-kanalnusret är D inställda så att de är komplementet till de sista två bitarna i CPU-kanalen. Dessa bitar bestämmes av omkopplare som befinner sig i NCS 10; 5 De kommandon som CPU kan avge till WCS är antingen av ingàngs- D typ eller utgångstyp. I kategorien utgångstyp innefattas följande kommandon: Alnitiera WCS (funktionskoden FC-01), Ladda WCS-adress, 10 Skriv RAM~ord, H65 ingång, och Atergång till PROM.
I ingångs-kategorin återfinnes: Läs RAM-ord, 15 Ingång WCS-tillstånd, och g Ingång WCS ident.
En beskrivning av en del av dessa kommandon återfinnas i det följande. Dessa kommandon avges via bussen 1U med användning av V CPU's fasta programvara som resultat av antingen en av användaren É 20 definierad instruktion eller in/ut~instruktion som är uttagen från huvudminnet. Om en av användaren definierad WCS-programvaruinstruk~ tion är uttagen från huvudminnet, alstrar CPU's fast-programvara että ingångskommando till WCS. Det första ordet (16 bitar) av program» É varu-instruktionen avges till WCS på bussens lä dataledningar som É 25 ett uppgift-ord med HCS-kanalndmret och funktionskoden för ingångs- -kommandot på adressledningarna.
Adress-kommandot ladda WCS medför laddning av en WCS-start~ adress i WCS-bussräknaren 68. Denna adress används för att åstad- komma access till WCS RAM genom ett efterföljande läs- eller skriv- 30 -RAM-ordkommando. Varje område i WCS RAM innefattar fyra 16-bits J/dataordsegment eller sammanlagt GU bitar. När en adress överföras till WCS genom detta kommando utpekar den det första 16-bits data- É ordsegmentet (d.v.s. de längst till vänster befintliga 16 bitarna av? 6U). Därefter följande läs- eller skriv-RAM-ordkommandon stenar uppfi 35 segment-pekaren liksom även WCS-RAM-områdesadressen så att endast : ett "ladda WCS-adress"-kommando erfordras för att ladda ett nndtyek~: ligt antal intill varandra befintliga RAM-minnesområden. Fyra 1 läs- eller skriv-RAM-ordkommandon överför ett område om 6% bitar.
Buss-formatet för kommandot "ladda WCS" visas i fig. H. Biten P på NO databussen måste vara en etta för att ange en WCS-RAM-adress. ..-¿-..,,e_.¿.,,....l. .,. _ _ 10 15 20 30 35 7904063-Ü 13 Kommandot "skriv RAM-ord" medför inskrivning av ett 16 vitare dataordsegment av det ófl bitar långa fast-programvaru-ordet i det för tillfället valda WCS-RAM-området. Väljningsorganet uppstegas efter överföringen så att ett efterföljande kommando "skriv RAM-ord" medför inskrívning av nästa 16 bitars dataordsegment i samma RAM-om- råde. Om fvra skrivkommandon inträffar avseende samma område. skrivs hela fast-programvaru-ordet och områdesadressen uppstegas.
Det är möjligt att stega upp RAM-områdesadressen så att den går utanför RAM's kapacitet. Om detta inträffar, kommer en feltill- stândsbít 10 att 1-ställas och WCS avger NAK-svar till efterföljande Bussf rmatet för kommandot "skriv lan läs/skriv-Ram-ordkommafidon.
RAM=ord" visas i fig Ingångs-kommandot alstras när en av användaren definierad instruktion uttages från minnet. Detta kommando medför maskin- varu-styrning för att koppla om från standard-ínstruktions-styrning § från fast programvara till styrning från användare-kodad fast programvara. Instruktionen, som uttages från minnet av CPU, används? för att välja en speciell íngångs-punkt i den av användaren kodade l fastlprogramvaran som är lagrad i WCS. Bussformatet för ingångs-kom-É mandot visas i fig. 6. ä Av användaren definierade ínstruktionskoder i ett valt område ger en ingångsnunkt till ett av de första 16 områdena av användarens? fast-programvara som är lagrad i WCS. Efter behandlingen av fast~ V? -programvaru-ordet i WCS-minnet i det såsom ingångspunkt valda å området övertar den av anvándaren kodade fasteprogramvaran kontro1~¿š len över CPU-logiken. Maskinvaru-kontrollen förblir hos den av 9 användaren kodade fast-programvaran till dess att ett kommando "återgå till Pnonfl verkstailes, wcs kommer ej att acceptera att ingångs-kommando om en feltiïlstândsbit är lagrad i HCS.
Kommandot "återgå till PROM" medför att CPU går tillbaka från att vara under kontroll av den av användaren kodade fast-program- varan till att vara under kontroll av normal fast instruktions«pro« É Destinationsadressen bestärmeaš gramvara som är lagrad i CPU's FROM. av utgången från CPU's "nästa adress"-alstringslogik vid den tid~ punkt då detta kommando verkställes av NCS. Normalt alstras detta kommando av det sista kommandot i en av användare kodad fast~pro- E gramvara-rutin. Buss-formatet för detta kommando är visat § fia. ïß Kommandot "läs RAM-ord" medför att ett 16 bits dataordsenmeut t av det valda fastfprogramvaru-ordet i WCS-minnet överföras till CPU. För verkställandet krävs två buss-cykler: först en inkall- I 7904063-o 10 15 20 25 30 35 H0 lä v ningsoykel och därefter en WCS-svars-cykel. jFormaten för dessa cykler visas i fig. 8. o VHCS-adresseringen av fast-programvaruordet är exakt densamma som den vilken användes av skriv-RAM-ordkommandot. Efter varje 16-bits dataordsegment som har överförts från WCS uppstegas segment- -pekaren till nästa 16-bits-segment av samma fast-programvaruord.
Efter det att det sista (längst till höger befintliga) 16-bitsseg- mentet har överförts, uppstegas adressen så att den utpekar det längst till vänster befintliga 16-bitssegmentet av nästa fast-pro- gramvaruord-område. Det krävs fyra RAM-ordkommandon för att över» föra ett fast-programvaruord-område till CPUQ Det CPU-register eller den minnesadress vartill dataordet överföras anges av CPU.
Det kanalnummer som överföres via bussens ißíadressledningar under svarsoykeln är kanalnumret för den CPU till vilken WCS är ansluten.
Kanaltilldelningen bestämmas av en omkopplare i enlighet med vad son framgått av det föregående. V 3 VSom ovan nämnts förekommer två WCS-arbetssätt eller "-moder" som bestämmer hur användarens fast-programvara tolkas och verkstäl~ les: (1) Sekvens-moden och (2) Transparent-moden. Vid båda dessa arbetssätt anger tre fält i fastaprogramvaruordet adressen till nästa fast-programvaruord som skall verkställas, i enlighet med vad som visas i figQ 9. ß I sekvens-moden tolkar WCS-logiken tillsammans med CPU-logiken dessa fält för bestämning av nästa fast-programvaraadress, I transparent-moden tolkas användarens fast-programvaruord helt och hållet av CPU-logiken, och nästa fast-programvarüadress alstras av normal CPU-"nästa-adress-genererings"-logik (NAG). Val av vilket arbetssätt som skall vara aktivt bestämmas av en omkopplare 95 (fig. 3) som befinner sig i WCS. Det av omkopplaren ifråga valda arbets-Å sättet blir i funktion efter det att en ingång till användarens fast-programvara har verkställts.
När sekvens-moden har valts medelst omkopplaren 95 är tre bitar 09, 50 och 63 av användarens fast-programvaruord försatts i till- ståndet “falsk“ när de avges till CPU. WCS-logiken lagrar "nästa v adress"-fältet (NA) och tolkar hopptyp-kodbitarna H9 och 50 för att§ bestämma varifrån nästa fast-programvaruadress skall väljas. Den M återstående delen av användarens fast-programvaruord avges till CPU. Om CPU-logiken konstaterar att ett hoppvillkor är uppfyllt, stegar den upp Nhü-biten (“nästa-adress-generator-biten") 11 för att; meddela WCS att den skall välja det lagrade NA-fältet 1 hoppadresn-få 19 15 20 25 30 35 BO fßßåüåš-f-Û lå registret 78 såsom nästa adress; vid sekvens-mod»drift är alla sekvens-ändringar (d,v.a: noe; eller avgreníngar) permanenta i det att WC$'s adressflöknínñsräknare ínëvíš ïfi är laddad med adressen till varje verkstälit fast-proeran~ varoord, och efterföljande adresser erhålles genom uppstegning av denna räknare 70. Subrutín-ingâng- och »återgång möjliggöra: genom en oneration som lagrar det uonstegade värdet i HCNT~räknaren 70 2 ett fär såå anordnat "återgång ïršn subrutin“»register CRÉBA3 ??» När en återgång sker tillbaka till den anropande rntínen, används BSBÅ-registret TE för åtkomst till fast-pr~gran;a:sn så att kontroïa len åter övertages vid det fastfpregramvaruerd som följer de fast~- ;fi3¿-raristret 72 används WCS-sekvens-moden programvaruord som anropade subrutinen. ej av den fast-programvara som är lagrad 1 CPU. vid behandling är möjlig endast avseende den av användaren kodade fast-programvaran i WCS. _ I transparent-moden tolkas ej koder av hopp-typ i WCS. Hela användarens fast-programvaruord (GN bitar) överföres till CPU 12 i oförändrad form. Alla därefter följande fast-programvaruadresser alstras av CPU's ”nästa-adressegenererings"-logik (NAG~logik).
CPU's NAC-utgångsinformation överföras alltid tillbaka till WCS 19 och väljas för att adressera den av användaren kodade fast-program- varan.
WCS 10 möjliggör sålunda verkställande av utav användaren kodad fast-programvara som avpassar maskinvaru-operationerna till använda- rens speciella benov. Denna användare-kodade fast-programvara lagras i WCS under kontroll av CPU-systemet och utgör en utökning av den som standard införda CPU-instruktionsuppsättningen i fast-pro- gramvara. När programvaran väl har laddats, kan den användas för att kalla in den specialiserade fast-programvaran via av användaren definierade instruktioner, så att kontrollen över maskinvaran kan överlämnas från den som standard i CPU inbyggda uppsättningen fast-programvara till användarens fasteprogramvara (WCS). Det användaren kodade fast~programmet verkställes antingen i sekvens-med eller transparent-mod till dess att användarens fast-programvara ä? återlämnar kontrollen till den som standard i CPU ingående fast-pro-då gramvaran eller till dess att ett större fel detekteras (exeneelvís minnesparitetsfel).
WCS 10 laddas med av användare kodad fast-programvara medelst i àsystenet ingående programvara. När systemet startas, inkallas normalt ett WCS-laddningsprogram som förbereds för att överföra ett .nfïaxmeflxz .-.~.«~» i «. .a f - i ~ ,¿sea~,_._{_. ha, -Wi-f, .aa *79o4os;.u . ¿ 10 15 29 30 35 UD 16 tidigare lagrat register för av användare kodad fast programvara i WCS-minnet Zü. Därefter kan efterföljande programvaru- eller Ä operatör-åtgärder återkalla laddaren och bringa andra register över f fast programvara att laddas i WCS. I samtliga fall matas laddaren ' med den WCS-områdesadress på vilken laddningen skall börja och storleken av det fast-programvarublock som skall laddas. En typisk WCS-laddningssekvens visas i fig. 10 och kommer att beskrivas i det följande. Från början kan WCS-kanalnumret bestämmas genom avgivande av ett ingångs-identifieringskommando till varje kanal. Så snart kanalen är etablerad, initieras WCS, och wCS{arbetssätten verifierasv genom en tillstándslâsning. Nu bestämmes antalet installerade RAM¿minnen genom alstring av ett läs-RAM-ordfåtföljt av ett till~ ståndsläskommando till varje RAM-minne. Resdltaten jämföras med fastaprogramvarublockets storlek. Ett fel rapporteras till syste- mets programvara om det ej finns tillräckligÉRAM-minneskapaeitet tillgänglig för lagring av fast-programvarublocket. Om tillräckligtš WCS-RAM-minnesutrymme finns tillgängligt uttages det första (längst N till vänster befintliga) 16-bits-ordet av användarens fast-program- 5 vara; och adressen för start av WCS-laddningšöverföres till WCS- _ =buss=adressrëknaren 68. Efter det att adressen har laddats i WCS, É börjar skriv-slíngan. Varje skrivkommando överför det 16-bits ord som är uttaget från fast-programvaran till HOS och uppstegar WCS- ~buss-räknaren (CSAD) 68. »Buss-räknaren 68 ntpekar alltid det 16-bits-segment av RAM-området som skall skrivas. skrivkcmmandcn stegar denna räknare fram RAM§områdesadressen. ü Mellan på varandra följande skrivkommandon uttages det i tur varanneš 16-bit-dataordet ur programvaran. fbet krävs fyra skrivorder för i lagring av ett RAM-område. Efter det att fyra skrivorder har inträffat, läses WCS~tillståndet så att av WCS detekterade fel kan rapporteras till CPU. Om inga fel rapporteras och laddarens pro- gramvara konstaterar att hela fast-programvarublocket har laddats. är operationen slutförd. I annat fall går man åter in i skriv- slingan och nästa BAM-område laddas.
Verkställandet av system-program inklusive laddning av WCS med % användare-kodad fast-programvara åstadkommas genom att CPU genomför 9 standard-rutiner av fast programvara vilka är permanent lagrade i uti CPU befintliga FROM. Omkoppling till av användaren kodad fast-programvara att genomföras av CPU kan åstadkommas endast genom utförande av en av användaren definierad programvara-instruktion.
När en av användaren definierad programvara-instruktion uttagen frå ü Efter fyra 122 in n; v m v v. si: _ ïê» 10 15 20 de uu 30 35 UG 7904063~0 17 huvudminnet 18, genomföras en permanent lagrad CPU-programrutin som resulterar i att ett ingångskommando avges via bussen 1ü till WCS 10. När WCS accepterar kommandot, passiveras CPU's fast-programvara och aktiveras den av användaren kodade fast-programvaran som är lagrad i WCS. Den speciella ingångspunkten i den av användaren kodade fast-programvaran bestämmas av operationskoden i instruktio- v nen. När den av användaren kodade fast-programvaran väl har aktive- rats, överföres den via det "privata" WCSICPU-interface-organet 16 för att verkställas via CPU. Kontrollen över CPU-logiken kopplas omv från den i CPU permanent lagrade fast-programvaran till den av användaren kodade, i WCS lagrade fast-programvaran. Kontrollens återlämnande till den i CPU befintliga fast-programvaran beståmmes av den av användaren kodade fast-programvaran. _ När behandlingen enligt den av användaren kodade fast-program- varan är slutförd och återlämnande av kontrollen till CPU's fast- -programvara önskas, verkställes en av användarens kodad utgångs- -fast-programvaru-rutín som resulterar i att ett kommando "återgång till FROM" avges till WCS via bussen 1U. När WCS accepterar komman-¿ dot passiverar den överföringen av utav användaren kodad fast~pro-_ W gramvara till CPU och aktiverar fast-programvara som är permanent , lagrad i CPU. Kontrollen av CPU-logiken återlämnas sålunda till den; fast-programvara som är lagrad i uti CPU befintlig FROM. Användaren: kan koda en återgång till godtyckligt område i den i CPU befintliga V fast-programvaran. Normalt kommer emellertid det första området aviš instruktionsbehandling att väljas såsom återgångspunkt. w När av användaren kodad fast-programvara verkställes är ätkomstf till den permanenta fast-programvaran i CPU spärrad såvida ej ett större fel detekteras. ett buss-paritetsfel eller ett ej korrigerat§minnesfel kommer CPU att tvångsvis åstadkomma att en noll-adress avges på "nästa-adress- f -genererings“-ledningar (NAC-ledningar) till WCS. Om denna adress detekteras medan WCS-sekvens-moden är aktiv, passiverar WCS-logiken den av användaren kodade fast-programvaran. CPU's fast-programvara i övertar kontrollen ooh ett hopp till området noii 1 cPu'o faet-pro- É gramvara utföres oberoende av den av användaren kodade fast-programeš varan. Om en otillåten hopp-kod detekteras vid utförandet av utav F användaren kodad programvara i WCS-sekvens-moden, spärrar WCS-logi- É ken läsningen av det av användaren kodade fast-programvaru-ordet så“É att "NA"-adressen uppträder såsom enbart nollor. CPU's "nästa-ad- M reas-genererings-ledningar" är på noll, vilket resulterar i att H65 f När CPU upptäcker ett större fel, exempelvísê 79o4o6s-o 10 15 2Û 30 35 no men 3 993 981 av 1976-11-23. 18 återlämnar kontrollen över fast-programvaran fiill CPU i området noll Följande beskrivning hänvisar till olika figurer som visar flödesschemor över händelsesekvensen och viktigare styrsignaler som alstras för vissa kommandon vilka kan avges till HCS 10. Varje flödesschema är indelat i en CPU-sida och en fiCS-sida för att åskådliggöra växelverkan mellan dessa båda enneter. Ett process- -block på CPU-sidan kan ange antingen en av fäst-programvara styrd process eller en av maskinvara styrd åtgärd. Åbe åtgärder som är visade i CPU-process-blocken är av allmän artl Process-blocken på WCS-sidan anger maskinvaru-operationer i WCS.É En detaljerad be- skrivning av WCS-maskinvara som är relevant för uppfinningen skall 1ämnas_i det föijanae. f Flödesschemorna visar formaten för programvara-instruktioner och_resnlterande buss-cykler som där detta ärštillämpligt genomför kommandona. .På grund av att bussen 1U arbetar asynkront, kommer en del händelser i WCS och CPU att ske parallellt. Flödesschemorna visar detta, men eftersom det ej finns någon garanti för när dessa händelser inträffar, visar flödesschemorna endast händelsesekvensen i varje_enhet; processëblock som beskriver möfiligen samtidiga åtgärder befinner sig ej nödvändigtvis mitt för varandra.
".De utan förklaring begripliga flödesschemorna för wCS-komman- dena visas 1 rig. 15 t.o.m._22.~F1gurerna oenštilipörande kommando- . f* ' -flöde är följande: m rig. 11 Kommande-flödet flinitiering avíwcsv, rig. 12 Kommande-flödet *ladda wcs-adrëssfi, »r1g. 13 Kommande-flödet "skriv RAM-Drar, rig. 1n Kommande-flödet "las RAM-ord", rig. 15 Kommande-flödet vingångfl, och Å Pig. 16 Kommande-flödet "återgå till Pros".
Ehuru dessa flödesschemor i fig. 11 t.o.m. 16 är självförkla- rande, skall nu en allmän beskrivning lämnas beträffande dessa figurer. Sekvensen 1 såväl CPU som WCS för var och en av de komman~ '.do-koder som åskådliggöres i fig. 11 t.o.m. 1è liknar varandra såtillvida att instruktionen från början. efter start-rutan, uttagen från huvudminnet 18, varefter en buss-cykel avges. Efter att ha erhållit buss-cykeln överför CPU kanalnumret till WCS i enlighet med vad som anges av den s.k. BSDCNN-signalen. Signalerna med exempel- vis beteckningarna BSDCNN, BSACKR etc., vilkalvisas i dessa figurer, är fullständigt beskrivna i den ovannämnda amerikanska patentskrif- Kanalnumret avködas i sin tur av UCS, 10 15 |\I U! 35 NO _ spärrningsoperationer. 3G A e ”angivna operationen. Närmare bestämt aktiveras de olika skriv-logik~fi 'bussen_1N; som svar på vilken signal kanalnumret återigen avkodas 7904063-0 _ 19 funktionskoden för det av CPU avgivna kommandot avkodas av komman- do-avkodaren 3ß, och en strob alstras, vilken anger att detta var "min" adress. Som svar härpå avgest en kvitteringssignal av WCS i Å form av en ACK-signal som avslutar CPU's buss-cykel. Parallellt med¿ ovanstående operation alstras ett nytt "körnings-kommando" inom Å WCS. Den nyss lämnade beskrivningen fram till avgivandet av kvitte-Q ringssignalen till CPU på det angivna sättet är likartad för samtli-Q ga ovan upprâknade figurer. De övriga delarna av flödet som är à angivna 1 figurerna är i allmänhet speciell för resp. kommando-flöde; Prinoipiellt används initierings-kommandoflödet enligt fig. 11 A är att nollställa wCS=logiken och för att initiera de bistabila paritets-elementen,_varefter paritetskontroll möjliggöres. Efter det att kvitteringssignalen har avgivits till CPU, varmed buss-oy- keln är avslutad, skall enligt fig. 12 data-lednings-innehållet 1 strobas in i buss-adressräknaren 68. Som visas i fig. 13 åstadkom- É mer kommando-flödet "skriv RAM-ord" att data strobas in i ingångs- 1 -dataregistret och att två vânte-svar åstadkoms och det första avges: och, parallellt, att CPU i och för fördröjning spärrar sin klocka g till_dess att en kvitteringssignal mottages från WCS. Ändamålet med? till CPU är att ge systemetš att spärra och att avge vänte=signalerna tillräcklig tid att ta hand om de olika överföringar och logiska operationer som äger rum. Under initierings-kommandoflödet enligt fig. 11 erfordras exempelvis inga vänte-svar och ingen spärrning eftersom detta kommando i själva verket ej kräver någon extra tid Å andra sidan kräver vissa operationer upp vaßfl. v. för att verkställas. till tre dylika spärrningar för att lämna tid för sådana logiska operationer. Kommandona ingång till och utgång från RAM kräver en spârrningsoperation och RAM-läs-operationen kräver tre dylika lßš Som nyss nämnts kräver RAM-skrivoperationen två fördröjande spärrningsoperationer. Som svar på vänte-signalen återutsänder sålunda CPU buss-cykeln, och parallellt därmed genomför WCS den -organen, varefter buss-adressräknaren 68 vâljes för att adreasera RAM och RAM aktiveras i enlighet med de sålunda tillhandahållas adresserna. -WCS tar från CPU parallellt emot BSDCNN-signalen via och en ytterligare vänte-signal avges till CPU. Återigen avges Ä samma buss-cykel av CPU.' Efter avkodning av kanalnumret för tredje É gången avges ett ACK-svar från WCS till CPU. Data skrivs in paral~ Ä frå. ä i ä* ff' å 67904053-o 10 15 N) MT! 30 35 30 20 lellt i det aktiverade RAM-minnet varefter detta passiveras och framstegnings-adressräknaren 70 stegas fram.
Fig¿ 1N visar flödesdiagrammet för kommandot ”läs RAM-ord”.
Som ovan nämnts avges enligt vad som framgår av flödesschemat under 1 detta kommando tre spärrnings- eller vänte-svar och dessa fungerar _ på liknande sätt som för kommandot ”skriv RAM-ordñ utom att det K förekommer en extra väntan, d.v.s. CPU avger buss-cykeln ytterligare¿ en gång, Under den tid dessa uppehållande s.k. spärr-operationer A äger rum, väljer WCS buss-adressräknaren 68 för att adressera RAM, och CPU's PROM passiveras.. Vidare väljes det 16-bits dataord ur fasteprogramvaru-ordet som skall läsas ut, och det valda dataordet strobas in i data-utgångsregístret BU, varefter ökningssteg-adress- räknaren 70 framstegas. Under denna tid avges som ovan nämnts de ytterligare vänte-svaren till CPU, vilket liksom fallet var för skrivkommandot kräver skiftning av viss information i den s.k. skift-svarslogiken i enlighet med vad som kommer att framgå av det ä följande. Efter ett ACK-svar avger WCS en ssk. andra halv-läscykel,; under tiden för vilken WCS får access till bussen genom att avge sin; BSDCNN-signal på bussen, på vilken signal CPU avger ett kvitterings-É svar och laddar datacrdet i det register eller minne som anges i Cfüi Ingångs-kommando-flödet visas i fig. 15. Som ovan nämnts krävsš endast en uppehållande spârrning och ett vänte-svar för att ge ä tillräcklig tid för genomförande av de logiska operationer vilka är förbundna med ett dylikt ingångs-kommando. rande data in i inhopps-adressregistret 66 varefter det första och Först strobas ifrågava« enda vänte-svaret för detta kommando avges. Inhopps-adressregistretš väljes sedan för att adressera RAM, och det i WCS ingående RAM-min- 6 net aktiveras därpå och CPU's PROM passiveras.' Det första av användaren kodade fast-programvaruordet läses därefter från RAM-min net och bestämmer den nästföljande RAM-adressen. Detta 63-bits ord É tillföras till CPU och strobas in i ett lokalt register i CPU för q att användas av CPU. yarallellt återutsändes samma buss-cykel av CPU, och kanalnumret avkodas av UCS, varefter kvitteringssvaret (ACK) alstras av WCS varigenom busscykeln avslutas som svar på ACK-svaret från WCS. Ingångs-kommandot lagras och blir kvar till á nästa klockoykel, varefter det slopas. Därigenom tillåtes använda- É rens fast-programvara att styra RAM+adresseringsfunktionen. Under återgången till FROM-kommandot erfordras enligt vad som framgår av fig. 16 endast ett vänte-svar. Under den tid då CPU återutsänder samma buss-cykel¿ är CPU's PROM aktiverat och WCS's RAM-minne är ya.- weae. i. all, g , , _ . .,_ _,___._,¿~,J_,_._,. ..,._,_.Ä, _~,¿~___1-,~.,, 10 15 201 ft) UT 30 35 H0 7904063-0 21 _ passiverat. Efter avkodningen-av kanalnumret avger HCS ett ACX- -svar, och därefter avslutas buss-cykeln; Behandlingen börjar sedan i CPU på den adness som tvångsvis införes i ”nästa adress”-genere- ringslogiken 1 CPU under den tid då den första buss-cykeln utsändes av CPU.V I enlighet med vad som framgår av diagrammet sker detta omedelbart efter det att den första buss-cykeln har utsänts.
Redogörelse skall nu lämnas beträffande huvudklockan i WCS och den utsträckta CPU-cykel-tidgivningen. Den grundläggande wCS-tid- givningen erhålles från CPU-huvudklocksignalen (MCLOCK+) på ledning* en óü, vilken signal tillföras till WCS via det ”privata” interface- -organet 16 mellan WCS och CSO. Tre grundläggande DCS-klocksignaler alstras: SïSCLK, RSBCAP och DELY90. Dessa klocksignaler säkerstäl- ler att operationerna i WCS och CPU är synkroniserade. Pig. 17 visar logiken för alstring av dessa WCS-signaler.
SYSCLK-signalen är den primära WCS-tidgivningssignalen. Den alstras direkt via bufferten 100 och följer därför exakt CPU-huvud- kloeksignalen MCLOCK+. Denna primära WCS-signal användes för följande ändamål: att alstra de övriga grundläggande klocksigna- lerna, att lagra NA- och BR-fält av styr-ord som läses från RAM och att stega fram uppstegnings-adressrâknaren (MCNT) 70. ÉSBCAP-signalen alstras 60 nanosekunder efter den primära signalen SYSCLK+ via en fördröjningsledning (RSBCAP-) 102. Dess primära ändamål är att klocka in uppstegade adresser från uppsteg- nings-adressräknaren (MCNT) 70 i registret över adresser för åter- 1 gång från subrutin'(RSBA) 72. RSÉCÅP 1-ställer även cykel-ksntrollsf vippan (CONTCK) 104 som 1 sin tur via ELLER-grinden 110 återstartar G fördröjningsledningen 102 och aktiverar en 90 nanosekunder fördröjd A signal för laddning av MCNT-räknaren 70. Om emellertid ett ingångs~§ kommando är lagrat (SPCONT), passiveras den ursprungliga insignalen w till fördröjningsledníngen (LINEIP) via logikelement, OCH-grinden 106 och ELLER-grinden 108. (Det bör observeras att de olika i figurerna visade grindarna för enfielhets skull-kallas 0CHeller ELLER-grindar, men de kan exempelvis utgöras av NUCH- resp. NELLER~ -grindar); RSBCAPkommer ej att alstras, varför laddning av RSBA-re-f gistret 72 och MC1T-räknaren 70 förhindras. ; signalen øELï9o+ alstras via ELLER-grinden 112 go nan@seuunaef“§ efter den primära klocksignalen SYSCLK+ och endast om ett ingångn~ Ä kommando ej är lagrat. Dess ändamål är att klocka den adress som ß används för att ge åtkomst till RAM Züfli ökningssteg-adressräknaren É (Mani) 70. ' “ » 1” 1904063-o När WCS-RAM-minnet 2N är aktiverat (användarens fast-program- vara aktiv) förlängas varje CPU-fast-programvarucykel med ytterli- gare 80 nanosekunder. Detta åstadkommas i enlighet med vad som åskådliggöres i fig. 18 genom uppehållande spärrning av CPU-klockan 5 80 nanosekunder under varje CPU-cykel. CPU-klockan spärras när signalen PLUPTB drivs till tillståndet "falsk". När provanordningen 26 är installerad, alstras denna signal i provanordningen och R används för att stanna och starta CPU-klockan. När provanordningen É ej är installerad, används en i WCS befintlig vippa PLUPTB 11ü för V t 10 att förlänga CPU-cykeln. Den förlängda cykeln alstras genom att man É nollstâllergPLUPTÉ-vippan fä under 35 nanosekunder av varje g can-eykei. när eacnca på inversererene 116 ingång är "falsk" (RAM är aktiverad), kommer CPU-tidgivningssignalen CDH000- på ledningen 118 att klocka PLUPTB-vippan 11ü till tillståndet Vfalsk". 15 Därigenom startas en 80 nanoseknnders fördröjningsledning (KILCDH+) Q 120 via ELLER-grinden 122. PLUPTB-vippan 114 förblir återställd och É kommer därigenom att fördröja starten av CPU-klockan till dess att 5 den 80 nanosekunder långa fördröjningen har löpt ut. Vid slutet av fördröjningstiden kommer ENDCDH via inverteraren 126 och eg 20 ÉLLER-grinden 12ü att bli "sann" och tvingar fLU TB-vipaan 11k att Å; övergå till tillståndet "sann", så att CPU-klockan åter startas.
CPU-cykeln förlängas varje gång CDH000-signalen alstras till dess att CPU's fast-programvara återtar kontrollen såsom anges av att PROMCE är "sann". _ 25 När antingen ett läs-RAM- eller ett skriv-RAM-kommande avges till WCS, alstras en läs/skriv-strob-puls (WBITIM). Denna strob är erforderlig på grund av bussens 1N asynkrona typ och för att säker- ställa att WCS-adressering och utgångs-vallogik har stabiliserats innan data strobas in i RAM eller ut till bussen íü. inga speciellal 30 tidgivningssignaler alstras emellertid för att ett fast-program- varu-ord skall läsas från RAM, vilket ord direkt sändes till CPU 12 via det "privata" interface-organet 16 mellan WCS och CPU. I detta fall används den normala CPU-styrminnesstroben (MCLOCK). Tidgiv- ningen för läs/skriv-kommando alstras av två en-förlopps-mu1tivibra~ 35 torer (BUSKIL 128 och WRIDEL 130) samt en fördröjningsledning (WDELOP) 132 i enlighet med vad som visas i fig. 19. Om antingen ett iäe-RAM-kommando eiier ett skriv;nAM-kommande är lagrat 1 vipporna 13ü resp. 136 vid tidpunkten för buss-strobning (MYAHHÉ) på OCH-grindens 138 ingång, utlöses båda en-förlopps-vipporna íñäßklt. Ä no unxnzti via attan-grinden 1no. signalen susxzt och dess 1nv@rt@»nde'É 10 15 20 30 35 NO 7904063-0 23 signal (BSCNCK+) tvingar buss-adressräknaren 68 att väljas för adressering av RAM. En tidrymd om 195 nanosekunder senare bortfal- ler signalen på WRIDEL 130, vilket medför att WRITIM-signalen via vippan 1ü2 och inverteraren IUN på OCH-grindens 1U6 utgång pulsar "sann" under tidrymden (NO nanosekunder) för fördröjningsledningen 132. Denna H0 nanosekunders strobpuls åstadkommer att DOCLCK alstras på utgången av OCH-grinden 1U8 om ett läs-kommando är lagrat, eller också aktiverar den skrivpuls-avkodaren 150 via _ OCH-grinden 152 om ett skriv-kommando är lagrat. Avkodaren 150, som É ingår i skriv-styrningslogiken 89, alstrar en av fyra möjliga É enlighet med vad som bestämmas av skrivordpulser (ETwRI1=ë) i adressbitarna av lägre ordning (SADD00, SADD01) som är lagrade i adressräknaren 68. Efter 270 nanosekunder återställes enförlopps- -vippan (BUSKIL/BSCHCK) 128, vilket aktiverar bussadressräknaren 68 att stega fram till nästa ord-adress.
För att åtkomst till direktaccessmínnet WCS skall vara möjlig måste adressen ha det format som är visat i fig. 20. Biten 0 i RAM-adressen måste vara en etta och detta anger att detta är en WCS RAM-adress. Det ankommer på användaren att se till att biten O är hög i varje startadress som ursprungligen laddas i bussadressräkna- ren 68 (via ett kommando "ladda WCS") och i samtliga RAM-adresser som är kodade i nästa-adress-fältet (NA) i vart och ett av använda- rens fast-programvaruord. MCS-logiken används för att tvångsvis göra 0-biten hög när användarens fast-programvara är aktiv eller Bitarna D och 1 används för att a» ñañ ett ingångskemmande verkställese aktivera RAM 20. Om biten O är noll, är båda RAM-minnena passiva- rade. Biten 1 bestämmer vilket RAM-minne som är aktiverat (d.v.s. när biten 1 är låg aktiveras minnet nummer 1 ooh om biten 1 är hög aktiveras minnet nummer 2). Bitarna 2 t.o.m. 11 är den aeeesssad- ress som sändes till RAM-minnena. WCS-logiken väljer och avger RAM-adressen till RAM-minnena. Den avgivna adressen väljas av tvâ adress-multiplexerare (MUX); direkt-adress (DADD) 76 och valadress (SELA) 7U i enlighet med vad som visas i fig. 3. Denna valda adress: kan komma från CPU's "nästa-adress-genererings-logik (NAC) eller i vissa register och räknare som befinner sig i WCS i enlighet med vadg som framgår av fig. 3. a t É Direkt-adress-multiplexern (DÄDD) 76 väljer den slutliga adressen som avges till RAM-minnena.V Denna adress kan väljas antingen från utgången hos hoppadressregistret (JADD) 78, vilket lagrar NA-fältet av fast-programvaruordet, eller från utgången hon 7904063-o 10 15 29 30 35 HO 2ü valadress-mnltiplexern (SELA) 7N som väljer adresserna från en av ett flertal källor.« Hoppadressregistret 78 väljes endast om HCS är i sekvens-mod och ett hopp till NA-fältet erfordras. I alla andra fall väljas utgången hos SELA-multiplexern 7U. Det av DADD MUX 76 gjorda valet bestämmes av lägsta ordningens bit i nästa på ledninßeflw SB mottagna adress.
Den adress som väljes av denna lägsta ordningens bit som mottages på ledningen 9U bestämmas i första hand av CPU's fast-pro- gramvaru-provlogik. Under varje list-programvaru-cykel undersökes fälten BR (hopp-koden) och TC (provtillståndet) i det adresserade fastepregramvarueordet medelst CPU's nermala fast=programvaru=prev= login, Om denna CPU-logik konstaterar att ett hopp till NA-fältet erfordras, informerar den WCS genom att tvångsvis bringa CPU-signa- len NAG011 på ledningen 90 till tillståndet "sann". Se även fíg. 21._ Hoppadressregistret väljes sålunda för utgången hos DADD MUX 76. Om emellertid ett länk-typ-hopp avkodas ur fast-programvaru- -ordet eller om WCS är i transparent mod, väljes utgången från SELA MUX 7D för adressering av RAM oberoende av utgången från CPU's provlogik. f För att säkerställa stabiliteten hos insignalerna till QADE MUX 76 och tillräcklig tid för RAM-adress-generering, kloekas NA-fältet i det adresserade fast-programvaru-ordet in i WCS's hoppadressregis- ter (JADD) 78 i början av varje fast-programvara-cykel (SYSCLK) 5 enlighet med vad som visas i fig. 3. På liknande sätt lagras BR=bitarna (1, 2, 3) i fast=programvarueordet, vilka styr valet i SELA MUX Tü, i WCS-vipporna 160 och 162 med samma tidgivningssignal (SYSCLK). Eftersom denna tidgivningssignal är härledd direkt från cPu's nuvuakiocka (nctocx), är cPu'se1ogik för aistring av nästa adress och WCS*s Ran-adress-logik alltid synkroniserade.
Valadress-multiplexern MUX (SELA) Tü väljer WCS's RAM-minnes- -accessadress i samtliga fall utom när ett hopp till NA-fältet 1 ett fast-programvaru-ord erfordras. Men om ett hopp till NA-fält erfordras, tar DADD MUX 76 över och ignorerar den av SELA MUX 7" valda adressen genom att avge hoppadressregistrets 78 NA-fält till RAM-minnena.
Utgångssígnalen från SELA MUX 7ü bestâmmes av den binära koden på MUX-styrfunktionerna MUXSLH, MUXSL2, MULXL1 på utgångarna nos respektive inverterare 16ü och ELLER-grindarna 166 och 158. Ingång- en hos inverteraren 16fl ansluts från utgången hos ELLER-grinden 170. vilken utgång även aktiverar kopplingen av vipporna 160 och 16? till 2 V10 15 20 25 30 35 BO ; v9o4oss-o V 25 I ELLER-grindarna 168 och 166 genom OCH-grindarna 172 resp. 17"- ELLER-grinden 170 är kopplad för att ta emot från avkodaren 3“ avgivna kommandon. Denna valkod alstras enligt den operationstyp Q som WCS genomför. För valkod-alstringsändamål kan HCS-operationerna f antingen vara en av fast-programvara styrd operation eller en i pàtvingad RAM-adress-operation. I en fast-programvaru-kontrollerad »e operation alstras valkoden direkt från BR-fältet i fast-programvaru-.f -ordet och är giltig under en fast-programvaru-cykel. Vid en M påtvingad~RAM-adress-operation ignoreras BR-fältet, och valkoden framtvingas enligt speciellla WCS-kommandon eller arbetssätt som är lagrade i WCS. Den valkod som alstras av en påtvingad RAM-adress- -operation medför att fast-programvarucykeln förblir giltig så länge É det påtvingade tillståndet råder. Varje valkod som alstras av en påtvingad RAM-adress-operation har prioritet framför fast-program- varu-styrt alstrad valkod.
Vilket som helst av nedan uppräknade villkor anger att en påtvingad RAM-adress-operation pågår. Varje villkor alstrar en unik'§ valkod och förorsakar därför att en speciell ingångsadress väljes avš SELA MUX Yü. Villkoren för påtvingad RAM-adress är: ï ett wcs-1äs- eiier -skriv-RAM-kommande är anser verxseäiian-Ä de i WCS (detta villkor föreligger när en-förloppsvippan 3 susxxt/sscnck för läs/skriv-tiagivning är ak:1v); ett ingångs-kommando är under verkställande av WCS (komman- do-avkodnings=funktionen (SPCQNT) anger detta_villkor); och WCS är i transparent mod, TRANSP är "sannV.
En fast-programvarustyrd valkod alstras om inget påtvingat s RAM-adressvillkor föreligger. Detta kan inträffa endast om WCS är i¿f sekvens-mod och när den är i denna mod kan den av SELA MUX 7U valda lÉ adressen endast komma från tre källor: ökningssteg-räknaren (MCHT) f 70, registret för återgång från subrutin (RSBA) 72 och från ett i CPU 12 ingående register kallat CPU-länkregistret (CPU-länkregist~ rets utgångssignal påtvingas på NAG-ledningarna 9ä när CPU~1ngiken avkodar ett hopp av länk-typ i fast-programvaruordets BR-fält).
Eftersom endast dessa tre källor kan väljas, erfordras endast två bitar av en-fältet (MEMDSD och Hampus) for att alstra vazusaen.
Inhopps-adressregistret, erbjuder enligt vad som i detalj visas" i fig. 22 möjlighet till tillfällig lagring av det uppgift~nrd som tillföras på bussens 1H dataledningar när ett ingångs-kommando avges; till WCS. Detta ord används för att bilda RAH-adressen för ingång- ens fast-programvara-cykel. Det är nödvändigt att lagra uppgifts- a Was. fela, ..-_» se, .~_.. sm tgnyln 7904063-0 10 15 25 30 35 HO i 26 ordet eftersom buss-data ej är giltiga under nela fast-programvaru- -cykeln. I början av nästa fast-programvaru-cykel (SYSCLR) rensas innehållet i inhopps-registret ("splash-registret") innehåller enbart nollor. I det följande skall arbetssättet för detta register beskrivas. När ett ingångs-kommando avges till WCS, pulsas funktionen SPLASH CLOCK (SPLCLK) på utgången från OCH-grinden ö 180 till "sann" under bussens lb strobtid (MYÅDD2). SPLCLK-puls- ningen medför att två saker händer. För det första 1-ställes vippan ”inhoPPt-kommando lagrat" (SPCONT) 182. Denna vippa påtvingar en valkod på styrledningarna SELA MUX 7ü. Till följd härav väljes inhopps-registrets ingång att dressera RAM. För det andra strobas ppgifts=erdet på buss-lednin inhopps-registrets 66 respektive bitar SADSEL, SPAD03 t.o.m. srnnoo. Denna utsignai tillföras till SELA Mux där den biidar RAM-adressen. Denna adress tvingas att åstadkomma access till RAM eftersom SPCONT är 1-ställd. kel (d.v.s. vid tidgivningssignalens SYSCLK övergång till "sann“7 1-ställes vippan "återställning inhopp" (SPLCLR) 18U. Detta medför att SPCONT återställes via ELLER-grinden 186, vilket möjliggör att, en ny SELA-valkod alstras, nen innehållet i inbeppseregistret raderas under den påföljande fast-brogramvarucykeln.
Som i detalj framgår av fig. 23 utgöres ökningssteg-adressräk- naren (MCNT) 70 av en 12-bits upp-räknare vilken avger en uppstegad RAM-adress för varje fast-programvaruoykel. aDenna räknare är synkron, så att den behöver en klnekpulseykel {CNTR3C} för ett antingen uppstegas eller laddas. I det följande beskrives verk- ningssättet för MCNT-räknaren 70, I början av varje fast-program- varucykel (SYSCLK) uppstegas innehållet i MCNTÅräknaren 70 medelst klockpulsen CNTRBC genom ELLER-grindarna 196 och i92 samt GCH~grin- den 19U. vn1-adress-Mux (SBLA) vu. Adressen ncur 7o kan väljas såsen enn- -adress om den rätta valkoden alstras. ben uppstegade adressen sändes även för återgång från subrutinregistret (RSBA) 72. Unn strobas in i registret 72 medelst RSBCAP~signalen och OCH-grinden 196 60 nanosekunder efter uppstegningen till RSBA-registret, em fast-programvaran ej redan befinner sig i en subrutin. Fördröj- ningen säkerställer att MCNT-räknaren 70 är stabil före lagringen av en subrutin-återgångsadress. Éfter en tidsperiod av 90 nannee~ kunder från början av varje fast~programvaru§cykel är RAM-adreese- ringslogiken stabil och RAM-adressen är giltig på utgången från eabëš bort så att det a -garna ßsnrog, Bsnr12 t.°.n. BsnT1s in ifl I början av nästa fast-programvaru-ey-É _Den uppstegade räkneställningen (MCNTOO-11) tillföres tillß 1G 15 20 30 35 H0 7904063-0 21 MUX 76. Vid denna tidpunkt alstras laddningspulsen LHCNTR via 0CHfgrindarna 198 och 200 samt inverteraren 202 för att bringa den nya RÅM§adressen att laddas i ökningssteg-råknaren (MCNT) 70. Denna adress kan vara antingen den medelst ëkningssteg åstadkomna adressen i MCNT 70 eller RSBA 72 eller godtycklig annan adress som är vald av RAM-adress-multiplexerna SELA 7N och DADD 76. MCNT-räknaren 70 kan asynkront raderas medelst initíeringssignalen INCCLR.
Registret "återgång från subrutinregister" (RSBA) 72 lagrar återgångsadressen för WCS när ett hopp till en fast-programvara-sub- rutin utföres. Pig. 23 visar även RSBA-logiken i detalj. Utgångs- informationen från detta register (RSBA)_7¿ väljes sedan för att adressera RAM när en återgång från subrutin-mikroinstruktionen verkställes. Den uppstegade adressen från MCNT 70 laddas i detta register 72 för varje fast-programvaru-cykel utom vid genomförande av subrutin i fastfiprogramvara. Detta åstadkommes genom att man spärrar RSBA-registrets 72 laddningsfunktion (RSBRCK) under genomfö-7 randet av en subrutin. När en återgång från en subrutin-mikroínst~å ruktion genomföres, går man sålunda in i det område som är i tur efter det område som innehöll hoppet till subrutinen. RSBA-regist~ : ret laddas 60 nanosekunder (RSBCAP) efter början av varje i subrutínš ej ingående fastlprogramvaru-cykel genom OCH-grinden 196. Fördröj- E ningen säkerställer att MCNT-räknaren 70 är stabil innan återgångs~_š Vippan RSTBRA 212 förebygger ändring av innehålletä När ett hopp till " adressen lagras. i RSBA 72 under subrutinoperationer. -mikroinstruktion detekterae ' É en subrutia~J (MUXBR1 - nuxsnz - NAG11) på OCH-grindens 216 ingångar; 1-ställas vippan RSTBRA 212, varvid laddningsfunktionen RSBRCK spärras. När en återgång till subrutin- z -hopp detekteras: (MUXBR1 - nuxsnz - NAG11) på OCH-grindarnas 218 och 220 ingångar, kommer RSTBRA (vippan 212) att raderas vis OCH-grinden 222 i början av nästa fast-programvara-f -cykel (SYSCLK) och tillåta lagring av en ny adress i RSBå. L A Systembussen 1U år det interface-organ som används av CPU och vš andra enheter för kommunikation med varandra. Samtliga WCS-kommandofiš som avges av CPU överföras till WCS via denna buss, under det ett Hš WCS endast överför data till CPU via denna buss. WCS kommunicerar É J; .egna 'vøoàosz-o-i. 10 15 20 30 35 BO 'överför inkallade data till CPU. De 28 ej direkt med.huvudminnet. Samtliga operationer på bussen IH år asynkrona och kommunikationerna sker på styrorgan/slavorgan-basis.
Styrenheten inkallar en buss-cykel och överför slav-kanalnumret och datainformationen till slavenheten. Slavenheten i sin tur känner igen sitt kanalnummer och svarar med vederbörlig svarssignal.
Svarssignalen avslutar buss-cykeln. Om ingen svarssignal avges, kommer en utlöpt tid att medföra att buss-cykeln avslutas.
Det fordras två buss-cykler för att-läsa information från WCS.
I den första cykeln är CPU styrorgan och avger läskcmmando till WCS att kalla in data. I den andra buss-cykeln blir WCS styrenhet och kommandon **11 ULLL L-Q- tre: WCS SO!!! alstrar två buss-cykel=operationer är (1) kommandot inmatning av tillstånd, (2) kommandot inmatning av identitet och (3) kommandot läs RAM. Endast en buss-cykel krävs för att avge ett skrivkommando eller godtyckligt annat kommando till WCS. I detta fall är CPU alltid styrorgan och all erforderlig information överföres till WCS W i en buss-cykel. En fullständig beskrivning av bussen 13 återfinnas E i amerikanska patentskriften 3 993 981 av 1976-11-23. Förteckning q över de buss-styrsignaler som är beskrivna i denna patentskrift lämnas nedan för att göra framställningen lättare att följa.
Det finns sju viktigare buss-signaler som styr buss-operatio~ nerna. En beskrivning av dessa signaler i relation till HCS åter- finnes i det följande. Varje signal är "sann" när dess buss-ledning är driven till jordpotential. _ BSREQT (buss-inkallning) ~ När denna signal år "sann" att en styrenhet inkallar en buss-cykel. Denna signal drivs till "sann" av WCS endast vid inkallning av en andra halva av en buss- -cykel. ' I BSDCNN (Data-cykel nu) - När denna signal är fisannfi anger den att en styrenhet har placerat information på bussen för att användas* av en speciell slavenhet. Om WCS ej utgör styrenhet måste den nu bestämma om den är den adresserade slavenheten och bestämma svaret till styrenheten. De tre möjliga svaren är: (1) BSACKR, (2) BSWAI och (3) BSNAKR. Under en andra halv läsbuss-cykel är WCS styrenhet och driver BÉDCNN till "sann" när den överför giltiga data till CPU. Dessa svar beskrives som följer: BSACKR (Kvitteringssvar) - WCS driver denna signal till "sann" för att informera CPU (styrstationen) att den accepterar den aktu- ella buss-överföringen.
BSWAIT (vänt-svar) - WCS driver denna signal till “sann"för att anger den , -~_~.<.e;g..,-f, 10 15 20 ft) H1 30 35 UO 7904063-0 A v 29 meddela styrstationen att WCS behöver mera tid för att verkställa V kommandot; Detta medför att styrstationen upprepar buss-cykelsänd- f ningen. Dwcs alstrar ßsvnxr-ever för följande kemmeneen: (1) 1nsåne.í (2) RAM-utgång, återgång till Pnon-kentreii, samt <3) Läs- eiier 5 skriv-RAM. I _ _ BSNAKR (Negativt svar) - WCS driver denna signal till "sann" för att meddela styrenheten att den har detekterat ett fel och ej accepterar buss-överföringen. Följande WCS-tillstånd kommer att V medföra ett NAK-svar: (1) Megabuss-paritetsfel, (2) RAM-laddnings- E fel har detekterats, och (3) Ett ej existerande organ har adresse- rats. HSS väntar sig aldrig att få ett BSNAKB som svar på en andra í laeeyuei-halva. om_ett Bsunxa mottages, kommer wcs ej att kalla in 2 någon andra läscykelhalva och CPU kommer aldrig att ta emot ifråga- f varande data. y V _ L BSMREF (Minnesreferens) - Denna signal anger när den är "sann”¿ att detta är en minnesreferenscykel. WCS driver denna signal till "falsk" under en andra halv läscykel.
BSSHBC (Andra buss-cykelhalva) - Denna signal anger att detta är andra halvan av en läscykel. WCS driver denna signal till "sannlš när den överfer neta till cPu," A När CPU avger ett WCS-kommando måste WCS svara med en av de tre svarssignalerna: (1) BSWAIT (uppehåll CPU - sänd kommandot åter- då igen), (2) BSACKR (normal kvittering - kommandot accepterat), eller}§ BSNAKR (negativt svar - kommandot ej accepterat). t É BSHAIT=signalen används för att hålla an med GPU för att ge tid: försett åstadkomma access till RAM eller omkoppling mellan FROM ooh É RAM-fast-programvaru-kontroll. Som ovan nämnts krävs olika uppe- "E hålls- eller dröjsmålstider för olika kommandont Antalet alstrade Bâwâlï-svar betingar den erforderliga fërdröjningen.
Ett skiftregister 230 enligt fig. 2ü används för att alstra det korrekta antalet svar. Samtliga kommandon som avges till WCS 2 1-ställer en viss bit i skiftregistret när WCS~buss-stroben (MYâDD2} alstras via OCH-grindarna 236 och 238. Kommandona mottages på respektive ingångar till skirtregistret 230 beroende på antalet väntperioder som krävs i enlighet med vad som ovan nämnts. Två sådana kommandon som kräver lika många väntperioder mottages på samma ingång hos skiftregistret 230 via ELLER-grinden 2UO. Om det sista steget i skiftregistret (PREACK) ej är 1-ställt, alstras ett ESHAIT-svar via ELLER-grinden 2ü2. Detta medför att buss-cykeln avslutas och att en efterföljande ny buss-cykel alstras. Varje 10 15 20 FU kfl 30 35 H0 “ 7904063-n 30 l¿ áterutsänd buss-cykel alstrar en ny MYADD1 oem eftersom någon bit tidigare var 1-ställd i skiftregistret alstras\en skiftpuls (NOSHIFT) via OCH-grinden 23H. Detta medför att den lagrade biten förskjutes eller "skiftas" 1 riktning mot det sista steget (PREACK) i skiftregistret 230. Om PREACK ej är 1;stä1lt, avges återigen ett BSHAIT-svar, vilket medför en ny buss-cykel och ett nytt skift. När 1 å andra sidan PREACK är 1-ställd, alstras ett BSACKR-svar via j OCH-grinden ZUU. Detta avslutar buss-operationerna och meddelar CPU f att HCS har accepterat kommandot. 2 D 'Om en fel-bit är lagrad (COOLAK) i WCS' tillståndsregister I PREAon ull "sann" ett negativt svar (BSNAKR) att avges via OCH-grindarna ZN6 och 2ü8 med OCH-grinden 2flN sparrad genom grinden 2U6 och inverteraren 250. På Läs-tillstånd, Läs-identifie- ring. Laddningsadress eller Initiering ges aldrig svaret NAK av HCS. Det negativa svaret avslutar buss-operataionen och informerar CPU om att WCS ej accepterade kommandot. WCSÉ tillståndsregister 88 É kan avfrågas för bestämning av felets art.
Som framgår av fig..5 och 25 är bussadressräknaren 68 en Denna räknare lagrar den RAM-adress som kommer när FY H1* 1D-bits upp-räknare. _ används för åtkomst till RAM när antingen ett läs-RAM-kommande eller ett skriv-RAM-kommando är under utförande. Adressen ifråga laddas från början med ett särskilt WCS-kommando (LDEADD) som mottages på en ingång hos OCH-grinden 260 och därefter uppstegas medelst BSCNCK- -signalen (se fig. 12) varje gång ett läsfRAM¿kommando eller ett skriv-RAM=kcmmandc verkställes. Eftersom det fastesrogramvaruord som är lagrat i ett RAM-område är BB bitar "brett" och systembuss- -dataledningarna endast kan behandla ett (16-bits) dataord, används de minst signifikanta bitarna i denna räknare (ÉADDO1, SADDO0) såsom dataord-utpekande bitar. Den binära konfigurationen av dessa bitar utpekar det dataord inom ett fast-programvaruord som skall behand- las. Vid inskrivning i RAM bestämmer dessa bitar vilken skriv-crd- -puls som alstras för varje kommando. Vid utläsning från RAM styr dessa bitar utgången från utgângsdataväljaren MUX 82 och väljer därför den ord som skall överföras :111 cPu._ när en begynneiseaa- reas laddas i denna räknare 68, är dessa pekar-bitar nollstållda.
Detta säkerställer att pekar-bitarna ifråga alltid kommer att utpeka det första dataordet (ordet O) när det första läs- eller skr1v-kom- mandat avges efter det att adressladdningskommandot har utförts.
Själva den adress som används för åtkomst till RAM är lagrad i de övre 12 bitarna i detta register (CSAD00-CSAD11). . *f,-ïf="lflr-g^ß.'xt=fl=z-g.r¿rsq~f;~, BG 35 00 7904063-0 31 Bussadressräknaren uppstegas varje gång ett läs- eller skriv- « -RAM-kommando har utförts. Tvåhundrasjuttio nanosekunder efter det att ett läs- eller skriv-kommando har lagrats, kommer en-förlopps- vippan 128 (BscNcK+) (ge rig. 19) at:'u16qkas :111 ~=ann", vilket anger att dataordet har antingen utlästs från eller inskrivits i RAM-minnet. Denna övergång medför att bussadressräknaren uppstegas, vilket i sin tur medför att pekar-bitarna utpekar nästa fast-pro- gramvaru-ord. När nästa läs- eller skriv-kommando avges kommer sålunda nästa dataord att behandlas. Fyra läsningar resp. inskriv- ningar innebär läsning resp lagring av ett komplett fast-program- när sa sker uppstegar räknaren automatiskt räknar-bitarna Det erfordras varu-ord. för access till RAM i nästa i tur varande RAM-område. inget nytt RAM-laddningsadress-kommando.
Som ovan nämnts kan WCS alstra en fast-programvaruadress på ett. av följande arbetssätt: (1) Normal transparent-mod och (2) Sekvens-mod. En för manuell manövrering anordnad omkopplare 95, some är placerad i WCS, används för att välja arbetssättet för WCS. vid sekvens-m0d@fi fifllkaß 3 bitar (53, 50, H9) i fast-programvaruordet av: WCS för bestämning av källan till nästa fast-programvaru-adress. Isi denna sekvens=mod driver wCS-logiken dessa bitar (CSNâi1, CSBRG1 CSBRO2) till "falsk“ allteftersom de avges till CPU via det "pri~ _ vata" interface-organet 16 mellan WCS och CPU. Vid transparent-mo- g den läses dessa tre bitar från RAM och avges oförändrade till ett register i CPU 12. Vid detta arbetssätt alstrar normal CPUQNAG- -logik nästa fasteprogramvaruadress. Transparent-mod-vippan (TRANSP) 27o'säkerstä11er'att cPu$s NAG-utgång väijes för att M adressera WCS RAM. Omkopplaren 95 för omkopplíng mellan transparent? mod och sekvens-mod (TP) visas i detalj i fig. 26. Denna omkopplare; Endast två omkopplarlägen är * kan vara'en "hex"~ vridomkopplare. M dock giltiga (O och F). I läget F är sekvens-moden vald och i lägetm 0 är transparent-moden vald. När nämnda TP-omkopplare väljer transparent mod (läge 0) är funktionen STABO9- kopplad till jord, vilket medför att WCS-transparent-mod-tillståndsbiten (STAB09) nå inverterarens 272 utgång är ”sann” och sekvensmod-tillståndsbiten (STABON) på inverterarens 27U utgång är "falsk". I detta läge dirigerar omkopplaren 95 utsignalerna från RAM-minnena (MEMD63, MEMD50, MEMDU9) direkt till det lokala registret 1 CPU's PRQM såsom ¿ bitarna CSNA11, CSBRO2 CSBR01.
När TP~omkopplaren väljer sekvens-moden (läget F) är de i fig.d; 26 öppna kontakterna slutna. Detta medför att PLUP15+ i ena änden «.:.f_~.-.1-'.-ev'1~. 1.:., .a _ _ , _ . ,, _ r t -«-- ...so- .-;.-ls,.<«,~,f.«.-;<~:-.»_, nya' flåäz. 10 15 20 25 30 35 00 79o4o63-o “ , 32 av resistorn 278 är jordad och att sålunda sekvens-mod-tillstånds- biten (STABOU) är "sann" och att transparent-mod-tillståndsbiten (STAB09)är "falsk". När STAB09 är "falsk", aktiverar den drivorgan (NA1100, BROZOO, BR0100) 280 via OCH-grinden 282. Dessa drivorgan drives alltid till "falsk" och väljas av TP-omkopplaren 95 som fast-programvaru-bitarna 03, 50, H9 vilka tillföres till CPU för sekvens-munen. om cPu'='PnoM är aktiverad (vnoucsl, är dessa drivorgan'passiverade för att tillåta normal utgångsinformation från CPU-styrminnet att laddas i CPU's lokala register. Transparent- -mod-vippan (TRANSP) 270, som styr WCS-RAM-adresseringen, 1-ställes ej direkt av transparent-mod-omkopolarem. Ee (SPLCLR) via 0CH~grinden 28ü'till T?-omkopplarens tillstànd först efter det att ett ingângs-kommando har verkställts. Detta möjliggör att WCS genomför en ingång till användarens fast-programvara, varefter,v under den omedelbart därpå avlöpande klockoykeln (SPLCLB). använda~ rens fast-programvara verkställes i den mod som är vald medelst TP-omkopplaren 95. TRANSP-vippan 270 nollställes till sekvens-mod via ELLER-grinden 286 om ett kommando "återgå till PROM“ avkodas (EXITRM) eller en inítíeringssignal (INMCLR) avkännes. Om vippan 270 nollställes, kräver den ytterligare ett ingângskommando för att åter 1-stäila TRANSP 270. 0 r Utgången hos CPU's fast-programvaru-PROM och utgången hos WCS'sê RAM-minne är fysikaliskt hopkopplade på utgången av CPU-styrminnet.
Därför får endast ett i taget av dessa minnen vara aktiverat. Som framgår av fig. 27 bestämmer vippan PROM=styraktivering CPROMCE? 300, som befinner sig i WCS, vilket minne som är aktiverat. Om PROMCE 300 är 1-ställt, är CPU-PROM-minnet aktiverat. CPU-PROH-ak- tiveringssignalen (PRQMCE-01) tändes till CPU 12 via ELLER-grinden 30k. vDenna signal, härledd direkt från PROMCE-vippan 300, underkas tas ELLER-operation med läs/skriv-RAM-tidgivnings-enförloppsvippan BSCNCK 128 (fig. 19).q Denna grind-operation säkerställer att CPU's PROM-minnen är passiverade under den tid då den egentliga utläsning en ur eller inskrivningen i RAM sker. När en-förloppsvippan 128 återgår tillstànd genom funktionen PROMDD via inverteraren 306. Om det emellertid föreligger ett tillstånd med påtvingad PROM~styrninm W (BSERRS), som anges på utgången av ELLER-grinden 308, kommer PRQRCE É 300 att 1-ställas och kontrollen kommer att fortsätta att ligga hos E CPU's fast-programvara. När följande villkor är uppfyllda 1~ställes§ PROMCE 300 tvångsvis och därmed aktiveras CPU's FROM: 3 I n kloekas 10 15 20 h.) U! 30 35 .veringssignalen KSKILL till "sann". 7904063-0 v 33 *(1) Om CPU upptäcker ett större fel (exempelvis ett katast- rofalt«minnesfel etc.) tvingar den samtliga CPU-NAG-ledningar att anta tillståndet noll. Om WCS är i sekvens-mod (TRANSP-) och detekterar ett NAG-tillstånd "enbart nollor", driver den PROM-akti- (2) Om WCS alstrar ett NRK-svar, framtvingas PROM-aktive- ringen, Ett NAK-svar kan alstras endast om en WCS-feletillståndsb är 1-ställd. (3) om en initieringssignai avkännes (INMCLR), 1-ställas PROMCE för att aktivera CPU-PROM~styrningen.
Bet f nns två villkor som när de är uppfyllda tvingar PRÖMCÉ l as som svar på RAMLET-signalen på utgången av -grinden 310 så att HCS-RAMfstyrningen aktiveras: (1) När ett ingångskommando (SPCONT) är lagrat i WCS, och -'(2) När WCS alstrar ett vänt-svar (UNDWAT) på ingången av OCH-grinden 312 under utförandet av ett på inverterarens 313 utgång mottaget RAM-läs- eller -skrivkommando (RAMSEL).
Vippan 320 används under initieringen av lagringsanordningen n: v var, bhhüfl* enligt uppfinningen. Aterställníngsingången är vi ELLER=grinden 322 kopplad till raderings-, skriv- och feltillstånds-ingångssigna- ler, av vilka vilken som helst medför ett spärrningstillstånd. När_* någon, vilken som helst, av dessa spärrsignaler är aktiv, sker en ' operation "återgång till PROM". När vippen 320 är nollställd, kommer signalen WCSRDY ej längre att ange ett aktivt tillstånd till R CPU, i vilket fall ett ingångskommando ej kommer att accepteras förrän ifrågavarande spärrtillstånd hävts. Vippans 320 1-stä1l- ningsingång är kopplad för att ta emot en funktionskod som i principä är ett via bussen 1% mottaget laddningskommando. Om laddningen ä " felaktig eller ej har fullgjorts på korrekt sätt, så kommer noll- ställningen av vippan 320 att med prioritet ta över kontrollen över 1-ställningsfunktionen och man får en indikering (HCSRDY-) tillbaka till CPU att WCS ej är redo. Härtill kommer för den senare använd~ ningen av CPU att tillståndet för en tillstândsbit (nummer 7) är ändrat i tillståndslogiken 88, så att tillståndet ifråga blir iakttagbart för CPU. Denna tillståndsbit kan vid en senare tidpunkt 3 ange att WCS ej är redo, om i själva verket ett fcltillstånd har å uppstått, trots att systemet ursprungligen har angett att WCS var f redo. Ett ingångskommando avges ej till WCS om HCSRDY-vippen 320 ärjš nollställd. Denna vippa nollställes när inskrivning har skett 1 wâßtš Rån, en initieringssignal (nollställning) har avkänts, ett feltilla lá ,g'19o4o6s-o 10 15 20 25 30 _35 30 , 31% stånd har avkänts eller om ett NAK-svar har mottagits av HCS.
HCSRDY-vippan 320 1-ställes endast genom avgivandet av ett tillämp- ligt utgångskommando från CPU till WCS. Pâ detta sätt kan CPU säkerställa att användarens fast-programvara i WCS endast verkstäl- les med tillåtelse från CPU, d.v.s. att ett spärrtillstånd eljest råder. Logiken enligt fig. 23 visar det sätt på vilket ökninge- steg-adressräknaren 70 laddas och klockas. Logikelementen 190, 192- 19U, 198, 200 och 202 visade det sätt på vilken denna laddningsope~ 0 ration och denna klockningsoperation genomfördes. Fig. 28 visar en alternativ utföringsform för dylika logikelement. Logiken enligt fig. 26 är speciellt användbar på grund av dess extremt höga funk- tionshastighet. När en adress har mottagits på utgången av direkt-J access-multiplexern 76 och därmed på räknarens 70 ingång liksom även adressingången till WCS's fasteprogramvaruminne 2N, måste exempelvis denna adress laddas och därefter uppstegas i räknaren 70 inom en och samma cykel. För att göra problemet ännu mera komplicerat måste en . tidsperiod förflyta under cykeln för att säkerställa att adressen på, multiplexerns 76 utgång är stabil och därmed felfri. Eftersom : minnet 2H ej kräver den tid som räknaren 70 behöver för genomföran-f det av respektive operationer, innebär detta tidgivníngsproblem ingafi svårigheter för minnet 2D. 'Sålunda måste räknaren 70 vänta en del É av cykeln för att säkerställa att adressen är stabil, varefter den före nästa cykel-start måste ladda adressen ooh därefter uppstega adressen ifråga, vilken uppstegning måste vara slutförd i god tid innan nästa cykel börjar. I Hänvisning göres nu till den i fig. 28 visade logiken. 0 nämnda snabba operationen vid laddning och efterföljande uppstegningš åstadkommas med användning av ett fördröjningsorgan 350, exempelvísfê en fördröjningsledning med ett enda uttag 360 anslutet ungefär halvvägs nedför fördröjningsledningen 350 och med fördröjningslcd- ningens utsignal kopplad såsom "tvilling-ingångssignaler" till en EXELLER-grind 353 för alstring av en klockpuls. En laddningsaktive~ ringssignal alstras medelst en NOCH-grind 352 som år koppad för att, ta emot tre ingångssignaler, en från fördröjningsledningens 350_ utgång och en annan, cykel-initieringsslgnalen, som mottages nära slutet av cykeln och anger att nästa cykel är nära förestående. Del tredje ingångssignalen mottages från Ülutgången hos vippan 356, som används för att säkerställa att endast en cykel från den i rig. 28 visade logiken alstras som svar på cykel-initieringssignalen.
Den vår-armen e .. __ , 10 15 20 25 30 35 H0 7904063-0 35 Vid drift kommer laddningsaktiveringssignalen att övergå till binär 0 efter_mottagning av initieringscykel-signalen (en binär 1), eftersom de båda övriga ingångarna hos grinden 352 från början är påö binär 1-nivå. Denna tillståndsändring från binär 1 till binâr 0 fortskrider längs fördröjningsledningen 350. _När en binär 0 motta- ges på uttaget 360, övergår klooksignalen på grindens 353 Utgång till binär 1, varefter, när den binära 0'an mottages på fördröj- ningsledningens 350 utgång, utgången hos grinden BSH övergår till en binär 0 och därmed fullbordar alstringen av klocksignalen. Atermat-v ning från fördröjningsledningens 350 utgång till grinden 352 av den n binära 0'an medför då att utgången hos grinden 352 övergår till en binär 1'a, varigenom laddníngsaktiveringssignalen avslutas ooh en binär 1 bringas att fortskrída längs fördröjníngsledningen 350. En ytterligare klocksignal alstras när den binära 1'an mottages på uttaget 360. Denna ytterligare signal avslutas när den binära 1-signalen fortsätter längs ledningen 350 och når denna lednings Slut. 7 ¿ Laddnings-aktiveringssignalen alstras sålunda före och under É alstringen av den första klooksignalen, och den samtidiga närvaron Ä av dessa signaler "klookar in" adressen i räknaren 70. När den andra klocksignalen mottages och laddnings-aktiveringssignalen ej längre är kvar uppstegas räknaren. “ Vippan 356 används för att säkerställa att endast en dylik operation eller operationsoykel alstras i den i fig. 28 visade logiken. Aterställnings-klooksignalen, som mottages strax före initieringsoykel-signalen, används för att återställa vippan 356. 4 Ursprungligen är därför Ölutgångssignalen en binär 1. När en bínär 0% mottages på ï-ställnings-ingången, kommer vippen 356 att 1=ställas,'š och Ü-utgångssignalen kommer att ändras till en binär 0 så att en V binär 1 bibehålles på grindens 352 utgång och ytterligare binära tillståndsövergångar hindras ske förrän återställnings-klockaignalenÉ åtföljd av initieringscykel-signalen återigen mottages. E

Claims (5)

affär” “' ^“*“ när? ”i Et'-"r~f:fJ'=_W=:1ï_~.'-' ~r«__ 'w<^',-.~.- f-""~_--« Patentkrav
1. Databehandlingsanläggning innefattande en anlägg- ningsbuss (14), en centralprocessor (12), som är kopplad till bussen och som har ett första styrminne, vilket lagrar ençmnmment mängd av anläggningsstyrande míkroinstruktioner, samt åtminstone ett annat minnesorgan, som är oberoende kopplat till bussen (14), varvid nämnda processor (12) ut- väljer mikroinstruktioner från sitt första styrminne för att styra anläggningens drift vid exekverande av ett användar- program, k ä n n e t e c k n a d av att nämnda minnes- organ innefattar ett styrminnesorgan (10), som är kopplat till bussen (14) för att mottaga adresser, instruktioner och data från denna och för att överföra information till densamma och som dessutom har en privat gränssníttförbindelse (16) till centralprocessorn (12) för att mottaga mikroinstruktions- adresser från densamma och för att mata ett dataord till densamma, varvid nämnda minnesorgan (10) innefattar ett andra styrminne (24), som innehåller en mängd av externt matade, användargenererade mikroinstruktíoner för utökande av de i nämnda processor i ett flertal adresserbara celler tillhandahållna mikroinstruktionerna, ett mottagningsorgan (62), som är anslutet till bussen för att mottaga adresser, instruktioner och data från densamma, ett första adresserings- organ (68), som är anslutet till nämnda mottagningsorgan för att mottaga adressinformation från detsamma och som är kopplat till nämnda andra styrmínne för att mata adresser till detta, samt organ (63,64), som är anslutna till bussen för att styr- bart överföra en användargenererad mikroínstruktion från en adresserad cell i nämnda andra styrminne till centralprocessorn via bussen, varvid styrminnesorganet (10) vidare innefattar ett organ (76) för att utvälja en adress för det andra styr- minnet (24), som matas via nämnda privata gränssnittförbindelse (16) från centralprocessorn, varvid nämnda andra styrminne (24) har en dataordutgång, vilken är ansluten direkt till nämnda privata gränssnittförbindelse (16) för direkt överföring av en mikroinstruktion till centralprocessorn.
2. Anläggning enligt kravet 1, k ä n n e t e c k n a d av att styrminnesorganet (10) innefattar organ (80,89) för laddning av mikroinstruktionsord, vilka mottages via bussen, i nämnda andra styrminne (24), samt organ (34,84,86), som reagerar för en läsinstruktion, som mottagits från nämnda buss, _ L d 7d90.4063-9 för överföring av data, som lästs från nämnda andra styrminne, via nämnda buss till processorn för verifíkatíon.
3. Anläggning enligt kravet 1 eller Z, k ä n n e t e c n a d av att styrmínnesorganet (10) vidare innefattar ett f1erra1 aaresskä110r (16, 66, ss, 70, 72, vs) samt adress- utväljníngsorgan (74, 76, 91) för utväljníng av källan för adressering av det andra styrminnet (24).
4. Anläggning enligt något av de föregående kraven, k ä n n e t e c k n a d av att en logikkrets (fíg. 17-28) i nämnda styrminnesorgan (10) är anordnad att reagera för en förutbestämd order för att nämnda andra styrminne (24) från processorns styrminne skall kunna taga över exekveríngen av användarprogrammet och för att styrminnesorganets logik- krets vid avslutande av en i det andra mínnesorganet lagrad användargenererad rutin skall generera en överföríngssignal, k.. som àterför exekverinßen av programmet till processorns styr- minne.
5. Anläggning enligt kravet 4, k ä n n e t e c k n a d av att styrmínnesorganets logíkkrets är anordnad att inaktivera nämnda andra styrmínne (24) under det att detsamma laddas med information.
SE7904063A 1978-10-02 1979-05-09 Databehandlingsanleggning med en centralprocessor som har for en anvendare tillgengligt styrminne SE444235B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/947,987 US4236210A (en) 1978-10-02 1978-10-02 Architecture for a control store included in a data processing system

Publications (2)

Publication Number Publication Date
SE7904063L SE7904063L (sv) 1980-04-03
SE444235B true SE444235B (sv) 1986-03-24

Family

ID=25487087

Family Applications (1)

Application Number Title Priority Date Filing Date
SE7904063A SE444235B (sv) 1978-10-02 1979-05-09 Databehandlingsanleggning med en centralprocessor som har for en anvendare tillgengligt styrminne

Country Status (12)

Country Link
US (1) US4236210A (sv)
JP (1) JPS5549750A (sv)
AU (1) AU532568B2 (sv)
BE (1) BE878371A (sv)
BR (1) BR7903423A (sv)
CA (1) CA1116303A (sv)
DE (1) DE2938929C2 (sv)
FR (1) FR2438298B1 (sv)
GB (1) GB2032661B (sv)
IT (1) IT1120522B (sv)
NL (1) NL7905916A (sv)
SE (1) SE444235B (sv)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241666A (en) * 1979-06-04 1993-08-31 Unisys Corporation Variable rate improvement of disc cache subsystem
US4399505A (en) * 1981-02-06 1983-08-16 Data General Corporaton External microcode operation in a multi-level microprocessor
US4439827A (en) * 1981-12-28 1984-03-27 Raytheon Company Dual fetch microsequencer
US5239636A (en) * 1988-09-09 1993-08-24 Advanced Micro Devices, Inc. Buffer memory subsystem for peripheral controllers
JPH04305735A (ja) * 1991-04-02 1992-10-28 Mitsubishi Electric Corp マイクロプログラム制御回路
JP3190945B2 (ja) * 1991-04-08 2001-07-23 三菱電機株式会社 マイクロプログラム制御回路
JPH086796A (ja) * 1994-06-15 1996-01-12 Nec Corp ダウンロード方法、そのネットワークシステム、及びデータファイル更新方法
US10824938B2 (en) 2017-04-24 2020-11-03 Intel Corporation Specialized fixed function hardware for efficient convolution

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
US3828320A (en) * 1972-12-29 1974-08-06 Burroughs Corp Shared memory addressor
US4042972A (en) * 1974-09-25 1977-08-16 Data General Corporation Microprogram data processing technique and apparatus
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources
US4044339A (en) * 1975-12-15 1977-08-23 Honeywell Inc. Block oriented random access memory
US4075687A (en) * 1976-03-01 1978-02-21 Raytheon Company Microprogram controlled digital computer
US4045782A (en) * 1976-03-29 1977-08-30 The Warner & Swasey Company Microprogrammed processor system having external memory
US4131941A (en) * 1977-08-10 1978-12-26 Itek Corporation Linked microprogrammed plural processor system
JPS5498125A (en) * 1978-01-20 1979-08-02 Hitachi Ltd Control storage unit of computer

Also Published As

Publication number Publication date
SE7904063L (sv) 1980-04-03
US4236210A (en) 1980-11-25
CA1116303A (en) 1982-01-12
JPS6333177B2 (sv) 1988-07-04
JPS5549750A (en) 1980-04-10
AU5103679A (en) 1980-04-17
BR7903423A (pt) 1980-09-02
GB2032661B (en) 1983-04-27
IT7950062A0 (it) 1979-08-20
BE878371A (fr) 1979-12-17
NL7905916A (nl) 1980-04-08
IT1120522B (it) 1986-03-26
DE2938929C2 (de) 1987-03-19
GB2032661A (en) 1980-05-08
DE2938929A1 (de) 1980-04-17
AU532568B2 (en) 1983-10-06
FR2438298B1 (fr) 1987-12-18
FR2438298A1 (fr) 1980-04-30

Similar Documents

Publication Publication Date Title
US4503490A (en) Distributed timing system
KR900005453B1 (ko) 공유자원의 로크아웃 동작방법 및 장치
KR890002330B1 (ko) 멀티프로세서 시스템
EP0157075A1 (en) Modular data processing system
CN110249319A (zh) 处理i2c总线死锁的方法、电子设备和通信系统
SE424114B (sv) Central processorenhet-anordning
JPS62251933A (ja) 多重ポ−ト・メモリ・アレイのシミユレ−シヨン方法
CN1279789A (zh) 由处理器本机总线承载的dma飞越成组传送
JPS6315608B2 (sv)
JPS5935056B2 (ja) デ−タ処理装置
US11386025B2 (en) Daisy chain complex commands
US3623010A (en) Input-output multiplexer for general purpose computer
CA1326914C (en) Multiple word size computer interface with master capabilities
SE444235B (sv) Databehandlingsanleggning med en centralprocessor som har for en anvendare tillgengligt styrminne
KR920010952B1 (ko) 데이터처리장치에서의 명령버퍼기억장치의 제어회로 및 제어방법
KR940002087B1 (ko) 프로그램 가능한 인터럽트 제어기
JPH0626336B2 (ja) 制御リンク
US4432050A (en) Data processing system write protection mechanism
US4217639A (en) Logic for generating multiple clock pulses within a single clock cycle
US5093902A (en) Memory control apparatus for accessing an image memory in cycle stealing fashion to read and write videotex signals
US4037210A (en) Computer-peripheral interface
CN103729213A (zh) 一种Flash在线升级的方法及装置
CN1248128C (zh) 通信总线中差分选通的方法和装置
US3905021A (en) Circuit arrangement for interpreting the content of a register as an instruction
Navabi Hardware program simulator

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 7904063-0

Effective date: 19941210

Format of ref document f/p: F

NUG Patent has lapsed

Ref document number: 7904063-0

Format of ref document f/p: F