Tekil Mesaj gösterimi
Alt 06-09-2008, 01:46   #4
Constantin
ยŦยк
 
Constantin - ait Kullanıcı Resmi (Avatar)
 

9.) Merkezi İşlem Biriminin Yapısı
MİB içinde bulunan alt birimlerin adları aşağıda sunulmuştur.
· Bellek Veri Kütüğü BVK
· Bellek Adres Kütüğü BAK
· Aritmetik Lojik Birim ALB
· Akümülatör ACC
· Durum Kütüğü DK
· Yardımcı Kütükler YK
· Program Sayacı PS
· Buyruk Kütüğü BK
· Buyruk Çözücü BÇ
· Yığın Göstergesi YG
· Sıralama Kütüğü SK
· Denetçi DEN
9.1.1) Bellek Veri Kütüğü ( BVK )
MİB’ inden belleğe veya G/Ç arabirimine giden veya bu birimlerden MİB’ ne gelen verinin yazıldığı yerdir. BVK, MIB içinde iç yol üzerinden ACC, yardımcı kütükler ve buyruk kütüğüne bağlıdır. BVK, MİB dışında veri yoluna bağlıdır, BVK’ nün veri yolu ile bağlantısı üç konumlu kapı yapısındadır, Bu nedenle, gerektiğinde, BVK kendisini veri yolundan yalıtabilir, BVK boyunun, MİB ‘nin sözcük uzunluğuna eşit olması beklenir, Ancak, BVK uzunluğu, MİB sözcük uzunluğunun yarısına eşit olan mikroişlemciler vardır, MC6800 ve I-8085 te BVK 8 bittir, Dolayısıyla BVK’ nün boyu MIB sözcük uzunluğuna eşittir, I-8088 16 bit sözcük işleyebilmesine karşın BVK 8 bit olarak düzenlenmiştir. Bu nedenle, aktarılacak veriler iki parça olarak BVK’ de yer alır.

9. 1.2) Bellek Adres Kütüğü( BAK )
MIB ile bellek arasında gidip gelen verilerin bellekte hangi göze yazılacağı veya verilerin hangi gözden geldiği bu kütüğe yazılan adres ile belirtilir, Giriş-Çıkış arabirimlerinin adreslenmesinde de BAK’ nden yararlanılır, BAK iç yol üzerinden PS, YG ve SK’ ne bağlıdır, BAK çıkışındaki üç konumlu kapılar üzerinden Veri Yoluna bağlıdır, Bu bağlantının üç konumlu kapılarla yapılması, gerektiğinde, BAK’ nün Adres Yolundan yalıtılmasını sağlar.
BAK’nün boyu, MIB’nin adresleme yeteneği ile belirlenir, Sözgelimi, 8 bitlik mikroişlemcilerde, genellikle, Adres Yolu 16 bitliktir, Dolayısıyla bu mikroişlemciler için BAK 16 bit uzunluğundadır, 16 ve 32 bit mikroişlemcilerde BAK,’ nün boyu 24 byte ‘a kadar çıkmaktadır.
Bazı mikroişlemcilerde, BAK ve BVK ortak hatları kullanırlar, Örneğin I-8085 de, 16 hattın tamamı BAK' ne bağlı olarak adres yolunu oluştururken, bu hatlardan ilk sekizi, BVK’ ne de bağlıdır, Dolayısıyla, 16 hattın sekizi, veri yolu olarak da görev yapar, Doğal olarak, aynı hatların hem veri, hem de adres için kullanılması, zamanda paylaşımı gerektirir, Yani, hatlar zamanın bir kesitinde adres, diğer bir kesitinde veri ile ilgili bilgileri taşırlar.

9. 1.3) Aritmetik Lojik Birimi( ALB )
MIB içinde yapılması gereken aritmetik ve lojik işlemler ALB içinde gerçeklenir. Karşılaştırma ve karar verme işlemleri de bu birim içinde gerçeklenir ALB’ in üzerinde işlem yapacağı verilerden birincisi (birinci işlenen) Akümülatörde bulunur, ALB’ in yetenekleri, MİB ni doğrudan etkilemektedir, Bu nedenle, ALB’ in yapabildiği işlemler, MIB’ nin yeteneklerini belirleme açısından önem taşır ALB, ACC ve DK ile doğrudan ilintilidir,
ALB’ lerden beklenen işlemler şunlardır:
Aritmetik işlemler: ALB toplama ve çıkarma işlemlerini yerine getirebilmelidir, Çarpma ve bölme işlemini her ALB yerine getiremez, Bu açıdan çarpma ve bölme işlemini yapabilen ALB’ ler üstün sayılırlar.
Lojik İşlemler: ALB içinde temel VE, VEYA ve YADA işlemleri yerine getirilir.
Karşılaştırma ve Karar Verme İşlemleri: İki büyüklüğün birbirine göre büyüklük, küçüklük veya eşitlik karşılaştırması yapılabilir, Ortaya çıkan duruma göre karar verilir ve sonuç Durum Kütüğüne işlenir.

