Tietokonetekniikka Edita, Seppo Haltsonen, Esko T. Rautanen

Samankaltaiset tiedostot
SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

1. Keskusyksikön rakenne

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Muistipiirit. Digitaalitekniikka (piirit) Luku 20 Sivu 1 (24)

Arto Salminen,

2. Sulautettu järjestelmä ja mikro-ohjain , pva

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat

Laitteistonläheinen ohjelmointi

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat

2 Konekieli, aliohjelmat, keskeytykset

ELEC-C3240 Elektroniikka 2

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Ohjelmoitavat logiikkaverkot

Kontrollerin sisäisten komponenttien käytöstä. Vielä vähän asiaa sisäisten lohkojen käytöstä

TIES530 TIES530. Kontrollereiden Muistit. Mikrokontrollerit - arkkitehtuuri. Mikrokontrollerin sisäinen arkkitehtuuri

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Suoritinesimerkit RISC- arkkitehtuuri

Suoritinesimerkit RISC- arkkitehtuuri

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

tikra_oppimistavoitteet.doc Sivu 1 / / Teemu Kerola Oppimistavoitteet kurssilla Tietokoneen rakenne Osaa selittää Boolen algebran

RISC-arkkitehtuuri Ch 13 [Sta06] Käskyanalyysia RISC vs. CISC Rekisterien käytöstä

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen

Petri Koivulahti. Intel mikrokontrollerit. Opinnäytetyö Kevät 2010 Tekniikan yksikkö Tietotekniikan koulutusohjelma Ohjelmistotekniikka

Intel MCS-51 -perhe Liite 1 / 1. Intel MCS-51 -perhe

Suoritinesimerkit RISC- arkkitehtuuri

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

Luento 9: RISC-arkkitehtuuri Luento 9 EAX, EBX, EBX, EDX, ESP, EBP, ESI, EDI CS, SS, DS, ES, FS, GS. (Sta06 Table 12.

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Digitaalinen potentiometri Catalyst CAT5401

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

TIES530 TIES530 PROSESSORIT/KONTROLLERIT

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

Kontrollerin tehonsäätö

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Tietokoneen toiminta (Computer Organization I)

Sekvenssipiirin tilat

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Jakso 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä

Käskykannat. Tietokoneen rakenne. Ch [Sta06] Operaatioista Operandeista Osoitustavoista Pentium / PowerPC. Luento 7-1

Tietokoneen rakenne Käskysykli CPU suorittaa ohjelmaa konekielinen käsky kerrallaan

Luento 7: Käskykannat Tietokoneen rakenne / 2006 / Teemu Kerola 9/25/2006

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

Jakso 5 Suoritin ja väylä. Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne

Tietokoneen toiminta, K Tavoitteet (4)

BL40A1810 & BL40A1820 Mikroprosessorit A/B. Luento 6: Väylät ja keskeytykset

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Digitaalitekniikan matematiikka Luku 2 Sivu 1 (25) Digitaalilaiteteknologia ja sovellukset

Oppimistavoitteet kurssilla Tietokoneen toiminta

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

2. Laitteistorajapinta

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I) Tavoitteet (4) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia

Tietokoneen toiminta (Computer Organization I)

Suoritin. Jakso 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Tietokoneen toiminta (Computer Organization I) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

Käyttöjärjestelmän rakenne

Laitteistonläheinen ohjelmointi

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Algoritmit 1. Luento 1 Ti Timo Männikkö

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) Aihepiiri. Mitä hyötyä tästä on? (3) Tavoitteet. Kurssien välisiä riippuvuuksia

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Tietokoneen toiminta (Computer Organization I)

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne. Käskyjen nouto- ja suoritussykli (5)

Tietokoneen toiminta. Juhani Merilinna

Mikrokontrollerit. Mikrokontrolleri

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki

Digitaalitekniikka (piirit) Luku 14 Sivu 1 (16) Sekvenssipiirit. Kombinaatiopiiri. Tilarekisteri

