You are on page 1of 81

SELÇUK ÜNİVERSİTESİ

MÜHENDİSLİK-MİMARLIK FAKÜLTESİ
ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ

LOJİK DEVRE TASARIM


DERS NOTLARI

Konya- 2012
i

KONULAR

1. Ardışıl lojik devreler, senkron ardışıl lojik devreler ve analizi

2. Durum sayısının azaltılması, durum diyagramı, durum tablosu ve uygulama tablolarının

elde edilmesi

3. Ardışıl devrelerin sentezi, değişik tipte senkron sayıcı tasarımları, dizi yakalayıcılar

4. Registerlar, kaydırıcı registerlar, paralel yüklemeli registerlar, iç register transfer, bus

transfer, registerlar arası veri transferi

5. Hafıza elemanları ile senkron ardışıl devre tasarımı, zamanlama diyagramları

6. ALU, genel özellikleri, kaydırıcı tasarımı, durum registeri

7. Akümülatör register tasarımı

8. Genel işlemci tasarımı, kontrol birimlerinin yapıları ve genel özellikleri

9. Algoritmik durum makinaları (ASM), ASM şeması, durum kutusu, karar kutusu, koşul

kutusu, ASM bloğu

10. Kontrol biriminde her bir durum için bir flip-flop kullanılması, decoder kullanılması ile

oluşan tasarım, uygulamalı örnekler

11. Kontrol biriminde; decoder, multiplexer ve PLA kullanarak oluşan tasarım, uygulamalı

örnekler

12. Lojik kapı devrelerinde fan-out hesabı

KAYNAKLAR

1. Sayısal Tasarım, Morris MANO, MEB Yayınları. (Dijital Tasarım)

2. Lojik Devreler, Prof. Dr. Emin ÜNALAN, İTÜ Yayınları.

3. Lojik Devreler, Prof. Dr. Emre HARMANCI, İTÜ Yayınları.

4. Digital Design Principles&Practices, John F. Wakerly, Prentice Hall.

5. The Design of Digital Systems, J.B. Reatman, McGraw-Hill.

6. Principles of Digital Design, Daniel D. Gajski, Prentice Hall.


1

1. ARDIŞIL DEVRELER

Şimdiye kadar ele alınan sayısal devrelerin çıkışları tamamen o anki devre girişlerine
bağlı olan kombinasyonel devrelerdi. Örneğin VE kapısı bir kombinasyonel devredir. Bazı
lojik devrelerde girişteki bilgi değişse bile saat darbesi gelmedikçe çıkış konum değiştirmez
ise bu devrelere “ardışıl devre (sequential logic)” denir. 7 rakamlı bir telefon numarasında 6
rakam çevirdiğimizde telefon çalmaz, 7. rakam çevrilince telefon çalar, burada 7. rakam clock
darbesidir.

Girişler Çıkışlar

Kombinasyonel
Devre
Bellek
(Hafıza elm.)

Şekil 1.1 Ardışıl devre blok şeması

Ardışıl devrenin durumu, bellekteki durumun değişmesi ile değişir. Yani kombinasyonel
devre, girişleri belirler, belleğin durumu ise çıkışları belirler.
𝐶𝑙𝑜𝑐𝑘

𝑔
⋮ 𝑛

𝑔𝑛
𝐼
Kombinasyonel Bellek
𝐼𝑝 ⋮
Devre FF1
𝑑

⋮ 𝐼 𝑛
𝑑𝑚 Bellek
𝐼𝑝𝑚 ⋮
FFm

Şekil 1.2 Genel ardışıl devre şeması


2

İki çeşit ardışıl devre vardır ve bunların sınıflandırılması devrelerin sinyal


zamanlamasına bağlıdır. Başka bir şekilde ifade edilecek olursa ardışıl devreler girişlerinde
olan değişikliğin çıkışlarına yansıtılma zamanına göre sınıflandırılırlar. Birinde girişlerinde
olan değişiklik beklemeksizin yalnızca kullanılan kapı vs. gibi birimlerin gecikme süresi
kadar sonra çıkışa yansıtılır. Burada herhangi bir senkronlama işareti yoktur. Dolayısıyla bu
çalışma şekli “asenkron” olarak adlandırılır. Diğerinde ise girişlerinde olan değişiklik
çıkışlara hemen yansıtılmaz; değişikliğin yansıtılması için bir senkronlama işareti kullanılır.
Bu işaret aktif olduğunda girişlerinde olan değişiklik çıkışlara yansıtılır, burada da tabi ki
devrede kullanılan kapı vs. eleman gecikmeleri yine söz konusudur. Bu şekilde çalışma
şekliyse “senkron” olarak adlandırılır.

Flip-Flop Uyarma Tabloları

0 0 0 X 0 X 0 0
0 1 1 0 1 X 1 1
1 0 0 1 X 1 0 1
1 1 X 0 X 0 1 0

1.1. Senkron Ardışıl Lojik Devreler


Ardışıl devreler senkron ve asenkron olarak ikiye ayrılmaktadır. Yaygın olarak çok
kullanıldığı için senkron ardışıl devreler (zamanlanmış sıralı devreler, senkron ardışıl lojik)
anlatılacaktır. Ardışıl senkron devreler iki aşamada incelenecektir:
a) Senkron ardışıl devre analizi
b) Senkron ardışıl devre sentezi

1.1.1. Senkron ardışıl devre analizi


Senkron ardışıl devrelerde çıkışlar ve bir sonraki durum, girişlerin ve mevcut
durumların bir fonksiyonudur. Böyle bir devrenin blok şeması aşağıda gösterilmiştir:
𝑋 𝑍
Senkron Ardışıl
⋮ Lojik Devre ⋮
𝑋𝑛 𝑍𝑛

𝐶𝑙𝑜𝑐𝑘

Şekil 1.3. Senkron ardışıl devre şeması


3

Örnek 1.1. Şekil 1.4’ de verilen devrenin analizini gerçekleştiriniz.


𝐶𝐿𝐾
𝑋 𝑋 𝑌 𝑌 𝑌 𝑌 𝑌 𝑌

𝑆 𝑌
𝐹𝐹
𝑅 𝑌

𝑆 𝑌
𝐹𝐹
𝑅 𝑌

𝑆 𝑌
𝐹𝐹
𝑅 𝑌

Şekil 1.4. Senkron ardışıl devre analizi- Örnek devre1


(Devrede kullanılan tüm kapılar NAND’ dır)

Devrenin bir girişi ve bir çıkışı vardır: X girişi ve Z çıkışı yanında dışarıdan CLK senkronlama işareti
verilmektedir. Şekil 1.4’ deki devreden Z çıkış için;

fonksiyonu bulunur. Clock darbesi geldiğinde ise ’ dir. Diğer yandan FF


uyarma fonksiyonları şu şekilde yazılabilir:

(̅̅̅̅̅̅̅̅̅̅̅̅̅
̅̅̅̅̅̅
̅ ̅̅̅̅̅̅
̅ ̅) ,

,
4

CLK darbelerine göre FF’ ler değişik durumda olabilirler. durumunu FF’ lar başlangıç
durumu olarak ele alalım ve numaralı durum olarak gösterelim.

Bağımsız X değişkeninin 0 ve 1 olması halinde her CLK darbesinde bağımlı değişkenlerinin Z


çıkışının hangi değerler alacağı aşağıda gösterilmiştir.

değeri için;

olduğu için ’ in çıkışı durum değiştirmez ve CLK’ dan sonra yine olur.

olduğu için ’ nin çıkışı durum değiştirmez ve CLK’ dan sonra yine olur.

olduğu için ’ ün çıkışı durum değiştirir ve CLK’ dan sonra yine olur.

O halde gelen CLK darbesi sonunda FF çıkışları olan bağımlı değişkenler durumundan

durumuna geleceklerdir. Bu yeni durumu ile gösterirsek devrenin durum diyagramının


bir parçası Şekil 1.5’ de gösterildiği gibi elde edilebilir.

𝑋 𝑍

Şekil 1.5.Durum diyagramının parçası-1

Bu şekle göre, t anında durumunda olan ardışıl devreye girişi uygulanırsa Z çıkışında 0 oluşur ve
anında devre durumuna geçer. Aynı şartlarda X=0 olduğu kabul edilirse CLK darbesinden sonra FF
çıkışlarının olacağı ve devre çıkışı kalacağı görülür. Bu yeni durumu ile
gösterirsek devrenin durum diyagramının bir parçası Şekil 1.6’ daki gibi olur.

𝑋 𝑍 𝑋 𝑍

3 2

Şekil 1.6. Durum diyagramının parçası-2

Aynı şekilde işleme devam edilirse devreye ait durum diyagramının tanımı Şekil 1.7’ deki gibi olacaktır.
5

3 2

4
5

Şekil 1.7. Durum diyagramının parçası-3

Durum diyagramından başlangıç durumunda iken arka arkaya gelen 3 CLK darbesinde

ise çıkışı 3. CLK darbesi sonunda olur, ’ in diğer durumlarında olur.

Belirsiz durumların önüne geçmek için FF’ ların çıkışlarını başlangıçta sıfırlamak gerekir. Şekil 1.7’ deki
durum diyagramından Çizelge 1.1’ deki durum tablosu elde edilir.

Çizelge 1.1. Durum Tablosu

Gelecek Durum Çıkış (Z)


Şimdiki Durum
X=0 X=1 X=0 X=1
1 3 2 0 0
2 4 5 0 0
3 4 4 0 0
4 1 1 0 0
5 1 1 0 1

Durum tablosu, durum sayısı minimum olan bir tablodur. Yani tekrarlanmış durumlar yoktur. Durum sayısı
minimum olan Çizelge 1.1’ den uygulama tablosu elde edilir. Uygulama tablosu, durum geçiş tablosu, çıkış
tablosu ve FF uyarma tablolarından oluşmaktadır. Uygulama tablosuna ait sözü edilen tablolar ayrı ayrı
yazılacağı gibi Çizelge 1.2’ deki gibi de gösterilebilir.

Çizelge 1.2. Uygulama Tablosu

Ş.D. Giriş G.D. FF Girişleri Çıkış


Durum Durum
X Z
1 0 0 0 0 1 0 0 3 1 0 0 X 0 X 0
1 0 0 0 1 0 0 1 2 0 X 0 X 1 0 0
2 0 0 1 0 1 1 0 4 1 0 1 0 0 1 0
2 0 0 1 1 1 1 1 5 1 0 1 0 X 0 0
3 1 0 0 0 1 1 0 4 X 0 1 0 0 X 0
3 1 0 0 1 1 1 0 4 X 0 1 0 0 X 0
4 1 1 0 0 0 0 0 1 0 1 0 1 0 X 0
4 1 1 0 1 0 0 0 1 0 1 0 1 0 X 0
5 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0
5 1 1 1 1 0 0 0 1 0 1 0 1 0 1 1
6

Uygulama tablosunda durumlar X=0 ve X=1 için birer kere yazılır. FF uyarma giriş değerleri SR FF’ a ait
geçiş tablosundan faydalanılarak elde edilir. Örneğin 1 durumunda X=0 için 3 durumuna geçilmiştir ve Y1
çıkışı 0’ dan 1’ e geçmiştir. Bu durumda
Uygulama tablosundan yararlanılarak bağımlı ve bağımsız değişkenlere göre FF uyarma girişleri ve Z
çıkışı için Karnaugh diyagramı çıkarılır. Uygulama tablosunda gösterilmeyen durumlar yani kullanılmayan
durumlar Karnaugh diyagramında keyfi olarak gösterilir.

00 01 11 10 00 01 11 10
̅̅ ̅
00 1 X X 0 00 0 0 0 X

01 1 1 01 0 0

11 0 0 11 1 1

10 0 0 10 1 1

00 01 11 10

00 0 0 0 0
01 0 0
11 0 1
10 0 0

Benzer şekilde işleme devam edilirse aşağıdaki sonuçlar bulunur:

̅ ̅ ̅ ̅

Durum tablosunda kullanılmayan kombinasyonların herhangi bir kargaşaya neden olmaması için, bu
kombinasyonların bir CLK darbesi sonra belirli bir konuma döndürülmeleri gerekir. Bu konum
yani başlangıç konumu olsun. Enerji verilince FF çıkışlarında kullanılmayan komutlardan
oluşursa, bu durumun birinci CLK darbesi sonunda konumuna dönmesi gerekir. Bu durumda
yalnız çıkışı konum değiştirir, ve ise konum değiştirmez. O halde
olur. Kullanılmayan kombinasyonlardan kombinasyonunun birinci CLK darbesi sonunda
konumuna gelmesi için olmalıdır.

Bu değerler için kullanılan uyarma tabloları ve bu tablolardan elde edilen uyarma fonksiyonları
Çizelge 1.3’ de verilmiştir. Önceki tablolarda kullanılmayan durumların konumuna dönmeleri
için olur. Önceki tablolara bu durumlar ilave edilir.
7

Çizelge 1.3. Ek uygulama tablosu

Şimdiki Durum Giriş Gelecek Durum


X
1 0 1 0 0 0 0
1 0 1 1 0 0 0
0 1 1 0 0 0 0
0 1 1 1 0 0 0
0 1 0 0 0 0 0
0 1 0 1 0 0 0

Yeni oluşan son duruma göre Karnaugh diyagramları yeniden hazırlanır. FF uyarma girişleri ve Z
çıkışı için aşağıdaki ifadeler elde edilir.

̅̅ ̅ ̅̅
00
01 11 10
̅̅ ̅̅
00 1 X X 0
̅̅ ̅
01 1 0 0 1
11 0 0 0 0
10 0 0 0 0
8

1.1.2. Durum Sayısının Azaltılması

Ardışıl devrede kullanılan lojik kapı ve FF sayıları azaltılabilir. - adet FF’ dan
adet durum oluşur. FF sayısının azaltılması hem durumun azaltılması hem de maliyet
yönünden gereklidir. Durumlar azaltılırken, giriş ve çıkıştaki isteklerin önceki durumdaki gibi
yerine getirilmesi gerekir. Şekil 1.8’ deki durum diyagramı ile bu konu daha detaylı
açıklanacaktır. Diyagrama ait devrenin bir girişi ve bir çıkışı vardır. Durumlar
’ dir.

b c

d e

Şekil 1.8. Durum diyagramı

Diyagrama bakarak durumların azaltılıp azaltılamayacağı konusunda bir fikir


yürütülemez. Bu yüzden durum diyagramından hareket edilerek durum tablosu oluşturulur.
Çizelge 1.4’ de elde edilen durum tablosu görülmektedir.

Çizelge 1.4. Durum tablosu

Gelecek Durum Çıkış (Z)


