Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
bağlar ortak BÖLÜM 3
YARIİLETKEN BELLEKLER
En basit mikrobilgisayar CPU ve bellekten oluşur. Her ne kadar böyle bir
bilgisayarda kullanıcının bilgisayarla haberleşmesi mümkün değilse de, giriş / çıkış
birimini gerektirmeyen programların icrası rahatlıkla yapılabilir. Giriş / çıkış işlemi
CPU’nun gerçeklemek zorunda olduğu önemli işlemlerden biri olmasına rağmen, basit bir
mikrobilgisayar yapılabilsin diye, burada önce yarıiletken bellekler incelenecektir. Eski
teknolojilerde yarıiletken bellek yerine “çekirdek (core)” bellek kullanılırdı. Besleme
geriliminin kesilmesi durumunda bile içindeki bilgiyi kaybetmemelerine rağmen; büyük
hacimli, yavaş, pahalı, ve az sayıda bit tutma kapasitelerinin olmasından dolayı yerlerini
yarıiletken belleklere kaptırmışlardır. Burada dört çeşit yarıiletken bellek incelenecektir.
1. Yaz-Oku bellek, RAM
2. Yalnız-Oku bellek, ROM
3. Programlanabilen ROM, PROM
4. Silinip-progranlanabilen ROM, EPROM veya E2PROM
3.1 YAZ-OKU BELLEK (RAM)
RAM bellekler statik veya dinamik olmak üzere iki farklı saklama hücresine sahip
olabilir. Statik RAM bir flip-flop düzenidir. Burada her flip-flop bir bitlik bilgi saklar.
Besleme gerilimi devam ettiği sürece, bilgi flip-floplarda saklı kalır. Dinamik RAM
belleklerde, saklayıcı hücre olarak flip-flop yerine kondansatörün yük birikiminden
yararlanıldıgından devrenin boyutları oldukça küçültülmüştür. Ama kondansatördeki yük
bir süre sonra boşalacağı için aynı verinin yeniden belleğe yazılması, yani tazelenmesi
(refresh) gerekmektedir. Bu yüzden dinamik bellek adı verilmiştir.
RAM bellekler bipolar, MOSFET (p- veya n- türü), ve I2L devre teknolojisine
dayanılarak yapılabilmektedir. Bipolar bellek ile I2L bellek yaklaşık eşit hızda çalışır ve
MOS belleklere göre daha hızlıdır. Buna karşı MOS belleklerin bilgi saklama kapasiteleri
büyüktür.I2L ve MOS bellekler bit başına mw mertebesinde güç harcadıkları halde, bipolar
bellekler miliwat mertebesinde güç harcar. Bu yüzden bipolar bellek ancak küçük kapasiteli
hızlı belleklerinin gerekli olduğu özel uygulamalarda veya bilgisayarın bazı kısımlarında,
örneğin aritmetik müsvedde bellek olrak kullanılır.
3.1.1 Statik Bipolar RAM
Statik bellek hücresi iki tranzistörden oluşan bir iki kararlı devredir, Şekil 3.1.
Hücrede saklanan bilgiye bağlı olrak bu tranzistörlerden biri iletimde diğeri tıkamadadır.
Her tranzistör hem saklama hem de erişim için iki emitere sahiptir. Eğer emiter-baz eklemi
yeterince ileri kutuplanmış ise, böyle bir transistör iletimde olur. Tranzistörlerin durumu,
iki emiterden hangisinin daha alçak potansiyelde olduğuna bağlıdır.
Şekil 3.1. Statik bipolar RAM’ın yapısı.
Bellek elemanının bulunduğu satır seçilmiş ise bu satır seçme hattı alçak olur, ve bu
hata bağlı her iki tranzistörün alt emiterleri de alçağa gider. Bu durumda bu bellek hücresi
iki kararlı devre olrak davranır ve içine en son ne kaydedilmiş ise onu saklar. Seçme hattı
alçak yapıldığı zaman T1 tranzistörü iletimde idiyse, T1’in kollektörü de alçağa çekilmiş
olur ve bu da T2 tranzistörün bazının alçak olmasına yol açar. Bu yüzden T2 tıkamada kalır.
Bu tıkama T2’nin kollektörünü ve T1’in bazını yüksek yapar. T1’in bazının yüksek olması
T1’i iletime sokar, bu da daha önce varsayılan durumdur. Sonuç olarak bu varsayılan durum
kararlıdır, yani kendi kendini devam ettirir. Simetriğe göre, T2’nin iletimde ve T1’in
tıkamada olması da kararlıdır. Görüldügü gibi, bu devre çapraz bağlı iki NAND
kapısından oluşan bir flip-flop’a benzer. Doğrusu bu devrenin her tranzistör katı, 2-girişli
bir NAND kapısı görevini görür.
Bellek hücresinin bulunduğu satır seçilirse, o seçme hattı yüksek olur, ve bu hatta
bağlı her iki tranzistörün alt emiterle rini de yüksek yapar. Sonuç olarak, her iki
tranzistörün iletim durumu kendi üst emiterine bağlı olur. T2’nin üst emiteri 1.5 V’ta
sabittir. Bu yüzden devrenin durumu T1’in üst emiter gerilimini 1.5V’a göre ayarlayarak
değiştirilebilir. Özellikle, T1’in üst emiterine bağlanan veri hattı alçağa çekilirse, T1 iletime
geçer. T2’nin kollektör gerilimi 1.5V’tan büyük olduğundan ve bu gerilim de T1’in baz
gerilimi oldugundan, T1’in üst baz-emiter eklemi T1’i iletime sokacak kadar ileri
kutuplanmış olur.T1 iletimde olunca T2’nin bazını alçağa çeker ve T2 tıkamaya geçer. Bu
devre durumu hücrede lojik-1’in saklanmasına karşı düşer. Zıt devre durumu, T1’in üst
emiteri yüksek yapılarak elde edilir. Bu durumda T1 tıkanır, ve bu da T1 kolektörü ile T2
bazının yüksek olmasına neden olur. Bu ise T2’nin iletime geçmesini sağlar. Bu durum
lojik-0‘a ilişkindir.
Sütunlardaki T1 tranzistörlerinin üst emiterlerine bağlanan veri hattını sürmek için
her sütunda bir NAND kapısı kullanılır. NAND girişlerinden biri veri diğeri de yazma
girişidir. Yazma lojik-1 iken, veri girişindeki lojik-1 NAND kapısı çıkışının sıfır olmasına
neden olur, ve böylece seçilen bellek hücresinin lojik-1 ile yüklenmesini sağlar. Veri
girişindeki lojik-0 ise NAND çıkışını lojik-1 yapar, bu da seçilen hücreye lojik-0
yazılmasına yol açar.
Yazma hattı lojik-0 yapılırsa, yazma yerine okuma olayı meydana gelir.Bu durumda
hiçbir bellek hücresinin içeriği değişmez. Okumanın olabilmesi için her sütunda bir akım
algılama yükselteci kullanılmıştır. Bu yükseltec yazma hattı sıfır olduğu zaman
yetkilendirilir. Yetkilendirilen yükselteç gerisini yani veri hattını 1.5V’luk gerilimde tutar.
Bu durum seçilen satırdaki hücre durumunun değişmesini önler.Çünkü her iki tranzistörün
üst emiterleri aynı gerlimde olur. Ayrıca bu yükselteç veri hattından akan akımı algılayarak,
buna karşı düşen gerilimi veri çıkış hattında lojik-0 veya -1 olarak üretir. Eğer seçilen
hücrenin T1 tranzistörü iletimde ise (yani hücrede lojik-1 saklanmış ise) bu emiterden
yükseltece doğru bir akım akarak (çünkü seçilen hücredeki tranzistörlerin alt emiterleri
yüksektir) yükseltecin, veri çıkış hattında lojik-1 üretilmesi sağlar. Seçilen hücredeki lojik-
0 için, T1 iletimde olmaz ve bu yüzden yükseltece akım akmaz. Bu durumda veri çıkış hattı
sıfır olur .
Böyle bir bellekte sütunlar iki farklı biçimde bağlanabilir. Birincisinde bu sütunlar
bir bellek kelimesini farklı bit konumlarına karşı düşürülebilir.Yani aynı adresle seçilen
hücreler olarak görülebilir. İkincisinde ise farklı bellek kelimelerinin aynı bit konumlarına
karşı düşürülür.Yani farklı adreslerdeki bitler olarak değerlendirilir. Bu durum bir sütun
adres kod çözücünün kullanılmasını ve tranzistörlerin emiter sayısının üç olmasını
gerektirir.
3.1.2 Statik MOS RAM
Statik MOS bellek devresi Şekil 3.2’de gösterilmiştir. Bilgi saklama hücresi yine iki
kararlı devre veya flip-flop’tur ve 6 adet n-kanal yaratmak MOS tranzistörden oluşur.
Bipolar RAM ile arasındaki en önemli fark, kullanılan tranzistör türüne ilaveten, bellek
hücrelerine erişim biçimidir .MOS bellekte , seçilen satırdaki hücreden veya hücreye bilgi
iletmek için her sütunda iki tümleşik veri hattı vardır. Her sütundaki bellek hücreleri veri
hatlarına normalde tıkalı olan MOS tranzistörlerle bağlıdır. Bu bağlama tranzistörleri her
iki yönde akım akıtan çift yönlü anahtar olarak çalışır. İki yönlü çalışabilmesinin sebebi,
alttabakalarının (substrate) kaynaktan (source) ziyade toprağa (ground) bağlı olmasıdır.
Böyle bir tranzistörün geçidi (gate) yeterince pozitif yapılmadığı zaman, kaynak ile akaç
(drain) arası iletken olur. Bu durumda tranzistör her iki yönde iletebilir; çünkü böyle bir
tranzistör simetrisi, gerekirse kaynak ile akaç rollerinin değişmesine izin verir.
Her satırdaki bellek hücrelerinin bağlama tranzistörlerinin geçitleri (gate) satır
seçme hattına bağlıdır. Seçilen satırdaki bağlama tranzistörleri iletime geçer. Bu yolla, veri
hatları ile her sütundaki seçilen hücre arasında bilgi kanallanır.
Şekil 3.2 . Statik MOS RAM ’ın yapısı.
Yazma işlemi, veri giriş hattındaki değere göre iki tümleşik veri hattından birini
alçağa çekmekle gerçekleştrilir. Alçağa çekme, seçilen satırdaki bellek hücresinin gerekli
durumu almasını sağlar. Veri hatları MOS tranzistörlerle sürülür. Süren tranzistörün geçidi,
AND kapısının çıkışına bağlıdır.Yazma hattı, her sütunun her iki süren tranzistörü için bir
koşul yaratır. Halbuki veri giriş hattı, sağ ve sol tranzistörler için birbirinin tümleyeni olan
koşullar yaratır.Yazma lojik-1 olduğu zaman eğer veri girişi lojik-1 ise, sağ tranzistör
kapısı yüksek olur ve sağ tranzistör iletime geçer. Bu durum seçilen satırdaki bellek
hücresinin sağ tarafını alçağa gitmeğe zorlar. Bu da aynı hücrenin sol tarafını yükseğe
sürer. Bu kararlı durum lojik-1 saklamaya karşı düşer. Lojik-0 yazılması benzer tarzda
yapılır.
Eğer yazma hattı lojik-0 yapılırsa, hiçbir tranzistör iletime geçmez ve bellek
hücresinin durumunda bir değişme olmaz.Veri hatlarında, seçilen satır hücresinin durmuna
karşı düşen değer bulunur; çünkü o hücrenin bağlama tranzistörleri iletimdedir. Özellikle
sol veri hattı seçilen hücrede saklanan değeri alır. Bu yüzden okuma işlemi yanlız sol veri
hattını gerektirir.
3.1.3 Dinamik MOS RAM
Dinamik MOS bellek biriminin yapısı Şekil 3.3’te gösterilmiştir. Bellek hücresi,
kondansatör ve T2 MOS tranzistöründen oluşan bir saklayıcı cihaza dayandırılmıştır.
T2’nin kaynağı ile geçidi arasına bağlanan kondansatör, gerçekte geçit elektrodu ile alt
tabakanın paralel yerleştirilmesinden dolayı , her MOS tranzistörde var olan geçit-alttabaka
kapasitesidir. Böyle bir bellek hücresinde veri saklama T2’nin iletkenliği ile ilişkilidir. Bu
iletkenliği kondansatördeki yük belirler. Eger kondansatör, T2’nin geçit gerilimi yeterince
pozitif yapacak kadar yüklenmiş ise, T2 iletken olur. Bu durum lojik-0’a karşı düşer. T2’nin
iletken olamaması lojik-1’i gösterir. Kondansatördeki yük zamanla boşalacağından lojik-F
kendini uzun süre devam ettiremez. Bu durum lojik-1 için geçerli değildir.
Şekil 3.3. Dinamik MOS RAM ın yapısı.
Bilgi saklama amacıyla kullanılan kondansatör ve T2 tranzistörünün yanında,
hücreyi veri hatlarına bağlayan iki MOS Tranzistörün olması gerekir. Biri seçilen hücreye
verinin yazılması, diğeri seçilen hücreden verinin okunması için olmak üzere her sütun iki
veri hattına sahiptir. T1 tranzistörü , veri yazma hattını seçilen hücrenin kondansatörüne
bağlayan çift yönlü anahtardır.T1 aktif iken, kondansatör veri yazma hattı üzerinden
yüklenir veya boşaltılır. T3 tranzistörü ise, veri okuma hattını seçilen hücredeki T2’nin
akacına (drain) bağlar. T3 aktif iken, hücrenin durumu veri okuma hattı ile algılanır.
Her okuma veya yazma işleminde bir hücrenin kondansatörüne veri transfer
edilir.Bellek yazma işleminde kondansatöre yazılacak bilgi, veri giriş hattından gelir.
Bellek okuma işleminde ise bilgi, veri okumöa hattından gelir; yani hücredeki eski bilgi
tekrar hücreye yazılır.
Kondansatöre gönderilecek uygun veriyi seçmek amacıyla dört kapıdan oluşan bir
lojik kullanılır. Bu veri seçici, veri giriş hattını veya veri okuma hattını seçebilmek için
yazma işaretinden yararlanır. Okuma işlemi için yazma hattından lojik-0 uygulanır, ve veri
okuma hattı seçilir. Seçilen hücrede kondansatörü dolu ise T2 iletimindedir, ve VDD gerilimi
RD üzerinde düşerek çıkış sıfır olur. Aksi halde çıkış yüksektir.
Daha önce açıklandığı gibi, bir hücrede lojik-0 tutulması için kondansatöre
yüklenmiş olması gerekir. Yüklü kondansatör, kaçaklardan dolayı zamanla boşalır. Bir süre
sonra bu yük lojik-1 için gerekli seviyenin altına düşer. Bu durum meydana gelmeden önce,
hücrenin tazelenmesi (refresh) gerekir.Tazeleme işlemi okuma yaparak gerçekleştirilir.
Sonuç olarak, dinamik belleklerin kullanılması belirli zaman aralıklarıyla her bir satırın
tekrar tekrar tazelenmesini gerektirir. Bu zaman süresi genellikle birkaç milisaniye
mertebesindedir. Satır sayısını küçük tutabilmek için, dinamik bellek birimleri genellikle
farklı kelimelerin sütunlarını seçmek için iki yönlü veri seçici kullanan iki boyutlu
adresleme yapısı içinde organize edilir. Bu yolla daha az tazeleme işlemi gerekir, çünkü bir
satırdaki tüm kelimeler birlikte tazelenir. Bu yüzden tazeleme işlemi daha küçük adres
gerektirir. Uygulamada tazeleme özel bir donanımla sağlanır ve bilgisayarın bellek
birimlerine erişiminin askıya alınmasını gerektirir.
Dinamik RAM statik RAM’a göre daha fazla dış devre gerektirir. Buna ragmen
dinamik RAM kullanmamızın nedenleri vardır. En büyük üstünlüğü saklama hücresinin
daha az tranzistör gerektirmesinden dolayı bir bellek yongasında bulunabilecek saklama
hücre sayısının oldukça büyük olmasıdır. Diğer üstünlüğü, kendisine erişildiği zaman güç
kaynağından fazla akım çekmemeleridir. Bu durum tüm bellek yongasında harcanan gücün
büyük ölçüde azalmasına yol açar. Çoğunlukla, harcanan maksimum güç hücre sayısını
sınrlayan en önemli faktör olmaktadır. Bu yüzden dinamik RAM’lar b büyük saklama
kapasiteli yapılabilmektedir.
3.2 YALNIZ-OKU BELLEK (ROM)
Bilgisayar ve diğer sayısal sistemlerde, bellek birimleri çoğu kez sabit bilgi kaynağı
olarak kullanılır. Bu sabit bilgi kaynaklarına örnek olarak sabitler listesi, veri dönüşüm
tabloları, ve değişmeyen programlar verilebilir. Böyle durumlarda belleğin kullanıldığı
sistemde içeriğinin değiştirilmesine gerek yoktur. Böyle bellek birimleri mevcuttur ve
içerikleri değiştirilmeyip yalnız okunduğu için yalnız-oku bellek (ROM) adıyla çağrılır.
Bellekteki bilginin değişmemesi I
istendiğinden besleme gerilimenin kesilmesi durumunda bile içeriği değişmeyecek
biçimde imal edilir. Bu özelliklerinden dolayı saklama kapasiteleri çok büyük yapılabilir,
çünkü bellek hücreleri çok basit yapılı olabilir.
Rasgele erişimli yalnız-oku belleğin temel yapısı Şekil 3.4’de gösterildiği gibi,
birçok OR kapısının bağlandığı bir adres kodçözücüden ibaret olrak kurulabilir.
Kodçözücü çıkışları bire-bir bellek alanlarına karşı düşer. Her OR kapısı, bellek
kelimelerinin bir bit konumunu temsil eder. Bellek kelimesindeki bir bitin değeri,
kodçözücünün çıkış hattını OR kapısının giriş hattına bağlayarak 1 yapılır, aksi halde
sıfırdır. Şekil 3.4’teki örnekte 0 adresindeki kelimelerin birinci, ikinci, ve sonuncu bitleri
11...0 dır. Benzer şekilde 1 ve 2n -1 adreslerindeki kelimelerin birinci, ikinci, ve sonuncu
bitleri sırasıyla 11...1 ve 00...1’dir.
Yalnız-oku bellek, satır seçme hatları ile OR kapısı girişleri arsında bağ yapma
imkanını kullanıcıya tanıyabilir. Böylece istenilen bilginin belleğe koyulması mümkün
olur. Buna belleğin programlanması denir. Aşağıda bu tür programlanabilen ROM’lar
incelenecektir.
Şekil 3.4. Yalnız-oku belleğin (ROM) yapısı.
3.3 PROGRAMLANABİLEN ROM (PROM)
PROM kullanıcı tarafından yalnız bir kere programlanabilen bir ROM’dur. Bu
bellekler genelikle üretimden sonra kapalıdan-açığa veya tersine çevrilebilen bir bağ’a
sahiptir. Kapalı-açık dönüşümü yapmanın en genel yolu nikel-krom sigortadan yapılmış
yanabilen bir bağ yapmaktır. Bu bağ dışardan yeterli büyüklükte bir akım verilerek seçime
bağlı olarak yakılabilir. PROM belleğin yapısı Şekil 3.5’te gösterilmiştir. Bu bellek
biriminde biri okuma diğeride program olmak üzere iki çalışma modu vardır. Herhangi
andaki çalışma modunu Vcc besleme gerilimi belirler. Okuma modu için Vcc= 5V, program
modu için Vcc=10V’tur. Okuma modu işaretini üretmek için eşik devresi Vcc gerilimine
bağlanır. Okuma modunda (Vcc< 7.5 V) iken , okuma modu lojik-1 dir. Okuma modu
işareti yonga seçme işareti ile birlikte kullanılarak hem satır seçme hatlarının
yetkilendirilmesinde hem de veri çıkış hatlarının yetkilendirilmesinde kullanılır.
Yonga seçme işareti ile okuma modu işaretinin OR’lanmış degeri, satır adres kod
çözücünün çıkışlarıyla NAND’lanarak satır seçme işaretleri üretilir. Okuma modunda
okuma modu işareti lojik-1 olduğu için OR kapısı çıkışı 1 olur. NAND kapıları adres
kodçözücü çıkışlarının tersini alır. Verilen adrese karşı düşen satır seçme hattı lojik-0 olur,
diğer seçme hatları ise lojik-1 dir.
Eğer bir sütun ve seçilen satır için sigorta yanmamış ise o sütun için veri hattı
alçağa çekilir, aksi halde yükseğe sürülür. Okuma modunda çıkış yetkilendirme işareti 3-
durumlu sürücüyü yetkilendirerek veri hattındaki lojik seviyenin çıkışa geçmesini sağlar.
Şekil 3.5. Sigorta bağlı programlanabilen ROM.
Program modunda Vcc gerilimi 10V ’a yükseltilir.Vcc=10V olması, okuma modu
işaretinin lojik-0’a gitmesine neden olur. Bu durum seçme yetkisi işaretini yonga seçme
işaretine bağlı kılar bu yüzden ancak yonga seçme lojik-1 ise, verilen adrese karşı düşen
satır seçme hattı lojik-0 olur. Okuma modu işaretinin lojik-0 olması çıkış yetki işaretini
sıfır yaparak çıkış sürücüleri yüksek-z durumuna sokar.Verilen adrese karşı düşmeyen satır
seçme hatları yaklaşık 10V’a yükseltilir.
Sigortayı yakabilmek için önce adres bilgisi ve yonga seçme işareti uygulanır, ve
daha sonra akım kaynağından uygun veri çıkış hattına belirli bir akım (örneğin 65 mA)
akıtılır.Bu akım gerilime -duyar anahtar üzerinden belirlenen sütunun veri hattına geçer. Bu
anahtar akım kaynağı tarafından uygulanan V gerilimi 5V’u aştığı zaman kapanır. İstenen
akımın akması için uygulanan gerilimin yeterince yüksek olması gerekir. Uygulanan akım
lojik-0 olan satır seçme hattına bağlı sigorta ve diyot üzerinden akar. Diğer satır seçme
hatları 10 V olduğunda, uygulanan akımdan çok az pay alırlar. Zaten Vcc=10V yapılmasının
nedeni budur. Uygulanan akım kısa süre sonra sigortanın erimesine sebeb olur. Bu süre
sonunda yonga seçme işareti kaldırılır. Bu işlem yakılacak diğer sigortalar için tekrarlanır.
PROM’un programlanması için ilave hat kullanılmadığına dikkat edilmelidir.
3.4 SİLİNİP PROGRAMLANABİLEN ROM (EPROM VEYA E2PROM)
EPROM, silinip tekrar programlanabilen ROM’dur. Bu bellek birimi, seçime bağlı
olarak kapalı duruma ve ortak olarak açık duruma sokulabilen bir bağdan yararlanır. Tüm
bir duruma sokulunca önceki bilgiler silinmiş olur, ve programlanması esnasında istenen
bağlar zıt durumlara sokulur.
EPROM hücresi, istendiğinde tekrar eski durumuna getirilebilen yüzen geçit adı
verilen özel bir bağ içeren özel bir MOS tranzistörden yapılmıştır, Şekil 3.6. Bu tranzistör,
yalıtkan ile çevrelenmiş bir kapı elektrodu içeren ve normalde kapalı olan n-kanallı MOS
tranzistördür. Yüzen geçide bağlı herhangi bir bacak yoktur, ama buna rağmen kendisine
negatif yük kazandırılabilir.
Negatif yük, elektronların yalıtkan üzerinden akaçtan geçide çekilmesiyle
sağlanır.Yüksek değerli akaç-kaynak gerilimi (15-20V) p tipi malzemede (kanalda)
elektron enjeksiyonuna yol açar. Geçit gerilimi (25V) akaç geriliminden yüksek olduğu için
elektronlar yüzen geçide çekilir, ve orada tutulur. Bu elektron geçişi akaç ile yalıtkan
arasındaki eklemde meydana gelen delinmenin sonucudur.Yüzen geçitten bu elektronlar
özel olarak kaldırılmadıkça hemen hemen sonsuza dek orada kalır. Belli bir birikmeden
sonra elektron geçişi durur.Yüzen geçitte elektronların tutulması Vth’yı artırır, ve tranzistör
akım akıtamaz, Şekil 3.7. Seçme geçidine uygulanan gerilimin oluşturacağı kanal, yüklü
yüzen geçit tarafından yok edilir.Yüzen geçit yüklenmemiş ise Vth küçüktür ve seçme geçit
gerilimi kanalın oluşmasını rahatça sağlar. Böylece sütun hattı VDD gerilimine yükselir.
a) EPROM hücresinin kesiti b) EPROM hücresinin sembolik gösterimi
Şekil 3.6. EPROM’un yüzen geçitli nMOS kanal yaratmalı tranzistörü.
EPROM ’un yeniden programlanabilmesi için yüzen geçitte saklanmış yüklerin
atılması gerekir. Elektronların dağılabilmesi için her bir elektronu yalıtkandaki iletim
enerjisi bandına getirmek zorunludur. Yüzen geçit alanına tutulan ultraviolet ışık, yerterli
düzeyde enerji vererek elektronların birbirlerini itip yüzen geçitten ayrılmalarını sağlar.
Elektronlar SiO2 yalıtkanın içine yayılır, ve alttabaka içine çekilirler. Elektronların
bulunduğu bölgeye ışğın verilebilmesi için EPROM’lar normal cam pencere yerine
ultraviolet ışığa saydam olan quartz pencere kullanır. Silme süresi kullanılan ışık şiddetine
bağlıdır.
Bu özel tranzistörleri kullanan bir EPROM şöyle yapılabilir. Bellek birimindeki her
bir sigorta yerine, bu yüzen geçitli tranzistörlerden koyulur. Ayrıca kapıyı yükleyecek
gerekli gerilimin uygulanması amacıyla, her bir yüzen geçitli tranzistörün seçimine izin
veren bir devre dahil edilir. Bu seçme işlemi adres ve veri çıkış hattını gerektirir.
Şekil 3.7. Geçit yükünün EPROM MOSFET iletkenliğine etkisi.
Elektrikle silinip programlanabilen ROM (E2PROM) yukarıda anlatılan EPROM ’a
oldukça benzer. E2PROM, programlama ve silme problemlerini iki basit teknik sayesinde
çözmektedir. Birincisi programlama gerilimi yonga üzerinde üretilerek programlama işlemi
basitleştirilir. 25 voltluk dış bir kaynak yerine, standart 5V luk besleme geriliminden
gerekli programlama gerilimini üretmek için yük pompası adı verilen bir devre kullanır.
İkincisi, veriyi silmek için ultraviole ışık kullanmak yerine, E2PROM’un yüzen geçidinden
yüklerin uzaklaştırılmasına izin vermek için, elektron enjeksiyon olayını tersine çeviren bir
iç bağlantı vardır.
E2PROM bellek hücresi, biri bellek diğeri seçme tranzistörü adıyla anılan iki
tranzistöre sahiptir, Şekil 3.8. Bellek tranzistörü, içinde alt geçidin yüzdüğü çift-
yığınlaşmış polisilikon yapıdan oluşur. Küçük ince oksit (150 A0 dan küçük), yüzen geçidi
akaçtan yalıtır; ve yüzen geçide ve yüzen geçitten elektron enjeksiyonu için alan (yer)
sağlar. Akaç toprağa bağlanmışken satır hattına bir kaç milisaniyelik yüksek gerilim
darbesi uygulamak, akaçtan yüzen geçide giden bir elektron tünelinin açılmasına sebep olur
(silme işlemi). Satır hattı topraklanmış iken akaca benzer bir darbenin uygulanması, yüzen
geçitten akaca giden elektron tünelinin oluşmasını sağlar (yazma işlemi). Bellek matrisine
bu cihazın eklenmesi, silme veya yazma işlemleri esnasında rahatsız edici istenmeyen
hücrelerden sakınmak için, Şekil 3.8’de gösterilen her bit için ilave seçme tranzistörleri
gerektirir.
Şekil 3.8 . E2PROM saklama hücresi.
3.5. BELLEK UYGULAMALARI
Buraya kadar çeşitli belleklerin bit saklama hücrelerinin elektronik yapıları,
hücrelere erişim yöntemleri, ve çalışmaları anlatıldı. Şimdi belleklerde bulunabilecek
bacaklar ve bellek yongaları kullanılarak bellek sistemlerinin nasıl yapılacağı
açıklanacaktır.
RAM’a verinin yazılabilmesi için bit hücre adresi ve yazma yetki işareti (WE)
sağlanmalıdır, Şekil 3.9. Ayrıca küçük saklama kapasiteli bellek yongalarından büyük
bellek sistemleri oluşturulmuş ise, hangi yongadaki verilerin değerlendirileceğini
tanımlayabilmek için birde yonga seçme işareti (CE) kullanılmalıdır. Bir bellek yongasında
farklı lojik seviyelerle aktiflenebilen birden çok yonga seçme (CE) girişi bulunabilir.
Seçme girişlerinin fazla olması, bellek yongalarının çok sayıda cihaz tarafından basit bir dış
devre yardımıyla seçilebilmesine imkan verir. Bazı bellekler veri girişine izin verdiği anda,
veri çıkışlarının kapalı olmasını yani yüksek-Z de olmasını gerektirebilir. Bu özellik çıkış
yetki (OE) girişi yardımıyla sağlanır.
RAM yongada bitlerin saklandığı çok sayıda bellek hücresi vardır. Bu hücreler
dikdörtgen matrisi şeklinde dizilmiştir. Bu matriste her satır ve sütun ayrı bir adres hattına
sahiptir. Yazma veya okuma işleminde herhangi bir bellek hücresine erişmek için bir satır
birde sütun hattı yetkilendirilir, ve böylece bu seçme hatlarının kesim noktasındaki hücre
aktif duruma sokulur. 64-bitlik bir bellek 8´8 lik bir hücre matrisine, ve 1024-bitlik bellek
ise 32´32’lik hücre matrisine sahiptir.
Şekil 3.9. Bipolar RAM yongasının blok yapısı.
Hücrelerde saklanan veri bitlerinin alçak gerilim seviyelerini algılayan ve yonga
çıkışında kullanılabilecek seviye yükselten bir yükselteç bütün yongalarda vardır. Ayrıca
veri giriş tamponları ve okuma/yazma komutlarını oluşturan lojik devreler vardır.
3 5.1 Adres Kodçözümü
Kodçözücünün görevi, adres girişindeki bitleri paralel kelimeyi, 1-bitlik seçme
(yetki) çıkış hattında bir doğru (lojik-1) seviyesine dönüştürmektir, Şekil 3.10. Diğer tüm
çıkış hatlarını mutlaka yanlış yapmalıdır.
Şekil 3.10. Adres kodçözücü
2- bitlik adres kodçözücünün AND kapılarıyla gerçeklenişi Şekil 3.11’de
gösterilmiştir. Daha büyük adreslerin kodu çözülmek istenseydi, daha çok girişli AND
kapıları gerekecekti, ve sonuçta adres yoluna gelecek yük artacaktı. Çoğu teknolojiler için,
bu faktörler maksimum adres uzayını 32 veya 64 olarak sınırlar.
Şekil 3.11. 2-bitlik adres kodçözücü.
Bu problemler Şekil 3.12’deki düzen yardımıyla çözülebilir. Burada adres bilgisi
anlamlı ve anlamsız parçalara bölünür, ve adres uzayı doğrusal dizi biçiminde değil 2-
boyutlu matris biçimde görülür. Verilen bir adres, kodçözücülerin satır ve sütun çıkışları
üzerindeki doğru seviyelerin çakışmasıyla belirlenir. Matrisin har elemen konumundaki 2-
girişli AND kapısı bu çakışma algılayıcısı olarak kullanılabilir; ama çoğu kez bu AND
görevi, adreslenen elemanın kendi içinde gerçekleştirilir.
Çoğu kodçözme uygulamasında, adres uzayındaki tüm adresler geçerli değildir. Bu
gereksinim, istemeyen adreslere karşı düşen çıkış kapıları ihmal edilerek hayata
geçirilebilir. Ayrık kapılı kodçözücünün kullanılabildiği uygulamalarda, bu gereksinim
çoğu kez işlemci tarafından giriş / çıkış devrelerinin adreslenmesinde ortaya çıkar, Şekil
3.13. Anlamlı adres bitlerinin kullanılmadığına, ama her adres için anlamsız 4-bitin değeri
9 olduğu zaman kodçözücü çıkışının geçerli olduğuna dikkat ediniz. Bu durum büyük
adreslerin kullanılmaması durumunda doğrudur. Aksi halde AND kapısı girişleri
artırılmalıdır.
Şekil 3.12. Matris adres kodçözücü.
Şekil 3.13. Belirli bir adresin kodçözücüsü.
Uygulamada ayrık adres kodçözücü yerine tek yonga kodçözücülerin kullanılması
bilgisayar sistem basitliği açısından önemlidir. Veri dağıtımı yapan ve demultiplexer olarak
bilinen yongalar kod çözmede çok elverişlidir. m-bitlik kodçözücünün 2m adet çıkışı
olması gerektiğinden, demultiplexer yongalarını girişleri çok bitlik yapılamaz. Çok bitli
adresin kodu çözüleceği zaman, bu yongalardan Şkil 3.14’te gösterildiği gibi birden çok
kullanılmalıdır.
Şekil 3.14. İki adet 2-4 demultiplexer’dan 3-8 demultiplexer’ın yapılışı veya 3-
bitlik kodçözücü.
3.5.2 Bellek Sistemi
Piyasadaki bellek yongaları bilgisayarın bellek haritasını doldurabilecek kadar
büyük kapasiteli olmadığından, genellikle çok sayıda yongadan oluşmuş bellek sistemleri
kullanılır. Bellek yongaları adres kodçözücüler yardımıyla belirli adreslere oturtulur.
Aşağıda bu modüllerin yapılışına ilişkin bazı örnekler verilecektir.
16K×2 bitlik bellek yongalarından 4 adet kullanılarak 16K×8 bitlik bellek
modülünün nasıl yapılacağı Şekil 3.15’te gösterilmiştir. Bu yongaların 14-bitlik adres
girişleri birbirne bağlanmıştır. Herbir yonganın bitlik bellek yongaların çıkışı serbest
bırakılarak 8- bitlik çıkış elde edilmiştir. Bu bellek modülü bellek haritasında 0-16K arasını
işgal eder ve kodçözücü gerektirmez.
Şekil 3.15. 16K×2 bitlik bellek yongalarından 16K×8 bitlik sistem yaparak bellek
haritasının ilk çeyreğine oturtuluşu.
Eğer 16K×8 bitlik yongalardan 64K×8 bitlik bir sistem yapılmak istenseydi, o
zaman belleklerin adres girişleri ve veri girişleri kendi aralarında Şekil 3.16’daki gibi
birbirine bağlanır. Herbir bellek yongasının bellek haritasında ayrı bir adrese oturmasını
sağlamak için, kodçözücü kullanılması gerekir. Burada belleğin sadece bir yonga seçme
girişi olduğu varsayılmıştır.
Şekil 3.16. 16K×8-bitlik bellek yongalarından 64K×8-bitlik bellek sistenminin
yapılışı.
3.5.3 Dinamik Bellek Sistemi
Dinamik bellek normalde büyük bellek sistemi yapılmak istendiği zaman kullanılır.
Dinamik belleğin en büyük sakıncası periyodik olarak tazeleme veya yeniden yazma
gerektirmesidir. Çünkü bu bellekler yazılan veriyi ancak birkaç milisaniye tutabilir.
Tazeleme ya biraz iç donanım ile (Z80 CPU’da olduğu gibi) mikro işlemci
tarafından veya dış donanım ile bir dinamik RAM bellekleri tarafından yapılır. Tazeleme
lojiği bellek yongasında bulunan sahte sitatik RAM cihazlar hayata geçirilmek üzeredir.
64K×1- bitlik Dinamik RAM. Şekil 3.17’de 64K×1-bitlik MK 4564 dinamik
RAM yongası gösterilmiştir. 64K×8-bitlik RAM oluşturabilmek için bu yongadan 8 adet
kullanılmalıdır. Bu belleğin kullanılması için bazı ilave donanıma ihtiyaç vardır.. Bunlar
adres çoğullayıcı, tazeleme sayıcı ve tazeleme zamanlama lojiği donanımlarıdır.
Şekil 3.17. 64K×1 bitlik MK 4564 yongasının bacakları.
Adres çoğullayıcı.. Bu dinamik RAM 16- bitlik adres gerektirdiği halde, A0-A7
olmak üzere 8- bitlik adres yoluna sahiptir. Bu yüzden 16-bitlik adres iki aşamada bu adres
yolundan belleğe gönderilir. Böyle bir çalışma adres çoğullamayı gerektirdiğinden iki adet
74157 kullanılarak 2/1’e çoğullaması yapılır, Şekil 3. 18.
Tazeleme sayıcısı.. Bu sayıcı mikro işlemciye, DRAM denetleyiciye koyulabilen,
veya PSRAM’da olduğu gibi bellek içinde inşa edilen bir sayıcıdır. Bu DRAM iç
yapısından dolayı 128 tazeleme periyodu gerektirdiğinden, buradaki tazeleme sayıcısı 7-
bitlik ikili bir sayıcı olmalıdır. Bu bellek 128 satırlı olrak organize edilmiştir, ve her satır
bir bellek okuma veya yazma esnasında tazelenmelidir. Bu sayıcı tazeleme periyodu
esnasında DRAM’a bağlanır, ve her tazeleme periyodu sonunda bir artırılır. Tazeleme
zamanlama işaretlerinin nasıl üretileceği ileride anlatılacaktır.
Şekil 3.18. 16- bitlik adresi dinamik RAM ’a iki aşamada yerleştiren çoğullayıcı.
Gizli tazeleme.. Çoğu mikroişlemciler emir kodunun alınması ve kodunun
çözülmesi için bellek okuma işleminden daha uzun zaman gerektirdiğinden, dinamik
belleğin tazelenmesi için bu kodçözme süresi çok uygun bir zaman olabilir. Genelde bu
durumlarda okuma ve yazma işleminden sonra tazeleme yapmak için gerçekten yeterli
zaman olmaktadır. Bu tür tazelmeye gizli tazeleme denir, çünkü gerçekleştirilmesi için
mikroişlemciden ek bir zaman alınmaz. Başka bir tazeleme yöntemi CPU’yu WAIT
durumuna sokmaya dayanır. Verimliliğinden ve geniş uygulama alanı olmasından dolayı,
burada gizli tazeleme yöntemi incelenecektir.
Dinamik RAM zamanlaması.. MK 4564 dinamik RAM belleğin zamanlama
diyagramı Şekil 3.19’da verilmiştir. Satır adresi, RAS satır adresi yazma işareti ile
belleğin adres girişlerine uygulanır. Bu işaret satır adresini iç kaydediciye sokar ve burada
bir bellek periyodu boyunca tutulur. En az 30-65 ns lık bir tRCD gecikmesinden sonra,
sütun adresi ve CAS sütun adresi yazma işareti uygulanarak sütun adresi iç kaydediciye
yazılır. Böylece bellekteki veriye erişilmeye başlanır.
Mevcut periyot esnasında okuma işareti uygulanırsa, seçilen adresin içerği RAS
işaretin sıfıra dönmesinden sonra 150 ns içinde veri çıkış uçlarında görülür. CAS işareti
bire dönünceye kadar, çıkış uçlarındaki veri geçerli ve kararlı kalır.
Okuma ve yazma periyotları arasındaki en önemli fark WR girişinin seviyesidir.
Bu giriş, CAS yükseğe gitmeden önce alçak yapılmalı ve yazmanın yapılabilmesi için en
az 45 ns süre alçak tutulmalıdır.
Tazeleme periyodu, okuma veya yazma işleminden sonra herhangi bir anda
gerçekleştirilebilir.BelleğinRAS girişi sıfıra çekilerek tazeleme yapılır. Bu tazeleme
darbesi 150 ns genişliğinde olmalı ve RAS en azından 100 ns süre yüksek olmadıkça yeni
tazeleme yapılmamalıdır
64K ×8 -bit DRAM Arayüzü.. 64K×8- bitlik bellek sistemi oluşturabilmek için
sekiz DRAM kullanarak CPU’ ya yüzleştirilişi Şekil 3.20’de gösterilmiştir. Veri giriş ve
çıkış uçlarını, CPU’nun veri yoluna yüzleştirmeyi sağlayan bir çift 8216 iki- yönlü yol
sürücüsü kullanılmıştır.
Adres yolu, RAS ile denetlenen bir çift 74157 çoğullayıcısına bağlanmıştır. A0 -7
veya A8-15 den hangisinin ikinci çoğullayıcı takımı tarfından bellek dizisine bağlanacağı
RAS işaretiyle belirlenir. Bu ikinci çoğullayıcı, bellek adresini veya 7-bitlik tazeleme
sayıcısından gelen tazeleme adresini seçer. Tazeleme sayıcısı, RFSH işaretriyle saatlenir
ve tazeleme periyodu esnasında içeriği bellek dizisine uygulanır. Tazeleme periyodu
sonunda bu sayıcı RFSH işartetinin pozitife geçişiyle bir artırılır.
Şekil 3.19. 64K×1-bitlik MK 4564 dinamik belleğin zamanlaması ve AC
karakteristikleri.
Şekil 3.19’un devamı
Şekil 3.19’un devamı.
Şekil 3.20. 8 adet MK 4564 dinamik bellek yongası kullanan 64K×8-bitlik dinamik
bellek sistemi.
Tazeleme Zamanlama Lojiği. Bu bellek arayüzünün zamanlaması Şekil 3.21’deki
devre yardımıyla üretilebilir. Bu devrede kullanılan 25 MHz’lik saatin çıkışı 74S163
sayıcısına uygulanmıştır. Mikroişlemci bir bellek erişimi gerektirdiği zaman, bu sayıcı
sıfırlanır. Sayıcının en anlamlı iki biti OR kapısına bağlandığından; RAS işareti, bellek
istediğinden itibaren dört saat periyodu boyunca üretilir. Devrenin ürettiği tüm işaretler
Şekil 3.22’de gösterilmiştir.
RAS’ın düşme kenarı JK flip -flopun Q çıkışını birler, ve bu da CAS’i sıfırlar.
RAS’ın düşme kenarı ile CAS’ın düşme kenarı arasındaki zaman farkı yaklaşık olarak 23 -
35 ns dir. CAS işareti, periyoda sebep olan RD veya WR darbesinin yükseğe döndüğü
andaki bellek periyodunun sonunda bire döner. Bu dönüş, JK flip-flop’un asenkron SET
girişi sayesinde başarılır.
Şekil 3.21. Bellek sistemi için denetleme işaretlerinin üretimi.
Şekil 3.22. Denetleme işaretlerinin zamanlam diyagramı.
RFSH tazeleme işareti, sayıcı çıkışlarının 10xx ikili değerini alması ve RAS
işaretinin yükseğe gitmesinden yaklaşık 140 ns sonra üretilir. Sayıcı 1100 değerine eriştiği
zaman sayma durdurulur, ve bir sonraki RD veya WR işareti gelinceye kadar bu durumda
kalır.
Bellek periyodu yeterince hızlı bir CPU’da yaklaşık her 1ms’de bir kere meydana
geleceğinden; belleği tazelemek, okumak, ve yazmak için tüm zamanlama gerekleri
kolayca karşılanabilmektedir. Kullanılan bu tazeleme türüne gizli tazeleme denir, çünkü
tazeleme her okuma ve yazma işlemi ile meydana gelir ve mikroişlemciden ilave zaman
gerektirmez.
Bu tür tazelemede yalnız bir problem vardır. Eğer mikroişlemciden uzun süren
doğrudan bellek erişimi için yollar istenirse, bellek okuma ve yazma işlemi meydana
gelmez ve tazeleme gerçekleşmez. Bu yüzden bellekteki bilgiler de kaybolur. Ayrıca Halt
emirinin koşulması yine CPU’nun susmasına neden olcağı için tazeleme işlemi kesintiye
uğrayabilir. Ama uygulamada bu duruma sık raslanmadığından bu yöntem rahatça
kullanılabilmektedir.