9. 1.4) Akümülatör( ACC )
ACC, aritmetik ve lojik işlemlerin yerine getirilmesi sırasında, üzerinde işlem yapılacak verinin bulunduğu yerdir. ALB’ in işleyeceği birinci işlenen ve işlem sonunda ortaya çıkan sonuç ACC’ de yer alır, Akümülatör, bir yerde ALB’ in yardımcısıdır, ACC’ ün boyu MIB’ nin işleyebildiği sözcük uzunluğuna eşit olmalıdır, Dolayısıyla 8-bitlik mikroişlemcilerde ACC 8-bit ve 16-bitlik mikroişlemcilerde ACC 16-bit uzunluktadır, ACC, aritmetik ve lojik işlemlerde birinci işlenenin ve işlem sonucunun bulunması gereken tek yer olması nedeniyle, MİB nin önemli bir alt birimidir. Bu nedenle bazı mikroişlemcilerde birden fazla akümülatör bulunmaktadır. Örneğin, MC68000’ de ACC A ve ACC B olarak adlandırılan iki akümülatör bulunmaktadır.

9. 1.5) Durum Kütüğü ( DK )
Aritmetik Lojik Birim tarafından gerçeklenen işlemlerin sonunda ortaya çıkan durumların yazıldığı bir kütüktür. Aslında, ortaya çıkan durumları gösteren bayrakların bir arada bulunduğu yerdir denebilir, Bu nedenle bu kütüğe Bayrak Kütüğü de denilmektedir, Durum kütüğünün içeriği, Akümülatörün yüklenmesi durumunda da etkilenir, Durum kütüğünün içeriği, karar verme işlemlerinde temel alınır, Aritmetik ve lojik işlemlerin sonunda şu durumlar ortaya çıkabilir:
Sıfır: İşlem sonunda akümülatöre aktarılan ya da akümülatörde oluşan veri sıfır olabilir, Akümülatörde bulunan sayının sıfır olması tüm bitlerinin sıfır olması demektir, Bazı mikroişlemciler için Sıfır Bayrağı’nın etkilenmesi için, son yapılan işlemin aritmetik ya da lojik olması gerekmez, Sıfır Bayrağı, akümülatördeki sayının değerine göre her zaman etkilenir,
Negatif: İşlem sonunda, akümülatöre aktarılan sayı negatif olabilir. Akümülatörde bulunan sayının negatif olup olmadığı, 7. bitin 1 olup olmaması ile sınanır, Bazı mikroişlemciler için Negatif Bayrağının etkilenmesi için, son yapılan işlemin aritmetik ya da lojik olması gerekmez, Negatif Bayrağı, akümülatördeki sayının değerine göre her zaman etkilenir,
Elde: Toplama işleminin sonunda elde biti oluşabilir, Yani toplama sonunda ortaya çıkan sonuç ACC e sığamamakta ve 1 bit artırmaktadır, Elde Biti olarak adlandırılan bu bit, durum kütüğü içinde E bayrağı ile belirtilir.
Borç : Çıkarma işleminde çıkan sayının ana sayıdan büyük olması durumunda borçlu kalınır, Bu durum, durum kütüğü içinde bulunan Borç Bayrağı ile belirtilir, Genellikle, Elde ve Borç durumları aynı bayrakla belirtilir, Bayrağın taşıdığı anlam son işlemden çıkarılabilir.
Yarım Elde veya Yarım Borç : İlk dört bitin toplanması veya çıkarılmasında elde veya borç oluşabilir, İkili onluk sayıların toplanması ve çıkarılması işlemlerinde önemi olan bu bayrağın etkilenmesi normal elde ve borç bayrağının etkilenmesi ile aynı biçimde olmaktadır.
Taşma: Elde bayrağı 1 iken yeni bir toplama işlemi sonucunda, yeni bir elde gelerek akümülatör boyundan iki bit fazla bir elde oluşuyorsa bu Taşma bayrağını etkiler.
DK içinde yukarıda tanıtılan bayrakların hepsinin bulunması gerekmez, Bu nedenle bazı mikroişlemcilerde daha az sayıda bayrak bulunabilir, Bazı mikroişlemcilerde ise daha başka durumları göstermek için de bayraklar bulanabilir. Örneğin bazı durum kütüklerinde Eşlik Bayrağı bulunur. Eşlik Bayrağı Akümülatörde bulunan veri içindeki 1 ’ lerin sayısının tek ya da çift sayıda olduğunu belirtir, Örneğin bu bayrağın 1 olması, akümülatör içinde bulunan sayı içinde 1’ lerin çift sayıda olduğunu gösterir
Aşağıda durum bayrakları topluca gösterilmiştir
· Elde E
· Yarım Elde Y
· Negatif N
· Sıfır S
· Taşma T
Durum kütüğünün her bayrağının doğal olarak iki konumu vardır. 0 ve 1. Bir bayrağın etkin hali, lojik 1 konumu olarak kabul edilmektedir, Örneğin, sıfır bayrağının 1 olması, akümülatör içeriğinin sıfır olmasına karşı düşer, Akümülatörün içeriği sıfırdan farklı ise bu bayrak 0 konumunda kalır.

