Kompyuter arxitekturasi fanidan labaratoriya ishi


Shakl 1. UltraSPARC-1 protsessorining blok diagrammasi


Download 281.51 Kb.
bet4/7
Sana17.06.2023
Hajmi281.51 Kb.
#1553011
1   2   3   4   5   6   7
Bog'liq
KOMPYUTER ARXITEKTURASI

Shakl 1. UltraSPARC-1 protsessorining blok diagrammasi.

UltraSPARC-1 protsessorining buyruqni oldindan qabul qilish va dispetcheri (PDU) buyruqlar buferiga buyruqlarni olish, ularni yakuniy dekodlash, guruhlash va protsessorning quvurli funktsional birliklarida parallel bajarish uchun taqsimlashni ta'minlaydi. 12 ta ko'rsatma sig'imga ega bo'lgan buyruq buferi xotira tezligini protsessorning boshqaruvchi qurilmalarini qayta ishlash tezligiga moslashtirish imkonini beradi. Ko'rsatmalar xotira ierarxiyasining istalgan darajasidan, masalan, buyruq keshidan (I-kesh), tashqi keshdan (E-kesh) yoki tizimning asosiy xotirasidan oldindan olinishi mumkin.


Protsessor ikki bitli tarmoq tarixiga asoslangan va shartli tarmoq ko'rsatmalarini tezlashtirilgan qayta ishlashni ta'minlovchi dasturning tarmoqlanish yo'nalishini dinamik prognozlash sxemasini amalga oshiradi. Ushbu sxemani amalga oshirish uchun maxsus maydon I-keshdagi har ikki ko'rsatma bilan bog'langan bo'lib, u ikki bitli bashorat qiymatini saqlaydi. Shunday qilib, UltraSPARC-1 2048 o'tish yo'nalishi haqidagi ma'lumotlarni saqlashi mumkin, bu bugungi kunda ko'plab zamonaviy amaliy dasturlarning ehtiyojlaridan oshadi. O'tish yo'nalishi har safar tegishli ko'rsatma qayta ishlanganida o'zgarishi mumkinligi sababli, o'tishning haqiqiy natijasini aks ettirish uchun har safar ikkita bashorat bitining holati yangilanishi kerak. Ushbu sxema, ayniqsa, looplar bilan ishlashda samarali bo'ladi.
Bundan tashqari, UltraSPARC-1 protsessorida I-keshdagi har to'rtta ko'rsatma bilan bog'liq bo'lgan maxsus maydon mavjud bo'lib, undan keyin olinadigan keyingi kesh qatorini ko'rsatadi. Ushbu maydondan foydalanish bajarilgan sakrashlarga muvofiq buyruq satrlarini olish imkonini beradi, bu dasturning chiziqli qismida bo'lgani kabi deyarli bir xil buyruq o'tkazish qobiliyatiga ega bo'lgan ko'p tarmoqli dasturlarni ta'minlaydi. Tarmoq yo'riqnomasining bashorat qilingan maqsadli manzili asosida ko'rsatmalarni tezda tanlash qobiliyati superskalyar protsessorning ishlashini optimallashtirish uchun juda muhim va UltraSPARC-1 ga spekulyativ tarzda juda mohir shartli tarmoq ketma-ketliklarini samarali bajarishga imkon beradi.
UltraSPARC-1 ning dinamik yo'nalishni bashorat qilish va tarmoq konvolyutsiyasi mexanizmlarini amalga oshirish nisbatan oson va yuqori ishlashni ta'minlaydi. UltraSPARC-benchmark natijalariga ko'ra, butun sonning 188% va suzuvchi nuqta shoxlanishining 94% muvaffaqiyatli prognoz qilingan.
Yo'riqnoma keshi (I-kesh) 16 KB ikki kanalli, ko'p assotsiativ keshdir. U 32 bayt ma'lumotni o'z ichiga olgan 512 qator sifatida tashkil etilgan. Har bir satrda u bilan bog'langan tegishli manzil tegi mavjud. I-keshga yozish uchun kelgan buyruqlar oldindan dekodlanadi va keshga yoziladi, ular keyinchalik qayta ishlashni osonlashtiradigan tegishli xususiyatlar bilan birga. Buyruqlarning yakuniy dekodlanishi ular buyruq buferiga yozilishidan oldin sodir bo'ladi.
UltraSPARC-1 protsessorida to'qqiz bosqichli quvur liniyasi mavjud. Bu shuni anglatadiki, ko'pgina ko'rsatmalarning kechikishi (boshdan oxirigacha bo'lgan vaqt) to'qqiz soat tsiklini tashkil qiladi. Biroq, har qanday vaqtda bir vaqtning o'zida to'qqiztagacha ko'rsatmalar qayta ishlanishi mumkin, bu ko'p hollarda har bir takt siklida ko'rsatmalarning bajarilishini ta'minlaydi. Aslida, bu tezlik ko'rsatmalarning o'zi, kesh o'tkazib yuborilganligi yoki boshqa manba ziddiyatlari tufayli sekinroq bo'lishi mumkin. C quvur liniyasining birinchi bosqichi ko'rsatmalar keshidan olingan. Ikkinchi bosqichda buyruqlar dekodlanadi va buyruqlar buferiga joylashtiriladi. Uchinchi bosqich buyruqlarni funktsional aktuatorlar bo'yicha guruhlash va taqsimlashni amalga oshiradi. Har bir takt siklida protsessorning ijrochi qurilmalariga 4 ta ko'rsatma berilishi mumkin: ikkitadan ko'p bo'lmagan butun son ko'rsatmalari yoki suzuvchi nuqta/grafik ko'rsatmalar, bitta yuklash/yozish ko'rsatmasi va bitta o'tish ko'rsatmasi. Keyingi bosqichda butun son ko'rsatmalari bajariladi yoki xotiraga kirish uchun virtual manzil hisoblab chiqiladi, shuningdek, suzuvchi nuqta (PT) ko'rsatmalarining yakuniy dekodlanishi va PT registrlariga kirish amalga oshiriladi. Beshinchi bosqichda ma'lumotlar keshiga kirish amalga oshiriladi. Keshdagi zarbalar va o'tkazib yuborilganlar aniqlanadi va o'tishlar hal qilinadi. Kesh o'tkazib yuborilganligi aniqlanganda, tegishli yuk buyrug'i yuk buferiga kiritiladi. Shu vaqtdan boshlab, butun sonli quvur liniyasi suzuvchi nuqta/grafik quvurlar tugashini kutadi va tegishli ko'rsatmalarni bajarishni boshlaydi. Keyin istisno holatlarning yuzaga kelishi tahlili o'tkaziladi. Oxirgi bosqichda barcha natijalar fayllarni ro'yxatga olish uchun yoziladi va buyruqlar ishlov berishdan o'chiriladi.
Integer Execution Unit Integer Execution Unit (IEU) ni loyihalashda asosiy masala dasturiy ta'minotning mavjud tizim va amaliy dasturlar bilan mosligini saqlab, maksimal ishlashni ta'minlashdan iborat. UltraSPARC-1 butun sonni bajarish birligi bir nechta muhim xususiyatlarni birlashtiradi:
- arifmetik va mantiqiy amallarni, shuningdek smenali amallarni bajarish uchun ALU;
-Ko‘p sonli ko‘paytirish va bo‘lish qurilmalari;
- sakkizta oyna va to'rtta global registrlar to'plamiga ega registr fayli;
-natijalarni tezlashtirilgan uzatish zanjirlarini amalga oshirish;
-to'qqiz bosqichli quvur liniyasini qurishda aylanma aylanishlarning minimal sonini (tezlashtirilgan ma'lumotlarni uzatish) ta'minlaydigan buyruqni bajarish qurilmasini amalga oshirish.
Yuklash/Yozish birligi (LSU) barcha yuklash va yozish buyruqlari (shu jumladan atom operatsiyalari) uchun virtual manzilni yaratish, maʼlumotlar keshiga kirish va D-kesh oʻtkazib yuborilgan taqdirda yuklash buyruqlarini buferlash uchun javobgardir. yuk buferi) va yozish buyruqlarini buferlash (yozish buferida). Har bir soat sikli, bitta yuklash ko'rsatmasi va bitta yozish ko'rsatmasi bajarilishi mumkin.
Floating Point Pipeline Device SPARC-V9 arxitekturasi spetsifikatsiyalari va IEEE 754 standartiga muvofiq qurilgan bo‘lib, beshta alohida funksional blokdan iborat bo‘lib, suzuvchi nuqta va grafik operatsiyalarni ta’minlaydi. Alohida ijro birliklarini amalga oshirish UltraSPARC-1 ga har bir soat siklida ikkita real operatsiyani chiqarish va bajarish imkonini beradi. Manba operandlari va operatsiyalar natijalari 32 registr sig'imi bo'lgan registr faylida saqlanadi. Ko'pgina yo'riqnomalar to'liq quvurli bo'lib, o'tkazish qobiliyati 1 soat, kechikish vaqti 3 soat va operandlarning aniqligiga bog'liq emas, bitta va ikkita aniqlik uchun bir xil kechikish vaqtiga ega. Bo'linish va kvadrat ildiz bo'yicha ko'rsatmalar quvurlarga o'tkazilmaydi va protsessorni to'xtatmasdan 12/22 tsiklda (bitta/ikki marta aniqlik) ishlaydi. Bo'lish/kvadrat ildiz bo'yicha ko'rsatmalarga amal qilgan ko'rsatmalar, bo'linish/kvadrat ildiz bo'yicha ko'rsatmalar tugagunga qadar natijani registr fayliga joylashtirish uchun chiqarilishi, bajarilishi va qayta ishlashdan olib tashlanishi mumkin. Protsessor suzuvchi nuqta quvur liniyasini butun sonli quvur liniyasi bilan sinxronlashtirish, shuningdek, uzoq bajarilish vaqtlari bo'lgan operatsiyalar uchun istisnolarni bashorat qilish vositalaridan foydalanish orqali aniq uzilish modelini qo'llab-quvvatlaydi. FPU bitta (32 bit) va ikki marta aniqlik (64 bit) bilan normallashtirilgan va normallashtirilmagan raqamlar bilan ishlashi mumkin, shuningdek, to'rt martalik aniqlikdagi raqamlar bilan operatsiyalarni qo'llab-quvvatlaydi (128 bit).
FPU qurilmasi butun sonli quvur liniyasi bilan chambarchas aloqada bo'lib, haqiqiy operandni xotiradan va undan keyingi operatsiyani qo'shimcha kechikishlarsiz o'qiy oladi. IEU va FPU maxsus boshqaruv interfeysiga ega bo'lib, u FPUdagi PDUlar tomonidan tanlangan operatsiyalarni jo'natadi. Buyruqni oldindan qabul qilish va dispetcher FPUga navbatdagi buyruqlarni tarqatadi. IEU D-kesh bilan bog'liq ba'zi operatsiyalarni boshqaradi va FPU haqiqiy ma'lumotlarni qayta ishlash operatsiyalarini bajaradi. Haqiqiy arifmetik ko'rsatmalarni bajarishda butun son birligi va FPU birgalikda ma'lumotlarga bog'liqlik mavjudligini aniqlaydi. Ularning o'rtasida mavjud bo'lgan interfeys, shuningdek, FPU istisnolari bo'lsa, o'zaro sinxronizatsiyani ham o'z ichiga oladi. O'zaro ta'sirni kamaytirish va umumiy samaradorlikni oshirish uchun FPU qo'shimcha buyruqlar buferini ta'minlaydi, uch jamoali navbat yordamida amalga oshiriladi.
UltraSPARC-1 protsessorida yuqori tezlikdagi 2D, 3D va videolarni qayta ishlash uchun apparat ta'minotini ta'minlovchi keng qamrovli grafik buyruqlar to'plami mavjud. GRU 16-bitli va 32-bitli butun sonlarda qoʻshish, taqqoslash va mantiqiy amallarni, shuningdek, 8-bit va 16-bitli butun sonlarda koʻpaytirish amallarini bajaradi. GRU bir tsiklli piksel oralig'i operatsiyalarini, ma'lumotlarni tekislash operatsiyalarini, qadoqlash va birlashtirish operatsiyalarini qo'llab-quvvatlaydi.
Protsessorning yuqori superskalyar ishlashi buyruqlar va ma'lumotlarni qayta ishlash uchun mos kelish tezligi bilan quvvatlanadi. Odatda bu vazifa tizimning xotira ierarxiyasiga to'g'ri keladi. UltraSPARC-1 protsessorining xotira menejeri virtual xotira uchun kerakli yordamni ta'minlash orqali barcha xotiraga kirishlarni boshqaradi. Vazifaning virtual manzil maydoni 64 bitli virtual manzil bilan belgilanadi, ammo UltraSPARC-1 protsessori faqat 44 bitli virtual manzil maydonini qo'llab-quvvatlaydi. Tegishli konvertatsiya operatsion tizimning funktsiyasidir.
O'z navbatida, MMU 44 bitli virtual manzildan 41 bitli jismoniy xotira manziliga xaritalashni ta'minlaydi. Ushbu konvertatsiya to'liq assotsiativ 64 qatorli buferlar yordamida amalga oshiriladi: buyruqlar uchun iTLB C va ma'lumotlar uchun dTLB C. Ushbu buferlarning har biri asosan to'liq assotsiativ sahifa deskriptor keshidir. Har bir TLB liniyasi sahifaning virtual manzili, sahifaning tegishli jismoniy manzili, shuningdek, sahifaga kirishning ruxsat etilgan rejimi va undan foydalanish haqidagi ma'lumotlarni saqlaydi. Virtual manzilni jismoniy manzilga aylantirish jarayoni, agar TLB keshida qidirish paytida hit sodir bo'lsa, darhol tugaydi (tegishli satr TLBda). Aks holda, TLB liniyasini almashtirish maxsus apparat-dasturiy ta'minot mexanizmi orqali amalga oshiriladi. MMU to'rtta sahifa hajmini qo'llab-quvvatlaydi: 8KB, 64KB, 512KB va 4MB.
Yuqorida aytib o'tilganidek, MMU xotiraga kirishni himoya qilish va nazorat qilish mexanizmlarini ham amalga oshiradi. Natijada, ishlaydigan jarayon boshqa jarayonlarning manzil maydoniga kira olmaydi va bundan tashqari, C xotirasining ma'lum sohalariga berilgan jarayonga kirish rejimi xotira sahifasiga kirishning ruxsat etilgan rejimi haqidagi ma'lumotlar asosida kafolatlanadi. Masalan, jarayon faqat o'qish uchun mo'ljallangan yoki tizim dasturlari uchun ajratilgan xotira sahifalarini o'zgartira olmaydi.
Nihoyat, MMU xotiraga kirish/chiqarish tomoni, D-kesh, I-kesh va virtualdan jismoniy manzilga aylantirish sxemalaridan kirish tartibini (ustuvorligini) aniqlash funktsiyalarini bajaradi.
UltraSPARC-1 protsessori mahalliy resurslar: protsessor, asosiy xotira, boshqaruv sxemasi va barcha tashqi tizim resurslari orasidagi barcha kirish va chiqishlarni boshqaradigan maxsus kirish/chiqish quyi tizimidan (MIU) foydalanadi. Xususan, kesh o'tkazib yuborishlari, uzilishlar, kesh muvofiqligi monitoringi, qayta yozish operatsiyalari va boshqalar bilan bog'liq barcha operatsiyalar MIU tomonidan amalga oshiriladi . MIU tizim bilan UltraSPARC-1 chastotasidan kamroq chastotada 1/2 yoki 1/3 nisbatda aloqa qiladi.
UltraSPARC-1 protsessori yozish algoritmini amalga oshiradigan to'g'ridan-to'g'ri xaritalangan 16K D-kesh ma'lumotlar keshidan foydalanadi. D-kesh 512 satr sifatida tashkil etilgan, har bir satr ikkita 16 baytli ma'lumotlar subbloklarini o'z ichiga oladi. Har bir qatorda u bilan bog'langan tegishli manzil tegi mavjud. D-kesh virtual manzil yordamida indekslanadi, teglar virtual manzilning tegishli qismini ham saqlaydi. Agar keshlangan xotira joyiga kirishda xatolik yuzaga kelsa, asosiy xotiradan 16 baytlik subblok yuklanadi.
D-keshda so'zni qidirish virtual manzil yordamida amalga oshiriladi, uning eng kam ahamiyatli bitlari kerakli so'zni o'z ichiga olgan kesh chizig'iga kirishni ta'minlaydi (to'g'ridan-to'g'ri xaritalash). Keyinchalik virtual manzilning yuqori bitlari urish yoki o'tkazib yuborishni aniqlash uchun tegishli tegning bitlari bilan taqqoslanadi. Ushbu sxema o'tkazib yuborilgan xatoni tezda aniqlashni ta'minlaydi va virtual manzilni faqat o'tkazib yuborilganda jismoniy manzilga aylantirishni ta'minlaydi.
Tizim dizaynidagi eng muhim masalalardan biri protsessorning ishlashini asosiy xotira tezligiga moslashtirishdir. Ushbu muammoni hal qilishning asosiy usullari, asosiy xotirani va o'zaro bog'lanishlar tizimini tashkil qilishning turli usullaridan tashqari, kesh xotirasining hajmini oshirish va ko'p darajali tashkil etishdir. UltraSPARC-1 tashqi keshni boshqarish bloki (ECU C E-kesh) ma'lumotlar (D-kesh) va ko'rsatmalar (E-kesh) keshlarini o'tkazib yuborishni samarali boshqarish imkonini beradi. Tashqi keshga (E-kesh) barcha kirishlar quvurlar orqali amalga oshiriladi, 3 tsiklda amalga oshiriladi va har bir siklda 16 bayt buyruqlar yoki ma'lumotlarni uzatadi. Bunday tashkilot ko'p miqdorda qayta ishlangan ma'lumotlarni o'z ichiga olgan dastur kodining ketma-ket bajarilishini samarali rejalashtirish va D-keshdagi xatolarni qayta ishlash bilan bog'liq ishlash yo'qotilishini minimallashtirish imkonini beradi. ECU tashqi kesh xotira hajmini 512 KB dan 4 MB gacha oshirish imkonini beradi.
ECU bir vaqtning o'zida elektron kesh o'qish xatolarini yozish operatsiyalari bilan ishlashni ta'minlaydi. Masalan, yukni o'tkazib yuborilgan ishlov berish paytida ECU so'rovlarga ma'lumotlarni E-keshga yozish imkonini beradi. Bundan tashqari, ECU izchil tizim xotirasi holatini saqlash bilan bog'liq bo'lgan snoopsni qo'llab-quvvatlaydi.
Birinchi RISC mashinalarini oldingi CISC mashinalaridan ajratib turadigan yana bir narsa shundaki, RISCDA mikrokod yo'q. CISC mikrokodlangan ko'rsatmalarida, ko'rsatmalar keshidan namuna olgandan so'ng, ko'rsatmalar bitlari quvur liniyasi bo'ylab pastga siljiydi, bu erda quvur liniyasining har bir bosqichidagi oddiy kombinatsiya mantig'i to'g'ridan-to'g'ri ko'rsatmalar bitlaridan ma'lumotlar kanali uchun boshqaruv signallarini yaratadi. Ushbu CISC loyihalarida an'anaviy ravishda dekodlash bosqichi deb ataladigan bosqichda juda kam dekodlash amalga oshiriladi. Ushbu dekodlashning etishmasligi natijasida ko'rsatma nima qilishini aniqlash uchun ko'proq ko'rsatma bitlaridan foydalanish kerak. Bu registr indekslari kabi narsalar uchun kamroq bit qoldiradi.
Barcha MIPS, SPARC va DLX yo'riqnomalarida ikkitadan ko'p bo'lmagan registr kirishlari mavjud. Dekodlash bosqichida ushbu ikkita registrning indekslari ko'rsatmalarda aniqlanadi va indekslar registr xotirasiga manzil sifatida taqdim etiladi. Shunday qilib, nomlangan ikkita registr registr faylidan o'qiladi . MIPS dizaynida registr fayli 32 ta yozuvga ega edi.
Shu bilan birga, registr fayli o'qilganda, ushbu bosqichda buyruqlar berish mantig'i quvur liniyasi ushbu bosqichda ko'rsatmalarga tayyor yoki yo'qligini aniqlaydi. Aks holda, muammoning mantig'i ko'rsatmalarni tanlash bosqichini ham, dekodlash bosqichini ham to'xtatishga olib keladi. To'xtatish tsiklida kirish triggerlari yangi bitlarni qabul qilmaydi, shuning uchun ushbu tsikl davomida yangi hisob-kitoblar amalga oshirilmaydi.
Agar dekodlangan ko'rsatma o'tish yoki o'tish bo'lsa, o'tish yoki o'tishning maqsadli manzili registr faylini o'qish bilan parallel ravishda hisoblanadi. Tarmoqlanish sharti keyingi tsiklda hisoblanadi (registr faylini o'qib bo'lgandan keyin) va agar dallanma bajarilsa yoki ko'rsatma o'tish bo'lsa, kompyuter birinchi bosqichda hisoblangan kattalashtirilgan kompyuterga emas, balki tarmoqlanish maqsadiga ega bo'ladi. Ba'zi arxitekturalar buyruqlar o'tkazuvchanligini biroz pasaytirish orqali ijro bosqichida arifmetik mantiqiy blokdan (ALU) foydalangan.
Dekodlash bosqichida juda ko'p uskunalar talab qilindi: agar ikkita registr teng bo'lsa, MIPS dallanish qobiliyatiga ega, shuning uchun 32-bitli daraxt va registr faylini o'qib chiqqandan so'ng ketma-ket ishga tushadi va bu bosqich orqali juda uzoq tanqidiy yo'lni yaratadi (bu soniyada kamroq tsikllarni anglatadi). Bundan tashqari, o'tish maqsadini hisoblash uchun odatda 16 bitli qo'shimcha va 14 bitli o'sish kerak edi. Dekodlash bosqichida dallanishni hal qilish faqat bitta tsiklda dallanishni noto'g'ri bashorat qilish uchun jarima olishga imkon berdi. Filiallar juda tez-tez qabul qilinganligi sababli (va shuning uchun noto'g'ri taxmin qilingan), jarimani past darajada ushlab turish juda muhim edi.
Execute
Ijro bosqichida haqiqiy hisoblash amalga oshiriladi. Odatda, bu kaskad alu va bit shifteridan iborat. Shuningdek, u ko'p tsiklli multiplikator va bo'linuvchini o'z ichiga olishi mumkin.
Alu mantiqiy operatsiyalarni (and, or, not, nand, nor, xor, xnor) bajarish va butun sonni qo'shish va ayirish uchun javobgardir. Natijadan tashqari, ALU odatda holat bitlarini taqdim etadi, masalan, natija 0 bo'lganmi yoki toshib ketganmi.
Bit-Shift siljish va burilish uchun javobgardir.
Quvur liniyasi qulfi bo'lmasligi kerak biroq, har qanday ma'lumot uzatish bilan ishlatiladi. Birinchi misolSUB, so'ngra ANDikkinchi misolLD, so'ngra ANDbirinchi bosqichni to'xtatish orqali hal qilinishi mumkin. ro'yxatga olish faylida teskari yozuv va ma'lumotlarga erishilgunga qadar uchta tsikl uchun, natijada dekodlash bosqichida ANDto'g'ri registr qiymati tanlanadi. 

Download 281.51 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling