Talimat döngüsü - Instruction cycle

Komut döngüsü (aynı zamanda getirme çözme yürütmek döngüsü basit ya da almak yürütmek döngü ) olup döngüdür merkezi işlem birimi (CPU) izler boot-up bilgisayar işlem talimatları için kapanana kadar . Üç ana aşamadan oluşur: getirme aşaması, kod çözme aşaması ve yürütme aşaması.

Bu, getirme-çözme-yürütme döngüsünün bireysel aşamalarını gösteren basit bir diyagramdır.

Daha basit CPU'larda, talimat döngüsü sırayla yürütülür, her talimat bir sonraki başlatılmadan önce işlenir. Çoğu modern CPU'da, talimat döngüleri bunun yerine eşzamanlı olarak ve genellikle paralel olarak bir talimat boru hattı aracılığıyla yürütülür : sonraki talimat, önceki talimat bitmeden işlenmeye başlar, bu, döngü ayrı adımlara bölündüğü için mümkündür.

Bileşenlerin rolü

Program sayacı (PC) yürütülecek sonraki komutun bellek adresini tutan özel kayıt olduğunu. Getirme aşaması sırasında, PC'de saklanan adres bellek adres kaydına (MAR) kopyalanır ve ardından PC, yürütülecek bir sonraki komutun bellek adresini "işaret etmek" için artırılır. CPU daha sonra talimatı MAR tarafından tanımlanan bellek adresinden alır ve bunu bellek veri kaydına (MDR) kopyalar . MDR ayrıca bellekten alınan verileri veya bellekte saklanmayı bekleyen verileri tutan iki yönlü bir kayıt işlevi görür (bu nedenle bellek arabellek kaydı (MBR) olarak da bilinir). Sonunda, MDR'deki talimat, bellekten yeni getirilen talimat için geçici bir tutma alanı görevi gören mevcut talimat kaydına (CIR) kopyalanır .

Kod çözme aşaması sırasında, kontrol ünitesi (CU) CIR'deki talimatın kodunu çözecektir. CU daha sonra CPU içindeki aritmetik mantık birimi (ALU) ve kayan nokta birimi (FPU) gibi diğer bileşenlere sinyaller gönderir . ALU, toplama ve çıkarma gibi aritmetik işlemleri ve ayrıca tekrarlanan toplama ile çarpma ve tekrarlanan çıkarma ile bölme gibi işlemleri gerçekleştirir . AND , OR , NOT gibi mantıksal işlemleri ve ikili kaydırmaları da gerçekleştirir. FPU, kayan nokta işlemlerini gerçekleştirmek için ayrılmıştır .

Aşamaların özeti

Her bilgisayarın CPU'su, farklı komut setlerine dayalı olarak farklı döngülere sahip olabilir, ancak aşağıdaki döngüye benzer olacaktır:

  1. Getirme Aşaması : Bir sonraki talimat, program sayacında halihazırda kayıtlı olan ve talimat kaydında saklanan hafıza adresinden alınır. Getirme işleminin sonunda, PC bir sonraki döngüde okunacak bir sonraki talimatı işaret eder.
  2. Kod Çözme Aşaması : Bu aşamada, talimat kaydında sunulan kodlanmış talimat, kod çözücü tarafından yorumlanır.
    • Etkin adresi oku : Bir bellek talimatı durumunda (doğrudan veya dolaylı), yürütme aşaması bir sonraki saat darbesi sırasında olacaktır. Talimatın dolaylı bir adresi varsa , etkin adres ana bellekten okunur ve gerekli tüm veriler işlenmek üzere ana bellekten alınır ve ardından veri kayıtlarına yerleştirilir (saat darbesi: T 3 ). Talimat doğrudan ise, bu saat darbesi sırasında hiçbir şey yapılmaz. Bu bir G/Ç talimatı veya bir kayıt talimatı ise, işlem saat darbesi sırasında gerçekleştirilir.
  3. Yürütme Aşaması : CPU'nun kontrol birimi, kodu çözülen bilgileri, bir dizi kontrol sinyali olarak CPU'nun ilgili işlevsel birimlerine ileterek, yazmaçlardan değerleri okumak, bunları gerçekleştirmek için ALU'ya iletmek gibi komutun gerektirdiği eylemleri gerçekleştirir. üzerlerinde matematiksel veya mantıksal işlevler ve sonucun bir kayıt defterine geri yazılması. ALU dahilse, CU'ya bir durum sinyali gönderir. İşlem tarafından üretilen sonuç, ana bellekte saklanır veya bir çıkış cihazına gönderilir. ALU'dan gelen geri bildirime dayanarak, bilgisayar bir sonraki talimatın getirileceği farklı bir adrese güncellenebilir.
  4. Döngüyü Tekrarla

