Real vaqt talablarining protsessor arxitekturasini tanlashga ta'siri
Yuqorida tavsiflangan protsessor unumdorligini oshirishning hammasi ham odatiy real vaqtda tizimni tezlashtirmaydi va ba'zan uni sekinlashtiradi. Bu RTS OS tizimlari bozorida muhim ulushni ibtidoiy quvur liniyasi va keshga ega eskirgan CISC arxitekturali protsessorlar egallashini tushuntiradi. Ushbu vaziyatning asosiy sabablarini ko'rib chiqing.
RISC arxitekturasini asoslash uchun asos bo'lgan dalillar (statistik tahlil) RTOS uchun mutlaqo to'g'ri emas edi. Ko'pincha RTOS ilovasi o'z vaqtining katta qismini tashqi qurilmalardan uzilishlar bilan ishlashga sarflaydi. Interrupt ishlov beruvchilari ko'pincha assemblerda yoziladi va CISC protsessorida murakkab ko'rsatmalar mavjudligi ishlov beruvchining uzunligini qisqartirishi mumkin. Murakkab xotira manzillash rejimlarining mavjudligi sizga kamroq registrlar bilan ishlashga imkon beradi va shunga mos ravishda ishlov beruvchini yanada qisqartiradi (saqlangan / tiklangan registrlar sonini kamaytirish orqali ).
RISC protsessorlarida registrlar sonining ko'payishi vazifalarni almashtirish va xususan, uzilishlarni qayta ishlash vaqtini ko'paytirishga olib keladi, chunki registrlarning katta qismini saqlash / tiklash kerak.
Quvurning chuqurligini oshirish vazifalarni almashtirish va xususan, uzilishlarni qayta ishlash vaqtini ko'paytirishga olib keladi, chunki quvur liniyasidagi barcha ko'rsatmalar bajarilishini kutish kerak.
Quvur chuqurligi va kesh o'lchamlarini oshirish har doim ham ko'p sonli uzilishlar (ya'ni vazifa kalitlari) tufayli tezroq RTOS-ga olib kelmaydi, chunki quvurlar va keshda kerakli ko'rsatmalar va ma'lumotlar bilan to'ldirish uchun vaqt yo'q.
Kesh hajmini oshirish ularni ko'p protsessorli tizimlarda sinxronlashtirish uchun qo'shimcha xarajatlarning oshishiga olib keladi.
Bir qator holatlarda RTOS superskalyar protsessor quvurlaridan tashqari hammasini bloklashi kerak. Gap shundaki, bunday protsessordagi ko'rsatmalar protsessorga berilgan tartibda to'ldirilmasligi mumkin. Masalan, buyruqlar oqimi I 4 -> I 3 -> I 2 -> I 1 protsessor ikkita quvur liniyasi oʻrtasida I 3 -> I 1 -> quvur liniyasi 1 , I 4 -> I 2 -> quvur liniyasi 2 kabi taqsimlanishi mumkin . Agar ko'rsatma I 1 juda uzoq vaqt davomida bajariladi (masalan, unda xotiraga kirish amalga oshiriladi), keyin I 2 , I 4 ko'rsatmalari I 1 , I 3 dan oldinroq bajariladi . I/U bilan ishlashda bu holatga yo'l qo'yilmaydi. Shuning uchun superskalyar protsessorlarda ko'rsatmalarning to'g'ri tartibini ta'minlash uchun uni ketma-ket bajarish rejimiga o'tkazadigan ko'rsatmalar mavjud. Ko'pincha bu ko'rsatmalar aslida quvurlarning biridan tashqari hammasini to'sib qo'yadi.
Uzilishlarni qayta ishlashni tezlashtirish uchun ba'zi protsessorlar maxsus choralardan foydalanadilar.
Uzilishlar jadvali protsessorning ichki xotirasida saqlanishi mumkin, shuning uchun uni tashqi xotiradan (Intel 80960) olish kerak emas.
Protsessor soya registrlarini o'z ichiga olishi mumkin, bu esa joriy vazifaning kontekstini oddiy uzilish tartiblarida (HP-PA) saqlashni keraksiz qiladi.
Muhim uzilish tartiblari ko'rsatmalar keshida (Motorola 68060) qulflanishi mumkin.
Uzilish jadvali birinchi uzilishni qayta ishlash ko'rsatmalarini saqlashi mumkin, bu esa quvur liniyasining uzilish vaqtini (SPARC) kamaytiradi.
Tashqi xotirada ma'lumotlarni tashkil qilish. Motorola 68xxx protsessorlari.
Haqiqiy vaqtda tizimlarda, bitta VME kassasida turli ishlab chiqaruvchilarning protsessorlariga o'rnatilgan bir nechta platalar mavjud bo'lganda, vaziyat juda keng tarqalgan. Ushbu kartalar odatda sanoat uskunalarini boshqarishning umumiy vazifasini hal qiladi va umumiy xotira orqali bir-biri bilan aloqa qiladi (aslida, bu VME avtobusi tomonidan taqdim etilgan yagona aloqa usuli, 12.1-bo'limga qarang). Bunday holda, almashinuvda ishtirok etuvchi protsessorlarning har biri tomonidan ma'lumotlarning xotirada ko'rinishini muvofiqlashtirish kerak.
Do'stlaringiz bilan baham: |