II dio Mikroprocesor
2.12. Preklapanje instrukcija

2.12.1. Preklapanje instrukcija

2.12.1.3. Izvršavanje uz preklapanje koraka u instrukciji

U najjednostavnijim slučajevima instrukcija se dijeli na 3 koraka: dohvatanje (F), dekodiranje (D) i izvršavanje (E) instrukcije (slika 19.b). Za vrijeme izvršavanja svakog od koraka po jedan dio računarskih resursa ostaje neiskorišćen: kada se izvršava dohvatanje, procesor je slabo iskorišćen, kada se izvršava dekodiranje ne koristi se ni ALU niti se pristupa memoriji, dok se za vrijeme izvršavanja instrukcije ne koristi upravljačka jedinica niti se pristupa memoriji. Osnovna ideja je preklopiti ova 3 koraka i na taj način povećati performanse procesora, tj. skratiti vrijeme potrebno za izvršavanje instrukcije. Instrukcije koje se dohvataju smještaju se u vodove instrukcija (eng. pipeline). Pri kretanju kroz vodove, instrukcije prelaze iz jedne u drugu fazu obrade. Kod ove tehnike nikada se ne izvršavaju istovremeno dve iste faze iz različitih instrukcija. Ovaj način obrade je bio dominantan do kraja 1980-ih godina.
Preklapanje faza instrukcije teorijski je omogućilo proprocionalno smanjenje vremena potrebnog za njeno izvršavanje. Međutim, u realnim situacijama ovo se ne dostiže iz najmanje dva razloga:

1. Vrijeme potrebno za izvršavanje je duže od vremena potrebnog za dohvatanje instrukcije. Izvršavanje obuhvata pristup operandima, izvršavanje operacionog koda i čuvanje rezultata. Zbog toga koraci u kojima se dohvata i dekodira instrukcija moraju imati određeno vrijeme čekanja dok se ne oslobodi prostor u baferu sa instrukcijama.

2. Nailazak na instrukciju uslovnog grananja dovodi do toga da nije poznata adresa naredne instrukcije koju treba dohvatiti. U tom slučaju korak u kome se obavlja dohvatanje mora da sačeka završetak izvršavanja instrukcije uslovnog grananja da bi dobio adresu naredne instrukcije.

Prvi razlog se može donekle neutralisati podjelom instrukcije na veći broj koraka (npr. slika 19.c). Na taj način će se izvršavanje instrukcije na “pokretnoj traci” sastojati iz više faza koje će međusobno imati približno jednaka vremena. Procesori su, u kasnijem periodu korišćenja ove tehnologije, dijelili instrukciju često na 10 i više koraka. Ipak, negativni efekti koji nastaju usljed instrukcija uslovnog grananja se ne mogu eliminisati iz programa već samo ublažiti i zbog toga se u savremenim mikroprocesorima posebna pažnja poklanja obradi uslovnog grananja.

Preklapanje instrukcija - Sekvencijalno izvršavanje    <    Index    >    Preklapanje instrukcija - Izvršavanje superpreklapanjem