13-маъруза
Хисоблашларни конвейерли
ташкиллаштириш.
Режа.
1.Маълумотларни конвейер асосида
ишлаш.
2.Суперскаляр хисоблашлар. Hyper-
threading технологияси.
Маълумотларни параллел ишлашнинг
иккита асосий шакли мавжуд:
1.Буйруқлар сатҳидаги параллеллик.
2.Процессорлар сатҳидаги параллеллик.
Биринчи ҳолатда унумдорликни ошириш
учун, ҳар бир секундда кўпроқ буйруқларни
бажарилишини йўлга қўйиш керак бўлади.
Иккинчи ҳолатда унумдорликни ошириш
эса, битта топшириқни бажаришни, бир
вақтда бир неча процессорларга юклаш
билан эришилади.
Буйруқлар сатҳидаги параллеллик –
конвейер ғоясига асосланган. Intel 486
процессори битта беш сатҳли конвейерга,
ундан кейин ишлаб чиқарилган дастлабки
Pentium процессори эса иккита беш сатҳли
конвейерга эга эди.
Процессорларда буйруқларни конвейер
асосида ишлаш деганда, буйруқларнинг
бажарилиш жараёни бир нечта қадамларга
бўлинган бўлиб, ҳар бир қадам – маълум
бир блок томонидан ўзаро параллел
тарзда амалга оширилиши тушунилади
Бу блокларни процессорнинг аппарат
қисми ҳисобланган – ўзига хос қурилмалар
деб қараш мумкин. 1 - расмда бешта
блокдан иборат бўлган, беш сатҳи
конвейер келтирилган. Бу блоклар -
босқичлар ҳам деб аталади.
Биринчи босқич (С1 блоки) – асосий
хотирада ёзилган буйруқни чақириб олади
ва оралиқ хотирага, яъни буйруқлар
регистри IR-га жойлаштиради.
Иккинчи босқич (С2 блоки) – буйруқни
декодлайди, яъни уни қандай буйруқ
эканлигини ва ушбу буйруқнинг
операндалари қандай операндалар
эканлигини аниқлайди. Операндалар
деганда буйруқни бажарилишида
қатнашадиган маълумотлар тушунилади.
Учинчи босқич (С3 блоки) – опрендалар
қайерда жойлашганлигини аниқлайди ва
уларни ички регистрлардан ёки асосий
хотирадан чақириб олади.
Тўртинчи босқич (С4 блоки) – операнда-
ларни маълумотлар тракти орқали ўтказиш
билан буйруқни бажаради.
Бешинчи босқич (С5 блоки) – ҳосил бўлган
натижани қайтиб буйруқда кўрсатилган
регистрга ёзади.
1
б) - расмда конвейерни вақт бўйича
қандай амалга оширилишини кўришимиз
мумкин.
Абсцисса ўқи бўйлаб кўрсатилган вақт
бўйича биринчи циклда С1 блоки 1-инчи
буйруқни ишлашни бошлайди, яъни ушбу
буйруқ хотирадан чақириб олинади.
Иккинчи циклда эса С2 блок 1-инчи
буйруқни декодлашни амалга ошираётган
пайтда, С1 блок 2-нчи буйруқни хотирадан
чақириб олади.
Учинчи циклда С3 блоки, 1-инчи буйруқ-
нинг операндаларини чақириб олаётган
пайтда, С2 блоки 2-нчи буйруқни декодлай-
ди, С1 блоки эса 3-инчи буйруқни хотира-
дан чақириб олади.
Тўртинчи циклда С4 блоки 1-инчи буйруқ-
ни бажаришни амалга ошираётган пайтда,
С3 блоки 2-нчи буйруқнинг
операндаларини чақириб олаётган бўлади,
С2 блоки 3-инчи буйруқни декодлаётган
бўлади, С1 блоки эса 4-инчи буйруқни
хотирадан чақириб олаётган бўлади.
Ва ниҳоят 5-инчи циклда С5 блоки 1-инчи
буйруқ бажарилгандан сўнг ҳосил бўлган
натижани регистрлардан бирига қайтиб
ёзаётганида, конвейернинг бошқа босқич-
лари кейинги буйруқларни ишлашни
амалга ошираётган бўладилар.
Ушбу кўриб чиқилган – буйруқларни кон-
вейерли ишлаш чизмасида, ҳар бир циклни
2 нс деб олсак, битта буйруқни конвейер-
дан ўтиши учун 10 нс керак бўлади. Бирин-
чи қарашда, бундай конвейер асосида
қурилган компьютер 1 секундда 100 милли-
онта буйруқни бажараётгандек бўлиб
кўринади. Аслида, конвейернинг қўллани-
лиши натижасида эса, бешинчи босқичдан
бошлаб, ҳар бир босқичда 5-тадан буйруқни
бажарилаётганини ҳисобга олсак, 1 секунд-
да 500 миллионта буйруқни бажаришга
эришилади.
Конвейер ғоясини амалга оширишда иш-
латилган ёндошишлардан яна бири бу – кўп
Do'stlaringiz bilan baham: |