KoderKoder.ai
FiyatlandırmaKurumsalEğitimYatırımcılar için
Giriş YapBaşla

Ürün

FiyatlandırmaKurumsalYatırımcılar için

Kaynaklar

Bize UlaşınDestekEğitimBlog

Yasal

Gizlilik PolitikasıKullanım KoşullarıGüvenlikKabul Edilebilir Kullanım PolitikasıKötüye Kullanımı Bildir

Sosyal

LinkedInTwitter
Koder.ai
Dil

© 2026 Koder.ai. Tüm hakları saklıdır.

Ana Sayfa›Blog›Von Neumann ve Yazılımı Mümkün Kılan Bellekte Kaydedilen Program Bilgisayarı
19 Ara 2025·8 dk

Von Neumann ve Yazılımı Mümkün Kılan Bellekte Kaydedilen Program Bilgisayarı

Bellekte kaydedilen program fikrinin John von Neumann ile neden ilişkilendirildiğini, EDVAC raporunun rolünü ve bu fikrin yeniden kullanılabilir yazılım ile modern programlamayı nasıl mümkün kıldığını öğrenin.

Von Neumann ve Yazılımı Mümkün Kılan Bellekte Kaydedilen Program Bilgisayarı

Neden Bellekte Kaydedilen Program Fikri Önemli

Modern hesaplamanın merkezinde basit bir soru yatar: tek bir makinenin her seferinde yeniden inşa edilmeden birçok farklı görevi yapabilmesini mümkün kılan neydi? Erken elektronik bilgisayarlar hızlı hesaplayabiliyordu, ama “işi değiştirmek” çoğunlukla makinenin fiziksel olarak nasıl kurulduğunu değiştirmek anlamına geliyordu. Bellekte kaydedilen program fikri, bilgisayarları gerçekten programlanabilir yapan dönüm noktasıdır.

Bellekte kaydedilen programı basitçe anlatmak

Bir bellekte kaydedilen program bilgisayarı, bir görevin talimatlarını (programı) işlemcinin kullandığı veri ile aynı tür iç bellekte tutar. Donanımı yeniden kablolamak veya panelleri elle yeniden yapılandırmak yerine, belleğe yeni bir talimat seti yükleyip farklı bir işi çalıştırabilirsiniz.

Bu şimdi bariz geliyor olabilir, ama derin bir değişimdir:

  • Bilgisayar bir genel amaçlı araç olur, tek amaçlı bir makine değil.
  • Programlar bilgi haline gelir—düzenleyebileceğiniz, kaydedebileceğiniz, kopyalayabileceğiniz ve paylaşabileceğiniz bir şey.
  • Yazılım geliştirme pratik hale gelir: bilgisayarı yeniden inşa etmeden talimatları yazmak, test etmek ve iyileştirmek mümkün olur.

Bu yazı neleri kapsayacak (ve neden hâlâ önemli)

Bu sadece tarihsel bir merak değil. Bellekte kaydedilen program kavramı, “yazılım”ın “donanımdan” niye ayrı bir şey olarak var olduğunu ve bir cihazı güncellemenin neden içindeki çipleri değiştirmeden yeni özellikler açabildiğini açıklar.

Aşağıdaki bölümlerde, erken bilgisayarların karşılaştığı problemi, bellekte kaydedilen program yaklaşımının neyi değiştirdiğini, fikri netleştiren kişi ve belgeleri (ünlü EDVAC raporu dahil) ve “von Neumann mimarisi” teriminin nasıl yaygın bir tasarımı temsil etmeye başladığını inceleyeceğiz.

Bir not: kredi konusunda hızlı bir açıklama

John von Neumann’ın ismi bellekte kaydedilen program bilgisayarlarıyla güçlü şekilde anılsa da, kredi daha geniş bir ekip ve döneme paylaştırılır. Birçok araştırmacı, ilk pratik elektronik bilgisayarları inşa ederken benzer fikirler üzerinde aynı anda yoğunlaşıyordu. Bu makale o bağlamı koruyor; çünkü ekip çalışmasını anlamak, fikrin nasıl hızla yayıldığını ve sonraki çoğu bilgisayar için varsayılan modele nasıl dönüştüğünü açıklamaya yardımcı olur.

Bellekte Kaydedilen Programlardan Önce: Görevi Değiştirmek Yeniden Kablosuz Anlamına Geliyordu

Bellekte kaydedilen program fikrinden önce birçok erken bilgisayar, günümüz anlamında “yazılım çalıştırmıyordu”. Etkileyici hızlarda hesap yapabiliyorlardı, ama ne yapacaklarını söylemek genellikle makinenin kendisini fiziksel olarak değiştirmek demekti.

Pratikte “donanım programlama”

