12
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/

Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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/

Page 2: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 3: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 4: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 5: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 6: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 7: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 8: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 9: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 10: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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ı

Page 11: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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

Page 12: Formal Processor Verification · Lojik Tasarım BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe ... Girişi saat sinyalinin yükselen kenarında

– 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ış