işlemci fetching ?

Başlatan mir_as82, 23 Eylül 2014, 19:45:00

mir_as82

32 bit ilk bir işlemci, RAM den 32 bit isletilebilir bir makina kodu aliyor, ve bunun 8 biti opcode olsun, peki o işletilebilir kodun geri kalan kismi ne?
2. Sorum ise o fetch edilen sadece kod mu? Yani o kodun içinde işlem yapacagi adres var mi? Fetch yaparken 32 bit + opcode kadar mi fetch yapar? Çünkü işlem yapacagi adres ve verisi de 32 bit ya onun için...
Load ax, [0x00123456] buradaki ax register diğeri adres içeriği olarak düşünün.
Buradaki makina kodu nasil olur? ISA ya gore değişir ama genel bir mantik olarak soruyorum


mir_as82

Arkadaşlar sorumu soramadim galiba. 32 bit bit işlemcinin işletilebilir makina kodu nasil olur?onun içinde işlem yapacagi adres var midir?

yamak

1. Hocam komutun tipine göre ve mimariye göre değişir.Örneğin mips mimarisinde R tipi komutlar aşağıdaki formatta oluyor

opcode-rs-rt-rd-shift-funct
R tipi komutlarda opcode hep 0 dır.Hangi komut olduğuğu(add,sub,and,sll vs) func kısmından belirlenir.rs,rt,rd de register isimleridir. Örneğin add rd,rs,rt=rd=rs+rt dir. shift kısmı da sonucu kaç bit kaydırılacağını belirler.

Diğer tipteki komutlarda mantık yine benzer şekildedir.

2.Sadece komut değil hex kodun tamamı fetch edilir. Örneğin yukarıdaki gibi   000000,00101,00110,00111,00000,000001=0x00A63801 bir R tipi komutumuz olsun bu komut olduğu gibi fetch edilir.
                                                                                                                  opcode    rs        rt        rd     shift   func
32 bitli adreslere erişileceği zaman değişk yöntemler kullanır.Örneğin adres 16 bitlik 2 ayrı registerda saklanır.Ya da derleyici kodu derleme esnasında bu adresleri belleğin kullanılmayan bi bölgesine yerleştirir sonra bu bölgenin başlangıç adresini bildiği için offset uygulayarak bu adresleri kullanır.Örneğin
LDR R3,[PC,offset] bu komutta program counter ın değerin offset uygulayarak derleme esnasında 32 bitlik değerleri yerleştirdiği bellek bölgesine erişiyo.Sonra oradaki sayıyı R3 registerına yüklüyo.
Genel olarak mantık bu şekilde işliyo.