Yaygın bir yaklaşım, priz panoları, yama kabloları ve anahtar panoları kullanmaktı. Operatörler, soketler arasında kablolar bağlar, anahtar satırlarını ayarlar ve bazen sinyallerin doğru sırada gelmesini sağlamak için zamanlama birimlerini ayarlardı. “Program” yüklenecek bir dosya değil—geçici bir kablolama diyagramıydı.

Bu düzen çalışıyordu, ama gizli bir maliyeti vardı: her yeni görev bir mini mühendislik projesiydi. İşlem sırasını değiştirmek istiyorsanız (toplama, çarpma, karşılaştırma, döngü ekleme), onlarca hatta yüzlerce bağlantıyı taşımak gerekebilirdi. Tek bir yanlış kablo, mantığın donanım bağlantılarına dağılmış olması nedeniyle teşhis edilmesi zor hatalar yaratabilirdi.

Görev değiştirmek neden pahalıydı

Yeniden yapılandırma saatler veya günler alabiliyordu; özellikle makine dikkatlice kapatılıp yeniden kablolanıp test edilmesi gerekiyorsa. Bu durumda esneklik sınırlıydı: bu makineler uzun süreler boyunca tek tür hesaplama için planlanıyordu çünkü iş değiştirmek çok kesintiye uğratıcıydı.

Basit bir örnek

Bir makineyi topçu atış tabloları (sabit formüllerle uzun, tekrarlı hesaplar) hesaplamak üzere kurduğunuzu düşünün. Araştırmacılar aynı makineyi nüfus sayımı için istatistik tablolama gibi farklı bir problem çözmek için kullanmak istediklerinde, bu hızlı bir “programı düzenleyip tekrar çalıştır” meselesi değildi. İşlem sırası, ara depolama adımları ve koşullu kontroller farklı olabilir; bu da tam bir priz paneli yeniden tasarımı ve yeni bir doğrulama turu gerektirebilir.

İşte bellekte kaydedilen program bilgisayarının kaçmayı hedeflediği dünya budur.

Bellekte Kaydedilen Program Bilgisayarı, Basitçe Açıklama

Bir bellekte kaydedilen program bilgisayarı, talimatların (programın) programın kullandığı veriyle aynı çalışma belleğinde yaşadığı makinadır. Başka bir deyişle, bilgisayar “ne yapılacağı”nı “ne üzerinde çalışılacağı”ndan ayrı tutmaz—ikisi de bellek içindeki bit örüntüleri olarak depolanır.

Burada “bellek” ne demek

Erken bilgisayar öncülerinin bahsettiği bellek, bilgisayarın hızlı, doğrudan kullanılabilir iç depolamasıydı—bugün çoğunlukla RAM ile ilişkilendireceğimiz yer. İşlemcinin çalışırken hızlıca okuduğu ve yazdığı alandır.

Bu, sabit disk veya SSD gibi uzun süreli depolamadan farklıdır. Bir disk, güç kapalıyken dosyaları saklamak için iyidir ama işlemcinin sonraki talimatı alıp ara sonuçları güncellemesi için sürekli kullandığı anlık kâğıt defteri değildir.

Temel sonuç: işi değiştirmek için makineyi değiştirmeye gerek yok

Talimatlar bellekte tutulduğunda, görev değiştirmek dramatik şekilde basitleşir: yeni bir programı belleğe yükleyip çalıştırabilirsiniz, donanımı yeniden inşa etmeden, yeniden kablolamadan veya fiziksel olarak yeniden yapılandırmadan. Aynı genel amaçlı makine sabah bordro, öğleden sonra balistik hesaplar yapabilir—çünkü işin “nasıl” olduğu bellekte değiştirilebilen bir bit kümesidir.

Günlük bir benzetme

Tarif ve malzemelerin aynı kilerde saklandığı bir mutfağı hayal edin. Aşçı (işlemci) bir sonraki tarif adımını (talimat) okumak ve malzemeleri (veri) almak/güncellemek için tekrar tekrar kilere (bellek) gider.

Farklı bir yemek yapmak mı istiyorsunuz? Mutfağı yeniden dekore etmezsiniz. Sadece farklı bir tarif takarsınız—aynı tezgâhları, fırını ve aletleri kullanarak.

John von Neumann’ın Rolü (ve İsminin Neden Yapıştığı)

John von Neumann bilgisayarı “icat etmedi” ve bellekte kaydedilen program fikrini tek başına oluşturmadı. Ancak yaptığı—parlak bir şekilde—umut veren bir kavramı başkalarının inşa edebileceği açık, paylaşılabilir bir tasarıya dönüştürmeye yardımcı olmaktı.

Önemli bir katkıda bulunan ve sıra dışı bir iletişimci

Von Neumann savaş zamanı ve savaş sonrası hesaplama projelerine derinlemesine dahil oldu, ekipleri danışmanlık yaptı ve erken tasarımların mantıksal yapısını netleştirdi. Karmaşık teknik seçimleri sade, düzenli terimlerle açıklama yeteneği önemliydi; çünkü erken elektronik hesaplama hızlı ilerliyordu ve birden çok grup benzer problemleri çözüyordu.

