Assembly Öğreniyorum - 3 - Uğur Eskici
Assembly Öğreniyorum – 3
Bir mikroişlemcide 3 adet yol vardır ;
Adres Yolu : Adres/Veri seçilir.
Kontrol Yolu : Okuma işlemimi yoksa yazma işlemimi yapılacağı belirlenir.
Veri Yolu : Veri gönderilir.
CPU tarafından gerçekleştirilen iki temel işlem vardır. Birincisi komutların yorumlanarak doğru bir sırada gerçekleşmesini sağlayan kontrol işlevi; diğeri toplama, çıkarma vb. özel matematik ve mantık işlemlerinin gerçekleştirilmesini sağlayan icra işlevidir. Bir mikroişlemcinin özelliklerini belirleyen bazı faktörler vardır. Bunlar;
Kelime Uzunluğu : İşlemcinin bir defada işleyebileceği verinin büyüklüğü.
Komut İşleme Hızı : Frekans ve zaman ters orantılıdır. İşlemcinin frekesı ne kadar yüksekse, komut işleme hızı düşer. Yani bu komutların daha kısa sürede işlenmesi anlamına gelir. ( F.T=1 )
Adres Büyüklüğü : Bellekler mikroişlemci tarafından adres yoluyla adreslenirler. Adres yolunun sayısı ne kadar fazla olursa adresleme kapasitesi de ona göre büyük olur.
Kaydedici Sayısı Ve Yapısı
Değişik Tipteki Komutlar : Bİr mikroişlemcide komut sayısının çok olması sisteme kolaylık sağlar ama bizim için önemli olan aynı zamanda bu komutların az cycle (devir, dolaşım, dönme) ile çalışmasıdır.
Farklı Adresleme Metotları : Bir verinin nasıl ve ne şekilde yerleştireleceği veya bellekten nasıl ve hangi yöntemle çağrılacağının belirlenmesi (doğrudan, dolaylı, indisli adresleme gibi) programcıya ekstra kolaylık sağlar.
İlave Edilecek Devrelerle Uyum : Mikroişlemciler bir sistemde tek başına kullanılamaz. EPROM, RAM, ROM vb. elemanlara ihtiyaç duyarlar ve bu elemanlar kullanılırken de mikroişlemciyle uyumlu olup olmaması önemlidir.
Mikroişlemciler farklı yapılarda olmasına rağmen temelde şu birimleri içerir :
Program Sayıcı ( Program Counter – CP )
Komut Saklayıcı ( Instruction Register – IR )
Komut Kod Çözücüsü
Durum Saklayıcısı ( Condition Code Register – CCR )
Aritmatik Mantık Birimi ( Aritmatic Logic Unit – ALU )
Yığın Göstergesi ( Stack Point – SP )
Bunların bir kısmını açıklamak gerekirse;
Akümülatör : MİB (Merkezi İşlem Birimi)’ nin ana saklayıcısıdır ve veri yolu ile aynı bit uzunluğuna sahiptir. ALU’nun en önemli ve temel kaydedicisidir. ALU’da işlenecek veriler önce bu kaydediciye alınır ve işlendikten sonra sonuç burada bulunur. Dört işlem operasyonlarında kullanılır. Akümülatördeki bilgi hafızaya alındıktan sonra bilgi silinmez. Bilgi hem akümülatörde hem de bellekte bulunur.
Program Sayıcı : Bir programı oluşturan komutlar ve veriler normalde bellekte saklanır. Bilgisayarın çalışması sırasında hangi verinin hangi sırayla kullanılacağının bilinmesi gerekir. İşte bu görevi program sayıcı denen register yerine getirir. Program sayıcı, herhangi bir programın çalışması sırasında bir sonra işlenecek olan komutun bulunduğu adresi içerisinde barındırır.
Komut Kaydedicisi : Komut kodlarının geçici olarak tutulduğu yerdir.
Durum Saklayıcısı : Durum bayrakları adı verilen bu kaydedici 8 bitliktir ve MİB’in en önemli kaydedicilerindendir. Durum kaydedicisindeki veriler istendiğinde MİB’in durumunu programa belirtmek için kullanılır. Aritmatik ve mantık biriminde işlenen komutların sonuçları bu bayraklara etki eder ve işlem bu sonuçlara göre yönlenir.
-Elde Bayrağı : 8 bitlik 2 sayının toplanması veya çıkarılması gibi aritmatik işlemlerin sonucunda 8. bitten 9. bite taşma varsa bu bayrak 1 olur.
-Eşlik/Taşma Bayrağı : Bu bayrak, işaretli (signed) iki sayının birbirinen çıkarılması veya toplanması sonucu durumunu değiştirir. Taşma, 8 bit aritmatik işlemin sonucunda elde edilen değerin -128 den az yada +127’den fazla olması durumunda ortaya çıkar. Bu durumda taşma bayrağı 1, aksi durumda 0’dır.
-Sıfır Bayrağı : Herhangi bir veri transferi yada işlenmesi sonucunda, sonucun sıfır çıkması durumunda aktif olarak 1 olur, aksi durumda 0’dır.
-İşaret Bayrağı : Bu bayrak sayının + veya – olduğubu gösterir 7inci bit 0 ise veri pozitif(+), 1 ise negatif(-) sayıdır.
Aritmatik Ve Mantık Birimi ( Aritmatic And Logic Unit) : ALU’nun yaptığı işlemleri toplama, çıkarma, çarpma, bölme, karşılaştırma, artırma, azaltma, tümleme, sağdan sola kaydırma, döndürme işlemleri olmak üzere aritmatiksel işlemler ve and, or ,exor, not olamk üzere mantıksal işlemler olarak 2 gruba ayırmak mümkündür. ALU işlemleri ADDER ve SHIFTER adı verilen iki asıl devre ve akümülatör, geçici kaydedici ve durum kaydedici adı verilen yardımcı ünitelerle gerçekleştirir.
Kontrol Birimi : Bu kısım sistemin tüm işleyişinden ve işlemin zamanında yapılmasından sorumludur.
Yığın Göstergesi (SP) : RAM’in herhangi bir yerinde olabilen yığının en üst gözünün 16 bitlik adresidir. Belleğin yığın olan bu bölümü ‘son giren ilk çıkar’ (first-in first-out) (LIFO) prensibine göre çalışır. Sourcetimesta verilen basit bir örnek ile “Uçaktan otobüse binip terminal binasına gitmeniz gibidir, otobüs’e son binen kapıya yakın olur, kapıdan ilk çıktığı için de pasaport kuyruğunda eziyet çekmez. Aynı koşul uçağa binerken de geçerlidir, uçağa son yüklenen bagaj ilk çıkar.”
ÖncekiAssembly Öğreniyorum – 2