1 / 9

Tietokoneen arkkitehtuuri ja konekieli

Tietokoneen arkkitehtuuri ja konekieli. Tietotekniikan perusteet 6.10.1998 Pekka Orponen. Väylät. Tiedonsiirtoa tietokoneen osien välillä ei kannata toteuttaa johdottamalla kaikki osat kaikkiin (n osaa Þ O(n 2 ) johtoa)

lilac
Download Presentation

Tietokoneen arkkitehtuuri ja konekieli

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tietokoneen arkkitehtuuri ja konekieli Tietotekniikan perusteet 6.10.1998 Pekka Orponen

  2. Väylät • Tiedonsiirtoa tietokoneen osien välillä ei kannata toteuttaa johdottamalla kaikki osat kaikkiin (n osaa Þ O(n2) johtoa) • Väylä (engl. bus): usean komponentin yhteisesti jakama tiedonsiirtolinja • Toteutus ks. monisteen kuvat 24-25 • Jaettu resurssi • Þ osallistujien täytyy tahdistaa (synkronoida) toimintansa • Þ kättelysäännöt (engl. handshake protocols)

  3. write wait_2 Kolmen signaalin kättelymenettely • Esitys vuorovaikuttavina automaatteina: RECEIVE SEND process process D = 0? A ¬ 0 R ¬ 1 R = 1? wait_1 A = 1? D ¬ 0 D = 1? R ¬ 0 D ¬ 1 A ¬ 1 read wait RDA 0 0 0 receive 1 0 0 send 1 1 0 receive 0 1 0 receive 0 1 1 send 0 0 1 receive 0 0 0

  4. Tietokoneiden von Neumann -arkkitehtuuri • Oikeammin: ”EDVAC-arkkitehtuuri”. • John von Neumann, ”First Draft of a Report on the EDVAC”, Moore School of Electrical Engineering, Univ. of Pennsylvania, June 1945. • Ensimmäinen toteutus: EDSAC (Electronic Delay Storage Calculator), Cambridge Univ., May 1949. • Monisteen kuvat 28, 29. • Toimintaperiaate: • Laitteiston käsittelemä tieto on talletettu sen muistiin. • Laitteisto muuntaa muistin sisältöä suorittamalla jonon synkronoituja toimenpidekokonaisuuksia, konekäskyjä. Suoritettavaa käskyjonoa sanotaan koneen (konekieliseksi) ohjelmaksi. • Tallennetun ohjelman periaate: myös ohjelma (so. suoritettavien käskyjen koodit) on tallennettu koneen muistiin. Erittäin tärkeä idea laitteiston joustavan käytön kannalta.

  5. Tietokoneen komponenttijako • Ohjausyksikkö (CU, control unit) • Automaatti, joka säätelee (tahdistaa & ohjaa) käskyjen ja datan noutoa muistista, käskyjen suoritusta ja tulosten tallennusta takaisin muistiin • Aritmeettis-looginen yksikkö • Logiikkapiirit laskutoimitusten suorittamista varten • Rekisterit • Kiikuista rakennettuja kulloinkin välittömästi käsiteltävänä olevan tiedon tallennuspaikkoja • Muisti • Käsiteltävän tietoaineiston sekä käsittelyohjelman tallennukseen • Oheislaitteet • Syöte- ja tulostuslaitteet • Massamuistilaitteet

  6. Tyypillisiä konekäskyjä • Merkintöjä: • M[i] -- muistipaikan i sisältö • AC -- rekisterin AC (”akun”) sisältö • PC -- ohjelmalaskuri: suoritettavana olevan käskyn muistiosoite Käsky Toiminto LOAD i AC ¬ M[i] STORE i M[i] ¬ AC ADD i AC ¬ AC + M[i] SUB i AC ¬ AC - M[i] CLEAR AC ¬ 0 NOP ei mitään HALT pysäytä kone JUMP i PC ¬ i JMPZ i jos AC = 0, niin PC ¬ i (muuten PC ¬ PC + 1)

  7. Käskynhakusekvenssi • Tietokone suorittaa muistiinsa osoitteesta p0 alkaen tallennettua ohjelmaa pääpiirteissään seuraavasti (yksityiskohtiin palataan ensi kerralla): • PC ¬ p0. • Nouda muistipaikkaan M[PC] tallennettu käsky käskyrekisteriin INSTR. • Suorita rekisterissä INSTR oleva käsky. • jos käsky oli hyppykäsky, päivitä rekisteriä PC siinä määrätyllä tavalla; • muuten aseta PC ¬ PC + 1 • Palaa kohtaan 2.

  8. Esimerkkiohjelmia • Oletetaan, että ohjelmat on tallennettu muistiin alkaen muistipaikasta 10. • Esimerkki 1. Muistipaikkoihin 100 ja 101 tallennettujen lukujen yhteenlasku; tuloksen tallennus paikkaan 102: 10: LOAD 100 11: ADD 101 12: STORE 102 13: HALT

  9. Esimerkkiohjelmia (jatkuu) • Esimerkki 2. Muistipaikkaan 100 tallennetun luvun n neliöinti; tuloksen n2 tallennus paikkaan 102. Oletetaan, että muistipaikkaan 101 on ennalta tallennettu lukuvakio 1. 010: CLEAR -- M[102] = lopputulos n2, 011: STORE 102 -- alkuarvo 0 012: LOAD 100 -- M[103] = kierroslaskuri, 013: STORE 103 -- alkuarvo n 014: JMPZ 021 -- jos M[103] = 0, jatka os. 021 015: LOAD 102 -- M[102] ¬ 016: ADD 100 -- M[102] + n 017: STORE 102 -- 018: LOAD 103 -- M[103] ¬ 019: SUB 101 -- M[103] - 1 020: JUMP 013 -- jatka osoitteesta 013 021: HALT -- loppu; tulos = M[102] … 100: 000000 101: 000001 102: 000000 103: 000000

More Related