kevät 2004 TP02S-D Tietokoneen rakenne: Harjoitustyö Motorola MC68030 -prosessori Työn valvojat: Seppo Haltsonen Pasi Lankinen
RAPORTTI 13.5.2004 Sisällysluettelo sivu Tiivistelmä... 1 Lohkokaavio... 2 Rekisterit... 3 Käskykanta... 3 Osoitusmuodot... 4 Keskeytykset... 4 Muisti... 4 Loppusanat... 5 Lähteet... 6
RAPORTTI 1(6) Tiivistelmä Prosessorin keskeiset ominaisuudet: Harvard arkkitehtuuri 32 bittinen data- ja osoiteväylä Sisäinen sivuttava MMU (Memory Management Unit) 256 tavun käsky- ja datavälimuistit 16 yleiskäyttöistä data- ja osoiterekisteriä 2 pino-osoitinta 10 SFR-rekisteriä (Special Function Register) Dynaaminen dataväylä tukee 8-, 16- ja 32-bittisiä laitteita Väyläohjain toimii asynkronisesti, synkronisesti sekä purskeittain. Saatavissa 16, 20, 25, 33, 40 ja 50 MHz kellotaajuuksilla 18 MIPSiä 50 MHz kellotaajuudella
RAPORTTI 2(6) Lohkokaavio Kuva 1. Prosessorin lohkokaavio. [1, s. 25]
RAPORTTI 3(6) Kuten kuvasta 1 nähdään, prosessorin laskentayksikkö koostuu erillisistä ohjelmalaskuri-, osoite-, ja datalohkoista. Käskyn haku puolestaan tapahtuu liukuhihnan kautta, jonka avulla voidaan samanaikaisesti purkaa ja valmistella suoritettavaksi kolmea erillistä käskyä. [1, s. 38] Rekisterit Prosessorissa on erikseen 'User programming' ja 'Supervisor programming' tasot. [1, s. 28] 'User programming' tasolla käytettävissä ovat rekisterit: 16 yleiskäyttörekisteriä 32-bittinen ohjelmalaskuri 8-bittinen tilarekisteri 'Supervisor programming' tasolla käytettävissä lisäksi: Kaksi pino-osoitinta 16-bittinen tilarekisteri 32-bittinen vektori 32-bittiset funktiorekisterit 32-bittinen välimuistin ohjausrekisteri 32-bittinen välimuistin osoiterekisteri 64-bittinen CPU juuriosoitin 64-bittinen 'supervisor' juuriosoitin 32-bittiset läpinäkyvät osoitemuunnosrekisterit (2 kpl) 16-bittinen MMU tilarekisteri Käskykanta Käskykannasta löytyy komennot seitsemällä eri datatyypillä operoimiseen: [1, s. 32] Bitit Bittikentät (1 32 bittiä) BCD-luvut Tavun (8 bit) pituinen kokonaisluku Sanan (16 bit) pituinen kokonaisluku Pitkän sanan (32 bit) pituinen kokonaisluku Erikoispitkän sanan (64 bit) pituinen kokonaisluku
RAPORTTI 4(6) Osoitusmuodot Perusosoitusmuotoja löytyy yhdeksän, joista varioimalla saadaan yhteensä 18 eri osoitusmuotoa. Alla on listattuna perusosoitusmuodot: [1, s. 32] Suora rekisteriosoitus Epäsuora rekisteriosoitus Epäsuora rekisteriosoitus indeksillä Epäsuora muistiosoitus Syrjäyttävä epäsuora ohjelmalaskuriosoitus Epäsuora ohjelmalaskuriosoitus indeksillä Epäsuora muistiosoitus ohjelmalaskurin kautta Absoluuttinen osoitus Välitön osoitus Keskeytykset Prosessorissa on 7 eri prioriteettitasoa keskeytyksille. Keskeytysten käsittely tapahtuu yleensä (ei aina) nelivaiheisen kaavan mukaan: [1, s. 255] 1. Otetaan alkuperäisestä tilarekisteristä varmuuskopio, jonka jälkeen siirrytään 'supervisor' -tilaan. 2. Päätellään keskeytysvektorin numero. 3. Talletetaan meneillään olevan prossessin kaikki tiedot pinoon. Lisäksi pinoon voidaan tallettaa tietoja keskeytyksestä, jota aletaan suorittamaan. 4. Luetaan ohjelmaslaskurin arvo 2. vaiheessa päätellystä keskeytysvektorista ja aletaan suorittamaan keskeytysrutiinia. Muisti 68030 prosessorissa on sisäinen muistinhallintayksikkö MMU, joka tukee sivutettua (sivun koko 256...32k tavua) virtuaalimuistia. Muistinhallintayksikkö käyttää keskusmuistissa säilytettävää taulukkoa apunaan muuntaessaan loogisia muistiosoitteita fyysisiksi muistiosoitteiksi. Lisäksi MMU:ssa on välimuisti, jonka avulla useimmin käytetyt osoitemuunnokset saadaan nopeammin tehdyiksi. [1, s. 289]
RAPORTTI 5(6) Loppusanat Tehtävä oli mielestäni erittäin vaikea. Vanhemmista prosessoreista ei tahtonut löytää materiaalia koululta sen paremmin kuin webistäkään. Eikä materiaalin etsimistä helpottanut yhtään se tosiseikka, etten tunne kovinkaan monen muun valmistajan kuin Intelin (jonka käyttö oli harjoitustyössä kielletty) prosessoreiden mallinimiä. Uudemmista prosessoreista taas ei kaikkea tarpeellista materiaalia ole saatavilla. Ja vaikka olisikin, ne ovat niin laajoja ettei työhön budjetoitu 45 tuntia olisi millään riittänyt kunnolliseen aiheeseen tutustumiseen ja raportin kirjoittamiseen. Valitsemastani prosessorista en löytänyt Internetistä kuin lähdeluettelossa mainitun 564-sivuisen teknisen ohjeen. Mitään yleispiirteisempää selostusta 68030-prosessorista en löytänyt, vaikka olisin sellaisen mielelläni lukenut ennen paksun ohjekirjasen läpilukemista.
RAPORTTI 6(6) Lähteet 1 Motorola Inc. 1992. Motorola MC68030 Enhanced 32-bit Microprocessor User s Manual, Third Edition. [PDF-dokumentti]. 564 sivua <http://e-www.motorola.com/files/32bit/doc/ref_manual/ MC68030UM-P1.pdf> (sivut 1 254) <http://e-www.motorola.com/files/32bit/doc/ref_manual/ MC68030UM-P2.pdf> (sivut 255 564)