Şimdiki Durum
a a b 0 0
b c d 0 0
c a d 0 0
d e f 0 1
e a f 0 1
f g f 0 1
g a f 0 1

Durumların azaltılabilmesi için, şimdiki duruma ait sonraki durumun ve çıkışın eşit
olması gerekir. Bu özelliği sağlayan durumlar “e” ve “g” dir. O halde “g” durumu silinip
9

bunun yerine “e” yazılabilir. “g” yerine “e” yazılırsa “f” durumuna ait gelecek durum
için “e”, için “f” olur. Bu ise “d” durumuna ait gelecek durumu ile aynıdır, çıkışlarda
aynı olduğu için “f” yerine “d” yazılabilir. Böylece Çizelge 1.4’ deki durum tablosundan “f”
ve “g” silinerek bunların yerlerine “d” ve “e” yazılabilir.
Durum sayısının azaltılmasını gösteren tablo Çizelge 1.5’ de verilmiştir.

Çizelge 1.5. Durum tablosunun azaltılması

Gelecek Durum Çıkış (Z)


Şimdiki Durum
a a b 0 0
b c d 0 0
c a d d 0 0
d e f 0 1
e a f d 0 1
f g e f 0 1
g a f 0 1

İndirgenmiş durum tablosu Çizelge 1.6’ da görülmektedir.

Çizelge 1.6. İndirgenmiş durum tablosu

Gelecek Durum Çıkış (Z)


Şimdiki Durum
a a b 0 0
b c d 0 0
c a d 0 0
d e d 0 1
e a d 0 1

İndirgenmiş durum tablosuna uygun yeni akış diyagramı Şekil 1.9’ da görülmektedir.

a
e

b c

Şekil 1.8. İndirgenmiş durum diyagramı


10

Örnek 1.1. T flip-flop kullanarak 4 bitlik bir sayıcı tasarlayınız. Sayıcı başlangıçta 0
gösterecek ve 9 sayısını saydıktan sonra tekrar 0’ a dönecektir.

0
9 1 ⋮ }
8 2
Başlangıçta bütün FF’ lar resetlenerek, FF çıkışları 0
7 3 yapılır. Buna göre uygulama tablosu aşağıda

6 4 verilmiştir. Sayıcının herhangi bir girişi ve çıkışı


( ) gibi yoktur.
5

Şimdiki Durum Sonraki Durum FF Uyarma Girişleri

Kullanılmayan durumlar:

00 01 11 10

00 0 0 0 0
01 0 0 1 0 ̅
11 X X X X
10 0 1 X X
11

Örnek 1.2. sayan ve tekrar ’ e dönen bir sayıcı tasarlayınız. Kullanılmayan


durumlarda sayıcı ’ e ayarlanacak ve JK FF kullanılacaktır (Başlangıçta FF çıkışlarının 0
konumunda olduğu kabul edilecek).

0
2

1
6

7 4

Durum diyagramından görüleceği gibi durumlar 3 bit kullanılarak ifade edilebilir.

Şimdiki Durum Sonraki Durum FF Uyarma Girişleri

01
00 11 10

0 1
1 X X X X
̅̅

Örnek 1.3. Girişe gelen her 3 adet Lojik 1 değeri için çıkışında Lojik 1 veren tek girişli tek
çıkışlı senkron ardışıl devreyi gerçekleştiriniz.

X=0 01 011 0111


X=0 durumundan başlayalım.
12

X=0 iken Z=0 olur, 0111 durumunda dizi yakalanır ve kendi durumunda kalır. X=0 olursa
başa döner. Durum diyagramı incelenecek olursa 4 durum söz konusudur. Böyle bir durumda
2 FF yeterli olacaktır.

Şimdiki Durum Giriş Sonraki Durum FF Uyarma Girişleri Çıkış

11
00 01 10
̅
0 0 0 1 0
1 X X X X
̅ ̅

𝐽 𝐽
𝑄𝐴 𝑄𝐵
𝐹𝐹𝐴 𝐹𝐹𝐵

𝐾 𝐾

𝐶𝑙𝑒𝑎𝑟
𝐶𝑙𝑜𝑐𝑘
13

Örnek 1.4. 0110 dizisini yakalayan devreyi JK flip-flopları kullanarak gerçekleyiniz.

Gelecek Durum Çıkış (Z)


Şimdiki Durum
a b a 0 0
b b c 0 0
c b d 0 0
b
d e a 1 0
e b c 0 0

Şimdiki Durum Giriş Sonraki Durum FF Uyarma Girişleri Çıkış

11
00 01 10 ̅

0 0 0 1 0
̅ ̅
1 X X X X
14

Örnek 1.5. 1001 dizisini yakalayan devreyi D flip-flopları kullanarak gerçekleyiniz.

Gelecek Durum Çıkış (Z)


Şimdiki Durum
a a b 0 0
b c b 0 0
c d b 0 0
d a e b 0 1
e c b 0 0

Şimdiki Durum Giriş Sonraki Durum FF Uyarma Girişleri Çıkış

10
00 01 11
̅ ̅ ̅̅
0 0 0 0 1
1 1 0 0 0

01
00 11 10

0
̅
0 1 1 0
1 1 1 1 0
15

Örnek 1.6. 1011 dizisini yakalayan devreyi T flip-flopları kullanarak gerçekleyiniz.

Gelecek Durum Çıkış (Z)


Şimdiki Durum
a a b 0 0
b c b 0 0
c a d 0 0
d c e b 0 1
e c b 0 0

Şimdiki Durum Giriş Sonraki Durum FF Uyarma Girişleri Çıkış

10
00 01 11

0 0
̅̅ ̅ ̅
0 0 1
1 1 0 1 0

01 10
00 11
̅ ̅
0 0 1 0 1
1 0 1 0 1
16

1.1.3. Senkron Ardışıl Devre Sentezi

Ardışıl devrenin tasarımı sentez işleminin konusudur. Tasarım işlemi için aşağıdaki işlem
adımları takip edilir.

(a) Devrenin davranışı sözle tanımlanır. Bu tanımlamaya uygun olarak durum diyagramı
çıkartılır. Bu işlem için zaman diyagramı veya diğer bilgilerden faydalanılabilir.

(b) Durum diyagramından faydalanılarak, mümkünse durumlar azaltılır.

(c) Kullanılacak FF sayısı ve tipi belirlenir.

(d) Durum diyagramında kullanılmayan durumlar da göz önüne alınarak uygulama tablosu
çıkartılır.

(e) Uygulama tablosundan FF uyarma tablosu ve çıkış tablosu çıkartılır. Bu tablolarda


kullanılan değişkenler devrenin bağımlı ve bağımsız büyüklükleridir.

(f) Uyarma ve çıkış tablolarından lojik fonksiyon elde edilir.

(g) Lojik fonksiyonlara uygun olarak devre çizilir.

Kullanılmayan durumlar için bir istek belirtilmemişse bu durumlar tasarım sırasında göz
önüne alınmazlar. Bazı devrelerde çıkış olmayabilir, sadece giriş olabilir.

Örnek 1.4. SR FF kullanarak verilen durum diyagramına ait lojik devreyi gerçekleştiriniz.

a 0 0 X
0
0 1 1 0
1 0 0 1
e b
1 1 X 0

d
17

Durum tablosu şu şekilde olur:

Gelecek Durum Çıkış (Z)


Şimdiki Durum
a a e 0 1
b a c 0 1
c c d 0 1
d b e 0 1
e c b 0 0

Tablo incelenirse durum sayısının azaltılamayacağı görülür. 5 durum olduğu için


tasarım için 3 FF gerekir.

Ş.D. Giriş G.D. FF Uyarma Girişleri Çıkış


Durum Durum
X Z
d 0 0 0 0 0 1 1 b 0 X 1 0 1 0 0
d 0 0 0 1 1 0 0 e 1 0 0 X 0 X 1
a 0 0 1 0 0 0 1 a 0 X 0 X X 0 0
a 0 0 1 1 1 0 0 e 1 0 0 X 0 1 1
c 0 1 0 0 0 1 0 c 0 X X 0 0 X 0
c 0 1 0 1 0 0 0 d 0 X 0 1 0 X 1
b 0 1 1 0 0 0 1 a 0 X 0 1 X 0 0
b 0 1 1 1 1 0 0 c 0 X X 0 0 1 1
e 1 0 0 0 0 1 0 c 0 1 1 0 0 X 0
e 1 0 0 1 0 1 1 b 0 1 1 0 1 0 0

Kullanılmayan durumlar:

̅ ̅
00 01 11 10

1
̅̅ ̅ ̅ ̅ ̅
00 0 1 0
01 0 0 0 0 ̅̅ ̅
11 X X X X
10 0 0 X X

01
00 11 10
̅
00 0 1 1 0
01 0 1 1 0
11 X X X X
10 0 0 X X
18

Örnek 1.5. JK FF’ lar ile Mod 4 sayıcısı aşağıdaki özelliklere göre gerçeklenecektir:

a) Sayıcı, iki girişli ( ) ve iki çıkışlı ( ) ileri- geri sayıcıdır

b) İki girişin ikisi birden 1 olmamaktadır.

c) olduğunda ileri saymakta fakat çıkış maksimum sayıyı gösterince sabit kalmaktadır
olduğunda geri saymakta fakat çıkış minimum sayıyı gösterince sabit kalmaktadır.
ifadesi FF’ ların sonraki durumunu göstermektedir.

Sayılacak sayılar 0, 1, 2, 3 olduğu için 2 FF yeterlidir.


Sayıcı Durumu
0 0 Değişmeyecek
0 1 Geri sayacak
1 0 İleri sayacak
1 1 Keyfi
başlangıç durumudur.

Şimdiki Giriş Gelecek FF Uyarma Girişleri Çıkış


Durum Durum
19

00 01 11 10 00 01 11 10

00 X X 0 0
00 0 0 X X
01 0 0 X X 01 X X 0 1

11 X X X X 11 X X X X

10 0 1 X X 10 X X 0 0

00 01 11 10 00 01 11 10

00 X 0 0 X
00 0 X X 0
01 X 01 X 1 1 X
0 X 1
11 X X X X 11 X X X X

10 1 X X 1 10 X 1 0 X

̅
20

2. REGİSTERLAR

Bir sayısal sistemin saklayabileceği en küçük bilgi birimi 1 veya 0 lojik değerine sahip bir
ikili (binary) bilgi veya bir bittir. Bir veri biti, FF veya bir bit saklayıcı (register) olarak
adlandırılan elektronik devrede saklanır. Bir bitlik bir FF hafıza hücresi olarak adlandırılır.
Çalışma gücü kesilmediği ve sinyaller ile durumun değişmediği takdirde, süresiz kalabileceği
iki kararlı duruma sahiptir. Aşağıdaki şekilde bir bitlik bir register görülmektedir.

𝑆𝑒𝑡 𝑆𝑒𝑡 𝑆𝑒𝑡

𝑄𝑛 n 𝐷 𝑄 𝐷 𝑄
𝐷 𝑄

𝐹𝐹 𝐶𝐿𝐾 𝐶𝐿𝐾
𝐶𝐿𝐾 𝑄̅
𝑄̅ 𝑄̅

𝐶𝑙𝑒𝑎𝑟
𝐶𝑙𝑒𝑎𝑟 𝑆𝑒𝑣𝑖𝑦𝑒 𝑡𝑒𝑡𝑖𝑘𝑙𝑒𝑚𝑒𝑑𝑒 𝐶𝑙𝑒𝑎𝑟
𝑏𝑢 𝑖 𝑎𝑟𝑒𝑡 𝑜𝑙𝑚𝑎𝑧 𝑆𝑒𝑣𝑖𝑦𝑒 𝑡𝑒𝑡𝑖𝑘𝑙𝑒𝑚𝑒
Şekil 2.1. Bir bitlik register

CLK tetikleme seviyesinde kaldığı müddetçe çıkış girişi takip eder.

D tipi FF mikroişlemcili sistemlerde oldukça yoğun olarak kullanılmaktadır. Diğer FF’ larda
kullanılabilir.

2.1. -bit register

Birden çok veri bitini aynı anda saklamak için D tipi FF’ ların saat girişleri m-bit register
oluşturacak şekilde paralel olarak birleştirilir.
𝐺𝑖𝑟𝑖 𝑣𝑒𝑟𝑖 𝑦𝑜𝑙𝑢

𝐶𝐿𝐾

𝐷0 𝐷 𝐷𝑚−
𝐶𝐿𝐾 𝐶𝐿𝐾 𝐶𝐿𝐾


𝑄0 𝑄 , Ç𝚤𝑘𝚤 𝑣𝑒𝑟𝑖 𝑦𝑜𝑙𝑢 𝑄𝑚−

Şekil 2.2. m-tane D tipi FF’ tan oluşan m-bir register


21

bit: binary digit (0 ya da 1)


