Bilgisayar Mühendisliğine Giriş Yrd. Doç. Dr. Hüseyin POLAT
Bilgisayar Mühendisliğine Giriş Konular Bilgisayarda Bilgi Saklama Mantık Kapıları ve Flip-Flop Devreleri
Bilgisayar Mühendisliğine Giriş Bilgisayar mimarisi, bilgisayar donanımını şekillendiren, bilgi işleme ve saklama kapasitesini belirleyen bilim dalıdır. Bu bilim dalı yarı iletkenler, tümleşik devreler (integrated circuits), optik ve malzeme gibi altyapı teknolojilerine bağımlı olarak gelişir.
BİLGİSAYARLARDA BİLGİ SAKLAMA Elektrik sinyalleri sayısal (digital) ve analog olarak iki biçimde üretilir. Analog sinyal süreklidir. Veriler iki nokta arasındaki tüm değerleri alabilir. Sayısal sinyaller kesiklidir. Yalnızca belli değerleri alabilirler.
BİLGİSAYARLARDA BİLGİ SAKLAMA Bilgisayarda ”1” ve ”0” ikili düzeylerinden her birisine İngilizce "binary digit" sözcüklerinden türetilmiş olan bit adı verilir. Bitlerin çeşitli bileşimleri ile bilgisayarda harfler, rakamlar, ve özel simgeler temsil edilir. Örneğin; ASCII (American Standard Code for Information Interchange) tablosunda ‘A’ harfi 1000001 şeklinde, ‘2’ sayısı (karakter olarak) ise 0110010 şeklinde ifade edilir.
Mantık Kapıları ve Flip-Flop Devreleri Bilgisayarları oluşturan devre elemanları sayısal sinyaller üzerinde işlem yapabilmelidir. Bu işlemlerden mantıksal olanlarını gerçekleştirenlere kapı (gate) devreleri denir. Kapılar, girişlerindeki iki veya daha fazla sinyalin ’0’ ya da 1 ’ oluşuna göre çıkışlarında bir sinyal üretirler. Giriş ile çıkışta üretilen sinyal arasındaki ilişkiyi gösteren tablolara kapının gerçeklik tablosu (truth table) denir.
Mantık Kapıları ve Flip-Flop Devreleri Mantık kapıları temel olarak Boole işlemleri denen bir dizi işlemi gerçekleştirmek için kullanılırlar. Boole cebir sistemi 1854 yılında George Boole tarafından geliştirilmiştir. Mantıksal cebir olarak da bilinen Boole cebir sisteminde, • bir operatör seti • bu operatörlerin üzerlerinde işlem yaptığı elemanlar ve • bu işlemlerin kuralları bulunmaktadır.
Mantık Kapıları ve Flip-Flop Devreleri Sistemdeki operatörler 0 ve 1 ’lerden oluşan ikili sistemin operatörleridir. (+) Boole toplamasını ( . ) ise Boole çarpmasını temsil eder. Bu sistemde çarpmada etkisiz eleman 1, toplamada ise 0’dır. Boole cebir sisteminde toplama ve çarpma işlemleri ise aşağıdaki gibi tanımlanır: Toplama Çarpma 0 + 0 = 0 0 . 0 = 0 0 + 1 = 1 0 . 1 = 0 1 + 0 = 1 1 . 0 = 0 1 + 1 = 1 1 . 1 = 1
Mantık Kapıları ve Flip-Flop Devreleri En yaygın mantık kapıları; VE (AND) VEYA (OR) VE DEĞİL (NAND) VEYA DEĞİL (NOR) AYRICALIKLI VEYA (XOR) DEĞİL (NOT)
Mantık Kapıları ve Flip-Flop Devreleri Kapıların çıkışları Boole fonksiyonları olarak da gösterilebilir. Kapı Türü Boole Eşdeğeri AND Q = A . B OR Q = A + B NAND Q = ( A . B )′ NOR Q = ( A + B )′ XOR Q = A B NOT Q = A′
Mantık Kapıları ve Flip-Flop Devreleri
Mantık Kapıları ve Flip-Flop Devreleri
Mantık Kapıları ve Flip-Flop Devreleri
Örnek : Arabamızda kapı ve ışık açıksa ve motor çalışmıyorsa, bir sinyal sesinin bizi ikaz etmesini istediğimizi varsayalım. I K M S 1 (I) Işık Açık 1 Kapalı (K) Kapı Açık 1 Kapalı (M) Motor Çalışıyor 1 Çalışmıyor (I) Sinyal Aktif 1 Pasif Sinyal sadece I = 1, K = 1 ve M = 0 durumunda çalışacak. Bunu formülle ifade edersek... S = I . K . M' olur. I K Y M
Mantık Kapıları ve Flip-Flop Devreleri Lojik devreler, kombinasyonel (combinational) ve ardışıl (sequential) olmak üzere 2 bölümde incelenebilir. Kombinasyonel devrelerde, herhangi bir andaki çıkış, sadece o andaki girişler tarafından belirlenir. Önceki çıkış değerlerinin sonraki çıkışa hiçbir etkisi söz konusu değildir. Ardışıl devrelerde ise bir önceki çıkış, mevcut girişlerle birlikte sonraki çıkışı tayin eder. Başka bir deyişle ardışıl devrelerin bellek özelliği vardır. Yani çıkışları aklında tutar ve giriş olarak kullanır. Flip floplar ardışıl devrelerin temel elemanıdır.
Mantık Kapıları ve Flip-Flop Devreleri Bir flip flop tek bitlik bilgiyi saklayabilen bellek ögeleridir.
Mantık Kapıları ve Flip-Flop Devreleri Flip-Flop devreleri kapılara göre farkı, çıkış sinyalinin hem o andaki girişlere , hem de daha önceki çıkışlara bağımlı olmasıdır. Çıkış Geri Besleme Saat Girişi Girişler FLIP FLOP
Mantık Kapıları ve Flip-Flop Devreleri Flip-Flop’lar; Giriş sinyallerine göre çıkış ya lojik“0”yada lojik“1”olur. Her birinde clock (saat) girişi bulunmaktadır. Girişlerine uygulanan sinyal değişmediği müddetçe çıkış durumunu korur. Çıkışların değişmesi için girişlerin değişmesi yetmez. Bu değişim emrini saat tetikleme sinyali verir. Flip-flop’un vereceği çıkış girişlere bağlı olmakla birlikte, aynı zamanda bir önceki çıkışa da bağlıdır. İki çıkışı bulunur (Q ve tersi olan Q’). Çıkışların değerleri bir sonraki giriş değerine kadar sabit kalır. Bu şekilde 1 bitlik bilgiyi saklayabilir. Bu durum geçici bir hafıza olarak kabul edilebilir.
Mantık Kapıları ve Flip-Flop Devreleri Flip-Floplarda saat(clock) girişleri bulunur. Çıkışlar saatin ürettiği darbelerle birlikte girişlere de bağımlı olarak konum değiştirir. Saat (Clock) Saat çıkışı sürekli olarak belirli bir periyot ile 0 ve 1 arasında değişen özel bir devre elemanıdır. Saat’in 1’den 0’a değişmesi ile başlayan ve tekrar 1 oluncaya kadar geçen süreye saat periyotu denir. Saat frekansı saat periyotunun tersidir. Birimi ise Hertz dir. Saatler genellikle devrelerin senkronizasyonu için kullanılır. Devrelerde belli işlemlerin başlaması için tetikleme amaçlı kullanılırlar. Tüm işlemciler bir iç saat ile çalışmaktadır. Modern işlemciler (chipler) 4 GHz’e kadar uzanan frekanslarda çalışmaktadır.
Mantık Kapıları ve Flip-Flop Devreleri Her bir flip-flop bir doğruluk tablosuna sahiptir. Bu tablolar giriş ve şimdiki duruma Q(t) bağlı olarak gelecek durumu Q(t+1) gösterirler. Flip-Flopların saat(clock) vasıtasıyla anlık değişimine tetiklenme adı verilir.
Mantık Kapıları ve Flip-Flop Devreleri Kenar Tetikleme Tetikleme saat darbesinin “0” ‘dan “1” ‘e yükselen kenarında gerçekleşiyorsa yükselen kenar tetiklemeli flip-flop, “1” ‘den “0” ‘a düşen kenarda gerçekleşiyorsa düşen kenar tetiklemeli flip-flop adını alırlar. Düzey Tetikleme Kare dalganın “1” olarak kaldığı (pozitif düzey tetikleme) veya “0” olarak kaldığı (negatif düzey tetikleme) durumlarda çıkışın değişmesine düzey tetikleme denir.
Mantık Kapıları ve Flip-Flop Devreleri RS Flip Flop; S (Set=Kur) ve R (Reset=Sıfırla) isimlerinde 2 girişe sahip bir flip flop’dur. Clock palsi geldiğinde S=0 ve R=0 ise çıkış değişmemektedir. Clock palsi geldiğinde S=0 ve R=1 ise çıkış“0” olmaktadır. Clock palsi geldiğinde S=1 ve R=0 ise çıkış“1”olmaktadır. Clock palsi geldiğinde S=1 ve R=1 ise istenmeyen durumdur.
Mantık Kapıları ve Flip-Flop Devreleri J-K Flip-Flop Devresi Clock palsi geldiğinde J=0 ve K=0 ise çıkış değişmemektedir. Clock palsi geldiğinde J=0 ve K=1 ise çıkış“0” olmaktadır. Clock palsi geldiğinde J=1 ve K=0 ise çıkış“1”olmaktadır. Clock palsi geldiğinde J=1 ve K=1 ise çıkış “0” ise “1”, “1” ise “0” olmaktadır.
Mantık Kapıları ve Flip-Flop Devreleri D Flip-Flop D (Data) tipi flip-flop, bilgi kaydetmede kullanılan bir flip-flop’tur ve genellikle register (kaydedici) devrelerinde kullanılır. Q çıkısı saat (clock) sinyalinin gelmesi ile D kontrol girişinin sahip olduğu değeri alır. D=0 iken, saat (clock) sinyalinin gelmesi ile Q çıkısı ‘0’ değerine sahip olur. D=0 durumu devam ettiği sürece, saat (Clk) sinyalinin durumu değişse bile Q=0 değerini korur. D=1 değerini alması durumunda, ilk gelen tetikleme sinyalinin pozitif kenarında Q=1 değerini alır.
Mantık Kapıları ve Flip-Flop Devreleri T Flip-Flop T "1” olduğu zaman, her saat darbesiyle beraber çıkış konumunu değiştirir. Aksi halde çıkış aynı kalır.