Ko'p bosqichli protsessorlarning xususiyatlari Oddiy bir torli protsessorlardan mantiqiy jihatdan murakkabroq ko'p tarmoqli protsessorlarga o'tish ilgari duch kelmagan muayyan qiyinchiliklarni bartaraf etishni o'z ichiga oladi. Amalga oshirish jarayoni agentlar yoki iplarga (iplarga) bo'lingan qurilmaning ishlashi ikkita xususiyatga ega:
noaniqlik printsipi (noaniqlik printsipi). Ko'p tarmoqli ilovada jarayon oldindan aniqliksiz bir-biri bilan o'zaro ta'sir qiluvchi agent iplariga bo'linadi;
noaniqlik printsipi. Resurslar agentlar o'rtasida qanday taqsimlanishi ham oldindan noma'lum.
Ushbu xususiyatlar tufayli ko'p bosqichli protsessorlarning ishi fon Neyman sxemasi bo'yicha deterministik hisob-kitoblardan tubdan farq qiladi. Bunday holda, jarayonning hozirgi holatini oldingi holat va kiritilgan ma'lumotlarning chiziqli funktsiyasi sifatida aniqlab bo'lmaydi, garchi jarayonlarning har birini fon Neyman mikromashinasi deb hisoblash mumkin. (Tiplarning xatti-harakatlariga nisbatan qo'llanilganda, hatto kvant fizikasida qo'llaniladigan "g'alatilik" atamasini ham qo'llash mumkin.) Bu xususiyatlarning mavjudligi ko'p tarmoqli protsessorni murakkab tizim tushunchasiga yaqinlashtiradi, ammo sof amaliy nuqtai nazardan. , jarayonning bajarilishi darajasida noaniqlik yoki noaniqlik, hatto undan ham g'alatilik haqida gap bo'lishi mumkin emasligi aniq. To'g'ri bajarilgan dastur g'alati bo'lishi mumkin emas.
Eng ichida umumiy ko'rinish Ko'p oqimli protsessor ikki turdagi primitivlardan iborat. Birinchi tur - bu mutex deb ataladigan (Mutual Exclusion - "o'zaro istisno" dan), ikkinchisi - hodisaning bajarilishini qo'llab-quvvatlaydigan resurs. Muayyan mutexning jismoniy amalga oshirilishi tanlangan sxemaga bog'liq - SMT yoki CMP. Har qanday holatda ham, jarayonning bajarilishi shundan iboratki, keyingi ip mutexni bajarish muddati davomida ushlab turadi va keyin uni chiqaradi. Agar mutex bitta ip bilan band bo'lsa, ikkinchi ip uni ololmaydi. Muteksga egalik huquqini bir ipdan ikkinchisiga o'tkazishning o'ziga xos tartibi tasodifiy bo'lishi mumkin; bu boshqaruvning, masalan, ma'lum bir operatsion tizimda amalga oshirilishiga bog'liq. Har qanday holatda ham, boshqaruv shunday tuzilishi kerakki, mutexdan tashkil topgan resurslar to'g'ri taqsimlanadi va noaniqlik ta'siri bostiriladi.
Hodisalar - tashqi muhitning o'zgarishi haqida signal beruvchi ob'ektlar (hodisalar). Ular boshqa voqea sodir bo'lgunga qadar o'zlarini kutish rejimiga qo'yishlari yoki boshqa hodisaga o'z holatini xabar qilishlari mumkin. Shunday qilib, hodisalar bir-biri bilan o'zaro ta'sir qilishi mumkin va hodisalar orasidagi ma'lumotlarning uzluksizligi ta'minlanishi kerak. Kutilayotgan agentga ma'lumotlar bunga tayyorligi haqida xabar berish kerak. Muteksni taqsimlashda noaniqlik ta'sirini bostirish kerak bo'lganidek, hodisalar bilan ishlashda ham noaniqlik ta'sirini bostirish kerak. SMT sxemasi birinchi marta Compaq Alpha 21464 protsessorlarida, shuningdek, Intel Xeon MP va Itanium protsessorlarida amalga oshirilgan.
Mantiqan, CMP oddiyroq: bu erda parallellik har bir ipning o'z yadrosi tomonidan qayta ishlanishi bilan ta'minlanadi. Ammo agar dasturni iplarga bo'lish mumkin bo'lmasa, u (maxsus chora-tadbirlar mavjud bo'lmaganda) bitta yadro tomonidan qayta ishlanadi, bu holda umumiy ishlash protsessor bir yadro tezligi bilan cheklangan. Bir qarashda, SMT sxemasi bo'yicha qurilgan protsessor yanada moslashuvchan va shuning uchun bu sxema afzalroqdir. Ammo bunday bayonot faqat tranzistorlarning past zichligida to'g'ri bo'ladi. Agar chastota megahertsda o'lchansa va chipdagi tranzistorlar soni milliardga yaqinlashsa va signal uzatish kechikishlari kommutatsiya vaqtidan kattaroq bo'lsa, u holda tegishli hisoblash elementlari mahalliylashtirilgan CMP mikroarxitekturasi afzalliklarga ega.
Biroq, jismoniy parallelizatsiya CMP ning ketma-ket hisob-kitoblarda unchalik samarali emasligiga olib keladi. Ushbu kamchilikni bartaraf etish uchun spekulyativ multithreading deb nomlangan yondashuv qo'llaniladi. Rus tilida "spekulyativ" so'zi salbiy ma'noga ega, shuning uchun biz bunday ko'p oqimni "shartli" deb ataymiz. Bu yondashuv apparat yoki o'z ichiga oladi dasturiy ta'minotni qo'llab-quvvatlash ketma-ket dasturni shartli oqimlarga bo'lish, ularning bajarilishini muvofiqlashtirish va natijalarni xotiraga birlashtirish.