nibble: 4 bitlik veri paketi ( 0 0

byte: 8 bitlik veri paketi 0 0

Bir byte’ lık bir alan 256 adet veri kaydedilebilir.

Genelde mikroişlemci sistemlerde temel veri yolu uzunluk birimi olduğundan değişik
yapılarda 8 bit registerlar üretilmiştir. Örneğin 74X273 yukarıdaki şekilde görüldüğü gibi 8
tane D tipi FF içerir.
Genelde FF çıkışlarındaki bilgilerin bir kontrol mekanizmasına bağlı olarak ilgili birimlere
aktarılması istenir. Bu durumda FF’ ların veri çıkışlarına 3 durumlu buffer eklenir. Böylece
paralel olarak veri aktarımı kontrol altına alınmış olur.

𝐺𝑖𝑟𝑖 𝑣𝑒𝑟𝑖 𝑦𝑜𝑙𝑢


𝐶𝐿𝐾

𝐷0 𝐷 𝐷𝑚−
𝐶𝐿𝐾 𝐶𝐿𝐾 𝐶𝐿𝐾
𝑄0 𝑄 𝑄𝑚−

𝐸̅

Ç𝚤𝑘𝚤 𝑣𝑒𝑟𝑖 𝑦𝑜𝑙𝑢

Şekil 2.3. Üç durum çıkışlara sahip m-bir register

𝑥 𝑦 𝑥 𝑦 𝐸 𝐸𝑛𝑎𝑏𝑙𝑒 𝑖𝑚𝑘𝑎𝑛 𝑡𝑎𝑛𝚤𝑚𝑎𝑘


𝑂𝐶 𝑂𝑢𝑡𝑝𝑢𝑡 𝐶𝑜𝑛𝑡𝑟𝑜𝑙
𝑣𝑒𝑦𝑎
𝑂𝐸 𝑂𝑢𝑡𝑝𝑢𝑡 𝐸𝑛𝑎𝑏𝑙𝑒
𝑥 𝑦𝐸 𝑥 𝑦𝐸

74X374, 74X574 entegreleri 8 bitlik pozitif kenar tetiklemeli 3 durumlu çıkışlara sahip
entegrelerdir.
22

𝐷0 𝑄0 𝐷0 𝑄0

8 𝑏𝑖𝑡 8 𝑏𝑖𝑡 8 𝑏𝑖𝑡 8 𝑏𝑖𝑡


𝐷7 𝑄7 𝐷7 𝑄7

𝐶𝐿𝐾 𝑂𝐸
𝑂𝐸 𝐶𝐿𝐾

𝐺𝑖𝑟𝑖 𝑘𝑜𝑛𝑡𝑟𝑜𝑙 Ç𝚤𝑘𝚤 𝑘𝑜𝑛𝑡𝑟𝑜𝑙 𝐺𝑖𝑟𝑖 𝑘𝑜𝑛𝑡𝑟𝑜𝑙 Ç𝚤𝑘𝚤 𝑘𝑜𝑛𝑡𝑟𝑜𝑙


(a) (b)
Şekil 2.4. Üç durum çıkışlı 8-bit (octal) register (a) Kenar tetiklemeli, (b) Seviye tetiklemeli

2.2. Registerlarda paralel bilgi aktarımı

𝑎 𝑏 𝑐 𝑑

𝐷 𝐷 𝐷 𝐷

𝐹𝐹𝐴 𝐹𝐹𝐵 𝐹𝐹𝐶 𝐹𝐹𝐷

𝑄𝐴 𝑄𝐵 𝑄𝐶 𝑄𝐷

𝐶𝐿𝐾 𝑐 𝑑
𝑎 𝑏

Şekil 2.5. Registerlarda paralel bilgi aktarımı


Seri bilgi aktarımı shift (kaydırıcı) register ile yapılır.

2.3. Sağa ötelemeli register

𝐴 𝐵 𝐶 𝐷
Seri Bilgi Girişi
𝐷𝐴 𝑄𝐴 𝐷𝐵 𝑄𝐵 𝐷𝐶 𝑄𝐶 𝐷𝐷 𝑄𝐷

𝐹𝐹𝐴 𝐹𝐹𝐵 𝐹𝐹𝐶 𝐹𝐹𝐷 Seri


Bilgi
Çıkışı
𝑅𝑒𝑠𝑒𝑡

𝐶𝑙𝑜𝑐𝑘

Şekil 2.6. 4-bitlik sağa ötelemeli register (shift register)

4 CLK darbesi ile 4 bitlik bilgi yerleşir. Başka bir deyişle 4 CLK darbesinden sonra girişe
gelen ilk bilgi çıkıştan alınır.
23

𝐴 𝐵 𝐶 𝐷
Seri Bilgi Girişi
𝐽𝐴 𝑄𝐴 𝐽𝐵 𝑄𝐵 𝐽𝐶 𝑄𝐶 𝐽𝐷 𝑄𝐷

𝐹𝐹𝐴 𝐹𝐹𝐵 𝐹𝐹𝐶 𝐹𝐹𝐷 Seri


̅̅̅̅ ̅̅̅̅ ̅̅̅̅ Bilgi
𝐾𝐴 𝑄𝐴 𝐾𝐵 𝑄𝐵 𝐾𝐶 ̅̅
𝑄̅̅
𝐶
𝐾𝐷 𝑄𝐷
Çıkışı
𝑅𝑒𝑠𝑒𝑡

𝐶𝑙𝑜𝑐𝑘
Şekil 2.7. JK FF ile 4-bitlik sağa ötelemeli register (shift register)

2.4. Sola ötelemeli register

𝐷 𝐶 𝐵 𝐴 Seri Bilgi Girişi

𝑄𝐷 𝐷𝐷 𝑄𝐶 𝐷𝐶 𝑄𝐵 𝐷𝐵 𝑄𝐴 𝐷𝐴
Seri
Bilgi 𝐹𝐹𝐷 𝐹𝐹𝐶 𝐹𝐹𝐵 𝐹𝐹𝐴
Çıkışı

𝑅𝑒𝑠𝑒𝑡

𝐶𝑙𝑜𝑐𝑘
Şekil 2.8. 4-bitlik sola ötelemeli register (shift register)

2.5. Çift yönlü paralel yüklemeli registerlar

Şekil 2.9. Paralel yüklemeli 4-bitlik iki yönlü ötelemeli register (74194)
24

İşlem
0 0 Değişme yok
0 1 Sağa kaydır
1 0 Sola kaydır
1 1 Paralel yükle

2.6. Registerlar arası veri transferi


Registerlar arası veri transferi, verinin okunacağı bir kaynak (source) register ile
verinin yazılacağı bir hedef (destination) register gerektirir. Bu iki register bir veri yolu ile
birbirine bağlanmalıdır. Bir mikroişlemcili sistemde pek çok kaynak ve hedef register
bulunabileceği için, her kaynak ve hedef çiftini kendilerine ayrılmış bir veri yolu ile bağlamak
mümkün değildir. Bu yüzden mikroişlemcili sistemler paylaşılan veri yolu kullanır.

2.6.1. İç register transfer


Registerlar sembolik olarak aşağıdaki şekillerde olduğu gibi gösterilir:

𝑏𝑖𝑡𝑙𝑖𝑘 𝑟𝑒𝑔𝑖𝑠𝑡𝑒𝑟 8

𝐴 𝐴 𝐴 𝐴 𝐴0 𝑀𝐵𝑅 𝑃𝐶 𝐻 𝑃𝐶 𝐿

A(8) ile belirleniyorsa 8 bitlik register söz konusudur (MBR ve PC mikroişlemcilerdeki özel
register isimleri, PC: Program counter).

MBR(16)=PC(16) PC(L)=PC(1-8), PC(H)=PC(9-16)

Bir registerdan diğerine veri transferi yer değiştirme operatörü ile gösterilir. ifadesi B’
den A’ ya veri transferini gösterir Transfer işleminin zamanını belirleyen kontrol
fonksiyonları bir boolean fonksiyonudur ve bu şekilde olan işlemler aşağıdaki gibi gösterilir.
ifadesi olması durumunda B’ deki bilginin A’ ya transferi mevcut.

𝑋
𝑙𝑜𝑎𝑑
𝐴
𝑇
25

Sembol Tanım Örnek


Harf Register
(Rakam)
İndis Register biti
Register parçası
Veri transferi ve yönü
Kontrol fonksiyonları sınırlamalı 0
İki mikroişlemi ayırma

Memory transferi için adresin


belirlenmesi

Bazı durumlarda herhangi bir register farklı iki kaynaktan (register) aynı anda olmamak şartı
ile bilgi alabilir.

𝐵 𝐴

𝑆𝑒𝑙𝑒𝑐𝑡
𝑄𝑢𝑎𝑑
𝐸𝑛𝑎𝑏𝑙𝑒 ×
𝑀𝑈𝑋

𝑇
𝑙𝑜𝑎𝑑
𝐶
𝑇
Şekil 2.10. MUX kullanarak iki kaynaktan tek bir registera bilgi aktarımı

2.6.2. Bus transfer


Dijital sistemler birçok registera ve birçok registerdan diğerine veri transferinde birçok
iletim hatlarına sahiptir.

𝑃 𝐴 𝐴

𝑃 𝐴 𝐴 𝑃 𝐴 𝐴
𝐴 𝐴 𝐴

𝑃 𝐴 𝐴 𝑃4 𝐴 𝐴

𝑃 𝐴 𝐴
26

: Kontrol sinyalleri
Toplam ×8 8 tane iletim hattına ihtiyaç var. Bunun için bus organizayonu
yapılıyor.
Şekilden görüleceği gibi 3 register arasında 6 iletim yolu ve her iki register arasında
seçme işleminin yapılması için MUX’ lara ihtiyaç vardır. Eğer her bir register tane FF’ dan
meydana gelmişse × iletim hattına ve 3 MUX’ a ihtiyaç vardır. Register sayısı arttıkça hat
sayısı ve MUX sayısı haliyle artacaktır. Eğer transfer işlemni belirli bir anda belirli bir
register sınırlarsak bu durumda registerlar arasındaki yol sayısı azaltılabilir.

Örnek 2.1. Aşağıdaki devrede mikroişlemini yapmak için gerekli olan kontrol
kelimesini yazınız.
𝐷

𝑅 𝑅𝐾 𝑅𝐿 𝑅𝑁

: 8 bitlik veri yolu (Data bus) ----Data bus için 8 bit yeterli
Kontrol sinyali
Kontrol sinyalleri
işlemi (mikroişlem, mikroprogram)
Bu işlemi yapmak için
1. kontrol sinyali ile ’ deki bilgi ’ ye aktarılır.
2. kontrol sinyali ile ’ deki bilgi ’ ya aktarılır. İki adet CLK darbesi sonunda
yukarıdaki işlem yapılmış olur.
27

Örnek 2.2. 4 registerdan oluşmuş bir bus organizasyonunun incelenmesi

Paralel yükleme 8

𝑅 𝑅 𝑅 𝑅
8 𝑏𝑖𝑡 8 𝑏𝑖𝑡 8 𝑏𝑖𝑡 8 𝑏𝑖𝑡

8 8
𝑃0 𝑃 𝑃 𝑃
8 8
×
𝐷𝑒𝑐𝑜𝑑𝑒𝑟 𝑆 𝑄𝑢𝑎𝑑
Seçme uçları
𝑆4 ×
𝐸 𝑀𝑈𝑋

𝑆 𝑆 𝐸 8
8
Seçme uçları
Veri hattı (D)
Çıkış

İzin uçları, aktif olduğu zaman buna ait eleman (entegre devre) çalışır.
Sistemin çalışması için ’ yi sürekli aktif tutmalıyız.
Dekoder çıkışı 4 MUX çıkışı
0 0 0( ) 0 0 çıkışa aktarılır
0 1 1 0 1 çıkışa aktarılır
1 0 2( ) 1 0 çıkışa aktarılır
1 1 3 1 1 çıkışa aktarılır

0 işlemi yapmak istiyoruz


1. 0 kontrol sinyali ile işlemi yapılır. Buna göre ’ ı dataya aktarabilmek için
4 ve olmalı. 0 kontrol kelimesi 4 ’ dir.
2. Data ’ e aktarılır ( işlemi yapılıyor)
Bunu yapmak için dekoderin 3 nolu çıkışına aktif yapmalıyız. Bunun için ,
olmalıdır. kontrol kelimesi olmalıdır.
𝑃 𝑃0
Böylece 0 mikroişlemi için kontrol kelimesi

ve aktif olmazsa elemanların çıkışları yüksek empedans gösterir.


ise
𝐴 𝐹 𝐴
ise ile arası açık devre (yüksek empedans)

𝐶
28

Yukarıdaki 4 register için ortak bus’ ı daha detaylı çizersek aşağıdaki devreyi elde ederiz.
𝑆𝑒𝑙𝑒𝑐𝑡 𝑀𝑈𝑋 𝑖 𝑖𝑛 𝑜𝑟𝑡𝑎𝑘
𝑏𝑖𝑡 𝑖 𝑖𝑛

×
𝐴𝑛 𝐴 𝑀𝑈𝑋
𝐴

𝑏𝑖𝑡 𝑖 𝑖𝑛

𝐵 ×
𝐵𝑛
𝑀𝑈𝑋
𝐵
𝑏𝑖𝑡 𝑖 𝑖𝑛

𝐶𝑛 𝐶 ×
𝐶 𝑀𝑈𝑋
𝑏𝑖𝑡 𝑖 𝑖𝑛

𝑆𝑒𝑙𝑒𝑐𝑡
× 𝐷𝑛 𝐷 ×
𝐷 𝚤𝑘𝚤 𝑙𝑎𝑟
𝐷𝑒𝑐𝑜𝑑𝑒𝑟 𝑀𝑈𝑋
𝐸𝑛𝑎𝑏𝑙𝑒

𝚤𝑘𝚤 𝑙𝑎𝑟

Bit sayısı kadar MUX gereklidir.


Register sayısı ise MUX için giriş sayısını belirler.
𝑆𝑒𝑙𝑒𝑐𝑡 𝑏𝑖𝑡 𝑖 𝑖𝑛

𝐴𝑛 𝐴
𝐴

×
𝑀𝑈𝑋
𝐵𝑛 𝐵
𝐵

𝑛 𝑏𝑖𝑡 𝑖 𝑖𝑛
𝐶𝑛 𝐶
𝐶
×
𝑀𝑈𝑋
𝑆𝑒𝑙𝑒𝑐𝑡
× 𝐷𝑛 𝐷
𝐷 𝚤𝑘𝚤 𝑙𝑎𝑟
𝐷𝑒𝑐𝑜𝑑𝑒𝑟
𝐸𝑛𝑎𝑏𝑙𝑒

𝑛 𝚤𝑘𝚤 𝑙𝑎𝑟
29

2.7. Register Kullanarak Ardışıl Devre Dizaynı


Genel olarak registerlı bir ardışıl devrenin blok diyagramı aşağıda gösterilmiştir.

𝑆𝑜𝑛𝑟𝑎𝑘𝑖 𝑑𝑢𝑟𝑢𝑚 𝑑𝑒 𝑒𝑟𝑖

𝑅𝑒𝑔𝑖𝑠𝑡𝑒𝑟 𝐾𝑜𝑚𝑏𝑖𝑛𝑎𝑠𝑦𝑜𝑛𝑒𝑙
𝐷𝑒𝑣𝑟𝑒 Ç𝚤𝑘𝚤 𝑙𝑎𝑟
𝐶𝑃
𝑣𝑒𝑦𝑎 𝑅𝑂𝑀
𝐺𝑖𝑟𝑖 𝑙𝑒𝑟

Şekil 2.11. Register kullanarak ardışıl devre dizaynı blok gösterim

Örnek 2.3. Aşağıda durum tablosu verilen devreyi register kullanarak dizayn ediniz.

Şimdiki Durum Giriş Sonraki Durum Çıkış

∑ ∑ ∑

Değerler Karnaugh diyagramına aktarılıp indirgendiğinde

01
00 01 11 10 00 11 10

0 1 1
0
1 1 1 1 1 1

̅ ̅ ̅̅̅̅

𝑙𝑜𝑎𝑑
𝐶𝐿𝐾 𝑦
𝑥
30

Örnek 2.4. Yukarıdaki örneği ROM kullanarak dizayn ediniz.


Adres Çıkışlar Depolu bilgi
0 0 0 0 4 5 … … … … n
1 0 1 0 … … … … … … …

Adres Çıkışlar 2 0 1 0 … … … … … … …
1 2 3 1 2 3 3 0 0 1 … … … … … … …
1 0 0 0 0 0 0
2 0 0 1 0 1 0 4 1 0 0 … … … … … … …
3 0 1 0 0 1 0 5 0 1 0 … … … … … … …
4 0 1 1 0 0 1
6 1 1 0 … … … … … … …
5 1 0 0 1 0 0
6 1 0 1 0 1 0 7 0 0 1 … … … … … … …
7 1 1 0 1 1 0
… … … … … … … …
8 1 1 1 0 0 1
n … … … … … … …

Çıkışlar hafıza bit sayısını belirtir. Girişler adres hattını verir. Burada 8 × ROM gerekir.
ROM’ a yapılan giriş sayısı FF’ ların sayısı ve harici girişlerin sayısının toplamı
kadardır. ROM çıkışlarının sayısı ise FF’ ların sayısı ile harici çıkışların sayılarının toplamı
kadardır. Bu durumda ROM büyüklüğünün 8 × olması gerekir ( giriş, çıkış var).


𝑅𝑂𝑀
𝐴
𝑦

𝑥
ROM’ lu ve registerlı ardışıl devre

2.8. Seri Transfer

𝑆 𝑆0 𝑆𝐼 𝑆0
𝑆ℎ𝑖𝑓𝑡 𝑅𝑒𝑔𝑖𝑠𝑡𝑒𝑟 𝑆ℎ𝑖𝑓𝑡 𝑅𝑒𝑔𝑖𝑠𝑡𝑒𝑟
𝐴 𝐵

𝐶𝐿𝐾
𝐶𝐿𝐾

𝑆ℎ𝑖𝑓𝑡
𝐾𝑜𝑛𝑡𝑟𝑜𝑙
Şekil 2.12. Seri transfer blok gösterim
31

𝐶𝐿𝐾

𝑆ℎ𝑖𝑓𝑡 𝐾𝑜𝑛𝑡𝑟𝑜𝑙 𝑊𝑜𝑟𝑑 𝑡𝑖𝑚𝑒 𝐾𝑒𝑙𝑖𝑚𝑒 𝑠 𝑟𝑒𝑠𝑖

𝑇 𝑇 𝑇 𝑇4

Şekil 2.13. Zamanlama diyagramı

Word time: Registerdaki bilginin kaydırılması için geçen süre


Zamanlama darbesi Shift Register-A Shift Register-B B’ nin seri çıkışı
Başlangıç değeri 1011 0010 Başlangıç
’ den sonra 1101 1001 1
’ den sonra 1110 1100 0
’ den sonra 0111 0110 0
4 den sonra
’ 1011 1011 1

Word Time sinyalinin üretilmesi

𝑆𝑡𝑎𝑟𝑡 𝑄
𝑆 𝑊𝑜𝑟𝑑 𝑇𝑖𝑚𝑒
𝐶𝑃
𝑆ℎ𝑖𝑓𝑡 𝐾𝑜𝑛𝑡𝑟𝑜𝑙
𝑅
𝑆𝑡𝑜𝑝

𝐶𝑃 𝑏𝑖𝑡 𝑆𝑎𝑦𝑚𝑎 𝑖𝑧𝑖𝑛


𝑠𝑎𝑦𝚤𝑐𝚤

Şekil 2.14. Word Time sinyalini üreten devre

𝐶𝐿𝐾
8

𝑆𝑡𝑎𝑟𝑡 𝑺

𝑆𝑡𝑜𝑝 𝑹

𝑄 𝑾𝒐𝒓𝒅 𝒕𝒊𝒎𝒆 𝟖 𝒑𝒂𝒍𝒔


32

3. ALU TASARIMI

ALU iki kısımdan oluşur:


 Aritmetik Ünite: Aritmetik işlemlerin yapıldığı ünite
 Lojik Ünite: Lojik işlemlerin yapıldığı ünite

4 bitlik bir ALU için blok şeması aşağıdaki gibidir:

𝐀 𝐠𝐢𝐫𝐢 𝐢 𝐁 𝐠𝐢𝐫𝐢 𝐢
𝐴 𝐴 𝐴 𝐴0 𝐵 𝐵 𝐵 𝐵0

𝑆
𝐶𝑜𝑢𝑡 𝑆
4 bitlik ALU
74181 (LS281) 𝑆0
𝐶𝑖𝑛
𝑀

𝐹 𝐹 𝐹 𝐹0

Şekil 3.1. 4 bitlik bir ALU için blok gösterim

: Elde girişi, bir önceki ALU’ dan geleni alır.


0: Fonksiyon seçme uçları
: Mod seçme ucu (Aritmetik yada lojik işlemlerin hangisinin seçileceğini belirler)

’ e kendimizde giriş verebiliriz. Eğer girişlerini hiçbir yerde kullanmaz isek, girişi
de mod seçici giriş olarak kullanılır ve 4 tane seçme girişi olur.
Burada işlemler bit bit yapılır.
0 0

74181 entegresinde (ALU), 0 : Fonksiyon seçme uçları, : Aritmetik/Lojik seçme ucu,


: Aritmetik işlemler.
33

3.1. Aritmetik işlemler


Aritmetik işlemler tam toplayıcı (full adder) ile yapılır. FA iki tane biti toplayabilir.

1. Toplama işlemi 2. Eldeli toplama işlemi 3. ’ yı ̅ ile toplama


𝐴 𝐵 𝐴 𝐵 𝐴 𝐵̅

𝐶𝑖𝑛 𝐶𝑖𝑛 𝐶𝑖𝑛


FA FA FA

𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡


𝐹 𝐴 𝐵 𝐹 𝐴 𝐵 𝐹 𝐴 𝐵̅

4. Çıkarma işlemi 5. A’ nın aktarılması 6. A’ nın 1 artırılması

𝐴 𝐵̅ 𝐴 𝐴

𝐶𝑖𝑛 𝐶𝑖𝑛 𝐶𝑖𝑛


FA FA FA

𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡


𝐹 𝐴 𝐵̅ 𝐴 𝐵 𝐹 𝐴 𝐹 𝐴

7. A’ nın 1 azaltılması 8. A’ nın aktarılması (II. method)

𝐴 𝐴

𝐶𝑖𝑛 𝐶𝑖𝑛
FA FA

𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡
𝐹 𝐴 𝐹 𝐴 𝐴
34

B girişlerini oluşturan devre


0
0 Çıkış 0 0 0 0
0 0 0 0 0 1 0
0 1 0 1 0 0
1 0 ̅ 0 1 1 1
1 1 1 1 0 0 1
1 0 1 0
1 1 0 1
11 1 1 1 1
0
00 01 10
𝐵
0 1 𝑆0
1 1 1 1
0
̅

3.2. 4 Bitlik Aritmetik İşlemci Tasarımı


4 tane FA kullanarak oluşturabiliriz.

Şekil 3.2. 4 bitlik aritmetik işlemci


35

girişini seçme girişi olarak kullanalım.

0 Çıkış olma şartları İşlem


( ne zaman 1 olur?)
0 0 0 0 ’ nın transferi
0 0 1 0
0 1 0 Toplama
0 1 1 Eldeli toplama
1 0 0 ̅ ̅ ’ nın ̅ ile toplanması
1 0 1 ̅ ̅ Çıkarma

1 1 0 1 Decrement
1 1 1 1 Her zaman ’ nın aktarımı

: Aritmetik işlemci çıkışı (1): Bütün bitler 1

̅ 0 ifadesinde 0 yazılırsa ̅ olur.

olma şartlarından bazılarını inceleyelim:


1. durumunda olur. Çünkü olduğunda elde çıkışı da toplam çıkış da olur.
2. durumunda olur. Çünkü daki bitlerin hepsinin 1 olması demektir
(n=bit sayısı). Bu değere 1 eklenirse olur.
olur.
3. durumunda olur.
0 ’ dir.
0

4. durumunda olur.

Örnek 3.1. Girişleri ve seçme girişi olan toplama ve çıkarma işlemlerini gerçekleştiren
2 bitlik aritmetik işlem birimini tasarlayınız.
𝐴 𝐵 𝐴 𝐵̅
için olsun
için olsun

𝐶𝑖𝑛 𝐶𝑖𝑛
FA FA

𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡
𝐹 𝐴 𝐵 𝐹 𝐴 𝐵̅ 𝐴 𝐵
36

𝐶𝑖𝑛
𝐴𝑖
𝑋𝑖
𝐾𝑜𝑚𝑏𝑖𝑛𝑎𝑠𝑦𝑜𝑛𝑒𝑙
𝐹𝑖 𝑋𝑖 𝑌𝑖 𝐶𝑖𝑛
𝐵𝑖 𝐷𝑒𝑣𝑟𝑒 FA

𝑌𝑖 𝑖: bit sayısı
𝑆

𝐶𝑜𝑢𝑡

0 0 0 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 1 1
1 0 0 0 1
1 0 1 0 0
1 1 0 1 1 ̅
1 1 1 1 0

11
00 01 10 00
01 11 10
0 1 1
0 1 1
1 1 1 1
1 1 1

Bu durumda devre aşağıdaki gibi çizilir:

𝐶𝑖𝑛 𝐴 𝐴 𝐵
𝐶𝑖𝑛

𝑋
𝐹
FA

𝑌
𝑆 𝐵 𝐶𝑜𝑢𝑡
𝐶𝑖𝑛
𝑋
𝐹
FA

𝑌
𝑆 𝐵
𝐶𝑜𝑢𝑡

Ödev. Girişleri A ve B olan seçme girişi S olan bir devrede “increment A” ve “decrement A”
işlemi yapılacaktır. Bu devreleri gerçekleştiriniz.
37
'
𝐴 𝐴
için olsun
için olsun

𝐶𝑖𝑛 𝐶𝑖𝑛
FA FA

𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡
𝐹 𝐴 𝐹 𝐴

3.3. Lojik Devrenin Tasarımı


Temel lojik işlemler: AND, OR ve NOT işlemi. Diğer lojik işlemler bu 3 temel lojik işlemin
toplamından oluşur.

𝐴𝑖
OR
𝐹𝑖 0 Lojik İşlem
AND
NOT 0 0 OR işlemi
𝐵𝑖 0 1 XOR işlemi
1 0 AND işlemi
1 1 ̅ NOT işlemi
𝑆 𝑆0

𝐴𝑖 𝐵𝑖

𝐹𝑖
×
1 bitlik lojik ünite MUX

𝑆 𝑆0
3.4. 1 Bitlik ALU Tasarımı
38

iken aritmetik işlem yapılır, iken lojik işlem yapılır (MUX × ’ liktir).
Aritmetik işlemci ve lojik işlemciyi ayrı ayrı yapmak karışık ve masraflı olacağından bunları
tek işlemciye yaptırabiliriz. Bu iş için aritmetik işlemci kullanılabilir.

𝐶𝑜𝑢𝑡
(genel ifadesi lojik işlem için)
𝑋𝑖
𝐹𝑖
Aritmetik
𝑌𝑖
İşlemci
Tabloya geçiş yapalım ve lojik işleme nasıl
𝐶𝑖𝑛 geçilebileceğini araştıralım.

0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Şimdi buradan lojik işleme çevirmeye çalışalım.


olduğunda değeri lojik işlemini verir
mi?
̅ ̅ (XOR işlemi) ifadesinde tablodan değer verip baktığımızda
için aritmetik işlemci ile lojik işlem değerleri eşit olur.
yapıldığında (lojik işlem seçildiğinde) yapılabilirse ALU, XOR işlemi yapar.
durumunda aritmetik işlemci fonksiyon tablosu şöyledir (Sayfa 35’ deki tablodan):

0
0 0 0
0 1 0
1 0 0 ̅
1 1 0

0 Lojik işlemler Lojik işlemin adı


1 0 0 OR
1 0 1 XOR
1 1 0 ̅ AND
1 1 1 ̅̅̅̅ ̅̅̅̅ NOT

Aritmetik işlemcinin yaptığı XOR ve NOT işlemleri aynı kalırken A’ nın transferi OR
işlemine ve XNOR işlemi AND işlemine çevrilmelidir ki lojik işlemler yapılmış olsun.
39

A’ nın transferinin OR işlemine çevrilmesi:

𝐴𝑖 𝐴𝑖 𝐹 𝐴𝑖 𝐵𝑖
𝐹 𝐴𝑖 𝐵𝑖
𝐵𝑖 𝐵𝑖
𝑆𝑖

XNOR işleminin AND işlemine dönüştürülmesi


0 durumunda XNOR işlemi AND işlemi haline dönüşsün.
0 durumunda , ̅ olduğu tablodan görülmektedir. XNOR işleminin
AND’ e dönüştürülmesi için bu değerler
ifadesinden değerinin elde edilmesi gerekmektedir.
Bu sebepten ve değişkenleri fonksiyonunda yerine yazılırken değişkeni kullanılır.
̅
̅̅̅ elde edilir. Bu ifadeden ifadesine ulaşmak için ilk ve
son lojik ifadelerin sıfırlanması gerekir. Bunun için ̅ olarak seçilmelidir.
̅ ̅̅
̅ ̅ olarak elde edilir, yani işlem AND’ e dönüşür.

𝐶𝑖𝑛
𝐴𝑖
̅𝑖
𝐵 𝐹 𝐴𝑖 𝐵𝑖
𝑆 FA

𝐶𝑜𝑢𝑡

ALU’ nun yaptığı işlemler


Seçme Girişleri Çıkış
İşlem
0
0 0 0 0 A’ nın transferi
0 0 0 1 A’ nın 1 fazlası
0 0 1 0 A ile B’ nin toplanması
0 0 1 1 A ile B’ nin toplam sonucunun 1 fazlası
0 1 0 0 ̅ A’ nın ̅ ile toplanması
0 1 0 1 ̅ A ile B’ nin farkının alınması
0 1 1 0 A’ nın 1 eksiği
0 1 1 1 A’ nın transferi
1 0 0 0 OR
1 0 1 0 XOR
1 1 0 0 AND
1 1 1 0 NOT ̅
40

Böylece tasarlanan lojik ünite ile aritmetik ünite birleştirilirse Şekil 3.3’ deki 1 bitlik
ALU elde edilir.

𝐶𝑖𝑛
𝑆
𝑆
𝑆0
𝐴𝑖
𝐵𝑖 𝑋𝑖

FA
𝐹𝑖

𝐵𝑖

𝑌𝑖

𝐶𝑜𝑢𝑡

Şekil 3.3. 1 bitlik ALU


41

4. DURUM REGİSTERİ (Status Register)

ALU’ da yapılan aritmetik işlemler hakkında bilgi verir. Örneğin elde var mı?, taşma
var mı?, sonucu sıfır mı? gibi…
Bu işlemlerin 4 tanesini ele alacağız:
 Elde (Carry) C ile gösterilir.
 Sayı sıfır (Zero) Z ile gösterilir.
 Sayı negatif (Negative) N ile gösterilir.
 Taşma (Overflow) V ile gösterilir.

C, Z, N, V: Her biri 1 bit yani 1 FF’ dur.

𝐵7 𝐵0 𝐴7 𝐴0

𝐒𝐞 𝐦𝐞 𝐠𝐢𝐫𝐢 𝐥𝐞𝐫𝐢
𝑆
𝐶 𝑆
𝐶7 8 bitlik ALU 𝑆0

𝐶𝑖𝑛 𝐄𝐥𝐝𝐞 𝐠𝐢𝐫𝐢 𝐢

𝑉 𝑍 𝑁 𝐶

𝐹7 𝐹 𝐹 𝐹4 𝐹 𝐹 𝐹 𝐹0

Şekil 4.1. 4 FF’ li durum registerı

4 durumu birden gösteren register ise 4 FF’ lu durum registeri olur.


: Zero : Negatif : Elde (Carry) : Taşma
ise ise ise ise
ise ise ise ise
42

𝐴7 𝐵7 𝐴 𝐵 𝐴0 𝐵0

𝐶𝑖𝑛7 𝐶𝑖𝑛 𝐶𝑖𝑛0


FA FA FA
𝐶𝑜𝑢𝑡 𝐶𝑜𝑢𝑡0 𝐶𝑖

𝐶𝑜𝑢𝑡7
𝐶𝑜 𝐹7 𝐹 𝐹0

Şekil 4.2. ALU’ nun içinde tam toplayıcıların detaylı çizimi

 : İşaret biti’ dir. ise işlem sonucu negatif, ise işlem sonucu pozitiftir.
7 0: işlem sonucu (çıkış)’ dur. 7: en anlamlı bit, 7 ise sonuç negatif, 7

ise sonuç pozitiftir. 7 çıkışı bitine bağlanır.


 Aritmetik işlemde elde varsa , yoksa olur. Eldenin olup olmadığı en son
elde biti ile belli olur. Onun için son tam toplayıcının elde çıkışı durum registerinin
bitine bağlanır.
 (zero)—sıfır biti: ise sayı sıfırdır, ise sayı sıfır değildir. Burada sayı
işlem sonucudur. ( 0 7)
̅̅̅0 ̅ ̅̅̅7 Buna göre çıkışlar NOR

işleminden sonra bitine bağlanır.


 : Taşma bitidir. Taşma biti işlem sonucunda sayının işaret değiştirdiğini gösterir.

Taşmanın olması için üç durumdan birinin oluşması gerekir:


i. Aynı işaretli iki sayının toplamı farklı işaretli çıkıyorsa taşma vardır.
a. ile sayılarının işareti farklı ise bunların toplamları sonucunda hiçbir

zaman taşma olmaz. Örneğin bir sayıda değer (- )’ den
büyük ’ den küçük ise

bitlik ise - 8
8 olur.

7 4 0 0

(XOR’ dan dolayı girişi 7 ’ dir.)


43

b. İşaretli sayılarda toplama işlemi:


İki negatif sayının toplamı pozitif ise taşma vardır.
İki pozitif sayının toplamı negatif ise taşma vardır.

7 4 0

7 7 taşma yok

7 4 0

7 7 taşma var

7 4 0

7 7 taşma yok

7 4 0

7 7 taşma var

ii. işleminde olduğu halde sonuç ’ nin işareti ile aynıysa taşma
vardır.
iii. Sağa veya sola kaydırmada (ötelemede) sayı işaret değiştiriyorsa taşma vardır.

𝐶0
𝑉 ö

𝑇𝑎 𝑚𝑎 𝑣𝑎𝑟

𝑉 𝑇𝑎 𝑚𝑎
44

5. KAYDIRICI (ÖTELEYİCİLER-SHIFTER)

Sola kaydırma 𝐹4 𝐹 𝐹 𝐹 Sağa kaydırma


için seri çıkış İçin seri çıkış

Sola kaydırma
Sağa kaydırma Lojik 0

𝑆
× × × ×
MUX MUX MUX MUX
𝑆0

𝐾4 𝐾 𝐾 𝐾

0 İşlem İşlem açıklaması


0 0 K’ yı Lojik 0 yap
0 1 F’ nin sola kaydırılmış halini K’ ya aktar
1 0 F’ nin sağa kaydırılmış halini K’ ya aktar
1 1 F’ yi K’ ya aktar
45

6. ALU İLE BUS ORGANİZASYONU

8
𝑅

𝐴 𝐵
𝑅 𝐴0 MUX MUX 𝐵0
8 A B
8

8 Lojik 1
Lojik 0
𝑅
× 𝑆
8
𝑆
Decoder Fonk.
𝐶 𝑆
ALU uçları
𝑆0
Elde biti 𝑀
𝑎 𝑏 𝐸 𝑅
8 Seri çıkış
Kaydırıcı K
Kaydırma
ucu

Çıkış

Kaydırma işlemi paraleli seriye dönüştürmek için kullanılır.


0 ise aritmetik işlem yapılır.
ise lojik işlem yapılır.
0 ise kaydırma yok. ise kaydırma var.
ise elde var. 0 ise elde yok (Elde biti bir FF’ dan yapılır).

Örnek 6.1. mikroişlemi için gerekli kontrol kelimesi nedir?


1. 0 bu durumda , MUX A çıkışına aktarılır.
2. 0 bu durumda , MUX B çıkışına aktarılır.
3. yani aritmetik işlem seçilir.
4. 4 0 toplama işleminin kontrol kelimesi
5. kaydırma yok
6. registerini etkin hale getirir.
Sonuçta bu mikroişlem için üretilmesi gereken kontrol kelimesi
𝑃 𝑃 𝑃4 𝑃 𝑃 𝑃
46

Örnek 6.2. mikroişlemi için gerekli kontrol kelimesi nedir?


1. 0 bu durumda , MUX A çıkışına aktarılır.
2. 0 bu durumda , MUX B çıkışına aktarılır.
3. yani aritmetik işlem seçilir.
4. 4 0 çıkarma işleminin kontrol kelimesi
5. kaydırma yok
6. registerini etkin hale getirir.
Sonuçta bu mikroişlem için üretilmesi gereken kontrol kelimesi

𝑃 𝑃 𝑃4 𝑃 𝑃 𝑃
47

7. İŞLEMCİ ÜNİTESİ

Giriş verileri

Registerlar 𝑛
Lojik 0, lojik 1,
𝑅 𝑅 𝑅 𝑅
𝑛 𝑛 Seri bilgi

8 1 4
A 2 MUX MUX 5 B
3 A B 6
7
D 8 ×8
9 Decoder
8 8
74138 Decoder
Durum registeri 10
11 F
𝑉 𝑍 𝑁 𝐶 ALU (74181)
12
7476 FF 𝐶𝑖𝑛

14
Kaydırıcı (74194) 15 H
16

Çıkış verileri decoder seçilerek 8


istenen registera yükleniyor. Çıkış verileri

A, B, D, H, F girişleri kontrol sinyalleri C ile sağa döndürme, C ile sola döndürme için
kontrol sinyalleri vardır. Kontrol sinyalleri toplamına kontrol kelimesi (control word) denir.

Kontrol Kelimesi

𝐻 𝐶𝑖𝑛 𝐹 𝐷 𝐵 𝐴

Clock darbesi ile hepsine belli bir süre verilir ve bu sürede gerekli işlem yapılmış olur
(Örneğin gibi).
İşlemci ünitesinin yaptığı işlemlere ait tablo şöyledir:
Seçme girişleri Seçilen yol ve yapılan işlem

0 0 0 Giriş Giriş Seçilmiyor Kaydırma yok


0 0 1 Sağa kaydırma
0 1 0 Sola kaydırma
0 1 1 Çıkışı sıfırla
1 0 0 (OR) - -
48

1 0 1 - C ile sağa döndürme


1 1 0 (AND) - C ile sola döndürme
1 1 1 ̅ - -

: MUX A’ nın girişine gelen bilgi : MUX B’ nin girişine gelen bilgi
: × 8 decoderin seçtiği registerlar : ALU’ nun çıkışı : Kaydırıcının çıkışı
Seçme girişleri 001 ( 0) ise MUX A girişi= , MUX B girişi= ve decoder çıkışı= registerini seçer.
ise ALU çıkışı olur. Kaydırıcı sağa kaydırma işlemi yapar.
Lojik 0 değeri MUX A girişine gelir ve aynı zamanda C biti 0 olur.
Lojik 1 değerini MUX A’ nın girişine ve C’ ye yükler.

C ile Sağa Döndürme (2 ile Bölme)

𝐶 𝑅𝑛 𝑅 𝑅 𝑅

𝑅 𝐶 ile sağa döndürme, 𝑅𝑛 𝐶, 𝐶 𝑅 olur

C ile Sola Döndürme (2 ile Çarpma)

𝐶 𝑅𝑛 𝑅 𝑅 𝑅

𝐶 𝑅 ile sola döndürme, 𝐶 𝑅𝑛 , 𝐶 𝑅 olur

Mikroişlem İşlem (Fonk)


100 001 010 001 0 000 ile ’ i topla, ’ ye koy
011 001 011 010 1 000 ’ den ’ i çıkart, ’ e koy
111 010 000 010 1 000 ve ’ i karşılaştır
000 000 101 000 0 000 Giriş verilerini ’ e koy
001 000 100 000 0 000 ’ i ’ e yükle.
Ç 001 000 000 000 0 000 ’ i çıkışa aktar
010 000 010 000 0 000 ’ yi sıfırla
000 000 110 000 0 011 ’ yı sıfırla
110 110 110 101 0 000 ’ yı sıfırla
001 000 001 000 0 010 ’ i sola kaydır
ö 010 000 010 000 0 101 ’ yi sağa döndür

 Girişten bir registera, bir registerdan diğerine ve bir registerdan çıkışa bilgi aktarımında ALU’ da ve
kaydırıcıda işlem yapılmamaktadır.
 Bir registerın değeri tekrar kendisine aktarılarak durum registerındaki elde biti (C) sıfır yapılabilir.
 Kaydırıcıdaki sıfırlama fonksiyonu seçilerek bir registerin değeri sıfırlanabilir. Aynı işlem
şeklinde de yapılabilir.
49

Örnek 7.1. Aşağıdaki mikroişlemlerin yapılması için işlem biriminin kontrol kelimesinin
değerini bulunuz.
a) b) c) d) ̅̅̅̅
e) f) (veya) g)
h) ö

