Yeniden sıralama belleği

Yeniden sıralama belleğinin görevi sırasız işlenen buyrukların işlenmesi bittiğinde buyrukları program sırasına sokmaktır. Sıralama belleği buyrukların sıra listesini tutar. Buyruklar listenin bir ucundan girerler ve tamamlandıklarında diğer ucundan çıkarlar. Bu sayede buyruklar program sırasında işlenmiş gibi olur. Sıralama arabelleğinin uygulanması genelde işletim sistemlerindeki giriş/çıkış belleği gibidir. Sıralama belleğinde buyruklar “son” kısmından girerler, her giriş buyrukların sonucunu tutmak için ayrılan bir alan demektir. Belleğin “baş” kısmındaki buyrukların sonuçlarının hazır olup olmadığına bakılır ve baştaki buyruğun bütün sonuçları yazılıp tamamlandığında buyruk bellekten çıkarılır.

İşleyiş değiştir

  1. Alan tahsisi: Yeni buyruk için sıralama belleğinde program sırasına göre bir alan tahsis edilir.
    1. Son işaretcisi sıralama belleğinden alan seçer.
    2. Zorunlu bilgiler (buyruk adresi, adı değiştirilen yazmaç gibi) sıralama belleğine yüklenir.
    3. Son işaretçisinin değeri bir arttırılır.
  2. Bekle: Buyruğun işlenmesinin bitimine kadar bekler.
    1. Sıralama belleğinde baş kısmında yürütülmesi tamamlanan tüm buyruklar seçilir.
    2. Seçim baş işaretçisinden son işaretcisine kadar karşılaşılan ilk yürütülmesi tamamlanmamış buyrukta durdurulur.
  3. Bitir: Seçilen(kuyruktaki yürütülmesi tamamlanmış ve kuyruktan çıkmaya uygun) buyrukların sonuçlarının yazmaçlara yazılmasına izin verilir.
    1. İsmi değiştirilen yazmacı mimari yazmacına kopyala.
    2. Adı değiştirilen yazmacı serbest bırak
    3. Sıralama belleğinde baş işaretcisinin değerini bir arttırarak ayrılan alanı serbest bırak.