Daha da önemlisi, program talimatlarının veriyle aynı bellek içinde saklanabileceğini açıklayan etkili tasvirler yazdı ve dolaşıma soktu. Bu net çerçeve, başkalarının yaklaşımı tartışmasını, öğretmesini ve çoğaltmasını kolaylaştırdı.

İsminin mimariye yapışmasının nedeni

İsimler genellikle bir fikrin ilk sahibi olana değil, açıklaması referans noktası haline gelen kişiye yapışır. Von Neumann’ın yazıları genişçe okunup alıntılandığı için, sonraki okuyucular “bellekte kaydedilen” düzeni doğal olarak ona atfettiler.

Bu etiketleme tarihi basitleştirir: “von Neumann mimarisi” demek, her katılımcıyı ve raporu listelemekten daha kolaydır. Ancak bu kısaltma gerçeği biraz bulanıklaştırabilir.

Bir ekip çalışması, tek kişi başarısı değil

Erken elektronik hesaplama, matematikçiler, mühendisler ve programcıların dahil olduğu işbirlikçi, kurumlar arası bir çabaydı. Bellekte kaydedilen kavram, ekipler arasında tartışmalar, taslaklar, prototipler ve revizyonlar yoluyla olgunlaştı. Von Neumann’ın kalıcı rolü, fikri kristalleştirip yaymak—benliğini tek başına mucit olarak sunmaktan çok—ve benimsenmesini hızlandırmaktı.

EDVAC Raporu ve Kavramın Açık İfadesi

EDVAC (Electronic Discrete Variable Automatic Computer), “tek seferlik” makinelerin ötesine geçmeyi amaçlayan erken savaş sonrası projelerden biriydi. Donanım çabasının yanı sıra, tasarım fikirlerini açıkça yazma kararı da en az onun kadar önemliydi. O zamanlar bilgisayar inşası hâlâ deneysel mühendislik düzeyindeydi—bilgi laboratuvar defterlerinde, toplantılarda ve birkaç uzmanın kafasında yaşıyordu. Bir rapor, bu dağınık içgörüleri diğer ekiplerin tartışabileceği, eleştirebileceği ve yeniden kullanabileceği bir şeye dönüştürebilirdi.

EDVAC raporunun matematik olmadan anlattıkları

First Draft of a Report on the EDVAC (kısaca “EDVAC raporu”), bellekte kaydedilen fikri açık, kavramsal terimlerle özetledi: bir bilgisayarın program talimatlarını verilerle aynı tür dahili bellekte tutması gerektiği. O bellek, sadece hesaplama sırasında sayıların tutulduğu bir yer değil—makineye bir sonraki adımda ne yapacağını söyleyen adımların da saklandığı yerdi.

Bu çerçeve, bir bilgisayarı sabit amaçlı bir cihazdan, bellekte ne olduğuna göre “yeniden görev verilebilen” genel bir makineye dönüştürüyordu. Sistemi bir görevden diğerine geçirmek için yeniden kablolamaya gerek yoktu; sadece farklı bir talimat dizisi yüklüyordunuz.

Diğerleri için neden önemliydi

Kavramsal fikrin ötesinde, rapor insanların bilgisayar hakkında nasıl konuşacağı konusunda standardizasyon sağlamaya yardım etti: bellek, kontrol, aritmetik ve giriş/çıkış gibi ayrı fonksiyonel parçalardan söz etmek. Ortak bir sözcük dağarcığı ve genişçe okunan bir açıklama, sadece EDVAC’i anlatmakla kalmadı—tüm alana, stored-program bilgisayarları kurmak, karşılaştırmak ve geliştirmek için ortak zihinsel bir model verdi.

Erken Bellekte Kaydedilen Düşüncenin Arkasındaki Takım: Ortak Kredi

Öğretirken Kredi Kazanın
Koder.ai ile inşa ettiklerinizi yayınlayın ve program aracılığıyla kredi kazanın.
Kredi Kazan

“Stored-program bilgisayarını kim icat etti?” gibi bir soru sormak ve tek bir isim beklemek cazip gelebilir. Ama bilim ve mühendislik nadiren böyle işler. Fikirler genellikle paralel gelişir, tartışmalarla rafine olur ve ancak çalışan donanımda gösterildiğinde ikna edici hale gelir.

Önemli işbirlikçılar ve paralel çabalar