Mikroişlem
111 011 100 001 0 000
100 000 010 011 0 000
001 000 001 000 1 000
̅̅̅̅ 010 000 010 111 0 000
101 000 010 000 0 000
001 010 011 101 0 000
011 000 011 000 0 001
110 000 110 000 0 110
ö

Örnek 7.2. Aynı işlem birimini kullanarak , , ve registerlerindeki işaretsiz


sayıların ortalamasını bulacak ve sonucu registerina koyacak bir mikroprogram
düzenleyiniz.

Mikroişlem
001 010 101 001 0 000
101 000 101 000 0 000
ö 101 000 101 000 0 101
011 100 110 001 0 000
110 000 110 000 0 000
ö 110 000 110 000 0 101
101 110 101 001 0 000
101 000 101 000 0 000
ö 101 000 101 000 0 101
50

8. AKÜMÜLATÖR REGİSTERİN YAPISI

Akümülatör register içindeki değeri sağa ve sola kaydırabilen, aritmetik mantık


biriminin yapabildiği toplama ve mantık işlemlerini yapabilen bir ardışıl devredir. Aşağıdaki
şekilde akümülatör registerin blok şeması görülmektedir.

𝑍
Register A 𝐷 𝑄

Kombinasyonel Kontrol
Z=0 ise akümülatör içeriği sıfır değildir.
Devre değişkenleri
Z=1 ise akümülatör içeriği sıfırdır.

