Instrukcijski ciklus
Instrukcijski ciklus (engleski: Instruction cycle) jest osnovna operacija ciklusa računara.[1] To je proces putem kojeg računar preuzima instrukcije programa iz svoje memorije, određuje koje radnje instrukcija zahtjeva, te izvršava te radnje. Ovaj ciklus se stalno ponavlja pomoću procesora (CPU), iz pokretača operativnog sistema kada je računar isključen.
Upotreba ciklusa
[uredi | uredi izvor]Ciklusi koji se koriste u procesoru tokom procesorskog ciklusa su:
- Programski brojač (PC) - brojač za povećanje koji bilježi memorijsku adresu instrukcije koja je na redu za izvršavanje
- Memorijski adresni registar (MAR) - drži adresu bloka memorija koja treba da se pročita ili upiše.
- Memorijski registar za podatke (MDR) - dvosmjerni registar koji sadrži podatke preuzete iz memorije (i spremne da ih procesor obradi) ili sadrži podatke koji čekaju da budu sačuvani u memoriji.
- Registar za instrukcije (IR) - privremeno drži teren za instrukciju koja je upravo preuzeta iz memorije.
- Upravljačka jedinica (CU) - dekodira instrukciju programa u IR, selektuje mašinske resurse kao što su registar izvora podatka i određene aritmetičke podatke, i koordinira aktivacijom tih podataka.
- Aritmetičko-logička jedinica (ALU) - obavlja matematičke i logičke operacije.
Svaki procesor može da ima različite cikluse zasnovane na različitom skupu instrukcija, ali će biti slični sljedećem ciklusu:
- 1. Preuzimanje instrukcija
Sljedeća instrukcija je preuzeta iz memorijske adrese koja se trenutno čuva u programskom brojaču, i čuva se u registru za instrukcije (IR). Na kraju operacije preuzimanja, PC ukazuje na sljedeće instrukcije koje će biti pročitane u sljedećem ciklusu.
- 2. Dekodiranje instrukcije
Dekoder tumači instrukciju. Tokom ovog ciklusa instrukcija unutar instrukcijskog registra je dekodirana.
- 3. U slučaju memorijske instrukcije (direktne ili indirektne) faza izvršenja će biti u sljedećem taktu.
Ako instrukcija ima indirektni pristup, efektivna adresa se čita iz glavne memorije, i bilo koji zahtjevani podaci su preuzeti iz glavne memorije da bi se obradili i onda stavili u registre podataka (Takt: T3). Ako je instrukcija direktna, ništa nije učinjeno na tom taktu. Ako je u pitanju U/I instrukcija ili instrukcija registra, operacija se odvija (izvršava) na taktu.
- 4. Izvršavanje instrukcije
Kontrolna jedinica procesora prolazi dekodirane informacije kao niz kontrolnih signala na relevantne jedinice funkcija procesora da bi izvršila radnje koje su zahtjevane od strane instrukcija, kao što su čitanje vrijednosti iz registara, prolazeći kroz ALU da bi izvršila matematičke ili logičke operacije na njima, i upisuje rezultat nazad u registar. Ako je ALU uključena, ona šalje uslovni signal nazad na procesor.
Generisani rezultat je sačuvan u glavnoj memoriji, ili poslat na neki izlazni uređaj. Na osnovu stanja bilo kakve povratne informacije od ALU, programski brojač može da se ažurira na drugu adresu od koje će sledeća instrukcija biti preuzeta.
Ciklus se zatim ponavlja.
Reference
[uredi | uredi izvor]- ^ "instruction cycle Definition from PC Magazine Encyclopedia". www.pcmag.com. Pristupljeno 28. 11. 2019.