9. 1.6) Yardımcı Kütükler ( YK )
MIB içindeki işlemlere hız kazandırmak amacıyla, yardımcı kütükler kullanılmaktadır. Bu kütükler, üzerinde sık sık işlem yapılacak işlemler için kullanılır, Yardımcı kütüklerde bulunan veriler, BVK üzerinden belleğe veya bir giriş/çıkış arabirimine gönderilebilir. Benzer şekilde bellek ve giriş/çıkış arabirimindeki veriler bu kütüklere aktarılabilir, Yardımcı kütüklerin akümülatörden tek farkı, aritmetik lojik işlemlerde birinci işlenen yerini alamamalarıdır.
Yardımcı kütük kullanılması konusunda Motorola ve Intel tasarımları arasında önemli farklar vardır. Motorola MC6800 ailesinde iki akümülatör bulunmakta, buna karşın yardımcı kütük bulunmamaktadır, Intel 8085 ailesinde ise tek akümülatöre ek olarak B, C, D, E, H, L yardımcı kütükler bulunmaktadır, Her iki yönteminde üstün ve eksik olduğu yönler bulunmaktadır. Bazı gelişmiş mikroişlemcilerde, akümülatör sayısı artırılmakta ve bunlara ek olarak yardımcı kütükler de bulunmakta böylece, iki yöntemin üstünlüklerinden yararlanılmaktadır.

9. 1.7) Program Sayacı ( PS )
Program Sayacı, genellikle, bir sonra işlenecek buyruğun bulunduğu bellek gözünün adresini taşır. Buyruk bir bellek gözüne sığmıyor ise, buyruğun bulunduğu ilk gözün adresini içerir. Program sayacının boyu, bellek içindeki her gözü belirlemesi gerektiğinden BAK’ nün boyuna eşit olmalıdır. Daha önce değinildiği gibi, buyrukların boyları, işlevlerine göre değişmektedir, Bu nedenle, peşpeşe gelen program adımlarında, bir sonraki buyruğun bulunduğu bellek gözünün adresi her adımda hesaplanır ve bu değer program sayacına yazılır. Programın akışı, bazen, koşullar gereği değiştirilir. Bu durumda, yeni izlenecek program parçasının ilk buyruğunun bulunduğu adres Program Sayacına yazılır,

9. 1.8) Buyruk Kütüğü ( BK )
Buyruk Kütüğü, o anda işlenen buyruğu içerir Bellekten okunan bilgi içinde hangisinin komut ve hangisinin işlenen olduğu şöyle anlaşılır. Program sayacının gösterdiği ilk adreste komut olduğu varsayılır, Bu başlangıç noktasından sonra, her adımda, buyruğun boyu hesaplanarak, bir sonraki buyruğun başlangıç noktası belirlenir

9. 1.9) Buyruk Çözücü ( BÇ )
Buyruk Kütüğünde bulunan buyruğun taşıdığı anlamın çözümlendiği yerdir, Buyruğun çözümlenmesi sonunda, MİB içinde ve dışında yapılacak işler ve bu işlerin yapılacağı yerler belirlenir Ardından bu işler denetim biriminin güdümünde, ALB ve diğer kütük ve akümülatör ile birlikte yerine getirilir.