John von Neumann bellekte kaydedilen kavramla güçlü şekilde ilişkilendirilse de, erken çalışmalar birçok kişi ve grubu içeriyordu:

  • J. Presper Eckert ve John Mauchly (ENIAC/EDVAC çalışmaları): pratik elektronik bilgisayarlar ve geliştirilmiş tasarımlar için mühendislik itici güçleri.
  • Herman Goldstine: matematikçiler ile mühendisler arasında köprü kuran, fikirleri belgeleme ve dolaşıma sokmada kilit bir figür.
  • Arthur Burks: erken mantıksal tasarıma katkıda bulundu ve bu mimarilerin nasıl biçimlendiğine dair daha sonraki anlatılara katkı sağladı.
  • Alan Turing: EDVAC öncesinde genel amaçlı hesaplama ve program kontrollü makineler üzerine etkili düşünceler yazdı.
  • Maurice Wilkes (EDSAC) ve Frederic Williams & Tom Kilburn (Manchester): stored-program sistemlerinin gerçekten çalışabileceğini gösteren erken uygulamalı kanıtlar ve bellek teknolojisi ilerlemelerine katkı verdiler.

“Kim icat etti?” sorusunun karmaşıklığı

Bir stored-program bilgisayar tek bir içgörü değildir. Bu (1) talimatların veriler gibi bellekte tutulabileceği kavramsal sıçrama, (2) güvenilir bellek ve kontrol birimleri inşa etmek için gereken mühendislik ve (3) tasarımı kullanılabilir kılan programlama uygulamalarının birleşimidir. Farklı kişiler farklı parçalara katkıda bulundu.

Önerme ile inşa etme arasındaki fark

Bir fikri önermek, tek başına makineyi gün be gün çalıştıran bir sisteme dönüştürmekle aynı şey değildir. Erken raporlar ve tartışmalar kavramı netleştirdi; erken prototipler ve üretim sistemleri ise bunun uygulanabilir olduğunu kanıtladı. Titiz bir tarih her iki katkı türünü de saygıyla ele alır—basit bir “ilk mucit” hükmü vermeye çalışmadan.

“Von Neumann Mimarisi” Genelde Ne Anlatır

İnsanlar “von Neumann mimarisi” dediğinde genellikle bir stored-program bilgisayarın nasıl düzenlendiğini gösteren basit, yaygın öğretilen bir modelden söz ederler. Bu bir marka ya da tek bir tarihsel makine değil—çeşitli bilgisayarlarda bir biçimde ortaya çıkan temel plan için kullanışlı bir etikettir.

Yaygın blok diyagramı: CPU, bellek ve giriş/çıkış

Kavramsal olarak resim şu parçalardan oluşur:

  • CPU (merkezi işlem birimi): işlemleri gerçekleştiren “işçi”.
  • Bellek: bilgisayarın hem program talimatlarını hem de programın kullandığı verileri tuttuğu yer.
  • Giriş/Çıkış (I/O): bilgi alıp vermenin yolları—klavye, diskler, ekran, ağlar, sensörler vb.

Temel fikir CPU’nun “program” için ayrı bir fiziksel yeri olmamasıdır; gereken her şeyi bellekten çeker.

Talimat akışı: alma–çözümleme–yürütme

CPU, genellikle alma–çözümleme–yürütme olarak tanımlanan bir döngüyü tekrarlayarak bir program çalıştırır:

  1. Alma: bir sonraki talimatı bellekten oku.
  2. Çözümleme: talimatın ne istediğini yorumla (topla, karşılaştır, yükle, sakla, atla…).
  3. Yürütme: eylemi gerçekleştir; bu bellek okuma/yazma veya I/O ile etkileşim içerebilir.

Bu açıklama basitleştirilmiştir ama özünü yakalar: program, bellekte depolanmış talimat dizisidir ve CPU bunları adım adım işler.

“Talimatlar ve veri aynı bellekte”nin gücü

Talimatları ve veriyi aynı bellekte tutmak bir bilgisayarı pratik bir şekilde genel amaçlı yapar:

  • Makinenin ne yaptığına karar vermek için genellikle bellekteki programı değiştirirsiniz, kablolamayı değil.
  • Programlar talimatları bilgi olarak ele alabilir—kopyalayabilir, yükleyebilir, değiştirebilir (modern sistemlerin güvenlik nedenleriyle bunu sınırladığı durumlar olsa da).
  • Derleyiciler, assembler'lar ve işletim sistemleri gibi araçları oluşturmak kolaylaşır, çünkü “bir program” sadece saklanabilen başka bir bilgi türüdür.

Kullanışlı bir etiket, tek başına icat iddiası değil

Dolayısıyla “von Neumann mimarisi”, CPU, talimatları ve veriyi paylaşan bir bellek ve I/O içeren stored-program modelinin kısaca ifade edilmesidir; von Neumann’ın açık açıklamalarıyla ilişkilendirilen bir etiket olup erken hikâyenin birden çok katkıda bulunanını gizleyebilir.

Von Neumann vs. Harvard: Talimat ve Veriyi Düzenlemenin İki Yolu

