Shaklda 1-rasmda yangi 64 bitli registrlar IA-32 dagi 32 bitli registrlarga nisbatan kengaytirilganligi ko'rsatilgan. 16 bitli operatsiyalarni bajarish uchun A registri AX deb nomlanadi, 32 bitli operatsiyalarni EAX sifatida va 64 bitli operatsiyalarni RAX sifatida bajaradi. Natija registri natijalar registri bo'lib xizmat qiladigan 32 bitli operatsiyalarni bajarishda 32 bitli qiymatlar nol bilan 64 bitli raqamlarga to'ldiriladi. 8 va 16-bitli butun sonlarni registrlaridagi operatsiyalar yuqori darajadagi bitlarni o'zgarishsiz qoldiradi. 64-bitli manzil bilan ishlash uchun x86-64 Long Mode rejimini taqdim etdi (keling, uni "rivojlangan rejim" deb nomlaymiz). Operatsion rejimi LMA (Long Mode Active) boshqaruv biti bilan o'rnatiladi, agar mikroprotsessor rivojlangan rejimga kirsa yoqiladi. Murakkab rejimda ES, DS, FS, GS, SS segmentlarining registrlari e'tiborga olinmaydi. CS registri (kod segmenti deskriptori) mikroprotsessorning ishlash rejimlarini belgilaydigan bitlarni o'z ichiga oladi. X86-64 da kengaytirilgan rejim ikkita "kichik rejim" ga ega: 64 bitli va muvofiqlik rejimi. Moslik rejimi 16 va 32 bitli x86 rejimlari bilan ikkilik muvofiqlikni ta'minlaydi. Sub-mode tanlovi CS.L bit tomonidan boshqariladi. Agar u 0 ga (moslik rejimi) o'rnatilgan bo'lsa, LMA rejimida ishlaydigan 64 bitli operatsion tizim eski 16 bitli va 32 bitli x86 dasturlarni ishlatishi mumkin. CS.D bit operand hajmini tanlash uchun javobgardir. Odatiy bo'lib, 64 bitli rejimda (LMA bit yoqiladi, CS.L \u003d 1, CS.D \u003d 0), 64 bitli manzillar va 32 bitli operandalar ishlatiladi. Buyruq prefikslaridan foydalanib, siz operand hajmini o'zgartirishingiz mumkin (uni 64 yoki 16 bitga sozlang), shuningdek manzilning hajmini o'zgartirishingiz mumkin (32 bitga o'rnatilgan). 1-jadval va protsessor rejimlarining asosiy turlari va operatsion tizim va ilovalarning ishlash rejimlari ko'rsatilgan. Taqdim etilgan ma'lumotlar shuni ko'rsatadiki, x86-64 arxitekturasiga ega protsessorlar mavjud 16 va 32 bitli, shuningdek 64 bitli yangi operatsion tizimlar bilan ishlashi mumkin. Ikkinchi holda, muvofiqlik rejimida, bir vaqtning o'zida individual kod segmentlarida tegishli bitlarni o'rnatish orqali 16 va 32 bitli dasturlarni ishga tushirish mumkin. Shu bilan birga, 32 bitli ilovalar birinchi 4 Gb virtual xotiradan foydalanishlari mumkin. X86-64 arxitekturasiga ega bo'lgan mikroprotsessorlarning xususiyatlarini aniqlashtirish uchun, EAX / EBX / ECX / EDX registrlarini tahlil qilish kerak, unda CPUID buyrug'ining natijalari joylashtiriladi (agar qo'ng'iroq qilsangiz, oldingidek 8000_0000h ni EAX-ga qo'yish kerak). Agar EAX-dagi 29-chi bit 1 bo'lsa, mikroprosessor rivojlangan rejimda. X86-64, ayniqsa tizimni dasturlash vazifalari uchun bir qator qiziqarli yaxshilanishlarga ega. Misol sifatida, biz uzilishlarni tezlashtirish uchun ishlatiladigan yangi TPR ustuvorlik registrining kiritilishini ta'kidlaymiz. Tafsilotlar uchun o'quvchilarni x86-64 tavsifiga murojaat qiling.
Do'stlaringiz bilan baham: |