FI79201C - Informationsbehandlingssystem med styrning av loepande bandtyp. - Google Patents

Informationsbehandlingssystem med styrning av loepande bandtyp. Download PDF

Info

Publication number
FI79201C
FI79201C FI842713A FI842713A FI79201C FI 79201 C FI79201 C FI 79201C FI 842713 A FI842713 A FI 842713A FI 842713 A FI842713 A FI 842713A FI 79201 C FI79201 C FI 79201C
Authority
FI
Finland
Prior art keywords
instruction
register
condition code
line
command
Prior art date
Application number
FI842713A
Other languages
English (en)
Swedish (sv)
Other versions
FI842713A0 (fi
FI842713A (fi
FI79201B (fi
Inventor
Toshiteru Shibuya
Original Assignee
Nec 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 Nec Corp filed Critical Nec Corp
Publication of FI842713A0 publication Critical patent/FI842713A0/fi
Publication of FI842713A publication Critical patent/FI842713A/fi
Publication of FI79201B publication Critical patent/FI79201B/fi
Application granted granted Critical
Publication of FI79201C publication Critical patent/FI79201C/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3844Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

1 79201
Liukuhihnatyyppisellä ohjauksella varustettu tietojenkäsittelyjärjestelmä Tämän keksinnön kohteena on liukuhihnatyyppisellä ohjauksella varustettu tietojenkäsittelyjärjestelmä (PIP-järjestelmä).
Yleisesti PIP-järjestelmässä haarautumisen onnistuminen/epä-onnistuminen määräytyy aikana, kun suoritetaan ehdollinen haarautumiskäsky vasteena sen käskyn loppumiselle, joka edelsi ehdollista haarautumiskäskyä, tarkastelemalla ehtokoodia välittömästi edeltävän käskyn suorittamisen jälkeen. Sen vuoksi on ensisijaisen tärkeätä ehdollisen haarautumiskäskyn nopealle käsittelylle, että ehtokoodi, johon viitataan, voidaan määrätä lyhyessä aikajaksossa.
Ehtokoodin nopean määräämisen menetelmä on esitetty US-paten-tissa 3 881 173. Esitetyn menetelmän mukaan nopea ehtokoodin määrittäminen on saavutettu käyttämällä erityisesti suunniteltua laitteistoa, joka laskee nopeasti ehtokoodin juuri ennen operaation suorittamista, minkä tulisi tapahtua ehtokoodia päivitettäessä operaatiokäskyn suorituksen aikana. Tällainen menetelmä ei kuitenkaan ole sovellettavissa PIP-järjestelmään, joka ei voi nopeasti määrittää ehtokoodia ennen edellä mainitun toiminnon suorittamista, tai jos voi, niin tarvitsee varsin suuren määrän laitteistoa tähän määrittämiseen.
Järjestelmä, jota voidaan soveltaa jopa tällaiseen järjestelmään, on kuvattu JP-patenttijulkaisussa n:o 2741/1981.
Tämän järjestelmän pohjana on se tosiasia, että käskyjen joukossa on yksi, joka ei päivitä ehtokoodia. Se on varustettu laitteistolla, joka määrää, onko tietty käsky, joka edeltää ehdollista haarautumiskäskyä, suorittanut toimintavaiheen loppuun vai ei. Tässä järjestelmässä kontrolli tapahtuu siten, että sen sijaan, että viitattaisiin ehdollista haarautumiskäskyä juuri edeltävän käskyn suorituksen loppumiseen, viitataankin sen käskyn suorituksen loppumiseen, joka määrää ehtokoodin, kun ehdollista haarautumiskäskyä suoritetaan, 2 79201 näin nopeuttaen ehdollisen haarautumiskäskyn onnistumisen/ epäonnistumisen määräämistä.
Toinen PIP-järjestelmä, jolla saavutetaan parannus edellä kuvattuun menetelmään, on esitetty JP-patentissa n:o 158745/1983. Tämän järjestelmän periaatteena on, että osoitteen laskeminen muistioperandien yhteydessä tai saannissa cache-muistista on tarpeen, kun suoritettavana on käsky, joka aiheuttaa toiminnan yleisten rekisterien välillä. Tämä järjestelmä sisältää piirin, joka muodostaa ehtokoodin käskylle, jonka tarkoituksena on aiheuttaa toiminta yleisrekis-tereiden välillä operandin muistiosoitteen laskuvaiheessa, ja piirin, joka muodostaa ehtokoodin sivuttaissiirtokäskylle, jonka tarkoituksena on siirtää sivuttaissuuntaisesti tietoa, joka on talletettu yleisrekisteriin, määrällä, jonka ilmoittaa osoitteen laskun tulos cache-muistin saantivaiheessa. Ehtokoodin määrääminen toiminta- tai sivuttaissiirtokäskyssä tapahtuu ennen kuin sellaisen ehtokoodin tapauksessa, joka liittyy johonkin muuhun kuin näihin kahteen käskyyn ja aiheuttaa muistioperanditoiminnon. Järjestelmään kuuluu lisäksi putki-suoritusproseduurin vastaavissa vaiheissa menetelmä, joka ilmaisee, onko tämän vaiheen yhteydessä oleva käsky sellainen, joka päivittää ehtokoodia, menetelmä, joka ilmaisee, onko ehto-koodi jo määrätty, rekisteri, jossa määrättyä ehtokoodia pidetään, sekä menetelmän, joka näiden kolmen ulostulon avulla päättää, onko ehdollista haarautumiskäskyä edeltävistä käskyistä viimeinen, joka päivittää ehtokoodia, jo määrännyt tämän koodin. Tämä edistää vielä lisää haarautumisen onnistumi-sen/epäonnistumisen nopeaa määrittämistä. Kuitenkaan esitetty järjestelmä ei ole sovellettavissa järjestelmään, jossa on lukuisia toimintaputkia, tai järjestelmään, jolla voi olla vain yksi toimintaputki, mutta jolla on useita piirejä, jotka voivat määrittää ehtokoodit samassa putkisuoritusproseduurin vaiheessa.
Tämän keksinnön tarkoituksena on muodostaa PIP-järjestelmä, joka ratkaisee edellä mainitut lukuisat ongelmat ja jolla saavutetaan ehtokoodiin viittaavien käskyjen nopea suoritus.
3 79201
Keksinnön yhteen puoleen liittyen on muodostettu PIP-järjes-telmä, joka koostuu: lukuisista ehtokoodin muodostamiyksi-köistä, joissa kussakin on laskurilohko ja toimintalohko laskurilohkon käyttämistä varten siinä tapauksessa, että muodostetaan ehtokoodi; ehtokoodin päivityskäskyn erottelija-yksiköstä, joka jokaisen käskyn tapauksessa erottaa yhden ehtokoodin muodostamisyksikön, joka muodostaa ehtokoodin, pitäen erottelun tuloksen muistissa ja käyttäen yhtä erottelun tulokseen liittyvää laskurilohkoa; ehtokoodin määrittämisen päätösyksiköstä, joka päättää mitä lukuisista laskureista laskuriyksiköissä ja erottelijayksikön tuloksista käytetään sen signaalin muodostamiseen, joka ilmaisee määrätyn ehtokoodin tilan ja ehtokoodin.
Edellä kuvatulla konstruktiolla tämän keksinnön järjestelmä kykenee näkemään, onko ehtokoodi määrätty, valvomalla koko ajan ehtokoodin muodostamismekanismia, jota putken suorittama viimeisin ehtokoodin päivityskäsky käyttää. Tästä on seurauksena, että seuraavan ehtokoodiin viittaavan käskyn ei tarvitse odottaa edellisen suoritetun käskyn ehtokoodin määrittämistä.
Tämä keksintö tullaan kuvaamaan yksityiskohtaisesti viitaten liitteenä oleviin kuvioihin, joissa: kuvio 1 esittää keksinnön mukaista laitetta; kuvio 2 on kuvion 1 käskypuskurin yksityiskohtainen lohko- kaavio; kuviossa 3 on esitetty laitteessa käytössä oleva käskymuoto; kuviot 4-12 ovat yksityiskohtaisia kaavioita, joissa on kuvion 1 laitteen päärakenne-elementit; kuviossa 13 on ajoituskaavio, joka esittää kuvion 1 laitteessa käytössä olevan ehdottoman haarautumiskäskyn suorittamista; kuviot 14 ja 15 ovat ajoituskaavioita, jotka esittävät ehto-koodiin perustuvan ehdollisen haarautumiskäskyn suorittamista; kuviot 16 ja 17 ovat ajoituskaavioita, jotka esittävät sellaisen ehdollisen haarautumiskäskyn suorittamista, joka perustuu ehtokoodiin, joka on saatu ehtokoodin odottavan määrittelyn tuloksena; ja kuvio 18 on ajoituskaavio, joka esittää kuvion 1 laitteen käskyjen suoritusvaiheita ja toimintaehtoja.
4 79201
Kuvioissa samat referenssinumerot viittaavat samoihin rakenne-elementteihin.
Viitaten kuvioon 1, keksinnön mukainen PIP-järjestelmä koostuu käskynhakulohkosta (1 ja 2), joka suorittaa käskynhakuoperaa-tion vaiheessa I; haku-, lasku- ja päätöslohkosta (3, 4, 5 ja 6), joka suorittaa rekisterioperandin haun, muistioperandin osoitteen laskemisen ja ehdollisen haarautumiskäskyn päätös-operaatiot vaiheessa II; operandin haku- ja suorituslohkosta (7-17), joka suorittaa muistioperandien hakuoperaation ja rekisterioperandien suoritusoperaation vain vaiheessa III; toimintalohkosta (19-30), joka suorittaa operaatiot muisti-operandeille ja rekisterioperandeille vaiheessa IV; talletus-lohkosta (31-38), joka tallettaa muistioperandiin ja rekiste-rioperandiin kohdistuneiden operaatioiden tulokset vaiheessa V.
Yksityiskohtaisesti tarkasteltuna, keksinnön mukainen laite koostuu käskypuskurista 1, joka tuottaa käskysanat; käskyre-kisteristä 2; rekisterimuistista 5, joka sisältää yleisre-kisterit, jotka voivat lukea kaksi toisistaan riippumatonta sanaa yhtä aikaa; osoitesummaimesta 6, joka laskee muisti-operandien osoitteet; rekisteristä 8, joka pitää rekisteriin 2 tallennettua käskykoodia; rekistereistä 9 ja 10, joista kumpikin pitää rekisterimuistista 5 luettua sisältöä; rekisteristä 11, joka pitää summaimen 6 osoitesummauksen tulosta; loogisesta operaatioyksiköstä 13, joka suorittaa loogisen operaation rekistereihin 9 ja 10 tallennettuun sisältöön; arit-meettisestä operaatioyksiköstä 14, joka suorittaa aritmeettisen operaation rekistereihin 9 ja 10 talletettuun sisältöön; cache-muistista 15, josta saanti perustuu rekisteriin 11 tallennettuun osoitteeseen; ehtokoodin muodostamisyksiköstä 16, joka muodostaa ehtokoodin sen mukaan, mikä on yksikön 13 ulostulo; koodinmuodostamisyksiköstä 17, joka muodostaa ehtokoodin sen mukaan, mikä on yksikön 14 ulostulo; valitsimesta 18, joka valitsee ulostulon yksiköstä 13, kun suoritettava käsky vaiheessa III on looginen operaatiokäsky, joka ei 5 79201 käytä mitään muistioperandia, ja ulostulon yksiköstä 14, kun käsky on aritmeettinen operaatiokäsky, joka ei käytä muistioperandia, ulostulon rekisteristä 9, kun käsky käyttää muistioperandia; kontrolliyksiköstä 12, joka syöttää kontrol-lisignaaleja yksiköihin 13, 14, 16, 17 ja 18 kuten käskykoodi, joka on talletettu rekisteriin 8, määrää; laskurista 20, jota vähennetään yhdellä, kun käsky tulee yksiköstä 16; rekisteristä 21, jossa pidetään yksiköltä 16 tulevaa ehtokoodin ulostuloa; laskurista 22, jota vähennetään yhdellä, kun käsky tulee yksiköstä 17; rekisteristä 23, jossa pidetään yksiköltä 17 tulevaa ehtokoodin ulostuloa; rekisteristä 24, jossa pidetään valitsimen 18 ulostuloa; rekisteristä 25, jossa pidetään cache-muistin 15 ulostuloa; rekisteristä 19, joka vastaanottaa rekisteriin 8 talletetun käskykoodin; loogisesta operaatio-yksiköstä 27, joka suorittaa loogisen operaation rekistereiden 24 ja 25 sisällöille; aritmeettisesta operaatioyksiköstä 28, joka suorittaa aritmeettisen operaation rekistereiden 24 ja 25 sisällöille; ehtokoodin muodostamisyksiköstä 29, joka muodostaa ehtokoodin sen mukaan, mikä on yksikön 27 ulostulo; ehtokoodin muodostamisyksiköstä 30, joka muodostaa ehtokoodin sen mukaan, mikä on yksikön 28 ulostulo; valitsimesta 31, joka valitsee ulostulon yksiköstä 27, kun suoritettava käsky vaiheessa IV on looginen operaatiokäsky, joka käyttää muistioperandia, ulostulon yksiköstä 28, kun käsky on aritmeettinen operaatiokäsky, joka käyttää muistioperandia, ja ulostulon rekisteristä 24, kun käsky ei käytä muistioperandia; kontrolli-yksiköstä 26, joka syöttää kontrollisiginaaleja yksiköille 27, 28, 29, 30 ja valitsimelle 31 sen mukaan, mikä on rekisterissä 19 pidetty käskykoodi; laskurista 32, jota vähennetään yhdellä kun käsky tulee yksiköstä 29, rekisteristä 33, jossa pidetään yksiköltä 29 tulevaa ehtokoodia; laskurista 34, jota vähennetään yhdellä, kun käsky tulee yksiköltä 30; rekisteristä 35, jossa pidetään yksiköltä 30 tulevaa ehtokoodia; rekisteristä 36, jossa pidetään valitsimen 31 ulostuloa; muistipuskurista 38, johon talletetaan rekisterin 36 operaation tulos; ehtokoodin päivittämiskäksyn valintayksiköstä 4; rekisteristä 7, johon talletetaan yksikön 4 erottelun tulos; ehtokoodin muodostamisen päätösyksiköstä 37; haarautumisen päätöspiiristä 3, joka päättää haarautumisen suunnan ehdolli sessa haarautumiskäskyssä.
6 79201
Viitaten kuvioon 2, käskypuskuri 1 sisältää käskyn osoite-laskurin 201, joka pitää käskyn osoitetta, muistin 202, joka muodostaa sen osoitteen sisällön, jonka laskurin 201 osoite määrittelee, summaimen 203, joka muodostaa (8-bitin datan riville 105 plus (+) 1), ja valitsimen 204, joka valitsee 8-bitin datan rivillä 105 tai 8-bitin ulostulon laskurilta 201. Laskuria 201 lisätään yhdellä joka kierroksella. Kuitenkin niin kauan kun yksiköltä 3 laskuriin 201 linjaa 106 pitkin tuleva pysäytyskomento pysyy loogisena ykkkösenä, laskuria 201 ei lisätä, ja se sen sijaan pitää saman arvon. Kun haarautumis-käsky, joka myös syötetään piiriltä 3 linjaa 107 pitkin laskurille 201, on tullut loogisesti ykköseksi, laskuri 201 hakee summaimen 203 osoiteulostulon. Käskyosoitteeseen rekisteristä 2 lisätään sitten 1 summaimella 203 siten, että vastaava yhteenlaskun tulos talletetaan laskuriin 201 käskyosoitteeksi. Lisäksi, kun tietojenkäsittelysysteemi on resetoitu, laskurissa 201 on käskyosoitteena "0". Valitsija 204 valitsee datan linjalta 105, kun haarautumiskomento linjalla 107 on loogi-" sesti "1", ja ulostulon laskurilta 201, kun se on loogisesti "0".
Kuviossa 3 on keksinnön mukaisen PIP-järjestelmän käskyn formaatti esitetty. Jokainen käskysana koostuu kuudestatoista bitistä siten, että bitit 0-3 muodostavat käskykoodiken-tän, bitit 4 ja 5 muodostavat rekisterin A kentän, bitit 6 ja 7 muodostavat rekisterin B kentän ja bitit 8-15 muodostavat osoitekentän.
Laitteessa käytettävissä olevat käskyt muodostuvat käskyistä, joilla ehtokoodia päivitetään, ehdollisista haarautumiskäs-kyistä, jotka toimivat ehtokoodista riippuen, ja ehdottomista haarautumiskäskyistä. Nämä käskyt ja niiden aiheuttamat toiminnot on esitetty taulukossa 1.
7 79201
Taulukko 1 Käsky- koodi Käsky Toiminto 0000 ADDR Rekisterin A kentän osoittaman yleisrekisterin sisältö ja rekisterin B kentän osoittaman rekisterin sisältö summataan aritmeettisesta, ja tulos talletetaan rekisteriin A kentän spesifioimaan rekisteriin. Jos tuloksen merkki on positiivinen, ehtokoodi asetetaan loogiseksi "l":ksi, jos se on negatiivinen, loogiseksi "0":ksi.
0001 SUBR Rekisterin B kentän osoittaman yleisrekisterin sisältö vähennetään rekisterin A kentän osoittaman yleisrekisterin sisällöstä ja tulos talletetaan rekisterin A kentän osoittamaan rekisteriin. Jos tulos on positiivinen, ehtokoodi asetetaan loogiseksi "l":ksi; jos se on negatiivinen, niin loogiseksi "0":ksi.
0010 ANDR Rekisterin A kentän osoittaman yleisrekisterin sisällön ja rekisterin B kentän osoittaman yleisrekisterin sisällön looginen tulo (JA) talletetaan rekisterin A kentän osoittamaan rekisteriin. Jos tulos on nolla, asetetaan ehtokoodi loogiseksi "0":ksi, jos se on erisuuri kuin nolla, loogiseksi "l":ksi.
0011 EORR Rekisterin A kentän ja rekisterin B kentän osoittamien yleisrekistereiden sisältöjen eksklusiivinen TAI talletetaan rekisterin A kentän osoittamaan rekisteriin. Kos tulos on nolla, asetetaan ehtokoodi "0":ksi; jos se ei ole nolla, loogiseksi "l":ksi.
0100 ADDX Sama operaatio kuin ADDR-käskyn yhteydessä suo ritetaan, paitsi että rekisterin B kentän osoittaman yleisrekisterin sisällön sijasta käytetään osoitekentän määräämän muistin sisältöä.
s 79201
Taulukko 1 (jatkoa) Käsky- koodi^ Käsky Toiminto 0101 SUBX Sama operaatio kuin SUBR-käskyn yhteydessä suoritetaan, paitsi että rekisterin B kentän osoittaman yleisrekisterin sisällön sijasta käytetään osoitekentän määräämän muistin sisältöä.
0110 ANDX Sama operaatio kuin ANDR-käskyn yhteydessä suo ritetaan, paitsi että rekisterin B kentän osoittaman yleisrekisterin sisällön sijasta käytetään osoitekentän määräämän muistin sisältöä.
0111 EORX Sama operaatio kuin EORR-käskyn yhteydessä suoritetaan, paitsi että rekisterin B kentän osoittaman yleisrekisterin sisällön sijasta käytetään osoitekentän määräämän muistin sisältöä .
1' 1000 BCX Kun ehtokoodi on "0", toiminto jatkuu seuraa- vaan käskyyn? jos se on "1", tapahtuu haarautuminen osoitteeseen, jonka osoitekenttä määrittää ja ehtokoodia ei muuteta.
1001 BX Tapahtuu haarautuminen osoitekentän määräämään osoitteeseen, ja ehtokoodi säilyy muuttumattomana .
Viitaten kuvioon 4, looginen operaatioyksikkö 13 koostuu pii-• - ristä 501, joka muodostaa JA-operaation sille 16-bitin datal le, joka on linjoilla 123 ja 124, piiristä 502, joka muodostaa eksklusiivisen TAI-operaation 16-bitin datalle, valitsijasta 503, joka valitsee piirin 501 ulostulon,jos sen kontrollerilta 12 linjaa 121 pitkin saama kontrollisignaali on "0", ja ulostulon piiriltä 502, jos se on "1". Loogisen operaatioyksikön konstruktio on sama kuin se, joka tullaan selittämään kuvion 4 yhteydessä.
9 79201
Kuviossa 5 aritmeettinen operaatioyksikkö 14 koostuu piiristä 601, joka muodostaa linjan 124 16-bitin datalle EI-operaa-tion, valitsimesta 602, joka valitsee datan linjalta 124, jos sen linjaa 122 kontrollerilta 12 saama kontrollisignaali on "0", ja dataulostulon piiristä 601, jos se on "1", ja summai-mesta 603, joka vastaa "0"-kontrollisignaaliin linjalla 122 muodostamalla 16-bitin summan lisäämällä linjan 123 16-bitin datan 16-bitin ulostulon valitsimelta 602, ja vastaa "1"-kontrollisignaalin muodostamalla linjalla 123 olevan datan ja valitsimen 602 ulostulon aritmeettisen summan lisättynä yhdellä.
Aritmeettisen operaatioyksikön 28 konstruktio on täsmälleen samanlainen kuin kuviossa 5 on esitetty.
Kuviossa 6 kontrolleri 12 muodostaa 4-bitin käskykoodista, jota pidetään rekisterissä 8 ja tuodaan sinne linjoja 117 pitkin, 2-bitin kontrollisignaalin 118 kontrolloimaan valitsijaa 18, kontrollisignaalin 119 generaattorille 16, kontrollisignaalin 120 generaattorille 17, kontrollisiginaalin 121 yksikölle 13 ja kontrollisignaalin 122 yksikölle 14. Kontrolliyk-sikkö 12 koostuu 2-sisääntuloisesta TAI-portista 701, joka muodostaa TAI-operaation, EI-porteista 702, 703 ja 705, joista jokainen muodostaa EI-operaation, ja 3-sisääntuloisista JA-porteista 704 ja 706, joista kumpikin muodostaa JA-operaation.
Valitsin 18 valitsee 16-bitin datan linjalta 127 vastaanottaessaan "0":n 2-bitin kontrollisignaalina 118, 16-bitin datan linjalta 126 vastaanottaessaan "l"-kontrollisignaalin ja 16-bitin datan linjalta 123 vastaanottaessaan arvon "2" tai "3" signaalina 118.
Viitaten kuvioon 7, ehtokoodin muodostaja 16 muodostaa 2-bitin kontrollisignaalin 130, joka viedään rekisteriin 21 säilytettäväksi ehtokoodina, ja kontrollisignaalin 129, joka viedään laskurille 20. Bitti "0" signaalilinjalla 130 on asetuskäsky-signaali rekisterille 21 ja bitti "1" on datan asetussignaali, mikä data on ehtokoodi. Muodostaja 16 sisältää 16-s.isääntuloi-sen TAI-portin 801, joka muodostaa TAI-operaation linjalta 126 tulevalle 16-bitin datalle.
' 1° 79201
Ehtokoodin muodostaja 29 on konstruoitu samalla tavalla kuin kuviossa 7 on esitetty.
Viitaten kuvioon 8, ehtokoodin muodostaja 17 muodostaa 2-bitin kontrollisignaalin 132, joka viedään rekisteriin 23 säilytettäväksi ehtokoodina, ja kontrollisignaalin 131 laskurille 22. Bitti "0" linjalla 132 on asetuskäskysignaali rekisterille 23, kun taas bitti "1" on datan asetus, mikä data on ehtokoodi. Ehtokoodin muodostaja 17 sisältää EI-portin, joka muodostaa EI-operaation bitistä "0" 16-bitin datassa, joka on linjalla 127.
Ehtokoodin muodostajalla 30 on sama rakenne kuin mikä on näytetty kuviossa 8.
Kuviossa 9 ohjain eli kontrolleri 26 on esitetty yksityiskohtaisesti. Linjan 133 kautta syötetyn rekisterissä 19 pidetyn käs-kykoodin vaikutuksesta kontrolleri 26 muodostaa 2-bitin kontrollisignaalin 140, joka kontrolloi valitsijaa 31, kontrollisignaalin 141, joka kontrolloi generaattoria 29, kontrollisignaalin 142 generaattorille 30 ja kontrollisignaalin 143 yksikölle 27 sekä kontrollisignaalin 144 yksikölle 28. Kontrolli-piiri 26 on valmistettu EI-porteista 1001 ja 1004, jotka muodostavat EI-toiminnon, ja JA-portista 1002, joka muodostaa JA-toiminnon kahdesta sisääntulostaan, sekä JA-porteista 1003 ja 1005, jotka muodostavat JA-operaation kolmesta sisääntulosta. Valitsin 31 valitsee 16-bitin datan linjalta 138 saadessaan arvon "0" tai "1" 2-bitin kontrollisignaalina 140, 16-bitin datan linjalta 146, kun signaali 140 on "2", ja 16-bitin datan linjalta 145, kun signaali 140 on "3".
Viitaten kuvioon 10, ehtokoodin päivityskäskyn erotteluyksik-köä 4 käytetään sen määräämiseen, onko käskyrekisteriin talletettu käsky tarkoitettu ehtokoodin päivittämiseen, ja se vastaa 4-bitin käskykoodiin linjalta 102. Jos tulos ilmaisee päivitystä, erottelija 4 määrittää, mikä ehtokoodin muodostajista muodostaa ehtokoodin, määrää ehtokoodin muodostajan parina olevan laskurin arvon lisättäväksi yhdellä, kun samanaikaisesti aiheutetaan määrityksen tuloksen tallettaminen rekisteriin 7. Linjoilla 109, 110, 111 ja 112 on Lisäyssignaali laskureille n 79201 32, 34, 20 ja 22 liittyen vastaaviin ehtokoodin muodostajiin 29, 30, 16 ja 17. 5-bittisellä linjalla 108 on kontrollisig-naali rekisterille 7. Bitit 0-3 edustavat asetettavaa dataa tai erotuksen tulosta, kun taas bitti 4 on asetuskäskysig-naali reksiterille 7. Erotinpiiri 4 koostuu binääridekooderis-ta 1101, joka dekoodaa 4-bitin signaalin 16-bittiseksi, kaksi-sisääntuloisista TAI-porteista 1102, 1103, 1104 ja 1105, ja 4-sisääntuloisesta TAI-portista 1106. Jokaista laskureista 20, 22, 32 ja 34, jotka koostuvat 2-bitin laskureista, joilla on lisää-komentosisääntulo ja vähennä-komentosisääntulo, lisätään yhdellä lisäyskomennon yhteydessä ja vähennetään yhdellä vähen-nyskomennon yhteydessä, ja ne säilyttävät sen hetkisen tilansa, kun molemmat komentosisääntulot ovat "1". Kun laitteen tietojenkäsittelyjärjestelmä resetoidaan, asetetaan laskureihin arvo "0". Jokainen rekistereistä 21, 23, 33 ja 35 on 1-bitin rekisteri, jolla on aseta käsky-sisääntulo ja aseta data-sisääntulo. Jokainen rekistereistä 21, 23, 33 ja 35 hakee aseta datan vain, kun asetuskäsky on "1". Kun laitteen järjestelmä resetoidaan, niiden arvoiksi asetetaan "0". Rekisteri 7 toimii samalla tavalla kuin mitä tahansa rekistereistä 21, 22, 33 tai 35, mutta se pitää sisällään 4-bitin dataa.
• Viitaten kuvioon 11, ehtokoodin muodostamisen päätösyksikkö 37, kun se saa rekisteriltä 7 ulostulon, jossa on erottelemisen tulos, identifioi sen ehtokoodin muodostajan, jonka tehtävänä tulee olemaan ehtokoodin muodostaminen viimeisen ehtokoodin päivityskäskyn yhteydessä niiden käskyjen joukossa, joita putki suorittaa. Seuraavaksi päätösyksikkö 37 tarkistaa, onko ehtokoodin muodostaja, joka on kyseessä, jo muodostanut ehto-koodin sen perusteella, mikä on laskureiden 22, 20, 34 ja 32 sisältö. Jos ehtokoodin muodostaja on muodostanut ehtokoodin, yksikkö 37 valitsee oikein muodostetun ehtokoodin. Ehtokoodin-määräämisen-ilmaisu-signaali linjalla 156 ilmaisee, että ehto-koodia ei vielä ole määrätty, kun se on "0", ja että ehtokoodi on määrätty, kun se on "1". Kun ehtokoodi on täysin määrätty, tämä täysin määrätty ehtokoodi on ulostulona linjalla 157. Päätösyksikkö 37 koostuu 2-tuloisista TAI-porteista 1201, 1202, 1203 ja 1204, EI-porteista 1205, 1206, 1207, 1208 ja 1210, 4-sisääntuloisista TAI-porteista 1209 ja 1220, 5-sisääntuloi- sesta TAI-portista 1215, sekä 2-sisääntuloisista JA-porteista 1211, 1212, 1213, 1214, 1216, 1217, 1218 ja 1219.
12 79201
Viitaten kuvioon 12, haarautumisen päätösyksikkö 3 päättää, onko haarautumiskäsky ehdollinen haarautumiskäsky vai ehdoton haarautumiskäsky, ja ehdottoman haarautumiskäskyn tapauksessa yksikkö 3 toimittaa haarautumiskäskyn käskypuskuriin 1 linjaa 107 pitkin. Ehdollisen haarautumiskäskyn tapauksessa yksikkö 3 toimittaa haarautumiskäskyn vain, jos ehtokoodin määräämisen ilmaisu-signaali linjalla 156 osoittaa täysin määrättyä ehtokooditilaa ja ehtokoodi linjalla 157 on "1". Siksi ajaksi, kun ehtokoodi ei ole määritelty, yksikkö 3 toimittaa odotuskomennon puskuriin 1 ja käskyrekisteriin 2 linjaa 106 : myöten, ja pitää näitä yllä, kunnes ehtokoodi tulee täysin mää- * riteilyksi. Yksikkö 3 koostuu EI-porteista 1301, 1302, 1303 ja 1304, 4-sisääntuloisista JA-porteista 1305 ja 1306, 2-sisään tuloisesta JA-portista 1307, 3-sisääntuloisesta JA-portista [ 1308 ja 2-sisääntuloisesta TAI-portista 1309.
Ehdottoman haarautumiskäskyn suorittavat puskuri 1, rekisteri 2 ja yksikkö 3, kuten kuviossa 13 on esitetty ajan funktiona.
Kuten näkyy, jakson 1 aikana käskyn osoitelaskurissa · 201 on ehdottoman haarautumiskäskyn BX osoite. Jakson 2 aikana käsky BX asetetaan rekisteriin 2, kun taas osoite BX + 1 on laskurissa 201. Samanaikaisesti yksikkö 3 päättää, että rekisterissä 2 pidetty käsky on ehdoton haarautumiskäsky, ja lähettää sen vuoksi haarautumiskomennon linjalle 107. Tuloksena on, että jakson ’ 3 aikana rekisteriin 2 ladataan haarautumisen kohdekäsky A, : joka on käskyn BX yhteydessä, ja käskyn osoitelaskuriin 201 la- i dataan osoite A + 1, joka on haarautumisen kohdekäskyä seuraa- va käsky. Jaksoa 3 seuraavan jakson 4 aikana rekisteri 2 ladataan käskyllä A + 1, joka on haarautumisen kohdekäskyä seu-raava.
Ehdollisen haarautumiskäskyn suoritus on esitetty kuviossa 14 siinä tapauksessa, että ehtokoodiksi on määrätty "0", ajan funktiona. Vaikka ehdollinen haarautumiskäsky BCX voidaan asettaa rekisteriin 2 jakson 2 aikana, osoituskomentoa ei ilmaannu, niin kauan kuin edellä mainittu määrittämisen ilmaisu-signaali on "1". Myöskään mitään haarautumiskomentoa ei tuoteta, koska ehtokoodi on "0". Siksi seuraavan, jakson 3 aikana,käsky BCX + 1, joka on BCX:stä seuraava, ladataan rekisteriin 2.
i3 79201
Jos ehtokoodiksi on määritelty "1", käsky BCX suoritetaan niin kuin kuviossa 15 on esitetty. Kun ehdollinen haarautumiskäsky on jakson 2 aikana ladattu rekisteriin 2, odotuskomentoa ei muodosteta, koska määrittämisen-ilmaisu-signaali on "1".
Koska ehtokoodi on "1", haarautumiskäsky viedään siten, että jakson 3 aikana rekisteriin 2 ladataan haarautumisen kohdekäs-ky A, joka vastaa BCX:ää. Käskyn osoitelaskuriin ladataan haa-rautumiskäskyn A jälkeisen seuraavan käskyn A + 1 osoite.
Kuviossa 16 on esitetty ajan funktiona käskyn BCX suoritus siinä tapauksessa, että ehtokoodiksi on määritelty "0" seurauksena määrittämisen odottamisesta. Heti kun käsky BCX jakson 2 aikana asetetaan rekisteriin 2, yksikkö 3 muodostaa odotusko-mennon, koska määrittelemisen-ilmaisu-signaali on "0". Tämä saa laskurin 201 pitämään osoitteen BCX + 1 ja rekisterin osoitteen BCX, jopa seuraavan jakson 3 aikana. Kun ehtokoodi on määri-: . tetty, ja siten määrittelemisen-ilmaisu-signaali on tullut ar- voon "1", odotuskomennoksi tulee "0", joten haarautumiskomen-noksi tulee "0" seurauksena täysin määrätystä ehtokoodista "0". ... Seuraavan jakson 4 aikana ei tämän vuoksi suoriteta mitään haarautumista, rekisteriin 2 ladataan käskyn BCX + 1 osoite, ja laskuriin 201 ladataan käskyn BCX + 2 osoite.
Kuviossa 17 on esitetty ehdollisen haarautumiskäskyn BCX suorituksen ajoitus, kun odotuksen tuloksena ehtokoodi on määritelty "l":ksi. Heti kun ehdollinen haarautumiskäsky BCX on ladattu rekisteriin 2 jakson 2 aikana, muodostetaan odotusko-mento, koska määrittelemisen-ilmaisu-signaali on "0". Siksi jopa seuraavan jakson 3 aikana laskurissa 201 pidetään osoitet-- - ta BCX + 1, ja rekisterissä 2 osoitetta BCX. Kun ehtokoodi on määritelty arvoon "1", määrittelemisen-ilmaisu-signaaliksi tulee "1”, ja odotuskomennoksi "0". Koska ehtokoodi on "1", baarautumiskomennoksi tulee "1", sillä seurauksella, että haarautuminen suoritetaan. Seuraavan jakson 4 aikana käskyrekis- teriin 2 ladataan haarautumisen kohteeseen liittyvä käsky A, kun taas laskuriin 201 ladataan osoite A + 1, joka on haarautu misen kohteesta seuraava.
i4 79201
Jokaiseen rekistereistä 8, 9, 10, 11, 19, 24, 25 ja 36, jotka on esitetty kuviossa 1, tuodaan syöttötietoa jakso jaksolta. Tämän erityisen laitteen toimintaa tullaan selittämään yksityiskohtaisesti olettaen, että käytössä on esimerkiksi taulukon 2 eri käskyt.
Käsky A: ADDR aritmeettinen summauskäsky yleisten rekiste reiden välillä; ehtokoodin-päivityskäsky i5 79201
Taulukko 2 Käsky B: EORX eksklusiivinen TAI-käsky yleisen rekisterin ja muistioperandin välillä; ehtokoodin-päi-vityskäsky Käsky C; SUBX aritmeettinen vähennyskäsky muistioperan- dille yleisestä rekisteristä; ehtokoodin-päivity skäsky Käsky D; ADDX aritmeettinen summauskäsky yleiselle rekisterille ja muistioperandille? ehtokoodin-päivity skäsky Käsky E: ANDR JA-käsky yleisille rekistereille; ehtokoo din-päivity skäsky Käsky F: BCX ehdollinen haarautumiskäsky riippuen ehtokoo- dista; ehtokoodia ei päivitetty
Kuviossa 18 on esitetty niiden käskyjen virta, jotka esiintyvät silloin, kun taulukon 2 käskyjen sarja suoritetaan, sekä näihin liittyvien kuvion 1 päälohkojen tilat. Kuviossa 18 käsky G vastaa käskyä, joka on seurausta käskyn F aikaansaamasta ehdollisesta haarautumisoperaatiosta.
Seuraavaksi laitteen toiminnan yksityiskohdat kuvataan viitaten kuvioihin 1 ja 18 peräkkäin jakso jaksolta.
(Ensimmäinen jakso) Käsky A haetaan puskurista 1.
(Toinen jakso) Käsky A ladataan rekisteriin 2, ja samanaikaisesti käskyn A kahteen yleiseen rekisteriin tallettama data luetaan ulos re-kisterimuistista 5. Ehtokoodin-päivitys-käskyn erottelijayk- 16 79201 sikkö 4 määrittää, että käsky A on ADDR-käsky, joka päivittää ehtokoodia, ja erottelun tuloksena vie komennon lataa "8" rekisteriin 7 linjaa 108 pitkin, sekä lisää-komennon laskuriin 22 linjaa 112 pitkin.
Käsky B haetaan puskurista 1.
(Kolmas jakso)
Binäärinen "8" kirjoitetaan rekisteriin 7, jonka tehtävänä on pitää erottelun tulosta, sen komennon ansiosta, joka tuli linjaa 108 pitkin. Samanaikaisesti "1" ladataan laskuriin 22, koska se sai lisäys-komennon linjalta 112. Ehtokoodin määrityksen päätösyksikkö 37 katsoo saadessaan datasyötön rekisteriltä 7 linjaa 116 pitkin, että putkessa on käsky, joka aiheuttaa sen, että muodostaja 17 muodostaa ehtokoodin. Yksikkö 37 saa tiedon siitä, että muodostaja 17 ei vielä ole muodostanut ehtokoodia, datasta "1", joka tuodaan sille laskurilta 22 linjaa 136 myöten. Tämä laskuri 22 liittyy muodostajaan 17, Seuraavaksi päätösyksikkö asettaa "0":ksi ehtokoodin-määrittä-misen-ilmoitus-signaalin näyttääkseen, että ehtokoodia ei vielä ole määritelty.
Käskyyn A liittyvä data, joka on talletettu yleisiin rekistereihin, kun se haettiin rekisterimuistista 5, ladataan rekis-: tereihin 9 ja 10 vastaavasti. Rekisteriin 8 ladataan käskyyn A liittyvä käskykoodi. Kontrolleriin 12 rekisteristä 8 linjaa 117 myöten kohdistetun käskykoodin mukaisesti muodostaa se arvon "0" linjalle 122 käskien näin aritmeettisen toimintayksikön 14 summaamaan, arvon "1" linjalle 120 käskien generaattorin 17 muodostaa ehtokoodin, sekä arvon "0" linjalle 118 käskien valitsijan 18 valita yksikön 14 ulostulon, joka on linjalla 127. Tuloksena on, että yksikkö 14 summaa rekistereihin 9 ja 10 talletetun datan, ja tulossumma valitaan valitsijalla 18.
Linjalla 127 olevan summan mukaisesti generaattori 17 muodostaa ehtokoodin ja vie sen linjalle 132, käskien näin rekiste-: riä 23 tallettamaan ehtokoodin, ja samanaikaisesti se vie vähennyskäskyn linjaa 131 pitkin laskurille 22 vähentäen sitä yhdellä.
IV 79201 Käsky B ladataan rekisteriin 2. Käskyn määrittelemä data, joka on talletettu yleisiin rekistereihin, luetaan muistire-kisteristä 5, jotta sallittaisiin summaimen 6 suorittaa muis-tioperandin osoitteenlasku. Ehtokoodin-päivitys-käskyn erotte-lijayksikkö 4 määrittää, että käsky B on EORX-käsky, joka päivittää ehtokoodia, ja erottelun tuloksena vie käskyn lataa "1" rekisteriin 7 linjaa 108 pitkin, sekä lisäys-komennon laskuriin 32 linjaa 109 pitkin lisätäkseen tätä yhdellä.
Käsky C haetaan puskurista 1.
(Neljäs jakso)
Linjalla 121 olevan vähennyskomennon takia laskuria 22 vähennetään yhdellä arvoon "0". Rekisteriin 23 ladataan ehtokoodi, joka muodostettiin jakson 3 aikana käskyn A yhteydessä. Rekisteriin 7, jonka tehtävänä on pitää erottelun tulosta, ladataan "1" linjalla 108 olevan komennon ansiosta, kun sillä välin komento linjalla 109 lisää laskurin 32 arvoksi "1". Ehtokoodin-muodostamisen päätösyksikkö 37 huomaa rekisteriin 7 talletettuun dataan pohjautuen, että viimeisimmän käskyn, joka päivittää ehtokoodia vaiheen III jälkeen putkessa, on saatava muodostaja 29 muodostamaan ehtokoodi, ja koska muodostajaan 29 liittyvän laskurin 32 arvo on "1", se huomaa myös, että ehtokoodin muodostaja 29 ei vielä ole muodostanut ehtokoodia, jolloin se vie linjalle 156 ehtokoodin-määrittämisen-ilmoitus-signaaliksi arvon " 0 " .
Valitsijan 18 valitsema summa ladataan rekisteriin 24 käskyn A kontrollin alaisuudessa. Sillä välin käskyn A käskykoodi talletetaan rekisteriin A, ja kontrolleri 26 muodostaa "0":n linjalle 140. Sen seurauksena valitsija 31 valitsee käskyn A operaation tuloksen, joka viedään linjaa 138 pitkin valitsi-: jaan 24.
Yleisrekisterin data, joka luettiin ulos rekisterimuistista 5, ladataan käskyn B kontrollin alaisuudessa rekisteriin 9, samanaikaisesti kun muistioperandin osoite ladataan rekisteriin 11. Cache-muistiin päästään rekisterin 11 osoitteen pohjalta.
i8 79201
Rekisteriin 8 ladataan käskyn B yhteydessä oleva käskykoodi, ja kontrolleri 12 muodostaa arvon "3" linjalle 118 sillä seurauksella, että valitsija 18 valitsee datan, joka on talletettu rekisteriin 9.
Käsky C ladataan rekisteriin 2. Data, joka on talletettu käskyn määrittelemään yleiseen rekisteriin, ja muistioperandin osoite luetaan linjoilta 113 ja 115, tässä järjestyksessä. Erottelijayksikkö 4 määrittää, että käsky C on SUBX-käsky, joka päivittää ehtokoodia, ja erottelun seurauksena, muodostaa komennon lataa "2" linjaa 108 pitkin rekisteriin 7, vieden samanaikaisesti lisäyskäskyn linjaa 110 pitkin laskurille 34 lisäten sen arvoa yhdellä. Käsky D haetaan puskurista 1.
(Viides jakso)
Laskuri 34 lisätään arvoon "1" linjalla 110 olevalla komennolla. Rekisteriin 7 ladataan "2" linjalla 108 olevan käskyn johdosta. Rekisteriin 7 talletetun datan pohjalta ehtokoodin-muodostamisen päätösyksikkö 37 havaitsee, että viimeisin käsky, joka päivittää ehtokoodia putkessa vaiheen III jälkeen, : saa aikaan muodostajan 30 tilan, jolloin se muodostaa ehtokoo- din. Koska sen jälkeen muodostajan 30 yhteydessä oleva laskuri 34 pitää arvoa "1", päätösyksikkö 37 havaitsee, että ehtokoodia ei vielä ole muodostettu, ja siten syöttää arvon "0" linjalle 156, joka ilmaisee ehtokoodin muodostamista.
Valitsijan 31 valitseman operaation tulos ladataan rekisteriin 36 käskyn A kontrollin alaisuudessa, ja sitten talletetaan muistipuskuriin 38.
Muistioperandin data, joka luettiin cache-muistista 15, ladataan rekisteriin 25 käskyn B kontrollin alaisuudessa, samalla • kun yleisrekisterin operandi ladataan rekisteriin 24. Rekiste riin 19 ladataan käskyn B yhteydessä oleva käskykoodi. Käskyn B johdosta kontrolleri 26 lähettää linjalle 143 arvon "1", joka käskee loogisen operaatioyksikön 27 suorittaa EOR-operaa-tion, linjalle 141 arvon "1", joka käskee generaattoria 29 muodostamaan ehtokoodin, ja linjalle 140 arvon "3", joka käskee valitsijaa 31 valitsemaan ulostulon yksiköltä 27. Tämän tulok- i9 79201 sena yksikkö 27 suorittaa EOR-operaation datalle, joka on talletettu rekistereihin 24 ja 25, kun taas valitsija 31 valitsee operaation tuloksen. Operaation tulosta linjalla 145 vastaten generaattori 29 muodostaa ehtokoodin ja lähettää sen linjaa 148 myöten käskynä rekisterille 33, jotta tämä tallettaa ehto-koodin ja samalla se lähettää vähennyskäskyn laskurille 32 linjaa 147 pitkin.
Käskyn C määrittelemä rekisterioperandi ladataan rekisteriin 9, ja muistioperandin osoite rekisteriin 11. Rekisteriin 8 ladataan käskyn C yhteydessä oleva käskykoodi. Kontrolleri 12 syöttää arvon "2" linjalle 118. Vastaavasti valitsin 18 valitsee ulostulon rekisteriltä 9.
Käsky D viedään käskyrekisteriin 2. Data, joka on talletettu käskyn spesifioimaan yleiseen rekisteriin, luetaan sieltä, jotta voidaan laskea muistioperandin osoite. Ehtokoodinpäivi-tyksen-käskyn erotteluyksikkö 4 määrittää, että käsky D on ADDX-käsky, joka päivittää ehtokoodia, ja erottelun tuloksena vie käskyn lataa "2" rekisteriin 7 linjaa 108 pitkin, sekä li- : säys-käskyn laskuriin 34 linjaa 110 pitkin.
j -· Käsky E haetaan puskurista 1.
(Kuudes jakso)
Komento linjalla 108 aiheuttaa sen, että rekisteriin 7 ladataan arvo "2", ja samanaikaisesti linjalla 110 oleva komento aiheuttaa sen, että laskuria 34 vähennetään yhdellä arvoon "2". Toisaalta laskuria 32 vähennetään arvoon "0" komennolla linjalla 147. Rekisteriin 33 ladataan se käskyyn B liittyvä ehtokoodi, joka muodostettiin viidennen jakson aikana. Rekisteriin 7 talletettu data aiheuttaa sen, että ehtokoodin-muodostamisen päätösyksikkö 37 havaitsee, että viimeisimmän käskyn, joka putkessa päivitti ehtokoodia vaiheen III jälkeen, on saatava generaattori 30 muodostamaan ehtokoodi, ja koska generaattoriin liittyvän laskurin 34 arvo on "2", se huomaa, että ehtokoodia ei vielä ole muodostettu, jolloin se syöttää linjalle 156 arvon "0" ehtokoodin-määrityksen-ilmoitus-signaaliksi.
Valitsijan 31 valitseman operaation tulos ladataan rekiste riin 36 käskyn B kontrollin alaisuudessa, ja sieltä eteenpäin muistipuskuriin 38.
20 79201 Käskyä C vastaava muistioperandi, joka luettiin cache-muistis-ta 15, ladataan rekisteriin 25 ja rekisterioperandi rekisteriin 24. Rekisteriin 19 on talletettu käskyn C käskykoodi. Kontrolleri 26 syöttää arvon "1" linjalle 144 saadakseen aritmeettisen operaatioyksikön 28 suorittamaan vähennyksen, arven "1" linjalle 142 saadakseen generaattorin 30 muodostamaan ehto-koodin, ja arvon "2" linjalle 140 saadakseen valitsijan 31 väliseinään ulostulon yksiköltä 28. Seurauksena on, että erotus, joka syntyi, kun rekisterin 25 data vähennettiin rekisterin 24 datasta, on yksikön 28 ulostulo, jonka valitsija 31 valitsee. Linjalla 146 olevan yksikön 28 ulostulon pohjalta generaattori 30 muodostaa ehtokoodin ja vie sen rekisteriin 35 linjaa 150 pitkin, samalla, kun se kohdistaa vähennyskäskyn laskurille 34 linjaa 149 pitkin.
Rekisterioperandi, joka saadaan tarkastelemalla D:tä, asetetaan rekisteriin 9 ja muistioperandin osoite rekisteriin 11. Rekis-teriin 8 ladataan käskyn D käskykoodi. Kontrolleri 12 muodostaa arvon "2" linjalle 118 niin, että valitsija 18 valitsee ·. : ulostulon rekisteristä 9.
Käsky E asetetaan käskyrekisteriin 2. Käskyn määrittelemä data, joka on talletettu kahteen yleiseen rekisteriin, luetaan pois muistirekisteristä 5. Erottelijayksikkö 4 määrittää, että käsky E on ANDR-käsky, joka päivittää ehtokoodia, ja erottelun tuloksena kohdistaa komennon lataa "4" rekisteriin 7 linjaa ' 108 pitkin, sekä lisäyskomennon linjaa 111 pitkin laskurille 20 sen lisäämiseksi yhdellä.
'h Käsky F haetaan käskypuskurista 1.
(Seitsemäs jakso)
Komento linjalla 108 aiheuttaa sen, että rekisteriin 7 ladataan arvo "7", samalla kun komento linjalla 111 aiheuttaa sen, että laskurin 20 arvoa lisätään arvoon "1". Laskuria 34 vähen- 2i 79201 netään yhdellä niin, että sen arvoksi tulee "1", komennon ansiosta, joka on linjalla 149, samalla kun rekisteriin 35 ladataan käskyyn C liittyvä ehtokoodi, joka muodostettiin kuudennella jaksolla. Data rekisterissä 7 aiheuttaa sen, että ehto-koodin-muodostamisen päätösyksikkö 37 näkee, että viimeisimmän käskyn, joka päivitti putkessa ehtokoodia vaiheen III jälkeen, tulee saada generaattori 16 muodostamaan ehtokoodi, ja koska generaattoriin 16 liittyvän laskurin 20 arvo on "1", se myös huomaa, että ehtokoodia ei vielä ole muodostettu, joten se syöttää arvon "0" signaaliksi linjalle 156.
Valitsijan 31 valitsema operaation tulos ladataan rekisteriin 36 käskyn C kontrollin alaisuudessa, ja sieltä eteenpäin muis-tipuskuriin 38.
Käskyyn D liittyvä muistioperandi, joka luettiin cache-muistis-ta 15, asetetaan rekisteriin 25 ja rekisterioperandi rekisteriin 24. Rekisteriin 19 ladataan käskyn D käskykoodi. Kontrolleri 26 muodostaa linjalle 144 arvon "0" saadakseen aritmeettisen operaatioyksikön 38 suorittamaan summauksen, linjalle 142 arvon : "1" saadakseen generaattorin 30 muodostamaan ehtokoodin, ja linjalle 140 arvon "2" saadakseen valitsijan 31 valitsemaan ; - ulostulon aritmeettiselta operaatioyksiköltä 28. Seurauksena - on, että rekistereissä 24 ja 25 pidetty data summataan toisiin sa ja tulos valitaan valitsijalla 31. Linjalla 146 oleva operaa-: : : tion tulos aiheuttaa sen, että generaattori 30 muodostaa ehto- koodin ja syöttää sen rekisteriin 35 linjaa 150 pitkin, samalla kun vähennyskomento kohdistetaan laskuriin 34 linjaa 149 myöten.
Käskyn E määrittelemä rekisterioperandi ladataan rekistereihin ; 9 ja 10. Rekisteriin 8 ladataan käskyn E käskykoodi. Kontrolle ri 12 muodostaa arvon "0" linjalle 121 saadakseen loogisen ope-: raatioyksikön suorittamaan JA-operaation, arvon "1" linjalle : ' 119 saadakseen generaattorin 16 muodostamaan ehtokoodin ja arvon "1" linjalle 118 saadakseen valitsijan 18 valitsemaan ulostulon operaatioyksiköltä 13. Vastaavasti looginen operaa-- tioyksikkö 16 suorittaa JA-operaation datalle, joka on talle tettu rekistereihin 9 ja 10, ja valitsin 18 valitsee tämän tuloksen. Linjalla 126 oleva ulostulo saa generaattorin 16 muodostamaan ehtokoodin ja välittämään sen pitkin linjaa 130 rekisterille 21, ja samanaikaisesti kohdistamaan laskurille 20 komennon, joka vähentää sen arvoa yhdellä.
22 7 9 2 01 Käsky P ladataan käskyrekisteriin 2. Erottelijayksikkö 4 määrittää käskyn F olevan BCX-käsky, joka ei päivitä ehtokoodia, eikä muodosta yhtään ainoata rekisteriin 7 kohdistuvaa komentoa, tai laskureihin 20, 22, 32 tai 34 kohdistuvaa lisäysko-mentoa. Toisaalta kuitenkin haarautumisen päätösyksikkö 3 päättää, että käsky F on BCX-käsky ja viittaa linjalla 156 näytettyyn ehtokoodin määräykseen. Koska ehtokoodin määrittämisen päätösyksikön 37 ulostulo on linjalla 156 "0", haarautu-* ; inisen päätösyksikkö 3 muodostaa arvon "1" linjalle 106, mikä vastaa odotuskomentoa rekisterille 2 ja puskurille 1.
: (Kahdeksas jakso)
Komento linjalla 149 vähentää laskurin 34 arvoa yhdellä ar-voon “0". Rekisteriin 35 ladataan ehtokoodi, joka liittyy käskyyn D, ja joka muodostettiin seitsemännellä jaksolla. Ko-mento linjalla 129 vähentää myös laskuria 20 yhdellä arvoon "0". Myös rekisteriin 21 ladataan käskyn E ehtokoodi, joka muodostettiin seitsemännellä jaksolla. Rekisterin 7 ansiosta : päätösyksikkö 37 huomaa, että viimeisimmän käskyn, joka päi vittää ehtokoodia vaiheessa III putkessa, on saatava gene-1. raattori 16 muodostamaan ehtokoodi. Koska generaattoriin 16 liittyvän laskurin 20 arvo on "0", päätösyksikkö 37 havaitsee, että viimeisimmän ehtokoodin päivityskäskyn uusi ehtokoodi on jo määritelty. Sitten päätösyksikkö 37 asettaa arvon "1“ linjalla 156 näytettyyn ehtokoodin määrittelyyn ja samanaikaisesti ohjaa generaattoriin 16 liittyvän datan, joka on talletettu rekisteriin 21, linjalle 157 määriteltynä ehtokoodina.
Käskyn D kontrollin alaisuudessa valitsijan 31 valitsema operaation tulos ladataan rekisteriin 36, ja sieltä edelleen muistipuskuriin 36.
Käskyn E kontrollin alaisuudessa jaksolla 7 muodostetun operaation tulos ladataan rekisteriin 24. Rekisteriin 19 ladataan käskyn E käskykoodi samalla, kun kontrolleri 26 muodostaa arvon "1" linjalle 140. Seurauksena on, että valitsija 31 va litsee ulostulon rekisteristä 24.
23 79201
Koska odotuskomento on esiintynyt linjalla 106 haarautumisen päätösyksiköstä 3 käskyn F kontrollin alaisuudessa, pidetään käskyä F rekisterissä 2, jotta pysyttäisiin vaiheessa II. Yksikkö 3 havaitsee, että käsky, jota pidetään käskyrekisteris-sä linjan 102 kautta, on BCX-käsky, ja tarkistaa sitten signaalin linjalla 156. Koska päätösyksikkö 37 on muodostanut arvon "1" linjalle 156, muodostaa haarautumisen päätösyksikkö 3 arvon "0" linjalle 106 peruen näin odotuskomennon käskyrekis-terille 2 ja käskypuskurille 1. Samanaikaisesti haarautumisen päätösyksikkö 3 päättää suoritetaanko haarautuminen, siitä riippuen, mikä on ehtokoodi linjalla 157, syöttäen päätöksen tuloksen linjalle 107. Yllä olevalla operaatiolla vaikutetaan ehdolliseen haarautumiseen, jonka jälkeen seuraava käsky G, joka suoritetaan riippuen ehdollisen haarautumisen tuloksesta, menee vaiheeseen I, ja se haetaan käskypuskurista 1.
Yhdeksännellä jaksolla ja siitä eteenpäin tapahtuvat yllä kuvatut operaatiot.
: Vaikka näytetyssä ja kuvatussa laitteessa ehdolliseen haarau- : ' tumiseen liittyvä suoritusaika saattaa ylittää kaksi jaksoa, ei voida kiistää parannusta verrattuna tapaukseen, jossa tätä keksintöä ei käytetä. Jos keksinnön mukaista järjestelmää ei käytetä, ei ole mitään keinoa päätellä, onko ehtokoodi jo määritelty; vaikka käsky pystyisi muodostamaan ehtokoodin vaiheessa III, siis käsky A tai E, ja se on täysin määritellyt sen vaiheessa IV, ei sitä voida referoida. Sen vuoksi, jos tarkastellaan ehdollista haarautumiskäskyä, joka tutkii ehtokoo-dia, haarautumispäätöstä ei voida tehdä ennenkuin edeltävä käsky menee vaiheeseen V, jossa ehtokoodin päivityskäsky muodostaa ehtokoodin epäonnistumatta. Tämä, verrattuna kuvattuun · laitteeseen, vaatisi selvästi kolmen jakson suoritusajan, joka päättyisi siioin, kun edeltävä käsky E menee vaiheeseen V.
Tässä näytetyssä ja kuvatussa laitteessa, koska BCX-käskyn 24 79201 oletetaan tarkistavan ehtokoodin vaiheessa II, ja se niin tekee, ehtokoodin-päivitys-käskyn erottelijayksikkö on asennettu vaiheeseen II, ja sen tulosta pitävä rekisteri vaiheeseen III. Vaihtoehtoisesti, jotta voitaisiin käyttää jopa sellaista käskyä, joka referoi ehtokoodiin vaiheessa III, kuten esimerkiksi käsky, joka summaa ehtokoodin ja yleisen rekisterin, voidaan lisätä ehtokoodin-päivitys-käskyn erottelijayksikkö 4 vaiheeseen III, sen tuloksen pitämistä varten rekisteri vaiheeseen IV, laskurit, jotka liittyvät vastaaviin ehtokoodin muodostajiin, ehtokoodin-muodostamisen päätösyksikkö, jonka tehtävänä on vastaanottaa lisälaskureiden ulostulot. Näin mahdollistetaan sen tarkastaminen, vaiheessa III, onko ehtokoodi muodostettu sen viimeisimmän ehtokoodin päivityskäskyn toimesta, joka on joko vaiheessa IV tai pitemmällä.
Vaikka kuvatussa laitteessa on käytetty neljää ehtokoodin muodostajaa, voidaan järjestelmään asentaa vain yksi ehtokoodin muodostaja ilman, että saavutettua etua menetetään. Sen vuoksi tämä keksintö on käyttökelpoinen myös sellaisessa tietojenkäsittelyjärjestelmässä, johon operaatioyksiköitä ja ehto-koodin muodostamisyksiköitä voidaan lisätä optionaalisesti.
Lisäksi keksintö on täysin käyttökelpoinen myös sellaisessa FIP-järjestelmässä, jossa huolimatta siitä, että erotteluyk-sikkö 4 osoittaa samaa ehtokoodin muodostajaa, niiden hetkien välinen aika, kun jompaa kumpaa ehtokoodin muodostajaa käytetään ja kun määrätty ehtokoodin muodostaja tosiallisesti muodostaa ehtokoodin, ei ole vakio. Tällaisessa järjestelmässä tapauksessa, että operandidataa ei ole cache-muistissa vaiheessa III, on välttämätöntä odottaa vaiheissa I ja II, kunnes ope-randidata on saatu, jolloin putken virtaukseen tulee häiriö. Eräs mahdollinen keino häiriön poistamiseksi on rekistereitä 8, 9, 10 ja 11 vastaavien puskurirekistereiden asentaminen vaiheiden II ja III välille. Yhtäpitävästi muiden keinojen kanssa, sen kaltaisessa PIP-järjestelmässä, missä tarvitaan lukuisia jaksoja operaation suorittamiseen vaiheessa IV, voidaan käsky tuoda kerran jokaiselle jaksolle, ja odottaminen putkessa, kunnes seuraava käsky on sallittu vaiheessa IV voidaan suorittaa puskurirekistereitä käyttäen.

Claims (1)

  1. 25 7 9 2 01 Patenttivaatimus Liukuhihnatyyppisellä ohjauksella varustettu tietojenkäsittelyjärjestelmä, tunnettu siitä, että siihen kuuluu: lukuisia ehtokoodin muodostamisyksiköitä <16, 17, 29, 30), joilla jokaisella on laskurilohko <20, 22, 32, 34) ja toimin-tolohko, jotta mainittua laskuri lohkoa voidaan käyttää ehto-koodin muodostamisen yhteydessä; ehtokoodin päivityskäekyn erotteluyksikkö (4), joka valitsee yhden mainituista ehtokoodin muodostamisyksiköistä käytettäväksi jokaisen käskyn tapauksessa, ja pitää mainitun valinnan tuloksen muistissa, ja käyttää yhtä laskentalohkoa, joka liittyy mainitun valinnan tulokseen; ja ehtokoodin muodostamisen päätösyksikkö <37>, joka identifioi lukuisissa laskuri lohkoissa pidetyt arvot ja valinnan tuloksen muodostaen signaalin, joka riippuu ehtokoodin määrätystä tilasta, ja muodostaa ehtokoodin.
FI842713A 1983-07-06 1984-07-05 Informationsbehandlingssystem med styrning av loepande bandtyp. FI79201C (fi)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP12268283 1983-07-06
JP58122682A JPS6015745A (ja) 1983-07-06 1983-07-06 情報処理装置

Publications (4)

Publication Number Publication Date
FI842713A0 FI842713A0 (fi) 1984-07-05
FI842713A FI842713A (fi) 1985-01-07
FI79201B FI79201B (fi) 1989-07-31
FI79201C true FI79201C (fi) 1989-11-10

Family

ID=14842013

Family Applications (1)

Application Number Title Priority Date Filing Date
FI842713A FI79201C (fi) 1983-07-06 1984-07-05 Informationsbehandlingssystem med styrning av loepande bandtyp.

Country Status (7)

Country Link
US (1) US4742453A (fi)
EP (1) EP0133477B1 (fi)
JP (1) JPS6015745A (fi)
AU (1) AU576506B2 (fi)
DE (1) DE3479928D1 (fi)
FI (1) FI79201C (fi)
NO (1) NO166904C (fi)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62103736A (ja) * 1985-10-31 1987-05-14 Fujitsu Ltd ブランチ制御方式
US5247627A (en) * 1987-06-05 1993-09-21 Mitsubishi Denki Kabushiki Kaisha Digital signal processor with conditional branch decision unit and storage of conditional branch decision results
US5148525A (en) * 1987-11-30 1992-09-15 Nec Corporation Microprogram-controlled type bus control circuit
DE68927218T2 (de) * 1988-10-18 1997-02-06 Hewlett Packard Co Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor
US5127091A (en) * 1989-01-13 1992-06-30 International Business Machines Corporation System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor
JP3452655B2 (ja) * 1993-09-27 2003-09-29 株式会社日立製作所 ディジタル信号処理プロセッサおよびそれを用いて命令を実行する方法
US5815695A (en) * 1993-10-28 1998-09-29 Apple Computer, Inc. Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor
US5835744A (en) * 1995-11-20 1998-11-10 Advanced Micro Devices, Inc. Microprocessor configured to swap operands in order to minimize dependency checking logic
WO1998008160A1 (en) * 1996-08-20 1998-02-26 Idea Corporation A method for identifying hard-to-predict branches to enhance processor performance
US6119221A (en) * 1996-11-01 2000-09-12 Matsushita Electric Industrial Co., Ltd. Instruction prefetching apparatus and instruction prefetching method for processing in a processor
US6161174A (en) * 1998-11-05 2000-12-12 Wilhite; John E. Pipelined central processor incorporating indicator busy sensing and responsive pipeline timing modification
US6883000B1 (en) 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US7505974B2 (en) 1999-02-12 2009-03-17 Gropper Robert L Auto update utility for digital address books
FR2821450B1 (fr) * 2001-02-27 2004-07-09 St Microelectronics Sa Procede de gestion d'instructions de branchement au sein d'un processeur, en particulier un processeur de traitement numerique du signal, et processeur correspondant
FR2821449B1 (fr) 2001-02-27 2003-07-04 St Microelectronics Sa Procede de gestion d'instructions au sein d'un processeur a architecture decouplee, en particulier un processeur de traitement numerique du signal, et processeur correspondant
US20070050610A1 (en) * 2005-08-31 2007-03-01 Texas Instruments Incorporated Centralized resolution of conditional instructions
JP6428488B2 (ja) * 2015-05-28 2018-11-28 富士通株式会社 加減算器及び加減算器の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3881173A (en) * 1973-05-14 1975-04-29 Amdahl Corp Condition code determination and data processing
US4133030A (en) * 1977-01-19 1979-01-02 Honeywell Information Systems Inc. Control system providing for the transfer of data in a communications processing system employing channel dedicated control blocks
JPS57150040A (en) * 1981-03-11 1982-09-16 Mitsubishi Electric Corp Pipeline computer
US4532589A (en) * 1981-12-02 1985-07-30 Hitachi, Ltd. Digital data processor with two operation units
JPS58158745A (ja) * 1982-03-12 1983-09-21 Nec Corp パイプライン制御形情報処理装置
US4578750A (en) * 1983-08-24 1986-03-25 Amdahl Corporation Code determination using half-adder based operand comparator

Also Published As

Publication number Publication date
JPS6015745A (ja) 1985-01-26
FI842713A0 (fi) 1984-07-05
AU3033984A (en) 1985-01-10
JPH0213333B2 (fi) 1990-04-04
NO166904C (no) 1991-09-11
NO166904B (no) 1991-06-03
DE3479928D1 (en) 1989-11-02
FI842713A (fi) 1985-01-07
EP0133477B1 (en) 1989-09-27
US4742453A (en) 1988-05-03
EP0133477A3 (en) 1987-04-15
FI79201B (fi) 1989-07-31
NO842698L (no) 1985-01-07
EP0133477A2 (en) 1985-02-27
AU576506B2 (en) 1988-09-01

Similar Documents

Publication Publication Date Title
FI79201C (fi) Informationsbehandlingssystem med styrning av loepande bandtyp.
US4714994A (en) Instruction prefetch buffer control
US5257216A (en) Floating point safe instruction recognition apparatus
EP0823085B1 (en) Method and apparatus for improved branch prediction accuracy in a superscaler microprocessor
EP0071028A2 (en) Instructionshandling unit in a data processing system with instruction substitution and method of operation
EP0491693B1 (en) Improved cpu pipeline having register file bypass on update/access address compare
US20180095752A1 (en) Instruction predecoding
KR100493126B1 (ko) 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서
US6021511A (en) Processor
US5335330A (en) Information processing apparatus with optimization programming
US20170031687A1 (en) Register comparison for operand store compare (osc) prediction
EP0094535B1 (en) Pipe-line data processing system
US4739470A (en) Data processing system
EP0305639A2 (en) Vector computer
US5640525A (en) Data-driven information processing devices
US20060271768A1 (en) Instruction issue control within a superscalar processor
EP0163740A1 (en) Pipeline control system
WO2004072848A9 (en) Method and apparatus for hazard detection and management in a pipelined digital processor
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
US4878189A (en) Microcomputer having Z-flag capable of detecting coincidence at high speed
US4977496A (en) Branching control system
US5732254A (en) Pipeline system branch history table storing branch instruction addresses and target addresses with inhibit bits
US5045992A (en) Apparatus for executing instruction regardless of data types and thereafter selectively branching to other instruction upon determining of incompatible data type
US6057720A (en) High speed sticky signal generator
US7191432B2 (en) High frequency compound instruction mechanism and method for a compare operation in an arithmetic logic unit

Legal Events

Date Code Title Description
MM Patent lapsed
MM Patent lapsed

Owner name: NEC CORPORATION