İçeriğe atla

Adresleme yöntemi

Vikipedi, özgür ansiklopedi

Bir buyruk kümesinde tanımlı adresleme yöntemi ya da adresleme kipi (İngilizce: addressing mode), bir makine dili buyruğunun işleneninin (operand) nerede bulunduğunu ve etkin adresinin nasıl hesaplanacağını belirleyen kuraldır.[1] Bir işlenen; doğrudan buyruğun içinde (sabit değer olarak), bir yazmaçta ya da ana bellekte bulunabilir; adresleme yöntemi, işlemcinin bu işlenene nasıl ulaşacağını tanımlar.

Adresleme yöntemleri bir buyruk kümesi mimarisinin tanımının ayrılmaz parçasıdır ve özellikle simgesel dilde (çevirici dili) kod yazan programcılar ile derleyici yazarlarının ilgi alanına girer. RISC işlemcilerde genellikle az sayıda ve basit adresleme yöntemi bulunurken, CISC işlemcilerde (örneğin DEC VAX) onlarca karmaşık yöntem yer alabilir.[2]

Bir işlenenin bellekteki gerçek konumuna etkin adres denir. Adresleme yöntemi, buyrukta verilen alanlardan (sabit, yazmaç numarası, yer değiştirme vb.) etkin adresin nasıl hesaplanacağını belirtir. Örneğin yer değiştirmeli bir yöntemde etkin adres, bir taban yazmacının değeri ile buyruktaki sabit yer değiştirmenin toplamıdır.[1]

Yaygın adresleme yöntemleri

[değiştir | kaynağı değiştir]
  • Anlık (ivedi; immediate): İşlenen, bir sabit olarak doğrudan buyruğun içinde yer alır. Örneğin RISC-V'de addi x5, x0, 12 buyruğu 12 sabitini kullanır.
  • Yazmaç (kaydedici; register): İşlenen bir yazmaçta bulunur; bellek erişimi gerekmez.
  • Yazmaç dolaylı (register indirect): Bir yazmaç, işlenenin bellekteki adresini tutar.
  • Taban + yer değiştirme (base plus displacement): Etkin adres, bir taban yazmacının değeri ile buyruktaki sabit yer değiştirmenin toplamıdır. RISC-V'de bellek erişimleri bu yöntemi kullanır; örneğin lw x6, 8(x5), x5 yazmacının değerine 8 eklenerek bulunan adresteki sözcüğü yükler.
  • Doğrudan (mutlak; direct): İşlenenin bellek adresi doğrudan buyrukta verilir.
  • Dolaylı (indirect): Buyrukta verilen adres, gerçek işlenenin adresinin saklandığı bellek gözünü gösterir.
  • Program sayacına göreli (PC-göreli; PC-relative): Etkin adres, program sayacının değerine bir yer değiştirme eklenerek bulunur. Dallanma ve atlama buyruklarında yaygın olarak kullanılır.
  • Dizinli (sıralı; indexed): Etkin adres bir taban adres ile bir dizin yazmacının değeri toplanarak bulunur; dizi gibi yapılara erişimde kullanışlıdır.[3]

Mimariye göre adresleme yöntemleri

[değiştir | kaynağı değiştir]

RISC-V, MIPS ve ARM gibi yükle-depola mimarileri yalnızca birkaç basit adresleme yöntemi (anlık, yazmaç, taban + yer değiştirme ve PC-göreli) sunar; belleğe yalnızca özel yükleme ve saklama buyrukları erişir.[1] Buna karşılık x86 ve DEC VAX gibi CISC mimarileri, tek bir buyruğun bellek işleneni üzerinde işlem yapabildiği çok sayıda ve karmaşık adresleme yöntemi içerir.[4] Adresleme yöntemlerinin sayısı ve karmaşıklığı, bir mimarinin RISC mi yoksa CISC mi olduğunu belirleyen ayırt edici özelliklerden biridir.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  1. ^ a b c Patterson, David A.; Hennessy, John L. (2020). Computer Organization and Design RISC-V Edition: The Hardware/Software Interface (2 bas.). Morgan Kaufmann. ISBN 978-0128203316. 
  2. ^ Hennessy, John L.; Patterson, David A. (2020). Computer Architecture: A Quantitative Approach (6 bas.). Morgan Kaufmann. ISBN 978-0124077812. 
  3. ^ Mano, M. Morris (1988). Computer Engineering: Hardware Design (İngilizce). Prentice-Hall. s. 300. ISBN 0131629263. 
  4. ^ Tanenbaum, Andrew S.; Austin, Todd (2012). Structured Computer Organization (6 bas.). Pearson. ISBN 978-0132916523. 

Dış bağlantılar

[değiştir | kaynağı değiştir]