𝐴 𝐵 𝐶𝑖𝑛
Veri Girişleri
Şekil 8.1. Akümülatör register blok şeması

Örnek bir akümülatör register kontrol biriminden gelen kontrol değişkenlerine göre
aşağıdaki tabloda görülen mikroişlemi yapmaktadır.

Çizelge 8.1. Örnek akümülatör mikroişlem tablosu


Kontrol değişkeni Mikroişlem Açıklama
Toplama
Sıfırlama
̅ A’ nın 1’ e tümleyenini alma
AND işlemi (VE)
OR işlemi (VEYA)
XOR işlemi
Sağa kaydırma
Sola kaydırma
A’ yı 1 artırma

a) Akümülatörde yapılan toplama işlemini gerçekleyelim:


Şimdiki Durum Girişler Gelecek Durum FF Uyarma Girişleri Çıkış

0 0 0 0 0 X 0
0 0 1 1 1 X 0
0 1 0 1 1 X 0
0 1 1 0 0 X 1
1 0 0 1 X 0 0
1 0 1 0 X 1 1
1 1 0 0 X 1 1
1 1 1 1 X 0 1
51

Karnough’ a aktarılması
01 10 01 10
00 11 00 11

0 0 1 0 1 0 X X X X
1 X X X X 1 0 1 0 1

̅̅̅̅ ̅ ̅̅̅̅ ̅

00 01 11 10

0 0 0 1 0
1 0 1 1 1

𝐶𝑖𝑛
𝐴
𝐽𝐴 𝑄
𝐵𝑖 𝐹𝐹
𝐴̅
𝑃 𝐾𝐴

𝐶𝑖𝑛

Şekil 8.2. 1 bitlik kombinasyonel devre (1 bit )

𝐵8 𝐴8 𝐵7 𝐴7 𝐵 𝐴 𝐾𝑜𝑚𝑏𝑖𝑛𝑎𝑠𝑦𝑜𝑛𝑒𝑙
𝑑𝑒𝑣𝑟𝑒 𝑔𝑖𝑟𝑖 𝑙𝑒𝑟𝑖

𝐶𝑜𝑢𝑡 𝐶𝑖𝑛
𝐹𝐴8 𝐹𝐴7 𝐹𝐴

𝐶𝑜𝑢𝑡 𝐶𝑖𝑛

𝐹𝐹 𝐹𝐹 𝐹𝐹 𝑅𝑒𝑔𝑖𝑠𝑡𝑒𝑟 𝐴

𝐴8 𝐴7 𝐴
Şekil 8.3. mikroişlemini gerçekleştiren devreye ait blok diyagramı
52

b) Akümülatörde yapılan sıfırlama (silme) işlemini gerçekleyelim:


olduğunda bütün FF’ lar sıfırlanacaktır (bütün FF içerikleri silinecektir).
bit için ve olduğunda olduğu için olur.