Käytännön logiikkapiirit ja piirrosmerkit

ltöä rjestelmä Luento 2: LAITTEISTOSTA Tietokonejärjestelm KESKUSYKSIKKÖ Keskusyksikkö Kuva 1.1 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-1

ltö Luento 6: VIRTUAALIMUISTI Luento 7: Segmentointi Segmentointi ja sivutus yhdistettynä Yhteiskäytöstä Suoritus virtuaalimuistissa

Suunnitteluvaihe prosessissa

Mikro-ohjain µc harjoitukset - yleisohje

Luento 6: VIRTUAALIMUISTI

Transkriptio:

SISÄLLYS 1 Tietokoneen toimintaperiaate ja käyttö... 14 1.1 Mikä tietokone on?... 14 1.2 Tieteen ja toimiston koneista yleistietokoneeseen... 15 1.3 Mekaanisista ja sähköisistä laitteista sulautettuihin tietokoneisiin... 16 1.4 Digitaaliset mikropiirit ja niiden ryhmittely... 17 1.5 Digitaalilaitteiden toteutustavat ja niiden ominaisuudet... 19 2 Tietokoneen historia... 21 2.1 Mekaaniset laskukoneet... 21 2.2 Differenssikone ja analyyttinen kone... 21 2.3 Turingin kone... 22 2.4 Sähkömekaaniset laskukoneet... 22 2.5 Tietokonesukupolvet... 24 2.6 Ensimmäisen sukupolven tietokoneet... 25 2.7 Toisen sukupolven tietokoneet... 27 2.8 Kolmannen sukupolven tietokoneet... 27 2.9 Neljännen sukupolven tietokoneet... 28 2.10 Viidennen ja kuudennen sukupolven tietokoneet... 30 3 Tietokoneen rakenteen ja toiminnan perusteet... 31 3.1 Tietokoneen perusrakenne... 31 3.2 Tietokoneen konekieli... 32 3.3 Käskyjakso... 33 3.4 Von Neumann- ja Harvard-arkkitehtuuri... 35 3.5 CISC- ja RISC-koneet... 36 3.6 Tietokoneen monitasomalli... 37 3.7 Laitteiston ja ohjelmiston abstraktiotasot... 39 3.8 Tietokoneen arkkitehtuuri ja organisaatio... 40 3.9 Tietokoneen tehokkuus... 41 4 Tieto ja tiedon talletus... 42 4.1 Loogisten signaalien arvot ja tasot... 42 4.2 Tiedon esitysmuodot... 43 4.3 Sana ja sanan pituus... 43 4.3.1 Perinteisen tietokoneen sana... 43 4.3.2 Mikroprosessorin sana... 43 4.4 Tiedon talletus... 44 4.4.1 Muisti... 44 4.4.2 Rekisterit... 45 4.4.3 Pino... 47 5 Operandien osoittaminen ja tietokoneen käskykanta... 50 5.1 Käskykanta ja käskyryhmät... 50 5.2 Käskyn rakenne... 50 5.3 Operandin sijainti... 52 5.4 Osoitusmuodot... 55 5.4.1 Välitön osoitus... 56 5.4.2 Rekisteriosoitus... 57

