1.3.2 Protsessori käsustik

iDevice ikoon 1.3.2 Protsessori käsustik

Protsessori käsustiku arhitektuur (ISA - InstructionSetArchitecture) hõlmab protsessori käsustikku ja registreid, mille kaudu pääseb protsessori funktsionaalsust kasutama programmeerija. Protsessori poolt teostatavad masinkäskudele vastavad operatsioonid on tavaliselt liigitatavad järgmiselt:

  • andmete ülekanne (registritest registritesse, mälust registrisse ja vastupidi)
  • loogilis-aritmeetilised tehted (liitmine, lahutamine, operandi bittide rotatsioon, paremnihutus, vasaknihutus jne)
  • bittide käitlus
  • stringide käitlus
  • käsuvoog (tingimuslikud ja mittetingimuslikud hargnemised, alamprogrammid jne)
  • eranditöötlus
  • Sisendi-väljundi haldus
  • protsessori töö juhtimine

Protsessori sees paikneb spetsiaalne püsimälu - mikrokood, millega kontrollitakse protsessori masinakäskude täitmist. See püsimälu on uuematel protsessoritel ümberkirjutatav ja võimaldab rakendada vigade parandusi protsessorile.
Programmi täitmine protsessoris koosneb järgmistest põhietappidest:

  • Mälust käsu lugemine (Instruction Fetch)
  • Käsu dekodeerimine elementaaroperatsioonideks (Instruction Decode)
  • Käsu täitmine (Execute)
  • Tulemuse salvestamine (Store)

Programmi täitmisel võivad esineda erandjuhtumid, kus süsteem peab reageerima välistele sündmustele, mis pole programmile teada.Tüüpilisteks näideteks on suhtlemine operatsioonisüsteemiga, andmevahetus perifeeriaseadmetega, silumise operatsioonid, viga, käsu viga, jne. Selliseid erandeid nimetatakse katkestusteks. Katkestuste korralikuks haldamiseks on vaja spetsiaalseid käske, mis suudavad katkestada protsessorit (st. ajutiselt peatada programmi rakendamist), käivitada alamprogrammi, mis seda haldab ning kui katkestusrutiin on lõpetanud, taastada katkestatud programmi täpselt samas punktis, kus see oli peatatud.