Little Man Computer

Allikas: Kuutõrvaja
Redaktsioon seisuga 6. jaanuar 2018, kell 14:38 kasutajalt Jj (arutelu | kaastöö)

Little Man Computer ehk Väikese mehe arvuti on lihtsustatud näide arvutiarhidektuurist, mis loodi Stuart Madnicki poolt 1965 aastal.

LMC sisaldab mälu, protsessorit, sisend väljundit ning kasutab lihtsat instruktsioonide nimekirja, mille abil on seda võimalik kirjutada lihtsaid programme.

Kujutage endale ette tuba. Selle ühes seinas on 100 postkasti (mälu), mis on kõik varustatud numbriga nullist kuni 99-ni. Iga neist postkastidest võib sisaldada käsklust (instruktsiooni) või siis suvalist numbrit (vahemikus 000-999). Lisaks on nende kõrval veel kaks postkasti nimedega „sisend” ja „väljund”. Keset ruumi on kirjutuslaud, millel asub taskuarvuti, millega saab liita ja lahutada ning numbriloendur, millel olevat numbrit saab järjest (näiteks nupuvajutuse abil) suurendada.

Ahjaa lisaks sellele kõigele on toas ka olulisim komponent ehk väike mehike või kratt, kelle ülesanded on järgnevad:

1. Vaadata mis number on hetkel loenduril (oletame, et hetkel 0)
2. Minna vastavalt loenduri numbrile postkasti number 0 juurde ning võtta sealt välja pabersedelile kirjutatud instruktsioon.
3. Vajutada loenduril olevat nuppu ning muuta seal olev arv üheks.
4. Lugeda mida postkastist loetud instruktsioon ütleb. Kui seal olev käsk viitab mõnele teisele postkastile (näiteks, postkastis nr 42 olevale infole), siis jätta selle postkasti number meelde.
5. Hankida andmed, mis defineeritud eelnevas käsus (näiteks minna postkasti 42 juurde ja võtta sealt järgmine mingit arvu sisaldav sedel)
6. Täita instruktsioon, mis oli esimesel sedelil (näiteks liita postkastist 42 saadud arvule üks juurde)
7. Kirjutada saadud tulemus vastavalt instruktuktsioonile mõnda teise postkasti või jätta see endale meelde.
8. Vaadata mis number on loenduril ning suunduda vastavalt sellele järgmise postkasti juurde (antud juhul siis järgmise postkastini numbriga 1)

Instruktsiooni, mille väike mehike meie näites pesast nr 0 luges, nimetatakse opkoodiks. See kujutab endast käsklust, mis on moodustatud spetsiifilisest käsust ning mõnest teisest postkasti numbrist. Näiteks instruktsioon, mis salvesatab postkasti NR 23 mingit infot näev välja järgnev:

STA23

Käke või instruktsioone, millest väike mees arusaab on kokku 11 ja need on järngevad:

Käsk    Kasutamise näide
ADD   - ADD23, Lisa postkastis number 23 olevale numbrile taskuarvutiga arvutamisel saadud number
SUB   - SUB23, Lahuta postkastis number 23 olevast numbrist taskuarvutiga arvutamisel saadud number
STA   - STA23, Salvesta taskuarvutiga arvutamisel saadud tulemus postkasti 23
LFA   - LDA23, Loe postkastis 23 olev arv ning sisesta see taskuarvutisse
BRA   - BRA10, Muuda loenduril olev number ümber number 10neks
BRZ   - BRZ15, Kui kalkulaatoris olev aktiivne number on 000, seadista loenduri numbriks 15. Ehk siis lihtne IF võrdustehe
BRP   - BRP15, Kui kalkulaatoris olev aktiivne number on 0 või nullist suurem seadista loenduri numbriks 15.
INP   -  Loe postkastis "sisend" olev number ja sisesta see taskuarvutisse
OUT   - Kirjuta kalkulaatoris olev number postkasti nimega "väljund"
HLT/COB Lõpeta töötamine/lõpeta programm
DAT   - Loe järgmise postkasti sisu

https://community.computingatschool.org.uk/resources/2316/single