80×86 Assembly Dersleri 5 – İşlemcinin Komutları adım adım çalıştırması

İşlemcinin Komutları adım adım çalıştırması

80×86 familyasına bağlı işlemciler komutları tek bir saat darbesinde (clock cycle) işleyemezler. Komutun işlenebilmesi için takip edilmesi gereken ara adımları şu şekilde özetleyebiliriz;

  1. Komutu belirleyen byte’ın bellek üzerindeki kod alanından alınması (instruction fetch)
  2. IP (Instruction Pointer) yazmacının bir sonraki byte’ı gösterecek şekilde değişmesi
  3. Alınan komutun ne komutu olduğunu ve alacağı parametrelerin tespit edilmesi (instruction decode)
  4. Eğer parametreler kullanılacaksa bu parametrelerin bellek alanından alınması (operand fetch)
  5. IP (Instruction Pointer) yazmacının alınan parametre sayısı ve tiplerine de bağlı olarak gerekiyorsa bir sonraki komutu gösterecek şekilde değişmesi
  6. Parametreler kullanılarak işlemin gerçekleştirilmesi (execute)
  7. Elde edilen sonucun gerekli olan yere yerleştirilmesi (store)

 

80×86 familyasına bağlı olan eski ve yeni işlemcileri yukarıdaki mantık ile çalışmaktadır. Fakat, yeni nesil işlemciler çok yüksek hızlarda çalıştıkları için; komut kümelerinin önceden bir kuyruğa yerleştirilmesi (pre-fetch queue), ön bellek kullanımı (cache) ve ardışık düzende (pipeline) çalışmaları gerekmektedir. 8086 işlemcisi bu özellikten faydalanamıyorken 32 ve 64 bit olan tüm işlemlerde bu özelliklerin hepsi ve ekstrası mevcuttur.

İşlemci seçimi yaparken, önbellek boyutu fazla olan işlemcilerin az olan işlemcilere oranla daha fazla olması dikkatinizi çekti mi bilmiyorum. Fakat hızlı bir işlemci için önce önbellek boyutu ardından frekans hızı şeklinde tercih yapmanızı öneririm.

Leave a Reply

Your email address will not be published. Required fields are marked *