Kaynağı Her Zaman Dışa Aktar
Projeyi hazır olduğunuzda kaynak kodu dışa aktararak kontrol sizde olsun.
Projeye Başla

“Von Neumann” ve “Harvard” genellikle rakip felsefeler gibi konuşulur. Aslında bunlar bilgisayarın ihtiyaç duyduğu talimatları ve veriyi CPU’ya nasıl ulaştıracağını düzenlemenin iki pratik yoludur.

Von Neumann tarzı: tek bellek, ortak yol

Von Neumann tarzında, talimatlar ve veri aynı bellekte yaşar ve genellikle CPU’ya aynı ana yol üzerinden giderler.

Bu kavramsal olarak basittir: bir program, bellek içindeki baytlardan ibarettir; hemen yanında veriler vardır. Genel amaçlı hesaplama bu sayede kolaylaşır—yazılım aynı mekanizmalarla yüklenebilir, değiştirilebilir ve depolanabilir.

Takas: talimatlar ve veri aynı “yolu” paylaştığında bant genişliği için rekabet olabilir. (Bunu bazen bir “darboğaz” olarak duyarsınız; temel fikir paylaşım yapılmasıdır.)

Harvard tarzı: ayrı depolama (çoğunlukla ayrı yollar)

Harvard tarzı, talimat depolamayı veri depolamadan ayrı tutar, genellikle her biri için ayrı yollarla.

Bu ayrım, bir yandan bir sonraki talimatı alırken diğer yandan veri okuma/yazma yapılmasını kolaylaştırabilir—küçük, öngörülebilir sistemlerde faydalıdır. Basit bir örnek, program kodunun flash bellekte, değişkenlerin ise RAM'de olduğu birçok mikrokontrolcüdür.

Pek çok gerçek sistemin iki yaklaşımı harmanlaması

Modern CPU'lar yazılım açısından genellikle “von Neumann” görünürken, içlerinde Harvard-benzeri fikirler kullanırlar. Yaygın bir örnek ayrı talimat ve veri önbellekleridir (I-cache ve D-cache). Programcıya tek bir bellekmiş gibi gelir ama donanım kod ve veriyi daha verimli almak için ayırabilir.

Unutulması gereken: evrensel bir kazanan yok. Von Neumann sadelik ve esnekliği vurgular; Harvard ayırım ve verimi. Birçok makine maliyet, güç ve hız arasında denge kurmak için ikisini karıştırır.

Bellekte Kaydedilen Programlar Modern Programlamayı Nasıl Mümkün Kıldı

Bellekte kaydedilen program bilgisayarı sadece hesaplama yapmaz—bellekten talimat yükleyip çalıştırabilir ve sonra farklı bir set yükleyebilir. Bu değişim, yazılımı yeniden kullanılabilir ve paylaşılabilir yaptı: bir program bir kez yazılıp kaydedilebilir, kopyalanabilir, geliştirilebilir ve donanımı değiştirmeden dağıtılabilirdi.

“Bu makine”den “herhangi bir görev”e geçiş

Program bellekteyken, aynı fiziksel bilgisayar sadece okuduğu talimatları değiştirerek birçok farklı işi yapabilir. İşte “genel amaçlı”nın asıl anlamı budur: bir makine, birçok program.

Güncel bir örnek olarak dizüstünüzde e‑posta, oyun ve hesap tabloları çalıştırabilmenizi verin. Alt katta aynı fikir yatar: donanım sabitken farklı saklanan programlar yüklenip yürütülür.

Gerçek programlama araçlarını mümkün kılması

Talimatlar bellekte veri gibi ele alındığında, yazılım yazmayı kolaylaştıran üst katman araçları oluşturmak pratik hale gelir:

  • Assembler'lar: insanlar için okunabilir mnemonikler ile ham kod arasındaki çeviriyi sağlar.
  • Derleyiciler: üst seviyeli dillerden makine talimatlarına çeviri yapar, program yazmayı kolaylaştırır ve bakımını kolaylaştırır.
  • İşletim sistemleri: programları yüklemeyi, belleği ve cihazları paylaşmayı ve işleri zamanlamayı yönetir.

Bu araçlar, programların saklanabileceği, taşınabileceği ve işlenebileceği varsayımına dayanır. Bu sayede yazılım bir ekosistem haline geldi; tek seferlik kablolamaya bağlı bir nesne olmaktan çıktı.

Uzun vade görmek için yararlı bir yol: bellekte kaydedilen programlar derleyicileri ve işletim sistemlerini mümkün kıldı; daha iyi araçlar daha iddialı programları gerçekleştirdi—bugün doğal dilde bir uygulama tarif edip araçların çalışan kod üretmesine kadar uzanan katmanlar oluştu. Örneğin Koder.ai, sohbet arayüzüyle web, backend veya mobil uygulamalar oluşturmanıza izin veren bir vibe-coding platformudur; LLM'ler ve ajan tabanlı iş akışı kullanarak niyetten ("ne yapmalı?") çalışır durumda talimatlara (kaydedilebilir, dışa aktarılabilir kaynak kodu) hızlıca geçişi hızlandırır.