9. 1.10) Yığın Göstergesi ( YG )
Yığın göstergesini tanıtma işlemine yığın kavramını tanıtarak başlamakta yarar vardır, Bilgisayar dilinde, verileri üst üste yığmaya ve gerektiğinde, verileri yığından teker teker geri almaya yığın işlemi denilmektedir.
Örnek olarak ele alınan yığının dört gözü bulunmakta ve bunlar MİB içinde yer almaktadır. Yığının gözlerinden ilk üçüne daha önceden üç veri ( V1, V2 ve V3 ) konulmuştur. Yığına V4 verisi atılmak istendiğinde, yığında daha önceden bulunan veriler birer basamak aşağıya kayarlar. Böylece yeni veri için yer açılmış olur. Yığından veri çekilmeye kalkışıldığında ilk olarak V4 geri alınır, V4 verisinin geri alınmasının hemen ardından, yığındaki tüm veriler birer basamak yukarıya kayarlar Bu örnekten de anlaşılacağı gibi, yığına son giren veri ilk olarak geri alınmaktadır. V4 verisinin yığına atılmasının hemen ardından V5 yığına atılmak istenirse, yığında bulunan tüm veriler aşağıya doğru kayarlar, Bu kayma sonunda V5 için yer açılır, Ancak, yığının dört gözü olması nedeniyle Vl verisinin yazılacağı bir göz kalmaz ve bu nedenle V1 verisi yığından düşmüş olur, V5 verisinin yığına atılmasından sonra, yığından bir veri çekilmek islenirse, yığının özelliği gereği V5 dışarı alınacak ve hemen ardından yığındaki tüm veriler birer yukarı kayacaklardır, Bir önceki adımda, Vl verisi yığından düştüğü için iki adım önceki durum oluşmayacak ve Vl değeri eski yerine gelemeyecektir,
Bilgisayarın çalışmasında önemli yeri olan yığın işlemi için, MIB içinde sınırlı boyda göz kullanılması, yukarıda verilen örnekten anlaşılacağı gibi sakınca yaratmaktadır, Bu yığın boyunun sınırlı olması sonucunda ortaya çıkan durum sakıncayı ortadan kaldırmak üzere, bellek içinde yığın kurulması yoluna gidilmiştir. Bu yöntemde, bellek içinde istenen bir bölgede yığın oluşturmak için kullanılabilmektedir.
Bellek içinde, yığının nerede kurulduğunu belirlemek için MİB içinde Yığın Göstergesi kullanılmaktadır. Yığın göstergesinin nasıl çalıştığı Şekil de gösterilmiştir. Program çalıştırılmadan önce Yığın göstergesi, yığının başlangıç adresi ile yüklenir. Böylece yığının başlangıç adresi belirlenmiş olur. Yığına her yeni veri atıldığında, yığın göstergesinin değeri bir azalarak, yığına yeni atılacak verinin yerleşeceği adresi gösterir. Yığından bir veri çekilmesi durumunda ise, yığın göstergesinin değeri bir artar.
Bellekte kurulan yığın ile, MIB içinde kurulan yığın arasında işlev açısından fark olmamakla beraber işleyiş açısından önemli farklar vardır. MİB içinde kurulan yığının boyu sınırlıdır. Yığına her yeni veri atıldığında, eski veriler birer adım aşağı kaymaktadırlar. Veri çekildiğinde ise birer adım yukarı kaymaktadırlar. Bellekte düzenlenen yığında ise, yığındaki elemanların kayması söz konusu değildir. Kayan sadece, yığın göstergesidir. Bir başka fark da bellek içinde düzenlenen yığının aşağı doğru büyümesidir, Bunun nedeni şöyle açıklanabilir Bilgisayarda, programlar küçük adreslerden başlayarak yazılır ve programın boyu uzadıkça yüksek adreslere erişilir. Bir başka deyişle, program küçük adreslerden büyüklere doğru uzanır. Yığının yüksek adreslerden başlatılarak aşağıya doğru uzaması, veya sarkması, belleği en uygun kullanma biçimi olarak kabul edilmektedir.
Yığın işlemi, sıfır adresli buyruklar için kullanılmakla beraber, bilgisayarın çalışması için de kullanılmakladır. Sözgelimi, alt programlara gidiş ve dönüşlerde, MİB içindeki kütüklerin içerikleri ve dönüş adresi yığında saklanmaktadır. Ayrıca kesme işlemlerinde de benzer bilgiler yığına atılmaktadır. Yığın göstergesinin boyunun, BAK boyuna eşit olması beklenir. Ancak daha küçük boyda YG kullanan bilgisayarlar da bulunmaktadır.

