Bilgisayarımın Harvard mı yoksa von Neumann mimarisi mi olduğunu nasıl anlayabilirim?


12

İki mimar arasındaki farkın, talimatların Harvard mimarisindeki verilerden ayrılması olduğunu anlıyorum. Fakat hangi tür sistemde olduğumu nasıl bilebilirim? Programın sistemin von Neumann veya Harvard olup olmadığını belirleyeceği bir program yazmak mümkün müdür? Başka bir mimari olabilir mi ya da sadece bu mimariler biliniyor mu?


3
Harvard Mimarisinin Modern Kullanımları . Tipik kullanımdaki her şey Von Neumann'dır.
Robert Harvey

1
Modern sistemler de kesinlikle von-Neumann değil. GPU'lar ve diğer tüm şeyler hakkında düşünmek :)
johannes

1
Başka mimari türleri de var. Veri akışı mimarisi benim favorim. Ama vahşi doğada görmeniz pek olası değil.
Martin York

1
Gerçekten çok düşük bir şey yapmıyorsanız, neden farkı bilmeniz gerektiğinden emin değilim (kendi kendini değiştiren kod yazıyor musunuz?). Çoğu modern makine von-Neumann olmasına rağmen, işletim sistemi kodda yanlışlıkla (kötü amaçlı) değişiklik yapılmasını önlemek için kod sayfalarını genellikle veri sayfalarından farklı olarak işaretler.
Martin York

Yanıtlar:


13

Bilgisayarınız bir von Neumann makinesidir. Tüm genel amaçlı bilgisayarlar. Tek istisna GPU'lar gibi uzmanlaşmış yardımcı işlemcilerdir. Bu yüzden değil olamaz Harvard makinesi (veya başka bir mimariye) var. Sadece kimseyi inşa etmiyor, özellikle satılık değil (modulo yardımcı işlemciler, elbette).


3
Bu kesinlikle tanıma bağlıdır. Oldukça eski ikiliği bir trikotomi ile değiştirirseniz , mevcut genel amaçlı bilgisayarların çoğu Modifiye Harvard Mimarisidir.
maaartinus

3
Birçok gömülü mikro denetleyici Harvard mimarilerini kullanır. Genellikle bir tür veya ROM veya flash bellekten kod çalıştırırlar ve kod ve veri için ortak bir veri yolu kullanılarak çok az kazanç elde edilir.
supercat

6

Mevcut genel amaçlı CPU'ların çoğu Modifiye Harvard Mimarisini kullanır . CPU çekirdekleri ayrı L1 önbelleklerinde programa ve verilere bağımsız olarak erişebilir. Dışarıda, ayrı bir program ve veri belleği yoktur (ya da diğer önbellek seviyeleri ayrılmaz).

Başka bir mimari olabilir mi ya da sadece bu mimariler biliniyor mu?

Diğer tüm mimarilerin kullanımları oldukça kısıtlıdır. İşlemci geliştirmeyle ilgili aşırı karmaşıklık ve maliyetler nedeniyle, kimsenin bunu tekrar ciddi bir şekilde deneyeceğini düşünmüyorum.

Bununla birlikte, modern CPU'lar temel olarak von Neumann olsa da, dahili olarak Dataflow Architecture gibi birçok fikir içerir .


4

Hem Von Neumann hem de Harvard mimarileri Kontrol akış paradigmasına aittir.

Veri akışı olan başka bir paradigma var .

Kontrol akışı bilgisayarlarında uygulansa da, veri akışı bilgi işleminin yaygın bir örneği elektronik tablodur (Visicalc ve Multiplan'dan Excel'e).

Sinir ağları da bu kategoriye dahildir.

FPGA , veri akışı mimarisinin bir başka örneğidir. VHDL gibi donanım tanımlama dilleriyle programlanırlar .


3

Harvard Architecture tipik olarak yalnızca programın yerleşik eeprom belleğinde saklandığı gömülü mikroişlemcilerde kullanılır. Gördüğünüz muhtemeldir tek bir Atmel olan AVR kullanılan Arduino


1

Programladığınızda: Bir bellek bölgesini değiştirin ve oraya atlayın ve çalıştırın.

Eğer Havard ise bunu yapamazsın.


Veya W ^ X bellek yöneticisine sahip bir Von Neumann makinesi olabilir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.