FI87283B - Distribuerat kontrollminnesord -arkitektur. - Google Patents
Distribuerat kontrollminnesord -arkitektur. Download PDFInfo
- Publication number
- FI87283B FI87283B FI854043A FI854043A FI87283B FI 87283 B FI87283 B FI 87283B FI 854043 A FI854043 A FI 854043A FI 854043 A FI854043 A FI 854043A FI 87283 B FI87283 B FI 87283B
- Authority
- FI
- Finland
- Prior art keywords
- subunit
- microinstruction
- micro
- interrupt
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Exchange Systems With Centralized Control (AREA)
- Computer And Data Communications (AREA)
- Steam Or Hot-Water Central Heating Systems (AREA)
- Debugging And Monitoring (AREA)
- Processes Of Treating Macromolecular Substances (AREA)
- Manufacture, Treatment Of Glass Fibers (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Ceramic Products (AREA)
- Logic Circuits (AREA)
- Multi Processors (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Circuits Of Receivers In General (AREA)
Description
, 87283
Hajautettu ohjausrauistisana-arkkitehtuuri. - Distribuerat kontrollminnesordarkitektur.
Keksinnön menetelmä ja laite kohdistuu yleisesti arkkitehtuuriin sen ohjausmuistin hajauttamiseksi, jota käytetään ohjaamaan ohjelmoitavaa laitetta, ja tarkemmin sanottuna sellaisen mikro-ohjelmoidun elektronisen tietojenkäsittelyjärjestelmän ohjaus-muistiarkkitehtuuriin, jossa lukuisilla aliyksiköillä on omat paikalliset ohjausmuistit.
Yleinen käytäntö nykyään on asentaa tietojenkäsittelyjärjestelmiä, joissa ohjelmistokäsky suoritetaan käyttämällä kiinteällä ohjelmistolla ohjattuja mikroprosessoreita. Tämän tyyppisessä järjestelmässä kiinteä ohjelmisto on talletettu sarjana mikro-käskyjä muistiin, jota kutsutaan ohjausmuistiksi. Ohjausmuisti voi olla suorasaantimuisti (RAM), johon voidaan kirjoittaa ja josta voidaan lukea, tai se voi olla jonkun tyyppinen kiinto-muisti (ROM). Kiinteätyyppistä ohjausmuistia kutsutaan usein lukumuistiksi ROS. Kiinteän ohjelmiston käyttö on lisääntymässä, kun järjestelmien logiikka on enemmän mikro-ohjelmoitavaa.
Nykyään on yleistä, että tietojenkäsittelyjärjestelmissä on keskusprosessori, joka on mikro-ohjelmalla ohjattu, sekä erilaisia oheislaiteohjaimia, joista kukin voi olla mikro-ohjelmalla ohjattu. Tällaisissa järjestelmissä keskusyksikön (CPU) ohjaus-*...· muistia ohjataan ja osoitetaan logiikalla, joka sijaitsee kes-. : kusprosessorissa, ja jokaiseen oheisohjaimeen liittyviä ohjaus- : muisteja ohjataan ja osoitetaan logiikalla, joka sisältyy kuhunkin oheisohjaimeen. Viimeisimmän kehityksen mukaista on, että lukuisia aliyksikköjä on sellaisessa yksikössä, jota ohjataan yhdellä tai useammalla ohjausmuistilla. Yksi tällainen järjestelmä on esitetty kuvassa 1, jossa CPU koostuu mikroprosessorista 1, kaupallisesta käskyprosessorista 3, mikroprosessori ROS lista 9, kaupallisen käskyprosessorin ROSiista 11. Keskusprosessori on : yhteydessä pääväylään 27 linjoja 46 pitkin. Pääväylä 27 koostuu ohjaus-, tieto- ja ohjauslinjoista, joita eri yksiköt käyttävät siirtämään tietoa niiden välillä. Päämuisti 29 on 2 87283 yhteydessä pääväylään 27 linjoja 48 pitkin ja sitä käytetään tallettamaan ohjelmistokäskyjä ja tietoa keskusyksikköä varten. Oheislaitteet 31 ja 33 ovat yhteydessä linjoja 50 ja 52 pitkin, tässä järjestyksessä, pääväylään 27 ja niitä käytetään syöttämään, tulostamaan ja tallettamaan tietoa tietojenkäsittelyjärjestelmässä.
Tämän järjestelmän CPUrssa kaupallinen käskyprosessori (CIP) 3 toimii rinnakkain mikroprosessorin 1 kanssa. Mikroprosessori 1 on vastuussa binääristen aritmeettisten ja loogisten operaatioiden suorittamisesta keskusprosessorissa. Se on myös pääaliyksikkö vastaten sen ohjauksesta, mikä mikrokäsky luetaan ohjausmuistis-ta, joka koostuu mikroprosessori-ROSrista 9 ja CIP R0S:ista 11. Seuraava osoitteenmuodostuslogiikka 67 mikroprosessorissa 1 muodostaa osoitteen, joka on syöttö linjoilla 12 ROS-osoiterekiste-riin 19. Tämä osoite lukitaan ROS-osoiterekisteriin 19 sopivalla hetkellä mikrokäskyn suorituksen aikana, jolloin ROS-osoiterekis-terin 19 ulostulo on 12-bitin osoite, signaali ROSADDR, linjoilla 2, jota käytetään osoittamaan osoite mikroprosessori-ROS:ia 9 ja kaupallisen käskyprosessorin ROSria 11. Nämä osoitteen 12 bittiä . . ilmoitetaan numerolla 12 vinoviivan vieressä linjalla 2. 12-bitin ROS-osoite voi osoittaa mitä tahansa 4K (1K=1024) 48-bitin sana-mikrokäskyä mikroprosessori-ROS:issa 9 ja mitä tahansa 2K 8-bitin mikrokäskyä CIP ROS rissa li. Jos osoite on välillä 0 - 2047, luetaan 48-bitin mikrokäskysana mikroprosessori-ROS:ilta 9, jolloin kaikki 48 bittiä menevät mikroprosessorin 1 ROS-tietorekis-teriin 53, ja jolloin 35 bittiä on signaali MPROSDT linjoilla 4 ja 13 bittiä on signaali CMROSDT linjoilla 8. Signaalin CMROSDT 13 bittiä linjoilla 8 menevät myös kaupallisen käskyrekisterin 3 ROS-tietorekisteriin 55. Jos 12-bitin ROS-osoite määrittää osoitteen välillä 2048 - 4095, luetaan 56-bitin mikrokäsky ohjausmuistista, jolloin 48 bittiä tulee mikroprosessori-ROS:ilta 9 ja 8 bittiä tulee CIP ROS riita 11. Tässä tapauksessa signaalin MPROSDT 35 bittiä linjoilla 4 menee ROS-tietorekisteriin 53 ja ROS-tietorekisteriin 55, ja CIPROSDT-signaalin 8 bittiä menee linjoilla 6 ROS-tietorekisteriin 55.
87283 3
Sen jälkeen kun mikrokäsky luettu ja se on mikroprosessorin 1 saatavilla ROS-tietorekisteristä 53, käytetään joitakin bittejä mikrokäskysanassa määräämään seuraavan ohjausmuistista luettavan mikrokäskyn osoite. Nämä bitit siirretään seuraavaan osoitteen-muodostuslogiikkaan 67 linjoja 10 pitkin. Lisäksi siirretään 4 bittiä kaupallisen käskyprosessorin 3 osoitinrekisteristä 61 seuraavaan osoitteenmuodostuslogiikkaan 67 linjaa 60 pitkin.
Nämä 4 bittiä linjalla 60 osoitinrekisteristä 61 liittyvät seuraavan ohjausmuistiosoitteen laskuun, jos mikroprosessorin 1 käsittelemä mikrokäsky sisältää mikro-operaation, joka määrittää, että sellainen päähaara on suoritettava, joka pohjautuu ilmaisimen 61 neljän bitin ehtoihin. Tämän mekanismin avulla mikro-ohjelmoijalla on mahdollisuus ottaa huomioon eri olosuhteet, jotka syntyvät kaupallisessa käskyprosessorissa 3, ohjelmoimalla haarautumisen ilmaisumikro-operaatioita mikrokäskyihin, jotka on talletettu mikroprosessori-ROS:iin 9. Kyky ohjata mikrokäskyjen vuota ohjaamalla seuraavan mikrokäskyosoitteen muodostamista voidaan nähdä kiinteän ohjelmiston vuosta kuvassa 2.
Kuvassa 2 lohko A sisältää mikrokäskyn MP1, joka suoritaa operaation mikroprosessorissa 1. Lohko A ei sisällä yhtään kaupallisella käskyprosessorilla 3 suoritettavaa mikro-operaatiota. Lohkossa B mikro-operaatio MP2 on ohjelmoitu suoritettavaksi mikroprosessorilla 1 ja CIP2 on ohjelmoitu suoritettavaksi kaupallisella käskyprosessorilla 3. Lohkossa C mikroprosessori 1 suorittaa mikro-operaation MP3 ja kaupallinen käskyprosessori 3 suorittaa mikro-operaation CIP3. Mikro-operaatioon MP3 on ohjelmoitu haarautuminen ilmaisimien perusteella. Jos haarautuminen suoritetaan, koska testatut ilmaisimet on asetettu, luetaan lohkoa H vastaava mikrokäsky ohjausmuistista ja mikro-operaatio MP6 suoritetaan mikroprosessorilla 1 ja CIP6 suoritetaan kaupallisella käskyprosessorilla 3. Seuraavaksi suoritetaan lohko I suorittamalla mikrokäsky MP7 mikroprosessorissa 1 ja CIP7 kaupallisessa käskyprosessorissa 3. Mikro-operaatio MP7 sisältää haarautumisen lohkoon F siten, että seuraava mikrokäsky luetaan paikasta F ohjausmuistissa, joka sisältää mikro-operaatiot MP8 ja CIP8. Jos mikrokäsky lohkossa C ei haarautunut, koska ilmai- f 4 87283 simet eivät olleet asetettuja, luettaisiin lohko D ja mikroprosessori 1 suorittaisi mikro-operaation MP4 ja kaupallinen käsky-prosessori 3 suorittaisi mikro-operaation CIP4. Seuraavaksi luettaisiin lohko E ja mikroprosessori 1 suorittaisi mikro-operaation MP5 ja kaupallinen käskyprosessori 3 mikro-operaation CIP5. Tässä vaiheessa mikro-ohjelma palaa päähaaraan, ja suoritetaan lohko F, jolloin mikroprosessori 1 suorittaa mikro-operaatiot MP8 ja kaupallinen käskyprosessori 3 suorittaa CIP8:n.
Seuraavaksi mennään lohkoon G, jolloin mikroprosessori 1 suorittaa mikro-operaation MP9 ja kaupallinen käskyprosessori 3 ei suorita mitään operaatiota. Yksityiskohtaisempi kuvaus kuvassa 1 esitetyn keskusprosessorin toiminnasta ja kuvassa 2 esitetystä mikro-ohjelman suoritusmenetelmästä on USA:n patenttihakemuksessa sarjanumero 537,991 nimeltään "A Commercial Instruction Processor for Performing Decimal Aritmetic Operations", jonka keksijät ovat John j. Bradley, Theodore R. Staplin, Jr., Ming T.
Miu, Thomas C. O'Brien, George M. O'Har, Melinda A. Widen ja Brian L. Stoffers.
Vaikka ylläkuvattu järjestelmä toimii varsin hyvin siten, että se sallii yksikön aiiyksikköjen ohjaamisen yhteisellä ohjaus-muistilla, on sille se haitta, että järjestelmässä olevien ali-- yksikköjen lukumäärä täytyy olla ennaltamäärätty, koska seuraa-.. van osoitteen muodostamislogiikka on suunniteltu käsittelemään edeltämäärätty määrä ulkoisia ehtoja, ja mikro-operaatioiden, jotka ohjaavat seuraavan osoitteenmuodostuslogiikan sisältävää yksikköä, täytyy myös olla ennaltamäärätty jä, jotta voidaan haarautua näiden erilaisten ulkoisten ehtojen mukaisesti. Sillä on lisäksi se haitta, että ohjelmoijan, joka kirjoittaa kiinteää ohjelmistoa yksikölle, täytyy olla tietoinen, milloin joku ehto voi ilmetä missä tahansa aiiyksikössä, ja hänen täytyy ohjelmoida testihaaroja kiinteään ohjelmistoon sen testaamiseksi, esiintyykö ehto mikro-ohjelmassa. Lisäksi testihaarat mikro-ohjelmassa voivat myös pitentää mikro-ohjelmaa ja aiheuttaa sen, että se suoritetaan hitaammin kuin muuten, jos mikro-ohjelman ei tarvitsisi testata ulkoisia olosuhteita muissa aiiyksiköissä.
ς 87283
Jos ohjausmuistiosoitteen muodostamista ohjaava pääaliyksikkö on yksi ainoa integroitu piiri, tai jos ohjausmuistin osoitteenmuo-dostusta ohjaava pääaliyksikön seuraavan osoitteen muodostuslo-giikka on yksi ainoa integroitu piiri, voi olla mahdotonta sijoittaa muiden aliyksiköiden lisäystä järjestelmään, mistä voi aiheutua sellaiset ulkoiset olosuhteet, joita pääaliyksikön on testattava pääsyn saamiseksi tähän mikro-ohjelman osaan, joka on kirjoitettu vastaamaan kyseisestä ulkoisesta ehdosta.
Tämän vuoksi on se, mitä tarvitaan, arkkitehtuuri, joka sallii mikro-ohjelmoitujen aiiyksikköjen helpon lisäämisen yksikköön ilman, että tarvitsee muuttaa logiikkaa pääaliyksikössä, joka ohjaa ohjausmuistiosoitteen muodostusta.
Siten eräs tämän keksinnön tehtävä on muodostaa arkkitehtuuri, jossa mikro-ohjelmoituja aliyksiköitä voidaan lisätä ilman, että tarvitsee muuttaa pääaliyksiköä, joka ohjaa ohjausmuistiosoitteen muodostusta.
Toinen tämän keksinnön tehtävä on muodostaa arkkitehtuuri, joka sallii ohjausmuistin jakamisen siten, että ohjausalimuistit voivat sijaita lähellä sitä logiikkaa, jota käytetään niiden mikro-operaatioiden suorittamiseen, jotka sijaitsevat vastaavissa oh-jausalimuisteissa.
Vielä eräs tämän keksinnön tehtävä on muodostaa arkkitehtuuri, joka ei vaadi pääaliyksikön testaavan aliyksiköissä vallitsevia olosuhteita, jotka vaativat käsittelyä erityisellä mikro-ohjelmalla .
Vielä eräs tämän keksinnön tehtävä on muodostaa arkkitehtuuri, joka vapauttaa mikro-ohjelmoijan kirjoittamasta sellaista mikro-ohjelmaa, joka jatkuvasti testaa erityistä käsittelyä vaativia ulkoisia olosuhteita.
Keksintö on kuvattu yksityiskohtaisesti 1iitteenä olevissa patenttivaatimuksissa. Keksinnön ylläolevat ja lisätehtävät ja 6 87283 -edut voidaan ymmärtää seuraavasta kuvauksesta yhdessä Piirosten kanssa.
Keksinnön avulla ohjausmuisti/ jota käytetään tallettamaan ohjelmoitavan yksikön mikrokäskyjä, voidaan jakaa yksikköön siten, että jokainen paikallinen ohjausalimuisti voi sijaita lähellä sitä aliyksikkölogiikkaa, jota ohjataan siihen liittyvästä paikallisesta ohjausalimuistista luetuilla mikro-operaatioilla. Pääaliyksikkö vastaa sen seuraavan mikrokäskyn osoitteen muodostamisesta, joka luetaan ohjausaliyksiköistä. Löyhästi toisiinsa kytketyt aliyksiköt voivat aiheuttaa keskeytyksen pää-aliyksikössä siten, että pääaliyksikkö voidaan saada tietoiseksi olosuhteista aliyksikössä, jotka vaativat erityistä käsittelyä mikro-ohjelmoidulla rutiinilla. Pääaliyksikkö on varustettu logiikalla aliyksikön kiertokyselyä varten siirtämällä tietoa aliyksiköistä pääaliyksikköön siten, että pääaliyksikkö voi päättää, mikä aliyksikkö aiheutti keskeytyksen tapahtumisen ja mikä erityinen ehto vaatii huomiota. On myös muodostettu logiikka sen estämiseksi, mikro-ohjelman ohjauksen alaisuudessa, että aliyksiköt aiheuttavat keskeytyksen pääaliyksikölle.
Menetelmä, jolla keksinnön menetelmä suoritetaan, ja tapa, jolla ; keksinnön laite on rakennettu, sekä sen toimintamuoto voidaan *·’ parhaiten ymmärtää seuraavan yksityiskohtaisen kuvauksen avulla yhdessä liitteinä olevien piirrosten kanssa, joissa samat viitenumerot edustavat samankaltaisia elementtejä eri kuvissa, ja ; joissa:
Kuva 1 on lohkokaavio nykytekniikan mukaisesta tietojenkäsitte-' lyjärjestelmästä, jossa kahta aliyksikköä ohjataan yhteisellä ·. ohjausmuistilla;
Kuva 2 on vuokaavio mikro-ohjelmasta, joka suoritetaan kuvan 1 tietojenkäsittelyjärjestelmällä; ·. Kuva 3 on lohkokaavio tämän keksinnön toteutuksena olevasta tietojenkäsittelyjärjestelmästä; li 7 87283
Kuva 4 on vuokaavio mikro-ohjelmasta/ joka suoritetaan kuvan 3 tietojenkäsittelyjärjestelmällä;
Kuva 5 on yksityiskohtaisempi looginen lohkokaavio kuvan 3 keskusprosessorin mikro-ohjelmoiduista aliyksiköistä; ja
Kuva 6 on ajoituskaavio erilaisille kellotus-/ ohjausmistinosoi-tus-/ ja ohjausmuistitietosignaaleille/ joita käytetään kuvien 3 ja 5 logiikassa.
Keskusyksikkö (CPU) ja muut elementit/ jotka muodostavat tämän keksinnön edullisen toteutuksen tietojenkäsitettelyjärjestelmän/ on esitetty kuvassa 3. Kuvassa 3 CPU muodostuu niistä elementeistä/ jotka ovat pääväylän 127 yläpuolella. CPU on yhteydessä järjestelmän muihin elementteihen linjoja 146 pitkin välimuistin 107 kautta, joka sisältää osoite-/ tieto-, ja ohjauslinjat pääväylään 127. Pääväylä 127 koostuu myös osoite-, tieto-, ja oh-jauslinjoista ja se toimii pääväylänä tiedolle, joka siirtyy päämuistin 129 ja oheislaitteiden 131 ja 133 välillä. Päämuisti 148 tallettaa tiedon ja ohjelmistokäskyt, jotka CPU suorittaa. Päämuisti 129 on liitetty pääväylään 127 linjoilla 148. Oheislaitteet 131 ja 133, jotka on liitetty pääväylään 127 linjoilla 150 ja 152, tässä järjestyksessä, ovat syöttö/tulostusyksiköitä, -- joita käytetään tiedon syöttämiseen, uudelleen hakemiseen tai tulostamiseen järjestelmään sisään tai sieltä ulos.
Keskusyksikön logiikka voidaan jakaa neljään aiiyksikköön, kuten ’ kuvassa 3 on esitetty. Mikroprosessori 101 suorittaa keskusyksikön aritmeettiset ja loogiset perusoperaatiot suorittamalla päämuistiin 129 talletetun ohjelman käskyt. Virtuaalimuistin hai1intayksikkö 103 muuntaa virtuaalimuistiosoitteet, jotka ovat ohjelmistokäskyissä, fyysisiksi osoitteiksi, jotka viedään välimuistiin 107 linjoilla 140. Edullisessa toteutuksessa virtuaali-osoite mikroprosessorilta 101 käännetään 30-bitin fyysiseksi osoitteeksi virtuaalimuistin hallintayksiköllä 103. Välimuisti 107 ottaa vastaan virtuaalimuistin hallintayksikön 103 antaman fyysisen osoitteen, ja suorittaa joko muistinluku- tai muistiin- 8 87283 kirjoitusoperaation päämuistissa 129, tai hakee tiedon tai ohjelmistokäskyn omasta sisäisestä muististaan.
Välimuistista 107 saatu tieto viedään mikroprosessorille 101 tai virtuaalimuistin hallintayksikölle 103 prosessoriväylää 138 pitkin, joka on 32-bitin levyinen väylä. Prosessoriväylä 138 on primääriväylä CPUrssa osoitteiden ja tiedon vaihtamista varten mikroprosessorin 101, virtuaalimuistin hallintayksikön 103 ja välimuistin 107 välillä. Liimalogiikka 105 sisältää erilaista logiikkaa, joka sitoo mikroprosessorin 101, virtuaalimuistin hallintayksikön 103 ja välimuistin 107 toisiinsa, ja kuten kuvassa 3 on esitetty, se sisältää ROS-tietorekisterin 159, kes-keytyksensallintalogiikan 173 ja kellogeneraattorin 125.
Kuvan 3 keskusyksikköä ohjataan kiinteällä ohjelmistolla siten, että mikroprosessoria 101, virtuaalimuistin hallintayksikköä 103, välimuistia 107 ja liimalogiikkaa 105 kutakin ohjataan mikro-operaatioilla mikrokäskyistä, jotka pidetään ohjausmuistissa. Kuten kuvassa 3 on esitetty, on edullisen toteutuksen ohjausmuis-ti kestomuisti, joka on hajautettu koko prosessoriin siten, että mikro-operaatiot eri aliyksikköjä varten on talletettu paikallisiin lukumuisteihin (ROS), jotka ovat lähellä sitä logiikkaa, joka käyttää mikro-operaatioita. ROS:in hajauttamisella on se etu, että se varsin kapea 14-bitin osoite, jota käytetään ohjaus-muistin osoittamiseen, on hajautettu keskusprosessorin mikro-ohjelmoituihin aliyksikköihin, kun taas varsin leveä 104-bitin mikrokäsky hajoitetaan 4 segmenttiin siten, että jokainen paikallisista ROS reistä on lähellä sitä logiikkaa, joka käyttää eri mikro-operaatioita. Siksi, kuten kuvasta 3 voidaan nähdä, saa mikroprosessori 101 mikro-operaatioidensa 67 bittiä signaalina MPROSDT linjoilla 104 mikroprosessori-ROS:ilta 109. Virtuaalimuistin hallintayksikkö 103 saa mikro-operaatioidensa 16 bittiä signaalina VMROSDT linjoilla 106 virtuaalimuisti-ROS:ilta 111. Välimuisti 107 saa mikro-operaatioidensa 16 bittiä signaalina CHROSDT linjoilla 112 välimuisti-ROS:ilta 115, ja liimalogiikka 105 saa mikro-operaatioidensa 4 bittiä signaalina GLROSDT linjoilla 108 liima-ROS:ilta 113. Lisäksi liimalogiikka- 87283 9 ROS 113 muodostaa linjalle 110 signaalin ROSPRTY, joka on yleinen ROS:in parittomuusbitti siten, että jokaisella 103-bitin mikrokäskyllä on 104. parittomuusbitti yhteydessään. Tämä tarkoittaa sitä, että bittien lukumäärä binäärisessä yksi-tilassa jokaisessa 104-bitin mikrokäskysanassa ohjausmuistissa on pariton luku.
Ohjausmuistin osoitus, joka koostuu yhdestä neljästä ROSiista 109, 111, 113 ja 115, on mikroprosessorin 101 ohjauksen alaisuudessa, joka pääaliyksikkönä laskee seuraavan mikrokäskyn osoitteen ja muodostaa 14-bitin osoitteen signaalina ROSADDR linjoille 102, joita käytetään osoittamaan kutakin ROS:ia. Tämä 14-bitin ohjausmuistiosoite sallii 16K (1K = 1024) 104-bitin sanan osoittamisen ohjausmuistissa.
Koska parittomuusbitti (ROSPRTY) liittyy bittinä 104 jokaiseen mikrokäskyyn, pystyy keskusyksikkö havaitsemaan, onko ohjaus-muistista haettu mikrokäsky luettu ilman yhden bitin virhettä. Lukuvirheiden havaitsemisen, kun jokainen mikrokäskysana luetaan ohjausmuistista, suorittaa pariteetin perusteella laskuri-tarkistin (ei esitetty kuvassa 3) 1iimalogiikassa 105. Jos pariteetin laskuritarkistin havaitsee eron mikrokäskyä varten lasketun pariteetin ja mikrokäskysanassa olevan pariteettibitin välil-.. lä, se muodostaa peruutuksen, joka estää kellogeneraattoria 125 :...‘muodostamasta kellosignaalia CLK4 linjoille 126. Jos laskettu pa-_;;'riteetti ei ole sama kuin talletettu pariteetti, käytetään peruu- :‘:tussignaalia peruuttamaan sen hetkisen mikrokäskyn suorituksen, ; .';joka sisältää lukuvirheen. Mikrokäsky luetaan sitten uudelleen ohjausmuistista ja suoritetaan uudelleen.
'..'Sen lisäksi, että kellogeneraattori 125 muodostaa kellosignaalin . CLK4 linjoille 126, se muodostaa kellosignaalit Tl, T2, T3 ja T4. --Näitä neljää kellosignaalia Tl - T4 sekä CLK4 käytetään koko keskusprosessorissa ajastamaan erilaisia operaatioita mikroprosesso-.rissa 101, virtuaalimuistin hallintayksikössä 103, välimuistissa 107 ja liimalogiikassa 105. Kuvassa 6 esitetään eri kelloajoitus- signaalien ja ROS-osoite- ja tietosignaalien ja lukuvirhesignaa- 10 87283 lien ajoituskaavio.
Kuten edellä on esitetty, on edullisen toteutuksen järjestelmä suunniteltu siten, että aliyksiköitä CPUrssa ohjataan mikro-operaatioilla, jolloin mikroprosessori 101 on pääaliyksikkönä vastuussa seuraavan luettavan mikrokäskyn osoitteen laskemisesta, josta osa luetaan mikroprosessori-ROS:ista 109, osa vir-tuaalimuisti-ROS:ista 111, osa välimuisti-ROS:ista 115 ja osa liimalogiikka-ROSrista 113. CPU on suunniteltu siten, että ensimmäisen mikrokäskyn suorittamisen aikana viedään seuraavan mikrokäskyn osoite jokaiselle ROSrille, ja toisen mikrokäskyn luku aloitetaan ensimmäisen mikrokäskyn suorituksen aikana siten, että toinen mikrokäsky on saatavana, kun ensimmäisen mikrokäskyn suoritus on saatu loppuun. Tämä seuraavan mikrokäskyn lukemisen limittäminen sen hetkisen mikrokäskyn suorituksen aikana on kuvattu kuvassa 6, joka esittää että, 14-bitin ohjaus-muistiosoitesignaali ROSADDR linjoilla 102 osoittaa ohjausmuis-tipaikkaa B jakson 2 lopun aikana, kun taas ROS-tietorekisterin 153 sisältö, jonka ulostulo on mikroprosessoria 101 ohjaavat 67 kiinteän ohjelmiston bittiä signaalina RDROUT linjoilla 114, sisältää muistipaikan A sisällön, joka on sillä hetkellä jakson 2 aikana suoritettava mikrokäsky. Kuvassa 6 esitetään muistipaikan sisältöä asettamalla muistiosoite "A", "B", "C", jne. su-luissa, kuten nähdään signaalista RDROUT.
Edullisessa toteutuksessa aika, joka vaaditaan siihen, että CPU suorittaa mikrokäskyn, on jaettu neljään yhtäsuureen aikajak-• soon: Aika 1, Aika 2, Aika 3 ja Aika 4. Kokonaisaika, joka vaaditaan yhden mikrokäskyn suorittamiseen, on noin 160 nanosekun-tia, ja siksi Aika 1 - Aika 4 ovat kukin 40 nanosekuntia pitkiä. CPU:n logiikka käyttää ajoitussignaaleja Tl - T4, jotka liittyvät aikoihin Aika 1 - Aika 4, eri loogisten elementtien kellottamiseen CPUrssa. Tl - T4 ovat kukin binäärisessä tilassa yksi 40 nanosekunttia aikoina Aika 1 - Aika 4, tässä järjestyk-. .sessä .
Jos CPUrssa ei ole virhettä, on CLK4 sama kuin ajoitussignaali 87283 11 T4. Jos peruutussignaali muuttuu binääriseksi ykköseksi, ei kel-logeneraattori 125 nosta signaalia CLK4 binääriseen yksi-tilaan samanaikaisesti, kun ajoitussignaalista T4 tulee binäärinen ykkönen. Tämä voidaan nähdä kuvasta 6, jossa jakson 5 aikana havaitaan ohjausmuistin pariteettivirhe, joka aiheuttaa sen, että peruutussignaali nousee arvoon binäärinen yksi, mikä puolestaan aiheuttaa sen, että signaali CLK4 pysyy binäärisessä nolla-tilassa sinä aikana, kun ajoitussignaali T4 on tilassa binäärinen yksi .
Ennenkuin esitetään, kuinka eri mikro-ohjelmoidut aliyksiköt CPU:ssa voivat vaikuttaa sen mikro-ohjelman kulkuun, joka luetaan yhteisestä hajautetusta ohjausmuistista, kuvataan kuvan 4 logiikan toimintaa yhdessä eri signaalien ajoituksen kanssa, joka on esitetty kuvassa 6. Kuten edellä on esitetty, sen seu-raavan mikrokäskyn osoitteen, joka on luettava ohjausmuistista, määrää mikroprosessori 101. Mikroprosessorissa 101 seuraavan ROS-osoitteen muodostaminen on ensisijaisesti tehtävänä seuraavan osoitteen muodostuslogiikalla 167, joka saa syöttönä joitakin biteistä sillä hetkellä suoritettavasta mikrokäskystä, joka on talletettu ROS-tietorekisteriin 153, ja on saatavana signaalina RDROUT linjoilla 114 dekoodaamalla sen hetkiseen mikrokäs-'kyyn koodatut mikro-operaatiot. Mikro-operaatioiden dekoodaus ".^suoritetaan mikro-operaatiodekooderilla 161. Kuvassa 6 esitettään, että 14-bitin ROS-osoite seuraavan osoitteen muodostuslo-..Jgiikan 167 ulostulossa signaalina ROSADDR linjoilla 102 on saa-itävissä aikoina 3, 4 ja 1 (eli kun signaalit T3, T4 ja Tl ovat - - -ylhäällä, tässä järjestyksessä).
Kuvassa 6 varjostetut alueet edustavat jaksoja, jolloin signaa-.* -lien tilat eivät ole määrättyjä. Esimerkiksi signaali ROSADDR, joka on seuraava ROS-osoite, ei ole määrätty aikana 2. Kuva 6 esittää, että ensimmäisen mikrokäskyjakson aikana (oikeastaan .. aikoina 3 ja 4 jaksossa 1 ja aikana 1 jaksossa 2) ROSADDR-sig-. .‘naali sisältää ohjausmuistipaikan A osoitteen. Toisen mikrokäs-- kyjakson aikana ROSADDR sisältää ohjausmuistipaikan B osoitteen. Kolmannen mikrokäskyjakson aikana se sisältää ohjausmuis- 87283 ti paikan C osoitteen, jne.
Niin kauan, kun mitään epätavallista tilaa ei esiinny, joka vaatisi CPU:ssa suoritettavan mikro-ohjelman haarautumisen mikro-ohjelmarutiiniin käsittelemään erätavallinen tilanne, ohjaus-muistista luettavan seuraavan mikrokäskyn osoitteen määrää logiikka mikroprosessorissa 101 ja eri rekistereiden ja kiikkujen tila siellä. Erityisesti seuraavan osoitteen muodostuslogiikka 167 tarkkailee osoitteitusbittejä ROS-tietorekisteristä 153 ja eri mikro-operaatioita, jotka on dekoodattu mikro-operaation dekooderilla 161. Kun mitään epätavallista ei tapahdu, ohjaavat ROS-tietorekisterin 153 ja mikro-operaation dekooderin 161 u-lostulot seuraavan osoitteen muodostuslogiikan 167 ulostuloa sekä erilaisia tilaindikaattoreita, jotka ilmaisevat niiden o-peraatioiden tilaa, joita suoritetaan mikroprosessorissa 101, esimerkiksi, onko viimeksi suoritetun aritmeettisen operaation tulos 0, pariton vai parillinen numero, positiivinen vai negatiivinen numero, vai onko tapahtunut yli- tai alivuoto. Samanaikaisesti, kun mikroprosessori 101 suorittaa ohjausmuistista luettun mikrokäskyn osaa (eli sitä osaa, joka on saatu mikro-prosessori-ROS:ista 109), virtuaalimuistin hallintayksikkö 103 suorittaa sitä osaa mikrokäskystä, jota pidetään ROS-tietore- - kisterissä 155, käyttämällä mikro-operaation dekooderia 163. Samalla tavalla välimuisti 107 suorittaa sitä osaa mikrokäskys- " tä, jota pidetään ROS-tietorekisterissä 157 dekoodattuna mikro-• operaation dekooderilla 165. Samanaikaisesti liimalogiikka 105 : suorittaa sitä osaa mikrokäskystä, jota pidetään ROS-tietorekis- - terissä 159 dekoodattuna mikro-operaation dekooderilla, joka sijaitsee keskeytyksensallintalogiikassa 173 ja muissa logiikois-sa, joita ei ole esitetty.
Koska jokainen mikrokäsky suoritetaan siten, että osa siitä käsitellään aiiyksiköillä 101, 103, 105 ja 107, muodostaa mikro-käskyn osoitteen mikroprosessori 101 ja seuraava mikrokäsky lue-- ·'· taan ohjausmuistista, joka koostuu osista ROS 109, 111, 115 ja - 113. Jos virtuaalimuistin hallintayksikkö 103 tai välimuistiyk-sikkö 107 havaitsee, että on syntynyt tilanne, joka vaatii eri- 87283 13 tyisen mikro-ohjelman suorittamista, jotta tilanne voidaan korjata, voi virtuaalimuistin hallintayksikkö 103 asettaa keskeytys kiikun 175, tai välimuistiyksikkö 107 voi asettaa keskeytys-kiikun 177, vastaavasti, hoitaakseen poikkeustilansa. Poikkeustilanne voi esimerkiksi syntyä virtuaalimuistin hallintayksikös-sä 103, jos mikroprosessorin 101 mikroprosessoriväylän 138 kautta sille lähettämää virtuaaliosoitetta ei voida muuntaa fyysiseksi osoitteeksi, koska tarpeellinen sivunmääritys ei ole virtuaalimuistin hallintayksikössä, ja siksi tarpeellinen sivunmää-ritys täytyy hakea virtuaalimuistin hallintayksikkön muistiin suorittamalla päämuistin lukuoperaatio. Samalla tavalla, jos välimuisti 107 määrää, että paikka, jonka määrittää 30-bitin fyysinen osoite linjoilla 140 virtuaalimuistin hallintayksiköltä 103, ei ole välimuistin 107 varsin pienessä välimuistissa, niin välimuistin 107 täytyy saada pääsy päämuistiin 129 ja lukea muistisivu siten, että osoitettu paikka voidaan saada välimuistista 107. Siinä tapauksessa, että viitattu paikka ei ole saatavana välimuistissa 107 tai päämuistissa 129, keskeytyskiikku 177 asetetaan. Keskeytyskiikun 177 asetus aiheuttaa signaalin VMINT linjalla 154 muuttumisen binääriseksi ykköseksi, ja keskeytys-kiikun 177 asettaminen aiheuttaa signaalin CHCINT linjalla 156 ‘ : muuttumisen binääriseksi ykköseksi.
Signaali VMINT linjalla 154 ja signaali CHCINT linjalla 156 ovat molemmat syöttöjä keskeytyksensallintalogiikalle 173 liima-: I logiikassa 105. Jos signaali VMINT muuttuu binääriseksi ykkösek-V si keskeytyksensal1intalogiikan 173 sisääntulossa, muuttuu signaali VMTRP linjalla 158 keskeytyksensallintalogiikan 173 ulostulossa binääriseksi ykköseksi, mikäli virtuaalimuistin keskeytyksen estobitti sen mikrokäskysanan segmentissä, jota pidetään ROS-tietorekistorinsä 159, ei ole binäärinen yksi. Samalla ta-. . valla, jos signaali CHCINT muuttuu binääriseksi ykköseksi kes-.···, keytyksensallintalogiikan 173 sisääntulossa, muuttuu signaali UEVTRP linjalla 160 keskeytyksensallintalogiikan 173 ulostulossa binääriseksi ykköseksi, mikäli epätavallisen tapahtuman keskey-tyksen estobitti sen mikrokäskysanan segmentissä, jota pidetään ROS-tietorekisterissn 159, ei ole binäärinen yksi. Signaali 14 87283 VMTRP linjalla 158 ja signaali UEVTRP linjalla 160 ovat syöttöjä mikroprosessorin 101 seuraavan osoitteen muodostuslogiikalle 167. Mikrokäskyn, jota pidetään ROS-tietorekisterissä 153, segmentin suorituksen aikana, jos jompi kumpi näistä signaaleista VMTRP tai UEVTRP on tilassa binäärinen yksi, seuraavan käskyn muodostamis-logiikka 167 sen sijaan, että se lukee seuraavan mikrokäskyn paikasta, jota potentiaalinen seuraava ROS-osoite osoittaa, tallettaa potentiaalisen seuraavan ROS-osoitteen ja haarautuu jompaan kumpaan kahdesta ROS-osoitteesta, jonne on talletettu sellaiset mikro-ohjelmarutiinit, jotka käsittelevät virtuaalimuistin ja välimuistin keskeytystilanteet.
Seuraavaksi määrätään se todellinen tilanne virtuaalimuistin hallintayksikössä 103 tai välimuistissa 107, joka aiheutti keskeytyksen. Koska voi olla lukuisia tilanteita virtuaalimuistin hallintayksikössä 103 tai välimuistissa 107, jotka aiheuttavat keskeytyksen tapahtumisen, on mikro-ohjelmarutiini, joka hoitaa eri keskeytykset, ohjelmoitu siten, että joko oirerekisteri 169 virtuaalimuistin hallintayksikössä 103 tai oirerekisteri 171 välimuistissa 107 sijoitetaan prosessoriväylään 138 ja luetaan mikroprosessoriin 101. Jommankumman oirerekisterin 169 tai 171 sallimista ohjaa mikro-operaatio, joka on ohjelmoitu mikrokäskyi-hin keskeytyksenkäsittelymikro-ohjelmaan. Jos oirerekisteri 169 on sallittava prosessoriväylälle 138, on ROS-tietorekisterissä 155 pidetyn mikrokäskyn segmentillä sallittu oirerekisteri mikro-operaatio koodattuna itseensä, jonka mikro-operaation dekooderi 163 dekoodaa, ja jos samalla tavalla välimuistin 107 oirerekisteri 171 on sallittava prosessoriväylälle, on ROS-tietorekisterissä 157 pidetyn mikrokäskyn segmentillä sallittu oirerekisteri mikro-operaatio koodattuna itseensä, jonka mikro-operaation dekooderi 165 dekoodaa. Missä tahansa annetussa mikrokäskyssä vain oirerekisterit 169 tai 171 pitäisi sallia prosessoriväylälle 138. Siksi mikrokäskyt on ohjelmoitu sallimaan joko oirerekisteri 169 tai oirerekisteri 171 prosessoriväylälle 138.
Kun joko oirerekisterin 169 tai 171 sisältö on sijoitettu prosessoriväylälle 138, jolloin ne ovat saatavissa sisään mikro- 15 87 2 83 prosessoriin 101/ voivat mikroprosessorin 101 suorittamat mikro-operaatiot testata eri bittejä oirerekisterissä määrätäkseen keskeytystilan tarkan syyn, ja haarautua sitten mikroprosessorin loi suorittamien mikro-operaatioiden ohjauksen alaisuudessa erityisiin mikro-ohjelmoituihin rutiineihin/ joita tarvitaan tietan epätavallisen tapahtuman käsittelemiseksi. Jotta voitaisiin eliminoida se vaatimus/ että oirerekisterin virtuaalimuistin hallintayksiköltä täytyy olla sallittu prosessoriväylälle 138/ jotta voitaisiin määrätä tarkka ehto/ joka aiheutti vir-tuaalimuistikeskeytyksen tapahtumisen, virtuaalimuistin hallin-tayksikkö 103 lähettää myös seuraavan osoitteen muodostuslo-giikkaan 167 3 signaalia VMVECT linjoilla 162. Nämä 3 signaalia VMVECT ovat binäärisesti koodattuja siten, että kahdeksaa mahdollista ehtoa virtuaalimuistin hallintayksiköllä 103 voidaan osoittaa mikroprosessorille 101 ilman, että tarvitsee mennä oirerekisterin 169 sisältöön. Tämän vuoksi aina, kun virtuaalimuistin keskeytyssignaali VMTRP muuttuu binääriseksi ykköseksi, sen sijaan, että yksinkertaisesti suoritettaisiin haarautuminen yhteen ainoann mikro-ohjelmoituun rutiiniin, joka on suunniteltu käsittelemään virtuaalimuistikeskeytys, suoritetaan haarautuminen yhteen kahdeksasta mikro-ohjelmarutiinista, joista jokainen on suunniteltu käsittelemään yksi kahdeksasta mahdolli-,:sesta keskeytysehdosta, jotka voidaan koodata VMVECT-signaa-••liin. Käyttämällä tätä mekanismia eliminoidaan tarve sijoittaa ioirerekisterin 169 sisältö prosessoriväylälle 138, jotta se tehtäisiin saatavaksi mikroprosessorille 101, jolloin sallitaan tietyn ehdon, joka aiheutti keskeytyksen, käsittely tarkoituk-•senmukaisemmalla tavalla. Edullisen toteutuksen järjestelmässä käsitellään kuusi tilannetta, jotka voivat aiheuttaa virtuaali-'.«nuistikeskeytyksen tapahtumisen, vaatimatta sitä, että oirere-“kisterin 169 sisältö vietäisiin mikroprosessoriin 101. Seitse-mäs tapaus on yleinen tapaus, ja sen erityinen syy täytyy määrittää viemällä oirerekisterin 169 mikroprosessoriin 101. Kah-• deksatta mahdollista ehtoa ei käytetä, mutta se on käytettävissä tulevaisuudessa, jos tietty ehto virtuaalimuistin hallinta-"'yksikössä 103 täytyy käsitellä erityisellä tavalla.
87283 16
Tapa, jolla kuvan 3 keskusyksikkö on ohjelmoitu, voidaan aavistaa tutkimalla mikro-ohjelman vuokaaviota kuvassa 4. Lohko A edustaa mikrokäskyä, joka omaa mikro-operaatiot MPl, jotka luetaan mikroprosessori-ROS:ilta 109 ja suoritetaan mikroprosessorilla 101, mikro-operaatiot VMl, jotka luetaan virtuaalimuisti-ROSiilta 111 ja suoritetaan virtuaalimuistin hallintayksiköllä 103 välimuistimikro-operaatiot CH1, jotka luetaan välimuisti-ROSrilta 115 ja suoritetaan vällimuistilla 107, ja liimalogiik-kamikro-operaatiot GLl, jotka luetaan liimalogiikka-ROS:ilta 113 ja suoritetaan 1iimalogiikassa 105. Sinä aikana, jona lohkon AA mikrokäskyä suoritetaan, aiheuttavat mikroprosessorin 101 suorittamat mikro-operaatiot ja erityisesti mikro-operaatiot MPl sen, että seuraavan mikrokäskyn osoite muodostetaan seuraa-van osoitteen muodostuslogiikalla 167 ja saadaan lohkon BB mikrokäskyn osoite. Lohkcn BB mikrokäsky osoitetaan sitten keskusmuistissa ja se suoritetaan seuraavan mikrokäskyjakson aikana. Kun lohkko BB suoritetaan, käsitellään mikro-operaatiot MP2, VM2, CH2 ja GL2. Mikrokäskyssä BB sallivat mikro-operaatiot GL2 virtuaalimuistin keskeytyksen siten, että jos on tapahtunut virtuaalimuistin keskeytysehto, sallitaan keskeytyksen tapahtuminen, ja seuraava mikrokäsky on sen mikro-ohjelman ensimmäinen ' : mikrokäsky, joka on kirjoitettu käsittelemään virtuaalimuisti-keskeytystä.
Jos lohkon AA mikrokäskyn suorituksen aikana ilmeni keskeytysehto niillä mikro-operaatioilla VMl määritellyn operaation johdos-. ta, jotka suoritti virtuaalimuistin hallintayksikkö 103, tai aikaisemman virtuaalimuistimikro-operaation aikana, jos havaittiin virtuaalimuistikeskeytys lohkon AA mikrokäskyn aikana, niin loh-'· kon BB mikrokäskyn suorituksen jälkeen seuraavaa mikrokäskyä ei : oteta lohkosta CC, vaan sen sijaan se otetaan lohkosta MM, joka on mikro-ohjelma, joka on erityisesti kirjoitettu käsittelemään virtuaalimuistikeskeytystä. Siksi, kun lohkon BB suoritus on saatu loppuun, seuraava mikrokäsky otetaan lohkosta MM, joka on virtuaalimuistin keskeytysmikro-ohjelmarutiinin ensimmäinen käs-: ky. Todellisuudessa lohko MM on ensimmäinen ensimmäinen mikro-käsky yhdessä kahdeksassa mikro-ohjelmarutiinissa, jotka on kir- 87283 17 joitettu käsittelemään niitä kahdeksaa erilaista mahdollista keskeytysehtoa, joissa suoritettava tietty mikro-ohjelmarutiini on määritelty kolmella signaalilla VMVECT linjoilla 163/ joita käytetään ohjaamaan keskeytys siihen tiettyyn rutiiniin/ joka on ohjelmoitu käsittelemään yksi kahdeksasta mahdollisesta virtuaalimuistin keskeytysehdosta. Lohkossa MM mikrokäsky on ohjelmoitu suorittamaan mikro-operaatiot MP10/ VM10/ CH10 ja GL10. Virtuaalimuistin keskeytysmikro-ohjelmarutiini jatkaa sitten suorittaen lohkon NN mikrokäskyt, jne./ kunnes on suoritettu lohkon 00 mik-kokäsky. Lohkossa 00 mikrokäsky on ohjelmoitu siten, että mikroprosessorilla 101 suoritettava mikro-operaatio MP19 muodostaa lohkoon CC liittyvän mikrokäskyn osoitteen, joka olisi tavallisesti suoritettu lohkon BB mikrokäskyn jälkeen, jos virtuaali-muistikeskeytystä ei olisi tapahtunut.
Seuraavaksi suoritetaan lohkon CC mikrokäsky, ja sitten lohkon DD mikrokäsky. Oletetaan, että lohkon CC mikrokäskyn suorituksen aikana tapahtuu epätavallinen tilanne välimuistissa 107 vaatien, että erityinen mikro-ohjelmarutiini suoritetaan tilanteen käsittelemiseksi. Lohkon DD mikrokäskyssä mikro-operaatio GL4, joka suoritetaan liimalogiikalla 105, sallii epätavalliseen tilanteiden keskeytykset siten, että seuraavan osoitteen .; muodostuslog iikka 167 suorittaa keskeytyksen siihen mikro-oh-·_ jelmaan, joka on kirjoitettu käsittelemään epätavalliset tilan-•••teet, jos keskeytystilanne on tapahtunut. Koska keskeytystilan-: :‘;ne tapahtuu lohkon CC mikrokäskyn suorituksen aikana, muodoste-.-..taan lohkon DD mikrokäskyn suorituksen aikana lohkon RR mikro-käskyn osoite seuraavan osoitteen muodostuslogiikalla 167 ja - .lohkon RR mikrokäsky luetaan ohjausmuistista. Lohkon RR mikro-käsky sisältää mikro-operaatiot MP20, VM20, CH20 ja GL20, jotka suoritetaan mikroprosessorilla 101, virtuaalimuistin hallinta-: ..yksiköllä 103, välimuistilla 107 ja liimalogiikalla 105, tässä ^järjestyksessä. Välimuistilla 107 suoritettava mikro-operaatio CH20 sisältää mikro-operaation, joka päästää oirerekisterin 171 ; prosessoriväylälle 138 siten, että oirerekisterin sisältö voidaan viedä mikroprosessoriin 101. Seuraavaksi luetaan lohkon SS mikrokäsky ohjausmuistista ja suoritetaan toteuttamalla mikro- 87283 18 operaatiot MP21, VM21, CH21 ja GL21. Mikro-operaatiot MP21, jotka mikroprosessori 101 suorittaa, voivat sitten tehdä testi-haarautumisen riippuen eri biteistä oirerekisterin 171 sisällössä, joka on viety mikroprosessoriin 101, ja haarautua riippuen siitä, mikä bitti on asetettu oirerekisterissä 171, tiettyyn osaan epätavallisen tilanteen mikro-ohjelmaa, joka on ohjelmoitu käsittelemään näihin tiettyihin asetusbitteihin liittyvä ehto. Tämän vuoksi lohkon SS mikrokäskyn suorituksen aikana on eri oirebittien testauksen seurauksena se, että seuraavan osoitteen muodostuslogiikka 167 muodostaa lohkon TT mikrokäskyn osoitteen. Lohkon TT mikrokäsky luetaan ja suoritetaan sitten, jolloin muut mikrokäskyt seuraavat sitä, kunnes epätavallisen tilanteen keskeytyamikro-ohjelman viimeinen mikrokäsky, joka on lohko UU, on suoritettu. Lohkon UU mikrokäsky sisältää mikro-operaation MP29, jonka mikroprosessori 101 suorittaa, ja jonka seurauksena on paluuosoite, jota käytetään mikrokäskyn seuraa-vana osoitteena, mistä on seurauksena, että lohkon EE mikrokäsky luetaan ohjausmuistista ja suoritetaan seuraavaksi. Mikro-käsky EE suorittaa sitten mikro-operaatiot MP5, VM5, CH5 ja GL5. Lohkoa EE seuraavat lohkot FF ja GG ja niin edelleen, jolloin päämikro-ohjelma jatkaa suoritusta, jos sitä ei uudelleen keskeytetä.
Vaikka jokainen kuvassa 4 esitetty mikrokäsky sisältää mikroprosessorilla 101, virtuaalimuistin haliintayksiköllä 103, välimuistilla 107 ja liimalogiikalla 105 suoritettavaksi tarkoitetun mikro-operaation, voivat todellisessa mikro-ohjelmassa tietyt näistä mikrokäskyistä määritettä tietyllä aliyksiköllä ei-suori-tettavan operaation sillä poikkeuksella, että pääaliyksikön tu-: lee aina muodostaa seuraava ohjausmuistiosoite siten, että mik rokäsky voidaan lukea ja suorittaa.
Ennenkuin selitetään yksityiskohtaisesti, kuinka keskeytykset ’··’ ohjaavat suorituksen kulkua mikro-ohjelmassa, joka on talletettu ohjausmuistiin, kuvaan 5 viitaten, suoritetaan lyhyt vertai-lu siitä erosta, joka on nykytekniikan mukaisen järjestelmän ja kuvien 1 ja 2 vuokaavion sekä kuvassa 3 olevan tämän keksinnön 87283 19 järjestelmän ja sitä vastaavan kuvan 4 vuokaavion välillä.
Kuvan 1 järjestelmässä ovat mikro-ohjelmoidut alijärjestelmät kytketty kiinteästi siten, että jokaisella alijärjestelmällä on kyky vaikuttaa suoraan seuraavaan ohjausmuistiosoitteeseen/ jonka seuraavan osoitteen muodostuslogiikka 67 on muodostanut. Tämä tehdään sallimalla mikroprosessorissa 1 olevien ehtojen vaikuttaa suoraan seuraavan osoitteen muodostuslogiikan 67 tulokseen ja sallimalla kaupallisessa käskyprosessorissa 3 olevien ehtojen vaikuttaa seuraavan osoitteen muodostuslogiikkaan siten, että annetaan signaalien linjoilla 60 indikaattorirekis-teristä 61 olla syöttöjä seuraavan osoitteen muodostuslogiikal-le 67. Kuten kuvasta 2 nähdään, testataan nämä ehdot mikroprosessorilla 1, joka suorittaa haarautumismikro-operaatioita, ja erityisesti haarautuminen indikaattorirekisterin perusteella suoritetaan lohkoon CC liittyvällä mikrokäskyllä. Vaikka sitä ei kuvassa 3 ole esitettykään, voidaan muut haarautumismikro-operaatiot suorittaa mikroprosessorilla 1, jotta voidaan testata eri ehtoja mikroprosessorissa 1 itsessään. Kuvan 1 järjestelmällä on se rajoitus, että muiden mikro-ohjelmoitujen aliyk-sikköjen lisäystä ei voida tehdä helposti, jollei tällaisia lisäyksiä ole ennalta-aavistettu muodostamalla varasisääntuloja seuraavan osoitteen muodostuslogiikkaan 67 liittyen varamikro-operaatioihin, jotka tullaan suorittamaan mikroprosessorilla 1 :...· varasisääntulojen tilojen testaamiseksi.
:: Tätä voidaan verrata kuvan 3 keksinnön järjestelmään, joka sal- lii lukuisien mikro-ohjelmoitujen aliyksikköjen lisäämisen tähän järjestelmään yksinkertaisesti järjestämällä aliyksikkö ai-- ; heuttamaan keskeytys mikroprosessorille 101 siten, että mikro-... ohjelma on ohjelmoitu käsittelemään keskeytys muodostamalla sisääntulo mikroprosessoriin 101 prosessoriväylän 138 kautta sen - oirerekisterin sisällölle ilmaisuna siitä ehdosta, joka aiheutti :keskeytyksen.
... Esimerkiksi viides mikro-ohjelmoitu aliyksikkö voitaisiin lisätä kuvan 3 järjestelmään lisäämällä viides ROS ja muodostamalla oi- 20 87283 rerekisteri/ joka voidaan väylöittää prosessoriväylään 138. Lisäksi olisi tämä viides mikro-ohjelmoitu aliyksikkö varustettu keskeytyskiikulla/ jonka keskeytystilanne voisi asettaa# ja tämän keskeytyskiikun ulostulo voitaisiin loogisella TAI-operaa-tiolla lisätä keskeytyskiikun 177 ulostuloon välimuistilta 107. Keskeytysmikro-ohjelmarutiini, joka käsittelee epätavallisen tilanteen keskeytyksen, voisi tällöin olla ohjelmoitu tekemään kiertokysely välimuistissa ja analysoimaan oirerekisterin 171 sisältö sen selvillesaamiseksi, aiheuttiko välimuisti 107 keskeytyksen, ja jos sieltä ei löydetä mitään merkkiä, lukemaan sitten viidennen aliyksikön oirerekisterin sisältö ja testaamaan, aiheuttiko jokin tila sen sisällä epätavallisen keskeytys-tapahtuman .
Kuvan 4 vertaaminen kuvaan 2 osoittaa, että tämän keksinnön järjestelmällä on se lisäetu, että keksinnön mikro-ohjelma voidaan kirjoittaa ottamatta huomioon niitä tiloja eri aliyksiköissä, jotka voivat aiheuttaa keskeytyksen tapahtumisen siten, että kuvan 4 päämikro-ohjelma, joka koostuu lohkoista AA - GG, voidaan kirjoittaa välittämättä tiloista, jotka voivat syntyä virtuaalimuistin hallintayksikössä 103 tai välimuistissa 107. Ne epäta-; valliset tilanteet, jotka voivat syntyä, hoidetaan kirjoittamal-·;· la mikro-ohjelmoidut keskeytysrutiinit, kuten sellaiset, jotka .·*. sisältävät lohkot MM, NN ja 00 virtuaalimuistikeskeytyksen hoi-tamiseksi, ja lohkot RR - UU epätavallisen tilanteen keskeytyk-sen hoitamiseksi. Tätä on syytä verrata kuvan 2 mikro-ohjelmaan, ; · jossa mikro-ohjelmoijan täytyy olla tietoinen mahdollisista ti-- lanteista, jotka voivat syntyä kaupallisessa käskyprosessorissa 3, ja hänen täytyy testata näitä tilanteita ohjelmassa suoritta-maila haarautumismikro-operaatioita.
Kuva 5 esittää yksityiskohtaisemman loogisen lohkokaavion osasta sitä logiikkaa, joka on kuvassa 3. Pienet ympyrät kuvan 5 elementtien sisääntuloissa, kuten rekisterin 169 sallintasisääntu-lossa, tai ulostuloissa ilmaisevat invertoivaa sisääntuloa tai ulostuloa, tässä järjestyksessä. Kuten edellä on esitetty, muodostaa seuraavan osoitteen muodostuslogiikka 167 sen hetkisen I: 87283 21 mikrokäskyn suorituksen aikana, jonka segmentit suoritetaan mikroprosessorissa 101, virtuaalimuistin hallintayksikössä 103, välimuistissa 107 ja liimalogiikassa 105 (katso kuva 3), seuraavan ohjausmuistista luettavan mikrokäskyn osoitteen, jonka segmentit luetaan ROS:eista 109, 111, 115, 113, tässä järjestyksessä. Tämän vuoksi sen hetkisen mikrokäskyn aikana 2 ROS osoiterekisteri 501 ajastetaan signaalilla T2 kellosisääntulossaan (C) saaden näin sen 14-bitin ulostulon, signaalin ROSADDR linjalle 102, sisältämään sen seuraavan paikan osoite ohjausmuistissa, joka on luettava, jotta seuraava mikrokäsky voidaan lukea. Sen hetkisen mikrokäskyjakson lopussa on seuraava mikrokäsky luettu ohjaus-muistista ja se on saatavilla vastaavien ROS:ien 109, 111, 115 ja 113 tietoulostuloista. Tämä seuraava mikrokäsky kellotetaan sitten ROS-tietorekistereihin 153, 155, 157 ja 159 ajan 4 lopussa, kun kellosignaali T4 muuttuu binäärisestä ykkösestä binääriseen nollatilaan, mikä aiheuttaa sen, että inverttereiden 513, 515, 517 ja 519 ulostulot muuttuvat binäärisestä nollasta binääriseen ykköstilaan ROS-rekistereiden 153, 155, 157 ja 159 kellosisäänmenoissa, tässä järjestyksessä. Siten seuraavan mikrokäsky jakson alussa seuraava mikrokäsky on eri ROS-tietorekis-tereissä.
Γ>£η seuraavan mikrokäskyn suorituksen aikana, josta on tullut .••s.en hetkinen mikrokäsky, seuraavan osoitteenmuodostuslogiikka Ϊ67 (katso kuva 3) muodostaa seuraavan käskyn osoitteen. Kuvas-. sa 5 on esitetty seuraavan osoitteen muodostuslogiikka 167 yksityiskohtaisemmin, jolloin nähdään, että se muodostuu tavallisesta seuraavan osoitteen muodostuslogiikasta 505, paluuosoite-pinosta 507 ja multiplekseristä 503. Tavallinen seuraavan osoitteen muodostuslogiikka 505 vastaanottaa sisääntuloina eri bitit • ROS-tietorekisteriltä 153 sekä myöskin sen tilatiedon mikropro-; sessorin 101 sisältä, joka, kuten edellä mainittiin, voi sisältää indikaation siitä, oliko viimeisen aritmeettisen operaation ;tulos 0, parillinen, positiivinen, negatiivinen, vai tapahtuiko ylivuoto, jne. Tavallinen seuraavan osoitteen muodostuslogiikka : 505 vastaanottaa myös syötön mikro-operaation dekooderilta 161, joka dekoodaa eri mikro-operaatiot, kuten esimerkiksi haarautu- 22 87283 mismikrokäskyt/ tai haaraudu ylivuodon tapauksessa mikro-operaatiot, Muodostaen täten sisäänmenot tavalliselle seuraavan osoitteen muodostuslogiikalle 505. Tavallinen seuraavan osoitteen muodostuslogiikka 505 muodostaa ulostulona 14-bitin ohjausmuis-tiosoitteen PNXROSA, joka on potentiaalinen seuraava ROS-osoite. Tämä osoite viedään sekä multiplekserin 503 B-sisäänmenoihin että paluuosoitepinon 507 sisäänmenoihin.
Multiplekserin 503 A-sisäänmeno on kytketty vastaanottamaan paluuosoitepinon 507 osoiteulostulo. Paluuosoitepino 507 on pino, joka edullisessa toteutuksessa on 8:n tason syvyinen. Joka kerta, kun paluuosoitepinoa 507 ajastetaan sen ollessa pinousmoo-dissa, se pinoaa alaspäin pinon sisältöä ja asettaa pinon ylimmäiseksi 14-bitin osoiteulostulon, jonka tavallinen seuraavan osoitteen muodostuslogiikka 505 on muodostanut. Joka kerta, kun pinosta poimitaan, otetaan pinon yläpäästä 14-bitin osoite ja viedään se multiplekserin 503 A-sisääntuloihin. Pinoon pinoamista ohjaa kellosisääntulo (C), joka saa ulostulona signaalin JA-veräjältä 521. JA-veräjä 521 sisääntulona kellosignaalin CLK4, joka mikäli virhettä ei ole tapahtunut, on binäärisessä ykkös-tilassa silloin, kun kellosignaali T4 on binäärisessä ykkösti-lassa, kuten kuvassa 6 on esitetty. Toinen sisääntulo JA-verä-• · jälle 521 on ulostulo TAI-veräjäitä 523. Yksi sisääntulo TAI-veräjälle 523 on signaali MPM2, joka tulee mikrokäskyn dekoo-'. derilta 161. Jos ROS-tietorekisterissä 153 määritelty mikro-operaatio ilmaisee, että osoite on työnnettävä paluuosoitepi-noon 507, on signaali MPM2 binäärinen ykkönen tehden TAI-verä-jän 523 ulostulon binääriseksi ykköseksi, mikä osoittain sallii JA-veräjän 521, ja kun tulee aika 4, on tuloksena, että tämä : sallitaan täydellisesti, ajastaen näin paluuosoitepino 507 ja siten 14-bitin osoite työnnetään pinon yläpäähän. Toinen sisääntulo TAI-veräjälle 523 on TAI-veräjän 527 ulostulo. Ne kaksi - signaalia, jotka ovat sisääntuloja TAI-veräjälle 527, ovat signaalit VMTRAP linjalla 158, joka ilmoittaa, että virtuaalimuistin keskeytysehto on tapahtunut, ja signaali UEVTRP linjalla 160, ... joka on binäärinen ykkönen, jos odottamaton tapahtumaehto on tapahtunut. Siten voidaan arvata, että TAI-veräjän 527 ulostulo 87283 23 on tilassa binäärinen ykkönen aiheuttaen TAI-veräjän 523 ulostulon olemisen tilassa binäärinen ykkönen aina/ kun virtuaalimuistin keskeytysehto tai odottamattoman tapahtuman keskeytys-ehto on tapahtunut järjestelmässä. Kumpi tahansa näistä ehdoista aiheuttaa siten/ että työnnetään paluuosoitepinoon 507 sen hetkisen mikrokäskyjakson aikana 4 seuraava mahdollinen ROS-osoite signaalilla PNXROSA.
Multiplekserin 503 sisääntulot vastaanottavat 14-bitin osoitteen kahdesta lähteestä. Yksitoista näistä biteistä on ennaltakonfi-guroitu joko binäärisiksi ykkösiksi tai binäärisiksi nolliksi/ ja kolme biteistä on signaali VMVECT keskeytysehtorekisteristä 511. Näiden kolmen bitin kombinoiminen signaalista VMVECT/ jotka ovat joko tilassa binäärinen ykkönen tai binäärinen nolla riippuen siitä/ mikä keskeytysehto on tapahtunut virtuaalimuistin hallintayksikössä 103/ yhteentoista edeltämäärättyyn bittiin sallii 8 haarautumista 8 eri virtuaalimuistikeskeytyksen mikro-ohjelmarutiiniin käsittelemään kahdeksaa mahdollista eri keskey-tyseh toa.
Multiplekserin 503 sisääntulot D ovat 14 edeltämäärättyä bittiä/ jotka määrittävät ei-vektoroidun epätavallisen tapahtuman sen keskey tysmikro-oh jelmarut i inin aloi tusosoitteen , joka on suori-tettava, mikäli on tapahtunut odottamattoman tapahtuman keskey-*" tys.
: Multiplekseri 503 valitsee jonkun sisääntuloista A, B, C tai D riippuen valintasisääntulojen (SI ja S2) tilasta riippuen/ jotka on binäärisesti kooditettu muodostamaan valinta neljän si-: sääntulon välillä. Multiplekserin 503 sisääntulo A valitaan/ jos ; SI on binäärinen nolla ja S2 on binäärinen nolla. SI on binäärinen nolla/ jos TAI-veräjän 525 ulostulo on binäärinen nolla.
• ” TAI-veräjän 525 ulostulo on binäärinen nolla/ jos signaali UEVTRP linjalla 160 on binäärinen nolla ilmaisten/ että mitään : odottamattoman tapahtuman keskeytysehtoa ei ole tapahtunut/ ja .***. jos signaali MPM3 mikro-operaation dekooderilta 161 on binäärinen ykkönen tehden invertterin 545 ulostulon binääriseksi nol- 24 87283 läksi. Signaali MPM3 mikro-operaation dekooderilta 161 on binäärinen ykkönen, jos ROS-tietorekisterissä 153 ole mikrokäsky määrittää paluumikro-operaation ilmaisten, että seuraava ROS-osoite pitää ottaa paluuosoitepinon 507 päältä.
Multiplekserin 503 sisääntulo B valitaan portitettavaksi sen ulostuloihin, jos signaali sen sisääntulolla SI on binäärinen ykkönen ja signaali sisääntulolla S2 on binäärinen nolla. Signaali sisääntulolla SI on binäärinen ykkönen, jos mikro-operaation dekooderi 161 ei ole dekoodannut paluumikro-operaatiota tehden signaalin MPM3 binääriseksi nollaksi ja aiheuttaen sen, että invertterin 545 ulostulo on binäärinen ykkönen, tai jos on tapahtunut odottamattoman tapahtuman keskeytysehto tehden näin signaalin UEVTRP binääriseksi ykköseksi TAI-veräjän 525 toisella sisääntulolla. Signaali sisääntulolla S2 on binäärisessä nollatilassa, jos TAI-veräjän 527 ulostulo on binäärinen nolla, mikä tapahtuu, mikäli on sattunut joko virtuaalimuisti-keskeytys tai odottamattoman tapahtuman keskeytys tehden signaalit VMTRP ja UEVTRP binäärisiksi nolliksi.
Multiplekserin 503 sisääntulo C valitaan portitettavaksi sen ulostuloihin, jos signaali SI on binäärisessä nollatilassa ja : signaali S2 on binäärisessä tilassa ykkönen. Tämä ehto tapahtuu, ...gos signaali UEVTRP on binäärisessä tilassa nolla toisella si-saäntulolla TAI-veräjällä 525 ilmaisten, että mitään odottamattoman tapahtuman keskeytysehtoa ei ole sattunut, ja jos signaali : :VMTRP TAI-veräjän 527 toisella sisääntulolla on binäärisessä ti-'ftassa ykkönen ilmaisten, että virtuallimuistin keskeytysehtoa ei ole tapahtunut.
[Multiplekserin 503 sisääntulo D portitetaan sen ulostuloihin ‘signaalina NXROSAD, jos valintasignaali SI on binäärisessä ti-Lassa ykkönen ja valintasignaali S2 on myös binäärisessä tilassa ykkönen. Tämä ehto sattuu, jos odottomattoman tapahtuman kes-keytysehto on tullut aiheuttaen signaalin UEVTRP TAI-veräjän 525 toisella sisääntulolla tai yhden signaalin TAI-veräjän 527 sisääntulolla olevan tilassa yksi.
l· 87283 25
Edelläolevasta seuraavan osoitteen muodostuslogiikan 167 toiminnan kuvauksesta (katso kuva 3) voidaan havaita, että jos syntyy keskeytysehto, valitaan multiplekserin 503 sisääntuloista joko C tai D ja portitetaan sen ulostuloille, ja että potentiaalisen ROS-osoitteen pinoon työntöoperatio, signaali PNXROSA, suoritetaan työntämällä se paluuosoitepinon 507 päälle. Edellisestä kuvauksesta havaitaan myös, että jos molemmat keskeytysehdot, odottamatonta tapahtumaa ja virtuaalimuistia koskevat, sattuvat samanaikaisesti, valitaan multiplekserin 503 sisääntulot D, jolloin odottamattoman tapahtuman keskeytysehdolle annetaan korkeampi prioriteetti kuin virtuaalimuistin keskeytysehdolle.
Kuten edellä on esitetty, asetetaan virtuaalimuistin keskeytys-kiikku 175 aina, kun virtuaalimuistin hallintayksikössä 103 tapahtuu tilanne, joka vaatii, että täytyy suorittaa tietty mikro-ohjelmarutiini tilanteen käsittelemiseksi. Samalla tavalla asetetaan välimuistikeskeytyksen kiikku 177 aina, kun ilmenee tilanne välimuistissa 107, joka vaatii erityisen mikro-ohjelman suorittamista. Virtuaalimuistikeskeytyksen kiikku 175 asetetaan, jos signaali VTC sen tietosisääntulossa (D) on binäärinen ykkönen sinä aikana, kun ajastussignaali CLK4 kellosisääntulossa (C) muuttuu binäärisestä nollasta tilaan binäärinen ykkönen. Signaali VTC on binäärisessä ykkostilassa, jos keskeytysehto on tapahtunut virtuaalimuistin nai1intayksikössä 103. Samalla tavailla '“välimuistikeskeytyksen kiikku 177 asetetaan, jos signaali CTC sen tietosisääntulossa (D) on tilassa binäärinen ykkönen, kun ; jastussignaali CLK4 muuttuu binäärisestä nollasta tilaan bi-" ‘riäärinen ykkönen ajan 4 alussa, mikä tapahtuu sen hetkisen mik-'rokäskyn suorituksen loppuvaiheessa. Signaali CTC on tilassa binäärinen ykkönen, jos välimuistissa 107 on tapahtunut sellainen ehto, joka vaatii, että erityinen mikro-ohjelma on suoritettava ehdosta huolehtimiseksi.
.-•Jos virtuaalimuistikeskeytyksen kiikku 177 on asetettu, tulee -signaalista VMINT sen ulostulolla Q binäärinen ykkönen, mikä ^ösittain sallii JA-veräjän 539. Jos välimuistikeskeytyksen kiik-:..lru 177 on asetettu, on signaali CHINT sen ulostulolla Q binää- 87283 26 rinen yksi/ mikä osittain sallii JA-veräjän 543. Toinen sisääntulo JA-veräjälle 539 on invertterin 537 ulostulo, ja toinen sisääntulo JA-veräjälle 543 on invertterin 541 ulostulo. Sisääntulo invertterille 537 on signaali GLR0SD3 ROS-tietorekisterin 159 ulostulolta Q3. Sisääntulo invertterille 541 on signaali GLROSD2 ROS-tietorekisterin 159 ulostulolla Q2. Kuten edellä on esitetty, ajastetaan ROS-tietorekisteri 159 signaalilla T4, joka muuttuu binäärisestä ykkösestä tilaan binäärinen nolla ajan 4 lopussa, ja siten ajastaa ROS-tietorekisteriin 159 ulostulon 1iimalogiikka-ROS:ilta 131, joka on kytketty tietosisääntuloihin DO - D4. Signaali GLROSDT2 sisääntulolla D2 on binäärisessä tilassa yksi, jos odottamattoman tapahtuman keskeytys pitää estää, ja signaali GLROSDT3 sisääntulolla D3 on binäärisessä tilassa yksi, jos virtuaalimuistikeskeytys pitää estää. Nämä signaalit, jotka vastaavat mikrokäskysanassa olevia bittejä, sallivat siten joko odottamattoman tapahtuman keskeytyksen tai virtuaalimuisti keskeytyksen estämällä JA-veräjät 543 ja 539, tässä järjestyksessä .
Jos JA-veräjiä 543 ja 539 ei ole estetty keskeytysten kiellolla, niin odottamattoman tapahtuman keskeytyssignaali UEVTRP linjalla 160 on tilassa binäärinen ykkönen, jos vaiimuistikeskeytyk-’ sen kiikku 177 on asutettu, ja virtuaalimuistin keskeytyssig-···· naali VMTRP linjalla 158 on tilassa binäärinen ykkönen, jos vir-’...· tuaalimuistikeskeytyksen kiikku 175 on asetettu. Jos jompi kum-pi keskeytyskiikuista 175 tai 177 on asetettu, on toinen näis-: : : tä signaaleista tilassa binäärinen ykkönen ja saa multiplekse-rin 503 valitsemaan joko sisääntulon C tai D aiheuttaen sen, että seuraava mikrokäsky luetaan ohjausmuistipaikasta, joka on : keskeytyksenkäsittelymikrorutiinin alku.
Kuten edellä on esitetty, kun valitaan multiplekserin 503 sisääntuloista joko C tai D, potentiaalinen seuraava ROS-osoite, : joka on signaali PNSROSA tavalliselta seuraavan osoitteen muo-dostuslogiikalta 506, työnnetään paluuosoitepinoon 507 siten, !!! että se on myöhemmin saatavissa pois pinosta, kun keskeytystä palveleva mikro-ohjelmoitu rutiini on suoritettu. Jos on tapah- 87283 27 tunut odottamattoman tapauksen keskeytys, joka aiheuttaa sen, että multiplekseri 503 valitsee sisääntulot D portitettaviksi ulostulolleen, voi mikro-ohjelma, johon seuraavaksi mennään, sitten siirtää mikroprosessorille 101 oirerekisterin 171 sisällön ohjelmoimalla mikrokäskyyn mikro-operaatio, joka dekoodataan mikro-operaation dekooderilla 165, jolloin sen ulostulo, signaali CHM1, tulee binääriseksi ykköseksi. Kun signaali CHM1 tulee binääriseksi ykköseksi, aiheuttaa se invertterin 549 ulostulon muuttumisen binääriseksi nollaksi. Invertterin 549 ulostulo on kytketty välimuistin keskeytyskiikun 177 resetoin-tisisääntuloon (R), jolloin aiheutetaan tämän resetoituminen, ja se on myös kytketty TAI-veräjän 535 toiseen sisääntuloon. TAI-veräjän 535 toinen sisääntulo tulee EI-TAI-portilta 533, jolla on sisääntuloina signaalit Tl ja T2, jotka ovat binäärisessä ykköstilassaan aikoina 1 ja 2, tässä järjestyksessä. EI-TAI-veräjän 533 ulostulo on tilassa binäärinen nolla mikrokäs-kyjakson aikoina 1 ja 2 aiheuttaen siten sen, että TAI-veräjän 535 ulostulo on tilassa binäärinen yksi aikoina 1 ja 2, jos signaali CHM1 mikro-operaation dekooderilta 165 on tilassa binäärinen yksi. Binäärinen nollaulostulo TAI-veräjäitä 535 sallii oirerekisterin 171 ulostulot prosessoriväylälle 138. Siten, jos . . CHMl-mikro-operaatio on ohjelmoitu mikrokäskyyn, resetoidaan välimuistin keskeytyskiikku 177, jolloin nollataan keskeytysehto, — ja oirerekisterin 171 sisältö syötetään prosessoriväylälle 138, *-·- joka on sisääntulo mikroprosessorin 101 BM-rekisteriin 509 ai-kana 2 kellosignaalilla T2 sen kellosisääntulossa (C). BM-rekis-: terin 509 ulostulo on sisääntulo tavalliselle seuraavan osoit- : : : teen muodostuslogiikalle 505, ja sallii siten oirerekisteristä 171 saatavien oirebittien, jotka ilmaisevat sitä tiettyä ehtoa, : joka aiheuttaa välimuistin keskeytyksen tapahtumisen, testaami-sen mikroprosessorissa 101 ja haarautumisen suorittamisen riippuen siitä, mikä oirebitti on asetettu.
Virtuaalimuistin keskeytyskiikku 175 ja oirerekisteri 169 toimi-. . . vat samalla tavalla kuin välimuistin keskeytyskiikku 177 ja oirerekisteri 171 siten, että ne myös nollataan ja sallitaan prosessori väylälle mikro-operaatiolla, joka on ohjelmoitu mikrokäs- 28 87203 kyyn, jolloin dekoodaus suoritetaan nikro-operaation dekooderil-la 16 3, joka muodostaa signaalin VMM1 binäärisessä ykköstilassa, jos mikro-operaatio on olemassa. Signaali VMM1 invertoituna in-vertterillä 547 sallii oirerekisterin 169 prosessoriväylälle 138 muodostamalla binäärisen nollan TAI-veräjän 531 kautta yhdessä signaalien Tl ja T2 kanssa EI-TAI-veräjän 529 kautta. Sen lisäksi/ että mikro-operaatio nollaa virtuaalimuistin keskeytysköi-kun 175/ se nollaa myös keskeytysehtorekisterin 511/ jota käytetään säilyttämään niitä kolmea bittiä/ jotka määrittävät, mikä kahdeksasta mahdollisesta ehdosta aiheutti virtuaalimuistin kes-keytysehdon, ja joita käytetään ohjaamaan 8-teistä vektoroitua keskeytystä multiplekserin 503 kautta.
Edelläolevasta esityksestä voidaan havaita, että keskeytysehdon tapahtumisesta järjestelmän aliyksikössä on seurauksena se, että keskeytyskiikku asetetaan sen hetkisen mikrokäskyn aikana 4. Seuraavnn mikrokäskyn suorittamisen aikana, jos seuraavalla mik-rokäskyllä ei ole itseensä ohjelmoituna mikro-operaatioita, jotka estävät keskeytysten tapahtumisen estäen siten JA-veräjät 539 tai 543 seuraavan mikrokäskyn suorituksen aikana, seuraavan osoitteen muodostuslogiikka muodostaa sen mikro-ohjelmarutiinin . . osoitteen, joka on ohjelmoitu käsittelemään keskeytysehtoa ja ; joka työntää paluupinoon 507 sen seuraavan mikrokäskyn osoitteen, joka olisi suoritettu, jos keskey tysehtoa ei olisi tapahtunut.
... Keskeytyksenkäsittelymikro-ohjelman suorituksen aikana voi mik-ro-ohjelma ohjelmoitujen mikrokäskyjen avulla sijoittaa oirere-• kisterin sisällön prosessoriväylälle 138, joka sitten on sisään--·’; meno mikroprosessoriin 101, joka puolestaan voi sitten tutkia oirebitit ja määrätä tarkasti, mikä tilanne aiheutti keskeytyk-. . : sen. Keskeytystä käsittelevän mikro-ohjelman loppuun voidaan ohjelmoida mikro-operaatio, joka dekoodataaan mikro-operaation dekooderilla 161, ja joka saa aikaan sen, että paluuosoite poi-: '*· mitään paluuosoitepinosta 507, jolloin palataan se mikro-ohjel-' man suoritukseen, joka keskeytyi, kun keskeytysehto sattui.
-··_ Multiplekserin 503 seuraava ROS-osoitteen ulostulo välivarastoidaan ROS-osoi terekisteri in 501 kellosignaalilla T2 sen kellosi- 29 37283 sääntulolla (C). ROS-osoiterekisteri 209 on läpinäkyvätyyppinen lukkopiiri, joka sallii sisääntulonsa ulostuloilleen sinä aikana, jolloin kellosignaali on binäärisessä ykköstilassa, ja salpaa sisääntulonsa ulostuloille, kun kellosignaali muuttuu binäärisestä ykkösestä binääriseen nollatilaan. Tämä on esitetty kuvassa 6, joka näyttää, että ensimmäisen mikrokäskyjakson aikana ROS-osoitesignaali ROSADDR osoittaa paikkaan A ohjausmuistissa jakson 1 aikoina 3 ja 4 sekä jakson 2 aikana 1. Kuva 6 esittää, että ROS-osoite on määrittelemätön aikana 2 ja että sisääntulot salvataan ulostuloille ajan 2 lopussa.
14-bitin ROS-osoite ROSADDR linjoilla 102 on sisääntulo mikro-prosessori-ROS:in 109 osoitesisääntuloihin, jotta voidaan osoittaa yhtä 16K paikoista ohjausmuistissa. Tämä 14-bitin ROS-osoite viedään myös ohjausmuistin muihin osiin, jotka ovat virtuaali-muisti-ROS 111, 1iimalogiikka-ROS 113 ja välimuisti-ROS 115.
Nämä R0S:it voidaan aina lukea kirjoituksen sal1intasisääntulon ollessa binäärisessä ykköstilassa. Sen jälkeen, kun ROS-osoite on muodostettu ohjausmuistin osoitesisääntuloi1le riittäväksi aikajaksoksi, jotta ROS pystyy lukemaan osoitetun paikan, tulee vastaava tieto saataville eri R0S:ien tietoulostuloille, ja eri-. . tyisesti 67 bittiä ROS-tietoa tulee saataville linjoille 104 ; signaalina MPROSDT. Osoitemikrokäskyn sijainnin sisältö tulee ·;; saataville jonakin hetkenä aikana 4 ja se pysyy saatavilla ajan 1. Invertterin 513 ulostulo on kytketty ROS-tietorekisterin 153 kellosisäantuloon (C), joka on D-tyyppinen rekisteri. Kun ajoi-' tussignaali T4 invertterin 513 sisääntulolla muuttuu binäärisek-- si nollaksi, tulee sen ulostulo binääriseksi ykköseksi ja ajastaa ROS-tietorekisterin 153. Siten kuvasta 6 voidaan nähdä, että :'· | ajan 4 lopussa 67-bitin ulostulosignaali linjoilla 114, joka on .·;·. signaali RDROUT, asecetaan samaksi kuin signaali MPROSTD, joka on ROS-tietorekisterin 153 sisäänmenossa. Siten toisen mikrokäs- " kyjakson aikana kuvassa 6 signaali RDROUT sisältää ohjausmuistin '...· paikan A sisällön, ja paikan A osoite vietiin oh jausmuistin osoi-. .·. tes isääntuloi 1 le edellisen mikrokäsky jakson aikana. Siten näh-• dään, että mikroprosessori 101 muodostaa seuraavan mikrokäskyn osoitteen sen hetkisen mikrokäskyn suorituksen aikana.
30 87283
Edellisestä kuvauksesta ja katsomalla signaalia ROSADDR ja signaalia RDROUT kuvassa 6 voidaan havaita, että yhden mikrokäsky-jakson aikana muodostetaan seuraavan mikrokäskyn osoite samalla, kun sen hetkistä mikrokäskyä suoritetaan, ja tätä muodostettua osoitetta käyttäen aloitetaan seuraavan mikrokäskyn lukeminen ohjausmuistista siten, että mikrokäsky on saatavilla seuraavan jakson alussa.
Vaikka ylläoleva selitys on esitetty ohjausmuistille, jota käytetään ohjaamaan mikrokäskyjen suoritusta keskusyksikössä, voidaan ylläolevia periaatteita yhtä hyvin soveltaa ohjausmuistiin, jota käytetään muissa käsittely-yksiköissä olevien mikrokäskyjen suorittamisen ohjaamiseen. Lisäksi, vaikka ylläolevassa selityksessä on ollut keskusohjausmuisti, joka on jaettu lukuisiin pienempiin ohjausalimuis teihin, joista kukin syöttää yhtä ainoata aliyksikköa, voidaan tämän keksinnön periaatteita yhtä hyvin soveltaa yhteen ainoaan ohjausmuistiin, joka syöttää yhtä tai lukuisia aliyksiköitä .
Vaikka ylläoleva selitys on esitetty järjestelmälle, joka sisältää neljä mikro-ohjelmoitua aliyksikköä, joista kaksi voi aiheut-. . taa keskeytysehdon tapahtumisen, voidaan tämän keksinnön peri-; aatetta soveltaa järjestelmään, jolla on useampia tai vähempiä ;· mikro-ohjelmoituja ai iyksikkö jä. Jos lisää aliyksikköjä lisätään ··' järjestelmään, joka voi aiheuttaa yhteisen keskeytysehdon tapah-.. · tumisen, voidaan tämä hoitaa yksinkertaisesti lisäämällä jokai-; seen aliyksikköön oirorekisteri, joka voidaan selektiivisesti : portittaa prosessoriväy1ään siten, että se mikro-ohjelma, joka vastaa yhteiseen keskeytysehtoon, voi tehdä kiertokyselyn eri ai i yks iköi 1 le, ja saada selville, mikä aliyksikkö aiheutti kes-·. keytyksen tapahtumisen. Lisäämällä mikro-ohjelmoituja aliyksiköitä järjestelmään tällä tavalla voidaan mikro-ohjelmoidut ai i-" yksiköt lisätä järjestelmään ilman, että vaaditaan mitään muu-...· toksia pääal iyks ikössä, joka muodostaa seuraavan mikrokäskyn . . osoi t teen .
Vaikka ylläolevassa selityksessä on sen hetkisen mikrokäskyn 87283 31 suoritus limitetty seuraavan mikrokäskyn luvun kanssa, ovat tämän keksinnön periaatteet yhtä lailla sovellettavissa, jos mikrokäskyn suoritus on limitetty lukuisien mikrokäskyjen lukujen kanssa, tai jos seuraavan mikrokäskyn luku ei ala, ennenkuin sen hetkisen mikrokäskyn suoritus on saatettu loppuun.
Vaikka keksintö on esitetty ja kuvattu viitaten sen edulliseen toteutukseen, ymmärtävät alan ammattimiehet, että ylläolevat ja muut muutokset muotoon ja yksityiskohtiin voidaan tehdä siihen ilman, että poiketaan keksinnön hengestä ja suojapiiristä.
Claims (10)
1. Mikro-ohjelmoitava järjestelmä, tunnettu siitä, että siihen kuuluu: - useita mikro-ohjelmoitavia aliyksiköitä (101,103,105,107), jolloin yksi mainituista aliyksiköistä on pääaliyksikkö (101); - osoitettava ohjausmuisti lukuisien mikrokäskyjen tallentamiseksi, jolloin mainittu ohjausmuisti on levitetty kauttaaltaan mikro-ohjelmoitavaan järjestelmään ja se sisältää lukuisia ohjausalimuisteja (108,111,113,115), jolloin kukin mainituista ohjausalimuisteista ohjaa vastaavaa mainituista aliyksiköistä ja tallettaa osan mainituista mikrokäskyistä ja, vastaanotettuaan osoitteen mainitulta pääaliyksiköltä (101) sisääntulo-johdon (102) kautta, toimittaa osoitetun mikrokäskyn ulosmeno-linjan (104,106,108,112) kautta vastaavaan aliyksikköön (101,103,105,107) aikaansaamaan mikro-operaatioiden suorittamisen mainitulla aliyksiköllä; - seuraavan osoitteen kehityselin (167), mikä on osa mainittua pääaliyksikköä (101) seuraavan mikrokäskyn osoitteen kehittämiseksi, mikä siirretään mainitun sisääntulolinjan (102) kautta mainituille ohjausalimuisteille (109,111,113,115); - keskeytyksenpyyntöelin (175), joka sisältyy ensimmäiseen aliyksikköön (103) mainituista lukuisista aliyksiköistä, kehittämään keskeytyssignaali (VMINT) mainitulle pääaliyksikölle (101) ilmaisten, että on tapahtunut sellainen poikkeustilanne mainitussa ensimmäisessä aliyksikössä (103), mikä vaatii poikkeuksen käsittelevän mikro-ohjelma alirutiinin suorittamisen; ja - keskeytyksen vastauselin (503,525,527) sisällytettynä mainittuun seuraavan osoitteen kehityselimeen (167) vastaamaan mainittuun keskeytyssignaaliin aikaansaamaan mainitun seuraavan osoitteen kehityselimen (167) kehittämään seuraava mikrokäsky-osoite tai mainittu poikkeuksen käsittelevä mikro-ohjelmarutiini; jolloin mainitun mikro-ohjelmoitavan järjestelmän normaalin toiminnon aikana seuraavan mikrokäskyosoitteen kehittämistä ohjataan olosuhteilla mainitun pääaliyksikön (101) sisäpuolel- i 87283 33 la, mutta missä mainittu ensimmäinen aliyksikkö (103) voi aikaansaada mainitun poikkeuksen käsittelevän mikro-ohjelmarutiinin suorittamisen kehittämällä mainitun keskeytyssignaalin (VMINT).
2. Patenttivaatimuksen 1 mukainen järjestelmä, tunnettu siitä, että siihen lisäksi kuuluu; - ensimmäinen oirerekisteri (169) kytkettynä mainittuun seuraa-van osoitteen kehityselimeen (167) sisältämään yhden tai useamman indikaattorin olosuhteista mainitussa ensimmäisessä aliyk-sikössä (103), mitkä olosuhteet vaativat mainitun poikkeuksen käsittelymikro-ohjelmarutiinin suorittamisen; ja - ensimmäisen oirerekisterin sallintaelimen (529,531) sisällytettynä mainittuun ensimmäiseen aliyksikkön (103) ja kytkettynä mainittuun ensimmäiseen oirerekisteriin (169) sallimaan mainitun yhden tai useamman indikaattorin mainitussa ensimmäisessä oirerekisterissä (169) vaikuttamaan mainittuun mikrokäskyosoit-teeseen, joka on muodostettu mainitun seuraavan osoitteen kehi-tyselimellä (167), sallien tämän avulla mainitun poikkeuksen käsittelevän mikro-ohjelmarutiinin testaavan yksilöllisiä olosuhteita, jotka esiintyvät mainitussa ensimmäisessä aliyksi-kössä (103).
3. Patenttivaatimuksen 2 mukainen järjestelmä, tunnettu siitä, että mainittu ensimmäisen oirerekisterin sallintaelin (529,531) reagoi ensimmäiseen mikro-operaatioon, joka on tallennettavissa mainittuun ensimmäisen aliyksikön vastaavaan ohjausalimuistiin (111).
4. Patenttivaatimuksen 3 mukainen järjestelmä, tunnettu siitä, että siihen lisäksi kuuluu: - toinen oirerekisteri (171) kytkettynä mainittuun seuraavan osoitteen kehityselimeen (167) sisältämään yhden tai useamman indikaattorin olosuhteista mainituista lukuisista aliyksiköistä toisessa aliyksikössä (107), mitkä olosuhteet vaativat mainitun 34 87283 poikkeuksen käsittelevän mikro-ohjelmarutiinin suorittamisen/ ja - toisen oirerekisterin sallintaelin (533,535) sisällytettynä mainittuun toiseen aliyksikköön (107) ja kytkettynä mainittuun toiseen oirerekisteriin (171) sallimaan mainitun yhden tai useamman indikaattorin mainitussa toisessa oirerekisterissä (171) vaikuttavan mainittuun mikrokäskyosoitteeseen, joka on kehitetty mainitulla seuraavan osoitteen kehityselimellä (167), sallien tämän avulla mainitun poikkeuksen käsittelevän mikro-ohjelmarutiinin testaavan yksilöllisiä olosuhteita, jotka esiintyvät mainitussa toisessa aliyksikössä (107) ja missä mainitun toisen oirerekisterin sallintaelin (533,535) reagoi toiseen mikro-operaatioon, joka on tallennettavissa mainittuun toisen aliyksikön vastaavaan ohjausalimuistiin (115), minkä avulla mainittu poikkeuksen käsittelevän mikro-ohjelmarutiini voi vuorotellen kiertokysellä mainittua ensimmäistä aliyksikköä (103) ja mainittua toista aliyksikköä (107) määrittämään millä mainituista lukuisista aliyksiköistä on poikkeustilanne, mikä aiheutti keskeytyksen tapahtumisen.
5. Patenttivaatimuksen 3 mukainen järjestelmä, tunnettu siitä, että siihen lisäksi kuuluu: - keskeytystilarekisteri (511) kytkettynä mainittuun seuraavan osoitteen muodostuselimeen (167) sisältämään yhden tai useamman indikaattorin olosuhteista mainitussa ensimmäisessä aliyksikössä (103), mitkä olosuhteet vaativat yhden lukuisista vektoroi-duista keskeytyksen poikkeustilamikro-ohjelmista suorittamisen/ ja - vektoroitu keskeytykseen reagoiva elin (503) sisällytettynä mainittuun seuraavan osoitteen kehityselimeen (167) ja kytkettynä mainittuun keskeytystilarekisteriin (511) kehittämään lukuisia ennalta määrättyjä keskeytysosoitteita mainittuina mikrokäskyosoitteina mainituille ohjausmuisteille, jolloin mainitut lukuisat ennalta määrätyt vektoroidut keskeytysosoitteet osoittavat sinne, missä vastaavat lukuisat vektoroidut li 87283 35 keskeytystilan mikro-ohjelmat voivat olla talletettuina.
6. Patenttivaatimuksen 1 mukainen järjestelmä, tunnettu siitä, että siihen lisäksi kuuluu: - keskeytyksen estoelin (165,549) sisällytettynä erääseen aliyksikköön lukuisista aliyksiköistä ja kytkettynä mainittuun kesketyksenpyyntöelimeen (177), joka reagoi toiseen mikro-operaatioon, joka on tallennettavissa mainittuun aliyksikön vastaavaan ohjausalimuistiin, jolloin mainittu keskeytyksenes-toelin (165,549) estää mainitun kesketyksenpyyntöelimen (175) tai (177) muodostamasta mainitun keskeytyssignaalin (VMINT) tai (CHCINT) mainitulle pääaliyksikölle (101).
7. Patenttivaatimuksen 6 mukainen järjestelmä, tunnettu siitä, että mainittu aliyksikkö lukuisista aliyksiköistä on mainittu ensimmäinen aliyksikkö (103).
8. Patenttivaatimuksen 6 mukainen järjestelmä, tunnettu siitä, että mainittu aliyksikkö lukuisista aliyksiköistä ei ole mainittu pääaliyksikkö (101) eikä mainittu ensimmäinen aliyksikkö (103) vaan lisäaliyksikkö (107).
9. Patenttivaatimuksen 1 mukainen järjestelmä, tunnettu siitä, että mainittujen mikrokäskyjen suorittaminen tapahtuu lukuisista mainituista aliyksiköistä kullakin aliyksiköllä, joka suorittaa mikro-operaatioitaan rinnakkain mikro-operaatioiden suorittamisen kanssa muissa aliyksiköissä mainituista lukuisista aliyksiköistä.
10. Patenttivaatimuksen 1 mukainen järjestelmä, tunnet-t u siitä, että seuraavan mikrokäskyosoitteen kehittäminen on limitetty senhetkisen mikrokäskyn suorittamisen kanssa. 87283 36
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US66309684 | 1984-10-19 | ||
| US06/663,096 US4670835A (en) | 1984-10-19 | 1984-10-19 | Distributed control store word architecture |
Publications (4)
| Publication Number | Publication Date |
|---|---|
| FI854043A0 FI854043A0 (fi) | 1985-10-17 |
| FI854043L FI854043L (fi) | 1986-04-20 |
| FI87283B true FI87283B (fi) | 1992-08-31 |
| FI87283C FI87283C (fi) | 1992-12-10 |
Family
ID=24660454
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FI854043A FI87283C (fi) | 1984-10-19 | 1985-10-17 | Distribuerat kontrollminnesordarkitektur |
Country Status (15)
| Country | Link |
|---|---|
| US (1) | US4670835A (fi) |
| EP (1) | EP0178671B1 (fi) |
| JP (1) | JPH081595B2 (fi) |
| KR (1) | KR910008918B1 (fi) |
| CN (1) | CN1010259B (fi) |
| AT (1) | ATE64482T1 (fi) |
| AU (1) | AU579194B2 (fi) |
| BR (1) | BR8505210A (fi) |
| CA (1) | CA1240800A (fi) |
| DE (1) | DE3583201D1 (fi) |
| DK (1) | DK165528C (fi) |
| ES (1) | ES8800459A1 (fi) |
| FI (1) | FI87283C (fi) |
| NO (1) | NO169925C (fi) |
| YU (1) | YU45924B (fi) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4802088A (en) * | 1986-08-11 | 1989-01-31 | Amdahl Corporation | Method and apparatus for performing a pseudo branch in a microword controlled computer system |
| US4914576A (en) * | 1986-12-18 | 1990-04-03 | Bull Hn Information Systems Inc. | Apparatus and method of loading a control store memory of a central subsystem |
| US5148530A (en) * | 1987-05-19 | 1992-09-15 | Bull Hn Information Systems Inc. | Method for reexecuting instruction by altering high bits of instruction address based upon result of a subtraction operation with stored low bits |
| US4901222A (en) * | 1987-05-19 | 1990-02-13 | Bull Nh Information Systems Inc. | Method and apparatus for backing out of a software instruction after execution has begun |
| US5151986A (en) * | 1987-08-27 | 1992-09-29 | Motorola, Inc. | Microcomputer with on-board chip selects and programmable bus stretching |
| FR2656442B1 (fr) * | 1989-12-21 | 1994-07-29 | Bull Sa | Processeur a plusieurs unites microprogrammees avec mecanisme d'execution anticipee des instructions. |
| JP2570466B2 (ja) * | 1990-05-18 | 1997-01-08 | 日本電気株式会社 | 情報処理装置 |
| EP0477599A3 (en) * | 1990-09-26 | 1993-11-10 | Siemens Ag | Control store for a processor comprising several processing elements |
| US5377335A (en) * | 1991-08-30 | 1994-12-27 | Unisys Corporation | Multiple alternate path pipelined microsequencer and method for controlling a computer |
| EP0586767A1 (en) * | 1992-09-11 | 1994-03-16 | International Business Machines Corporation | Selective data capture for software exception conditions |
| US5440703A (en) * | 1993-09-20 | 1995-08-08 | International Business Machines Corporation | System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified |
| TW436693B (en) * | 1998-08-18 | 2001-05-28 | Ind Tech Res Inst | Interrupt control device and method for pipeline processor |
| US7743232B2 (en) | 2007-07-18 | 2010-06-22 | Advanced Micro Devices, Inc. | Multiple-core processor with hierarchical microcode store |
| CN101989193B (zh) * | 2010-11-05 | 2013-05-15 | 青岛海信信芯科技有限公司 | 微控制器及其指令执行方法 |
| US11467838B2 (en) | 2018-05-22 | 2022-10-11 | Advanced Micro Devices, Inc. | Fastpath microcode sequencer |
| US11016763B2 (en) | 2019-03-08 | 2021-05-25 | Advanced Micro Devices, Inc. | Implementing a micro-operation cache with compaction |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS605977B2 (ja) * | 1974-05-15 | 1985-02-15 | 日本電気株式会社 | マイクロプログラム制御装置 |
| CA1059639A (en) * | 1975-03-26 | 1979-07-31 | Garvin W. Patterson | Instruction look ahead having prefetch concurrency and pipe line features |
| DE2555963C2 (de) * | 1975-12-12 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Funktionsmodifizierung |
| US4149243A (en) * | 1977-10-20 | 1979-04-10 | International Business Machines Corporation | Distributed control architecture with post and wait logic |
| US4268908A (en) * | 1979-02-26 | 1981-05-19 | International Business Machines Corporation | Modular macroprocessing system comprising a microprocessor and an extendable number of programmed logic arrays |
| US4393465A (en) * | 1981-04-13 | 1983-07-12 | Burroughs Corporation | Digital device for time-multiplexing multiple tasks |
| JPS5851353A (ja) * | 1981-09-24 | 1983-03-26 | Nippon Telegr & Teleph Corp <Ntt> | プログラム制御回路 |
-
1984
- 1984-10-19 US US06/663,096 patent/US4670835A/en not_active Expired - Lifetime
-
1985
- 1985-10-16 AU AU48767/85A patent/AU579194B2/en not_active Ceased
- 1985-10-17 EP EP85113207A patent/EP0178671B1/en not_active Expired - Lifetime
- 1985-10-17 DE DE8585113207T patent/DE3583201D1/de not_active Expired - Lifetime
- 1985-10-17 AT AT85113207T patent/ATE64482T1/de active
- 1985-10-17 FI FI854043A patent/FI87283C/fi not_active IP Right Cessation
- 1985-10-18 DK DK479085A patent/DK165528C/da not_active IP Right Cessation
- 1985-10-18 YU YU166785A patent/YU45924B/sh unknown
- 1985-10-18 CN CN85108466A patent/CN1010259B/zh not_active Expired
- 1985-10-18 JP JP60233141A patent/JPH081595B2/ja not_active Expired - Lifetime
- 1985-10-18 BR BR8505210A patent/BR8505210A/pt not_active IP Right Cessation
- 1985-10-18 CA CA000493337A patent/CA1240800A/en not_active Expired
- 1985-10-18 ES ES548005A patent/ES8800459A1/es not_active Expired
- 1985-10-18 NO NO854150A patent/NO169925C/no unknown
- 1985-10-19 KR KR858507726A patent/KR910008918B1/ko not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| EP0178671A3 (en) | 1988-08-17 |
| DE3583201D1 (de) | 1991-07-18 |
| AU4876785A (en) | 1986-04-24 |
| FI87283C (fi) | 1992-12-10 |
| CA1240800A (en) | 1988-08-16 |
| BR8505210A (pt) | 1986-07-29 |
| ATE64482T1 (de) | 1991-06-15 |
| NO169925C (no) | 1992-08-19 |
| YU45924B (sh) | 1992-09-07 |
| DK165528C (da) | 1993-04-19 |
| DK165528B (da) | 1992-12-07 |
| DK479085A (da) | 1986-04-20 |
| CN85108466A (zh) | 1987-04-15 |
| EP0178671B1 (en) | 1991-06-12 |
| FI854043A0 (fi) | 1985-10-17 |
| CN1010259B (zh) | 1990-10-31 |
| NO854150L (no) | 1986-04-21 |
| JPS61118838A (ja) | 1986-06-06 |
| KR860003552A (ko) | 1986-05-26 |
| FI854043L (fi) | 1986-04-20 |
| DK479085D0 (da) | 1985-10-18 |
| YU166785A (en) | 1988-02-29 |
| ES8800459A1 (es) | 1987-11-01 |
| JPH081595B2 (ja) | 1996-01-10 |
| EP0178671A2 (en) | 1986-04-23 |
| US4670835A (en) | 1987-06-02 |
| ES548005A0 (es) | 1987-11-01 |
| NO169925B (no) | 1992-05-11 |
| KR910008918B1 (en) | 1991-10-24 |
| AU579194B2 (en) | 1988-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FI87283B (fi) | Distribuerat kontrollminnesord -arkitektur. | |
| US5644699A (en) | Memory apparatus and data processor using the same | |
| EP0368332B1 (en) | Pipeline data processor | |
| US5125083A (en) | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system | |
| EP0381469B1 (en) | Method and data processing unit for pipeline processing of register and register modifying specifiers within the same instruction | |
| JPS6122331B2 (fi) | ||
| US4542456A (en) | Method and apparatus for performing range checks | |
| US4446517A (en) | Microprogram memory with page addressing and address decode in memory | |
| US5581774A (en) | Data processor decoding and executing a train of instructions of variable length at increased speed | |
| US6189093B1 (en) | System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register | |
| US4204634A (en) | Storing partial words in memory | |
| JPH02153446A (ja) | データ処理システム | |
| JP3995883B2 (ja) | マルチタスク・システムのためのメモリ保護システム | |
| US5634136A (en) | Data processor and method of controlling the same | |
| JPS5938677B2 (ja) | 制御ワ−ド転送制御装置 | |
| US4785414A (en) | Computer system with automatic range checking and conversion of data words | |
| US6425047B1 (en) | Process containing address decoders suited to improvements in clock speed | |
| EP0157306B1 (en) | High speed processor | |
| JP2511063B2 (ja) | パイプライン制御方式 | |
| JP3171615B2 (ja) | データ転送のリトライ制御方式 | |
| JP3476314B2 (ja) | マイクロプロセッサ | |
| JP4702004B2 (ja) | マイクロコンピュータ | |
| WO1986000435A1 (en) | Three word instruction pipeline | |
| EP0432807A2 (en) | Microprocessor having internal cache memory | |
| JPH0136137B2 (fi) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM | Patent lapsed | ||
| MM | Patent lapsed |
Owner name: HONEYWELL INFORMATION SYSTEMS INC. |