Harvard mimarisi - Harvard architecture

Harvard mimarisi

Harvard mimarisi bir bilgisayar Mimarisi ayrı depolama ve için sinyal yolları Talimatlar ve veriler. İle tezat oluşturuyor von Neumann mimarisi, program talimatlarının ve verilerinin aynı belleği ve yolları paylaştığı yer.

Terim, Harvard Mark I üzerinde talimatlar depolayan röle tabanlı bilgisayar delikli bant (24 bit genişliğinde) ve veri girişi elektro-mekanik sayaçlar. Bu eski makinelerde veri depolaması tamamen Merkezi işlem birimi ve veri olarak talimat depolamaya erişim sağlamadı. Bir operatör tarafından yüklenmesi gereken programlar; işlemci yapamadı başlatmak kendisi.

Modern işlemciler, kullanıcıya aynı program kodunun depolandığı von Neumann makineleri gibi görünmektedir. ana hafıza veri olarak. Performans nedenlerinden dolayı, dahili olarak ve büyük ölçüde kullanıcı tarafından görünmez, çoğu tasarımın ayrı işlemci önbellekleri talimatlar ve veriler için, her biri için işlemciye giden ayrı yollar. Bu, değiştirilmiş Harvard mimarisi.

Bellek ayrıntıları

Bir Harvard mimarisinde, iki hafızanın aynı özellikleri paylaşmasına gerek yoktur. Özellikle, kelime genişlik, zamanlama, uygulama teknolojisi ve hafıza adresi yapı farklılık gösterebilir. Bazı sistemlerde, önceden programlanmış görevler için talimatlar şurada saklanabilir: sadece hafızayı oku veri belleği genellikle gerektirirken okuma-yazma belleği. Bazı sistemlerde, veri belleğinden çok daha fazla talimat belleği vardır, bu nedenle komut adresleri veri adreslerinden daha geniştir.

Von Neumann mimarileriyle kontrast

Saf bir sistemde von Neumann mimarisi, talimatlar ve veriler aynı bellekte saklanır, bu nedenle talimatlar, verileri almak için kullanılan aynı veri yolu üzerinden alınır. Bu bir İşlemci aynı anda bir talimatı okuyamaz ve hafızadan veya hafızaya veri yazamaz veya okuyamaz. Harvard mimarisini kullanan bir bilgisayarda, CPU aynı anda hem bir talimatı okuyabilir hem de bir veri belleği erişimi gerçekleştirebilir,[1] önbellek olmadan bile. Bir Harvard mimarisi bilgisayarı, belirli bir devre karmaşıklığı için daha hızlı olabilir, çünkü talimat getirmeleri ve veri erişimi tek bir bellek yolu için uğraşmaz.

Ayrıca, Harvard mimarisine sahip bir makinenin farklı kodu ve veri adresi alanları vardır: talimat adresi sıfır, veri adresi sıfır ile aynı değildir. Komut adresi sıfır, yirmi dört bitlik bir değeri belirleyebilirken, veri adresi sıfır, bu yirmi dört bitlik değerin parçası olmayan sekiz bitlik bir baytı gösterebilir.

Değiştirilmiş Harvard mimarisiyle kontrast

Bir değiştirilmiş Harvard mimarisi makine, Harvard mimarisine çok benzeyen bir makinedir, ancak işlemcinin iki (veya daha fazla) bellek veri yoluna eşzamanlı olarak erişmesine izin verirken komut ve veri arasındaki katı ayrımı gevşetir. En yaygın değişiklik, ayrı talimat ve verileri içerir önbellekler ortak bir adres alanı ile desteklenir. CPU önbellekten çalışırken saf bir Harvard makinesi gibi davranır. Yedek belleğe erişirken, bir von Neumann makinesi gibi davranır (burada kod, veriler gibi hareket ettirilebilir, bu güçlü bir tekniktir). Bu değişiklik, modern işlemcilerde yaygındır. ARM mimarisi, Güç ISA ve x86 işlemciler. Bazen gevşek bir şekilde Harvard mimarisi olarak adlandırılır ve aslında "değiştirilmiş" olduğu gerçeğini gözden kaçırır.

Başka bir değişiklik, talimat belleği arasında bir yol sağlar (ROM veya flash bellek ) ve CPU'nun talimat belleğindeki kelimelerin salt okunur veri olarak işlem görmesine izin vermesi. Bu teknik, bazı mikrodenetleyicilerde kullanılır. Atmel AVR. Bu, aşağıdaki gibi sabit verilere izin verir: metin dizeleri veya fonksiyon tabloları, okuma / yazma değişkenleri için kıt (ve güç tüketen) veri belleğini koruyarak, önce veri belleğine kopyalanmasına gerek kalmadan erişilebilecek. Özel makine dili Talimat hafızasından verileri okumak için talimatlar sağlanır veya talimat hafızasına bir çevresel arayüz kullanılarak erişilebilir.[a] (Bireysel sabitler için iki mekanizma birbirinin yerine geçebilmesine rağmen, bu kendileri sabit verileri gömen talimatlardan farklıdır.)

Hız

