Von Neumann & Harvard Mimarileri

CPU seviyesinde belleğe nasıl erişileceği problemi ele alındığında karşımıza iki popüler tasarım çıkmakta: Von Neumann ve Harvard mimarileri.

Şekil 1: Von Neumann Mimarisi [2]

1945 yılında John Von Neumann tarafından yaratılmış olan Von Neumann mimarisi, veri ve komut belleklerinin tek bir depolama birimini paylaştığı bir bilgisayar mimarisidir. Bellek adresleri ve veri iletimi için yalnızca birer tane veri yolu bulunur.

Şekil 2: Harvard mimarisi [3]

İsmini ilk kez kullanıldığı bilgisayar Harvard Mark I‘den alan Harvard mimarisinde ise, veri ve komut bellekleri fiziksel olarak birbirinden ayrılmıştır. Her ikisi içinde ayrı birer bellek adresleri için ve veri iletimi için veri yolları bulunur. Bir program çalıştığında komut akışı ve veri akışı, ayrı veri yolu setleri üzerinden gerçekleşir.

Von Neumann Darboğazı

Tek bir veri yolunun hem komutları hem de verileri iletiyor olması, Von Neumann Darboğazı adı verilen bir probleme yol açar. Tek bir veri yolu, aynı anda yalnızca bir bellek sınıfına erişebildiğinden, işlem hacmi CPU’nun çalışabileceği hızdan daha düşüktür. Bu nedenle CPU, sürekli olarak gerekli verilerin taşınmasını beklemek zorunda kalır ve işlem hızında ciddi bir düşüş olur.

Şekil 3: İşlemci-Bellek Performansı [4]

Yapılabilecek en mantıklı çözüm, işlemcinin son kullandığı veriyi tutan önbellek kullanımıdır. Bu sayede işlemci belleğe ulaşma gereği duymaz ve beklenen zaman telafi edilmiş olur.

Sorun günümüzde sadece Von Neumann mimarisinde var olmaktan ziyade, genel olarak yaşanmaktadır ve işlemci teknolojisinin gelişmesine yetişemeyen bellek teknolojisi bu sorunun büyüklüğünü arttırmaktadır.

Değiştirilmiş Harvard Mimarisi

Şekil 4: Değiştirilmiş Harvard mimarisi [6]

Değiştirilmiş Harvard mimarisi, saf Harvard mimarisinden farklı olarak komut belleğinin içeriğine veri olarak erişilmesine izin veren Harvard bilgisayar mimarisinin bir varyasyonudur. Harvard mimarisinin daha yüksek performanslı eşzamanlı verilerini ve komut erişimini desteklerken, komutlar ve veriler arasındaki katı ayrımı gevşetmektedir. Aynı bellek adresi tarafından desteklenen ve birinde komutların diğerinde verilerin tutulduğu iki ayrı önbellek kullanılmıştır. Kısaca önbellek tarafında Harvard mimarisi kullanılırken, ana bellek tarafında Von Neumann mimarisi kullanılmaktadır.

Harvard mimarisi olarak tanımlanan modern bilgisayarların çoğu aslında değiştirilmiş Harvard mimarisidir.

Kaynaklar

  1. Zhu, Y. (Haziran 2018). Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C
  2. Wikipedia. Von Neumann Architecture
  3. Wikipedia. Harvard Architecture
  4. Wikipedia. Von Neumann Dargeçiti
  5. Wikipedia. Modified Harvard Architecture
  6. Blocksandfiles. (2019). Back to the future with persistent memory
Share

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir