Buyruk ön yüklemesi

Vikipedi, özgür ansiklopedi

Bilgisayar mimarisinde, buyruk ön yüklemesi bekleme durumlarını azaltarak bir programın mikroişlemcide ki yürütmesinin hızlanmasını sağlayan bir tekniktir.

Modern işlemciler programların tutulduğu bellekten çok daha hızlıdır, bu durum programın barındırdığı buyrukların işlemciyi sürekli çalışır konumda tutacak kadar hızlı okunamaması anlamına gelmektedir. Bir ön bellek eklemek gerekli buyruklara daha hızlı bir giriş olanağı sağlar.

Ön yükleme işlemcinin gerçekte ihtiyacı olmayan bir buyruğu, ana bellekten getirtmek istemesi durumudur. Buyruk ana bellekten geldiğinde, bir ön belleğe alınır. Bu buyruğa işlemcinin gerçekten ihtiyacı olması durumunda, istenen buyruğa ön bellekten, buyruğun ana bellekten istenip getirilmesine nazaran, çok daha hızlı bir şekilde ulaşılabilir.

Programlar genel olarak sıralı olarak yürütüldüğünden, buyrukların program sırasına uygun olarak ön yüklemesi yapılırsa başarım en iyi seviyede olacaktır. Alternatif olarak, ön yükleme karmaşık bir dallanma tahmini algoritmasının bir parçası olabilir, işlemci hesaplamanın sonucunu tahmin etmeye çalışır ve doğru buyrukları yakalar. Kendisine sadece belirli bir iş tahsis edilmiş bir donanımın(Grafik İşleme Birimi gibi) bulunması durumunda, işlemci doku eşlemi(texture mapping) işlemindeki alanda yerellikten faydalanabilir. Bu durumda ön yüklemesi yapılan veriler buyruklar değildir fakat doku elementleridir(texels), yani daha sonra kullanılması kuvvetle muhtemel olan adaylardır.

Intel 8086 (altı bayt) ve Motorola 68000 (dört bayt) ilk defa ön yüklemenin bazı formalarını kullanan popüler mikroişlemcilerdir.

Dış bağlantılar[değiştir | kaynağı değiştir]

  • Halstead, Robert; Ward, Stephen (1989). Computation Structures. MIT Press. pp. 812. ISBN 0-262-23139-5.
  • David Callahan, Ken Kennedy, Allan Porterfield (April 1991). "Software prefetching". 4th Conference on Architectural Support of Programming Languages & Operating Systems. New York, NY, USA: ACM. pp. 40–52. doi:10.1145/106972.106979. ISBN 0-89791-380-9. Retrieved 2010-11-21.
  • Chi-Keung Luk, Todd C. Mowry (October 1996). "Compiler-based prefetching for recursive data structures". 7th Conference on Architectural Support of Programming Languages & Operating Systems. New York, NY, USA: ACM. pp. 222–233. doi:10.1145/237090.237190. ISBN 0-89791-767-7. Retrieved 2010-11-21.
  • Abdel-Hameed Badawy, Aneesh Aggarwal, Donald Yeung, Chau-Wen Tseng (July 2004). "The Efficacy of Software Prefetching and Locality Optimizations on Future Memory Systems". The Journal of Instruction-Level Parallelism 6. ISSN 1942-9525.