Ana Sayfa

x86-64 CPU'larında Kaç Yazmaç Var?

1 dk okuma

x86-64 mimarisi, Apple M1 ve Rosetta 2 gibi gelişmelerle yeniden programcıların gündemine gelmişken, bu karmaşık mimarinin yazmaç (register) yapısı dikkat çekiyor. Modern komut setleri arasında x86-64'ü benzersiz kılan, mevcut yazmaçların sayısı ve çeşitliliğidir. Makale, bu yazmaçları sayarken belirli bir metodoloji izler: örneğin, 64-bit bir yazmacın (RAX gibi) alt yazmaçları (EAX, AX, AL) ayrı ayrı sayılır çünkü farklı komut kodlamalarına sahiptirler ve mikro kod seviyesinde farklı optimizasyonlara tabidirler.

Yazar, x86-64 CPU'larında bulunan ancak uzun modda kullanılamayan yazmaçları da sayıma dahil ederken, yalnızca eski x86 CPU'larında bulunan veya mikro mimari uygulama detayları olan yazmaçları dışarıda bırakır. Doğrudan adreslenemeyen ancak RDMSR gibi komutlarla erişilebilen Model-Specific Registers (MSR) gibi yazmaçlar da hesaba katılır. Genel amaçlı yazmaçlar (GPR'ler) x86-64 yazmaç modelinin temelini oluşturur ve programcılar tarafından esnek bir şekilde kullanılabilir. x86-64'ün 16-bit ve 32-bit ISA'lardan evrilmesi nedeniyle, her GPR'nin 8, 16 ve 32 bitlik alt yazmaçları bulunur, bu da mimarinin karmaşıklığını daha da artırır. Bu detaylı sayım ve sınıflandırma, x86-64'ün derinliklerini anlamak için kritik bir bakış açısı sunar.

İçgörü

x86-64 mimarisinin yazmaç yapısının karmaşıklığı, modern CPU tasarımının ve düşük seviye programlamanın anlaşılması için temel bir öneme sahiptir.

Kaynak