5.4.3 Absoluuttinen osoitus... 57 5.4.4 Rekisteriepäsuora osoitus... 58 5.4.5 Indeksoitu osoitus ja kantaosoitus... 59 5.4.6 Indeksoitu kantaosoitus... 61 5.4.7 Suhteellinen osoitus... 62 5.4.8 Osoitusmuotojen käyttö tietokoneissa... 62 5.5 Käskykanta... 63 5.5.1 Siirtokäskyt... 63 5.5.2 Aritmeettiset käskyt... 63 5.5.3 Loogiset käskyt... 64 5.5.4 Sivuttaissiirto- ja rotaatiokäskyt... 65 5.5.5 Hyppy- ja haarautumiskäskyt... 67 5.5.6 Aliohjelmakäskyt... 68 5.5.7 Syöttö- ja tulostuskäskyt... 69 5.5.8 Ohjauskäskyt... 69 6 Tietokoneen ohjelmointi... 71 6.1 Ohjelmistotuotanto... 71 6.2 Ohjelmointikielen valinta... 72 6.3 Algoritmi... 74 6.4 Ohjelmointiesimerkki 1... 75 6.5 Ohjelmointiesimerkki 2... 77 7 Tietokoneen keskusyksikkö ja sen liitännät... 80 7.1 Keskusyksikön rakenne... 80 7.2 Tietokoneen ohjausyksikkö... 82 7.3 Keskusyksikön liittäminen ulkoisiin piireihin... 83 7.4 Jaettu osoite- ja dataväylä... 84 7.5 Kolmitilaväylä... 84 7.6 Väyläsiirto... 86 7.6.1 Synkroninen siirto... 86 7.6.2 Asynkroninen siirto... 89 7.7 Kellosignaali... 91 7.7.1 Yleistä... 91 7.7.2 Kellosignaalin muoto ja parametrit... 92 7.7.3 Kellosignaalin synnyttäminen... 92 7.8 Alustus... 93 7.8.1 Yleistä... 93 7.8.2 Nollaussignaalin synnyttäminen... 94 7.8.3 Mikroprosessorin tai -ohjaimen nollaus... 95 7.8.4 Prosessorin alustusohjelma... 96 7.8.5 Vahtikoira... 96 8 Tietokoneen päämuisti... 98 8.1 Yleistä... 98 8.2 Muistityypit... 98 8.3 Puolijohdemuistin rakenne... 100 8.3.1 Staattisen vaihtomuistin alkio... 101 8.3.2 Dynaamisen vaihtomuistin alkio... 102 8.4 Muistipiireihin liittyvät signaalit... 104 8.5 Vaihtomuistityypit... 105 8.6 Asynkroninen staattinen vaihtomuistipiiri... 105

8.7 Synkroniset staattiset vaihtomuistipiirit... 108 8.8 Asynkroninen dynaaminen vaihtomuistipiiri... 110 8.8.1 Piirin rakenne ja toiminta... 110 8.8.2 Asynkronisen dynaamisen vaihtomuistipiirin virkistäminen... 113 8.9 Valestaattinen vaihtomuistipiiri... 115 8.10 Synkroninen dynaaminen vaihtomuistipiiri... 115 8.10.1 Synkronisen dynaamisen vaihtomuistipiirin rakenne ja toiminta... 115 8.10.2 DDR- ja GDDR-SDRAM-muistipiirit... 118 8.10.3 RDRAM- ja XDR-DRAM-muistipiirit... 118 8.10.4 Synkronisen dynaamisen vaihtomuistipiirin virkistäminen... 118 8.11 Kiintomuistit... 119 8.11.1 Vanhat kiintomuistityypit... 120 8.11.2 EEPROM-muisti... 122 8.11.3 Flash-muisti... 123 9 Muistin liittäminen keskusyksikköön... 126 9.1 Tietokoneen muistin kokoaminen... 126 9.2 Osoitedekooderi ja piirinvalintasignaalit... 127 10 Tietokoneen muistijärjestelmä... 135 10.1 Yleistä... 135 10.2 Välimuisti... 136 10.2.1 Välimuistityypit... 137 10.2.2 Osoitteenkuvausmenetelmät... 139 10.2.3 Korvausalgoritmit... 140 10.2.4 Päämuistin päivitysmenetelmät... 141 10.3 Virtuaalimuisti... 142 10.3.1 Virtuaalimuistin periaate... 142 10.3.2 Sivutettu virtuaalimuisti... 143 10.3.3 Segmentoitu virtuaalimuisti... 146 11 Liitäntäpiirit... 149 11.1 Yleistä liitäntäpiireistä... 149 11.2 Rinnakkaismuotoinen tiedonsiirto... 149 11.2.1 Yksinkertainen rinnakkaisliitäntä... 150 11.2.2 Integroitu rinnakkaisliitäntäpiiri... 151 11.3 Sarjamuotoinen tiedonsiirto... 153 11.3.1 Yleistä... 153 11.3.2 Perinteinen asynkroninen sarjaliitäntä... 153 11.3.3 Uudet sarjaväylät... 154 11.4 Tietokoneen väylät... 156 12 Liitäntälaitteiden ohjaus... 158 12.1 Liitäntälaitteiden ohjaustavat... 158 12.2 Ohjelmoitu syöttö ja tulostus... 158 12.3 Keskeytysohjattu syöttö ja tulostus... 158 12.3.1 Keskeytykset ja niiden ominaisuudet... 158 12.3.2 Mikro-ohjaimen keskeytysjärjestelmä... 160 12.3.3 Mikroprosessorin keskeytysten ja poikkeusten käsittelyjärjestelmä... 160 12.3.4 Keskeytysten ja poikkeusten toteutus... 161 12.3.5 Palveluohjelman sijainti... 163 12.3.6 Samanaikaiset keskeytykset... 164 12.4 Suora muistinosoitus... 165

