Talimat Seti Nedir?

click fraud protection

Herhangi bir CPU, belirli bir talimat setini desteklemek için sıfırdan tasarlanmıştır. Bir komut seti, CPU'nun gerçekleştirebileceği bir dizi sabit kodlanmış işlemdir. Bu işlemler, örneğin iki sayıyı birbirine eklemek, programın farklı bir bölümüne atlamak veya iki değeri karşılaştırmak olabilir. Bir bilgisayarın gerçekleştirebileceği her işlem benzersiz bir şekilde bir işlem koduyla temsil edilir.

işlem kodları

Bir programı yürütürken, CPU, bir sonraki talimatın gerçekleştirilmesi gerektiğini izlemek için bir program sayacı kullanır. Bir talimat getirildiğinde, program sayacı, bir sonraki talimatın başlangıcını gösterecek şekilde talimatın uzunluğu kadar artırılır. Her komut bir işlem kodundan oluşur. Talimata bağlı olarak, işlenenler içerebilir veya içermeyebilir. İşlenenler, sabit bir değer veya CPU kaydındaki veya sistem RAM'indeki bir değerin konumuna yönelik bir işaretçi olabilir.

Tam talimat alındıktan sonra, kodunun çözülmesi gerekir. Bu, CPU'nun işlem kodunu ve herhangi bir işleneni ayırdığı süreçtir. Kodu çözülen işlem kodu, CPU'da doğru işlemle sonuçlanacak belirli elektrik yollarını etkinleştirmek veya devre dışı bırakmak için kullanılır.

Talimatın kodu çözüldüğünde, yürütülecektir. CPU'nun tam davranışı işleme bağlı olacaktır. Bir toplama işlemi iki değeri birlikte toplayacaktır. Bir atlama işlemi, programda nereye atlanacağını hesaplayacaktır. Bir karşılaştırma işlemi iki değeri karşılaştıracaktır. NOP, İşlem Yok anlamına geldiğinden, bir NOP işlemi boşta kalacaktır.

Çoğu talimat daha sonra işlemin sonucunu verir. Bu çıktı, işlemci kayıtlarına ve gerekirse sistem RAM'ine gidebilir. Bu işlemlerin her birinin tamamlanması tek bir saat döngüsü alır.

Yasadışı İşlem Kodları

Her CPU mimarisinin, üretici tarafından yayınlanan özel işlem kodları listesi vardır. Bu işlem kodlarının değerleri, mutlaka aynı platformlar arası değildir, bu nedenle yazılımın farklı mimariler için derlenmesi gerekir. Bazı durumlarda üretici, belgelenmemiş işlem kodlarını da içerir. Bunlara "yasadışı işlem kodları" denir. Yasadışı işlem kodları, belgelenmemiş olsalar da, her çağrıldıklarında aynı işlevi yerine getirir. Belgelenmemiş ve standart olmayan özellikler olarak, CPU mimarisindeki güncellemeler bunları kolayca kaldırabilir.

Apple II'deki bazı erken bilgisayar oyunları, belirli yasadışı işlem kodlarına dayanıyordu. Daha sonra, IIc, oyunların gerektirdiği yasa dışı işlem kodlarını kaldırdığı için, sonraki Apple IIc CPU revizyonunda performans ve kararlılık sorunları yaşadılar. Yasadışı opcode'lar, telif hakkı koruma çevrelerinde, içeriklerini kıran korsanlara karşı mücadelelerinde belirsizlik yoluyla bir güvenlik yöntemi olarak da kullanıldı. Bazı yasadışı işlem kodları, yalnızca hata ayıklama araçları ve hata işleyicileri anlamına gelir.

x86 komut seti, çok sayıda belgesiz yasadışı işlem kodu içerir. İlginç bir şekilde, bunlardan bazıları Intel ve AMD CPU'lar arasında paylaşılıyor, bu da her iki şirketin de belgelenmemişken amaçlarının kamuya açık olduğunu gösteriyor.

Derleyiciler ve Montaj

Çoğu program yüksek seviyeli dillerde yazılır. Bunlar, öğrenme eğrilerini en aza indirmek için genellikle İngilizce kelimeler veya stenografi kullanılarak nispeten kolay okunur. Bir bilgisayarın bu programları çalıştırabilmesi için derlenmesi gerekir. Derleyici temelde bir çevirmendir. Üst düzey kodu alır ve CPU'nun anlayabileceği talimatlar olan bilgisayar koduna dönüştürür.

Bazı dillerde, derlenmemiş kodu, anında makine kodu üreten önceden derlenmiş bir program aracılığıyla çalıştırmak da mümkündür. Assembly, geliştiricilerin gerçekleştirilen işlemler üzerinde doğrudan görünürlük ve kontrol sağlamasına izin vermek için stenografi kullanan düşük seviyeli bir programlama dilidir. NOP, derleme kısayolunun bir örneğidir.

Çözüm

Komut seti, bir CPU mimarisinin çalıştırabileceği resmi işlevlerin bir listesidir. Gerçekleştirilebilecek işlemlerin bir listesidir. Bu işlemler CPU'ya sabit kodlanmıştır ve ilgili işlem kodları kullanılarak çağrılır.

Yazılım genellikle insan tarafından okunabilen yüksek seviyeli koddan CPU'nun okuyabileceği makine koduna çevirmek için bir derleyici kullanır. Bazen, bir CPU mimarisi, yasadışı işlem kodları adı verilen belgelenmemiş işlem kodlarına sahip olabilir. Yasadışı işlem kodları teknik olarak talimat setinin bir parçasıdır. Ancak, gelecekteki platform yinelemelerinde güvenilir bir şekilde bulunmayabilirler. Aşağıdaki yorumlarda düşüncelerinizi bırakmayı unutmayın.