Harvard ve von Neumann Mimarisi ve Arasındaki Farklar

İşlemci mimarisini iki ana kategoriye ayırmamız mümkündür. Diğer mimariler de olsa da bu iki mimari en fazla kullanılan mimarilerdendir. Harvard mimarisi ve von Neumann mimarisi günümüz bilgisayar sistemlerinde sıklıkla gördüğümüz mimarilerdendir.  Bütün işlemciler çalışmak için hafıza birimine ihtiyaç duyar. Bu hafıza biriminin RAM ve ROM olarak ikiye ayrıldığını daha önce söylemiştik. Bu hafıza birimleri aynı zamanda içerdikleri verinin cinsine göre de ikiye ayrılır. Birisi “kod” adı verdiğimiz program hafızasını tutar öteki ise çalışma esnasında kullanılacak veriyi (data) tutar. Kod adını verdiğimiz program verisinde işlemcinin komut setine ait komutların ikilik halleri ve değer ve adres sabitleri bulunur. Örneğin basit bir toplama işleminin yalancı kodu şu şekilde olabilir.

  • 10 adres değerini A yazmacına yükle
  • 40 değerini A yazmacına ekle
  • A yazmacını 10 adres değerine yükle

Bu program hafızadaki 10 numaralı adreste bulunan değişkeni 40 değeri ile toplar ve sonucu tekrar 10 numaralı adrese yazar. Yani 10 numaralı adreste 20 sayısı var ise toplamda 60 sonucu elde edilir ve hafıza birimine yazılır. Bu kod program hafızasında yer alıp işlemci tarafından okunup çözümlenirken aynı zamanda da harici bir bellek adresinden veri alınıp o belleğe veri yazılmaktadır. Yani iki ayrı belleğin kullanımı söz konusudur. Bir taraftan program sayıcı arttıkça program hafızasından kod verisi okunmaktadır. Öteki taraftan ise RAM bellekteki adreslere veriler yazılmaktadır.

Buradan bu iki ayrı belleğin iki ayrı adres ve veri yoluna sahip olacağını düşünebilirsiniz. Bu Harvard mimarisinde geçerlidir. Harvard mimarisinde program hafızası ve çalışma hafızasının veri ve adres yolları ayrıdır. İki ayrı yol kullandığımız için daha performanslı çalışmaktadır. İkisi için aynı yolu kullanmak işlemciyi yavaşlatmaktadır. Fakat bir taraftan da ikisi için ayrı yol kullanmak maliyeti artıracak ve devreyi büyütecektir. Tek bir yol kullanırken gereken yolun tam iki katını kullanmamız gereklidir.

Eğer program verisi ile çalışma verisine aynı yol üzerinden erişelim dersek bu sefer mimarimizin adı von Neumann mimarisi olacaktır. Bu mimari ilkel bilgisayarlarda da kullanılmaktadır. Bu mimarinin avantajı basitliği ve düşük maliyetidir. İşlemci adres ve veri yolunun boşalması için bekleyeceğinden performanstan kaybımız kaçınılmazdır. Günümüzde x86 IBM sistemler örneğin Intel Pentium serisi von Neumann mimarisini kullanmaktadır. Eğer Harvard mimarisi kullanılsaydı anakartta iki kat daha fazla yol kullanmak zorunda kalınacaktı ve daha büyük ve pahalı anakartları kullanacaktık. Böyle büyük sistemler için yine basitlikten dolayı von Neumann mimarisi kullanılmaktadır. PIC ve AVR gibi gömülü sistemlerde Harvard mimarisi kullanılır. Çünkü işlemci de program hafızası da çalışma hafızası da aynı çekirdek içerisine sıkıştırılmaktadır. Eğer harici bir hafızaya ihtiyaç duyulan bir sistem varsa yine von Neumann mimarisi tercih edilebilir. Fakat mikrodenetleyicilerde tüm sistem bir çekirdeğe sıkıştırıldığından yolları çekirdek üzerinde yapmak mümkündür.

 

 

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.