13 Liukuhihnaperiaate... 169 13.1 Yleistä... 169 13.2 Liukuhihnan toiminta... 169 13.3 RISC-prosessorin liukuhihna... 172 13.4 Liukuhihnan hasardit... 174 13.4.1 Hasardityypit... 174 13.4.2 Rakenteellinen hasardi... 174 13.4.3 Ohjaushasardi... 175 13.4.4 Datahasardi... 177 13.5 Keskeytysten ja poikkeusten vaikutus liukuhihnan suunnitteluun... 179 13.6 Liukulukuyksikön liukuhihna... 180 14 Moniprosessorijärjestelmät... 182 14.1 Yleistä... 182 14.2 Flynnin luokittelu... 183 14.3 Nopeutuskerroin... 184 14.4 Moniprosessorirakenteet... 185 14.4.1 Yleistä... 185 14.4.2 Aikajaettu väylä... 185 14.4.3 Moniporttimuisti... 187 14.4.4 Kytkentäkenttä... 188 14.4.5 Kaksiulotteinen suorakaideverkko... 188 14.4.6 Hyperkuutio... 189 14.5 Moniprosessorien välimuistit... 190 15 Intel 80x86 ja Itanium-prosessorit... 192 15.1 Yleistä... 192 15.2 Intel 8086... 193 15.2.1 Rakenne... 193 15.2.2 Osoitusmuodot... 196 15.2.3 Muisti... 197 15.2.4 Keskeytykset ja poikkeukset... 199 15.2.5 Käskykanta... 200 15.2.6 Intel 8087 -aritmetiikkaprosessori... 201 15.3 Intel 80286... 202 15.4 Intel 80386... 203 15.4.1 Rakenne... 203 15.4.2 Segmenttirekisterit ja muistin segmentointi... 205 15.4.3 Järjestelmäarkkitehtuuri ja järjestelmärekisterit... 207 15.4.4 Virtuaalimuistin toteutus... 211 15.4.5 Muistin suojaus... 211 15.4.6 Käyttöjärjestelmäkutsut... 213 15.4.7 Poikkeukset ja keskeytykset... 213 15.4.8 Ohjelmien testaus... 214 15.4.9 Syöttö ja tulostus... 214 15.5 Intel 80486... 215 15.5.1 Yleistä... 215 15.5.2 Intel 80486:n välimuisti... 215 15.6 Intel Pentium... 216 15.7 Intel Pentium Pro... 217 15.8 Uudet Pentium-prosessorit... 220 15.9 Intel 64 -arkkitehtuuri... 220

