Hafıza Nedir
Bilgisayar programları oluşturulurken en çok kullanılan komutlar hafıza kontrol komutlarıdır. Bu yüzden bir programcının hafızayı çok iyi bir şekilde tanıması ve kontrol etmesi gerekmektedir. Hafızanın nasıl çalıştığını tam olarak anlamak için ilk önce bilgilerin nasıl saklandığını inceleyelim.
Kavram olarak iki tip hafıza şekli vardır, bunlar geçici hafıza ve kalıcı hafızalardır, Bilgisayarınızda bir yazı dosyası açtığınızda sabit hafızası olan Hardisk’ ten alınan bilgiler, geçici hafıza olan ram belleğe aktarılır. Üzerinde yaptığınız değişiklikler ve eklemeler siz saklama işlemi yapana kadar ram bellektedir, bunun sebebi ram bellek yani geçici hafıza çok daha hızlıdır ve üzerinde çalışmak çok daha kolaydır. Geçici bellekler enerjisizi kesildiği zaman tüm bilgilerini kaybederler.
Bellek aygıtları bilgileri saklamak için manyetik, elektronik veya ışığa duyarlı maddeler kullanırlar. (teknoloji’nin yeterli olmadığı tarihlerde delikli kartlar kullanılırdı).
Saklama Açıklama
Manyetik Saklama: Bilgiler manyetik bir disk üzerinde N veya P kutuplu alanlar oluşturularak saklanır.( Sabit Disk, Disket, Yedekleme Kasetleri V.s.)
Elektronik Saklama: Bilgiler iki konumlu bir devrenin çıkışı Eksi veya Artı konuma geçirilerek saklanır. ( Ram Bellek, Usb Disk, Flash Disk v.s.)
Işığa Duyarlı Saklama: Bilgiler lazer ile renk değişimine uğrayabilen kimyasal bir malzeme üzerinde Açık veya Koyu renkli alanlar oluşturularak saklanır. (Cd Disk, Dvd Disk v.s.)
Delikli Kartta Saklama: Bilgiler rulo şeklindeki bir kâğıt üzerinde delikler açarak veya açmayarak saklanır, ( Günümüzde bu tip hafıza birimleri kullanılmamaktadır)
[değiştir]Hafızada Bilgi Nasıl Tutulur
Hafıza aygıtları üsteki hangi tekniği kullanırsa kullansın görülüyor ki, saklama işlemini üzerindeki bir alanı N ve P kutuplanması gibi iki farklı konumdan birine geçirerek yapıyorlar, bu yüzden hafızalar iki konumlu bilgi saklayabilen cihazlardır.
Bu aygıtlarda birçok iki konumlu bilgi tutabilen hücreler bulunur, bu hücrelere BIT denir. Genelde bitler sekizlik guruplar halinde değiştirilir ve okunurlar. Sekiz bitin oluşturduğu bu gruba BYTE dedir. Şekil 1’de, 1 Byte(8 Bit) bilginin manyetik ve elektronik ortamda kaydedilmiş hali gösterilmiştir.
İki konumlu bu alanlardaki bilgileri N/P olarak veya Eksi/Artı olarak hele Açık Renk/Koyu Renk olarak okumak anlaşılabilirlik bakımından çok zordur, Bu yüzden hangi hafıza birimi olursa olsun Bit’teki bilgi Konum1 ise 0, Konum2 ise 1 olarak okunur. Bu yaklaşım ile 1 bitin değerini hafıza tipine bakmadan 1 veya 0 diye okuyabiliriz. Bu bize aynı zamanda üzerinde matematiksel işlemler yapabileceğimiz rakamlar sağlar. Bu mantıkla Şekil 1’deki manyetik veya elektronik bilgiyi okursak “01001110” rakamını buluruz. (Sadece 0 ile 1 rakamını kapsayan sayı sistemine ikilik sayı sistemi denir)
[değiştir]İkilik Sayı Sistemi
Günlük yaşantımızda kullandığımız sayı sistemi 0 ile 9 arasındaki on farklı rakamdan oluştuğu için bu sayı sistemine “onluk sayı sistemi”(Decimal) denir.
Bilgisayarlar ise sadece 0 ve 1 olmak üzere 2 farklı rakama sahip olduğu için kullandığı bu sisteme “ikilik sayı sistemi” (Binary) denir.
Sekiz haneli ondalık bir alana, onluk sayı sisteminde kaç farklı bilgi girilebileceğini bulmak istersek 8 adet 10 rakamını birbiri ile çarpar 100.000.000 rakamını buluruz, 8 haneye sığacak en büyük rakam 99’999’999 dur, 0 rakamı ile 100’000’000 farklı bilgi olur.
Sekiz haneli ikilik bir alana(1 byte), ikilik sayı sisteminde kaç farklı bilgi girilebileceğini bulmak istersek 8 adet 2 rakamını birbiri ile çarpar 256 rakamını buluruz, 8 haneye sığacak en büyük rakam 255’dir, 0 rakamı ile 256 farklı bilgi olur.
Onluk sayı sisteminde birler, onlar, yüzler gibi sayı basamakları vardır, İkilik sayı sisteminde sadece 0 ve 1 olduğu için basamak değerleri de iki rakamının katları halindedir. Aşağıdaki şekilde 1 byte ikilik değerin basamak değerleri gösterilmiştir.
Bir byte alana yazılmış “01001110” sayısını en basit yöntem ile okumak için öncelikle 8 bitlik bir kutu çizip içine rakamlarımızı girelim ve üstüne çarpanlarını yazalım, daha sonrada değeri 1 olan bitlerin çarpanlarını altlarına yazıp toplayalım, çıkacak değer 78 olacaktır. Eğer tüm bitlerin değeri 1 olsaydı toplam değer 255 olacaktı, 1 byte’lık alana 0 ile 255 arasında 256 farklı değer girebiliriz(2 üzeri