Arama

Von Neumann Mimarisi

Güncelleme: 17 Şubat 2007 Gösterim: 6.647 Cevap: 1
Misafir - avatarı
Misafir
Ziyaretçi
17 Şubat 2007       Mesaj #1
Misafir - avatarı
Ziyaretçi
Von Neumann Mimarisi
Vikipedi, özgür ansiklopedi
Sponsorlu Bağlantılar
Ad:  420px-Von_Neumann_architecture.svg.png
Gösterim: 1577
Boyut:  19.7 KB
Von Neumann makinesinin tasarımı

Von Neumann mimarisi komutlar ve veriyi birlikte tutabilen bellek yapısına sahip bir bilgisayar tasarımıdır. Belleğin, işlemciden ayrılması Von Neumann mimarisi olarak ifade edilir. "Depolu-program bilgisayarı" terimi genellikle bu tasarımla yapılan bilgisayarlar için kullanılır.

Tarihçe
İlk bilgisayarların sabit programları vardı. Hala bazı basit bilgisayar sistemleri bu tasarımı, basitlik veya eğitim amaçları için kullanmaktadır. Örneğin, bir hesap makinesi (temel olarak) sabit programlı bir bilgisayardır. Basit matematiği yapabilir, fakat bir kelime işlemcisi olarak kullanılamaz veya bir bilgisayar oyununu çalıştıramaz. Böyle bir makinenin programını değiştirmek için, yeni bağlantılar yapmalı, hatta makineyi yeniden tasarlamalısınız. Aslında, ilk bilgisayarlar programlanmaktan çok yeniden tasarlanmaktaydı. "Yeniden programlama", mümkünse eğer, el ile yapılan bir işlemdi. Akış şemaları ve hesaplardan başlar ve detaylı mühendislik tasarımlarıyla devam ederdi. Daha sonra ise bu tasarımları fiziksel değişiklikler olarak ifade etme işlemi yapılırdı.
Depolu-program bilgisayarı fikri tüm bunları değiştirdi. Bir komut takımı mimarisi yaratarak ve veri işleme, bir komut serisi (program) ile detaylandırıldığında, makine çok daha esnek bir hale geldi. Bu komutlar veriyle aynı şekilde saklandığında ise, bir depolu-program makinesi kolayca programı değiştirebilir ve daha fazlasını program kontrolünde yapabilir.
"Von Neumaan mimarisi" ve "depolu-program" terimleri genellikle birbirleri yerine kullanılabilirler, bu kullanım bu yazıda da uygulanmıştır. Fakat, Harvard mimarisi kavramı, programı değiştirilebilir kolay bir biçimde tutan, fakat genel verilerle farklı bir depolama kullanan bir tasarım olarak ifade edilebilir. Ayrıca bir depolu-program tasarımı programların çalışırken kendilerini değiştirmelerine izin verir. Programın, komutlarının adres bölümlerinin arttırılması veya değiştirilmesi için bu tür bir özelliğe ihtiyaç duyulmaktaydı. Bu işlem eski tasarımlarda otomatik olarak yapılamazdı. Bu özellik, dizin yazmaçları ve dolaylı adresleme bir makinenin geleneksel mimari özellikleri haline gelince daha az önemli duruma geldi.
Komutları, veriler gibi işleyebilme yeteneği assembler, compiler ve diğer otomatikleştirilmiş programlama araçlarını mümkün kıldı. "Program yazan programlar" yazılabilirdi. Önceleri özel bir donanım olmadan yapılması imkansız olarak düşünülen bitmap görüntü resimlerinin değiştirilmesi, BITBLT gibi I/O makine komutları ile yapılabilmekteydi. Daha sonraları bu komutların "derleme sırasında işleme" teknolojisi ile verimli olarak yerine getirilebileceği anlaşıldı. Örneğin, kod üreten programlar.
Von Neumann tasarımının dezavantajları da vardı. Aşağıda ayrıntılı bir biçimde anlatıldığı gibi Von Neumann engeli yüzünden, kazayla veya tasarım olarak programların değiştirilmesi zararlı olabilirdi. Bazı basit depolu-program bilgisayar tasarımlarında, düzgün çalışmayan programlar kendine, diğer programlara veya işletim sistemine zarar verebilirdi ve muhtemel çökmelerle sonuçlanabilirdi. Bir buffer taşması düzgün çalışmayan programlara verilebilecek bir örnektir. Programların başka programlar yaratması veya mevcut programları değiştirebilmesi özelliği zararlı programlar tarafından da sıkça kullanılır. Bu tür zararlı programlar yığıtları parçalayarak, mevcut programların üstüne yazabilir ve daha sonra diğer program dosyalarını değiştirirek bilgisayara zarar verebilir. Bellek koruması ve erişim kontrolü türleri hem rastlantısal hem de zararlı program değiştirmelerini engellemede yardımcı olabilir.