𝐴𝑖
𝐽𝐴 𝑄
𝐹𝐹
𝐴̅𝑖
𝑃 𝐾𝐴 𝑄̅

Şekil 8.4. mikroişlemini gerçekleştiren devre

c) Akümülatörde yapılan 1’ e tümleme işlemini gerçekleyelim: ̅


olduğunda ’ nın inversi alınır.
O halde olması gerekir. Bunun için ve

olmalıdır ( ).

𝐴𝑖
𝐽𝐴 𝑄
𝑃 𝐹𝐹
𝐴̅𝑖
𝐾𝐴 𝑄̅

Şekil 8.5. mikroişlemini gerçekleştiren devre

d) Akümülatörde yapılan VE işlemini gerçekleyelim:

0 0 0 0 X
0 1 0 0 X
1 0 0 X 1
1 1 1 X 0

Tablodan hareketle ̅ 4 elde edilir.

e) Akümülatörde yapılan VEYA işlemini gerçekleyelim:

0 0 0 0 X
0 1 1 1 X
1 0 1 X 0
1 1 1 X 0

Tablodan hareketle elde edilir.


53

f) Akümülatörde yapılan XOR işlemini gerçekleyelim:

0 0 0 0 X
0 1 1 1 X
1 0 1 X 0
1 1 0 X 1

Tablodan hareketle elde edilir.

g) Akümülatörde yapılan sağa kaydırma işlemini gerçekleyelim:

𝐴𝑖 𝐴𝑖
𝐽𝐴𝑖 𝑄
𝐴𝑖 𝐴𝑖 𝐴𝑖− 𝐴𝑖
𝐾𝐴𝑖
̅̅̅̅̅̅
𝐴𝑖
𝑆𝑎 𝑎 𝑘𝑎𝑦𝑑𝚤𝑟𝑚𝑎

Sağa kaydırmada FF’ un gelecek değeri soldaki FF’ un şimdiki değeri olduğundan söz konusu
mikroişlem için FF uyarma girişleri 7 ve ̅̅̅̅̅̅ 7 olacaktır.

h) Akümülatörde yapılan sola kaydırma işlemini gerçekleyelim:

𝐴𝑖− 𝐴𝑖
𝐽𝐴𝑖 𝑄
𝐴𝑖 𝐴𝑖 𝐴𝑖− 𝐴𝑖
𝐾𝐴𝑖
̅̅̅̅̅̅
𝐴𝑖−
𝑆𝑜𝑙𝑎 𝑘𝑎𝑦𝑑𝚤𝑟𝑚𝑎

Sola kaydırmada FF’ un gelecek değeri sağdaki FF’ un şimdiki değeri olduğundan söz konusu
mikroişlem için FF uyarma girişleri − 8 ve ̅̅̅̅̅̅
− 8 olacaktır.

i) Akümülatörde yapılan ‘1 artırma’ işlemini gerçekleyelim:


𝐴𝑖 𝐴𝑖 𝐴𝑖−
𝑄 𝑄 𝑄
𝐴𝑖 𝐴𝑖 𝐴𝑖−

𝐽 𝐾 𝐽 𝐾 𝐽 𝐾
𝐶𝑙𝑜𝑐𝑘

𝐻𝑖 𝐻𝑖 𝐻𝑖 𝑃 𝐻𝑖−

Bu durumda A registeri senkron bir sayıcı gibi tasarlanabilir.


, , , −
54

8.1. Akümülatör registerin ( ) sıfır olup olmadığının denetlenmesi

Akümülatör registerdaki sayı ise ̅ ’ dir. ise ’ dir.

̅̅̅̅̅̅
𝐴𝑖 𝐴̅𝑖 ̅̅̅̅̅̅
𝐴𝑖−
̅
𝑄 𝑄̅ ̅
𝑄
𝐴𝑖 𝐴𝑖 𝐴𝑖−

𝐶𝑙𝑜𝑐𝑘

𝑍𝑖 𝑍𝑖 𝑍𝑖−
𝑍𝑖

8.2. Bir Bitlik Akümülatör Fonksiyonu

Akümülatörün bir bitlik yapısı, her bir kontrol girişi için bulunan devreler birleştirilerek elde
edilebilir. Bu durumda;

̅̅̅̅ ̅ 7 − 8 −

̅̅̅̅ ̅ ̅ 4
̅ ̅̅̅̅̅̅ 7
̅̅̅̅̅̅
− 8 −

̅
55

9. KONTROL BİRİMLERİ

Sayısal sistemler, veri işlem (işlemci ünitesi) ve kontrol birimlerinden oluşmaktadır.


Veri işlem biriminde, sisteme gelen veriler okunmakta, işlenmekte ve sonuçlar bulunmaktadır.
Kontrol biriminde ise veri işlem birimindeki devrelerin aç-kapa (enable) girişlerine uygulanan
değerler (işlem başlatma işaretleri) bulunmakta ve böylece yapılacak işlemlerin sırası
belirlenmektedir (Şekil 9.1). Bu amaçla kontrol biriminde durumlar saklanmaktadır. Önceden
belirlenen algoritmaya göre bir sonraki durum değerleri bulunmaktadır. Bir sonraki durum
değeri, o andaki durum değeri ile, dış kontrol girişlerine ve veri işlem biriminden gelen sonuç-
durum değerlerine bağlı olarak belirlenmektedir.

Dış Kontrol Giriş


Girişleri Değerleri

İşlem Başlatma İşaretleri


Kontrol Veri İşlem
Birimi Birimi
Sonuç-Durum Değerleri

Çıkış
Değerleri

Şekil 9.1. Bir sayısal sistemde kontrol ve veri-işlem birimleri arasındaki bağıntılar

9.1. Kontrol Birimlerinin Yapıları

Sistemde uygulanan algoritmanın büyüklüğüne ve karmaşıklığına göre kontrol


biriminin gerçekleştirilmesinde değişik yöntemler uygulanmaktadır. Bu yöntemler başlıca
dörde ayrılmaktadır.

1. Her bir durum için bir FF kullanılması


Kontrol biriminin durum diyagramı bulunduktan sonra, her bir durum için bir FF
kullanılmakta ve FF çıkışları durumu belirlemektedir. Bu nedenle bir anda yalnız bir FF’ un
çıkışı 1 olmaktadır (Şekil 9.2). Bu tür kontrol birimleri, karmaşıklığı az olan sistemlerde
kullanılmaktadır.
56

Diğer kontrol
çıkışları
Dış kontrol 𝐷 𝑄 𝑇0
girişleri 𝐹𝐹
Kontrol
Birimi

𝐷 𝑄 𝑇
𝐹𝐹

CLK

Şekil 9.2. Kontrol biriminde her bir durum için bir FF kullanılması

2. Sıra registeri ve kod çözücü kullanılması


Pou yönteminde FF’ lar yerine bir register ve kod çözücü kullanılmaktadır (Şekil 9.3).
Bu yöntem biraz daha karmaşık sistemlerde uygulanmaktadır.

Dış kontrol Diğer kontrol


girişleri çıkışları

Kontrol 𝑛 Kod 𝑛
Şimdiki Sıralama 𝑛 Çözücü
Birimi
Durum Registeri 𝑇0 𝑇

Gelecek Durum

Şekil 9.3. Kontrol biriminde sıralama registeri ve decoder kullanılması

3. Programlanabilir Lojik Dizi (PLA-Programmable Logic Array) kullanılması


Yukarıdaki yöntemde kullanılan kontrol birimi ve kod çözücünün yerini
programlanabilir lojik dizi almaktadır (Şekil 9.4). Bu yöntem genellikle karmaşık sayısal
sistemlerde uygulanmaktadır.
Dış kontrol
girişleri
İşlem
Başlatma
PLA İşaretleri
Sıralama 𝑇0 𝑇𝑛
Registeri

Şekil 9.4. Kontrol biriminde PLA kullanılması


57

4. Mikroprogram kontrol
Bu yöntem daha karmaşık sistemlerde kullanılmaktadır. Burada ROM kullanılmakta
ve bir sonraki adres bilgisi ile devre birimlerinin işlem başlatma işaretleri bellekte
saklanmaktadır (Şekil 9.5). Devrenin izleyeceği durumlar ve bu durumlarda ve bu durumlarda
yapılacak işlemler, bellekteki kelimelerde sırasıyla saklanmaktadır. Bu nedenle belleğin
programlanması (içine gerekli bilginin saklanması) söz konusudur. Bu yöntemin
kullanılmasının yararı, kontrol devresinin ve içindeki bağlantılarının değiştirilmeden, belleğin
yeniden programlanarak yapılacak işlemleri sırasının değiştirilmesidir.

İşlem başlatma
Dış kontrol işaretleri
girişleri Bir 𝑇0 𝑇
sonraki Kontrol
Bir sonraki adresin Adres Belleği
adres bilgisi seçme Register ROM
devresi

Şekil 9.5. Mikroprogram kontrol birimi

Daha büyük sistemlerin gerçekleştirilmesinde mikroişlemciler kullanılmaktadır.


58

10. ALGORİTMİK DURUM MAKİNALARI

Algoritmik Durum Makinası (Algorithmic State Machine-ASM) ardışıl devrelere


verilen ikinci bir isimdir. Sayısal bir sistemin kontrol sırası ve veri işleme görevleri bir
donanım algoritmasıyla tanımlanır. Algoritma bir sorunun nasıl çözüleceğini belirten sonlu
sayıda işlem basamağından oluşur. Donanım algoritması belli bir cihaz parçasıyla problemi
uygulamak için kullanılan bir işlemdir.
Sayısal donanım algoritmalarını tanımlamak için özel olarak geliştirilen akış şemasına
ASM şeması denir. ASM şeması klasik akış şemalarına benzer, ancak farklı yorumlanır.
Klasik akış şemasında bir algoritmanın işlem basamakları ve karar yolları, zaman ilişkileri
dikkate alınmadan tanımlanır. ASM şeması ise hem olayların sırasını hem de sıralı kontrol
devresinin durumlarıyla bir durumdan ötekine geçilirken gerçekleşen olaylar arasındaki
zamanlama ilişkisini tanımlar.

10.1. ASM Şeması

Şema üç temel elemandan oluşur: Durum kutusu, Karar kutusu ve Koşul kutusu.
Kontrol sırasındaki bir durum Şekil 10.1’ deki gibi bir durum kutusu ile gösterilir. Kutu içine
kaydedici işlemleri ve ilgili durumdayken kontrol devresinin ürettiği çıkış sinyal isimleri
yazılan bir dikdörtgen şeklindedir. Sembolik bir adla gösterilen durum, kutunun üst sol
köşesine yazılır. Duruma verilen ikili kod ise üst sağ köşeye yazılır (Şekil 10.1).

İsim İkili kod 𝑇 011

Kaydedici işlemi 𝑹 𝟎
veya çıkış BAŞLA

Genel Özel
Gösterim Örnek

Şekil 10.1. Durum kutusu

Karar kutusu bir girişin kontrol alt sistemi üzerindeki etkisini tanımlar (Şekil 10.2).
59

0 1
Koşul

Çıkış Çıkış
Yolu Yolu

Şekil 10.2. Karar kutusu

Koşul kutusu ise Şekil 10.3’ de görülmektedir. Koşul kutusunun giriş yolunun, karar
kutusunun çıkış yollarından birisinden gelmesi gerekir. Koşul kutusunun içinde verilen
kaydedici işlemleri veya çıkışlar, giriş koşullarının yerine getirilmesi koşuluyla, belli bir
durum sırasında üretilir.
Karar kutusunun
çıkış yolundan

Kaydedici işlemi
veya çıkış

Şekil 10.3. Koşul kutusu

Şekil 10.4’ de koşul kutulu bir örnek verilmiştir. Kontrol devresi, durumundayken
bir BAŞLAT çıkış sinyali üretir. Kontrol durumundayken girişinin statüsünü kontrol
eder. ise silinir (0 yapılır); değilse aynen kalır. Her iki durumda da sonraki durum
’ dir.

BAŞLA

0 1
E

𝑹 𝟎

𝑭 𝑬

Şekil 10.4. Koşul kutulu örnek


60

10.2. ASM Bloğu

ASM bloğu, bir durum kutusundan ve çıkış yoluna bağlı bütün karar ve koşul
kutularından oluşan bir yapıdır. Bir ASM bloğu, bir girişe ve karar kutularının yapısıyla
temsil edilen herhangi bir sayıdaki çıkış yoluna sahiptir. ASM şeması, bir veya birbirine bağlı
birden fazla bloktan oluşur. Şekil 10.5’ de ASM bloğuna bir örnek verilmiştir.

𝑨 𝑨 𝟏

0 1
E

0 F 1 𝑹 𝟎

𝑇 𝑇 𝑇4

Şekil 10.5. ASM bloğu

Karar veya koşul kutuları olmayan bir durum kutusu basit bir blok oluşturur. ASM
şemasındaki her blok, bir saat darbesi aralığı içindeki sistem durumunu tanımlar. Şekil 10.5’
deki durum ve koşul kutuları içindeki işlemler, sistem durumundayken ortak bir saat
darbesiyle yürütülür. Aynı saat darbesi ayrıca sistem kontrol devresini ve ikili
değerleriyle belirlendiği şekilde , veya 4 sonraki durumlarından birine anahtarlar.
ASM şemasının durum diyagramı şeklinde gösterimi Şekil 10.6’ da verilmiştir.

𝐸𝐹
𝐸𝐹
𝐸

Şekil 10.6. ASM şemasının eşdeğeri olan durum diyagramı (şeması) ile gösterimi

Kontrol birimi tasarlamak için bazen ASM şemasını durum diyagramına çevirip daha
sonra da sıralı devre işlemlerini kullanmak daha uygun olmaktadır.
61

Örnek 10.1. Aşağıda ASM şeması verilmiş devrenin durum diyagramını çıkarınız.

𝑇0

0
X 𝑋̅ 𝑌̅
𝑋̅
1 𝑍

𝑋̅ 𝑌 Ş𝑎𝑟𝑡𝑠𝚤𝑧
𝑇0 𝑇 𝑇
𝑇
0 𝑋
Y
𝑍̅
1
𝑇

1 0
Z

Örnek 10.2. Aşağıda ASM şeması verilmiş devrenin durum diyagramını çıkarınız.

̅
𝑊
𝑇0

𝑊𝑋̅
𝑇0 𝑇

𝑊𝑋 𝑋̅ Z

W
0 𝑋̅ 𝑍̅ 𝑌̅
𝑌
1
𝑍
0 𝑋 𝑇 𝑇
X 𝑍̅

1
𝑇
𝑇

0
Y 1 0
Z
1
𝑇

1
0 0 1
Z X
62