Sonuç aynı olumlu döngüdür: bellekte kaydedilen programlar daha iyi araçları mümkün kıldı, daha iyi araçlar daha büyük programları mümkün kıldı—bilgisayarları esnek, genel amaçlı makineler haline getirdi.

Ünlü Sınırlama: “Von Neumann Darboğazı”

Bellekte kaydedilen program fikri bilgisayarları esnek kıldı, ama aynı zamanda mühendislerin hâlâ konuştuğu pratik bir kısıtı da ortaya çıkardı: “von Neumann darboğazı”. Günlük tabirle, CPU (işçi) ile bellek (depo) arasındaki yol üzerindeki trafik sıkışıklığı gibidir.

CPU ile bellek arasındaki trafik sıkışıklığı

Tipik bir stored-program tasarımında hem talimatlar hem veriler bellekte yaşar. CPU bir talimatı alır, sonra ihtiyacı olan veriyi alır, sonra sonuçları yazar—çoğunlukla aynı bağlantı üzerinden. Eğer o bağlantı bilgiyi yeterince hızlı taşıyamıyorsa, CPU beklemek zorunda kalır, oysa hesaplama çok daha hızlı yapılabilir.

Neden hız ve bant genişliği önemli

Bu darboğazı şekillendiren iki faktör vardır:

  • Bellek gecikmesi (hız): ilk bilginin gelmesinin ne kadar sürdüğü.
  • Bellek bant genişliği: veri transfer akışı başladıktan sonra saniyede ne kadar bilgi taşınabildiği.

CPU saniyede milyarlarca işlem yapabiliyor olabilir, ama bellek sürekli talimat ve veri sağlayamazsa performans en yavaş adım tarafından sınırlanır.

Yaygın hafifletmeler (mucize çözüm değil)

Bu mühendislik açısından sık tartışılan bir konudur ve modern bilgisayarlar etkiyi azaltmak için birkaç yöntem kullanır:

  • Önbellekler: CPU'ya yakın, küçük ve hızlı bellekler; son kullanılan talimat/ veriyi tutar.
  • Önceden getirme: bir sonraki ihtiyaç duyulacak olana önceden yükleme tahmini yapma.
  • Paralellik: aynı anda birden çok şey yapma (birden çok çekirdek, bellek erişimi ile hesaplamayı örtüştürme).

Bu yaklaşımlar temel “yolu” ortadan kaldırmaz ama tıkanıklığı azaltmaya yardımcı olur—böylece CPU daha çok çalışır, daha az bekler.

Günlük Hayatta Bu Fikri Nerede Görürsünüz

Yoğun Geliştirici İş Akışlarını Değiştir
İhtiyaçlardan çalışan yazılıma daha basit bir yol için Koder.ai'yi kullanın.
Platformu Deneyin

Bellekte kaydedilen program kavramı bir müze objesi değil—günlük hesaplamanın esnek kalmasını sağlayan temel yöntemdir. Cihazlarınız yeni bir şey yapmak için yeniden kablolamaya ihtiyaç duymazlar; belleğe farklı talimatlar yükler ve çalıştırırlar.

Telefonlar, dizüstüler ve sunucular: aynı temel hile

Bir telefonda bir uygulama simgesine dokunmak, işletim sisteminin o uygulamanın kodunu depolamadan belleğe yüklemesine ve CPU'nun onu yürütmesine neden olur. Dizüstünde bir tarayıcı açtığınızda, bir belgeyi düzenlediğinizde veya bir oyun çalıştırdığınızda aynı şey olur. Sunucularda daha görünürdür: makine binlerce değişen iş yükünü—web istekleri, veritabanı sorguları, arka plan görevleri—donanımı değiştirmeden çalıştırabilir.

Donanım gibi düşündüğümüz birçok özellik aslında yazılım tanımlıdır. Ağ yönlendirme, video kod çözme yolları, fotoğraf geliştirme ve güç yönetimi politikaları genellikle firmware ve sistem yazılımlarıyla güncellenir—aynı cihaz, yeni talimatlarla yeni davranış kazanır.

Yorumlayıcılar ve sanal makineler yine bellekteki talimatları çalıştırır

Python ve JavaScript gibi diller genellikle bir yorumlayıcı veya sanal makine üzerinden çalışır. CPU doğrudan kaynak kodunuzu yürütmek yerine, programınız bellekte saklanan yapılandırılmış bir biçime (bytecode veya iç talimatlar) çevrilir ve adım adım yürütülür. Java'nın JVM'si, .NET, WebAssembly runtime'ları ve tarayıcı JavaScript motorları bu yaklaşıma dayanır: talimatlar çalıştırılabilir, taşınabilir veriler haline gelir.

