Mikroişlemci Mimarisi -2- Adres, Veri ve Kontrol Yolları

Önceki başlıkta mikroişlemcilere giriş yapmış ve konuyu teknik açıdan fazla ele almamıştık. Şimdi ise biraz bir ileri seviye olarak mikroişlemcinin iç yapısına bakacağız ve temel birimlerden bahsedeceğiz.

Öncelikle tekrar edecek olsak da şunu belirtmemiz gerekir. Mikroişlemciyi anlamak için öncelikle veri, adres ve kontrol yollarını anlamamız gereklidir. Çünkü mikrodenetleyicinin kendi sistemiyle kurduğu iletişim bu yollar vasıtasıyla olmaktadır. Mikroişlemci tek başına çalışan bir entegre olmayıp belli bir sistem içerisinde çalışmaktadır. Buna anakart adını vermemiz de mümkündür. Bu anakart üzerinde çeşitli entegreler, sürücüler ve hafıza birimleri yer almaktadır. Mikroişlemci bütün bu dış birimlerle iletişimi ise adres, veri ve kontrol yolları ile yapmaktadır.

Resim: PE6502, 6502 tabanlı bir hobi bilgisayarı. 

Şimdi bu üç yolu anlatalım ve şema üzerinde gösterelim.

Adres yolu, tek yönlü (işlemciden aygıta) ve veri yoluna göre daha geniş bir yoldur. Bu adres yolu 16, 20, 32 ve daha fazla paralel hattan oluşabilir. Genellikle A0, A1, A2… diye adlandırılır ve kaç bit adres yoluna sahipse o kadar paralel hat bulunur. Bu adres yolu mikrodenetleyiciye bağlı aygıtların adreslenmesinde kullanılır. Adresi olmayan bir verinin rastgele bir veri olduğunu söylemeliyiz. Biz bir kitap okurken bir bilginin kaçıncı sayfada olduğunu içindekiler kısmından görür ve o sayfaya gidip orayı okuruz. Bir kitabı okurken o bilginin rastgele gelmesini bekleyemeyiz. Aynı şekilde Excel gibi bir programda oluşturduğumuz tablo verisinde de adreslemeler satır ve sütun olarak yapılmaktadır. Örneğin öğrenci numarası ve not olarak belirlediğimiz belli bir hücreye denk gelen verinin bir kıymeti olur. Rastgele bir anlam veremediğimiz bir sayı bizim için anlamsızdır. Aynı şekilde mikroişlemcilerde de verinin kaydedilmesinin yanı sıra adres değeri de önemlidir. Çünkü o adres değeri “okunan analog değerin yazıldığı hücre” veya “kullanıcının bastığı düğmenin verisini saklayan hücre” olarak nitelendirilebilir. Bu durumda o hücredeki veriyi okuduğumuzda bir anlamı olacaktır.

Veri Yolu, iki yönlü bir yol olup okunacak ve yazılacak verilerin iletildiği bir yoldur. Bu yol 8-bit mikroişlemcilerde 8-bit olmaktaktadır. Yani aynı anda 0-255 arası ondalık, 0x00-0xFF arası onaltılık değer okuyup yazabiliriz. Bu büyük değerleri okuyup yazmada pek pratik olmamaktadır. Onun için gün geçtikçe mikroişlemcilerin adres ve veri yolları genişlemiştir. Şu kadar bit işlemci dediğimizde veri yolundan bahsederiz. Örneğin 64-bit Core i7 işlemcide veri yolu 64 bittir. Fakat 64 bitlik adres yolu kullanmak çoğu yolu gereksiz yere eklemek anlamına gelecektir. O yüzden şimdiki işlemcilerde 40 bit civarında bir adres yolu bulunmaktadır.

Kontrol Yolu, adres ve veri akışında herhangi bir veri iletiminde görev almayıp bu veri iletiminin düzgün yapılması için gereken saat, etkinleştirme ve bilgi sinyallerini iletmekte kullanılır. Mikroişlemcinin içinde bu kontrol yolunu denetleyen bir kontrol birimi yer alır. Bu kontrol sinyalleri hafıza ve giriş ve çıkış birimlerine iletilir. Örneğin bir bellekten veri okuyup yazmak için bu okuma ve yazma sinyallerinin iletilmesi gereklidir. Bellek bizim okuma mı yazma mı yapacağımızı ancak böyle anlamaktadır. Bu durumda mikroişlemcinin okuma veya yazma komutuna göre kontrol birimi vasıtasıyla kontrol yolu üzerinden bir sinyal oluşturulur. Örnek bir okuma işleminde adres verisi adres yoluna yazılsa da okuma işlemini yapıp okunacak veriyi bellekten veri yolu üzerinden okumak için bir kontrol sinyali gereklidir. Bunu kontrol yolu ve kontrol denetimcisi ile yapmaktayız. Aynı şekilde giriş portunu okumak, çıkış portuna değer yazmak, kesmeye götürmek gibi işler için kontrol sinyalleri kullanılır.

Yukarıdaki şemada örnek bir mikroişlemci sisteminin diyagramını görmekteyiz. 8085 Intel’in ürettiği 8 bitlik bir mikroişlemcidir. Bunun A0 ve A15 arasında toplam 16-bitlik adres yolu vardır. Yani toplamda 65535 baytlık veriyi adreslemek mümkündür. Bunu 64KB olarak ifade edebiliriz. Veri yolu ise D0 ve D7 arasında 8 bitlik veri taşımaktadır. Yani her veri hücresinde 8 bit bulunur ve bu da bir bayta tekabül eder.

Bunu belirttiğimize göre sonraki yazımızda mikroişlemcinin iç yapısını anlatmaya başlayabiliriz.

 

Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz.

https://www.facebook.com/groups/1233336523490761/

UYARI!!

 

 

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.