Merhabalar… Daha önceleri RAM’in yapısından kaba taslak bahsetmiştim.  Ve RAM’ yapısından bahsederken aslında RAM hücrelerinin lach ler olduğunu yazmıştım. Aslında flip floplar da lach lerden oluşmaktadırlar.   Bu yazıları okumak isterseniz şu adreslere göz atabilirsiniz;

Dijital Hafıza Yapısı 1

Dijital Hafıza Yapısı 2

 

536445_3679899714090_1172960394_3532574_388457443_n

Dijital elektronikte, kare dalgalardan çok fazlaca bahsedilir. Hatta dijital elektronik bilmeyen insanlar bile elektronik ürünler satın alırken bilmeden de olsa kare dalgaları tanımlayan terimleri kullanırlar. Mesela bilgisayar alırken işlemci hızını tanımlayan  HZ birimli terimler söylenir.  2.4 GHZ işlemci hızı, çift çekirdek, 1.8 GHZ gibi…  Çoğu insan bu frekans biriminin nasıl olup da bilgisayarın işlemci hızını tasvir edebildiğini düşünmemiştir aslında 🙂    İşte bu gün bunun cevabını sizlerle paylaşacağım.

Bir S-R lach’in çalışma mantığını önceki yazılarımda anlatmıştım. Aşağıdaki NAND kapıları ile yapılmış latch var. Bu NAND kapıları ile oluşturulduğundan alçalan kenarda tepki veren bir latchdir. Bu yapı NOR kapılarıyla oluşturulursa yükselen kenar latch olur. Yükselen kenar Latch  örneğini bir önceki yazımda vermiştim. Doğal olarak alçalan kenar latch’in girişlerine sürekli mantıksal-1 gitmesi gerekiyor.  “Set” pini mantıksal-0 yapıldığında  “Q” çıkışı mantıksal-0 olur ve “Reset”  pinine mantıksal-0 verilmediği taktirde çıkış, mantıksal-0 olarak kalır. Eğer “Reset” pinine mantıksal-0 verilip, “set” pini mantıksal-1 olursa “Q” çıkışı mantıksal-1 olur.Latch’in iki girişine mantıksal-0 verilemez.  İki girişte mantıksal-1 olduğunda latch’in outputu değişmez yani sayı hafızada tutulmuş olur.  Bu mantığı ilk bakışta kavramak zor. Çünkü kapıların çıkışları birbirlerinin inputlarına bağlı olduğundan ilk başta çıkışların mantıksal değerlerini bilemezsiniz. Fakat bu kapılar Transistörlerle oluşturulmuşlardır ve transistör devre şemalarına baktığınızda hiç bir mantıksal değere sahip olmayan giriş de mantıksal-0 gibi davranır.  Bu yüzden Set ve Reset pinlerinin dışındaki giriş pinleri ilk başta mantıksal-0 olarak kabul edilir.

1
S-R Latch

 

NAND kapılarıyla oluşturulmuş latch’i aşağıdaki gibi  NAND kapıları ile şekillendirdiğimizde Flip flop olarak kullanabiliriz.  Aşağıdaki D tipi flip flop’un D pinine verdiğiniz mantıksal değer, verdiğiniz diğer bir  mantıksal değere kadar “Q” pininde tutulur. Fakat flip floplarda inputlara verdiğiniz değerlerin Clock sinyali ile eş zamanlı olması gerekiyor. Çünkü flip floplar, clock sinyalinin her bir  yükselen kenarında ya da kare dalganın alçalan kenarında aktif olurlar.  Bu yüzden bir flip flop’un D pinine herhangi bir dijital değer vermediğinizde, flip flop onu mantıksal-0 olarak kabul eder.

Transistörler ile yapılan NAND Kapısı

 

2
D tipi Flip Flop
3
Clock Sinyali