Örnek 10.3. İçinde iki adet flip-flop (E,F) ve bir adet 4 bitlik sayıcı (A)’ nın bulunduğu bir
devrenin tasarlanması istenmektedir (A sayısının en anlamlı biti 4’ dür). Başla (S) işareti 1
olduğunda, devre A sayıcısını ve F flip-flobunu sıfırlayarak 0 durumundan durumuna
geçecek ve çalışmaya devam edecektir. Daha sonra işlemler durduruluncaya kadar, her saat
darbesinde sayıcı 1 artırılacaktır. Sayıcının ve 4 bitlerine bağlı olarak işlemler şu şekilde
denetlenecektir.
 Eğer ise sıfırlanacak ve sayıcı devam edecektir.
 Eğer ise birlenecek, sonra eğer 4 ise sayıcı devam edecek, fakat 4

ise durumuna geçerek birlenecek ve sayım duracaktır.


a) Bu devrenin ASM diyagramını (şemasını) çıkarınız.
b) Devrenin kontrol biriminin durum diyagramını ve (kontrol işaretlerine bağlı olarak) yapılan
fonksiyonları gösteriniz.
c) Devrenin işlem biriminin yapısını gösteriniz (E ve F flip-floplarının JK türü olduğunu
varsayınız ve JK giriş fonksiyonlarını bulunuz).
d) Devrenin kontrol birimini her bir durum için bir flip-flop kullanarak tasarlayınız (D türü
flip-flop kullanınız).
e) Devrenin kontrol birimini D türü flip-flop ve kod çözücü kullanarak tasarlayınız.
f) e şıkkında kullandığınız D türü flip-flopların girişlerini MUX’ lar kullanarak bulunuz.

a) b)
𝑆̅ ̅̅̅
𝐴

𝑆 𝐴 𝐴4
𝑇0 𝑇 𝑇

𝐴 ̅̅̅
𝐴4

𝑎𝑟𝑡𝑠𝚤𝑧
63

c)
Başla 𝑇0
𝑆
𝐴4 Kontrol 𝑇
Devresi
𝐴 𝑇
𝐶𝑝

𝐽 𝑄 𝐸

𝐹𝐹
𝐾
𝐴4 𝐴 𝐴 𝐴
𝑆𝑎𝑦 𝐹
𝐽 𝑄
ı ı 𝐶𝑝
𝐹𝐹
(Eş zamanlı, sil girişli)
𝑆𝑖𝑙 𝐾

𝐶𝑝

d) Durum diyagramı ve ASM şemasından hareketle


0
̅ 0

0
̅̅̅ ̅̅̅4

0 çıkışının tümleyen çıkışından alınması, 0 için 1 sinyalini sağlar. ̅ tümleyenini ( 0 ’ a ait


D-FF) 0 çıkışı olarak tutmak için D giriş fonksiyonuna fazladan bir inverter eklenir.
64

e)
Şimdiki Şimdiki Gelecek
Durum Durum Durum Girişler Giriş MUX-1 MUX-2 Çıkışlar
Sembolü Değerleri
0 0 0 0 0 X X ̅ 0 --- 1 0 0
0 0 0 1 1 X X 0 1 0 0
0 1 0 1 X 0 X ̅̅̅ --- ̅̅̅ 0 1 0
0 1 0 1 X 1 0 ̅̅̅4 --- ̅̅̅4 0 1 0
0 1 1 0 X 1 1 4 4 --- 0 1 0
1 0 0 0 X X X --- 0 0 0 0 1

𝑇
𝐴
𝐴4

𝑆 𝐷𝐺 𝐺
𝐷 𝑄 𝑇0
𝐴 𝐾𝑎𝑟𝑎𝑟
𝐴4 𝐷𝑒𝑣𝑟𝑒𝑠𝑖 𝐹𝐹
𝑄̅ 𝑇
×
𝐷𝑒𝑐𝑜𝑑𝑒𝑟

𝑇
𝑆 𝐷𝐺 𝐺
𝐷 𝑄
𝐴 𝐾𝑎𝑟𝑎𝑟
𝐴4 𝐷𝑒𝑣𝑟𝑒𝑠𝑖 𝐹𝐹
𝑄̅

𝐶𝑙𝑜𝑐𝑘 𝐶𝑙𝑒𝑎𝑟

Tablodan “Şimdiki durum”, “Sonraki durum” ve “Girişler” sütunları kullanılarak


aşağıdaki lojik ifadeler elde edilir.
4

0
̅̅̅ ̅̅̅4
f)
𝐺𝑖𝑟𝑖 𝑙𝑒𝑟 𝐷𝐺 𝐺
𝐷 𝑄 𝑇0
×
𝑀𝑈𝑋 𝐹𝐹
𝑆 𝑆0
𝑄̅ 𝑇
×
𝐷𝑒𝑐𝑜𝑑𝑒𝑟

𝑇
𝐺𝑖𝑟𝑖 𝑙𝑒𝑟 𝐷𝐺 𝐺
𝑆 𝑆0 𝐷 𝑄
×
𝑀𝑈𝑋 𝐹𝐹
𝑄̅

𝐶𝑙𝑜𝑐𝑘 𝐶𝑙𝑒𝑎𝑟
65
̅̅̅
𝐴 𝑆
0 0 𝐴

4
̅̅̅ ̅̅̅4 × 𝐷𝐺
̅̅̅
𝐴4 𝑀𝑈𝑋
𝑀𝑈𝑋

MUX girişleri şu şekilde belirlenir:


a) Herhangi bir durum süresince (örneğin 0’ ın ilk iki durumu) gelecek durumdaki değerlerinin hepsi
ise bu ’ ye ait MUX girişi alınır. Yukarıdaki tabloda 0’ a ait ilk iki durumunda
MUX’ a ait giriş değerleri “0” olduğu gibi.
b) Gelecek durumdaki ’ lerin Lojik 1 olduğu duruma ait giriş değeri bu ’ ye bağlı olan MUX’ un girişini
oluşturur. Örneğin yukarıdaki tabloda 0’ a ait ’ ye ait gelecek durumunda için MUX 2’ nin girişi
olur.
Bu durumda MUX 1’in ilk girişi Lojik 0, MUX 2’ nin ilk girişi olacaktır. 0 olmak üzere 3 durum
olduğuna göre × MUX kullanılır ve 4. girişleri boşta kalır (Kullanılan MUX’ un giriş sayısı durum sayısına
eşittir).
c) Seçilecek MUX’ da MUX un giriş sayısı problemdeki durum sayısına eşittir.

Örnek 10.4. 𝑇0

a) Durum diyagramını
çıkartarak kontrol birimini

0 tasarlayınız.
X
b) Her bir durum için bir
0 1
Y
𝑇 FF kullanarak kontrol
1 birimini tasarlayınız.

𝑇
c) FF-Decoder kullanarak
tasarlayınız.
d) MUX-FF kullanarak
tasarlayınız.
0 𝑭 1
𝑇4

0 1
𝑬
𝑇

𝑇7 𝑇
66

a) Ş𝑎𝑟𝑡𝑠𝚤𝑧
𝑋̅ 𝑌̅
𝑍
𝑋 Ş𝑎𝑟𝑡𝑠𝚤𝑧 𝐹
𝑇0 𝑇 𝑇 𝑇

𝐹̅
Ş𝑎𝑟𝑡𝑠𝚤𝑧 𝑋̅ 𝑌

𝐸̅
𝑇7 𝑇 𝑇 𝑇4
Ş𝑎𝑟𝑡𝑠𝚤𝑧 𝐸
Ş𝑎𝑟𝑡𝑠𝚤𝑧

0
̅̅ 0 7,

0 , ̅ 0

, 4
̅ ,
4 , ̅ 4 , 7

𝑇0
b) 𝑋
𝑌

𝑇 𝐷𝑇0
𝑄 𝑇0
𝑇 𝐷
𝑇7 𝐹𝐹

𝐷𝑇 𝑇
𝐷 𝑄

𝐹𝐹
⋮ ⋮
𝐷𝑇7 𝑄 𝑇7
𝐷

𝐹𝐹

𝐶𝑙𝑒𝑎𝑟 𝐶𝐿𝐾
67

c)
Şimdiki Şimdiki Gelecek
Durum Durum Girişler Durum MUX-1 MUX-2 MUX-3 Çıkışlar
Sembolü
0 0 0 0 0 X X 0 0 0 0 --- --- 1 0 … 0
0 0 0 1 X X X 0 0 1 0 --- 1 0 … 0
0 0 0 0 1 X X 0 1 0 0 ̅ --- 1 0 … 0
0 0 1 X X X X 0 1 0 0 0 0 1 … 0
0 1 0 X X X 1 0 1 1 ---
0 1 0 X X X 0 1 0 0 ̅ --- ---
0 1 1 X X X X 0 0 0 0 0 0
1 0 0 X X 1 X 1 0 1 1 ---
1 0 0 X X 0 X 1 1 0 1 ̅ ---
1 0 1 X X X X 0 0 0 0 0 0
1 1 0 X X X X 1 1 1 1 1 1
1 1 1 X X X X 0 0 0 0 0 0

̅ 4
̅ 0
̅ 4

0 4

𝐷𝐺 𝐺
𝐷 𝑄

𝐹𝐹
𝑄̅

𝑇0
𝐷𝐺 𝐺
𝐷 𝑄
𝑇
𝐹𝐹
×8
𝑄̅ 𝐷𝑒𝑐𝑜𝑑𝑒𝑟 ⋮
𝑇7
𝐷𝐺 𝐺
𝐷 𝑄

𝐹𝐹
𝑄̅

𝐶𝑙𝑜𝑐𝑘 𝐶𝑙𝑒𝑎𝑟
68

d) 𝐷𝐺 𝐺
𝐷 𝑄 𝑇0

⋮ 𝑀𝑈𝑋 𝐹𝐹 𝑇
𝑄̅
×8
𝑆
𝑋
𝑆0 𝑆 𝐷𝑒𝑐𝑜𝑑𝑒𝑟 ⋮
𝐷𝐺 𝐺
𝑌 𝐷 𝑄 𝑇7

⋮ 𝑀𝑈𝑋 𝐹𝐹
𝑄̅
𝑆0 𝑆 𝑆

𝐷𝐺 𝐺 𝑆0 ‘ lar 𝐺 ’ e bağlanacak
𝑋 𝐷 𝑄

⋮ 𝑀𝑈𝑋 𝐹𝐹 𝑆 ‘ ler 𝐺 ’ e bağlanacak

𝑄̅ 𝑆 ‘ ler 𝐺 ’ e bağlanacak
𝑆0 𝑆 𝑆

𝐶𝑙𝑜𝑐𝑘 𝐶𝑙𝑒𝑎𝑟

ÖDEV.
𝑇0
a) Durum diyagramını
çıkartarak kontrol birimini
tasarlayınız.
0 b) Her bir durum için bir
W
1 FF kullanarak kontrol
𝑇
birimini tasarlayınız.
c) FF-Decoder kullanarak
tasarlayınız.
0 𝑿 1 d) MUX-FF kullanarak
tasarlayınız.
𝑇 𝑇

1 0
𝒀 𝒀

0 1
0 1 1 0
𝒁 𝒁
69

11. PROGRAMLANABİLİR MANTIK DİZİSİ (PLA)

Gerçekleştirilecek lojik fonksiyonda değişken yada keyfi değer sayısının çok olduğu
durumlarda “Programlanabilir Mantık Dizisi (programmable logic array-PLA)” elemanının
kullanılması daha ekonomiktir. PLA’ da boole fonksiyonları çarpımların toplamı şeklinde
uygulanır (yani fonksiyon minimum terimler kanonik açılımına göre yazılmalıdır). PLA’ ya
ait blok gösterim Şekil 11.1’ deki gibidir.

𝑛×𝑘
𝑚 𝑔𝑖𝑟𝑖
𝑏𝑎 𝑙𝑎𝑛𝑡𝚤 𝑘 𝑚
𝑎𝑟𝑝𝚤𝑚 𝑡𝑜𝑝𝑙𝑎𝑚
𝑡𝑒𝑟𝑖𝑚𝑖 𝑡𝑒𝑟𝑖𝑚𝑖
𝑉𝐸 𝑘×𝑚 𝑉𝐸𝑌𝐴 𝑚 𝚤𝑘𝚤
𝑛 𝑔𝑖𝑟𝑖 𝑛×𝑘 𝑘𝑎𝑝𝚤𝑙𝑎𝑟𝚤 𝑏𝑎 𝑙𝑎𝑛𝑡𝚤 𝑘𝑎𝑝𝚤𝑙𝑎𝑟𝚤
𝑏𝑎 𝑙𝑎𝑛𝑡𝚤
Şekil 11.1 PLA blok gösterim

PLA’ nın büyüklüğü girişlerin, çarpım terimlerinin ve çıkışların sayısıyla tanımlanır


(Toplam terimlerinin sayısı çıkış sayısına eşittir). Tipik bir PLA’ da 16 giriş, 48 çarpım terimi
ve 8 çıkış vardır (TTL IC tipi 82S100).
Programlı bağlantıların sayısı × × kadardır.

Örnek 11.1. 3 girişli, 3 çarpım terimli ve 2 çıkışlı bir PLA devresini gerçekleyelim.

𝐴𝐵𝐶̅

𝐵
𝐴𝐵̅ 𝐶

𝐵𝑎 𝑙𝑎𝑛𝑡𝚤 𝑢 𝑙𝑎𝑟𝚤 𝑑𝑖𝑦𝑜𝑡 𝑑𝑖𝑟𝑒𝑛


𝑦𝑎𝑑𝑎 𝑡𝑟𝑎𝑛𝑠𝑖𝑠𝑡ö𝑟 𝑜𝑙𝑎𝑏𝑖𝑙𝑖𝑟
70

Yukarıdaki PLA’ da gerçekleştirilen fonksiyon şu şekildedir:


̅ ̅
Eğer bu PLA’ da ̅ ve ̅ ̅ ̅ fonksiyonu da gerçekleştirilirse program
tablosu şu şekilde olacaktır:

Terimler Girişler Çıkışlar

1 1 1 -- 1 0
̅ 2 -- 0 1 1 0
̅ 3 1 -- 0 0 1
̅̅ 4 -- 0 0 0 1

Fonksiyonlardaki terim sayısı terimler sütununa yazılıyor. Girişler sütununda değişkenlerin


aldığı değerler 1 veya 0 şeklinde gösteriliyor. Çıkışlarda da ’ leri 1 yapan değerler alınıyor.

𝐴 𝐴

𝑆𝑖𝑔𝑜𝑟𝑡𝑎 𝑑𝑖𝑟𝑒𝑛 𝑙𝑒𝑟 𝑆𝑖𝑔𝑜𝑟𝑡𝑎 𝑑𝑖𝑦𝑜𝑡𝑙𝑎𝑟

