Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon Väylät I/O-ohjain ja muistiinkuvattu I/O Muistihierarkia Siirrännän hierarkia Etuoikeutettu suoritustila CPU:n käskysykli Keskeytyskäsittely Tavoite: u TITO-kurssin asioiden mieliinpalauttaminen Luento 1-2 Tietokoneen rakenne / 2006 / Teemu Kerola 1
Tietokonejärjestelmä (3) Laitteisto + Ohjelmisto cache MMU Control, Processing, Storage, Data movement (Sta06 Fig 1.4, 1.5, 1.6) KJ:n näkökulma laitteistoon Sovellukset Komentotulkki Varusohjelmat Palvelupyynnöt PROSESSIEN HALLINTA RESURSSIEN HALLINTA suojaus TIEDOSTOJÄRJESTELMÄ MUISTINHALLINTA lohkot SIIRRÄNTÄJÄRJESTELMÄ Laiteajurit Keskeytyskäsittely Laiteohjaimet ja laitteet Luento 1-4 Tietokoneen rakenne / 2006 / Teemu Kerola 2
Väylät Sisäinen väylä, systeemiväylä, I/O väylä Laiteohjaimet (controller, Sta06 I/O module) (Sta06 Fig 3.18 a) Luento 1-5 I/O-ohjain ja muistiinkuvattu I/O System Bus External Devices (Sta06 Fig 7.3) Ajuri ohjaa laitetta ohjaimen rekistereiden kautta Ajuri viittaa rekistereihin kuten tavalliseen muistiin u Tavalliset muistiinviittaavat load/store käskyt u Laiteohjain tunnistaa väylältä omat muistiosoitteensa u Laiteohjain ~ älykäs muistipiiri Luento 1-6 Tietokoneen rakenne / 2006 / Teemu Kerola 3
Muistihierarkia Saantiaika riippumaton / riippuu sijainnista u Rekisterit, välimuisti, keskusmuisti u Lohkopuskurointi (KJ:n toimintoa!) u Magneettiset ja optiset tallennusvälineet Tiedostopalvelimet u Network Attached Storage (NAS) u Storage Area Network (SAN) Sta06 Fig 4.1 Luento 1-7 Teemun juustokakku Register, on-chip cache, memory, disk, and tape speeds relative to times locating cheese for the cheese cake you are baking... hand table refridgerator moon Europa (Jupiter) 0.5 sec (register) 1 sec (cache) 10 sec (memory) 12 days (disk) 4 years (tape) Luento 1-8 Tietokoneen rakenne / 2006 / Teemu Kerola 4
Suorittimen suoritustilat user kernel Konekäskyt jaoteltu kahteen luokkaan u Etuoikeutetut ja tavalliset Muisti on suojattu u Käyttäjän oma muistialue merkitty ja valvottu Käyttäjätila u Voi käyttää vain tavallisia konekäskyjä u Voi viitata vain käyttäjän omaan muistialueisiin Etuoikeutettu tila priviledged, kernel user mode, normal mode user, normal kernel mode, priviledged mode u Voi käyttää kaikkia konekäskyjä, myös etuoikeutettuja konekäskyjä u Voi viitata kaikkiin muistialueisiin, myös käyttöjärjestelmän ytimen rakenteisiin Luento 1-9 Suoritustilan vaihto user SVC, INT IRET kernel Käyttäjätila etuoikeutettu tila u Keskeytys tai erityisen SVC konekäskyn suoritus u Keskeytyskäsittelijä tarkistaa onko oikeudet kunnossa suoritustilan muutokseen Etuoikeutettu tila käyttäjätila u Etuoikeutetun konekäskyn avulla esim. IRET (return from interrupt) u Palauttaa kontrollin ja suoritustilan ennalleen samankaltainen kuin aliohjelmasta paluu Luento 1-10 Tietokoneen rakenne / 2006 / Teemu Kerola 5
Siirrännän hierarkia (Tan01, Modern Oper. Syst, Fig 5-16) Luento 1-11 Suora I/O Epäsuora I/O DMA I/O Laiteajuri Direct I/O (Sta06 Fig 7.4) Luento 1-12 Tietokoneen rakenne / 2006 / Teemu Kerola 6
CPU:n käskysykli no *2 yes *1 Enter Privileged Mode *1 Disable Interrupts *2 Enter User Mode? *2 Enable Interrupts? Start Interrupt Handler *1 (Sta06 Fig 3.9+7.6) Luento 1-13 Keskeytyskäsittely * Etuoikeutettu tila vs. käyttäjätila * Keskeytysten esto vs. salliminen + Vuorottaminen Start Interrupt Handler * Interrupt Call + IRET * (Sta06 Fig 7.6) Luento 1-14 Tietokoneen rakenne / 2006 / Teemu Kerola 7
Kertauskysymyksiä Kurssikirjassa kunkin luvun lopussa u Vastaukset kirjan tekstistä Aikaisempien kurssilaisten kertauskysymyksiä aikataulusivulla kunkin luennon jälkeen u Vastaukset verkossa Mieti itse: u Tietokonelaitteiston keskeiset osat? u DMA-siirron perusperiaatteet? u Pakolliset laitteistopiirteet? u Miten CPU saadaan suorittamaan tavallista sovellusta? Entä käyttöjärjestelmää? Luento 1-15 Tietokoneen rakenne / 2006 / Teemu Kerola 8