Şimdi yukarıda gördüğünüz flip-flop yükselen kenarda tetiklenen bir flip floptur. Yükselen kenar olmasının sebebi clock sinyalinin yani kare dalganın mantıksal-0 olduğu durumlarda sinyalin bağlı olduğu kapıların çıkışlarının her halikarda mantıksal-1 olmasıdır. Yani sinyalin, 0 voltunda Latch’in iki girişi de mantıksal-1 dir ve “Q” değeri değişmez.  Clock sinyali mantıksal-1 iken yani yükselen kenarda iken latch’in “Set” pin değeri en üstteki iki NAND kapılarına yani en üstteki Latch’e bağlıdır.  Üstteki latc’in durumu ise en alttaki latch’ e bağlıdır bu durumda hiç sinyal yokken “Set” ve “Reset” pinleri logic-1 dir. “D” giriş pini mantıksal-1 yapıldığında ve sinyal de mantıksal-1 olduğunda ” Set” pini mantıksal-0 olur ve “Q” çıkış pini mantıksal-1 olur. Hemen ardından clock sinyali mantıksal-0 durumuna geçer ve “Set” ve “Reset” pinleri tekrar mantıksal-1 olur.  Yani clock sinyali mantıksal-0 durumundayken(alçalan kenardayken) “Q” pininin değeri değişmez.   D pini mantıksal-0 yapıldığında ise “Q” çıkış pini mantıksal-0 olur.  Bu pinde bir sinyal yokken, D pini logic-0 olarak kabul edilir ve “Q” çıkışı logic-0 olur.   Tabi anlayabilmeniz için üzerinde biraz kafa patlatmanız gerekiyor.

   Aslında flip floplarda yapılan şey,  D pinine gönderilen 1 bitlik verinin bir clock sinyalinin periyot süresi kadar hafızada tutulmasını yani “Q” çıkışında görülmesini sağlamaktır.  Bu yüzden flip floplar temporary yani geçici bellek özelliğindedirler.  Flip floplar en çok bilgisayardaki sayıcı ve aritmetik işlemler yapan bölümde bulur.   Mesela bilgisayar toplama, çıkarma veya bölme, çarpma işlemleri yaparken eldelikleri flip floplar üzerinde tutar.  Aynen sizin 1. sınıftayken toplama işleminde eldelikleri bir köşeye yazdığınız gibi.   Aynı zamanda sayma işlemlerini yine flip floplar ile gerçekleştirir.  Bu durumda flip floplar işlemcinin ALU yani Aritmetik-Logic biriminin olmazsa olmazıdır.  

 

 

Ram yapısında ise latch ler kullanılır. Bir ram hücresi bir latch dir.  Hücreler yan yana dizilerek kelime boylarını oluşturur. Eğer bir kelime boyu 8 adet latch den oluşuyorsa 8 bitlik kelime boyudur ve bu kelime boyunda geçici olarak 8 bitlik veri saklanabilir. Her kelime boyuna bir adres atanır.

RAM yapısı
RAM Yapısı

 

Kelime boylarının adresleri “decoder” ler yardımı ile atanır.  “Decoder” yapılar istenilen satırdaki kelime boyunu kullanmak için kullanılır.

5
RAM Hücresi

RAM hücrelerinde en temelde S-R lachler kullanılır. Fakat yukarıdaki yapıda S-R latch, D tipi latch’e çevirilir.

Sanırım kullanıdığınız HZ biriminin neden bilgisayar alırken işlemci hızını tanımladığını şimdi daha iyi anladınız.  Clock sinyali flip flopların çalışmaları için gereklidir ve aynı zamanda işlemci hızına birinci derece etkendirler. Çünkü işlemci hızı, flip floplar üzerindeki dataların  işlemcinin aritmetik-logic birimine aktarılması yani flip flopların clock sinyalinin frekansı ile alakalıdır. Flip flop frekansı ne kadar fazla olursa dataların aktarım hızı da o kadar artar.  Tabi frekans arttıkça neden olduğu bazı sorunlarla karşılaşılır işlemcide.  Mesela yüksek frekansta işlemcinin ısınması daha kolaydır ve dataların aktarımında hatalar daha kolay oluşur   vesaire vesaire…  Bunar işlemci mimarisi ile ilgili etkenlerdir tabi.  

  Bilgisayar RAM’inin fazla olması, bilgisayar hızı ile alakalı bir şey değildir.  Çünkü RAM clock sinyali kullanmaz. RAM’in fazla olması,  bilgisayarda çalıştırılacak programların kullandığı değişken sayısı ile yani kısacası programın büyüklüğü ile alakalıdır.  Ne kadar fazla RAM’e sahipseniz işlemciyi meşgul eden o kadar büyük programı çalıştırabilirsiniz. 

Benden bu kadar… Sağlıcakla kalın. 🙂