9. 1.11) Sıralama Kütüğü ( SK )
Sıralı verilerin belleğe yazılması veya bellekte sıralı bulunan verilerin okunması için kullanılır, Bilindiği gibi, matematikte diziler ve matrisel yapılar önemli ölçüde kullanılmaktadır. Tek boyutlu ya da çok boyutlu dizi içindeki elemanları belirtmede indis kullanılması da üzerinde anlaşılmış bir yöntemdir. Sıralama kütüğü bu tür özeliği olan veriler için kullanışlı çözümler sağlar. Sıralama kütüğünün kullanılması ile ilgili şu örnek verilebilir. Bellekte bulunan bir dizinin başlangıç adresi Sıralama kütüğüne yüklenir, Ardından bu dizideki n, veri MIB’ ne aktarılmak istenirse, yapılacak tek işlem n, verinin yükleneceğini söylemektir.

9. 1.12) Denetçi ( DEN )
MİB’ nin en önemli birimlerinden biri denetim alt birimidir. Bu birim hem MİB içindeki çalışmayı düzenler hem de bilgisayar içindeki çalışmayı düzenler. MİB içindeki çalışmayı, Buyruk Çözücü alt birimin yönlendirmesi ve diğer alt birimlerin işbirliği ile düzenler. Bilgisayarın çalışmalarını düzenlemek için Denetim biriminin aşağıda sıralanan giriş ve çıkış uçları bulunmaktadır,
Girişler:
Saat SAAT
Al baştan ABN
Bekle BEK
Kesme KES Kesme İsteği KİS
Yalıtım YLT
Çıkışlar:
Oku/Yaz O/Y
Yalıtıldı YLD
Saat çıkışı SAAT ÇIKIŞI
Bellek yadaGiriş/çıkış Arabirim B-O/Y

9. 1.12.1) Denetim Biriminin Girişleri
Saat: Bilgisayar içindeki işlemlerin bir sıra izlemesi ve adımların uygun atılması için tüm birimlerin ayak uyduracağı bir saat işareti gereklidir. Bilgisayar içindeki her işlem bu saat işaretine bağlı olarak yerine getirilir.
Bir buyruğun işlenmesinde ilk aşama, buyruğun bellekten alınıp MIB’ ne getirilmesidir. MIB içinde BK’ ne yerleşen ve daha sonra çözümlenmesi yapılan buyruğun gerektirdiği işlemler, buyruğun özelliğine göre yapılır. Bu nedenle her buyruğun işlenme süresi birbirinden farklı olacaktır. Saat işareti MIB dışında üretildiği gibi, MİB içinde de üretilmektedir. Bu amaçla gerekli devreler MİB içinde gerçeklenmektedir. Bu tür donanımlarda salınım frekansını belirleyecek elemanlar MİB’ ne dışarıdan bağlanmaktadır. Salınım frekansını kararlı kılmak için genellikle kristal kullanılmaktadır.
Al baştan : Bu giriş, bilgisayarı ilk açıldığı duruma getirmek için kullanılır. Al baştan edilen bir bilgisayar, bu durumda, izlemesi gereken programın başına gider ve bu programın işletilmesine başlar. Al baştan girişi, bilgisayar ilk açıldığında kullanıldığı gibi, bilgisayarın ilk açılma koşullarına döndürülmesi gerektiği durumlarda da kullanılabilir.
Bekle: MIB’ nin bir süre durmasını sağlayan bir giriştir. Bu girişin etkin hale getirilmesi ile MİB’ nin çalışması durdurulur. Bekle girişi etkin olmayan konumuna döndürülene kadar MİB çalışmaz. Bu giriş etkisiz konuma geçince, MİB kaldığı yerden çalışmasına devam eder.
Kesme: Bu girişin etkin hale gelmesi ile, MİB o anda yürüttüğü programı keser ve daha önce belirlenmiş olan kesme hizmet programını işletmeye başlar. Kesme hizmet programının tamamlanmasından sonra, kesmenin geldiği anda yaptığı işe geri döner.
Kesme İsteği: Kesme isteği girişi de kesme girişi gibi çalışmaktadır. Bu girişin tek farkı, girişe uygulanan kesme isteğine, istendiğinde uyulması veya uyulmamasıdır. Bu amaçla MIB içinde Kesme İsteği Karar Bayrağı bulunmaktadır. Bu bayrağa verilecek değer ile kesme isteği girişi etkin ya da etkisiz kılınabilir.
Yalıtım: Yalıtım girişinin etkin hale getirilmesi ile, MİB adres ve veri yollarının çıkışlarını üçüncü konuma getirir. Sonuçta, MIB kendisini adres yolu ve veri yolundan yalıtır. Bu durum aynı yolların başka MİB veya başka akıllı birimler tarafından kullanılmasını sağlamak için gereklidir.
Constantin Ofline   Alıntı ile Cevapla