15.10 Itanium-prosessorit... 221 16 Intel 8051... 224 16.1 Rakenne ja ominaisuudet... 224 16.2 Muistiorganisaatio... 225 16.2.1 Yleistä... 225 16.2.2 Datamuisti... 226 16.2.3 Ohjelmamuisti... 228 16.2.4 Ulkoinen muistiliitäntä... 228 16.2.5 Käyttäjärekisterit... 229 16.3 Liitäntäpiirit... 231 16.3.1 Rinnakkaisportit... 231 16.3.2 Sarjaportti... 231 16.3.3 Ajastimet... 234 16.4 Käskykanta... 236 16.4.1 Osoitusmuodot... 236 16.4.2 Käskyjen rakenne... 237 16.4.3 Akun käyttö... 237 16.4.4 Käskyt... 238 16.4.5 Aritmeettiset käskyt... 239 16.4.6 Loogiset käskyt... 241 16.4.7 Siirtokäskyt... 242 16.4.8 Bittikäskyt... 244 16.4.9 Haarautumis- ja ohjauskäskyt... 244 16.4.10 Tilalippuihin vaikuttavat käskyt... 246 16.5 Keskeytykset... 246 17 PIC16F84A-mikro-ohjain... 253 17.1 Rakenne ja ominaisuudet... 253 17.2 Muistiorganisaatio... 255 17.2.1 Yleistä... 255 17.2.2 Ohjelmamuisti... 256 17.2.3 Datamuisti... 256 17.2.4 EEPROM-muisti... 258 17.2.5 Pino... 259 17.3 Liitäntäpiirit... 259 17.3.1 Rinnakkaisportit... 259 17.3.2 Ajastin... 259 17.3.3 Vahtikoira-ajastin... 260 17.3.4 Käyttöjännitteen kytkentäpiirit... 260 17.4 Käskykanta... 261 17.4.1 Yleistä... 261 17.4.2 Osoitusmuodot... 261 17.4.3 Käskyt... 261 17.5 Keskeytykset... 263 18 AVR ATtiny12 -mikro-ohjain... 265 18.1 Rakenne ja ominaisuudet... 265 18.2 Muistiorganisaatio... 267 18.2.1 Yleistä... 267 18.2.2 Ohjelmamuisti... 267 18.2.3 Datamuisti... 268

18.2.4 Syöttö- ja tulostusrekisterit... 268 18.2.5 Pino... 271 18.3 Liitäntäpiirit... 271 18.3.1 Rinnakkaisportti... 271 18.3.2 Ajastin... 272 18.3.3 Vahtikoira-ajastin... 273 18.3.4 Vertailupiiri... 274 18.4 Käskykanta... 275 18.4.1 Osoitusmuodot... 275 18.4.2 Käskyt... 275 18.5 Keskeytykset... 279 19 TMS320C54x-perhe... 281 19.1 Rakenne ja ominaisuudet... 281 19.1.1 Yleistä... 281 19.1.2 Akut... 283 19.1.3 Aritmeettis-looginen yksikkö... 284 19.1.4 Kertoja... 284 19.1.5 Summain... 285 19.1.6 Sivuttaissiirtopiiri... 285 19.1.7 Muut laskentayksiköt... 285 19.2 Muistiorganisaatio... 286 19.3 Datamuistin osoittaminen... 286 19.3.1 Osoitusmuodot... 286 19.3.2 Suora osoitus... 286 19.3.3 Epäsuorat osoitusmuodot... 287 19.4 Käskykanta... 289 19.4.1 Käskyryhmät... 289 19.4.2 Aritmeettiset käskyt... 289 19.4.3 Loogiset käskyt... 289 19.4.4 Ohjelman ohjauskäskyt... 290 19.4.5 Lataus- ja talletuskäskyt... 290 19.5 Liitäntäpiirit... 290 20 Prosessorit ohjelmoitavissa järjestelmäpiireissä... 293 20.1 Yleistä... 293 20.2 Ohjelmoitavien logiikkaverkkojen tyypit... 293 20.3 PLD-piirit... 293 20.4 FPGA-piirit... 294 20.5 Ohjelmoitavat järjestelmäpiirit... 296 20.6 Yleistä prosessorien toteuttamisesta ohjelmoitavissa järjestelmäpiireissä... 297 20.7 Kiinteät prosessorit... 298 20.8 Ohjelmoidusti toteutettavat prosessorit... 299 20.9 Signaalinkäsittely ohjelmoitavissa järjestelmäpiireissä... 302 20.10 Ohjelmoidusti toteutettavan prosessorin suunnitteluprosessi ja -työkalut... 302 20.10.1 Suunnitteluprosessi kokonaisuutena... 302 20.10.2 Esimerkki laitteiston suunnitteluprosessista ja -työkaluista... 306 20.10.3 Esimerkki ohjelmiston suunnitteluprosessista ja -työkaluista... 309 20.10.4 Esimerkki DSP-suunnitteluprosessista ja -työkaluista... 311 21 Nios II... 313 21.1 Yleistä... 313

