Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
– 1 –
Lojik Tasarım
BIL-304: Bilgisayar Mimarisi
Dersi veren öğretim üyesi:
Dr. Öğr. Üyesi Fatih Gökçe
Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/
Adapted from slides of the textbook: http://csapp.cs.cmu.edu/
– 2 –
Lojik Kapılarla Hesaplama
Çıkışlar girişlerin Boolean fonksiyonlarıdır
Girişlerdeki değişikliklere sürekli olarak tepki verirler
Bir miktar, küçük bir gecikmeyle
a
bout
a
bout a out
out = a && b out = a || b out = !a
And Or Not
Gerilim
Zaman
a
ba && b
Yükselme gecikmesi
Düşmegecikmesi
VE VEYA DEĞİL
– 3 –
Kombinasyonel Devreler
Lojik Kapıların Geri Besleme Bulunmayan Bir Ağı
Girişlerdeki değişikliklere sürekli olarak tepki verir
Birincil çıkışlar (bir miktar gecikmeden sonra) birincil
girişlerin Boolean fonksiyon değerlerini alır
Geri beslemesiz Ağ
BirincilGirişler
Birincil Çıkışlar
– 4 –
Bit Eşitliği
Eğer a ve b eşitse 1 üretir
DonanımKontrol Dili (Hardware Control Language (HCL))
Oldukça basit bir donanım tanımlama dili (hardware description
language)
Boolean işlemler C’deki lojik işlemlere benzer bir sözdizim kuralına
sahiptir
İşlemciye ait kontrol lojik kısmını tanımlamak için kullanacağız
Bit eşita
b
eqbool eq = (a&&b)||(!a&&!b)
HCL ifadesi
– 5 –
Sözcük (Word) Eşitliği
64-bit sözcük boyutu
HCL ifadesi
Eşitlik işlemi
Boolean değer oluşturur
b63
Bit eşit
a63
eq63
b62
Bit eşit
a62
eq62
b1
Bit eşit
a1
eq1
b0
Bit eşit
a0
eq0
Eq
=B
A
Eq
Sözcük-seviyesinde ifadesi
bool Eq = (A == B)
HCL İfadesi
– 6 –
Bit-Seviyesinde Veri Seçici (Multiplexor)
Kontrol sinyali s
Veri sinyalleri: a ve b
Çıkış s=1 iken a, s=0 iken b’dir.
Bit MUX
b
s
a
out
bool out = (s&&a)||(!s&&b)
HCL İfadesi
– 7 –
Sözcük Veri Seçici (Word Multiplexor)
s kontrol sinyaline bağlı olarak
A veya B giriş sözcüklerinden
birini seçmeyi sağlar
HCL ifadesi
C’deki Case benzeri yapı
Bir dizi test:değer ikilisi
İlk başarılı testin değerini çıkışa
aktarır
Sözcük seviyesinde ifadesi
HCL ifadesi
b63
s
a63
out63
b62
a62
out62
b0
a0
out0
int Out = [
s : A;
1 : B;
];
s
B
A
OutMUX
– 8 –
HCL Sözcük Seviyesinde Örnekler
3 giriş sözcüğünün
minimumunu bulur
HCL case ifadesi
En son case eşitliği
garantiler
A
Min3MIN3BC
int Min3 = [
A < B && A < C : A;
B < A && B < C : B;
1 : C;
];
D0
D3
Out4
s0
s1
MUX4D2D1
2 Kontrol bitine bağlı
olarak 4 girişten birini
seçer
HCL case ifadesi
Ardışıl eşleme kabul
edilerek testler
basitleştirilir
int Out4 = [
!s1&&!s0: D0;
!s1 : D1;
!s0 : D2;
1 : D3;
];
3 Sözcüğün en küçüğü
4-yollu Veri seçici
– 9 –
OFZFCF
OFZFCF
OFZFCF
OFZFCF
Aritmetik Lojik Birim
Kombinasyonel lojik
Girişlere sürekli olarak tepki verir
Kontrol sinyali hesaplama fonksiyonunu seçer
Y86-64’teki 4 aritmetik/lojik işleme karşılık gelir
Aynı zamanda durum kodlarının değerlerini de hesaplar
A
L
U
Y
X
X + Y
0
A
L
U
Y
X
X - Y
1
A
L
U
Y
X
X & Y
2
A
L
U
Y
X
X ^ Y
3
A
B
A
B
A
B
A
B
– 10 –
Kaydediciler (Registers)
Veri sözcüğünü kaydeder
Assembly kodunda görülen program kaydedicilerinden farklıdır
Kenar tetiklemeli tutucuların bir araya gelmesiyle oluşur
Girişi saat sinyalinin yükselen kenarında yükler
I O
SaatSinyali
D
CQ+
D
CQ+
D
CQ+
D
CQ+
D
CQ+
D
CQ+
D
CQ+
D
CQ+
i7
i6
i5
i4
i3
i2
i1
i0
o7
o6
o5
o4
o3
o2
o1
o0
Saat Sinyali
Yapı
– 11 –
Kaydedicinin Çalışması
Veri bitlerini kaydeder
Çoğu zaman giriş ve çıkış arasında bir bariyer görevi görür
Saat sinyali yükselirken, girişi yükler
Durum = x
Yükselen
Saat Snyali
Çıkış = xGiriş = y
x
Durum= y
Çıkış= y
y
– 12 –
Durum Makinası Örneği
Biriktirici devre
Her bir saat
palsinde
yükleme veya
biriktirme yapar
Komb. Lojik
A
L
U
0
Çıkış
MUX
0
1
Saat Sinyali
Giriş
Yükle
x0 x1 x2 x3 x4 x5
x0 x0+x1 x0+x1+x2 x3 x3+x4 x3+x4+x5
Saat Sinyali
Yükle
Giriş
Çıkış