Superskalyar xisoblashlar Reja: Kirish. Superskalyar protsessorlar


Download 153 Kb.
Sana29.11.2020
Hajmi153 Kb.
#154990
Bog'liq
MI KA


O‘zbekiston Respublikasi Axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi

Muhammad al-xorazmiy nomidagi

Toshkent Axborot texnologiyalari universiteti

“Kompyuter tizimlari” kafedrasi

Kompyuter arxitekturasi ” fanidan

Mustaqil ish

Superskalyar xisoblashlar

Bajardi: 214-18 guruh talabasi Abduraxmonov Fayzullox

Tekshirdi: Mirzahalilov Sanjar



Toshkent-2020

Superskalyar xisoblashlar

Reja:

  1. Kirish. Superskalyar protsessorlar

  2. Asosiy qism:

1. Superskalyar protsessorlar tarixi

2. Skalyardan superskalyarga o’tish

3. Superskalyar protsessorlardan foydalanishda cheklovlar va cheklovlar uchun muqobil yechimlar.

  1. Xulosa.

  2. Foydalanilgan adabiyotlar.

Superskalyar protsessorida bir nechta ko'rsatmalarni bir vaqtning o'zida bajarish uchun ma'lumotlar katalogi apparatining bir nechta nusxalari mavjud. rasmda tsiklga ikkita ko'rsatma olinadigan va bajariladigan ikki tomonlama superskali protsessorning blok diagrammasi keltirilgan. Ma'lumotlar to'plami ko'rsatmalar xotirasidan bir vaqtning o'zida ikkita ko'rsatmalarni oladi. To'rt manbali operandni o'qish va har bir tsiklda ikkita natijani yozish uchun oltita portli registr fayli mavjud. Bundan tashqari, ikkita ko'rsatmani bir vaqtning o'zida bajarish uchun ikkita ALU va ikkita portli ma'lumotlar xotirasi mavjud.

Superskalyar protsessori - bu bitta protsessor ichida buyruq sathidagi parallellik deb nomlangan parallellik shaklini amalga oshiruvchi protsessor. Har bir soat tsikli uchun eng ko'p bitta buyruqni bajarishi mumkin bo'lgan skalar protsessordan farqli o'laroq, superskalyar protsessor bir vaqtning o'zida bir nechta ko'rsatmalarni protsessorning turli xil ijro etuvchi birliklariga yuborish orqali soat tsikli davomida bir nechta buyruqlarni bajarishi mumkin. Shuning uchun u ma'lum bir soat tezligida boshqacha imkoniyatlardan ko'ra ko'proq ishlashga imkon beradi (vaqt birligida bajarilishi mumkin bo'lgan ko'rsatmalar soni). Har bir ijro etuvchi birlik alohida protsessor emas (yoki protsessor ko'p yadroli protsessor bo'lsa, yadro), balki arifmetik mantiqiy birlik kabi bitta protsessor ichidagi ijro resursidir.