İlk Tasarımlar
"Von Neumann Mimarisi" terimi ilk olarak matematikçi John von Neumann'nın çalışmalarında geçmektedir. 30 Haziran 1945 tarihli, genel amaçlı depolu-program hesap makinesi (EDVAC) ile ilgili raporda yer almıştır. Fakat, Von Neumann'ın çalışmaları öncülük etse de, "Von Neumaan mimarisi" terimi bir şekilde Von Neumann'ın iş arkadaşlarına haksızlık olmuştur.
Konrad Zuse 1936'daki patent çalışmalarında bu düşünceyi belirtmiştir.
Von Neumann henüz ENIAC'ın varlığını bilmeden önce depolu-program fikri ilk olarak Moore Elektrik Mühendisliği Okulu'nda Pennyslvania Üniversitesi'nde ortaya çıkmıştır. Fikri ilk olarak kimin bulduğu tam olarak bilinmemektedir.
Herman Lukoff, Eckert olduğunu söylemektedir (bkz; Referanslar).
Jhon William Mauchly ve J. Presper Eckert 1943 Aralığında ENIAC üzerine çalışmalarında depolu-program konsepti hakkında yazılar yazmışlardır. Ayrıca, ENIAC proje yöneticisi Grist Brainerd'ın ENIAC'ın geliştirilmesinin ilk çeyreği için olan 1943 tarihli çalışma raporunda, açıkça depolu-program konseptinden bahsetmiştir. Fakat "en basit projeye sahip olmak ve konuları güçleştirmemek için", ENIAC'ın herhangi bir "otomatik düzenleme" olmadan inşa edileceğini belirterek aynı zamanda ENIAC'ta uygulandığını reddetmiştir.
ENIAC tasarlanırken, komutları delikli kartlardan veya kağıtlardan okumanın yeterince hızlı olmayacağı anlaşılmıştır, ENIAC komutları çok daha hızlı bir şekilde işleyecek şekilde tasarlanmıştı. ENIAC'ın programı tasarıma göre kablolamayla oluşturulmaktaydı ve her yeni problem için kabloların yeniden tasarlanması gerekmekteydi. Daha iyi bir sisteme sahip olunması gerektiği açıkça ortadaydı.ENIAC inşa edilirken, EDVAC hakkındaki ilk rapor ortaya çıkmıştır ve komutların yüksek hızlı bir bellekte saklandığı, gerektiğinde hızlı bir şekilde işlenebildiği, depolu-program fikrini içermiştir.
Alan Turing 19 Şubat, 1946'da, bir depolu-program bilgisayarı için (Pilot ACE) tam bir tasarımı içeren bir yazı yazmıştır.

Von Neumann Engeli
İşlemci ve belleğin birbirinden ayrılması ile ortaya çıkan soruna "Von Neumann Engeli" denilmektedir. İşlemci ve bellek arasındaki veri transfer hızı, bellek boyutuna göre çok küçüktür. Modern makinelerde, bu transfer hızı, işlemcinin kendi işlem hızına göre çok yavaştır. Bazı durumlar altında (işlemcinin büyük miktar veri üzerinde minumum işleme yapması gerektiğinde), genel işleme hızı ciddi miktarlarda sınırlanmaktadır. İşlemci sürekli olarak belleğe iletilecek veya bellekten iletilecek veriyi beklemek zorunda kalmaktadır. İşlemci hızı ve bellek boyutu aralarındaki transfer hızına göre kat kat arttığında, bu engel giderek daha büyük bir sorun haline gelmiştir.
"Von Neumann Engeli" terimi ilk olarak John Backus'un 1977 tarihli ACM makalesinde geçmiştir. Backus :
"Elbette saklamada büyük değişiklikler yapmanın, çok sayıda kelimeyi Von Neumaan engeli içerisinde ileri ve geri oynatmaktan daha az ilkel bir yöntemi olmalıdır." demiştir.
İşlemci ve ana bellek arasındaki Ön bellek, Von Neumann engelindeki bazı performans sorunlarının giderilmesinde yardımcı olmaktadır. Ayrıca, dallanma tahmini algoritmaları bu sorunun azalmasına yardımcı olmaktadır. Backus'un önerdiği çözümün ise önemli bir etkisi olmamıştır. Modern fonksiyonel programlama ve nesne yönelimli programlama, Fortran gibi ilk dillere göre çok fazla kelimeyi ileri ve geri oynatmakta daha başarılıydılar, fakat aslında, bu hala bilgisayarların zamanlarının büyük kısmını harcadıkları işlemdi.

