2.7. Замонавий процессорлар
Процессор элементларининг шаклланиш тартибини унинг классик схемасида кўриб чиқамиз. Унинг структурасида аввал кўриб чиқилган хотира ва процессорнинг асосий боғламалари ўзаро амалларининг тамойиллари акс этган.Аввал баён этилган буйруқларга ишлов беришнинг бешта босқичи бу ерда соддалаштирилган (2.22-расм). Буйруқлар ва маьлумотлар биринчи даражадаги L1 кеш-хотиранинг турли қисмларидан ўқилади. Бу биринчи босқичдир. Кейинги танланган буйруқлар процессорнинг боғламалари учун тушунарли бўлган машина кодларига декодланади. Бу иккинчи босқичдир. Учинчи босқичда бажарувчи блоклар (АМҚ, аккумулятор, ички регисторлар) зарур ҳисоблашларни бажаради ва ишлов бериш натижасини шакллантиради. Сўнгги тўртинчи босқичда натижаларни ёзиш амалга оширилади.
Кўриб турганимиздек, оддий ҳолда буйруқ камида тўртта ишлов бериш босқичларидан ўтади. Улар конвейернинг поғоналари ҳисобланади :
кэш-хотирадан танлаш ;
декодлаш ;
бажарилиш ;
натижани ёзиш.
Келтирилган ишлов бериш жараёни шартли характерга эга. Реал замонавий процессорларда буйруқларга ишлов бериш конвейери мураккаброқ ҳисобланади ва кўп сонли поғоналарга эга бўлади, лекин процессорнинг қурилиш идеологияси ўзгармасдан қолади.
Тўртта ишлов бериш босқичларидан ҳар бири конвейернинг бир неча поғоналаридан иборат бўлиши мумкин (масалан, Pentium IV процессорларида конвейернинг узунлиги 20-30 тани ташкил этиши мумкин). Бундан ташқари, замонавий процессорларда олдиндан танлаш операцияси мавжуд. Бу оператив хотирадан (ёки L2 хотирадан) L1 кэш-хотирага буйруқларни ва маьлумотларни юклаш операцияларидир. L1 кэшдан буйруқларга ишлов бериш процессор боғламаларига (яьни ички регистрларга) буйруқларни юклаш маьлум узунликдаги блокларда амалга оширилади. Кейин улардан декодлаш учун буйруқлар ажратилади.
Буйруқлар оқимида тармоқланиш ва ўтишлар учраса, буйруқларнинг навбатдаги блокини ўқиш олдиндан айтиш механизмидан фойдаланиб амалга оширилади.
Процессорнинг унумдорлиги вақт бирлиги ичида бошқариладиган буйруқлар сонини аниқлайди. Бу нуқтаи назардан унумдорликни оширишнинг иккита варианти мавжуд. Биринчиси, конвейернинг поғоналарини ошириш, мос равишда бажариладиган блоклар боғламаларининг сонини ошириш, ҳар бир босқичларда ишлов бериш вақтини қисқартириш ва бажарувчи блок ишлаш тезлигини ошириш ҳисобланади. Иккинчиси, конвейернинг босқичларини қисқартириш, ҳар бир босқичларда бажариладиган ишлар ҳажмини ошириш, бажарувчи блоклар сонини ошириш ҳисобланади. Ҳар иккала усул афзалликлар ва камчиликларга эга, лекин уларнинг ҳар иккаласида битта муаммо мавжуд бўлиб, агар тартиб бўйича кейинги буйруқларнинг бажарилиши учун аввалги буйруқнинг бошқарилиши натижасини билиш талаб қилинса, конвейер босқичларининг параллел бажарилиши бўлмайди, уни қайта юклаш талаб қилинади. Замонавий процессорлар архитектурасида конвейерли ишлов бериш механизмларини такомиллаштириш билан бир қаторда мультимедиа технологияларини ишлатишда векторли ишлов бериш, кўп фойдаланишли ядроли процессорлар каби долзарб муаммолар ўз аксини топган.
Бир неча бирлаштирилган операндларни бир вақтда ишлов бериш учун махсус буйруқлар гуруҳини ишлатиш тараққиёт йўналишларидан бири бўлади. Бундай буйруқлар аудио ва видео сигналларга ишлов бериш жараёнини тезлаштиради, шунинг учун улар ММХ (Multi Media Extension-мультимедиали кенгайтириш) номини олади. Мультимедиа, график иловалар масалаларини ечишда кўпинча катта маьлумотлар массиви устида бир хил операцияларни бажарадиган рақамли ишлов беришнинг мураккаб алгоритмлари ишлатилади. Мазкур ҳолда мақсадли қўлланиш маьлумотлар векторининг (оқими) бир буйруқ билан ишлов бериш тамойили тўлароқ ишлатилади. Бундай ишлов бериш тамойили биринчи марта Pentium II процессорида ишлатилган (1997 йил).
Ривожланишининг кейинги қадами (Pentium III) ММХ технологиялари сўзларига вергулли бир неча сонлар устида бир вақтда операцияларни бажарадиган қўшимча буйруқлар гуруҳини киритиш йўли билан ривожлантириш бўлади. Процессорлар архитектураларини бундай кенгайтириш SSE – Streaming SIMD Extension (SIMD- буйруқларни кенгайтириш) буйруқлар тизими номини олади. Натижада 70 та янги буйруқ киритилди (қайд этилган вергул билан ишлаш учун ММХ туридаги 57 буйруқни қўшганда).
Сўнгги йиллар замонавий процессорларнинг унумдорлигини оширишда сезиларли натижаларни келтирди. Процессорларнинг ядроси, шинали алмаштиришнинг ташкил этилиши такомиллаштирилди, ички ва ташқи хотира даражалари технологик ва мантиқий жиҳатдан ажратилди, буйруқлар тизими такомиллаштирилди. Бироқ дастурий таьминот фойдаланувчилари ва ишлаб чиқувчилар тизимларнинг қувватини оширишни талаб қилди, шунинг учун процессорлар ядроларининг сонини ошириш инқилобий ечим бўлди.
Биринчи бундай чипни Intel компанияси 2005 йилда ишлаб чиқарди, 2006 йилнинг ўзида эса бозорга икки ядроли Intel Cove процессор чиқарилди. Бу кейинги саккизинчи авлод кўп ядроли процессорларнинг ривожланишига туртки бўлди. Микропроцессор техникасининг биринчи моделларидан кўп ядроли архитектураларгача такомиллашуви ва ривожланишини Intel корпорацияси тажрибаларидан яхши ўрганиш мумкин, уларнинг ғоялари компьютерлар ривожланишининг кўплаб замонавий аньаналарининг бошланишига сабабчи бўлди.
Intel корпорацияси биринчи микропроцессорлар (1974 йил) бозорга чиқарилган вақтдан бошлаб ўтган даврда процессорларни кўплаб хилма-хил моделларини ишлаб чиқди. Бу процессорлар IBM фирмасининг компьютерларида кенг қўлланилмоқда. Intel процессорларининг олдинги моделларига тўхталмасдан, уларнинг сўнгги Pentium оиласидаги 32-разрядли моделларини кўриб чиқамиз.
Бу процессорлар ички структура билан, маълумотлар ва буйруқларни сақлаш учун ажратилган кэш-хотирани киритиш ёрдамида маълумотлар ва буйруқлар оқимларининг ажратилиши, гарвард архитектурасининг ишлатилиши билан ажралиб туради. Бу процессорларда суперскаляр архитектура ишлатилган бўлиб, бунда бир неча операциялар бир вақтда тўрт ижрочи қурилмаларида бажарилади. Иккита бутун сонли операндлар учун, битта сурилувчи вергулли сонларга ишлов бериш учун, битта шартли ўтиш буйруқлари учун ишлатилади. Конвейерда бир вақтда турли бажарилиш поғоналарида бўлган бешта буйруқ бўлиши мумкин. Ўтишларни олдиндан айтиш процедураси ишлатилган бўлиб, у бўлиниш эҳтимоли борлигини олдиндан (тармоқланиш шартини ҳисоблашгача) аниқлашга имкон беради. Шу туфайли, шартли ўтишлар буйруқлари бажарилишида ўта қайта юкланишлар сонини сезиларли қисқартиришга эришилди.
Pentium процессорларининг кейинги моделларида конвейернинг бажарувчи буйруқлар поғоналари 12 тагача етказилган, L1 ва L2 икки кристалли кўринишда такомиллаштирилган кэш-хотира пайдо бўлди (Pentium Prо).
1998 йилдан ишлаб чиқарилган Pentium II Хео 450 Мгц гача такт частотасига эга бўлди ва мультипроцессорли тизимларни (8та процессоргача) ишлатиш учун такомиллаштирилган воситаларга эга бўлди. Бу янгиликлар олтинчи авлод процессорлари учун характерлидир:
32 разрядли ички структура;
36 разрядли манзил ва 64 разрядли маълумотлар тизим шинаси;
ички L1 кэш-хотира, алоҳида L2 кэш-хотира, уларнинг ҳар бири буйруқлар ва маълумотларни ажратилган ҳолатда сақлаши (мос равишда L1 – 16 кбайт, L2 – 2 Мбайт);
буйруқларни 12- даражали конвейерда бажарилиши;
сурилувчи вергулли операцияларнинг тезлаштирилган бажарилиши;
мультипроцессор тизимларининг ишлатилишни қўллаб–қувватлаш;
ўзини тестлаш ички воситаларининг, созлаш ва унумдорлик мониторингининг мавжудлиги.
Бу характеристикалар Р6 оиладаги процессорларига UNIX, Windows, Solaris ва бошқа операцион тизимлар бошқаришида самарали ишлашга имкон берди. Р6 оиласидаги моделларда қўйилган қуриш идеологияси Pentium Pro моделларидан Pentium III моделларигача мавжуд бўлди.
Процессорларни ривожлантиришдаги кейинги қадам IA-64 (1999) архитектура бўлди. Бу архитектура серверларда ва қувватли ишчи станцияларда қўлланишга мўлжалланган, шунинг учун юқори разрядликдаги процессорларга асосланган. IA-64 - бу 64 разрядли процессорлар учун Intel архитектураси разрядни ошириш катта ҳажмли хотирани манзиллаштириш, катта диапазондаги сонларда операциялар, параллел ҳисоблашларнинг самарадорлигини оширишга имкон беради.
IA-64 архитектурасини ташкил этишнинг асосий тамойили юкламанинг бажарилиш давридан компиляция даврига ўтказиш. Олдинги процессорларда кўп поғонали конвейерли ишлов беришни (демак, суперскаляр) ишлатишда алоҳида (асосий) эътибор ўтишларни аниқ олдиндан айтишга ва буюруқларнинг бир-бирларидан кетма-кетлигининг самарали мустақиллигини шакллантиришга ажратилди. Бунинг учун бажарилишидан олдин буйруқлар ички регисторлардан фойдаланиш, функционал блокларга юкламаларни тақсимлаш, процессор ҳолатини доимо таҳлил қилиш йўли билан керакли кетма-кетликда тартибланади. IA-64 моделларда бу функциялар компиляторда бажарилади, у дастлабки таҳлил ва буйруқлар қайта тартибланиши натижасида аппаратли воситалар билан ортиқча ўзгаришларсиз бажариладиган дастурни ишлаб чиқаради.
Буйруқлар компилятор билан турли функционал блокларда параллел бажарилиши учун гуруҳланади. Процессорларнинг схемотехник ечимларида навбатдан ташқари, суперскаляр буйруқларнинг бажарилишига жавоб берадиган мураккаб мантиқ йўқолади, шунинг учун процессор чипида кэш-хотирага, процессорларнинг ички бажарувчи блокларига катта жой ажратилади. Процессор ўта оператив хотиранинг учта даражали иерархиясига эга, бунда L1 ва L2 кэш-хотиралар процессорларнинг ўзини кристаллига жойлаштирилган, L3 кэш-хотиранинг микросхемалари эса процессорнинг картриж платасига жойлаштирилади.
Компилятор ҳам буйруқлар орасида, ҳам уларга хизмат қиладиган регистрлар орасида баҳсли вазиятларнинг бўлмаслиги шарти билан бажарилишга буйруқлар гуруҳини шакллантиради.
Шундай қилиб, IA-64 архитектурали процессорларда бир неча тезкорликни ошириш механизмлари ишлатилади:
яққол параллелизмли конвейерли ишлов бериш, бир хил узунликдаги оддий буйруқлардан фойдаланиш;
компилятор орқали буйруқларни гуруҳлаштириш ва мос бажарувчи блокларга узатиш;
процессорнинг ички кристалли ва картрижида кўп даражали кэшлашни ташкил этиш ҳисобига хотирага тезлаштирилган мурожаат этиш.
Унумдорликни икки усулда-такт частотасини ошириш ёки процессорнинг битта тактида ишлай олинадиган буйруқларнинг сонини кўпайтириш билан ошириш мумкин. Такт частотаси ўзининг чегаравий қийматларига етиб бўлганлиги боис, ишлов бериш блоклар сонини ошириш ва уларни параллел ишлашини таъминлаш оптималроқ бўлиб колди.
Do'stlaringiz bilan baham: |