Ne glede na to, v kakšnem programskem jeziku programiramo oziroma s kakšnimi orodji so sestavili nek računalniški program, lahko ta deluje le, če ga računalnik razume. Spoznali naj bi, kako deluje računalnik na takoimenovanem strojnem nivoju. Za razumevanje tega pa moramo nujno poznati glavne dele računalnika in njihov pomen. Govorimo o »programerjevem pogledu na računalnik«.
Programer, ki se pri svojem
delu spusti na nivo zbirnega ali celo strojnega jezika, mora seveda
razumeti, da digitalni računalniki temeljijo na uporabi ukazov in podatkov v
dvojiškem sistemu, saj so osnovni gradniki, registri in pomnilne celice, pač sestavljeni
iz skupin bitov. Tudi pretvorba iz dvojiškega v kakšen bolj razumljiv
številski sistem naj mu ne bi bila neznana, čeprav si tudi pri tem pomaga z
računalnikom.
Poglejmo, kako lahko neko dvojiško vrednost pretvorimo v desetiško:
Pomnilnik predstavlja skupina naslovljivih pomnilnih lokacij. Na posameznem
(celoštevilčnem) naslovu imamo pri najbolj enostavnih računalnikih 1 byte (zlog
8 bitov), pri sodobnih računalnikih pa so tako naslovljivi zlogi tudi bistveno
daljši (32 bitov in celo 64 bitov). Kot bomo spoznali kasneje, pomnimo v
takem pomnilniku običajno na sledečih se naslovih tako podatke kot program (v
strojnem jeziku), ki lahko te podatke uporablja.
Centralno procesno enoto
sestavlja več registrov in Aritmetično-logična enota (ALE). Nekateri registri
imajo poseben pomen (programski števec, kazalec na sklad, statusni
register). Tudi drugi si niso povsem ekvivalentni. Vsaj eden od
registrov mora biti sposoben pomnenja aritmetičnih in logičnih
operacij. Pogosto mu zato pravimo akumulator.
|
|
Programer vidi naslednje stanje |
Intelovi 16 bitni procesorji
družine x86 so imeli 6 splošnih delovnih registrov (AX, BX, CX, DX, SI,
DI), 2 registra za sklad (BP in SP), en 16-bitni statusni register (FLAGS), in 4 segmentne registre (CS, SS, DS, ES). S
pojavom 32 bitnih procesorjev (začenši z Intel 386 so 16-bitne registre
podaljšali na 32 bitov in jih zato preimenovali v (EAX, EBX, ECX, EDX, ESI,
EDI, EBP, ESP, EFLAGS, EIP). Podoben prehod so naredili pri uvedbi 64
bitnih procesorjev in uvedli nove, daljše 64 bitne registre z novimi imeni
(RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, RFLAGS, RIP). Tem pa so dodali še 8
splošnih 64-bitnih registrov (R8, R9, ..., R15).
Več kot ima CPE delovnih registrov in daljši kot so le-ti, bolj je zmogljiv. Vendar
za razumevanje samega delovanja računalnika to ni toliko pomembno.
|
V nadaljevanju bomo zato za
ponazoritev delovanja računalnika pogosto uporabili poenostavljen model
računalnika z enim samim akumulatorskim registrom in s poenostavljenim
statusnim registrom (le 2 bita, ki povesta, ali je bil rezultat predhodnje
operacije enak nič ali negativen. |