Oddeffannoo waayee komputeera – Kutaa 4ffaa

Kompitara: Ijaarrii Sagantaa Kuufamuu

Yeroo baayyee, ajajni kompitaraa salphaa dha: lakkoofsa tokoo kan biraatti ida’i, daataa wayii iddoo tokkoo gara biraatti geessi, ergaa meshaa alaatti ergi, kkf. Ajajni kun kuufannoo kompitaraarraa dubbifamee tartiiba ittiin kaawwameen raawwatama (executed). Garuu, ajajni addaa kan kompitarri ajaja gara fuulduraa jiru ykn kan darbetti akka utaalu gochuun achii kaasee ajaja raawwachuu akka itti fufu godhu ni jira. Isaan kun ajaja utaalchaa (ykn damee) jedhamu. Dabalataanis, ajajni utaalchaa otoola (conditional) irratti hundaa’un akka raawwataman gochuun ni danda’ama; kunis tartiibni ajajaa gara garaa bu’aa shallaga darbee ykn muudata (event) alaa dhufu irratti hundaa’un raawwatamuu akka danda’u godha. Kompitaroonni baayyen tajaajila qajeelyodhumaan utaalcha bakka irraa utaale yaadatu, kan boodara ajaja iddoo itti utaale sana jiru yoo fixe bakka duraan irraa utaaletti deebi’e ajaja raawwachuu itti fufu dhiyeessu. Kunis sagantaa xiqqaa (sub routine) jedhama.

Sagantaa raawwachuun kitaaba dubbisuu wajjin wal fakkeeffamuu danda’a. Namni kitaaba yeroo dubbisu jecha tokko tokkon sarara sararan tarreedhan dubbisa, yeroo barbaade ammoo iddoo duraan dubbisetti deebi’ee dubbisuu ykn mata dureewwan barbaachisaa hin taane bira darbee kaan dubbisuu danda’a. Akkuma kana, kompitarri duubatti deebi’ee garee sagantaa sanaa keessaa muraasa irra deddeebi’ee hanga haalli guututti raawwachuu danda’a. Kunis tartiiba too’annoo (flow of control) kan sagantaa keessaa jedhama; kompitari gargaarsa namaa malee hijii irra deddeebi’ee akka raawwatu kan godhu kana.

Yoo walitti madaallu, namni kaakuleeterii fudhatee qooyyaba herrega bu’uuraa kan akka lakkoofsa lama ida’uu qabduu muraasa gadi dhiibun hojjachuu danda’a. Garuu, lakkoofsa 1 hanga 1,000tti jiru walitti ida’uuf qabduu si’a 1000 gadi dhiibuu kan qabu yoo ta’u yeroo dheeras fudhata, dogoggoraaf saaxilamuunsaas baayyee guddaa dha. Karaa biraa, kompitara kana akka godhuuf, ajaja muraasaan saganteessuu dandeenya. Fakkeenyaaf:

  •  mov 0, sum  ; set sum to 0
  • mov  1, num  ; set num to 1
  • loop: add num, sum    ; add num to sum
  • add 1, num ; add 1 to num
  • cmp num, #1000  ; compare num to 1000
  •  ble loop ; if num <= 1000, go back to ‘loop’
  •   halt  ; end of program. stop running

Si’a tokko akka sagantaa kana akka raawwatu erga ajajamee booda, kompitarri hojii ida’uu irra deddeebi’aa kana odoo nama hin barbaadin hojjata. Kanarratti dogoggora wayiitu gonkumaa hin hojjatu. KM (PC) ammayyaa hojii kana yeroo gabaabduu yoo sekendii bakka miliyoonatti qoodne argannu keessatti raawwata.

Kompitara: Maashin Koodii

Kompitara baayyee keessatti, ajajni tokkoo tokkoonsaa akka maashin koodiitti kuufama, ajajni tokkoo tokkoonsaas lakkoofsa matasaa qaba (kunis oppereeshin koodi ykn gabaabaatti opkoodi jedhama). Ajajni lakkoofsa lama walitti idaasisu opkoodii tokko qaba; ajajni lakkoofsi akka baayyifamu godhu ammoo opkoodii kan biraa qaba, fi akkaatadhuma kanaan, ajajni kaanis opkoodii qabu. Kompitaroonni baayyee salphaa ta’an ajaja muraasa qofa raawwachuu danda’u; kompitaroonni ulfaataa ta’an garuu ajaja dhibbaan lakkaawwamu raawwachuu danda’u, ajajoonni kun hundi isaanii lakkoofsa addaa mataasaanii qabu. Kuufannoon kompitaraa lakoofsa kuusuu waan danda’uuf, koodii ajajaas kuusuu danda’a. Kunis gara sagantaa guutuun (kan tarree ajajoota kanaa ta’e) tarree lakkoofsaatiin bakka buufamuu danda’a jedhuu fi kompitara keessatti akkuma lakkoofsa kaaniitti hujeeffamuu danda’a jedhutti ol guddate. Yaadni sagantaa fi daata inni irratti hojjatu kuufannoo kompitaraa keessa kaa’uu jedhu bu’uura ijaarrii Voon Newuumaan ykn sagantaa kuufame ti. Yeroo tokko tokko, kompitarri ajajasaa muraasa ykn hunda kuufannoo keessatti, daataa irratti hojjaturraa gara biraa yeroon kaawu ni jira. Kunis ijaarrii Harvaardi jedhamee beekkama, kompitara Haarvaard Maark I jedhamu irraa ka’uun. Kompitaroonni ammayyaa kan ijaarrii Voon Newuumaan irratti hundaa’an saxaxi (design) isaanitiin amala muraasa ijaarrii Haarvaardi of keessaa qabu, kan akka caashii CPU keessatti.

Oduma sagantaa kompitaraa akka tarree lakkoofsaa dheeraa tokkootti (maashin koodii) barreessuun danda’amuuyyuu, tooftaan kun kan kompitara jalqabaa baayyee irratti itti fayyadamaa turan ta’uyyuu, malli kun garmalee dadhabsiisaa fi dogoggoraaf kan saxilame dha, keessahuu sagantaa gurguddaa fi ulfaataa barreessuuf. Bakka kanaa, ajajni bu’uuraa hundi maqaa gabaabaa kan hojii ajajichaa ibsu fi kan yaadachuuf salphaa ta’e kennamuufii danda’a – kan akka IDA, HIR, BAY, ykn UTAL. Maqaa gabaabaan ajajootaa kenname kun assembilii laanguweeji jedhame beekkama. Sagantaa assembiliin barreeffame gara waan kompitarri hubachuu danda’uutti (kompitarri maashin koodii qofa hubachuu danda’a) jijjiiruuf sagantaa kompitaraa assembiler jedhamutti fayyadamna.