Güvenlik notu: veri talimata dönüşürse

Talimatlar sadece bilgi olduğundan, saldırılar bazen kötü amaçlı kodu veri yoluyla sokmaya çalışır—klasik kod enjeksiyonu örnekleri. Bellek koruması, kod imzalama ve çalıştırılamaz bellek bölgeleri gibi savunmalar, güvensiz verinin çalıştırılabilir talimata dönüşmesini engellemeye çalışır.

Tüm bunlar bellekte kaydedilen programların merkezi vaadine döner: aynı donanım üzerinde yazılımla esneklik—aynı donanımda yeni davranışlar.

Temel Çıkarımlar ve Sonraki Okumalar İçin Öneriler

Temel çıkarımlar

  • Bir stored-program bilgisayar program talimatlarını verilerle aynı tür okuma/yazma belleğinde tutar; bu sayede makinenin yaptığı şeyi değiştirmek için belleği değiştirirsiniz, donanımı yeniden kablolamazsınız.
  • “Von Neumann mimarisi” etiketi genellikle talimatlar ve verinin aynı yolları paylaştığı (CPU + bellek + I/O) pratik bir organizasyonu ifade eder; bu tek bir kişinin her şeyi icat ettiği anlamına gelmez.
  • Erken stored-program düşüncesi topluluk işiydi: EDVAC tartışmaları ve raporu fikri netleştirmeye yardım etti; birçok proje fikrin nasıl inşa edilip işletileceğini gösterdi.
  • Bellekte kaydedilen programlar modern programlamayı mümkün kıldı çünkü yazılımın bellekte saklanabileceği, taşınabileceği ve işlenebileceği varsayımı üzerine yeniden kullanılabilir kodlar, kütüphaneler, derleyiciler ve işletim sistemleri kuruldu.

Bir mimariyi tanımak için hızlı sorular

Bir bilgisayara (veya bir spesifikasyona) bakarken temel modeli tespit etmenize yardımcı olacak sorular:

  • Çalışma zamanında talimatlar nerede saklanıyor: verilerle aynı bellek mi yoksa ayrı bir talimat belleği mi?
  • Talimatlar ve veriler aynı yol/kanal üzerinden mi taşınıyor, yoksa ayrı yollar mı var (Harvard-benzeri dizaynlarda sık görülür)?
  • Sistem kodu değiştirebiliyor veya üretebiliyor ve sonra onu çalıştırabiliyor mu (klasik bir stored-program yeteneği) yoksa kod depolama sabit/izole mi?
  • “Program belleği” flash/ROM olarak tanımlanırken “veri belleği” RAM olarak mı belirtiliyor (mikrokontrolcülerde Harvard-benzeri ayrımın ipucu)?

Önerilen sonraki okumalar

  • Kitaplar: Herman H. Goldstine'in The Computer from Pascal to von Neumann; ENIAC/EDVAC/IAS'i kapsayan genel bilgisayar tarihi anketleri.
  • Müze ziyaretleri: Computer History Museum; Science Museum (hesaplama koleksiyonları); Smithsonian (teknoloji tarihi).
  • Arşivler ve dergiler: IEEE ve ACM tarih makaleleri (sözlü tarih çalışmaları dahil), üniversite kütüphanelerinde erken hesaplama makalelerinin bulunduğu özel koleksiyonlar.

Eğer bu tür arka plan odaklı, erişilebilir yazıları daha fazlasını okumak isterseniz, /blog bölümünü inceleyebilirsiniz.

Not: Talimatları çalışır sistemlere dönüştürmenin modern yollarını deniyorsanız—ister doğrudan kod yazma, ister sohbetle oluşturma platformları kullanma—öğrendiklerinizi belgelemeyi düşünün. Koder.ai ayrıca yayınlanan içerik ve yönlendirmeler aracılığıyla kredi kazanma programı sunar; bu, daha fazla deney ve öğretici finanse etmek için pratik bir yol olabilir.

SSS

Stored-program bilgisayar nedir, basitçe söyleyin?

Bir stored-program bilgisayar, program talimatlarını aynı dahili bellekte tutar; bu bellek, talimatların üzerinde çalıştığı verileri de içerir. Görevi değiştirmek için makineyi yeniden kablolamak yerine belleğe farklı bir talimat kümesi yükleyip çalıştırırsınız.

Stored-program'dan önce erken bilgisayarlar nasıl “programlanıyordu”?

Stored-program öncesi dönemde birçok makine priz panoları, yama kabloları ve anahtar ayarları ile “programlanıyordu”. İşlem sırasını değiştirmek saatler veya günler süren yeniden kablolama ve yeniden test gerektirebilir; tek yanlış bağlantı, tespit edilmesi zor hatalara yol açabilirdi.

