Superskalyar xisoblash
Reja:
1. ILP arxitekturasi - protsessorlar
2. Superskalyar protsessorlari
3. Super konveyerni qayta ishlash
4. Superskalyar bilan ishlash
Yarimo'tkazgich texnologiyasini takomillashtirish orqali ham, mikrosxemalar zichligini oshirish orqali ham yuqori ko'rsatkichlarga erishiladi. Dasturni bajarish tezligini yanada oshirishga, avvalo, ma'lum turdagi parallelizmni amalga oshirish hisobiga erishish mumkin. Qo'llanma darajasida harakat protsessor va kompilyator texnikasi yaratish tufayli qilingan bu ish yuqoriga tufayli alohida parallel ijro tezligi RISC -operations.
Ushbu texnikaning dasturchi tomonidan qo'shimcha kuch talab qilmasligi juda muhim. Bu yechim an'anaviy mikroprotsessor parallelligidan (ko'p protsessorli va multiskalli parallel ishlov berish) keskin farq qiladi, buning uchun dasturchilar o'z ilovalarini qayta yozishni talab qiladi. Shuning uchun, hozirda, ko'rsatma darajasida parallel ishlov berish - bu ilovalarni tubdan qayta yozmasdan ishlashga erishish uchun yagona ishonchli yondashuv. Parallel ishlov berishning bu ikki turi bir -birini istisno qilmaydi; eng samarali ko'p protsessorli yoki multiskalli tizimlar ILP protsessorlariga asoslangan bo'lishi mumkin.
Kompyuter arxitekturasi - bu ma'lum bir arxitektura uchun yozilgan dasturlar sinfi va unga protsessorlarni amalga oshirish to'plami o'rtasidagi kelishuv. Odatda, bu konvensiya individual buyruqlarning formati va talqinini tavsiflaydi, lekin ILP arxitekturasida bu konventsiya buyruqlar orasidagi mumkin bo'lgan parallellik haqidagi ma'lumotlarni o'z ichiga olgan holda kengaytirilishi mumkin.
Ko'rsatmalar majmuasida arxitektura darajasida mikroprotsessorga xos bo'lgan ma'lumotlarni qayta ishlashning ichki parallelligini xaritalashda ikkita oraliq yondashuv mavjud. Birinchi yondashuv ancha konservativ bo'lib, buyruqlar tizimida protsessor ichida parallel ishlov berish haqida hech qanday ko'rsatma yo'qligidan iborat. Bunday protsessorlar superscalar sinfiga tegishli.
Ikkinchi yondashuv, aksincha, parallel ishlov berishning barcha imkoniyatlarini to'liq ochib beradi. Buyruqning maxsus belgilangan maydonlarida parallel ishlov berish qurilmalarining har biriga qurilma bajarishi kerak bo'lgan harakat tayinlanadi. Bunday protsessorlarga uzun buyruqli so'zli protsessorlar (VLIW) deyiladi. Bu yuqori darajadagi tillar uchun kompilyatorlar bor deb taxmin qilinadi, uchun - torye dasturlari mikroişlemcilerden ularni yuklash uchun tayyorlash.
ILP mikroprotsessorlarining rivojlanishini belgilaydigan asosiy g'oya an'anaviy ketma -ket dasturlarni saqlab turishda iloji boricha parallel tuzilmalarni qurishdir. Bu shuni anglatadiki, kompilyatorlar va mikroprotsessor apparatining o'zi, dasturchining aralashuvisiz, mikroprotsessorning parallel ishlaydigan funktsional qurilmalarini yuklashni ta'minlaydi.
Dasturning parallellik darajasi, uning statik yoki dinamik tuzilishini mos ravishda o'zgartirish orqali oshirilishi mumkin. Dasturning statik tuzilishi uning manba kodiga bir xil darajada mos kelgani uchun (kompilyator o'zgarmaydi deb taxmin qilinadi), statik tuzilmani o'zgartirish manba kodini o'zgartirishgacha kamayadi, bu odatda har doim ham mumkin emas. Statik tuzilmani o'zgartirishsiz dasturning dinamik tuzilishini o'zgartirish mumkin. Va bunday o'zgarishlarning asosiy maqsadi buyruqlarning parallel bajarilish darajasini oshirish bo'lishi kerak.
Superscalar protsessorlari-bu ketma -ket arxitekturalar uchun ILP protsessorining amalga oshirilishi - arxitektura, bu dastur bir vaqtning o'zida aniq ma'lumotni uzatmasligi kerak. Dasturda ILP borligi to'g'risida aniq ma'lumot yo'qligi sababli, parallellikni aniqlash muammosi apparat yordamida hal qilinishi kerak, shuning uchun "yashirin parallellik" ni aniqlash bo'yicha harakatlar rejasini tuzish kerak. Superskalar protsessorlari kodi belgilangan tartibda bajarilsa, to'g'ri natija beradigan ko'rsatmalar ketma -ketligini o'z ichiga oladi. Kod ketma -ket algoritmni bildiradi va faqat ma'lum bir yo'riqnomalar to'plamidan foydalangan holda, u ishlaydigan uskuna qanday aniqligi va ko'rsatmalarni bajarilishining aniq vaqti haqida tasavvurga ega emas. Bu yondashuv uskunaning murakkabligini oshiradi, shu bilan birga yuqori ishchi protsessor faqat ish vaqtida aniqlanishi mumkin bo'lgan omillardan foydalanib, ijro rejasini tuzadi.
Dasturning dinamik tuzilishini o'zgartirishning ruxsat etilgan chegaralari ko'rsatmalar majmuasida mavjud bo'lgan munosabatlar bilan belgilanadi: boshqaruvga qaramlik va ma'lumotlarga bog'liqlik. Superskalalar protsessorlari arxitekturasini tavsiflashda ko'pincha ijro oynasi modeli ishlatiladi. Dasturni bajarayotganda, mikroprotsessor bajariladigan oynani dasturning statik tuzilishi bo'ylab siljitadi. Agar ular orasidagi bog'liqlik bo'lmasa, oynadagi buyruqlar parallel ravishda bajarilishi mumkin.
Agar bashorat noto'g'ri bo'lsa, protsessor holati o'tish to'g'risida qaror qabul qilingan paytgacha tiklanadi. Ijro oynasida joylashtirilgan buyruqlar ma'lumotlarga bog'liq bo'lishi mumkin. Bu bog'liqliklar turli xil ko'rsatmalarda bir xil xotira resurslaridan (registrlar, xotira xujayralari) foydalanishga bog'liq. Shuning uchun dasturning to'g'ri bajarilishi uchun ushbu resurslardan dasturda belgilangan tartibda foydalanish zarur.
Ma'lumotlarga bog'liqlikning barcha turlarini uyushmalar turiga ko'ra tasniflash mumkin: RAR - "o'qishdan keyin o'qish", WAR - "o'qishdan keyin yozish" va WAW - "yozgandan keyin yozish", RAW - "yozgandan keyin o'qish". Ma'lumotlarga har xil buyruqlar bog'liqligining misoli 11 -rasmda ko'rsatilgan. Ma'lumotlarga bog'liqliklarning bir qismini olib tashlash mumkin. RAR, aslida, qaramliklarning yo'qligiga to'g'ri keladi, chunki bu holda buyruqlarni bajarish tartibi muhim emas. Haqiqiy qaramlik faqat o'qishdan keyin o'qiladi (RAW), chunki ilgari yozilgan yangi ma'lumotlar o'qilishi kerak, eski ma'lumotlar emas.
Ma'lumotga kerak bo'lmagan bog'liqliklar o'qishdan keyin yozish (WAR) va yozishdan keyin yozish (WAW) natijasida paydo bo'ladi.
Keraksiz boshqaruv va ma'lumotlar qaramligini olib tashlaganingizdan so'ng, buyruqlar parallel ravishda bajarilishi mumkin. Buyruqlarning parallel bajarilishini rejalashtirish mikroprotsessor apparatiga yuklangan. Bu jadvalda buyruqlar va mavjud protsessor funktsiyasi modullari o'rtasidagi mavjud bog'liqliklar hisobga olinadi.
Do'stlaringiz bilan baham: |