Flinn taksonomiyasida bitta yadroli superskalyar protsessor SISD protsessori (Yagona ko'rsatma oqimi, Yagona ma'lumotlar oqimi) deb tasniflanadi, ammo qisqa vektorli operatsiyalarni qo'llab-quvvatlaydigan bitta yadroli superskalyar protsessori SIMD (Yagona ko'rsatma oqimi, Bir nechta ma'lumotlar) deb tasniflanishi mumkin. oqimlar). Ko'p yadroli superskalyar protsessor MIMD protsessori deb tasniflanadi (Ko'p ko'rsatmalar oqimlari, bir nechta ma'lumotlar oqimlari).

Superskalyar protsessori odatda quvurli bo'lsa ham, superskalyar va truboprovodlarning bajarilishi ishlashni yaxshilashning turli usullari deb hisoblanadi. Birinchisi bir nechta buyruqlarni bir nechta ijro birliklari yordamida parallel ravishda bajaradi, ikkinchisi esa bir xil buyruq birligidagi bir nechta ko'rsatmalarni ijro etuvchi birlikni turli bosqichlarga bo'lish orqali parallel ravishda bajaradi.

Superskalyar texnikasi an'anaviy ravishda bir nechta aniqlovchi xususiyatlar bilan bog'liq (ma'lum bir CPU ichida):

Ko'rsatmalar ketma-ket ko'rsatmalar oqimidan beriladi

CPU dinamik ravishda ish vaqtidagi ko'rsatmalar o'rtasidagi ma'lumotlarga bog'liqlikni tekshiradi (kompilyatsiya vaqtida dasturiy ta'minotni tekshirishga nisbatan)

CPU soat tsikli uchun bir nechta ko'rsatmalarni bajarishi mumkin.


Oddiy superskalyar quvur liniyasi. Bir vaqtning o'zida ikkita yo'riqnomani olish va jo'natish orqali har bir tsikl uchun maksimal ikkita ko'rsatma bajarilishi mumkin. (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Ro'yxatdan o'tish orqaga yozish, i = Instruction number, t = Soat tsikli [ya'ni vaqt])


1. Seymour Cray-ning 1966 yildagi CDC 6600 modeli birinchi superskalyar dizayni sifatida tez-tez tilga olinadi. 1967 yilgi IBM System / 360 Model 91 yana bir superskalyar meynfreymi edi. Motorola MC88100 (1988), Intel i960CA (1989) va AMD 29000 seriyali 29050 (1990) mikroprotsessorlari birinchi tijorat yagona chipli superskalyar mikroprotsessorlari bo'lgan. Bu kabi RISC mikroprotsessorlari birinchi bo'lib superskalyar bajarilishini boshladilar, chunki RISC bir nechta ijro etuvchi birliklarni kiritish uchun ishlatilishi mumkin bo'lgan bepul tranzistorlar va o'lik maydonlarni arxitektura qiladi (shu sababli RISC konstruktsiyalari 1980-yillar va 1990-yillarga qadar CISC dizaynlaridan tezroq edi).

Kam quvvatli dasturlarda, o'rnatilgan tizimlarda va batareyali qurilmalarda ishlatiladigan protsessorlar bundan mustasno, taxminan 1998 yildan beri ishlab chiqilgan barcha umumiy maqsadli protsessorlar superskalyardir.

P5 Pentium birinchi superskalyar x86 protsessori edi; Nx586, P6 Pentium Pro va AMD K5, x86-ko'rsatmalarini sinxron ravishda dinamik mikrokodga o'xshash mikro-operatsion ketma-ketliklarga dekodlashning birinchi dizaynlaridan biri edi. buferlangan qisman ko'rsatmalarni dinamik ravishda rejalashtirish uchun ochildi va sodda P5 Pentium-da qo'llaniladigan qattiqroq usullarga nisbatan ko'proq parallellikni chiqarib olishga imkon berdi; shuningdek, spekulyativ ijro etishni soddalashtirdi va rivojlangan Cyrix 6x86 kabi dizaynlarga nisbatan yuqori soat chastotalariga imkon berdi.

2.Eng oddiy protsessorlar - skalar protsessorlari. Skalyar protsessor tomonidan bajarilgan har bir ko'rsatma odatda bir vaqtning o'zida bir yoki ikkita ma'lumotlar elementlarini boshqaradi. Aksincha, vektorli protsessor tomonidan bajarilgan har bir ko'rsatma bir vaqtning o'zida ko'plab ma'lumotlar elementlarida ishlaydi. Analogiya - bu skalar va vektorli arifmetikaning farqidir. Superskalyar protsessori bu ikkalasining aralashmasi. Har bir ko'rsatma bitta ma'lumot elementini qayta ishlaydi, lekin har bir protsessorda bir nechta ijro birliklari mavjud, shuning uchun bir nechta ko'rsatmalar bir vaqtning o'zida alohida ma'lumotlar elementlarini qayta ishlashlari mumkin.

Superskalyar protsessori dizayni buyruqlar dispetcherining aniqligini oshirishga va har doim bir nechta ijro etuvchi birliklarni ishlatishga imkon berishga imkon beradi. Bu birliklar soni ko'payganligi sababli tobora muhim ahamiyat kasb etmoqda. Dastlabki superskali protsessorlarda ikkita ALU va bitta FPU bo'lishi kerak edi, keyinchalik PowerPC 970 kabi to'rtta ALU, ikkita FPU va ikkita SIMD birlikni o'z ichiga oladi. Agar dispetcher ushbu birliklarning hammasini ko'rsatmalar bilan oziqlantirishda samarasiz bo'lsa, tizimning ishlashi oddiy, arzonroq dizayndan yaxshiroq bo'lmaydi.

Superskalyar protsessori odatda bir mashina tsikli uchun bitta buyruqdan ortiq bajarilish tezligini ta'minlaydi. Ammo bir vaqtning o'zida bir nechta ko'rsatmalarni qayta ishlash arxitekturani superskalaga olib kelmaydi, chunki quvurli, ko'p protsessorli yoki ko'p yadroli arxitekturalar ham bunga erishadi, ammo turli xil usullar bilan.

Superskalyar protsessorida dispetcher xotiradan ko'rsatmalarni o'qiydi va ularning qaysi biri parallel ravishda bajarilishi mumkinligi to'g'risida qaror qabul qiladi, ularning har birini bitta protsessor tarkibidagi bir nechta ijro birliklaridan biriga yuboradi. Shuning uchun, superkkal protsessorni bir nechta parallel quvur liniyalarini tasavvur qilish mumkin, ularning har biri bitta buyruq ipidan bir vaqtning o'zida ko'rsatmalarni qayta ishlaydi.






To'rtta superkala Alpha 21164 protsessorlari bo'lgan CRAY T3e superkompyuterining protsessor platasi

3. Superskalyar texnikasidan foydalanish samaradorligini oshirish uchta asosiy yo'nalish bilan cheklangan:


  • Ko'rsatmalar oqimidagi ichki parallellik darajasi (protsessordan bir xil hisoblash manbalarini talab qiladigan ko'rsatmalar)

  • Qarama-qarshilikni tekshirish mantiqiyligi va ro'yxatga olish tizimining nomini o'zgartirishning murakkabligi va vaqt narxi

  • Filial ko'rsatmalariga ishlov berish

Mavjud ikkilik bajariladigan dasturlar turli darajadagi ichki parallellikka ega. Ba'zi hollarda ko'rsatmalar bir-biriga bog'liq emas va bir vaqtning o'zida bajarilishi mumkin. Boshqa hollarda, ular bir-biriga bog'liqdir: bitta ko'rsatma boshqasiga yoki resurslariga yoki natijalariga ta'sir qiladi. Ko'rsatmalar a = b + c; d = e + f parallel bajarilishi mumkin, chunki natijalarning hech biri boshqa hisob-kitoblarga bog'liq emas. Biroq, ko'rsatmalar a = b + c; b = e + f ko'rsatmalar birliklar bo'ylab harakatlanish jarayonida bajarilish tartibiga qarab parallel ravishda bajarilmasligi mumkin.

Ko'rsatmalar oqimida ko'rsatmalararo bog'liqliklar bo'lmasligi mumkin bo'lsa-da, superskalyar protsessori shunga qaramay ushbu imkoniyatni tekshirishi kerak, chunki boshqacha ishonch yo'q va qaramlikni aniqlay olmaslik noto'g'ri natijalarga olib keladi.

Yarimo'tkazgich jarayoni qanchalik tez rivojlangan bo'lmasin yoki almashtirish tezligi qanchalik tez bo'lmasin, bu bir vaqtning o'zida qancha ko'rsatma yuborilishi mumkinligi to'g'risida amaliy cheklov qo'yadi. Jarayonning ilgarilashi ko'p sonli bajarilish birliklariga imkon beradi (masalan, ALU), ko'rsatmalarga bog'liqlikni tekshirish yuki, ba'zi bir bog'liqliklarni yumshatish uchun registrning nomini o'zgartirish sxemasining murakkabligi tez o'sib boradi. Birgalikda quvvat sarfi, murakkabligi va eshikni kechiktirish xarajatlari bir vaqtning o'zida sakkizta yuborilgan ko'rsatmalarga qadar bo'lgan superskalyar tezligini cheklaydi.

Ammo aks holda odatiy superskali protsessorda cheksiz tez bog'liqlikni tekshirish mantig'ini hisobga olgan holda, agar ko'rsatmalar oqimining o'zi juda ko'p bog'liqliklarga ega bo'lsa, bu ham mumkin bo'lgan tezlikni cheklaydi. Shunday qilib kod oqimidagi ichki parallellik darajasi ikkinchi cheklovni hosil qiladi.


Umuman olganda, ushbu cheklovlar muqobil me'moriy o'zgarishlarni tekshirishga undaydi, masalan, juda uzun ko'rsatma so'zi (VLIW), aniq parallel ko'rsatma hisoblash (EPIC), bir vaqtning o'zida ko'p o'qish (SMT) va ko'p yadroli hisoblash. VLIW-da, ish vaqtida apparat mantig'iga bog'liqlikni tekshirishning og'ir vazifasi o'chiriladi va kompilyatorga topshiriladi. Parallel ravishda buyruqni hisoblash (EPIC) qo'shimcha keshni oldindan olish ko'rsatmalariga ega VLIWga o'xshaydi. Bir vaqtning o'zida multithreading (SMT) - bu superskali protsessorlarning umumiy samaradorligini oshirish uslubidir. SMT zamonaviy protsessor arxitekturasi tomonidan taqdim etilgan resurslardan yaxshiroq foydalanish uchun bir nechta mustaqil ijro etilishiga ruxsat beradi. Superskalyar protsessorlari ko'p yadroli protsessorlardan bir nechta bajarilish birliklari butun protsessor bo'lmasligi bilan farq qiladi. Bitta protsessor ALU, integer multiplikator, integer shifter, FPU va boshqalar kabi aniqroq ijro etuvchi birliklardan iborat bo'lib, ko'plab ko'rsatmalarning parallel ravishda bajarilishini ta'minlash uchun har bir ijro birligining bir nechta versiyalari bo'lishi mumkin. Bu ko'p yadroli protsessordan farq qiladi, u bir vaqtning o'zida bir nechta iplarning ko'rsatmalarini qayta ishlaydi, bitta ishlov berish birligi uchun bitta ip ("yadro" deb nomlanadi). Shuningdek, u bir nechta ko'rsatmalar bir vaqtning o'zida bajarilishning turli bosqichlarida bo'lishi mumkin bo'lgan truboprovodli protsessordan farq qiladi. Har xil alternativ usullar bir-birini inkor etmaydi - ular bitta protsessorda birlashtirilishi mumkin (va tez-tez). Shunday qilib, ko'p yadroli protsessor mumkin, agar har bir yadro bir nechta parallel quvurlarni o'z ichiga olgan mustaqil protsessor bo'lsa, har bir quvur liniyasi superskalyar bo'ladi. Ba'zi protsessorlarga vektor qobiliyati ham kiradi.

Xulosa.

Agar protsessor ishlashi paytida quvur liniyasi tomonidan ishlov berilgan bir nechta ko'rsatmalar mustaqil bo'lsa, yadro ularni bir vaqtning o'zida bajarishi mumkin. Superskalyar tizimlarida ijro uchun ko'rsatma berish to'g'risida qaror juda ko'p resurslarni talab qiladigan protsessor yadrosining o'zi tomonidan qabul qilinadi. Keyinchalik Elbrus-3 va Itanium kabi tizimlarda stat rejalashtirish qo'llaniladi, ya'ni kompilyator qaysi ko'rsatmalarni bir vaqtning o'zida bajarilishini hal qiladi; kompilyator mustaqil ko'rsatmalarni topadi va ularni bitta uzun yo'riqnomaga birlashtiradi (VLIW arxitekturasi).

Ko'rsatma dispetcher (ID) deb nomlangan superskalyar protsessor tuguni quyidagilar uchun javobgardir.


  • xotiradan ko'rsatmalarni o'qish uchun;

  • ko'rsatmalar bir vaqtning o'zida bajarilishi mumkin bo'lgan qarorlarni qabul qilish uchun;

  • ko'rsatmalarni protsessorning bir nechta funktsional bo'linmalari o'rtasida taqsimlash uchun.

Tugun identifikatori tugunlar o'rtasida ko'rsatmalarni tarqatishi kerak, shunda tugunlar ishlamay qolmasdan ishlaydi. Birinchi superskalyar protsessorlarida ikkita ALU va bittadan FPU mavjud edi.

Zamonaviy protsessorlarda ko'proq tugun mavjud. Masalan, PowerPC 970 protsessorida to'rtta ALU, ikkita FPU va ikkita SIMD tugun mavjud. Agar tugun identifikatori o'z ishiga dosh berolmasa (barcha tugunlarni ish bilan yuklamasa), superskalyar protsessorining ishlashi skaler protsessorning ishlashidan yaxshiroq bo'lmaydi.



Superskalyar protsessori odatda soat tsikli uchun bir nechta buyruqlarni bajarishga qodir. Shu bilan birga, bir vaqtning o'zida bir nechta ko'rsatmalarni qayta ishlash qobiliyati arxitekturani superskalaga aylantirmaydi, chunki bir vaqtning o'zida boshqa usullar bilan erishish mumkin: quvur liniyasidan foydalanish, bir nechta yadrolardan va / yoki bir nechta protsessorlardan foydalanish.

Foydalanilgan adabiyotlar.

  1. Mike JohnsonSuperskalyar Microprocessor Design, Prentice-Hall, 1991, ISBN 0-13-875634-1

  2. Sorin Cotofana, Stamatis Vassiliadis, "On the Design Complexity of the Issue Logic of Superskalyar Machines", EUROMICRO 1998: 10277-10284

  3. Steven McGeady, "The i960CA Superskalyar Implementation of the 80960 Architecture", IEEE 1990, pp. 232–240

  4. Steven McGeady, et al., "Performance Enhancements in the Superskalyar i960MM Embedded Microprocessor," ACM Proceedings of the 1991 Conference on Computer Architecture (Compcon), 1991, pp. 4–7

  5. https://www.sciencedirect.com/topics/computer-science/superskalyar-processor


Download 153 Kb.

Do'stlaringiz bilan baham:




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