Son yıllarda CPU'nun hızı, ana belleğin erişim hızına kıyasla birçok kez arttı. Performansı sürdürmek için ana belleğe erişim sayısını azaltmak için özen gösterilmesi gerekir. Örneğin, CPU'da çalıştırılan her komut belleğe erişim gerektiriyorsa, bilgisayar artırılmış CPU hızı için hiçbir şey kazanmaz. hafızaya bağlı.

Son derece hızlı bellek yapmak mümkündür, ancak bu yalnızca maliyet, güç ve sinyal yönlendirme nedenleriyle küçük miktarlarda bellek için pratiktir. Çözüm, küçük bir miktar çok hızlı bellek sağlamaktır. CPU önbelleği en son erişilen verileri tutan. CPU'nun ihtiyaç duyduğu veriler önbellekte olduğu sürece, performans CPU'nun verileri ana bellekten alması gerektiğinde olduğundan çok daha yüksektir.

İç ve dış tasarım

Modern yüksek performanslı CPU çip tasarımları, hem Harvard hem de von Neumann mimarisinin özelliklerini içerir. Özellikle, "bölünmüş önbellek" sürümü değiştirilmiş Harvard mimarisi çok yaygındır. CPU önbelleği, bir talimat önbelleğine ve bir veri önbelleğine bölünmüştür. Harvard mimarisi, CPU önbelleğe erişirken kullanılır. Bununla birlikte, bir önbellekte kayıp olması durumunda, veriler, RAM, ROM ve (NOR) eşzamanlı erişim için kullanılan ayrı bellek denetleyicilerine sahip olsalar da, resmi olarak ayrı talimat ve veri bölümlerine ayrılmamış ana bellekten alınır. ) flash bellek.

Böylelikle, veri ve kodun aynı bellek denetleyicisinden gelmesi gibi bazı bağlamlarda bir von Neumann mimarisi görünürken, donanım uygulaması, önbellek erişimleri ve en azından bazı ana bellek erişimleri için Harvard mimarisinin verimliliklerini kazanır.

Ek olarak, CPU'larda genellikle önbelleğe alınmamış bölgelere yazıldıktan sonra CPU'ların ilerlemesini sağlayan yazma arabellekleri bulunur. Bu durumda belleğin von Neumann doğası, talimatlar CPU tarafından veri olarak yazıldığında görünür hale gelir ve yazılım, bu yeni yazılmış talimatları yürütmeden önce önbelleklerin (veri ve talimat) ve yazma tamponunun senkronize edilmesini sağlamalıdır.

Harvard mimarisinin modern kullanımları

Saf Harvard mimarisinin temel avantajı - birden fazla bellek sistemine eşzamanlı erişim - modern teknoloji kullanan değiştirilmiş Harvard işlemciler tarafından azaltılmıştır. CPU önbelleği sistemleri. Nispeten saf Harvard mimarisi makineleri, çoğunlukla, önbelleklerin çıkarılmasından kaynaklanan maliyet ve güç tasarrufları gibi ödünleşmelerin, farklı kod ve veri adres alanlarından kaynaklanan programlama cezalarından daha ağır bastığı uygulamalarda kullanılır.

  • Dijital sinyal işlemcileri (DSP'ler) genellikle küçük, yüksek düzeyde optimize edilmiş ses veya video işleme algoritmalarını yürütür. Önbellekten kaçınırlar çünkü davranışları son derece yeniden üretilebilir olmalıdır. Birden fazla adres alanıyla başa çıkmanın zorlukları, yürütme hızının ikincil endişesidir. Sonuç olarak, bazı DSP'ler, kolaylaştırmak için farklı adres alanlarında birden fazla veri belleğine sahiptir. SIMD ve VLIW işleme. Texas Instruments TMS320 Örneğin, C55x işlemciler birden çok paralel veri yolu (iki yazma, üç okuma) ve bir komut veriyolu içerir.
  • Mikrodenetleyiciler küçük miktarlarda program (flash bellek) ve veri (SRAM ) bellek ve eşzamanlı talimat ve veri erişimiyle işlemeyi hızlandırmak için Harvard mimarisinden yararlanın. Ayrı depolama, programın ve veri hafızalarının farklı bit genişliklerine sahip olabileceği anlamına gelir, örneğin 16 bit genişliğinde talimatlar ve 8 bit genişliğinde veriler kullanılarak. Bunu da kastediyorlar talimat önceden getirme diğer faaliyetlerle paralel olarak gerçekleştirilebilir. Örnekler şunları içerir: PIC tarafından Microchip Technology, Inc. ve AVR tarafından Atmel Corp (artık Mikroçip Teknolojisinin bir parçası).

Bu durumlarda bile, program belleğine salt okunur tablolar veya yeniden programlama için verilermiş gibi erişmek için özel komutların kullanılması yaygındır; bu işlemciler değiştirilmiş Harvard mimarisi işlemciler.

Notlar

  1. ^ STC'nin 8051 uyumlu mikrodenetleyicilerin IAP hatları, iki bağlantı noktasından biri işlemci çekirdeğinin yönerge veriyoluna bağlanmış ve diğer bağlantı noktası özel işlev kayıt bölgesinde kullanıma sunulan çift bağlantı noktalı Flash belleğe sahiptir.

Referanslar

  1. ^ "386 - 030: Kalabalık Hızlı Şerit ". Dr. Dobb's Journal, Ocak 1988.

Dış bağlantılar