Anlatıcı: Bu derste,
sisteminizin içinde kısaca bellek olarak adlandırılan
rastgele erişimli bellekten ve bu belleği nasıl ele
aldığımızdan bahsedeceğiz.
Şimdi, belleğin nasıl ele alınacağından bahsetmeden önce,
belleğin ne olduğunu ve bilgisayar
sistemimiz içinde bizim
için ne işe yaradığını daha iyi anlamamız gerekir.
Şimdi, daha önce, işlemcilerden bahsettiğimizde,
işlemcinin tüm hesaplamaları yaptığı
gerçeğinden bahsetmiştik, ancak bu
hesaplamaları yapmadan önce veri ve talimatları
depolamak için bir yere
sahip olması gerekir.
İşlemcinin kendi içinde, önbellek
olarak bilinen çok yüksek hızlı bir
belleği vardır.
Bu önbellek çok küçük bir alandır,
ancak son derece hızlıdır.
Şimdi, önbellek alanınız bittiğinde, sisteminizde
sahip olduğunuz bir sonraki bellek türü rastgele
erişimli bellek veya sistem belleği dediğimiz
şeydir.
Şimdi, bu bellek hala hızlıdır,
ancak ön bellek kadar hızlı değildir.
Sonuçta işlemci önce ön belleği
kullanacak ve ön bellekteki verileri
kullandıkça yeni bilgiler sistem belleğinden
ön belleğe geçecektir.
Ve bunu bir boru hattı süreci olarak devam ettirir,
sistem belleğinden önbelleğe gider
ve daha sonra CPU kullanılarak işlenir
ve yürütülür.
Şimdi, bu sistem belleğine ek olarak, depolama
olarak bilinen bir şeyimiz de var.
Depolama ise sabit diskler, USB sürücüler,
CD-ROM'lar ve DVD'ler gibi şeylerdir.
Bu yığın depolama aygıtları belleğin
tutabileceğinden çok daha fazla
veri tutabilir, ancak
çok daha yavaştırlar.
Dolayısıyla, sistemime yeni bir PowerPoint yüklemek istediğimde,
bu genellikle bir yığın depolama aygıtı
olan sabit diskimde depolanır.
Bilgisayarıma şunu
okumak istiyorum dediğimde,
işlemci sabit diske bir sinyal gönderecek
ve "Bu veri nerede?"
diye soracaktır.
Bu veriler daha sonra sabit sürücüden sistem
belleğine taşınır.
Ve sistem belleğinden küçük
parçalar önbelleğe getirilebilir
ve daha sonra işlemci tarafından
üzerinde çalışılabilir.
Tüm bunlar sisteminizin içinde
bu şekilde birlikte çalışır.
Bu nedenle, verilerin sistemde depolandığı
farklı yerleri düşündüğünüzde bunu
aklınızda tutmanızı istiyorum.
Daha çok kalıcı bir depolama alanı
olan yığın depolama aygıtlarımız var.
Bilgisayarı kapattığınızda,
bu yığın depolama aygıtlarındaki veriler
kalmaya devam edecektir.
Ancak bir de RAM ya da sistem belleği adı verilen
geçici bir depolama alanımız var ve bu alan
kalıcı olmayan depolama
alanı olarak kabul ediliyor, çünkü bilgisayarı
kapattığınızda RAM'deki her
şey kaybolacak.
Bu nedenle, farklı dosyalarla çalışırken,
onları geçici olarak RAM'e yerleştireceğiz, bu şekilde
onlarla çok daha hızlı bir şekilde çalışabiliriz ve
daha sonra onlarla işimiz
bittiğinde, kalıcı depolama aygıtı
olan sabit sürücüye geri kaydedilecekler.
Sistem belleği ya da RAM olarak
bilinen rastgele erişimli bellek
hakkında düşündüğünüzde,
burası dinamik ve sürekli değişen bir alandır ve sabit
diskler ve CD-ROM'lar gibi yığın
depolama aygıtlarımıza kıyasla gerçekten
hızlı çalışır.
Bunun fiziksel dünyada nasıl göründüğüne
dair bir benzetme yapmak gerekirse,
ofisinizi düşünün.
Ofisinizde bir masanız var ve masanızda
sadece çok fazla alanınız var, ancak eşyalarınız masanızın
üstünde olduğunda, onlara hızlı bir
şekilde ulaşabilirsiniz, çünkü
zaten açıktadırlar ve uzanıp onlara
dokunabilirsiniz.
Şimdi, masanızda açık olan üç ya
da dört dosyaya ek olarak, muhtemelen
bir dosya dolabında
duran yüzlerce dosyanız
da var.
Şimdi, bu dosya dolabı
daha çok sabit diskiniz gibidir,
yığın depolama aygıtınızdır, oysa
masaüstünüz daha çok RAM'iniz gibidir.
Dolayısıyla, bir şeyler RAM'de
olduğunda, onlara erişmek
daha kolay, daha hızlıdır
ve o anda onlarla çalışabilirsiniz.
Ancak işiniz bittiğinde
o dosyayı katlayıp dosya dolabına kaldırmalısınız
ki bir hafta, iki hafta ya da bir
yıl sonra ihtiyacınız olduğunda orada
olsun ve böylece masaüstünüzde diğer
dosyaları çıkarıp onlarla çalışabilmeniz
için daha fazla yer açılsın.
RAM tam olarak bunun için kullanılıyor,
sürekli değişen ve gelişen
bu geçici alan.
Bu nedenle, yığın depolama aygıtlarımız çok yavaş olduğu için,
genellikle RAM'e daha fazla şey koymak isteriz,
ancak RAM sınırlıdır.
Sabit diskinize bakacak
olursak, 500 gigabayt, bir terabayt,
hatta dört terabaytlık bir yığın depolama aygıtınız olabilir,
ancak belleğinize baktığınızda
sekiz gigabayt, 16 gigabayt ya da şanslıysanız 32 gigabaytlık bir
alanınız olabilir.
Bu, sabit diske kıyasla çok
çok daha az RAM'e sahip olduğunuz anlamına gelir.
Yani, belleğin yaptığı şey bir
disk önbelleği görevi görmektir.
Bu şekilde, dosyaları diskten belleğe alabilir,
üzerlerinde çalışabilir ve işimiz
bittiğinde yığın depolama
aygıtına geri koyabiliriz.
Bu sayede RAM, sabit diskteki son kullanılan ve sık kullanılan
veri parçaları için daha hızlı bir geçici depolama
alanı görevi görerek daha
hızlı işlem yapmamızı sağlar.
Bunun nedeni, RAM'in verileri
gerçekten çok hızlı bir şekilde bulabilmesidir,
oysa geleneksel bir
sabit disk doğru parçayı
bulana kadar diski döndürmek
ve ardından verileri diskten
çekmek zorundadır ve bu çok daha
yavaştır.
Buna mekanik bir sistem diyoruz, oysa RAM
kullandığımızda, bu
RAM'in herhangi bir parçasına neredeyse
anlık bir hızla erişebilen elektronik
bir sistem kullanıyoruz.
Bunun nedeni RAM'in katı hal aygıtı
olarak kabul edilmesi ve
sabit disk, DVD, CD ve hatta Blu-ray
disk gibi mekanik aygıtlarda
olduğu gibi aşırı
yükleme sürelerinin olmamasıdır.
Bu, saniyenin milyarda biri olan nanosaniye cinsinden
gerçekten hızlı çalışabileceğimiz
anlamına gelirken, sabit diskiniz ve diğer
manyetik ortamlar çok yavaş olarak kabul edilecek
ve milisaniye olarak bilinen saniyenin
binlercesi cinsinden çalışacaktır.
Burada büyük bir hız farkı olduğunu görebilirsiniz,
bu yüzden üzerinde çalışırken dosyalarımızı
RAM'e koymak istiyoruz.
Bir teknisyen olarak,
bir sistemi yükseltirken
yapacağınız en yaygın şeylerden birinin
aslında RAM'i yükseltmek
ve dört gigabayttan sekiz gigabayta
veya sekiz gigabayttan 16 gigabayta veya 16 gigabayttan
32 gigabayta çıkarmak olduğunu göreceksiniz.
RAM miktarını artırarak sisteminizi
ciddi şekilde hızlandırabilirsiniz, çünkü
sabit diskten çok fazla veri okumak
ve yazmak zorunda kalma engelini ortadan
kaldırırsınız, daha fazla
dosya açabilir ve herhangi bir zamanda
daha fazla iş yapabilirsiniz.
Pekala, RAM'in temellerini
ve her şey için sabit diskimize
güvenmek yerine neden bu sistem belleğini kullanmamız
gerektiğini ele aldığımıza göre, adreslemesine bağlı
olarak RAM ile ilgili sınırlamalar hakkında konuşmak önemlidir.
Şimdi, işlemcinin RAM'e
ulaşması ve bir şey alması gerektiğinde, bu
belleğin adreslenmesi olarak bilinir.
Bunun nedeni, RAM'in içinde ve sahip olduğu
depolama alanının her birinin farklı
bir benzersiz adrese sahip olması ve söz konusu
RAM parçasında depolanan veri parçasına bu
şekilde referans vermemizdir.
Şimdi, işlemci ya da CPU
ile bellek arasında bellek denetleyicisi
olarak bilinen bir şey var ve bellek denetleyicisi ile işlemci arasında bir veri yolu
var.
Şimdi, bir veri yolu basitçe veri aktarımı
için bir yoldur.
Ve bu bellek denetleyicisi
neredeyse bir trafik polisi gibidir,
trafiği yönlendirir ve CPU ile işlemciye belleğin farklı
bölümlerine nasıl erişeceklerini söyler.
Otobüse baktığınızda, aslında
otobüsün iki bölümü olduğunu görürsünüz.
Veriler için kullanılan ve bilgi
gönderip almamızı sağlayan bir yol var
ve bir de verilerin bellekte nerede
olduğunu belirlememize yardımcı
olan bir adres yolu var.
Dolayısıyla, veri yolunun genişliğine veya
veri yoluna baktığınızda,
bu, her bir saat döngüsünde ne kadar
bilgi aktarılabileceğini belirleyecektir.
Şimdi, eğer tek kanallı bellek denetleyicileri kullanıyorsanız,
veri yolunuz genellikle 64 bit genişliğinde olacaktır ve bu çoğu
modern bilgisayarda böyledir.
Şimdi, buna ek
olarak, adres veriyoluna baktığımızda,
bununla ilişkili bir genişlik de
vardır ve bu 32 bit veya 64 bit olabilir.
Bu, CPU'nun kaç konumu takip edebileceği
ve doğru adresleme yaparak
verilere erişebileceği
ile belirlenir.
Şimdi, eğer 32-bit CPU ya da x86 tabanlı
bir CPU kullanıyorsanız, bu bellek
veri yolu üzerinden veriye erişmek için sadece
32-bit adres kullanabilirsiniz.
Şimdi, bu nedenle,
adreslenebilecek yaklaşık 4 milyar öğeniz var,
bu da dört gigabayt veri olarak bilinir, bunun
nedeni, bu bilgiyi adresleyebilmek için iki ila 32.
bitlere sahip olmanızdır.
Öte yandan, 64 bitlik bir CPU kullanıyorsanız,
64 olası adres konumunun ikisine sahip olursunuz,
bu da kabaca 184
kentilyon olası seçenek olarak hesaplanır.
Şimdi, bellek açısından,
buna 16 exabyte veri diyoruz ve bu, 64 bit işlemci kullanıyorsak
çok fazla veriyi adresleyebileceğimiz
anlamına geliyor.
Bugünlerde sistemlerimizin
çoğu 16 exabyte RAM kullanmayacak, çünkü
bu çok pahalı olurdu ve çoğu anakartta
bu kadar çok bellek takmak için yeterli
alan yok, ancak bu bizim üst sınırımız.
Asıl önemli olan, x86
veya 32 bit işlemci kullanıyorsanız,
en fazla dört gigabayt belleği
adresleyebilmenizdir
ve bu modern bilgisayarlar için büyük
bir sınırlamadır, çünkü modern işletim sistemlerinin
çoğu, yeterli şekilde çalışabilmek
için en az dört gigabayt RAM'e ihtiyaç duyacaktır.
Öte yandan, 64 bit
işlemci veya x64 mimarisi kullanıyorsanız,
bu aynı anda dört gigabayttan fazla RAM'e
erişebileceğiniz anlamına gelir ve bu nedenle bunun 8, 16, 32 veya 64 gigabayt
RAM'e sahip sistemlerde kullanıldığını görürsünüz, çünkü bu
RAM'in tamamına erişebilirler ve
bu da onlara çok daha iyi performans sağlar.
Bu, çoğu modern bilgisayar
ve uygulama için 32 bit işlemci yerine
64 bit işlemci seçmek istemenizin
bir başka nedenidir.