Tölvumál - 01.03.1994, Blaðsíða 26
Mars 1994
ljóssins, sem er um 300.000 km á
sekúndu. Þetta þýðir að eftir því
sent klukkutíðni örgjörva eykst
verða þeir að vera smærri til að
rafpúlsarnir komist um allan
örgjörvan. Örgjörvar munu því
sífellt ntinnka, en þar rekumst
við á aðra grundvallartakmörkun,
Mynd 2.
sem er stærð atóma. Að sjálf-
sögðu hlýtur að vera einhver lág-
marksfjöldi atóma sem þarf til að
smíða örgjörva. Við erum þó
enn nokkuð langt frá þessum tak-
mörkunum í venjulegum ör-
gjörvunt.
Aðferðir til
hraðaaukningar
Ýmsar aðferðir hafa á síðustu
árum verið reyndar til að auka
hraða örgjörva. Flestar aðferð-
irnar eiga það sameiginlegt að
þær eru nokkuð sérhæfðar og
nýtast sjaldnast til fulls. Ekki svo
að skilja að þær auki ekki hrað-
ann; það gera þær tvímælalaust.
Gallinn við þær er hins vegar sá
að samsetning forritsins skiptir
miklu máli um það hvort hraða-
aukning verði. Það er hægt að
skrifa forrit sem eru þannig að
þessar aðferðir nýtast ekki neitt
tilhraðaaukningar. Síðanerhægt
að skrifa önnur forrit, þar sem
hraðinn eykst margfalt. Fyrir flest
forrit er hraðaaukningin einhvers
staðar þar á milli. Lítum nú að
nokkrar þessara aðferða.
Nær allir örgjörvar nútímans nota
pípun (pipelining) að einhverju
leyti. Líkja má pípun við færi-
band. Framkvæmd skipana er
brotin upp í nokkur þrep, allt frá 3
upp í 12, eftir örgjörvum. Flvert
þrep fær jafnlangan tíma, sem er
einn klukkupúls örgjörvans. Ef
pípunin gengur upp þá
lýkurframkvæmd einnar
skipunar á hverjum
klukkupúls og það virð-
ist sem hver skipun taki
aðeins einn púls í fram-
kvæmd,en svoerauðvit-
að ekki því hver skipun
tekur jafnmarga púlsa og
það eru þrep í pípuninni.
Við getum borið þetta
saman við færiband í
bílaverksmiðju, þó að
að komi út nýr bíll á 10
mínútna fresti, þá þýðir það ekki
að aðeins taki 10 mínútur að
smíða einn bíl!
Það eru nokkur atriði sem geta
komið í veg fyrir að pípun virki
eins og hún á að gera. Eitt af
þeim er að það eru oft tengsl á
milli skipana. Ef ein skipun þarf
að nota innihald gistis sem næsta
skipun á undan er að reikna út þá
verður seinni skipunin (og þar
með allar skipanir á eftir) að
bíða þar til niðurstaðan er til-
búin. Hægt er að minnka áhrifin
af háðum skipunum ef mögulegt
er að stinga á milli þeirra öðrurn
skipunum sem ekki nota sömu
gistu. Þetta getur verið erfitt að
gera í öllum tilfellum, en þýð-
endur reyna þetta oftast í þeim
smalamálsforritum sem þeir búa
til.
Annað mikilvægt atriði sem
hindrar fulla nýtingu pípunar, eru
stýriskipanir. Ef um er að ræða
skilyrtar stýriskipanir þá getur
verið að ekki verði ljóst að
hoppa eigi til í forritinu fyrr en í
síðustu þrepurn pípunar. Þá eru
komnar inn í pípuna nokkrar skip-
anir, sem eru á eftir stýriskipuninni
og eiga því ekki að framkvæmast.
Það þarf hins vegar að byrja að
frantkvæma skipanirnar sem eru
á staðnum sem hoppað er í. Við
þetta verður töf, senr getur verið
nokkrirklukkupúlsar. Vegnaþess
hve algengar skilyrtar stýri-
skipanir eru í forritum á nútíma
örgjörvum (oft 20 - 30% fram-
kvæmdra skipana) er mikilvægt
að lágmarka þessa töf. Marg-
víslegar aðferðir eru notaðar við
það, en engunt hefur tekist að
koma algerlega í veg fyrir ein-
hverja töf í öllum tilfellum.
Önnur aðferð til hraðaaukningar
sem rutt hefur sér til rúms að
undanförnu er að fjölga reikni-
verkunt örgjörvans. Slíkir ör-
gjörvar kallast oft superscalar.
Algengast er að notuð séu tvö
reikniverk, annað sem sér um
framkvæmd fleytitöluskipana, en
hitt sér um allar heiltöluskipanir.
Yfirleitt eru bæði reikniverkin
pípuð, á mismunandi hátt þó. Ef
forritið er nokkurn vegin jöfn
blandaheiltölu-ogfleytitöluskip-
ana þá er hægt að ná um tvö-
földun ákeyrsluhraða. Slíkbesta
blanda skipana kemur þó sjaldan
upp. Stundum hafa forrit engar
fley titöl uskipanir, s vo að þá nýtist
fleytitölureikniverkið ekkert.
Einnig geta komið upp árekstrar
milli skipana sem eru í fram-
kværnd í mismunandi reikniverk-
um og þá verður að stöðva
framkvæmd í einu reikniverki þar
til lokið er keyrslu skipunar í
öðru reikniverki og niðurstaða
komin í gisti. Stundum er hægt
að umraða skipunum til að lág-
marka þessar tafir, en til eru forrit
sem notar öll reikniverkin, en nær
engri hraðaaukningu vegna
fjölgunar reikniverka.
Aukning á klukkutíðni örgjörv-
ans virðist nokkuð örugg aðferð
26 - Tölvumál