FI90804C - Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu - Google Patents

Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu Download PDF

Info

Publication number
FI90804C
FI90804C FI873030A FI873030A FI90804C FI 90804 C FI90804 C FI 90804C FI 873030 A FI873030 A FI 873030A FI 873030 A FI873030 A FI 873030A FI 90804 C FI90804 C FI 90804C
Authority
FI
Finland
Prior art keywords
interrupt
instruction
program
instructions
normal
Prior art date
Application number
FI873030A
Other languages
English (en)
Swedish (sv)
Other versions
FI873030A0 (fi
FI90804B (fi
FI873030A (fi
Inventor
Kevin L Kloker
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of FI873030A0 publication Critical patent/FI873030A0/fi
Publication of FI873030A publication Critical patent/FI873030A/fi
Application granted granted Critical
Publication of FI90804B publication Critical patent/FI90804B/fi
Publication of FI90804C publication Critical patent/FI90804C/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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

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)

Description

90804
Dataprosessorin ohjausyksikko, jolla on kåskyn esihaun uudelleensuuntausta kayttava keskeytyspalvelu
Tekniikan alue 5 Tåmå keksinto liittyy yleisesti datan kåsittelypii- reihin ja erityisesti keskeytysten suorittamiseen data-prosessorissa.
Keksinnon tausta
Dataprosessorit keskeytetåan tyypillisesti asynkro-10 nisesti oheislaitteilla ohjelma-askelsekvenssien suoritta-misen aikana. Keskeytyspyynnot kåsitellåån tavallisesti toisella kahdesta tavasta tai niiden muunnelmilla. Ensim-måinen menetelmå, joka on tavallisesti toteutettu proses-soreilla, on vektoroitu keskeytys ohjelmalaskurin korvauk-15 sella. Tåssa menetelmåsså keskeytyspyyntoa ei palvella vå-littomåsti, vaan sitå pidetåån voimassa kunnes keskeytyksen suoritusraja esiintyy. Siten sen hetkisen kåskyn suorit-tamisen loppuun saattaminen varmistetaan ennen keskeytyksen palvelemista. Kåskyrajalla ohjelmalaskurin sisålto kåsittåå 20 paluuosoitteen, joka osoittaa seuraavaa kåskyå, joka nor-maalisti suoritettaisiin, ellei keskeytystå esiintyisi.
Tåmå paluuosoite ja vaihteleva måårå muuta informaatiota talletetaan sitten pinomuistiin. Muu informaatio, joka saa-tetaan tallentaa, sisåltåå tilakoodirekisterit, datarekis-25 terit ja osoiterekisterit. Keskeytyspalvelurutiinin alku-osoite korvaa sitten aikaisemman ohjelmalaskurin, jotta aikaansaadaan siirtyminen keskeytyspalvelurutiiniin. Kor-vausarvo ohjelmalaskuria vårten voidaan synnyttåå eri tavoin. Yleinen toteutus on, ettå prosessori synnyttåå keskeytyksen 30 hyvåksymissignaalin. Vasteena keskeytyksen hyvåksymissignaa-lille keskeyttåvå oheislaite tuottaa keskeytysvektorinume-ronf joka ohjaa prosessorin hakemaan muistitaulukossa olevan keskeytyspalvelurutiinin alkuosoitteen. Keskeytyspalvelurutiinin alkuosoite ladataan ohjelmalaskuriin ja prosessori .35 hakee keskeytysrutiinin ensimmåisen kåskyn, dekoodaa sen ja 2 suorittaa sen. "Paluu keskeytyksestå" -kåskyn (RTI) suorittaminen lopettaa keskeytyspalvelurutiinin. RTI -kasky aiheuttaa prosessorin aikaisemman tilan palauttamisen ja lataa ohjelmalaskurin paluuosoitteella ennen kuin normaali-5 ohjelman suorittamista jatketaan.
Edella selostettu keskeytyksen suoritusmenetelma on hidas, koska siina on ylimaaraisia keskeytyksen kasittelyyn tarvittavia yleisjaksoja. Keskeytyksen palvelussa kohdataan aina epåvarma maara viivetta odotettaessa sen hetkisen kas-10 kyn loppuunsuorittamista. Alkuperaisen keskeytysosoitteen måårittåminen on myds tehotonta, johtuen ajasta, joka tar-vitaan keskeytysvektori-informaation hakemiseen. Lisåksi, sen jalkeen, kun alkuosoite on ladattu ohjelmalaskuriin, tarvitaan aikaa keskeytyspalvelurutiinin ensimmaisen kas-15 kyn hakemiseksi ja dekoodaamiseksi ennen kuin suoritus voi aikaa. Prosessorin hydtysuhde pienenee, koska prosessori pakotetaan olemaan joutotilassa ohjelmalaskurin korvauksen aiheuttamien vuomuutosoperaatioiden aikana. Lopuksi kohdataan viivetta, kun suoritetaan RTI -kasky, johtuen ajasta, 20 joka tarvitaan palauttamaan prosessorin aikaisemmat tila-olosuhteet ja suorittamaan vuomuutos normaaliin kSskyvir-taan.
Toiset ovat minimoineet tåhån keskeytyksen kasittely-menetelmaån liittyvan yleisajan (overhead) vahentamalla 25 niiden rekistereiden lukumååråa, jotka tallennetaan kun keskeytykset tapahtuvat. Toiset ovat yksinkertaistaneet vaiheita, jotka tarvitaan keskeytyspalvelurutiinin alku-osoitteen saamiseksi. Sen sijaan, ettM kSyttavat kaavaa keskeytyspalvelurutiinin osoitteen laskemiseksi, toiset 30 ovat tallentaneet alkuosoitteen kiinteaan paikkaan ohjelma-muistissa tai yksinkertaisesti pakottaneet prosessin valit-tdmasti hyppMamåån kiinteaan paikkaan. Vaikka tallaiset tek-niikat minimoivat keskeytyksen yleisajan, tehottomuutta on yha olemassa. Kåskyn haku, dekoodaus ja suoritusmekanismit 35 on moderneissa prosessoreissa usein liukuhihna muodossa 90804 3 (pipelined), niin etta kaskyn esihakumekanismit voivat olla limitettyjå kaskyn suorittamisen kanssa kaskyjen hakemiseksi ja dekoodaamiseksi etukateen. Seurauksena kåskyliukuhihna on normaalisti taynna, kun keskeytyspyynto vastaanotetaan.
5 Siksi liukuhihnalla olevat kaskyt taytyy poistaa keskeytyk-sen suorittamisen aikana ja viivetta kohdataan kaskyn haus-sa, dekoodauksessa ja suorittamisessa eri osoitteessa, joka liittyy keskeytyspalvelurutiiniin. Tama vuomuutosoperaatio aiheuttaa suoritusjaksojen, menettamista liukuhihnatyyppisis-10 så dataprosessoreissa.
Toinen tavallinen keskeytysten suorittamismenetelmå on tunnettu kaskyn lisayksenå (jamming). Tassa menetelmassa keskeytyspyyntoå ei palvella valittomasti, vaan se pidetaån voimassa kaskyn suoritusrajaan asti. Sen hetkisen kaskyn 15 lopettamisén jalkeen prosessori tuottaa keskeytyksen hyvåk-symissignaalin oheislaitteelle. Vasteena oheislaite, joka pyytåå keskeytystaf tuottaa yhden kaskyn, sellaisen kuten "hyppy aliohjelmaan" -kaskyn, joka lisataan kåskyrekisteriin. "Hyppy aliohjelmaan" -kaskyn suorittaminen lataa ohjelma-20 laskurin keskeytyspalveluohjelman alkuosoitteella. Keskey-tyspalveluohjelman loppuun saattamisen jalkeen RTI -kåsky lataisi paluuosoitteen takaisin ohjelmalaskuriin. Jos li-såtty kåsky ei ole "hyppy aliohjelmaan" -kåsky, lisatty kåsky suoritetaan yhden kaskyn omaavana palveluohjelmana, 25 jossa on sisåinen "paluu keskeytyksestå" (RTI). Kaskyn li-saamisen aikana ohjelmalaskurin vanha sisaltS pidetaan va-liaikaisesti vakiona. Tama mahdollistaa normaalin ohjelman jatkaa suorittaftiistaan ilman paluuosoitetta.
Kaskyn lisaystekniikassa prosessori odottaa kunnes 50 sen hetkinen kåsky lopettaa suorittamisensa ennen kuin keskeytyksen hyvåksymissignaali hakee lisåtyn keskeytys-palveluohjelmakaskyn, Prosessori odottaa myos kunnes lisåtyn keskeytyspalveluohjelmakåskyn suorittaminen pååttyy ennen kuin se hakee normaalin ohjelman seuraavan kåskyn.
34 Molemmista nåistå vuomuutosoperaatioista on seurauksena 4 hukkaanmenneitå yleisjaksoja. Lisåksi kåskyn lisayskeskeytys-jarjestelmåssa keskeyttåvan oheislaitteen taytyy olla suun-niteltu tiettyå prosessoria vårten, jotta aikaansaadaan oi-kea lisåtty keskeytyskåsky oikealla såhkoisellå ajoituksel-5 la. Tåmå rajoittaa muutamien kaupallisesti saatavilla ole-vien prosessorien yhteen sopivuutta erilaisiin oheislait-teisiin.
Keksinnon lyhyt kuvaus
Taten esilla olevan keksinnon kohteena on aikaansaa-10 da dataprosessori, jossa on parannettu keskeytyspalvelu, joka kayttaa kaskyn esihaun uudelleensuuntausta.
Esilla olevan keksinnon toisena kohteena on aikaan-saada parannettu valine dataprosessoriohjelman suorittami-sen keskeyttåmiseksi pyytavaa laitetta palvelemista vårten.
15 Esilla olevan keksinnon viela eraana kohteena on aikaansaada parannettu valine niiden yleissuoritusjaksojen minimoimiseksi, jotka menetetaån dataprosessorissa, kun haetaan ja dekoodataan kaskyja keskeytettaesså ja palatta-essa paaohjelmaan, jota dataprosessorilla ollaan suoritta-20 massa.
Toteutettaessa esilla olevan keksinnon ylla mainittu-ja ja muita kohteita on aikaansaatu, yhdessa muodossa, oh-jausyksikkd dataprosessorin varustamiseksi kaskyilla suorit-tamista vårten. Tama ohjausyksikko selektiivisesti aikaan-25 saa esihaetut normaalikåskyt, kun keskeytyspyynto oheis-laitteelta puuttuu. Ennalta maåratty maarå esihaettuja keskeytyskåskyjå aikaansaadaan vasteena keskeytyspyynnolle. Esihaetut kaskyt dekoodataan ennen kuin ne viedåån data-prosessorille. Menetelmå on toteutettu esillå olevassa kek-30 sinnosså sellaisten yleissuoritusjaksojen eliminoimiseksi, joissa dataprosessori ei suorita lainkaan kaskyja. Lisa-jaksot liittyvat keskeyttåvaan kåskyvirtaan keskeytyspal-veluohjelman suorittamiseksi vasteena keskeytyspyynnolle. Pyynto vastaanotetaan keskeytyksen ohjauspiiristolla nor-35 maalin ohjausyksikoltå dataprosessorille kulkevan kasky- h 90804 5 virran keskeyttåmiseksi. Normaalikåskyjen esihaut uudel-leensuunnataan, jotta aikaansaadaan ainakin yksi keskeytys-kaskyn esihaku. Keskeytyskaskyn esihaku tai esihaut aloi-tetaan ennen kuin esihaetut normaalikåskyt lopettavat suo-5 rittamisen ja ennen sen dekoodaamista, onko viimeisimpånå esihaettu normaalikåsky monisanakåsky, jota ei ole taydelli-sesti esihaettu. Keskeytyskaskyn esihaku uudelleensuunnataan sitten jatkamaan normaalikaskyjen esihakujen suorittamista. Normaalikaskyjen esihaut aloitetaan ennen kuin esihaettu 10 keskeytyskasky tai -kåskyt lopettavat suorittamisen ja ennen kuin esihaettu keskeytyskasky tai -kaskyt on dekoodat-tu sen maarittamiseksi, onko viimeisimpana esihaettu keskeytyskasky monisanakasky, jota ei ole vielå taydellisesti esihaettu.
15 Nåmå ja muut kohteet, piirteet ja edut tulevat selvemmin ymmarretyksi seuraavasta yksityiskohtaisesta selostuksesta, joka suoritetaan yhdesså oheisten piirrosten kanssa.
Piirrosten lyhyt kuvaus 20 Kuvio 1 havainnollistaa taulukkomuodossa kåskyvirran kasittelyå tunnetussa dataprosessorissa;
Kuvio 2 havainnollistaa taulukkomuodossa kåskyvirran kasittelyå toisessa tunnetussa dataprosessorissa;
Kuvio 3 havainnollistaa taulukkomuodossa kåskyvirran 25 kasittelyå vielå yhdesså tunnetussa dataprosessorissa;
Kuvio 4 havainnollistaa lohkokaaviomuodossa data-prosessoria, joka kåyttåå esillå olevan keksinnon mukaista kåskyn esihaun uudelleensuuntausta;
Kuvio 5 havainnollistaa taulukkomuodossa kåskyvirran 30 kåsittelyå esillå olevan keksinnon dataprosessorissa.
Keksinnon yksityiskohtainen kuvaus
Kuviossa 1 esitettynå on tunnetun dataprosessorin kåskyvuokaavio, jossa ei ole kåskyn esihakua ja jota kåyte-tåån monissa kaupallisesti saatavilla olevissa dataproses-35 soreissa. Siinå on havainnollistettu kahdeksantoista kåsky-jaksoa, joissa keskeytyskåsky i suoritetaan kåskyjen n-1, 6 η, η+1 ja η+2 suorittamisen aikana. Keskeytyspyynto voi olla vastaanotettu oheislaitteelta millå tahansa hetkella normaalien ohjelmakaskyjen suorittamisen aikana. Ainoastaan havainnollisuustarkoituksella oletetaan, ettå jossakin pis-5 teesså kåskyn n suoritusjakson aikana (kaskyjakso 6) vas-taanotetaan keskeytyspyynto. Kuvion 1 dataprosessorijarjes-telma toimii silla tavoin, ettå keskeytyspyynnot pidetaan voimassa kåskyn suoritusrajan alkuun asti, niin ettå sen hetkisen kåskyn suorittamisen loppuun saattaminen varmiste-•10 taan. Keskeytysten palveleminen kåskyjaksorajoilla mahdol-listaa prosessorin tilan måårittåmisen jokaisen kåskyn lo-pussa. Tunnettu tilakone myos yksinkertaistaa informaatiota, joka tåytyy tallentaa ennen kuin keskeytys palvellaan. Kui-tenkin voi olla olemassa useita viivejaksoja ennen kuin 15 keskeytyspyyntd on todella hyvåksytty. Jokaiseen kåskyyn liittyy kolme erillistå operaatiota, jotka ovat haku-, dekoodaus- ja suoritusoperaatiot. Kuten voidaan helposti nåhdå, jokaista jaksoa kohden, jossa kåsky suoritetaan, on kaksi jaksoa, joista kutakin on merkitty "X":lla, joiden 20 aikana ei tapahdu mitåån kåskyn suoritusta. Viivettå tava-taan my5s keskeytyksen suorittamisessa johtuen suoritetta-vaa keskeytysohjelmaa vastaavan keskeytyksen alkuosoitteen tai -vektorinumeron hakemisesta (ei esitetty kuviossa 1). Jokaisen joutosuoritusjakson, jota esitetåån "X":llå, aika-25 na joko tapahtuu tulevan kåskyn haku tai suoritetaan tule-van kåskyn dekoodaus. Keskeytyskåskyt (i) ja paluut keskey-tyksistå (RTI) kåsitellåån tyypillisesti koneella samalla tavoin kuin kaikki muut normaalit ohjelmakåskyt. Keskeytys-pyyntdihin liittyvien viiveiden lisåksi kuvion 1 datapro-30 sessilla on kaksi yleisjaksoa, jotka liittyvåt jokaiseen suoritusjaksoon, ja se on åårimmåisen tehoton.
Kuviossa 2 on esitettynå toisen tunnetun dataproses-sorin kåskyvirtakaavio, jossa ei ole kåskyn esihakua ja joka kåyttåå erilaista keskeytystekniikkaa, joka tunnetaan 35 kåskyn lisåyskeskeytyksenå. Kuten voidaan helposti nåhdå, 90804 7 kaskyn lisåyksellå tarvitaan ainoastaan 15 kaskyjaksoa suo-rittamaan sama maara ohjelmakaskyja ja keskeytyskåskyt, jot-ka suoritettiin kahdeksassatoista kaskyjaksossa kuviossa 1. Ainoastaan havainnollisuuden vuoksi oletetaan, etta asynkro-5 ninen keskeytyspyynto vastaanotetaan jonakin aikana kaskyn n (kuudes kaskyjakso) suoritusjakson aikana. Keskeytyspyynto pidetaan jalleen voimassa sen hetkisen kaskyn suorittamisen loppuun asti. Prosessoreissa, jotka kayttavat kaskyn lisåys-ta, keskeyttavan oheislaitteen tSytyy sijoittaa oikea kasky 10 prosessorin kaskyrekisteriin keskeytyskåskyn lisaamiseksi prosessoriin. Prosessori vastaisi oheislaitteelle keskeytys-tilakoodilla. Siten keskeyttåvån oheislaitteen taytyy olla prosessorille ominainen. Vaikka ainoastaan yksi kasky suo-ritetaan joka kolmas kaskyjakso, mitåån paluuta keskeytys-15 kåskystå ei tarvitse suorittaa, kun keskeytyskåsky on li- satty kaskyrekisteriin. TåmSn vuoksi tarvitaan kolme jaksoa vahemmån suorittamaan sama mMara kaskyja kuin verrattuna kuvion 1 prosessoriin. Kuitenkin myos tassa tekniikassa on olemassa yleisjaksoja, koska keskeytyskaskya ei haeta eika 20 dekoodata ennen kåskyjakson rajaa ja normaalia ohjelmakås-kya ei haeta eika dekoodata ennen keskeytyspalveluohjelman loppuun saattamista.
Kuviossa 3 on esitetty virtauskaavio viela yhden tyyppiselle tunnetulle dataprosessorille, jolla on kasky 25 liukuhihna-arkkitehti ja kåskyjen esihaku. Kuvion 3 data- prosessorissa kaskyt esihaetaan, niin etta kaskyt ovat saa-tavilla sillS hetkella, kun kaskyn tulee olla dekoodattu.
Tåma esihakutekniikka eliminoi viiveen, joka liittyy kåskyjen hakuun ja dekoodaamiseen. Se olettaa, etta kaskyt suo-30 ritetaan jonossa. Ainoastaan 12 kaskyjaksoa vaaditaan suorittamaan sama måårå kåskyjå, joka suoritettiin kuvioiden 1 ja 2 prosessoreilla. Havainnollisuuden vuoksi oletetaan, ettå keskeytyspyyntd oheislaitteelta tapahtuu jollakin ajan-hetkella kåskyn n (neljas kåskyjakso) suoritusjakson aikana.
35 Taaskaan keskeytyskaskya ei haeta vålittomåsti, vaan se 8 haetaan sen hetkisen kåskyn loppuun suorittamisen jålkeen.
Kun esihakukyky on olemassa, kåsky voidaan suorittaa sa-malla kun toista kåskyå dekoodataan ja samalla kun viela yhta kaskya haetaan. Kuitenkaan jaksoissa, joissa ensimmåi-5 nen keskeytyskasky haetaan ja dekoodataan, ei saateta suorittaa mitaan kaskya. Seurauksena keskeytyskaskyn toteutta-misen ymparilla on kokonaisuutena nelja jaksoa, joiden ai-kana ei tapahdu kåskyn suorittamista. Kaskyn esihaku ei ole tehokas eliminoitaessa yleisjaksoja vuomuutosoperaatioiden 10 aikana. Kaskyn esihaku kuitenkin oleellisesti pienentåa niiden kaskyjaksojen lukumååråå, jotka tarvitaan suoritta-maan sama maara kaskyjå kuin tarvittiin kuvioiden 1 ja 2 prosessoreissa.
Kuviossa 4 on esitettyna keksinnon mukainen ohjelman 15 ohjausyksikko 10 dataprosessoria vårten. Ohjelmalaskurilla 14 on ensimmåinen napa, joka on kytketty ohjelmamuistin 15 sisååntuloon ohjelmaosoitevåylån 16 kautta. Ohjelmamuistil-la 15 on ulostulo, joka on kytketty esihakurekisterin 18 ensimmåiseen sisaåntuloon ohjelmadatavåylån 19 kautta.
20 Esihakurekisterin 18 ensimmainen ulostulo on kytketty kås-kydekooderin 22 ensimmåiseen sisaåntuloon. Kåskydekooderin 22 ulostulo on kytketty kåskyrekisterin 24 ensimmåiseen si-sååntuloon. Esihakurekisterin 18 toinen ulostulo on kytketty sekå kåskydekooderin 22 ettå kåskyrekisterin 24 toisiin sisååntuloihin. Kåskyrekisterin 24 ohjausulostulo on kytketty ohjelmalaskurin 14 ensimmåiseen sisååntuloon. Pinomuisti-rekisterillå 26 on sisååntulo/ulostulonapa, joka on kytketty ohjelmalaskurin 14 ensimmåiseen sisååntulo/ulostulonapaan. Ohjelmalaskurin 14 toinen sisååntulo on kytketty sekå yhdel-30 lå kasvatuspiirin 28 sisååntuloon ettå ohjelmaosoitevåylåån 16. Yhdellå lisåyspiirin 28 ulostulo on kytketty esihakulas-kurin 30 ensimmåiseen sisååntuloon. Esihakulaskurin 30 ulostulo on kytketty ohjelmaosoitevåylåån 16. Keskeytyspyynto-signaali on kytketty keskeytysesihaun ohjauspiirin 34 si-35 sååntuloon ja keskeytysosoitegeneraattoripiirin 36 ensimmåiseen sisååntuloon. Keskeytysesihaun ohjauspiirin 34 i 90804 9 ulostulo tuottaa keskeytyshakusignaalin ja se on kytketty keskeytysosoitegeneraattoripiirin 36 toiseen sisååntuloon, esihakulaskurin 30 toiseen sisaantuloon ja esihakurekisterin 18 toiseen sisaantuloon.
5 Toiminnan osalta kasitellaan aluksi ohjausyksikkoa 10/ joka toimii ilman keskeytyspyyntojå. Kåskyrekisteri 24 tallentaa kåskyn, joka odottaa dataprosessorilla tapahtuvaa suorittamista ja joka on seuraava dataprosessorilla suori-tettava kåsky. Ohjelmalaskuri 14 toimii kåskyrekisterisså 10 24 olevaa kaskya valittomasti seuraavan kåskyn kåskyosoit- teen tallentamiseksi ja kytkemiseksi ohjelmamuistiin 15 ohjelmaosoitevaylån 16 kautta. Ohjelmamuisti 15 on muisti, joka tuottaa dataprosessorilla suoritettavat ohjelmakaskyt ohjelmaosoitteita vastaten. Pino 26 on muistirekisteri, jo-15 ka voi selektiivlsesti tallentaa ja tuottaa ohjelmalasku-rin 14 osoitesisållot. Esihakulaskuri 30 toimii tavalla, joka on muutoin analoginen ohjelmalaskurin 14 kanssa pait-si, ettå esihakulaskuri 30 osoittaa yhden kaskyosoitteen verran eteenpåin ohjelmalaskurista 14 ja toimii kåskyosoit-20 teen saamiseksi ohjelmamuistiin 15 ohjelmaosoitevåylållå 16. Kun esihakulaskuri 30 kytkee seuraavan kaskyn hakuosoitteen ohjelmamuistiin 15 osoitevaylan 16 kautta, esihakulaskuri 30 saman aikaisesti kytkee seuraavan kåskyn hakuosoitteen sekå ohjelmalaskurille 14 etta inkrementoijaile 28 osoite-25 våylån 16 kautta. Inkrementoija 28 kasvattaa haettua kåsky-osoitetta yhdellå ja kytkee kasvatetun kaskyosoitteen esi-hakulaskurille 30, joka påivitetåån. Tållå tavoin esihakulaskuri 14 toimii aina osoittaen kaksi kåskyosoitetta eteenpåin siitå kåskystå, jota dataprosessorilla suorite-30 taan. Esihakulaskuri 30 on kåskyn hakuosoitteiden normaali-låhde, kun kåskyt kasitellaan jonossa. Ohjelmalaskuri 14 on kåskyn hakuosoitteiden vaihtoehtoinen låhde, kun vuon-muutosoperaatio tapahtuu. Siten ennen kuin kåsky tallenne-taan kåskyrekisterillå 24, kytketåån kåskyt ohjelmamuistis-35 ta 15 esihakurekisteriin 18 ja kåsky dekooderiin 22.
1 o
Esihakurekisteri 18 ja kåskydekooderi 22 toimivat yhdessa, jotta dekoodattu kasky tallennetaan ja kytketåSn kaskyre-kisteriin 24. Talla tavoin ohjausyksikko 10 toimii ennalta maaratyn ohjelman kaskyjen kasittelemiseksi ja tuottamisek-5 si dataprosessorilla suorittamista vårten.
Oletetaan nyt, etta oheislaite, joka on kytketty dataprosessoriin, haluaa keskeyttaa dataprosessorin toimin-nan palvelun pyytamiseksi dataprosessorilta. Oheislaite tuottaa keskeytyspyyntosignaalin, joka on kytketty seka 10 keskeytysesihaun ohjauspiirille 34 ja keskeytysosoitteen generaattoripiirille 36. Keskeytysesihaun ohjauspiiri 34 toimii oheislaitteen keskeytyspyynndn tunnistamiseksi ja esihakulaskurin 30 suorittaman kaskyjen haun uudelleen suuntaamisen aikaansaamiseksi. Keskeytysesihaun ohjauspii-15 ri 34 toteuttaa tåman toiminnan aikaansaamalla keskeytys-hakusignaalin, joka aiheuttaa haun uudelleen suuntauksen ennalta mååratylle måarålle kaskysanahakuja ja ohjaa esiha-kumekanismia. Keskeytyshakusignaali on kytketty keskeytys-osoitegeneraattorille 36, esihakulaskurille 30 ja esihaku-20 rekisterille 18. Vasteena seka keskeytyspyyntosignaalille etta keskeytyshakusignaalille keskeytysosoitegeneraattori 36 synnyttaå keskeytysosoitteita, jotka ilmaisevat missa keskeytyskasky tai kåskyt sijaitsevat ohjelmamuistissa 15. Keskeytyspyyntosignaali ilmoittaa keskeytysosoitegeneraat-25 torille 36 mita keskeytyspalvelurutiineista, joille osoi-tegeneraattori 36 on aikaansaanut osoitteet, itse asiassa ollaan pyytamåssa. Keskeytyshakusignaali itse asiassa ohjaa sita, milloin keskeytysosoitegeneraattorin 36 sallitaan tuottaa keskeytysosoitteita ohjelmaosoitevaylalle 16. Kes-30 keytyshakusignaali my5s eståå esihakulaskuria 30 tuottamas-ta kaskyosoitteita ohjelmaosoitevaylalle 16, kun keskeytysosoitegeneraattori 36 on aktivoitu.
Ennalta maåratty maara keskeytyskåskyosoitteita voi-daan lisåtå kSskyvirtaan ohjelmaosoitevåylan 16 ja ohjelma-35 muistin 15 kautta. Jopa vaikka keskeytysosoitteet itse li 90804 1 1 asiassa tuotetaan keskeytysosoitegeneraattorilla 36, voi-daan dataprosessorilla suorittaa useita kaskyja ennen kuin keskeytysohjelman suorittaminen alkaa, johtuen ajasta, joka tarvitaan keskeytyskaskyn hakemiseen ja dekoodaamiseen.
5 Keskeytysesihaun ohjauspiiri 34 ja keskeytysosoitegeneraat-toripiiri 36 voivat selektiivisesti lisåtå ennalta maaratyn maaran kaskyosoitteita, jotka tarvitaan palvelemaan jonkin tyyppista keskeytystå, kaskyvirtaan. Kun keskeytysosoitteet on lisatty kaskyvirtaan ja kytketty kaskyrekisterille 24, 10 ohjelmalaskurin 14 sisålto pidetaån vakiona pitosignaalilla, jonka kaskyrekisteri 24 tuottaa vasteena keskeytyssignaalil-le. On huomattava, etta ohjelmalaskuria 14 ei pideta vakiona vålittomasti keskeytyspyyntosignaalin vastaanottamisen jal-keen, vaan se jatkaa inkrementointia ja sitå kasitellaån 15 kaskyilla viimeisen kSskyn loppuun asti ennen keskeytysohjelman suorittamista. Keskeytyshakusignaali toimii myos sen ilmoittamiseksi, etta esihakurekisterissa 18 oleva kas-ky on keskeytyskasky. Seka keskeytyskaskyn etta keskeytys-signaali-ilmaisun sisallot on kytketty kaskydekooderille 22 20 ja sitten kaskyrekisterille 24. Keskeytyssignaalin vastaanottamisen jalkeen kaskyrekisteri 24 tuottaa pitosignaalin ohjelmalaskurille 14. Niin pian kuin keskeytysosoite tai osoitteet on tuotettu osoitegeneraattorilla 36 keskeytyshakusignaali poistaa osoitegeneraattorin 36 toiminnasta ja 25 aktivoi esihakulaskurin 30. Kun keskeytysohjelma on lopetta-nut suorittamisen, esihakulaskuri 30 osoittaa kohti seuraa-vaa kåskya normaali ohjelmassa, jonka kasittelya tullaan jatkamaan dataptosessorilla. Esihakulaskurin 30 sallitaan jålleen tuottaa normaali ohjelman kåskyosoitteita ohjelma-30 osoitevåylalta 60 ja ohjelmalaskurilla 14 ei ole enaa sii-hen tallennettua arvoa pidettyna.
Jokainen piireistå, jotka muodostavat kuvion 4 oh-jausyksikSn 10, voidaan helposti toteuttaa tunnetuilla kaupallisesti saatavilla olevilla piireillS. Keskeytysesi-35 haun ohjauspiiri 34 voi olla toteutettu monella tavoin.
12
Ohjauspiiri 34 voisi olla suunniteltu våliaikaisesti uudel-leensuuntaamaan kåskyjen hakuvirta kiintean hakujaksojen lukumåårån ajaksi, sellaisen kuten yksi tai kaksi. Ohjauspiiri 34 voisi myos olla toteutettu kayttaen rekistereitå, 5 niin ettå jokaiselle keskeytykselle voisi olla ohjelmoitu ennalta mååråtty måårå hakuja. Vaihtoehtoisesti laskureita voitaisiin kayttaa ohjauspiirisså 34 laskemaan ennalta måaråtty måårå keskeytyskåskyhakuja. Monia muita tapoja voidaan kåyttåå aikaan saamaan selostetut toiminnot, joita ohjaus-10 piiriltå 34 ja osoitegeneraattorilta 36 vaaditaan.
Kuviossa 5 on esitettynå kåskyjakson suorituksen esi-merkkivuokaavio, kun kåytetåån kuvion 4 ohjausyksikkoå 10. Kuten voidaan helposti huomata, voidaan keskeytyspyynnon, joka tapahtuu jossakin pisteesså kåskyn n (kåskyjakso neljå) 15 suoritusjakson aikana, vålisså suorittaa useita peråkkåisiå kåskyjå. Toisin kuin aikaisemmissa piireisså esillå oleva keksinto suorittaa normaali ohjelman kåskyt ja epåsynkroni-set keskeytyspyynnot menettåmåttå yhtåån jaksoa yleisenå.
Kun ohjausyksikko 10 tunnistaa keskeytyspyynnon, ohjausyk-20 sikko 10 vålittomåsti uudelleen suuntaa kåskyn haun odotta-matta kåskyrajan loppua. Samalla tavoin keskeytyspalvelu-ohjelman hakujen loppuun suorittamisen jålkeen kåskyjen hakuvirta uudelleen suunnataan vålittomåsti ja normaali ohjelman kåskyt haetaan ja dekoodataan ennen keskeytyspal-25 veluohjelman loppuun saattamista. Koska keskeytysosoiteha- kuja ei suoriteta kåskyrajoilla, yleisjaksot, joita esiin-tyy odotettaessa sen hetkisen kåskyn suorittamisen loppuun saattamista ennen keskeytyspalvelun alkamista, minimoituvat.
Yleisjaksot on eliminoitu esillå olevalla keksinnol-30 lå seurauksena pååasiallisesti siitå tosiasiasta, ettå kåskyjen esihaut voidaan suorittaa odottamatta kulloinkin suo-ritettavan kåskyn loppuun saattamista. Koska keskeytyskås-kyt lisåtåån liukuhihnatyyppiseen kåskyvirtaan niin pian kuin mahdollista keskeytyspyynnon jålkeen, on piirin toimin-.35 nassa muutamia tarpeellisia rajoituksia. Pitåisi helposti ymmårtåå, ettå rajoitukset riippuvat suuressa måårin
Ir 90804 13 siita tietystå piiristostå, joka valitaan toteuttamaan esil-la oleva keksinto, ja rajoitukset voivat siksi vaihdella vastaavasti.
Ensinnåkin, jotta taataan, etta kyseisella hetkellå 5 suoritettava kasky voidaan suorittaa loppuun jåttåmåttå osaa kåskysta suorittamatta tai menettåmåttå osaa kåskystå, kaikilla kåskyilla tåytyy olla sama koko, joka ei ole suu-rempi kuin niiden rekistereiden lukumåårå, jotka on sijoi-tettu kåskyliukuhihnalle ohjelmamuistin 15 ja dataprosesso-10 rin våliin. Tama takaa, etta jokainen kasky, joka on aloit-tanut suorittamisen, saattaa suorittamisen loppuun, koska kaikki kåskyhaut tata kaskya vårten on jo tehty. Ohjaus-yksikon 10 havainnollistetussa muodossa on ohjelmamuistin 15 ja dataprosessorin vålissa olevien rekistereiden luku-15 måarå kaksi, mitå esitetåån rekistereillå 18 ja 24. Siten mikåån ohjausyksikon 10 kasittelema kasky ei voi olla kool-taan suurempi kuin kaksi sanaa. Tama kåskykoon rajoitus ei kuitenkaan ole merkittava sellaisissa dataprosessoreissa, kuten mikroprosessorit (MPU), alennetun kaskymaaran tieto-20 koneissa (RISC) tai digitaalisissa signaaliprosessoreissa (DSP), jotka tyypillisesti kayttavåt yksi sanaisia kaskyjå. Sovellutuksissa, jotka vaativat suurempia sanakokoja kuin kaksi, voidaan kåskyliukuhihnalle varustaa lisamuistirekis-tereita.
25 Toiseksi kaikilla kåsiteltåvillå kaskyilla on tyypil lisesti operaatiokoodiosa ja informaatio-osa. Operaatio-koodiosa on aina kSskyn ensimmåisessa sanassa. Informaatio-osa sisaltyy ensimmaiseen kaskysanaan ja seuraaviin kasky-sanoihin, mikåli sellaisia on. Kaskyrekisterin 24 tåytyy 30 måårittåå pitåisiko kåskyrekisterisså olevan operaatiokoo-din aloittaa suorittaminen tai olla keskeytetty. Kåskyre-kisteri 24 vastaanottaa dekoodatun kåskypituuden kåskydekoo-dedilta 22 ja ilmoituksen esihakurekisterisså 18 olevasta keskeytyskåskystå keskeytyssignaalin vålityksellå esihaku-35 rekisteristå 18. Jos kåsky sisaltyy tåydellisesti kåskyre- 1 4 kisteriin 24, kåsky voi aloittaa suorittamisen. Jos kåsky ei tåydellisesti sisally kaskyrekisteriin 24 ja tarvitsee seuraavan kåskysanan esihakurekisterista 18, keskeytyssig-naali esihakurekisterista 18 ilmoittaa sisåltååko esihaku-5 rekisteri seuraavan kåskysanan. Jos keskeytyssignaali ilmoittaa normaalin kåskyhaun, uusi kåsky voi aloittaa suorittamisen, koska kaikki kåskysanat on haettu. Jos keskeytyssignaali ilmoittaa keskeytyskåskyhaun, uusi kåsky tåytyy keskeyttåå ja sen tåytyy olla ensimmåinen kåskysana, joka 10 uudelleenhaetaan sen jålkeen, kun keskeytyskåskyhaut on suoritettu loppuun. Tåsså esimerkisså kåytettåisiin keskey-tetyn kåskysanan uudelleenhakemiseksi ohjelmalaskuria 14 esihakulaskurin 30 sijasta ensimmåisen normaalin kåskyhaun ajan. Keskeytetty kåsky aiheuttaa yhden suoritusjakson mene-15 tyksen, mutta sillå on mitåton vaikutus suorituskykyyn, koska useimmat kåskyt ovat ainoastaan yhden sanan pituisia.
Jos kaikki kåskyt ovat yhden sanan pituisia, kåskyjå ei koskaan keskeytetå.
Kolmanneksi oletamme nyt, ettå muutamat niistå kås-20 kyistå, jotka esiintyvåt normaalissa kåskyvirrassa, ovat vuonmuutoskåskyjå, jotka saavat kåskyvuon muuttamaan suun-taa. Esimerkiksi vuonmuutoskåsky voisi aiheuttaa ohjelman suorittamisen siirtymisen ohjelmamuistissa 15 olevaan en-nalta mååråttyyn aliohjelmaan. Vuonmuutoskåsky tyypillisesti 25 saattaa dataprosessorin hylkååmåån esihakurekisterin 18 si-sållon ja kytkemåån hyppyosoitteen ohjelmalaskuriin 14 oh-jelmaosoitevåylån 16 kautta. Onko kåsky vuonmuutoskåsky vai normaali kåsky voidaan helposti måårittåå kåskydekooderilla 22 kåskyn operaatiokoodiosasta. Jos kåskyrekisteri 24 vas-30 taanottaa keskeytyssignaalin, kun kåskyrekisterisså 24 on vuonmuutoskåsky, esihakurekisterin 18 sisåltoå ei voida hy-låtå kuten aikaisemmin selostettiin normaalin kåskyn kåsit-telylle. Muutoin kåskyrekisterisså 18 oleva keskeytyskåsky voitaisiin hylåtå pysyvåsti ja keskeytyspyynto jåisi huo-35 mioimatta.
90804 1 5
Lopuksi sellaiset vuonmuutoskåskyt, kuten hyppy aliohjelmaan, saattavat esiintya myos keskeytyskåskyvirras-sa. Ensisijaisessa muodossa keskeytyshakujen lukumaåra on tyypillisesti vain yksi tai kaksi hakua. Tama sallii nopean 5 keskeytyspalveluohjelman, jossa yksi kasky riittaå palvele- maan keskeyttavaa oheislaitetta. Pitempiå keskeytyspalvelu-ohjelmia vårten on keskeytyskaskyvirtaan sijoitettu ensim-maiseksi kaskyksi aliohjelmaanhyppykåsky. Tama aiheuttaa vuonmuutoksen pitempaan keskeytyspalveluohjelmaan, joka 10 suoritetaan normaalina kaskyvirtana. Jos kåskyrekisterisså 24 olevan kaskyn operaatiokoodi on vuonmuutoskåsky ja se on myos keskeytyskåsky, esihakurekisterin 18 sisålto saate-taan hylåtå, jos esihakurekisteri sisåltåå normaalin kaskyn. Jos esihakurekisteri 18 sisåltåå keskeytyskåskyn, esihaku-15 rekisterin 18 sisåltoå ei voida hylåtå. Kuten aikaisemmin selostettiin, tåmå varmistaa, ettå keskeytyspyyntojå ei hylåtå.
Tåhån mennesså pitåisi olla selvåå, ettå on aikaan-saatu prosessorin ohjausyksikko, joka minimoi yleisjaksot. Ohjausprosessori aikaansaa siihen liittyvån prosessorin toimintojen maksimaalisen hyvåksikåyton jokaisen kåskyjak-son aikana. Nåin voidaan tehokkaasti toteuttaa hyvin nopea keskeytyspalvelu kåytettåvåksi yhden sanan tai kahden sanan kåskyryhmisså, joita yleisesti kåyttåvåt MPU-, RISC- ja 25 DSP -dataprosessorit.
Vaikka suoritusmuoto on selostettu kåyttåen tiettyjå oletettuja parametreja, pitåisi ymmårtåå, ettå piirin tai annettujen parametrien tietyt ilmeiset modifikaatiot tule-vat ilmeisiksi alan ammattimiehille ja ettå keksinnon suo-30 japiirin pitåisi olla rajoitettu ainoastaan oheisten pa-tenttivaatimusten suojapiirillå.

Claims (4)

16
1. Tiedonkåsittelyjårjestelmåsså, jossa on data-prosessori kåskyjen suorittamiseksi ja ohjausyksikko (10) 5 mainittujen kåskyjen tuottamiseksi dataprosessorille, mainitun ohjausyksikon (10) selektiivisesti tuottaessa esihaetut normaali kåskyt, kun keskeytyspyynto oheislaitteelta puuttuu, ja sen tuottaessa esihaetut keskeytyskåskyt vasteena keskeytyspyynnolle, menetelmå 10 sellaisten suoritusjaksojen eliminoimiseksi, joissa ei suoriteta yhtåån kåskyå dataprosessorilla ja jotka liittyvåt keskeyttåvåån kåskyvuohon keskeytyspal-veluohjelman suorittamiseksi vasteena keskeytyspyynnolle, jolloin pyynto oheislaitteelta normaalin kåskyvirran 15 keskeyttåmiseksi ohjausyksikoltå dataprosessorille ilmaistaan, tunnettu siitå, ettå menetelmå kåsittåå vaiheet: muodostetaan ohjaussignaali (Pito) ainakin yhden kåskyjakson ajaksi vasteena pyynnolle keskeyttåå normaali 20 kåskyvirta; uudelleensuunnataan normaalit kåskyjen esihaut ainakin yhden kåskyjakson ajaksi vasteena ohjaussignaalilie (Pito), jotta aikaansaadaan ainakin yksi keskeytyskåskyn esihaku, mainitun ainakin yhden keskeytyskåskyn esihaun ollessa 25 aloitettu ennen mainittujen esihaettujen normaali kåskyjen loppuunsuorittamista; j a uudelleensuunnataan mainittu ainakin yksi keskeytyskåskyn esihaku vålittomåsti ainakin yhden ohjaussignaalin (Pito) kåskyjakson keston jålkeen jatkamaan normaali 30 kåskyjen esihakujen aikaansaamista, mainittujen normaali kåskyjen esihakujen ollessa aloitettu ennen kuin mainitun ainakin yhden esihaetun keskeytyskåskyn suorittaminen on saatettu loppuun.
2. Patenttivaatimuksen 1 mukainen menetelmå, tunnettu siitå, ettå se kåsittåå vaiheet: mainitun ainakin yhden keskeytyskåskyn esihaun aloittamisen 90804 17 ennen sen dekoodausta, onko viimeisimpånå esihaettu normaali kåsky monisanakåsky, jota ei ole taydellisestl esihaettu.
3. Patenttivaatimuksen 1 mukainen menetelmå, tunnettu siitå, ettå se edelleen kåsittåå vaiheen: mainittujen normaali kåskyjen esihakujen aloittamisen ennen sen dekoodaamista, onko viimeisimpånå esihaettu kes-keytyskåsky monisanakåsky, jota ei ole tåydellisesti esi-10 haettu.
4. Dataprosessorin ohjausyksikko (10) esihaettujen normaali kåskyjen tuottamiseksi dataprosessorilla suorittamista vårten, joka dataprosessori voidaan 15 keskeyttåå keskeytyspyyntosignaalilla ainakin yhden esihaetun keskeytyskåskyn tuottamiseksi minimoimalla kåskysuoritusjaksojen menetys yleisesti keskeytyksen aikana, joka ohjausyksikko (10) kåsittåå ohjelmaosoitevåylån (16) normaali kåskyosoitteiden ja 20 keskeytyskåskyosoitteiden siirtåmiseksi; ohjelmaosoitemuistivålineen (14), joka on kytketty ohjelmaosoitevåylåån (16) selektiivisesti vastaanottamaan, tallentamaan ja tuottamaan normaali kåskyosoitteita; esihakuosoitemuistivålineen (30), joka on kytketty oh-25 jelmaosoitevåylåån (16) selektiivisesti tallentamaan ja tuottamaan ohj elmakåskyosoitteita; inkrementoijavålineen (28), jolla on sisååntulo kytkettynå ohjelmaosoitevåylåån (16) ja ulostulo kytkettynå esihakuosoitemuistivålineeseen 30 (30), selektiivisesti inkrementoimaan esi hakuosoitemuistivålineen (30) tallentamia kåskyosoitteita seuraaviin kåskyosoitteisiin; joka dataprosessorin ohjausyksikko (10) on tunnettu siitå, ettå se kåsittåå 35 keskeytyksen ohjausvålineen (34) keskeytyshaun ohjaus- signaalin tuottamiseksi vasteena keskeytyksen pyyntosignaalin ilmaisemiselle ennen sen dekoodaamista, 18 onko viimeisimpånå esihaettu normaali kåsky monisanakåsky, jota ei ole tåydellisesti esihaettu, mainitun keskeytyshaun ohjaussignaalin kontrolloidessa milloin ennalta mååråtty keskeytysosoite tai 5 useiden keskeytysosoitteiden osoitteet tuotetaan ohj elmaosoitevåylålle (16)? keskeytysosoitevålineen (36), joka on kytketty sekå ohjelmaosoitevåylåån (16) ettå keskeytyksen ohjausvålineeseen (34) selektiivisesti tuottamaan ennalta 10 mååråtty keskeytysosoite tai useiden keskeytysosoitteiden osoitteet ohjelmaosoitevåylålle (16) vasteena sekå keskeytyspyyntosignaalille ettå keskeytyshakusignaalille; ohjelmamuistivålineen (15), jolla on sisååntulo kytkettynå ohjelmaosoitevåylåån (16) ja ulostulo 15 esihaettujen normaali kåskyjen ja esihaettujen keskeytyskåskyjen tuottamiseksi vasteena normaali kåskyosoitteille ja vastaavasti keskeytyskåskyosoitteille; ensimmåisen kåskymuistivålineen (18), jolla on sisååntulo kytkettynå ohjelmamuistivålineeseen (15) ja 20 keskeytyksen ohjausvålineeseen (34), selektiivisesti vastaanottamaan, tallentamaan ja tuottamaan kåskyt ja tuottamaan keskeytyksen hyvåksymissignaali, joka ilmoittaa, ettå keskeytyskåsky on tallennettu; kåskyn dekoodausvålineen (22), jolla ensimmåinen 25 sisååntulo kytkettynå ensimmåiseen kåskymuistivålineeseen (18) keskeytyksen hyvåksymissignaalin vastaanottamiseksi, toinen sisååntulo kytkettynå ensimmåiseen kåskymuistivålineeseen (18) kåskyn selektiivisesti vastaanottamiseksi ja ulostulo dekoodattujen kåskyjen 30 selektiiviseksi tuottamiseksi; ja toisen kåskymuistivålineen (24), jolla on ensimmåinen sisååntulo kytkettynå kåskydekoodausvålineen (22) ulostuloon, toinen sisååntulo keskeytyksen hyvåksymissignaalin vastaanottamiseksi, ulostulo 35 dekoodattujen kåskyjen selektiiviseksi tuottamiseksi dataprosessorille, ja ulostulo ohjaussignaalin (Pito) tuottamiseksi ainakin yhden kåskyjakson ajaksi vasteena 90804 19 pyynnolle keskeyttåå normaali kåskyvirta mainitun ohjelmaosoitemuistivålineen (14) sisållon pitåmiseksi vakiosuuruisena. 20
FI873030A 1985-11-27 1987-07-08 Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu FI90804C (fi)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US80249185 1985-11-27
US06/802,491 US4709324A (en) 1985-11-27 1985-11-27 Data processor control unit having an interrupt service using instruction prefetch redirection
PCT/US1986/002466 WO1987003394A1 (en) 1985-11-27 1986-11-10 A data processor control unit having an interrupt service using instruction prefetch redirection
US8602466 1986-11-10

Publications (4)

Publication Number Publication Date
FI873030A0 FI873030A0 (fi) 1987-07-08
FI873030A FI873030A (fi) 1987-07-08
FI90804B FI90804B (fi) 1993-12-15
FI90804C true FI90804C (fi) 1994-03-25

Family

ID=25183841

Family Applications (1)

Application Number Title Priority Date Filing Date
FI873030A FI90804C (fi) 1985-11-27 1987-07-08 Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu

Country Status (13)

Country Link
US (1) US4709324A (fi)
EP (1) EP0247175B1 (fi)
JP (1) JPH083791B2 (fi)
KR (1) KR940009100B1 (fi)
CN (1) CN1009396B (fi)
AU (1) AU6779687A (fi)
CA (1) CA1265873A (fi)
DE (1) DE3681733D1 (fi)
FI (1) FI90804C (fi)
HK (1) HK5294A (fi)
IL (1) IL80499A (fi)
SG (1) SG130093G (fi)
WO (1) WO1987003394A1 (fi)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6282402A (ja) * 1985-10-07 1987-04-15 Toshiba Corp シ−ケンス制御装置
JPH0740225B2 (ja) * 1985-12-25 1995-05-01 日本電気株式会社 プログラムスキツプ動作制御方式
JPS6398737A (ja) * 1986-10-15 1988-04-30 Mitsubishi Electric Corp デ−タ処理装置
EP0306644B1 (en) * 1987-07-06 1997-11-12 Hitachi, Ltd. Data processor having a break function
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
EP0349124B1 (en) * 1988-06-27 1996-10-09 Digital Equipment Corporation Operand specifier processing
JPH07120278B2 (ja) * 1988-07-04 1995-12-20 三菱電機株式会社 データ処理装置
US5019967A (en) * 1988-07-20 1991-05-28 Digital Equipment Corporation Pipeline bubble compression in a computer system
US5590293A (en) * 1988-07-20 1996-12-31 Digital Equipment Corporation Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
US5006980A (en) * 1988-07-20 1991-04-09 Digital Equipment Corporation Pipelined digital CPU with deadlock resolution
US5117498A (en) * 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine
JP2504149B2 (ja) * 1988-12-02 1996-06-05 三菱電機株式会社 命令キュ―管理装置
JPH0640316B2 (ja) * 1989-04-20 1994-05-25 工業技術院長 演算レジスタ上でのデータ待ち合せ実現方法
CA2019299C (en) * 1989-06-22 2002-01-15 Steven Frank Multiprocessor system with multiple instruction sources
JPH0437927A (ja) * 1990-06-01 1992-02-07 Sony Corp プロセッサの処理方法
US5287522A (en) * 1990-06-29 1994-02-15 Bull Hn Information Systems, Inc. External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip
JP2556182B2 (ja) * 1990-08-29 1996-11-20 三菱電機株式会社 デ−タ処理装置
JPH04318654A (ja) * 1991-02-13 1992-11-10 Hewlett Packard Co <Hp> マイクロプロセッサへの割り込みのリダイレクションシステム
JP2677719B2 (ja) * 1991-05-08 1997-11-17 富士通株式会社 情報処理装置
JP2682264B2 (ja) * 1991-05-21 1997-11-26 日本電気株式会社 プログラムカウンタ装置
JPH04346127A (ja) 1991-05-23 1992-12-02 Sony Corp 電子装置
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
US5542076A (en) * 1991-06-14 1996-07-30 Digital Equipment Corporation Method and apparatus for adaptive interrupt servicing in data processing system
US5455909A (en) * 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
WO1993006549A1 (en) * 1991-09-19 1993-04-01 Chips And Technologies, Inc. A system for performing input and output operations to and from a processor
US5623665A (en) * 1992-01-13 1997-04-22 Sony Corporation Electronic apparatus for patching a read-only memory
JP3230262B2 (ja) * 1992-01-24 2001-11-19 ソニー株式会社 電子装置及びその固定情報修正方法
US5805902A (en) * 1993-07-02 1998-09-08 Elonex I.P. Holdings, Ltd. Structure and method for issuing interrupt requests as addresses and for decoding the addresses issued as interrupt requests
GB2281986B (en) * 1993-09-15 1997-08-06 Advanced Risc Mach Ltd Data processing reset
US5475822A (en) * 1993-11-15 1995-12-12 Motorola, Inc. Data processing system for resuming instruction execution after an interrupt and method therefor
JPH07244649A (ja) * 1994-03-08 1995-09-19 Fujitsu Ltd 割込処理分散方式
US5889973A (en) * 1995-03-31 1999-03-30 Motorola, Inc. Method and apparatus for selectively controlling interrupt latency in a data processing system
US6052801A (en) * 1995-05-10 2000-04-18 Intel Corporation Method and apparatus for providing breakpoints on a selectable address range
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
US5687339A (en) * 1995-09-14 1997-11-11 Elan Microelectronics Corp. Pre-reading and pre-decoding of instructions of a microprocessor within single cycle
US5954819A (en) * 1996-05-17 1999-09-21 National Semiconductor Corporation Power conservation method and apparatus activated by detecting programmable signals indicative of system inactivity and excluding prefetched signals
US6785803B1 (en) * 1996-11-13 2004-08-31 Intel Corporation Processor including replay queue to break livelocks
US5907712A (en) * 1997-05-30 1999-05-25 International Business Machines Corporation Method for reducing processor interrupt processing time by transferring predetermined interrupt status to a system memory for eliminating PIO reads from the interrupt handler
US5905880A (en) * 1997-09-29 1999-05-18 Microchip Technology Incorporated Robust multiple word instruction and method therefor
US5901309A (en) * 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
US6044430A (en) * 1997-12-17 2000-03-28 Advanced Micro Devices Inc. Real time interrupt handling for superscalar processors
US6275924B1 (en) * 1998-09-15 2001-08-14 Texas Instruments Incorporated System for buffering instructions in a processor by reissuing instruction fetches during decoder stall time
US7401205B1 (en) * 1999-08-13 2008-07-15 Mips Technologies, Inc. High performance RISC instruction set digital signal processor having circular buffer and looping controls
US6889279B2 (en) * 2000-12-11 2005-05-03 Cadence Design Systems, Inc. Pre-stored vector interrupt handling system and method
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
GB2400198B (en) * 2003-04-04 2006-04-05 Advanced Risc Mach Ltd Controlling execution of a block of program instructions within a computer processing system
US7200719B2 (en) * 2003-07-31 2007-04-03 Freescale Semiconductor, Inc. Prefetch control in a data processing system
JP4247132B2 (ja) 2004-01-29 2009-04-02 株式会社ルネサステクノロジ 情報処理装置
CN102141904B (zh) * 2011-03-31 2014-02-12 杭州中天微系统有限公司 支持中断屏蔽指令的数据处理器
WO2013095532A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Interrupt return instruction with embedded interrupt service functionality
CN111190658B (zh) * 2020-01-08 2023-02-28 乐鑫信息科技(上海)股份有限公司 一种基于片内执行且在不具有MMU的SoC片上支持应用程序动态加载的系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
US4339793A (en) * 1976-12-27 1982-07-13 International Business Machines Corporation Function integrated, shared ALU processor apparatus and method
US4181934A (en) * 1976-12-27 1980-01-01 International Business Machines Corporation Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4210960A (en) * 1977-09-02 1980-07-01 Sperry Corporation Digital computer with overlapped operation utilizing conditional control to minimize time losses
DE3069401D1 (en) * 1979-06-21 1984-11-15 Ibm Programme interrupt processor for computer with instruction pre-fetch
US4527237A (en) * 1979-10-11 1985-07-02 Nanodata Computer Corporation Data processing system
US4402042A (en) * 1980-11-24 1983-08-30 Texas Instruments Incorporated Microprocessor system with instruction pre-fetch
JPS57130998A (en) * 1981-02-04 1982-08-13 Japan Found Cancer Human interferon-beta-gene
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
IE54592B1 (en) * 1982-03-08 1989-12-06 Genentech Inc Anumal interferons, processes involved in their production, compositions containing them, dna sequences coding therefor and espression vehicles containing such sequences and cells transformed thereby
DE3220116A1 (de) * 1982-05-28 1983-12-01 Dr. Karl Thomae Gmbh, 7950 Biberach Mikrobiologisch hergestellte (alpha)- und ss-interferone, dna-sequenzen, die fuer diese interferone codieren, mikroorganismen, die diese genetische information enthalten, und verfahren zu ihrer herstellung
DE3369015D1 (en) * 1983-09-16 1987-02-12 Ibm Deutschland Arrangement in the command circuit of a pipe-line processor for instruction interrupt and report
US4586130A (en) * 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer

Also Published As

Publication number Publication date
EP0247175B1 (en) 1991-09-25
AU6779687A (en) 1987-07-01
JPH083791B2 (ja) 1996-01-17
DE3681733D1 (de) 1991-10-31
FI873030A0 (fi) 1987-07-08
WO1987003394A1 (en) 1987-06-04
IL80499A (en) 1990-06-10
IL80499A0 (en) 1987-02-27
HK5294A (en) 1994-01-28
CA1265873A (en) 1990-02-13
SG130093G (en) 1994-02-25
FI90804B (fi) 1993-12-15
JPS63501454A (ja) 1988-06-02
EP0247175A4 (en) 1988-03-22
CN1009396B (zh) 1990-08-29
KR880700969A (ko) 1988-04-13
CN86107934A (zh) 1987-08-12
KR940009100B1 (ko) 1994-09-29
US4709324A (en) 1987-11-24
FI873030A (fi) 1987-07-08
EP0247175A1 (en) 1987-12-02

Similar Documents

Publication Publication Date Title
FI90804C (fi) Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu
US5222223A (en) Method and apparatus for ordering and queueing multiple memory requests
US4775927A (en) Processor including fetch operation for branch instruction with control tag
KR920006275B1 (ko) 데이타 처리 장치
US6209086B1 (en) Method and apparatus for fast response time interrupt control in a pipelined data processor
KR100259306B1 (ko) 분기 명령 버퍼를 갖는 데이타 프로세서
US5889986A (en) Instruction fetch unit including instruction buffer and secondary or branch target buffer that transfers prefetched instructions to the instruction buffer
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
US9417916B1 (en) Intelligent packet data register file that prefetches data for future instruction execution
EP0116600B1 (en) Pre-execution next address calculating mechanism
JPH11345121A (ja) プログラム制御ユニット用の命令取り出し装置および方法
JPH0342723A (ja) データ処理装置
JPS60241136A (ja) デ−タ処理装置
JP2689914B2 (ja) 情報処理装置
JPS60231241A (ja) プログラム先行フエツチ制御方式
JP2766114B2 (ja) 命令先取り装置
JPH02100740A (ja) キャッシュ・メモリユニットのブロック・ロード動作方式
JP3074790B2 (ja) マイクロプロセッサ
KR20000003930A (ko) 명령어 캐시 미스 시 손실을 줄이기 위한 명령어 페치 장치
JPH01271842A (ja) 情報処理装置
JPH06314196A (ja) 情報処理方法および装置
JPH0659916A (ja) 命令プリフェッチ装置
JPS63178335A (ja) マイクロプロセツサ
JPH05257686A (ja) 命令キャッシュ回路
JPH1165843A (ja) 情報処理装置

Legal Events

Date Code Title Description
BB Publication of examined application
FG Patent granted

Owner name: MOTOROLA, INC.

PC Transfer of assignment of patent

Owner name: FREESCALE SEMICONDUCTOR, INC.

Free format text: FREESCALE SEMICONDUCTOR, INC.

MA Patent expired