Konveyrli hisoblash Markaziy protsessor ma'lumotlarni qayta ishlashning asosiy operatsiyalarini amalga oshiradigan hisoblash tizimini yaratishda asosiy element hisoblanadi. Umumiy holda, har qanday mashina ko'rsatmalariga ishlov berish jarayonida amalga oshiriladigan barcha harakatlar odatda tsikl deb ataladi. Mashina buyruqlarini qayta ishlash tsikli quyidagi bosqichlarni o'z ichiga oladi:
Operativ xotiradan buyruqlarni ajratib olish (IR);
Amalga oshiriladigan operandalar soni, registrda va / yoki operativ xotirada joylashgan joyi va manzillari aniqlanadigan buyruqni dekodlash, shuningdek ular qaysi operatsiyani bajarish kerakligini (DC) aniqlaydi.
oldingi bosqichda yaratilgan ma'muriy manzillarda (ID) operativ xotirasidan ma'lumotlarni chiqarib olish;
Operandlarda arifmetik-mantiqiy o'zgarishlarni amalga oshirish bilan bog'liq ma'lumotlarni qayta ishlash (OD);
Natijalarni protsessorning registr xotirasida yoki tasodifiy kirish xotirasida (SR) yozish;
Mashina yo'riqnomalarini (PR) qayta ishlashda alohida holatlar yuzaga kelganda reaktsiya mexanizmini amalga oshiradigan uzilishni qayta ishlash.
Mashina buyruqlarini qayta ishlash tsikli (COMC) har bir qadam ichidagi harakatlar ketma-ket bajarilishi sifatida amalga oshirilishi mumkin. Bunday holda, oldingi buyruq bajarilgunga qadar keyingi mashina buyrug'ini qayta ishlashni boshlash mumkin emas. Protsessorning ishlashini doimiy ishlash printsipi bilan ishlov berish mashinasining ishlashini faqat soat chastotasini ko'paytirish orqali oshirish mumkin. Shu bilan birga, protsessor ishlaydigan chastotaning ko'payishi, kontaktlarning zanglashiga olib keladigan mantiqiy elementlari va ichki ulanish liniyalari orqali o'tishda signallarning tarqalishidagi kechikishlar tufayli yuzaga keladigan cheklovlarga ega. Shuning uchun protsessor chastotasini cheksiz ravishda oshirish mumkin emas. Protsessor elementining ish faoliyatini oshirishning alternativ usuli - bu mashina ko'rsatmalariga parallel ishlov berishdan foydalanish. Ushbu yo'nalish doirasida konveyer va super-konveyerli ishlov berish, hisob-kitoblarni superskalalar va vektorli tashkil etish tamoyillari joriy etilmoqda va amalda faol qo'llanilmoqda. Hisoblash quvuri mustaqil manbalar (bloklar) to'plamidan iborat bo'lgan tuzilishga ega bo'lib, ularning har biri mashina buyruqlarini qayta ishlash tsiklining bitta aniq bosqichini bajarish uchun javobgardir. Shunday qilib, konveyerda bir vaqtning o'zida bir nechta mashina ko'rsatmalarini bajarishni faollashtirish mumkin, ammo ishlov berish tsiklining turli bosqichlarida. Umumiy holda, konveyer vaqtning har bir lahzasida maksimal n mashina ko'rsatmalarini qayta ishlashga qodir, bu erda n TsOMK bosqichlarini amalga oshirish uchun mustaqil bloklar soni. Oldingi blok natijalari keyingi blokning ishlashi uchun manba ma'lumotlari sifatida ishlatiladi (15.1-rasm). Konveyerga ishlov berishni tashkil qilishning umumiy qoidalari quyidagilar:
a) MMKning ko'p sonli mustaqil bosqichlarga bo'linishi. Amalda, bu raqam 20 dan oshmaydi;
b) har bir bosqichda operatsiyalarni bajarish vaqti doimiy bo'lishi kerak. Ushbu parametr konveyer aylanishi deb nomlanadi.
15.1-rasm. Konveyer protsessorining tuzilishi
15.1-rasmda oltita mashina ko'rsatmalarini bajarish paytida konveyerning vaqt jadvallari ko'rsatilgan. Ushbu misolda konveyer CLCMning besh bosqichini amalga oshiradi. Birinchi bosqichda IR blokidagi 1-sonli mashina buyrug'ining ekstraktsiya bosqichi qayta ishlanadi. Ikkinchi soatda, IK blokidagi operatsiyalar natijalari 2-blokga yuboriladi, u erda 1-chi chiqarilgan mashina yo'riqnomasi dekodlanadi va shu bilan birga, ozod qilingan IQ blok 2 buyrug'ini olishda ishtirok etadi. 5-o'lchovdan boshlab, konveyer to'liq yuklanadi va bir vaqtning o'zida beshta mashina ko'rsatmalarini bajarilishini ta'minlaydi. Shu paytdan boshlab har bir tsiklda konveyer chiqishi keyingi buyruq natijasini keltirib chiqaradi. Biroq, konveyerning ishlashi paytida, mashina ko'rsatmalarining muntazamligini buzadigan yoki xatolarga olib keladigan mojarolar (xavflar) paydo bo'lishi mumkin. Xavflarni uch turga ajratish mumkin:
15.2-rasm. Quvur liniyasi protsessorining vaqt diagrammasi a) bir nechta bloklar bir vaqtning o'zida bir xil kompyuter tizimining resurslariga kirishga harakat qilishganda paydo bo'ladigan tizimli;
b) turli xil ma'lumotlar guruhlarining o'zaro bog'liqligi mavjud bo'lganda ma'lumotlar xavfi. Turli xil buyruqlarda o'qish va yozishlarni sinxronlash-tirilmaganligi sababli ma'lumotlardan noto'g'ri foydalanish mumkin;
c) shartli filial ko'rsatmalari mavjud bo'lsa, keyingi buyruqni tanlashda noaniqlik natijasida menejment xavfi.
Xavf bilan bog'liq xarajatlar qaror algoritmlarini oqilona tashkil etish, mumkin bo'lgan mojarolarni kuzatuvchi va ularni sun'iy ravishda yo'q qiladigan kompilyatorlarning imkoniyatlari, shuningdek, oldingi natijalar va voqealar tarixiga asoslangan hisob-kitoblar jarayonini bashorat qilish uchun apparat yoki apparat-dasturiy mexanizmlar yordamida minimallashtiriladi. Quvurlarni qayta ishlashning samaradorligini baholash uchun quyidagi parametrlardan foydalaniladi. Tezlashtirish - bu ko'rsatmalar to'plamini quvur liniyasisiz va uni ishlatishda ishlov berish vaqtining nisbati (S). K pozitsiyalari va konveyer tsikli t konveyerda N buyruqlari oqimining qayta ishlash vaqti (3.1) ifodasi bilan hisoblanadi.
(3.1)
Seriyali protsessorda N ko'rsatmalar oqimining hisoblash vaqti (4.2) ifodasi bilan hisoblanadi.
(3.2)
Shunday qilib, quvurli tashkil etilgan protsessorda hisoblashning tezlashishi (4.3)
(3.3)
Samaradorlik - bitta konveyer pozitsiyasida tezlanish ulushi (E)
(3.4)
O'tkazish qobiliyati - samaradorligi (4.4) konveyer tsiklining vaqtiga (P) bo'linadi.
(3.5)
Konveyerning yuqori mahsuldorligi ishlov berish ob'ektlarini qabul qilishning muntazamligini kuzatishda va mashina ko'rsatmalarining tabiiy tartibini buzishni minimallashtirishda olinadi.
Super konveyerli qayta ishlash Konveyer tezligini oshirishning bir necha yo'li mavjud. Birinchidan, mashina yo'riqnomalarini qayta ishlash tsiklining har bir bosqichini bir nechta podstansiyalarga ajratish tufayli konveyer aylanishi kamayadi va chastota shunga mos ravishda oshadi. Ikkinchidan, protsessorda bir-birining ustiga chiqish bilan ishlaydigan bir nechta quvurlar. Birinchi usulga superkonveyorizatsiya deyiladi [6], ikkinchisi - superskalalar bilan ishlov berish. Super-konveyerli ishlov berish protsessorini tashkil qilishda, CLCM doirasida bajarilgan ishlar soni ko'payadi va har bir bunday operatsiya uchun alohida bo'lim ajratiladi. Shu bilan birga, ular bajarilgan harakatlarning murakkabligini sezilarli darajada qisqartirishga erishadilar, bu esa ularni amalga oshirish vaqtini qisqartiradi. har bir birlik yuqori soat chastotasida ishlashi mumkin. Ko'p jihatdan, bu mumkin, chunki konveyerning ko'plab pozitsiyalarida mashina aylanishining yarmidan ozrog'ini bajaradi. Natijada, siz konveyerning soat pulslarining chastotasini ikki baravar oshirishingiz mumkin, bu esa mashina aylanishining bir davri uchun bir vaqtning o'zida ikkita harakatning bajarilishini ta'minlaydi.
Har bir bosqichda parchalanish tufayli bir nechta jamoalar uchun operatsiyalarni bajarish mumkin, bu esa parallellik darajasini oshiradi. 3.6-rasmda protsessorning yuqori darajadagi konveyer tashkiloti bilan vaqt diagrammasi ko'rsatilgan, u CLCM-ning har bir bosqichini ikkita podstansiyaga ajratishni ta'minlaydi. Ushbu yondashuvdan foydalanib, mashina ko'rsatmalari to'plamining davomiyligini yanada qisqartirish mumkin bo'ladi.
Biroq, amalda, super quvurlarni ishlov berishga o'tishdan hisoblash ishlarida sezilarli yutuqlarga erishish har doim ham mumkin emas. Bu, asosan, mojarolar ehtimolligi oshishi, shuningdek, super-konveyer protsessorni boshqarish moslamasi mantig'ining sezilarli darajada murakkablashishi bilan bog'liq. Bundan tashqari, shartli filialni tahmin qilishda xato bo'lsa, quvur liniyasini tozalash kerak. Bosqichlar va zinapoyalarning ko'pligi bilan konveyerni to'liq to'ldirishda kechikish tufayli ancha uzoq vaqt ishlaydigan protsessor kuzatiladi. Filialni bashorat qilishda sog'inish super-konveyer protsessorining ishlashida qattiq jazolarga olib keladi, bu esa umumiy ishlash ko'rsatkichini pasaytiradi.
15.3-rasm. Quvur liniyasi protsessorining vaqt diagrammasi
Biroq, xavflarni oldini olish mexanizmlarini takomillashtirish yuqori mahsuldorlikka ega bo'lgan super konveyerning ishonchli ishlashini ta'minlaydi.
Superscalar bilan ishlash Superscalar protsessoriga ma'lum bir ish sinflarini bajarish uchun javobgar bo'lgan bir nechta mustaqil ma'lumotlarni qayta ishlash bloklari kiradi. "Skalalar" atamasi ushbu protsessorlar va vektor ma'lumotlari bilan ishlaydigan kalkulyatorlar o'rtasidagi tub farqni ta'kidlash uchun ishlatiladi [3]. Bunday tashkilot protsessorga bir vaqtning o'zida skalyar ma'lumotlarga bir nechta buyruqlarni bajarishga imkon beradi. Umuman olganda, superskalalar qayta ishlash turli xil protsessor quvurlarida parallel ravishda amalga oshiriladi (15.4-rasm). Bu erda, CLCM-ning 1-bosqichida bir nechta buyruqlarni tanlash kerak, ularning har biri o'z trubkasiga ishlov berish uchun yuborilgan va buyruqlarni bajarish uchun birlik. Buyruqlar va ma'lumotlarning bir nechta tanlanishini ta'minlash uchun maxsus xotira tashkiloti talab qilinadi.
15.4-rasm. Ko'p konveyerli superskalalar protsessorining tuzilishi Ko'p sonli ishlov berish birliklari bo'lgan bitta konveyerdan foydalanib, superscalar protsessorini boshqarish murakkabligini kamaytirish mumkin (15.5-rasm). Odatda, 1-3 bosqichlarda bajarilgan operatsiyalar, mashina buyrug'ining haqiqiy bajarilishiga qaraganda ancha kam vaqt talab qiladi. Shunday qilib, 1-3 bosqichlar jamoani tegishli ishlaydigan moslamani qayta ishlash va yuklashga tayyorlashni ta'minlaydi. Agar keyingi buyruqning dastlabki ma'lumotlari avvalgi buyruqning natijasiga bog'liq bo'lsa, unda avvalgisiga ishlov berish tugaguncha bunday buyruq bajarilmaydi. Umumiy holda, superscalar protsessori dasturning manba kodida ko'rsatilgan mashina ko'rsatmalarining ishlash tartibini uning ishlash mantig'ini buzmasdan o'zgartirishi mumkin. Qoida tariqasida, supersalar protsessorida har bir mashina ko'rsatmasi uchun mustaqil ishlov berish birligi, ba'zan esa bir nechta amalga oshiriladi. Masalan, ALU raqamlarni suzuvchi-nuqta formatida, ALU qayta ishlangan raqamlarni sobit nuqtali formatda, ma'lumotlarni yuklash va saqlash bloklari va boshqalar.
15.5-rasm. Yagona quvur liniyasidan yuqori protsessor
Superscalar protsessorlarining ishlash ko'rsatkichlari mashina ko'rsatmalarining tabiiy ketma-ketligida super konveyer kompyuterlarning ishlashiga to'g'ri keladi. Shartli o'tishlar mavjud bo'lganda, superscalar protsessori o'tishning prognozi xatosi uchun jarimaga olib keladigan kamroq kechikishlarni ta'minlaydi. 15.6-rasmda bir xil mashina dasturlarini bajarishda super konveyer va superskalalar protsessorlarining ishlashining qiyosiy diagrammalari ko'rsatilgan.
15.6-rasm. Protsessorning vaqt diagrammasi: super quvur (a) va superskalalar (b).
Supersalar protsessorlarining ishlashi ko'p jihatdan har bir aniq dasturda buyruqlarning parallel ravishda bajarilishi imkoniyatiga bog'liq. Bu imkoniyat o'qitish darajasidagi parallelizm tushunchasi bilan bog'liq. Protsessorda operatsiyalarni parallellashtirish bir qator cheklovlar bilan bog'liq, ularning asosiylari
• ma'lumotlarga bog'liqlik,
• protsessual bog'liqlik,
• resurslardan foydalanish ziddiyati,
• mahsulotga bog'liqlik,
• teskari munosabatlar.
Agar qo'shni dastur buyruqlarida ma'lumotlarga bog'liqlik bo'lmasa, ularni ikkita mustaqil operatsion birlikda bir vaqtning o'zida ajratib olish va qayta ishlash mumkin. Aks holda, keyingi buyruq bajarilishi uchun barcha dastlabki ma'lumotlar paydo bo'lmaguncha, ko'p sonli tsikllar kechiktirilishi kerak. Protsedura bog'liqligi ikkita holat bilan bog'liq: shartli filial ko'rsatmalarining mavjudligi, ushbu yo'riqnoma bajarilishidan oldin keyingi yo'riqnomaning manzilini aniqlashning iloji bo'lmaganda va oldingi buyruq to'liq yoki qisman dekodlanmaguncha keyingi yo'riqnomani chiqarib olish mumkin bo'lmaganda o'zgaruvchan uzunlikdagi ko'rsatmalardan foydalanish. Resurslardan foydalanishdagi ziddiyat, turli xil mashina ko'rsatmalarini bajarish uchun protsessorning bir xil funktsional tugunlari - xotira, avtobus, registr va boshqalar zarur bo'lganda paydo bo'ladi. Chiqarilgan bog'liqlik qo'shni bo'lmagan mashina ko'rsatmalarini ularni bajarish natijalarining boshqa buyruqlarni bajarishda noto'g'ri natijalarni olishiga ta'siri tufayli qo'shma ijro etish (guruhlash) mumkin emasligini ta'minlaydi. Boshqacha qilib aytganda, mahsulotga bog'liqlik dasturda ko'rsatilgandek, mashina ko'rsatmalarini bajarish tartibini buzishni taqiqlaydi. Keyingi buyruq oldingi buyruqni bajarish uchun ishlatiladigan ma'lumotni o'zgartirganda teskari munosabatlar yuzaga keladi. Bunday holda, oldingi buyruq ishga tushmaguncha va tegishli ma'lumotlar olinmaguncha keyingi buyruq bajarilmaydi. Dasturda ishlatiladigan buyruqlarga ilg'or qarashni amalga oshiradigan bepul boshlang'ich buyurtma yoki buyruqlarni bepul buyurtma qilish texnologiyasidan foydalanishda oxirgi ikkita cheklov paydo bo'ladi. Bunday tashkilot yordamida dekodlashdan keyin buyruq buferga kiradi, u erda kerakli funktsional tugunning chiqarilishini kutadi. Kerakli resurs buyruqni bajarish uchun bo'sh bo'lganda, buyruq buferdan olinadi va quvur liniyasi bajarilgan joyga keladi. Shu bilan birga, har qanday birinchi buyruqni buferdan olish mumkin, buning uchun bepul tugun zarur va bu hech qanday nizo yoki qaramlikka xalaqit bermaydi. Shunday qilib, superscalar protsessorining apparat va dasturiy resurslariga quyidagi talablar qo'yiladi [7]:
• bir nechta buyruqlarni parallel o'qish va shartli filial buyruqlaridan keyin bo'limni bashorat qilish;
• buyruqlarni bajarish tartibini o'zgartiradigan mexanizmni ularning dastur mantig'ini o'zgartirmasdan dasturda joylashish ketma-ketligi bilan taqqoslash;
• ma'lumotlardan bog'liqlikni aniqlash mantiqini va buyruqlarni to'g'ri bajarish uchun ularni almashish mexanizmini yaratish;
• bir vaqtning o'zida bir nechta xotiraga kirish imkoniga ega bo'lgan bir nechta mashina yo'riqlarini parallel bajarish mexanizmini amalga oshirish;
• dasturda tasvirlangan dastlabki buyruq oqimiga mos keladigan tartibda individual buyruqlar natijalarini aniqlashni boshqaruvchi mexanizmni amalga oshirish.