Ayrıca, çoğu işlemcide kesintiler meydana gelebilir. Bu, CPU'nun bir kesme hizmeti rutinine atlamasına, bunu yürütmesine ve ardından geri dönmesine neden olur. Bazı durumlarda, bir talimat ortada kesintiye uğrayabilir, talimatın hiçbir etkisi olmaz, ancak kesintiden döndükten sonra yeniden yürütülür.

başlatma

Döngü, sistem mimarisi tarafından önceden tanımlanmış bir başlangıç ​​PC değeri ile sisteme güç verilir uygulanmaz başlar (örneğin, Intel IA-32 CPU'larda, önceden tanımlanmış PC değeri 'dir 0xfffffff0). Tipik olarak, bu adres salt okunur bellekteki (ROM) işletim sistemini yükleme (veya önyükleme ) işlemini başlatan bir dizi talimata işaret eder .

getirme aşaması

Getirme adımı her talimat için aynıdır:

  1. CPU, bilgisayarın içeriğini MAR'a gönderir ve kontrol veriyoluna bir okuma komutu gönderir
  2. Okuma komutuna yanıt olarak (PC'ye eşit adres ile), bellek, PC tarafından veri yolunda gösterilen bellek konumunda depolanan verileri döndürür.
  3. CPU, veri yolundan verileri MDR'sine kopyalar (MBR olarak da bilinir; yukarıdaki Bileşenlerin rolü bölümüne bakın )
  4. Bir saniyeden kısa bir süre sonra, CPU, talimat kodunu çözmek için MDR'den gelen verileri talimat kaydına kopyalar.
  5. PC, bir sonraki talimata işaret edecek şekilde artırılır. Bu adım, CPU'yu bir sonraki döngü için hazırlar.

Kontrol birimi, talimatın adresini bellek biriminden alır .

kod çözme aşaması

Kod çözme işlemi, CPU'nun hangi talimatın gerçekleştirileceğini belirlemesine izin verir, böylece CPU, talimatı gerçekleştirmek için kaç işlenen alması gerektiğini söyleyebilir. Bellekten alınan işlem kodunun kodu sonraki adımlar için çözülür ve uygun kayıtlara taşınır. Şifre çözme tipik tarafından gerçekleştirilir ikili kod çözücüleri içinde CPU 'ın Kontrol Ünitesi .

Etkili adresi okuma

Bu adım, hangi tür işlemin gerçekleştirileceğini değerlendirir. Bu bir bellek işlemiyse, bilgisayar bunun doğrudan mı yoksa dolaylı bir bellek işlemi mi olduğunu kontrol eder:

  • Doğrudan bellek işlemi - Hiçbir şey yapılmadı.
  • Dolaylı bellek işlemi - Etkin adres bellekten okunur.

Bu bir G/Ç veya kayıt talimatı ise, bilgisayar tipini kontrol eder ve talimatı yürütür.

Yürütme aşaması

CPU, kodu çözülmüş talimatı ilgili bilgisayar bileşenlerine bir dizi kontrol sinyali olarak gönderir. Talimat aritmetik veya mantık içeriyorsa, ALU kullanılır. Bu, son kullanıcının bakış açısından yararlı olan talimat döngüsünün tek aşamasıdır. Yürütme adımının gerçekleşmesi için gereken her şey ek yüktür.

Ayrıca bakınız

Referanslar