Örnek 11.2. ∑ ∑
PLA program tablosunu çıkarınız.
Önce fonksiyon sadeleştirilir.
00 10
00 01 11 10 01 11

0 1 0 1 0 0 1
0 0 0
1 0 1 1 1 1 1 0 0 0

̅ ̅ ̅ ̅

Aynı zamanda ve ’ nin “Lojik 0” olduğu durumlarda Karnough diyagramına aktarılır ve


kullanılacak VE (çarpım) kapılarının azaltılıp azaltılamayacağı dikkate alınır. Bunun için ̅
yazılırsa ( ̅ bulmak için Karnaugh’ da 0’ lar yerine 1 yazılır ve tekrar lojik ifade çıkarılır);
̅ ̅ ̅ ̅ ̅ ̅̅ ̅ ̅ ̅ ̅
̅ ve ’ nin iki teriminin aynı olduğu görülür. Böylece kullanılacak kapı sayısı 6’ dan 4’ e
düşürülmüş oluyor. PLA çıkışında ise inversli çıkıştan alınır.
̅̅̅̅̅
̅ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
̅ ̅ ̅ ̅ ̅̅ ̅ ̅ ̅ ̅
71

Buna göre PLA’ nın program tablosu şu şekilde olacaktır:

Terimler Girişler Çıkışlar

̅̅ 1 -- 0 0 1 1
̅̅ 2 0 -- 0 1 1
̅̅ 3 0 0 -- 1 0

𝐹 𝐹̅ 𝐹 𝐹 ö

11.1. Örnek Bir Problemin PLA ile Çözümü


𝑆̅ ̅̅̅
𝐴

Yandaki şekilde durum diyagramı verilen devreyi 𝐴 𝐴4


𝑆
𝑇0 𝑇 𝑇
PLA kullanarak tasarlayınız.
𝐴 ̅̅̅
𝐴4

𝑎𝑟𝑡𝑠𝚤𝑧

Durum tablosu aşağıdaki gibidir:


Şimdiki Şimdiki Gelecek
Durum Durum Durum Girişler Çıkışlar 𝑆 𝑇
Sembolü 𝐴 𝑇
0 0 0 0 0 X X 1 0 0 𝐴4 𝑇0
0 0 0 1 1 X X 1 0 0 𝑃𝐿𝐴
𝐺
0 1 0 1 X 0 X 0 1 0 𝐺 𝐷
0 1 0 1 X 1 0 0 1 0 Ş𝐷
𝐺
0 1 1 0 X 1 1 0 1 0
1 0 0 0 X X X 0 0 1

PLA program tablosu şu şekildedir:

Şimdiki Çarpım Şimdiki Gelecek Ş. D.’ nin


Durum Terimi Durum Girişler Durum Çıkışlar Açıklama
Sembolü
1 0 0 0 -- -- 0 0 1 -- -- ’ da 0
2 0 0 1 -- -- 0 1 1 -- -- ’ de 0
3 0 1 -- 0 -- 0 1 -- 1 -- ’ da
4 0 1 -- 1 0 0 1 -- 1 -- 4 ’ da
5 0 1 -- 1 1 1 0 -- 1 -- 4 ’ de
6 1 0 -- -- -- 0 0 -- -- 1 Şartsız 0 0

4
̅̅̅ 4

0
̅̅̅ ̅̅̅4 ̅̅̅̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅4
72

Önce girişler yazılır. Buna göre gelecek durumda bulunacak yazılır. Buna ait 0, ,
çıkışlarının 1 olduğu değerlerini yazıyoruz. Keyfi terimler çok fazla olduğundan Karnough
diyagramına gerek yoktur. 0’ ın 1 olduğu durumlar için 0 yazılır.

0
̅̅̅ ̅̅̅ ̅ ̅̅̅ ̅̅̅
̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅4 ̅̅̅ 4
̅̅̅

5 girişli PLA kullanılabilir ( 4)

Yada 0 ve için ayrı ayrı PLA kullanılabilir. Eğer ayrı ayrı PLA kullanılacak olursa 0 için
3 girişli 1 çıkışlı PLA kullanılabilir.
Eğer 5 girişli 3 çıkışlı bir PLA bulunabilirse bir PLA yeterli olur.

3 girişli 1 çıkışlı PLA için 0’ ın gerçekleştirilmesi aşağıdaki gibidir:

̅̅̅
𝐺 𝐺 ̅̅̅ 𝑆

𝑇0

𝑆
̅̅̅
𝐺 𝐺 ̅̅̅ 𝑆̅

Diğerleri de benzer şekilde tasarlanabilir. Bu örnekteki devre pratikte PLA ile


uygulanamayacak kadar küçüktür. Burada sadece örnekleme amacıyla verilmiştir. Ticari
piyasada mevcut tipik bir PLA’ da 10’ dan fazla giriş ve 50 kadar çarpım terimi olacaktır. Bu
kadar çok değişkenli bir uygulama için bilgisayar destekli bir sadeleştirme programına ihtiyaç
vardır.
73

12. LOJİK KAPILARDA FAN-OUT HESABI

Bir lojik kapının çıkışına bağlanabilecek aynı türden maksimum lojik kapının sayısına
fan-out değeri denir. İdeal bir lojik elemanın karakteristiği aşağıdaki şekilde olmalıdır.

Ç𝚤𝑘𝚤ş

𝐿𝑜𝑗𝑖𝑘 𝑉𝐷𝐷
𝐿𝑜𝑗𝑖𝑘 𝑉𝐷𝐷

𝑉𝐷𝐷 𝐺𝑖𝑟𝑖

Şekil 12.1. İdeal bir lojik kapının karakteristiği

12.1. Gürültü ve Gürültü Sınırı (Noisy Margin)


Sayısal devrelerde “Lojik 1” veya “Lojik 0” değerine etki eden sinyallere gürültü
denir. Bu gürültü lojik değerleri değiştirilebilir. Kritik gürültü değerlerine gürültü sınırı (noisy
margin) denir. Gürültüler direnç, yarı iletken elemanların gürültüsü ve dış etmenlerden
kaynaklanan gürültüler şeklindedir. Direnç ve yarı iletken gürültüleri elemanın içindeki
elektron hareketinden kaynaklanır ve buna “beyaz gürültü” denir. Dışarıdan hiçbir etki olmasa
da bu gürültü oluşur. Aynı zamanda montajı yapılan elemanların bacak bağlantıları kart
üzerinden çok yüksekte ise uçlar arası kapasitif yada endüktif etki oluşacağından gürültüye
neden olur.

𝐵𝐶
𝐵𝐶
𝑈 𝑙𝑎𝑟 𝑎𝑟𝑎𝑠𝚤𝑛𝑑𝑎
𝑒𝑛𝑑 𝑘𝑡𝑖𝑓 𝑣𝑒 𝑘𝑎𝑝𝑎𝑠𝑖𝑡𝑖𝑓
𝑔𝑒𝑙𝑖 𝑚𝑒𝑙𝑒𝑟 𝑜𝑙𝑢𝑟

Şekil 12.2. Malzeme montajından gürültü oluşumu


74

12.2. Fan-Out Hesabı


Şekil 12.3’ de görüldüğü gibi bir kapının çıkışına yine aynı türden kapılar bağlansın.
Bu durumda çıkışa bağlanan kapılar eşit miktarda ( ) akım çeker. Bu devrede

olacaktır. Örneğin hesaplanan maksimum kapı sayısı yani fan-out değeri 300 ise bu değer
aynı tür kapılar için hesaplanan değerdir. Farklı tür kapı bağlanırsa bu değer daha da
düşecektir.
𝐼

𝐼 𝐼

⋮ 𝑁 𝑎𝑑𝑒𝑡
𝐼

-
𝐼

Şekil 12.3. Bir kapı çıkışına aynı türde kapıların bağlanması

12.2.1. RTL kapılarında fan-out hesabı

𝑉𝐶𝐶 𝑉
Örnek 12.1.
𝑅𝐶
𝐹 𝐹
𝑅𝐶 𝑘 𝑅𝐵 𝐼
𝑅𝐵 𝑘 𝑇
𝑉0 𝐼 𝐼
𝑇0
𝐴 𝐴 ⋮ 𝑁 𝑎𝑑𝑒𝑡
𝐼
⋮ 𝑁 𝑎𝑑𝑒𝑡
𝐼

𝑅𝐶 𝐹𝑁
𝑅𝐵
𝑇𝑁 8

ğ
0 saturasyonda ise toprağa akar, 0 kesimde ise akım F kolunu takip eder.
Devrenin analizi yapılacak olursa;
1. girişine “lojik 0” verilirse 0 transistörü iletime geçmeyeceği için bir akımı
akmayacaktır. Dolayısıyla 0 çıkışında “lojik 1” değeri görülecektir ve iletime geçer.
75

2. girişine “lojik 1” verilirse 0 transistörü iletime geçer ( 0 kesime gider) ve bir akımı
akar. Dolayısıyla 0 çıkışında 0 değeri yani “lojik 0” görülecektir.

Birinci yol, kullanarak fan-out hesabıdır.


Girişteki gerilimin maksimum değerini ( ) alması durumunda 0 transistörü iletime geçer


ve giriş gerilimi aşağıdaki değerini alır.

Çıkışta oluşabilecek maksimum gerilim değeri ( ) 0 transistörünün kesimde olduğu zaman


oluşur. Bu durumda transistörü iletime geçer ve akım F yolundan akar.

olarak bulunur.

değeri 1 kapı sürülürse bulunan değerdir ve bu devre gürültüden oldukça az


etkilenir. Ancak soruda maksimum bağlanabilecek kapı sayısı istenmektedir. Maksimum kapı
sayısı değeri için (En kötü hal için) hesaplanır. Bu durumda

olacaktır. Bu durumda çıkışa N adet kapı bağlı olduğu


göz önüne alınarak eşitlik yeniden yazılırsa;


76

ℎ ℎ

Bu formül kullanarak N değeri hesaplanırsa


−0 8 0
olarak bulunur.
−0

İkinci yol, akımları kullanarak fan-out hesabıdır.


Süren kapının çıkışına bağlanan kapının yani transistörünün çekeceği akım kadardır.
Çıkışa bağlanacak kapıların çekeceği akım göz önüne alınarak süren kapı çıkışındaki akımın
0

olması beklenir. Eğer çıkışa bağlanan kapılar aynı türden ise bu durumda
olacağından yukarıdaki akım ifadesi
0

olacaktır. Buna göre önce akımı bulunmalıdır. Bunun için transistörünün iletim
durumunda olacağı göz önüne alınarak akımı hesaplanırsa;


0
0 0 8

0
0 0

bulunur.
NOT: değeri yada çıkabilirdi. Bu durumda da yine sonucun tamsayı kısmı
maksimum kapı sayısı olarak alınırdı yani fan-out değeri yine olurdu.
77

12.2.2. DTL kapılarında fan-out hesabı

Örnek 12.2. Aşağıda verilen devrenin analizini yaparak fan-out değerini hesaplayınız.
𝑉𝐶𝐶 𝑉

𝑅4 𝑘
𝑰𝑹𝟒 𝑅 𝑘 𝑰𝑫 𝑅4
𝐷 𝑅 𝑘 𝑅
𝐴 𝑰𝑹𝟑 𝑅

𝑰𝑩𝟏 𝑉0 𝐷
𝑇 𝑇
𝐵 𝐷 𝑃 𝑃
𝐷 𝑰𝑩𝟐 𝑰𝑪𝟐 𝐷 𝐷
𝑰𝑬𝟒 𝑇 𝑇
𝑅 𝑘 𝑅

𝑰𝑹𝟐

ℎ 8
A ve B girişlerine Lojik 0 verilirse ve iletime geçer Bu durumda
, ve kesime gider 0 olur.

A ve B girişlerine Lojik 1 verilirse ve kesime gider Bu durumda


, ve iletime geçer 0 olur.

0 çıkışına bağlanan kapının sürülebilmesi için 0 olması gerekmektedir. Yani


transistörünün iletimde olması gereklidir. Bu durumda transistörünün kolektör kolundan
akımı akacaktır. Çıkışa N adet kapı bağlandığında, her bir kapı akımını çekerse

ifadesi elde edilir.


akımını bulmak için devre üzerinde işaretlenen akımların sırasıyla bulunması
gerekmektedir.
4 4

8 8

4 4 4

4 ℎ

×
78

ℎ × bulunur.
− −0
0 dur. Buna göre 8 bulunur.
− − 0 07
olarak bulunur.
7

Bulunan bu değerlere göre ilk formül kullanılarak çıkış hesaplanabilir.


− 4−0 8
88 8 olarak
0

bulunur.

Ayrıca girişte oluşacak maksimum gerilim değeri şu şekilde hesaplanır. değeri


oluştuğunda , ve iletime geçer. Buna göre
8 8
olarak bulunur.
Ayrıca girişte oluşacak minimum gerilim değeri şu şekilde hesaplanır. değeri
oluştuğunda , ve kesime gider. Buna göre

olarak bulunur.

12.2.3. TTL kapılarında fan-out hesabı

Örnek 12.3. Aşağıda verilen devrenin analizini yaparak fan-out değerini hesaplayınız.
𝑉𝐶𝐶 𝑉

𝑰𝑹𝟏 𝑰𝑹𝟑 𝑅4 Ω

𝑅 𝑘 𝑅 𝑘
𝑰𝑩𝟒
𝑇4 𝑅 𝑘
A 𝑰𝑪𝟐
𝑇
𝑇
𝐷
B 𝑉0
𝑰𝑬𝟐 𝑰𝑩𝟑 𝑇 ⋮
𝑰𝑪𝟑
𝑇
𝑰𝑹𝟐 𝑅 𝑘 𝑰𝑬
79

A ve B girişlerine Lojik 0 verilirse iletime geçer


ve kesime gider Bu durumda
4 ve iletime geçer 0 olur.
A ve B girişlerine Lojik 1 verilirse kesime gider
ve iletime geçer Bu durumda
4 ve kesime gider 0 olur.

0 çıkışına bağlanan kapının sürülebilmesi için 0 olması gerekmektedir. Yani


transistörünün iletimde olması gereklidir. Bu durumda transistörünün kolektör kolundan
akımı akacaktır. Çıkışa N adet kapı bağlandığında, her bir kapı akımını çekerse

formülü ile fan-out sayısı bulunur.

4 4 transistörü kesimde olduğu için 4 olacaktır ve olur.


’ dir. Buna göre ℎ 8 ’ dir.
8

ℎ 8 olarak bulunur.
− − 0 07
olarak bulunur.
4
4 8
olarak bulunur.
0

You might also like