VLIW apparat-dasturiy kompleksi
VLIW: Yangi avlod eski arxitekturasi
VLIW arxitekturasi mikroprotsessorlarda ichki parallellik kontseptsiyasining amalga oshirilishidan biridir. Ularning ishlashi ikki yo'l bilan oshirilishi mumkin: takt chastotasini yoki takt siklida bajariladigan operatsiyalar sonini oshirish orqali. Birinchi holda, "tezkor" texnologiyalardan foydalanish (masalan, kremniy o'rniga galliy arsenidini qo'llash) va chuqur quvur liniyasi (bir soat tsiklida quvur o'tkazish, kristalning barcha mantiqiy bloklari bo'lganda) kabi me'moriy echimlardan foydalanish talab etiladi. uning alohida qismlari emas, balki har bir vaqtda ishtirok etadi) ... Bir siklda bajariladigan operatsiyalar sonini ko'paytirish uchun bir chipga ko'plab funktsional ishlov berish modullarini joylashtirish va mashina ko'rsatmalarining ishonchli parallel bajarilishini ta'minlash kerak, bu esa bir vaqtning o'zida barcha modullarni yoqish imkonini beradi. Ushbu kontekstda ishonchlilik hisoblash natijalari to'g'ri bo'lishini anglatadi. Masalan, bir-biriga bog'langan ikkita ifodani ko'rib chiqing: A = B + C va B = D + E. A o'zgaruvchining qiymati ushbu ifodalarni baholash tartibiga qarab har xil bo'ladi (avval A va keyin B yoki aksincha), lekin dastur faqat bitta aniq qiymatni nazarda tutadi. Va agar biz hozir bu ifodalarni parallel ravishda hisoblasak, unda to'g'ri natijani faqat ma'lum bir ehtimollik bilan kutish mumkin va kafolatlanmaydi. lekin dasturda faqat bitta aniq ma'no nazarda tutilgan. Va agar biz hozir bu ifodalarni parallel ravishda hisoblasak, unda to'g'ri natijani faqat ma'lum bir ehtimollik bilan kutish mumkin va kafolatlanmaydi. lekin dasturda faqat bitta aniq ma'no nazarda tutilgan. Va agar biz hozir bu ifodalarni parallel ravishda hisoblasak, unda to'g'ri natijani faqat ma'lum bir ehtimollik bilan kutish mumkin va kafolatlanmaydi.
Hisoblash tartibini rejalashtirish zamonaviy protsessorni loyihalashda hal qilinishi kerak bo'lgan juda qiyin vazifadir. Superskalar arxitekturalarda mashina ko'rsatmalari o'rtasidagi bog'liqlikni aniqlash uchun maxsus murakkab apparat yechimi qo'llaniladi (masalan, Intelning P6 va post-P6 arxitekturalarida buning uchun ko'rsatmalarni qayta tartiblash buferi - ReOrder Buffer, ROB) ishlatiladi. Biroq, funktsional ishlov berish modullari sonining ko'payishi bilan bunday apparat rejalashtiruvchisining o'lchami eksponent ravishda o'sib boradi, bu oxir-oqibatda butun protsessor o'limini egallashi mumkin. Shu sababli, superscalar loyihalar har bir tsiklda qayta ishlangan 5-6 ko'rsatmalar darajasida to'xtadi. Aslini olib qaraganda, joriy VLIW ilovalari ham har doim ham paketlarni 100% to'ldirish bilan maqtana olmaydi - haqiqiy yuk har bir tsikl uchun taxminan 6-7 ko'rsatmani tashkil qiladi - RISC protsessorlari orasida etakchilar bilan bir xil. Shu bilan bir qatorda, VLIW konstruktsiyalarida bo'lgani kabi, barcha rejalashtirishni dasturiy ta'minotga topshirishingiz mumkin. "Aqlli" kompilyator dasturda mutlaqo mustaqil bo'lgan barcha ko'rsatmalarni izlashi, ularni juda uzun qatorlarga (uzun ko'rsatmalar) qo'yishi va keyin ularni bir vaqtning o'zida funktsional modullar tomonidan bajarish uchun yuborishi kerak, ularning soni kamida kamida bunday uzoq jamoada operatsiyalar soni. Juda uzun ko'rsatmalar (VLIW) odatda 256-1024 bit hajmda bo'ladi, lekin ba'zida ular kichikroq bo'ladi. Har bir funktsional modul uchun operatsiyalarni kodlash maydonlarining o'lchami bunday meta-ko'rsatmada ancha kichikdir. Shu bilan bir qatorda, VLIW konstruktsiyalarida bo'lgani kabi, barcha rejalashtirishni dasturiy ta'minotga topshirishingiz mumkin. "Aqlli" kompilyator dasturda mutlaqo mustaqil bo'lgan barcha ko'rsatmalarni izlashi, ularni juda uzun qatorlarga (uzun ko'rsatmalar) qo'yishi va keyin ularni bir vaqtning o'zida funktsional modullar tomonidan bajarish uchun yuborishi kerak, ularning soni kamida kamida bunday uzoq jamoada operatsiyalar soni. Juda uzun ko'rsatmalar (VLIW) odatda 256-1024 bit hajmda bo'ladi, lekin ba'zida ular kichikroq bo'ladi. Har bir funktsional modul uchun operatsiyalarni kodlash maydonlarining o'lchami bunday meta-ko'rsatmada ancha kichikdir. Shu bilan bir qatorda, VLIW konstruktsiyalarida bo'lgani kabi, barcha rejalashtirishni dasturiy ta'minotga topshirishingiz mumkin. "Aqlli" kompilyator dasturda mutlaqo mustaqil bo'lgan barcha ko'rsatmalarni izlashi, ularni juda uzun qatorlarga (uzun ko'rsatmalar) qo'yishi va keyin ularni bir vaqtning o'zida funktsional modullar tomonidan bajarish uchun yuborishi kerak, ularning soni kamida kamida bunday uzoq jamoada operatsiyalar soni. Juda uzun ko'rsatmalar (VLIW) odatda 256-1024 bit hajmda bo'ladi, lekin ba'zida ular kichikroq bo'ladi. Har bir funktsional modul uchun operatsiyalarni kodlash maydonlarining o'lchami bunday meta-ko'rsatmada ancha kichikdir. ularni juda uzun satrlarda (uzun ko'rsatmalar) bir joyga to'plang va keyin ularni funktsional modullar tomonidan bir vaqtning o'zida bajarish uchun yuboring, ularning soni kamida bunday uzun buyruqdagi operatsiyalar sonidan kam emas. Juda uzun ko'rsatmalar (VLIW) odatda 256-1024 bit hajmda bo'ladi, lekin ba'zida ular kichikroq bo'ladi. Har bir funktsional modul uchun operatsiyalarni kodlash maydonlarining o'lchami bunday meta-ko'rsatmada ancha kichikdir. ularni juda uzun satrlarda (uzun ko'rsatmalar) bir joyga to'plang va keyin ularni funktsional modullar tomonidan bir vaqtning o'zida bajarish uchun yuboring, ularning soni kamida bunday uzun buyruqdagi operatsiyalar sonidan kam emas. Juda uzun ko'rsatmalar (VLIW) odatda 256-1024 bit hajmda bo'ladi, lekin ba'zida ular kichikroq bo'ladi. Har bir funktsional modul uchun operatsiyalarni kodlash maydonlarining o'lchami bunday meta-ko'rsatmada ancha kichikdir.
Do'stlaringiz bilan baham: |