İlk depolu-program bilgisayarları
Aşağıdaki kronolojideki tarih bilgisini tam olarak düzgün bir sıraya koymak zordur. Bazı tarihler ilk test programlarının çalıştırılması, bazı tarihler bilgisayarın ilk tamamlandığı tarih, ve bazı tarihler ilk dağıtım veya kurulum tarihleridir.
  • IBM SSEC, 27 Ocak,1948'de halka tanıtılan elektromekanik bir depolu-program bilgisayarıdır. Fakat aslında bir kısmı elektromekanik olduğu için tam olarak elektronik değildir.
  • Manchester SSEM, depolu bir programı çalıştırabilen ilk tam elektronik bilgisayardır. 21 Temmuz 1948'de 52 dakika boyunca bir faktoriyel programı çalıştırmış, daha sonra ise basit bir bölüm programı çalıştırmıştır.
  • ENIAC depolu-program bilgisayarı olarak çalışacak şekilde değiştirilmiştir ve 16 Eylül 1948'de Adele Goldstine tarafından çalıştırılan bir program ile tanıtılmıştır.
  • BINAC, Şubat, Mart ve Nisan 1949'da bazı test programları çalıştırmış, fakat Eylül 1949'a kadar tamamlanamamıştır.
  • Manchester Mark I, SSEM projesinden geliştirilmiştir. MARK I Nisan 1949'da bazı programları çalıştırabilir durumdaydı, fakat Ekim 1949'a kadar tamamlanamadı.
  • EDSAC ilk programını 6 Mayıs 1949'da çalıştırdı.
  • EDVAC, 1949'da yapılmıştır, fakat 1951'e kadar düzgün çalışmasını engelleyen bazı problemlerle karşılaşılmıştır.
  • CSIR Mk I, ilk programını Kasım 1949'da çalışmıştır.
  • SEAC, Nisan 1950'de tanıtılmıştır.
  • Pilot ACE, ilk programını 10 Mayıs 1950'de çalıştırmış ve Aralık 1950'de tanıtılmıştır.
  • SWAC, Temmuz 1950'de tamamlanmıştır.
  • Whirlwind, Aralık 1950'de tamamlanmıştır ve gerçek kullanımına Nisan 1951'de başlanmıştır.
  • İlk ERA Atlas, Aralık 1950'de kurulmuştur.

KisukE UraharA - avatarı
KisukE UraharA
VIP !..............!
17 Şubat 2007       Mesaj #2
KisukE UraharA - avatarı
VIP !..............!
Von Neumann Engeli

Sponsorlu Bağlantılar
İşlemci ve belleğin birbirinden ayrılması ile ortaya çıkan soruna "Von Neumann Engeli" denilmektedir.İşlemci ve bellek arasındaki veri transfer hızı, bellek boyutuna göre çok küçüktür.Modern makinelerde, bu transfer hızı, işlemcinin kendi işlem hızına göre çok yavaştır.Bazı durumlar altında (işlemcinin büyük miktar veri üzerinde minumum işleme yapması gerektiğinde), genel işleme hızı ciddi miktarlarda sınırlanmaktadır.İşlemci sürekli olarak belleğe iletilecek veya bellekten iletilecek veriyi beklemek zorunda kalmaktadır.İşlemci hızı ve bellek boyutu aralarındaki transfer hızına göre kat kat arttığında, bu engel giderek daha büyük bir sorun haline gelmiştir.

"Von Neumann Engeli" terimi ilk olarak John Backus'un 1977 tarihli ACM makalesinde geçmiştir.Backus :

"Elbette saklamada büyük değişiklikler yapmanın, çok sayıda kelimeyi Von Neumaan engeli içerisinde ileri ve geri oynatmaktan daha az ilkel bir yöntemi olmalıdır." demiştir.

İşlemci ve ana bellek arasındaki Ön bellek, Von Neumann engelindeki bazı performans sorunlarının giderilmesinde yardımcı olmaktadır.Ayrıca, dallanma tahmini algoritmaları bu sorunun azalmasına yardımcı olmaktadır.Backus'un önerdiği çözümün ise önemli bir etkisi olmamıştır.Modern fonksiyonel programlama ve nesne yönelimli programlama, Fortran gibi ilk dillere göre çok fazla kelimeyi ileri ve geri oynatmakta daha başarılıydılar, fakat aslında, bu hala bilgisayarların zamanlarının büyük kısmını harcadıkları işlemdi.
Son düzenleyen KisukE UraharA; 16 Mart 2008 17:46
Gerçekçi ol imkansızı iste...

Benzer Konular

29 Mayıs 2009 / ThinkerBeLL Mimarlık
19 Şubat 2009 / ThinkerBeLL Mimarlık
25 Ocak 2007 / KisukE UraharA Bilim ww