21.2 Keskeiset ominaisuudet ja prosessoriversiot... 314 21.3 Prosessoriytimen arkkitehtuuri ja sisäinen rakenne... 316 21.3.1 Yleistä... 316 21.3.2 Prosessorin toteutus... 317 21.3.3 Sisäiset rekisterit... 318 21.3.4 Aritmeettis-looginen yksikkö... 318 21.3.5 Lisäkäskyjen logiikan liitäntäpiiri... 319 21.3.6 Alustussignaalit... 319 21.3.7 Poikkeusten ja keskeytysten käsittelypiirit... 319 21.3.8 Välimuistit... 320 21.3.9 Tiukasti kytkettyjen muistien liitännät... 320 21.3.10 Käskyväylä ja dataväylä... 321 21.3.11 JTAG-moduuli... 322 21.4 Prosessorin sisäiset rekisterit... 322 21.4.1 Yleistä... 322 21.4.2 Rekisteriryhmän rekisterien käyttö... 323 21.4.3 Ohjausrekisterien käyttö... 324 21.5 Prosessoriytimen ja muiden piirien keskinäiset yhteydet... 325 21.5.1 Avalon-kytkentäkudos ja Avalon-portit... 325 21.5.2 Muistin ja liitäntäpiirien liittäminen Nios II -prosessoriytimeen... 328 21.6 Ohjelmoitavan järjestelmäpiirin sisäiset liitäntäpiirit... 330 21.7 Poikkeusten ja keskeytysten käsittely... 330 21.7.1 Yleistä... 330 21.7.2 Poikkeustyypit... 331 21.7.3 Laitteistokeskeytys... 331 21.7.4 Ohjelmistokeskeytys... 332 21.7.5 Toteuttamaton käsky... 332 21.7.6 Muu poikkeus... 333 21.7.7 Poikkeusten palvelualiohjelman tehtävät... 333 21.8 Suora muistinosoitus... 334 21.9 Datatyypit... 335 21.10 Osoitusmuodot... 335 21.11 Käskykanta ja käskyjen suoritus... 336 21.11.1 Yleistä... 336 21.11.2 Käskysanatyypit... 336 21.11.3 Käskykanta... 338 21.11.4 Siirtokäskyt... 338 21.11.5 Aritmeettiset ja loogiset käskyt... 341 21.11.6 Vertailukäskyt... 343 21.11.7 Sivuttaissiirto- ja rotaatiokäskyt... 346 21.11.8 Hyppy- ja haarautumiskäskyt... 347 21.11.9 Ohjauskäskyt... 349 Liite 1. IAS-tietokone... 355 Liite 2. Tietokoneen tehokkuus... 359 L2.1 Laskenta-aika... 359 L2.2 Tehokkuus... 359 L2.3 Kellojakso... 360 L2.4 CPI ja MIPS... 361 L2.5 Benchmark-ohjelmat... 363 L2.6 Amdahlin laki... 364