HAKATEMIA
02Intro

Prosessorin toiminta

Keskitaso15MIN

Miten prosessori suorittaa koodia

Kun x86-assembly-koodi on käännetty konekieleksi, prosessori suorittaa sen vaihe vaiheelta: hae, dekoodaa, suorita, kunnes ohjelma päättyy. Prosessorin hae → dekoodaa → suorita -sykli, cache + muistihierarkia.

Käskyjen hakeminen

Suoritus alkaa siitä, että prosessorin ohjelmalaskuri (program counter) osoittaa seuraavaan suoritettavaan käskyyn ohjelman muistialueella. Prosessori hakee käskyn muistista ja lataa sen sisäiseen välimuistiin dekoodausta varten. Ohjelmalaskuri päivittyy osoittamaan seuraavaan käskyyn.

Käskyjen dekoodaus

Haettu käsky siirretään ohjausyksikköön, joka dekoodaa sen eli selvittää, mitä käsky pyytää suoritinta tekemään. Dekoodaus paljastaa käskyn tyypin (aritmeettinen operaatio, datan siirto, ohjausrakenne, ...) ja sen, mitkä rekisterit tai muistiosoitteet ovat mukana.

Suoritus

Dekoodattu käsky suoritetaan. Tämä voi olla laskutoimitus, datan siirtoa rekisterien välillä, datan lukua tai kirjoitusta muistiin, tai järjestelmäkutsu (syscall). Laskutoimituksissa työn tekee ALU (Arithmetic Logic Unit); datan siirroissa prosessori kopioi arvoja rekisterien ja muistin välillä. Tulos tallennetaan rekisteriin tai muistiin.

1 / 5
Hakatemia Pro

Hakkeroinnin oppiminen alkaa tästä

Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.