Stored-program fikrinde “bellek” ne anlama geliyor (ve depolamadan nasıl farklıdır)?

Bu bağlamda “bellek”, CPU'nun çalışırken sürekli okuyup yazdığı hızlı çalışma depolaması demektir (bugünkü benzerliği RAM). Uzun süreli depolama (diskler/SSD'ler) ise gücü kapattığınızda dosyaları saklamak içindir; işlemcinin anlık olarak kullandığı çalışma alanı değildir.

EDVAC raporu stored-program kavramı için neden bu kadar önemli?

EDVAC raporu, talimatların ve verinin aynı iç bellekte paylaşıldığı düzeni açıkça tanımladı ve bellek, kontrol, aritmetik ve giriş/çıkış gibi parçalar hakkında ortak bir söylem sundu. Bu netlik, diğer ekiplerin benzer sistemleri daha hızlı tartışıp inşa etmesine yardımcı oldu.

John von Neumann stored-program bilgisayarı tek başına mı icat etti?

John von Neumann'in adı, açıklamalarının yaygın şekilde dolaştırılması ve referans alınması nedeniyle öne çıktı; o tek başına buluşun sahibi değildi. Stored-program yaklaşımı, aynı dönemde çalışan mühendisler, matematikçiler ve programcılar arasındaki ortak çabanın ürünüdür.

Günümüzde “von Neumann mimarisi” tipik olarak ne anlama gelir?

“Von Neumann mimarisi” genelde şu modele işaret eder:

  • CPU: alma–çözümleme–yürütme döngüsünü çalıştıran birim
  • Tek bir bellek: hem talimatları hem de veriyi tutar
  • Giriş/Çıkış cihazları

Bu, stored-program düzeninin öğretim için kullanılan pratik bir etiketi; tek bir makine ya da tek bir mucit iddiası değildir.

Von Neumann ile Harvard mimarileri arasındaki fark nedir?

Bir von Neumann tasarımında talimatlar ve veriler tek bir bellek paylaşır. Bir Harvard tasarımında talimat belleği veri belleğinden ayrıdır (genellikle ayrı yollarla). Modern sistemler çoğunlukla ikisinin karışımını kullanır—yazılıma tek bir adres alanı hissi verirken donanım içi önbelleklerde ayrım yaparlar.

Von Neumann darboğazı nedir ve bilgisayarlar bunu nasıl azaltır?

“Von Neumann darboğazı”, CPU ile bellek arasındaki paylaşılan bağlantının sınırlı olması nedeniyle oluşan performans kısıtını tanımlar. Yaygın hafifletme yolları önbellekler, önceden getirme ve paralellik (birden çok çekirdek gibi) kullanmaktır; bunlar beklemeyi azaltır ama temel sınırlamayı ortadan kaldırmaz.

Stored-program fikri modern cihazlarda yazılım güncellemelerini ve uygulama geçişini nasıl açıklar?

Programlar belleğe yüklenmiş bilgi olduğundan, davranışı değiştirmek için donanımı değiştirmeye gerek yoktur. Bu yüzden telefonunuz veya dizüstünüz farklı uygulamalar çalıştırabilir; firmware/OS güncellemeleri donanımı yeniden tasarlamadan yeni özellikler ekleyebilir.

“Talimatların veri olması” güvenlik açısından neden önemlidir?

Talimatlar verinin bir biçimi olduğundan, saldırganlar bazen güvenilmeyen veriyi çalıştırılabilir koda dönüştürmeye çalışır (ör. kod enjeksiyonu). Modern savunmalar arasında bellek koruması (çalıştırılamaz bölgeler), kod imzalama ve diğer kontroller bulunur.

İçindekiler
Neden Bellekte Kaydedilen Program Fikri ÖnemliBellekte Kaydedilen Programlardan Önce: Görevi Değiştirmek Yeniden Kablosuz Anlamına GeliyorduBellekte Kaydedilen Program Bilgisayarı, Basitçe AçıklamaJohn von Neumann’ın Rolü (ve İsminin Neden Yapıştığı)EDVAC Raporu ve Kavramın Açık İfadesiErken Bellekte Kaydedilen Düşüncenin Arkasındaki Takım: Ortak Kredi“Von Neumann Mimarisi” Genelde Ne AnlatırVon Neumann vs. Harvard: Talimat ve Veriyi Düzenlemenin İki YoluBellekte Kaydedilen Programlar Modern Programlamayı Nasıl Mümkün KıldıÜnlü Sınırlama: “Von Neumann Darboğazı”Günlük Hayatta Bu Fikri Nerede GörürsünüzTemel Çıkarımlar ve Sonraki Okumalar İçin ÖnerilerSSS
Paylaş
Koder.ai
Build your own app with Koder today!

The best way to understand the power of Koder is to see it for yourself.

Start FreeBook a Demo