[go: up one dir, main page]

FI74355C - Styrminne. - Google Patents

Styrminne. Download PDF

Info

Publication number
FI74355C
FI74355C FI800118A FI800118A FI74355C FI 74355 C FI74355 C FI 74355C FI 800118 A FI800118 A FI 800118A FI 800118 A FI800118 A FI 800118A FI 74355 C FI74355 C FI 74355C
Authority
FI
Finland
Prior art keywords
memory
control
address
control word
multiplexer
Prior art date
Application number
FI800118A
Other languages
English (en)
Swedish (sv)
Other versions
FI800118A (fi
FI74355B (fi
Inventor
William H Roberts
Spencer S Hu
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of FI800118A publication Critical patent/FI800118A/fi
Application granted granted Critical
Publication of FI74355B publication Critical patent/FI74355B/fi
Publication of FI74355C publication Critical patent/FI74355C/fi

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/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • 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/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

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)
  • Logic Circuits (AREA)

Description

TyjS^Tl KUULUTUSJULKAISU .
»*Sf$ [B] (11) utläggningsskrift *^ (45) 1 " (51) Kv.lk.4/lnt.CI4 G 06 F 9/22
SUOMI-FINLAND
(Fl) (21) Patenttihakemus-Patentansökning 8001 18 (22) Hakemispäivä - Ansökningsdag 15.01.80
Patentti-ja rekisterihallitus (23) Alkupäivä - Giltighetsdag 15.01.80
Patant-och registerstyrelsen (47) Tu(lutJU,k(SekS(.Bi,vrtoffenti.g 17.07.80 (44) Nähtäväksipanon ja kuul.julkaisun pvm. - og gg g-j
Ansökan utlagd och utl skriften publicerad ' Ό ' (86) Kv. hakemus - Int ansökan (32)(33)(31) Pyydetty etuoikeus - Begärd prioritet 16.01. 79 USA(US) 3841 (71) Digital Equipment Corporation, 146 Main Street, Maynard, Massachusetts USA(US) (72) William H. Roberts, Corona de Mar, California,
Spencer S. Hu, Wayland, Massachusetts, USA(US) (74) Oy Kolster Ab (54) Ohj ausmuisti - Styrminne Tämä keksintö liittyy numeeristen tietokoneiden ohjausloh-koon. Lähemmin keksintö käsittelee mikro-ohjelman ohjausmuistia, joka käyttää tietokoneen konekielisten käskyjen nopeaa, joustavaa ja tehokasta tulkintamenetelmää. Vaikka tässä esitettyä keksintöä kuvataan enimmäkseen ohjausmuistien MOS/LSI-toteutusten nimityksillä, perustekniikka soveltuu muun tyyppisiin toteutuksiin, kuten normaaleihin bipolaarisiin rakenneosiin.
Nykyaikaisissa tietokoneissa käytetään hyväksi mikro-ohjelmointitekniikkaa niiden ohjauslohkon toteuttamisessa. Tämä käsittää ohjausmuistissa olevan koneen ohjausjärjestystä edustavan mikro-ohjelman tallentamisen. Tämä muisti voidaan toteuttaa jonkin lu-kumuistin (ROM-read only memory) tai kirjoitusmuistin muodossa. Suoritusjärjestystä mikro-ohjelman avulla ohjataan mikrotason ohjelma-laskurilla tai siirtämällä ohjaussanassa seuraavan mikrokäskyn osoite mikrokäskyn mukana. Jälkimmäinen menetelmä esitetään tässä patenttijulkaisussa, mutta tämä keksintö ei rajoitu tuohon kaavaan.
2 74355
Tietokoneen konekielisen käskyn suorittamiseksi on välttämätöntä ohjata valitsija sillä hetkellä suoritettavan ja käskyrekis-terissä sijaitsevan konekielisen käskyn mikro-ohjelman oikeaan osaan (oikeisiin osiin). Normaali menetelmä tietokoneen käskyn tulkitsemiseksi ja mikro-ohjelman suoritusjärjestyksen ohjaamiseksi on "kartoittaa" käskyn suorituskoodi lähtöohjausmuistiosoitteeseen ROM:in tai PLA:n (Programmable Logic Array -ohjelmoitava logiikkaverkko) kautta. Monissa tapauksissa tarvitaan vain yksi alkukartoitus. Myöhempiä kartoituksia voidaan suorittaa tai ehdollisia mikrotason haarautumia voidaan aikaansaada testaamalla tiettyjä bittejä tai bittiyhdistelmiä käskyrekisterissä. Usein mikrotason aliohjelmia käytetään ohjaamaan valvonta mikro-ohjelman muille osille menettämättä tuloksia alkuperäiskartoituksesta, joka tietysti poimitaan mikro-ohjelman osoitteesta aliohjelmakutsun yhteydessä.
Yleensä kartoituskaavio antaa ohjausmuistin osoitteen, jota sitten käytetään käskyn tulkinnan tuloksena saatavan, ensimmäisen mikrokäskyn saamiseksi. Osoitteen saaminen ensin kartoitustoiminnasta ja sen jälkeen pääsy ensimmäiseen ohjaussanaan on peräkkäistoi-mintana aikaa vievää. Tämä johtuu siitä, että kartoitusaika on yleensä lähes sama kuin ohjausmuistin saantiaika. Tämä keksintö kohdistuu oleellisten aikasäästöjen saavuttamiseen konekielisten käskyjen tulkinnassa. Sitä voidaan myös käyttää tulkitsemaan muita syöttötietoja, kuten keskytyksiä, siirräntää, pinomuistin ylivuotoa jne.
Tämän keksinnön eräänä tavoitteena on siis esittää mikro-ohjelman ohjausmuisti, joka käyttää tietokoneen konekielisten käskyjen nopeaa, joustavaa ja tehokasta tulkintamenetelmää.
Tämän keksinnön toisena tavoitteena on esittää mikro-ohjelman ohjausmuisti, jossa tietokoneen konekielisen käskyn tulkinta ja tulkinnan tuloksena saatavan ensimmäisen ohjaussanan saanti tapahtuvat samanaikaisesti.
Tämän keksinnön lisätavoitteena on esittää mikro-ohjelman ohjausmuisti, joka sallii yhden tai useamman ohjaussanan muuttaa toisten ohjaussanojen bittejä tai koodeja niiden tulkinnan muuttamiseksi vähentäen täten ohjaussanojen lukumäärää, joka muuten tarvittaisiin .
Tämän keksinnön lisätavoitteena on esittää mikro-ohjelman ohjausmuisti, joka sisältää PLA- ja ROM-osat ja joka sallii niiden 3 74355 ohjaussanojen, joiden saanti ei riipu käsiteltävänä olevasta käskystä, tallentamisen ROM-osarakenteeseen, joka on yleensä halvempi ja suppeampi kuin PLA-rakenne; ja niiden ohjaussanojen, joiden saanti riippuu käsiteltävänä olevasta käskystä, tallettamisen PLA-raken-teeseen.
Vielä eräänä tämän keksinnön tavoitteena on esittää mikro-ohjelman ohjausmuisti, jolla on sekä ROM- että PLA-rakenteet, joiden kokoonpano MOS/LSI-piirin muodossa voidaan yhdistää, mikä johtaa piirien ja yhdyslinjojen vähenemiseen ja täten pienempään mikropiiriin.
Vielä tämän keksinnön lisätavoitteena on esittää mikro-ohjelman ohjausmuistin PLA-osa, jossa ohjaussanat saadaan esille sekä koneen tilan että suoritettavan käskyn avulla; sen tähden tietokoneen ohjausosan suoritusjärjestys on tulos PLA:n suorittaman tieto-konekielisen käskyn tulkinnasta.
Vielä eräänä tämän keksinnön tavoitteena on esittää ohjaus-muisti, joka käyttää mikro-ohjelman ohjausmuistin PLA-osaa käskyjen tulkintatehon vuoksi ja ROM:ia ohjaussanojen tallentamiskyvyn vuoksi.
Tämän keksinnön edellä olevat ja muut tavoitteet saavutetaan tämän keksinnön erään suoritusmuodon mukaisesti varaamalla mikro-ohjelman tietokoneohjausosa, jossa on sekä PLA-laite ohjaussanojen tallentamiseksi että ROM-laite ohjaussanojen tallentamiseksi. ROM-tallennuskoneiston saantilaite perustuu osoiterekisteriltä saataville osoitetuloille. PLA-ohjaussanojen saantilaitteet perustuvat osoi-tetuloille ja osalle tai kaikille käskyrekisteristä saataville käs-kytuloille. ROM- ja PLA-osiin kytketty limitin valitsee niiden tulot osoitetulojen tiettyjen bittien tulkinnan perusteella. Tämä lähtö antaa mikrokäskyn ja seuraavan osoitteen. Seuraavan osoitteen lähdön kytkemiseksi limittimeltä seuraavan osoitteen rekisterille on myös takaisinkytkentälaite.
Tämän keksinnön yllä olevat ja muut tavoitteet ja uudet piirteet ilmenevät täydellisemmin seuraavasta kuvauksesta, kun sama luetaan yhdessä oheisten piirustusten kanssa, joissa
Kuvio 1 havainnollistaa kaavamaisesti tämän keksinnön toteutuksessa käytettävän mikro-ohjelman ohjausmuistin lohkokaavioraken-netta.
Kuvio 2 havainnollistaa kaavamaisesti tämän keksinnön erään suoritusmuodon lohkokaaviorakennetta, jossa PLA- ja ROM-rakenteet 4 74355 yhdistyvät siten, että PLA:n yksittäinen sarakebittilinja tai -verkko sijaitsee yhdessä vastaavan ROM-sarakebittilinjan kanssa.
Kuvio 3 havainnollistaa kaavamaisesti esimerkkiä yhdistetystä ROM- ja PLA-ohjausmuistista, jossa on yhdeksän 2-bittistä ohjaussa-naa ja yksi 2-bittinen ohjauslähtö.
Kuviot 4a ja 4b määrittelevät kaavamaisesti kuvion 3 mukaisessa esimerkissä käytettyjen porttien symbolit.
Kuvio 5 havainnollistaa taulukonmuodossa kuvion 3 mukaisen esimerkin ohjausmuistin koodauksen.
Tämä keksintö käyttää hyväksi tietokoneen ohjauslohkoa, jossa on ohjausmuisti, joka rakentuu sekä PLA- että ROM-tyyppisistä rakenteista ohjaussanojen tallentamiseksi. Lukumuisti (ROM) on poi-mintamuisti, jonne tieto on tallennettu pysyvästi muistiin ja täten muistia voidaan ainoastaan lukea. Muistilla on n osoitetuloa, jotka me tyhjentävästi tulkitsimme pääsyksi 2n muistipaikkaan. EPROMit, PROMit ja vastaavat laitteet sisältyvät tähän samaan tuoteperheeseen .
Ohjelmoitava logiikkaverkko (PLA) käsittää kaksi verkkoa: toinen on JA-porttien joukko ja toinen on TAI-porttien joukko. JA-porteilla on n varsinaista tuloa ja niiden komplementtia, jotka voidaan ohjelmoida yhteyksiksi halutulla tavalla. TAI-porteilla on tulot JA-porttien lähdöistä ja yhteydet voidaan ohjelmoida halutulla tavalla.
Sekä ROM- että PLA-rakenteet tallentavat ohjaussanoja, jotka koostuvat mikrokäskystä ja seuraavasta osoitteesta. Tätä ohjaus-muistia, joka rakentuu sekä PLA 2- että ROM 4-tyyppisistä rakenteista ohjaussanojen tallentamiseksi, on havainnollistettu kuviossa 1. Ohjausmuistin osa 2, joka on rakennettu PLArna on vaihtuva, mutta voisi tavallisesti olla l/n:s-osa koko muistista, missä n on 2, 4 tai 8. Kumpikin muistirakenne 2 ja 4 vastaanottaa vastaavat osoitetulot 12 ja 14 seuraavan osoitteen rekisteriltä 4. Rekisteri 4 sisältää seuraavan osoitteen, joka noudatetaan viimeiseltä ohjaus-sanalta seuraavan osoitteen rivin 30 kautta. PLA 2 vastaanottaa myös tulon 22 käskyrekisteriltä 8 tai muulta tulkittavien tulojen lähteeltä. Tavallisesti PLA-takenteen 2 ja ROM-rakenteen 4 JA-port-tidekooderit käyttävät sekä itse tuloja että niiden komplementteja. ROM-rakenne 4 käsittää ROM-muistiverkon 16 ohjaussanojen tallentamista varten ja dekooderiverkon 18. Dckooderivcrkko 18 vastaanottaa 5 74355 osan osoitteesta syöttötietona ja sen lähdöt aktivoivat ROM-muisti-verkon 16 rivinvalintalinjat. Jokainen ROM-dekooderista 18 lähtevä rivinvalintalinja valitsee muutamia ohjaussanoja muistiverkosta 16, joista lähtölimitin 20 valitsee sitten yhden jäljellä olevien osoi-tebittien ohjaamana. Se tosiasia, että ROM-dekooderi 16 jakautuu useiden ohjaussanojen osalle jokaisella rivinvalintalinjalla ja että sillä on vähemmän tuloja kuin ohjausmuistin PLA-rakenteen 2 JA-porttidekooderilla, on tärkeää otettaessa huomioon ohjausmuistin toteutukseen MOS/LSI-komponenttina tarvittavan piisirun alueen.
PLA 2 käsittää kaksi osaa, TAI-porttiverkon 24 ja JA-portti-verkon 26. TAI-porttiverkon 24 on sama kuin ROM 4:n muistiverkko 16 paitsi, että ainoastaan yksi ohjaussana voidaan valita kullakin rivinvalintalinjalla. JA-porttiverkko 26 toimii dekooderina rivin-valintalinjojen aktivoimiseksi ja täten TAI-porttiverkon 24 kunkin ohjaussanan valitsemiseksi. PLA-muisti ja porttiverkko 24 on vähemmän tehokas kuin ROM-muistiverkko 16, koska jokaista sanaa varten on yksi dekoodaava JA-portti ja JA-porteilla 24 on paljon enemmän tuloja kuin ROM:in 4 dekooderilla 18. Syy, miksi ohjaussanaa kohti on yksi dekoodaava JA-portti, johtuu siitä, että JA-porttiverkon 26 ohjelmoinnin täytyy kullekin ohjaussanalle olla yksilöllistä. Jokainen ohjausmuistin PLA-rakenteen 2 tallennettu ohjaussana saadaan esille osoitetulojen 12 ja tulkittavien käskytulojen 22 sopivan tilan, kuten tietokoneen käskyrekisterin sisällön avulla.
Valinnan PLA:n TAI-porttiverkon 24 ja ROM-muistiverkon 16 kesken suorittaa seuraavan osoitteen 14 ja 16 jokin bitti tai bittiyhdistelmä. Tämä riippuu PLA:n 2 rivien (JA-porttien) määrästä, ROM:in 20 rivien määrästä ja ROM:in 20 kultakin riviltä saatavien ohjaussanojen määrästä. Tuo valinta tapahtuu limittimessä 28.
On tärkeää huomata, että tässä ohjausmuistirakenteessa oh-jaussanat voivat sijaita jommassa kummassa muistin osassa. Ne oh-jaussanat, jotka aiotaan saada esille käskyrekisterin 8 sisällön jonkin tulkinnan tuloksena, sijaitsevat PLA-muistiverkossa 24, kun taas muut sanat voidaan sijoittaa yhtä hyvin muistin ROM-muistiverk-koon 16 kuin PLA-muistiverkkoon 24. Peräkkäiset sanat voidaan saada esille yhtä hyvin kummastakin rakenteesta määrittelemällä seu-raava osoite halutun muistin alueelta.
Ohjelman mikrokäskyt voidaan sekoittaa ROM-muistivcrkon 16 ja PLA:n TAI-porttiverkon 24 kesken millä tahansa tavalla. Kone- 6 74355 kielinen ohjelma voi suorittaa sopivat määrittelyt mikro-ohjelmaa luodessaan.
Kuten jo mainittiin, tulot PLA-rakenteen 2 JA-porttiverkkoon 26 ovat yleensä itse seuraava osoite 12 ja mikro-ohjelman järjestyksen ohjaukseen tarvittavat käskyn 22 osat ja niiden komplementit. Sen tähden JA-porttiverkko 26 ei ole tulojen täydellinen tulkinta, kuten asia on ROM-dekooderin 18 kohdalla; vaaditaan vain kunkin sanan esille saamiseen välttämättömät tulojen 12 ja 22 tulkinnat. Seuraava osoite (12) toimii "kartoituskoodina", joka valitsee erään JA-porttien ryhmän porttiverkosta 26. Jokaista kartoituskoo-dia varten aktivoitava(t) JA-portti tai -portit riippuvat käskytu-lon (22) koodauksesta. Tätä menettelyä havainnollistetaan edelleen seuraavassa esimerkissä. PLA-rakenteelle 2 määriteltyjen osoitteiden koko aluetta ei välttämättä käytetä, koska tarvittavien koodien lukumäärä on yhtä suuri kuin vaadittavien kartoitusten lukumäärä. Kartoituskoodin käyttö seuraavana osoitteena edustaa mikro-ohjelman kohtia, joissa ohjaussanan saanti riippuu käskyrekisterin 8 koodeista tai yksityisistä biteistä. Itse asiassa tämä kartoitus on samanlainen kuin muun tyyppisille ohjauksille aikaisemmin kuvattiin, missä kartoitus tuotti ohjausosoitteen, mutta tässä PLA-rakenne 2 tuottaa pikemminkin mikrokäskyn kuin mikrokäskyn osoitteen. Tämä johtaa nopeampaan mikrokäskyn saantiin kuin jos kartoitus antaisi ainoastaan ohjaussanan osoitteen. Se sallii myös kartoituksen tehtäväksi ohjausmuistissa ennemminkin kuin erillisessä rakenteessa. Koska jokainen kartoituskoodi voi ohjata lukemattomia JA-portteja JA-porttiryhmässä 26, on mahdollista saada lukemattomia kartoituksia aina saatavissa olevaan JA-porttien ja PLA-rakenteelle osoitettujen osoitteiden lukumäärään asti. Ohjauslohkolle saadaan joustavuutta sallimalla käskytulojen kartoitus tai testaus missä tahansa mikro-ohjelman pisteessä menettämättä aikaa. Lisäksi JA-portit voidaan ohjelmoida "älä välitä" -tuloilla siten, että ne reagoivat kartoituskoodien ja/tai käskykoodien alueeseen tai joukkoon. Tämä johtaa tehokkaaseen mikro-ohjelmointitekniikkaan, kun se yhdistetään kykyyn muunnella ohjaussanoja, kuten seuraavassa kappaleessa selostetaan .
TAI-porttiverkko 24 tallentaa ohjaussanat, kuten ROM:in 4 muistiverkko 16. Jokainen ohjaussana saadaan esille sen JA-portin 7 74355 ohjaamana. Tämän ohjauskaavion eräs ainutlaatuinen piirre on, että logiikka voidaan suorittaa TAI-porttimuistiverkossa 24, kun useampia kuin yksi JA-portti on aktiivinen kerrallaan. Tämä aikaansaa useamman kuin yhden sanan esillesaamisen kerralla tuloksen ollessa TAI- tai JA-toimitus kaikista valituista ohjaussanoista. Suoritettava logiikkatoiminta riippuu verkolle 24 sovellettavasta loogisesta polariteettisopimuksesta. Yhtä tai useampaa ohjaussanaa korvaa-vine ykkösineen ja nollineen voidaan käyttää muuntelemaan toista ohjaussanaa. Muutos voi esiintyä mikrokäskyssä tai ohjaussanan seu-raavan osoitteen osassa. Tämän tekniikan hyväksikäyttö vaatii kykyä määritellä mikrokäskyn ja osoitteiden bittejä ja koodeja, jotta oikea ohjaussanan muutos voi tapahtua. Esimerkiksi mikrokäskyjen ryhmä voidaan ohjelmoida tavutoimituksia varten ja ryhmän kaikki mikrokäskyt voidaan muuntaa sanatoimituksiksi yhdellä sanalla, joka saadaan samalla kertaa kuin eräs tavun mikrokäskyistä. Sellainen sana korvaa tavutoimituksen määrittelevän bitin tai koodin sellaisella, joka määrittelee sanatoimituksen.
Kuvio 2 havainnollistaa yhdistetyn PLA- ja ROM-rakenteen järjestelyä. (Huomaa, että samanlaiset viitenumerot osoittavat identtisiä tai vastaavia osia piirustuksissa.) Ohjausmuisti on toteutettu MOS/LSI-tyyppisellä toteutuksella. PLA- ja ROM-rakenteet voidaan täten yhdistää samalla piisirulla. Yhdistämällä kaksi muisti-rakennetta, saavutetaan tiettyjä säästöjä ja voitetaan sirun koossa verrattuna kahteen erilliseen rakenteeseen. Tavanomaisissa ROM-mal-leissa kaikki tietyn bitin sarakebittilinjät sijaitsevat toistensa vieressä mahdollistaakseen lähtölimittimen sijoittelun. Kun PLA ja ROM yhdistetään, kuten kuviossa 2 on tehty, PLA:n TAI-ryhmän yksittäinen sarakebittilinja sijaitsee yhdessä vastaavien ROM-sara-kebittilinjojen kanssa. Samojen syiden tähden lisäsiirräntälimitin 40 valitsee PLA:n sarakebittilinjat, kun taas toisen limittimen tulot valitsevat ROM-sarakebittilinjät. Sijoittamalla PLA-bittilinjät yhteen ROM-bittilinjojen kanssa, poistetaan huomattava määrä väylöi-tystä sirulla. Tämä johtaa pienempään siruun ja suurempaan toimintanopeuteen. Tämä on esitetty kuviossa 3 oikealla. Huomaa, että PLA-bittilinjät 103 ja 104 ovat ROM-bittilinjojen 101 ja 102 vieressä tehden liitännän limittimeen 105 helpommaksi.
On yleinen käytäntö suurissa ROM-malleissa sijoittaa dekoo-deriverkko muistiverkon keskelle ja johtaa rivinva!intalinja dekoo- s 74355 deriverkko muistiverkon keskelle ja johtaa rivinvalintalinja dekoo-derin molemmilta puolilta ohjausmuistiverkkoon siten puolittaen rivinvalintalin jo jen pituuden. Tämä tuottaa nopeamman saantiajän vähentämällä etenemisviivettä rivinvalintalinjoilla. Sellaista tekniikkaa havainnollistetaan yleisesti kuviossa 2. Kuvion 2 mukaisessa yhdistetyssä rakenteessa yksittäinen JA-porttiverkko 42 sijaitsee koko muistiverkko 44 keskustassa. Tämä verkko 42 toimii sekä PLA:n JA-porttiverkkona että ROM:in dekooderiverkkona. Yksittäiset JA-portit aktivoivat kunkin rivinvalintalinjan. Portti toimii PLA:n JA-porttina PLA-rakenteesta lähtevän rivinvalintalinjan yksittäiselle ohjaussanalle ja ROM-dekooderina rivinvalintalinjan muille ohjaussanoille.
Yhdistetyn rakenteen 44 JA-porttiverkolla 42 on kaksi tulojen joukkoa. Toinen joukko on sama kuin kuvion 1 mukaisen ROM-raken-teen 4 ja toinen tulojen joukko on sama kuin kuvion 1 mukaisen PLA-rakenteen 2 joukko. Verkon 42 JA-portit ovat PLA:n JA-portin ja ROM:in dekoodaavan JA-portin yhdistelmiä. Portin saamiseksi toimimaan kuvion 2 mukaisena PLA:n JA-porttina tulojen PLA-joukkoa syötetään ja tulojen ROM-joukko asetetaan tositilaan, jotta portti on PLA:n ohjelmoinnin funktio. Samalla tavoin JA-portin saamiseksi toimimaan kuvion 2 mukaisena ROM-dekooderina, tulojen ROM-joukkoa syötetään ja PLA-joukko asetetaan tositilaan. Yhdistetty JA-dekoode-riportti 42 saadaan toimimaan, kuten PLA:n JA-portit toimivat, kun seuraava osoite on PLA:lle määriteltyjen osoitteiden alueella. Sillä hetkellä lähtölimitin 40 valitsee PLA:n sarakebittilinjan. Kun seuraava osoite on ROM:ille määriteltyjen osoitteiden alueella, JA-portti 42 saadaan toimimaan ROM-dekooderina 18 ja lähtölimitin 40 valitsee yhden ROM:n sarakebittilinjan. Yhdistetty JA-porttiverkko 42 on välttämätön ROM- ja PLA-bittilinjojen välisen numeroinnin sallimiseksi ja samalla se pitää rivinvalintalinjat mahdollisimman lyhyinä. Siitä aiheutuu myös sirun alueen säästöä, koska toisen JA-porttijoukon ja niihin liittyvien puskurivahvistimien kuormitus-lisä tai virrallisena pidettävät piirit poistuvat.
Havainnollinen esimerkki yhdistetystä ROM- ja PLA-ohjaus-muistista on esitetty kuviossa 3. Tietenkin tämä yksinkertaistettu esimerkki on luonteeltaan alkeellinen ja sitä käytetään ainoastaan selitystarkoituksiin ja havainnollistettua perustekniikkaa voidaan 9 74355 soveltaa mihin tahansa lukemattomista ohjaussanojen ja osoitebit-tipituuksien muunnelmista.
Tässä esimerkissä on yhdeksän kaksi-bittistä ohjaussanaa, neljä ohjausmuistin 100 ROM-lohkossa ja viisi ohjausmuistin 100 PLA-lohkossa. Muisti 100 on alunperin jaettu puoliksi ROM:n bitti-linjajoukon 101 ja 102 ja PLA:n joukon 103 ja 104 kesken. Nämä kaksi bittilinjajoukkoa limitetään limittimellä 105, joka käsittää JA-portit 106-109 ja TAI-portit 110 ja 111, jotka ovat osoitetulon 304 (A2 ja A2:n komplementti) ohjaamia. Huomaa, että esimerkki ei havainnollista kuvion 2 mukaista tekniikkaa sijoittaa dekooderiverkko muistiverkon keskustaan ja ohjata rivinvalintalinjaa molemmilta puolilta. Tämä voidaan helposti toteuttaa ulottamalla rivinvalintabit-tilinjat 200-204 vasemmalle ja peilaamalla oikealla olevat vahvistimet 700-704 ja ja ohjausmuisti 100.
Kuviossa on viisi rivinvalintalinjaa 200-204, joista vain neljää, 200-203, käytetään ROM:lie ja viittä käytetään PLA:lle.
(Tämä ylimääräinen PLA-valintalinja on jonkin verran vajaakäyttöinen, koska tilaa on viidennelle ROM-sanalle, mutta tätä samaa ei voida toteuttaa, koska ROM:in osoitetulojen, 303 ja 304, koodit ovat jo täysin tulkitut.) Ohjausmuistiin on 10 tuloa; kolme osoi-telinjaa merkittyinä AO, Ai ja A2, tosi ja komplementti (osoitetulot 300, 301 ja 304); ja kaksi käskyrekisterilinjaa merkittyinä 10 ja II, tosi ja komplementti (käskytulot 302 ja 303). Osoitetulo 304 suorittaa valinnan ROM:in ja PLA:n välillä. Kun sitä ei pidetä voimassa, valitaan ROM kytkemällä ROM-bittilinjät 101 ja 102 kahteen lähtölinjaan 600 ja 601, ja yhdistetyn JA-dekooderin PLA- ja JA-porttiosan kahdeksan tuloa (TAI-porttien 500-507 kautta) ovat voimassa. Kun osoitetulo 304 pidetään voimassa, PLA-bittilinjat 103 ja 104 kytketään kahteen lähtölinjaan 600 ja 601, ja neljä yhdistetyn JA/dekooderin dekooderiosan tuloa (TAI-porttien 400-403 kautta) ovat voimassa.
Kuvion 3 mukaisessa esimerkissä portit 800 ja 900 on esitetty puoliksi täytetyillä ympyröillä ja toisiaan leikkaavilla viivoilla. Ensimmäisen tarkennuksen 800 kaksi porttia, jotka on erotettu pilkkuviivoilla, on havainnollistettu kuviossa 4a. Porttien 800 ympyrän 99 täytetyt osat merkitsevät portin tuloja. Tulolinjat 811 ja 812 kulkevat porttien tuloihin (99). Täydellinen portti merkitään sillä, kun jokin linja (tässä linja 820) kulkee kohtisuoraan 10 74355 tulolinjaan (811 ja 812) nähden ja puolittaa ympyrät 98. Linja 820 kuviossa 4a toimii sen tähden lähtölinjana. Jos ohjausmuisti toteutetaan MOS/FET-tyyppisenä toteutuksena, eräs valmistustapa on havainnollistettu kuviossa 4b. Transistorin 801 "hila"napa toimii, kuten kuvion 4a mukainen porttitulo 99 ja on kytketty tulolinjoi-hin 811 ja 812. "Anodi"napa 802 on kytketty linjoihin 811 ja 812, jotka kaaviossa kulkevat kohtisuoraan tulolinjaan 820 nähden. "Katodinapa 803 on kytketty loogiseen maahan 804. Toinen tarkennus 900 toimii samoin kuin tarkennus 800, paitsi että syöttölinjoja ja porttien kytkentöjä on kierretty 90 astetta vastapäivään.
Ohjausmuistin koodaus kuvion 3 mukaisessa esimerkissä on esitetty kuviossa 5. Ensimmäiset neljä osoitetta (000:sta 011:een) 0 osoitebittinä 304 saavat esille muistin ROM-osaan tallennetut neljä sanaa. Osoitteet 100 ja 101 toimivat kartoituskoodeina, jotka aktivoivat osia muistin PLA-osasta. Todellinen sana tai sanat, jotka saadaan PLA:sta riippuvat käskyrekisteriltä tulevien tulojen 302 ja 303 koodauksesta. Huomaa, että osoitesyöttötieto 100 ja käskysyöttö X, jossa X merkitsee "älä välitä", ei saa esille mitään sanaa oh-jausmuistista ja tuottaa sen tähden oletusarvotulostustiedon 0. Korvautumisperiaatetta havainnollistetaan kuvion 5 kolmessa viimeisessä merkinnässä, jotka kaikki muunnoskoodin osoitesyöttötieto 101 aktivoi. Kaksi viimeistä merkintää on toisensa poissulkevia merkiten riippumattomuutta käskytulosta 302 ja tuottaa vastaavat tulokset 10 ja 01. Kolmanneksi viimeinen merkintä on käskytulon 302 funktio. Jos tulo 302 saatetaan voimaan, se valitaan yhdessä tulon kanssa, joka on toinen kahdesta viimeisestä tulosta. Tuloksena on TAI-toimitus valituista sanoista tai tässä tapauksessa 10 tai 11.
Yllä olevassa esimerkissä havainnollistettu käsittelytapa voidaan sovittaa moniin erilaisiin käsittelyjärjestelmiin samoilla siihen liittyvillä eduilla. On ilmeistä asiaan perehtyneille, että erilaisia muutoksia ja muunnelmia voidaan siinä tehdä keksinnöstä poikkeamatta. Sen tähden seuraavien patenttivaatimusten tavoitteena on kattaa kaikki sellaiset muutokset ja muunnelmat, jotka kuuluvat tämän keksinnön todelliseen olemukseen ja suojapiiriin.

Claims (8)

1. Ohjausyksikkö, joka on tarkoitettu käytettäväksi tietojenkäsittelyjärjestelmän tietojenkäsittelylaitteessa, jonka ohjausyksikön avulla tuotetaan iteroivasti ohjaussanoja käskyn ja edellisten ohjaussanojen perusteella, jolloin jokaiseen ohjaus-sanaan sisältyy osoiteosa ja tietojenkäsittelylaitteessa on käsit-telypiirejä, jotka suorittavat toimintoja ohjausyksiköstä saatujen ohjaussanojen perusteella, johon ohjausyksikköön kuuluu käskyre-kisteri (8), osoiterekisteri (6), ensimmäinen ohjaussanamuisti (2) ja toinen ojaussanamuisti (4), tunnettu siitä, että ensimmäisen ohjaussanamuistin (2) osoitesisäänmenoliittimet (12, 22) on kytketty vastaanottamaan osoitesignaaleja sekä käskyrekisteristä (8) että osoiterekisteristä (6), että toisen ohjaussanamuistin (4) osoiteliittimet (14) on kytketty vastaanottamaan osoitesignaaleja ainoastaan osoiterekisteristä (6), ja että sekä ensimmäisen että toisen ohjaussanamuistin (2, 4) ulostuloliittimet on kytketty osoitemuistista (6) saadun signaalin ohjauksessa olevaan liittimeen (28), joka kunkin iteroinnin aikana valitsee joko ensimmäisen tai toisen ohjaussanamuistin tuottaman ohjaussanan siirrettäväksi käsi ttelypii reille .
2. Patenttivaatimuksen 1 mukainen ohjausyksikkö, tunnettu siitä, että liittimen (28) ulostulo on edelleen kytketty (30) osoiterekisteriin (6) siirtämään valitun ohjaussanan osoiteosa mainittuun osoiterekisteriin (6), jolloin sitä käytetään valittaessa ohjaussana myöhemmin iteroinnin aikana.
3. Patenttivaatimuksen 1 mukainen ohjausyksikkö, tunnettu siitä, että ensimmäiseen ohjaussanamuistiin kuuluu muistipiirejä (24), joiden ulostuloliittimet on kytketty liittimen (28) sisäänmenoliittimiin, jotka muistipiirit käsittävät useita yhden ohjaussanan tallentavia muistipaikkoja, ja tulkintapiiri (26), jonka sisäänmenoliittimet on kytketty sekä käskyrekisteriin (8) että osoiterekisteriin (6) muistipaikan valitsemiseksi siten, että sen sisältö liittimeen (28) siirrettäessä vastaa sekä käskyrekisteristä (8) että osoiterekisteristä (6) saatuja osoitesignaale ja .
4. Patenttivaatimuksen 1 mukainen ohjausyksikkö, tunnettu siitä, että toiseen ohjaussanamuistiin (4) kuuluu 12 74355 muistipiirejä (16), joiden ulostuloliittimet on kytketty limit-timen (28) sisäänmenoliittimiin, jotka muistipiirit käsittävät useita yhden ohjaussanan tallentavia muistipaikkoja, tulkintapii-ri (18), jonka sisäänmenoliittimet on kytketty osoiterekisteriin (6) valitsemaan valittu määrä muistipaikkoja ja ulostulolimitin (20) yhden mainitun muistipaikan sisällöin kytkemiseksi limitti-meen (28) osoiterekisteristä saadun osoitesignaalin perusteella.
5. Patenttivaatimusten 3 ja 4 mukainen ohjausyksikkö, tunnettu siitä, että tulkintapiiriin kuuluu useita yhtä-aikaisveräjiä, joiden sisäänmenot (400-403) on kytketty tulkinta-piirin sisäänmenoliittimiin ja joiden ulostulot lähettävät muistipaikan valitsevan signaalin.
6. Patenttivaatimuksen 5 mukainen ohjausyksikkö, tunnettu siitä, että kukin yhtäaikaisveräjä muodostuu ohjaus-linjasta, johon ainakin yksi piirielementti on kytketty, ja ulostulosta, jolloin yksi osoiteliittimen vastaanottamista signaaleista aktivoi kunkin piirielementin, joka ohjauslinja lähettää lähtösignaalin ainoastaan silloin, kun kaikki siihen kytketyt piirielementit on aktivoitu.
7. Patenttivaatimuksen 6 mukainen ohjausyksikkö, tunnettu siitä, että ainakin yhdellä ensimmäisen ja yhdellä toisen ohjaussanamuistin tulkintapiirin muodostavista yhtäaikais-veräjistä on yhteinen ohjauslinja (200-204), jolloin kuhunkin tulkintapiiriin lisäksi kuuluu piiri, joka aktivoi kaikki ne piirielementit, jotka liittyvät joko ensimmäiseen tai toiseen oh-jaussanamuistiin, kun limitin lähettää jommankumman muistin ohjaussanan.
8. Patenttivaatimuksen 7 mukainen ohjausyksikkö, tunnettu siitä, että kukin muistipiiri muodostuu useista oh-jauslinjoista, joihin jokaiseen on kytketty ainakin yksi piiri-elementti, ja ulostulosta, joka on yhdistetty limittimeen, jolloin ensimmäisen ja toisen muistipiirin kunkin piirielementin ohjaus sisäänmeno on yhdistetty ensimmäisen vast, toisen tulkinta-piirin yhtäaikaisveräjän ohjauslinjaan, jolloin mainittu muistipiiri lähettää ulostulosignaalin silloin, kun ainakin yksi siihen yhdistetyistä piirielementeistä on aktivoitu. 13 74355
FI800118A 1979-01-16 1980-01-15 Styrminne. FI74355C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US384179A 1979-01-16 1979-01-16
US384179 1979-01-16

Publications (3)

Publication Number Publication Date
FI800118A FI800118A (fi) 1980-07-17
FI74355B FI74355B (fi) 1987-09-30
FI74355C true FI74355C (fi) 1988-01-11

Family

ID=21707845

Family Applications (1)

Application Number Title Priority Date Filing Date
FI800118A FI74355C (fi) 1979-01-16 1980-01-15 Styrminne.

Country Status (10)

Country Link
JP (1) JPS55116147A (fi)
AU (1) AU540233B2 (fi)
BR (1) BR8000169A (fi)
CA (1) CA1139001A (fi)
DE (1) DE2951040A1 (fi)
FI (1) FI74355C (fi)
FR (1) FR2447062B1 (fi)
GB (1) GB2046963B (fi)
IT (1) IT1128852B (fi)
SE (1) SE449800B (fi)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2077010B (en) * 1980-06-02 1984-10-31 Hitachi Ltd Microprogramme control method and apparatus therefor
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
DE3138971A1 (de) * 1981-09-30 1983-04-21 Siemens AG, 1000 Berlin und 8000 München Mikroprogrammiertr prozessor und verfahren zu seinembetrieb
US4931989A (en) * 1982-02-22 1990-06-05 International Business Machines Corporation Microword generation mechanism utilizing a separate programmable logic array for first microwords
US4594661A (en) * 1982-02-22 1986-06-10 International Business Machines Corp. Microword control system utilizing multiplexed programmable logic arrays
US4685080A (en) * 1982-02-22 1987-08-04 International Business Machines Corp. Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords
US4575794A (en) * 1982-02-22 1986-03-11 International Business Machines Corp. Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
DE3214068A1 (de) * 1982-04-16 1983-10-20 VMEI Lenin, Sofia Multiprozessor-rechenmaschine
JPS5962953A (ja) * 1982-10-04 1984-04-10 Hitachi Ltd マイクロプログラム制御装置
US4661901A (en) * 1982-12-23 1987-04-28 International Business Machines Corporation Microprocessor control system utilizing overlapped programmable logic arrays
DE3481023D1 (de) * 1983-11-10 1990-02-15 Fujitsu Ltd Vom mikroprogramm gesteuertes system.
GB2161001B (en) * 1984-06-25 1988-09-01 Rational Distributed microcode address apparatus for computer
JPS61170828A (ja) * 1985-01-24 1986-08-01 Hitachi Ltd マイクロプログラム制御装置
FR2587516B1 (fr) * 1985-09-13 1987-11-20 Eurotechnique Sa Sequenceur d'instructions pour microprocesseur a architecture en reseau

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3839705A (en) * 1972-12-14 1974-10-01 Gen Electric Data processor including microprogram control means
US3800293A (en) * 1972-12-26 1974-03-26 Ibm Microprogram control subsystem
US3953833A (en) * 1974-08-21 1976-04-27 Technology Marketing Incorporated Microprogrammable computer having a dual function secondary storage element
DE2621399A1 (de) * 1975-05-29 1976-12-09 Int Standard Electric Corp Speichereinrichtung
JPS53107250A (en) * 1977-03-01 1978-09-19 Sanyo Electric Co Ltd Microprogram control system

Also Published As

Publication number Publication date
GB2046963A (en) 1980-11-19
AU5449880A (en) 1980-07-24
JPS55116147A (en) 1980-09-06
IT1128852B (it) 1986-06-04
FR2447062B1 (fr) 1987-03-20
GB2046963B (en) 1983-09-01
DE2951040A1 (de) 1980-07-24
AU540233B2 (en) 1984-11-08
CA1139001A (en) 1983-01-04
FI800118A (fi) 1980-07-17
SE8000323L (sv) 1980-07-17
JPH0117178B2 (fi) 1989-03-29
IT8067052A0 (it) 1980-01-15
SE449800B (sv) 1987-05-18
BR8000169A (pt) 1980-10-21
FI74355B (fi) 1987-09-30
DE2951040C2 (fi) 1990-10-25
FR2447062A1 (fr) 1980-08-14

Similar Documents

Publication Publication Date Title
FI74355C (fi) Styrminne.
US3949370A (en) Programmable logic array control section for data processing system
US3800293A (en) Microprogram control subsystem
US3872447A (en) Computer control system using microprogramming and static/dynamic extension of control functions thru hardwired logic matrix
US4016545A (en) Plural memory controller apparatus
US4631663A (en) Macroinstruction execution in a microprogram-controlled processor
EP0169565B1 (en) Microprocessor compatible with any software represented by different types of instruction formats
US3560933A (en) Microprogram control apparatus
KR900003591B1 (ko) 데이터 처리장치
US3978456A (en) Byte-by-byte type processor circuit
JPS5917462B2 (ja) デイジタル計算機におけるマイクロプログラム制御装置
JPS5858705B2 (ja) デ−タプロセシングシステム
JPS61248135A (ja) パイプライン式プロセツサ及びその制御方法
JPS62249226A (ja) プログラム可能論理装置およびその方法
US4446517A (en) Microprogram memory with page addressing and address decode in memory
US3325785A (en) Efficient utilization of control storage and access controls therefor
US4346437A (en) Microcomputer using a double opcode instruction
US3996566A (en) Shift and rotate circuit for a data processor
US4388682A (en) Microprogrammable instruction translator
US4251862A (en) Control store organization in a microprogrammed data processing system
KR0142334B1 (ko) 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트
US3389376A (en) Micro-program operated multiple addressed memory
US4128872A (en) High speed data shifter array
US4162519A (en) Data processor with address allocation to operations
EP0358773B1 (en) Microcomputer

Legal Events

Date Code Title Description
MM Patent lapsed
MM Patent lapsed

Owner name: DIGITAL EQUIPMENT CORPORATION