XVIII. O‘TTIZ IKKI RAZRYADLI KOMPYUTER PROTSESSORINING
TUZILISHI
O‘ttiz ikki razryadli kompyuter protsessorining tuzilishi va qanday ishlashini
o‘rganish jarayonida, kompyuterlarning unumdorligini oshirishda qo‘llaniladigan -
ma’lumotlarni parallel ishlash shakllarini
tushunib olish muhim ahamiyatga egadir
[2]. Ma’lumotlarni parallel ishlashning ikkita asosiy shakli mavjud:
1.Buyruqlar sathidagi parallellik.
2.Protsessorlar sathidagi parallellik.
Birinchi holatda unumdorlikni oshirish uchun, har bir sekundda ko‘proq
buyruqlarni bajarilishini yo‘lga qo‘yish kerak bo‘ladi. Ikkinchi holatda
unumdorlikni oshirish esa, bitta topshiriqni bajarishni, bir vaqtda bir necha
protsessorlarga yuklash bilan erishiladi.
112
Avval, o‘ttiz ikki razryadli bitta protsessorli kompyuterlarning unumdorligini
oshirishda qo‘llanilgan –
buyruqlar sathidagi parallelik
nima ekanligini tushuntirib
o‘tamiz. Ma’lumotlarni parallel ishlash shakllari, Intel firmasi tomonidan ishlab
chiqarilgan, tartib bo‘yicha firmaning ikkinchi 32-razryadli, nisbatan
takomillashtirilgan Intel 486 protsessoridan boshlab qo‘llanilgan. Buyruqlar
sathidagi ushbu shakldagi parallellik –
konveyer
g‘oyasiga
asoslangan. Intel 486
protsessori bitta besh sathli konveyerga, undan keyin ishlab chiqarilgan dastlabki
Pentium protsessori esa ikkita besh sathli konveyerga ega edi.
Protsessorlarda buyruqlarni konveyer asosida ishlash deganda, buyruqlarning
bajarilish jarayoni bir nechta qadamlarga bo‘lingan bo‘lib, har bir qadam – ma’lum
bir
blok
tomonidan o‘zaro parallel tarzda amalga oshirilishi tushuniladi. Bu bloklarni
esa protsessorning apparat qismi hisoblangan – o‘ziga xos qurilmalar deb qarash
mumkin. 3.10, a) - rasmda beshta blokdan iborat bo‘lgan,
besh sathi konveyer
keltirilgan. Bu bloklar - bosqichlar ham deb ataladi.
3.10-rasm. Beshta sathli konveyer (a); o‘tilgan sikllarga mos keladigan,
har bir bosqichning holati (b), jami 9-ta sikl ko‘rsatilgan.
Birinchi bosqich (C1 bloki) – asosiy xotirada yozilgan buyruqni chaqirib oladi
va oraliq xotiraga, ya’ni buyruqlar registri
IR
-ga joylashtiradi.
Ikkinchi bosqich (C2 bloki) – buyruqni dekodlaydi, ya’ni uni qanday buyruq
ekanligini va ushbu buyruqning operandalari qanday operandalar ekanligini
113
aniqlaydi. Operandalar deganda buyruqni bajarilishida qatnashadigan ma’lumotlar
tushuniladi. Bu operandalar – ishorali yoki ishorasiz butun sonlar, suriluvchi nuqtali
sonlar, o‘nli-ikkilik sonlar, simvolli yoki mantiqiy ma’lumotlardan biri bo‘lishi
mumkin.
Uchinchi bosqich (C3 bloki) – oprendalar qayerda joylashganligini aniqlaydi
va ularni ichki registrlardan yoki asosiy xotiradan chaqirib oladi.
To‘rtinchi bosqich (C4 bloki) – operandalarni ma’lumotlar trakti orqali
o‘tkazish bilan buyruqni bajaradi (1.1-paragrafdagi 1.6-rasmga qaralsin).
Beshinchi bosqich (C5 bloki) – hosil bo‘lgan natijani qaytib buyruqda
ko‘rsatilgan registrga yozadi.
3.10, b) - rasmda konveyerni vaqt bo‘yicha qanday amalga oshirilishini
ko‘rishimiz mumkin. Abssissa o‘qi bo‘ylab ko‘rsatilgan vaqt bo‘yicha birinchi
siklda C1 bloki 1-inchi buyruqni ishlashni boshlaydi, ya’ni ushbu buyruq xotiradan
chaqirib olinadi. Ikkinchi siklda esa C2 blok 1-inchi buyruqni dekodlashni amalga
oshirayotgan paytda, C1 blok 2-nchi buyruqni xotiradan chaqirib oladi. Uchinchi
siklda C3 bloki, 1-inchi buyruqning operandalarini chaqirib olayotgan paytda, C2
bloki 2-nchi buyruqni dekodlaydi, C1 bloki esa 3-inchi buyruqni xotiradan chaqirib
oladi. To‘rtinchi siklda C4 bloki 1-inchi buyruqni bajarishni amalga oshirayotgan
paytda, C3 bloki 2-nchi buyruqning operandalarini chaqirib olayotgan bo‘ladi, C2
bloki 3-inchi buyruqni dekodlayotgan bo‘ladi, C1 bloki esa 4-inchi buyruqni
xotiradan chaqirib olayotgan bo‘ladi. Va nihoyat 5-inchi siklda C5 bloki 1-inchi
buyruq bajarilgandan so‘ng hosil bo‘lgan natijani registrlardan biriga qaytib
yozayotganida, konveyerning boshqa bosqichlari keyingi buyruqlarni ishlashni
amalga oshirayotgan bo‘ladilar.
Ushbu ko‘rib chiqilgan – buyruqlarni konveyerli ishlash chizmasida, har bir
siklni 2 ns deb olsak, bitta buyruqni konveyerdan o‘tishi uchun 10 ns kerak bo‘ladi.
Birinchi qarashda, bunday konveyer asosida qurilgan kompyuter 1 sekundda 100
millionta buyruqni bajarayotgandek bo‘lib ko‘rinadi. Aslida, konveyerning
qo‘llanilishi natijasida esa, beshinchi bosqichdan boshlab, har bir bosqichda 5-tadan
114
buyruqni bajarilayotganini hisobga olsak, 1 sekundda 500 millionta buyruqni
bajarishga erishiladi.
3.10-rasmda tushuntirilgan konveyer, yuqorida ta’kidlab o‘tganimizdek Intel
486 protsessorida amalga oshirilgan edi. Intel protsessorlari oilasiga mansub
dastlabki Pentium protsessorida esa, ana shunday konveyerlarning ikkitasini bir
vaqtda ishlashi yo‘lga qo‘yilgan edi. Bu konveyer –
buyruqlarni tanlashning
umumiy blokiga ega bo‘lgan, besh sathli ikki qatorli konveyer
deb atalgan (3.11-
rasm).
3.11-rasm. Buyruqlarni tanlashning umumiy blokiga ega bo‘lgan, besh sathli
ikki qatorli konveyer.
Pentium protsessorining birinchi - bosh konveyeri
|