68

Bu proje, CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor yarışması için

Embed Size (px)

DESCRIPTION

Bu proje, CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor yarışması için “Logic and Computer Design Fundamentals”, M.Morris Mano, Charles Kime, Prentice Hall 2nd Edition, 2000. İsimli Kitap Temel alınarak MOMENTUM PROJE GRUBU tarafından hazırlanmıştır. MOMENTUM FİZİKSEL İŞLEMCİSİ. - PowerPoint PPT Presentation

Citation preview

Page 1: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 2: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Bu proje, CPU TURKEY 2008CPU TURKEY 2008

Türkiye İşlemcisini Tasarlıyor yarışması için

“Logic and Computer Design Fundamentals”, M.Morris Mano, Charles Kime, Prentice Hall 2nd Edition, 2000.

İsimli Kitap Temel alınarakMOMENTUM PROJE GRUBUMOMENTUM PROJE GRUBU

tarafından hazırlanmıştır.

Page 3: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

MOMENTUM MOMENTUM FİZİKSEL İŞLEMCİSİFİZİKSEL İŞLEMCİSİ

Page 4: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

İÇİNDEKİLER

• Sistemin Temel Özellikleri

• İşlemcinin Yapısı ve İşleyişi

• Dış bağlantılar

• Momentum Komut Çevirici

• Deney çıktıları

• Sonuçlar

Page 5: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

SİSTEMİN TEMEL ÖZELLİKLERİBu çalışmada;

• 16 bitlik veri yoluna sahip,• Memory to register, register to memory, register to

register veri transferlerini gerçekleştirebilen,• 8’i kullanıcı tarafından kontrol edilebilen toplam 17 adet

ACC yazmaçlı yazmaç ünitesine sahip,• CISC ve Von-Neumann Mimarisi mimarisinde, • 40 Mhz maksimum çalışma frekanslı,

Page 6: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• 8 ayrı adresleme modunda 45 değişik komutu koşturabilen • 1 veya 2 kelimelik komutlara sahip• 10 farklı koşul için dallanma yeteneği olan• Derleyici desteği ile program yazabilen• Mikroprogram kontrollü

bir işlemci tasarlanmıştır.

Page 7: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Tasarım, Xlinx Webpack programında yapılmış olup simulasyonda ModelSim programı kullanılmıştır.

• Hazırlanan sanal işlemci Spartan-3E Starter Kit’e gömülerek fiziksel işlemci hazırlandı.

• Son olarak da Board’un klavye, LCD , Monitör ve Seri Port ile haberleşmesi sağlanarak kontrolü kolaylaştırıdı.

Page 8: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Desteklenen Adresleme Kipleri

• Saklayıcı kipi (register)• Saklayıcı dolaylı kip (register indirect)• İvedi adresleme (immediate)• Doğrudan adresleme (direct)• Bağıl adresleme (relative)• Dolaylı bağıl adresleme (relative indirect)• Sıralı adresleme (indexed)• Dolaylı sıralı adresleme (indirect indexed)

Page 9: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Komut Kümesi

• NOP

• PSHR

• POPR

• RET

• RTI

• HALT

• PUSH• POP• INC• DEC• NEG• COM• SHR• SHL• SHRA• SHLA• ROR• ROL• RORC• ROLC

• MOVE• XCH• ADD• ADDC• SUB• SUBB• MUL• DIV• CMP• AND• OR• XOR• MULH• MULS

• JMP• CALL• BZ• BNZ• BC• BNC• BN• BNN• BV• BNV• SYSCALL

Operandsız Bir operand İki operand Program kontrol

Page 10: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Komut Kümesi• NOP No operation• PSHR Push registers• POPR Pop registers• RET Return (from a subroutine)• RTI Return from interrupt• HALT Halt• PUSH Push • POP Pop • INC Increment• DEC Decrement• NEG Negate• COM Complement

Page 11: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Komut Kümesi• SHR Shift right (logical)• SHL Shift left (logical)• SHRA Shift right arithmetic• SHLA Shift left arithmetic• ROR Rotate right• ROL Rotate left• RORC Rotate right with carry• ROLC Rotate left with carry• MOVE Move• XCH Exchange• ADD Add• ADDC Add with carry• SUB Subtract

Page 12: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Komut Kümesi

• SUBB Subtract with borrow• MUL Multiply (with microprogram)• DIV Division• CMP Compare• AND And• OR Or • XOR Executive-Or• MULH Multiply (with hardware)• MULS Multiply (with software)• JMP Jump• CALL Call ( a subroutine)• BZ Branch if zero• BNZ Branch if not zero• BC Branch if carry

Page 13: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Komut Kümesi

• BNC Branch if not carry

• BN Branch if negative

• BNN Branch if not negative

• BV Branch if overflow

• BNV Branch if not overflow

• SYSCALL System call (software interrut)

Page 14: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Sistem CISC mimarisindedir tasarlanmıştır VHDL yazımında öncelikle her eleman component halinde tasarlanmıştır. Daha sonra bu componentler birleştirilerek CPU oluşturulmuştur.

• İşlemlerin koşması için gerekli olan mikroinstruction ve kodlar donanımın içine yüklenmiştir.

Sistem yapısı donanım ve yazılım olarak ikiye ayrılır:

İŞLEMCİNİN YAPISI VE İŞLEYİŞİ

Page 15: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

I. Donanım

Temel olarak 3 birimden oluşur. Bunlar:

1. Veri yolu(Datapath)

2. Hafıza elamanı(Memory)

3. Kontrol ünitesi (Control Unit) dir.

Page 16: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 17: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

1. Veri Yolu

Veri yolu, alınan bilginin işlendiği kısımdır. Dört ana birimden oluşur. Bunlar ;

• Yazmaçlar (register file),

• Muxlar (mux A, mux B,mux D),

• Fonksiyon Ünitesi,

• PSR ile MSTS

olarak düşünülebilir.

Page 18: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

A) Register File

• 8’i kullanıcı tarafından, 8’i ise kullanıcı kullanımına kapalı olup mikro-komutlarca kullanılan toplam 16 adet ACC tipi yazmaçtan oluşur.

Page 19: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 20: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

B) Multipilexerler

• Verini gideceği yolu seçmek için kullanılır.

• Veriyolunda Mux A, Mux B ve Mux D çoklayıcıları vardır. Mux A ve Mux B fonksiyon ünitesi ve belleğe girişleri, Mux D ise veri yolundan çıkışları denetler

Page 21: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

C) Fonksiyon Ünitesi

• Fonksiyon ünitesi asıl isi yapan bölümdür. Gelen sinyali aritmetik, lojik veya kaydırma işlemlerine tabi tutarak işler.

• Yapısında bir adet aritmetik lojik ünite (ALU) ve bir adet kaydırıcı (Shifter) bulunur.

• ALU ise 2 ana bölümden oluşur, birincisi aritmetik işlemle yapan aritmetik ünitesi (AU), diğeri ise lojik işlemleri gerçekleştiren lojik ünitesidir.

Page 22: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Fonksiyon ünitesinin ayrıca 4 adet çıkısı vardır. Bunlar gerçeklenen işlemin sonucu hakkında yorum yapan çıkışlardır.

İşlemin sonucunda taşma varsa “V” çıkısı, elde varsa ” C” çıkısı, işlemi sonucu negatif ise “N” çıkısı, “0” ise “Z” çıkısı lojik ‘1’ verir. ‘0’ iken lojik ‘1’ verir.

• Fonksiyon ünitesinin, yapılacak fonksiyon seçen 5 bitlik FS girişi vardır.

Page 23: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 24: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 25: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

D) PSR ile MSTS

• PSR, makro durum bitlerinin saklandığı yazmaçtır. Bir önceki komut hakkındaki durum bayrağını saklar.

• PSR 4’ ü V C N Z bir biti EI olmak üzere 5 bitliktir.

• PSR ile MSTS Durum bayraklarının saklandığı yazmaçlardır.

Page 26: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• MSTS, mikro-durum bitlerinin saklandığı yazmaçtır. Bir önceki mikro-rutin satırı hakkındaki durum bayrağını saklar.

• MSTS ise sadece 4 bitlik v, c, n, z’yi hafızalamaktadır.

Page 27: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 28: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

2. Hafıza Ünitesi(Memory)

• Memory ünitemiz standart hafıza biriminin giriş ve çıkışlarına sahiptir.

• Data in, address in ve MO olmak üzere üç girişi, data out olarak da bir çıkışı bulunmaktadır.

• “Data in” ve “Address” girişleri, registerlardan çıkan “Data out” ve “Addres out” ana hatlarına bağlanmıştır.

Page 29: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Belleğimizin hücre genişliğini işlemcimizdeki veri yolu genişliği belirlemektedir. Veri yolu genişliğimiz 16 bit olduğu için hücre genişliği 16 bittir.

• Satır sayısını belirlemek için ise belleğin adres girişine veri yolunun adres çıkışının LSB 7 biti bağlanmıştır.

Page 30: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

3. Kontrol Ünitesi

• İşlemlerin akışı için kendini kontrol edecek kodları ve bu işlemlerin uygulandığı veri yolunu kontrol eden komutları üreten kısımdır.

• Kontrol ünitesi Genel olarak 4 ana kısım içerir;

Page 31: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• 1. Instruction Register: 16 bitlik Instruction Word’ün yazıldığı bölümdür. Veri, veri yolundan veya bellekten gelebilir.

Page 32: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• 2. Instruction to Microaddress Mapper: IRden gelen bilgiye ve o andaki Control Romun yolladığı bilgiye göre kendi içindeki romdan bir adresi seçer ve o adresteki bilgiyi Microsequencer’a yollar.

Page 33: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• 3.Microsequencer: Kontrol ünitesinin kalbidir. Komut akışının düzenini sağlayıp Control Rom’a uygulanacak olan komutun adresini yollar.

Page 34: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• 4.Kontrol ROM: Microsequencer’dan gelen adres bilgisinin karşılığı olan veriyi hem kontrol ünitesine hem de veri yoluna uygular.

Page 35: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

II. Yazılım

• Proje kapsamında yazılım ile kastedilen, mapping (haritalayıcı) ROM, kontrol ROM ve memory (hafıza elemanı)’e yazılması gereken kodlardır.

• Bu kodlar veri yolunda işlenecek bilgiyi seçer ve sıralar, ardından işlenen bilginin istenen konuma yazılmasını sağlar.

• Yazılım için gerekli olan ASM aşağıdadır.

Page 36: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 37: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Komut türüne göre değişiklik gösterse de genel olarak komutları işleme işi 5 mikro-rutinde gerçekleşir. Buna göre;

• İlk olarak hafıza elemanında işlenecek kod alınarak instruction register (komut yazmacı)’a yazılır.

• Buradan operasyon kodu(opcode)’nun ilk üç bitine bakılarak yapılacak işlemin operand sayısı belirlenir. Eğer operand sayısı “0”dan farklı ise operand alımı yapılır.

Page 38: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Daha sonra her işlem kendi operand sayısına göre yürütülür (EX,execution mikrorutini). Yürütülmekten kasıt, kontrol ünitesi çıkışlarının veri yoluna uygulanarak gerekli işlem sonuçlarının alınmasıdır.

• Executiondan sonra ise sıra veri yolundan çıkan sonucun ne yapılacağına karar vermeye gelmiştir. İşlemin özel durumlarına göre gerekli görülen sonuçlar memory veya yazmaçlara yazılır(WB, write-back mikro-rutini).

Page 39: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Seçilen işlemin dallanma olması durumu ise veri yolundan bağımsız, tamamen program sıralaması ile ilgili olup Hafıza elemanlarına yazılma yapılmaz.

• Son olarak ise dışarıdan bir kesme isteğinin olup olmadığını kontrol etmek için gerekli kesme sinyalleri kontrol edilir ve eğer yoksa yeni bir komut alabilmek için IF e yönlendirilir(INT, interrupt handling mikro-rutini).

Page 40: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

DIŞ BAĞLANTILAR

• Anahtar ve ledler

• Klavye

• Lcd

• Vga

• Rs-232

Page 41: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Anahtar ve Ledler

Page 42: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Klavye

• Klavyenin ikincil karakter özellikleri kullanılmamaktadır. Bunun yerine bazı tuşlara bazı görevler yüklenmiştir ve bu proje için yeterli olmaktadır.

• Klavyede bilgi girişi hexadecimal olarak yapılmalıdır.

• Görevli tuşlar ve görevleri şunlardır:

Page 43: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• 0,1,2,3,...,9,A,B,C,D,E,F: Hexadecimal sayı girmek için kullanılır.

• Esc: Clear_All(Reset) tuşudur. İşlemcideki bütün elemanların ilk halini geri yükler.

Page 44: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Enter: Klavyeden bilgi yükleme işleminde kullanılır. Load ve Stop açıkken istenilen bilgi ekrana yazılır. Yama işlemi bittikten sonra load “0”a çekilip “enter”e basılırsa yükleme gerçekleşir.

• TAB: Adres ve Data arasında geçişi sağlar. Yani adres yazıldıktan sonra taba basılarak dataya yada data konumundan adres konumuna devamlı geçişi sağlar.

Page 45: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• F1,F2,...,F7: LCD den görüntülenen bilgileri seçer. Detaylı bilgi raporda da verilmişti.

• G tuşu: Halt komutundan kurtarmak için gerekli “go” anahtarıdır

• S tuşu: LCD ekrana yazılan adres yada data bilgisinin tamamını temizler.

Page 46: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• R tuşu: PC’nin içeriğini sıfırlar. Daha önceki sürümde PC’yi sıfırlamak için Load ve Stop aynı anda ‘1’ yapılıyordu. Bu sürümde bu özellik Kaldırıldı. Nedeni ise bazı durumlarda sakıncaları olmasıydı. Bu sürümde PC’yi sıfırlamak için klavyeden “R” tuşuna basılır.

• Backspace: Silme tuşudur. Ekrana yazılan son harfi siler.

Page 47: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

LCD• Hâlihazırdaki işlemcide LCD’nin

modları ve modlardaki kalıplar şu şekildedir:

Mod= “000” için • REG1=0 x XX• REG2=0 x XX

Mod= “001” için • REG3=0 x XX• REG4=0 x XX

Mod= “010” için

• REG5=0 x XX

• REG6=0 x XX

Mod= “011” için

• REG7=0 x XX

• IR=0 x XX

Mod= “100” için

• PC=0 x XX

• SP=0 x XX

Page 48: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

***NOT: LCD ekrandaki bilgiler 16’lık tabanda gösterilir.

Mod= “111” için

• MOMENTUM• 2008

.

Mod= “101” için • M-ADR =0 x XX

• M-DATA=0 x XX

Mod= “110” için

• M-ADR =0 x XX•

M-DATA=0 x XX

Page 49: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

VGA• CPU nun içindeki bazı verileri öğrenebilmek için ekrana

çıktı aldık böylece CPU MOMENTUM’un hangi aşamada olduğunu veya yapılan işlemin sonuçları görebiliyoruz

Page 50: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

RS-232 Seri Port

• RS'232 seri portunun amacı işlemci çalışırken belleğe yeni komutlar yazabilmektir. Bu sayede sistem board üzerine bir kez kurulduktan sonra, tekrar tekrar derlenip yüklemeye gerek bırakmadan seri port aracılığıyla harici bir bilgisayardan programlanabilecektir.

• Ayrıca seri port ile Momentum Komut Çevirici haberleştirilerek, MKC yardımıyla işlemcinin diline çevrilen komutlar direk olarak işlemciye de yüklenebilmektedir.

Page 51: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

MOMENTUM KOMUT ÇEVİRİCİ

• Kullanıcı tarafından yazılan kodları CPU’nun tanıyacağı makine koduna çevirmek amacıyla MKC isimli kod çevirme programı hazırlanmış ve ekte kullanıma sunulmuştur.

• Kullanım için gerekli detaylı bilgi yardım mönüsünden rahatlıkla edinilebilinir.

Page 52: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• MKC kodu, çevirmenin yanında, çevirilen kodu alansal olarak inceleme, hata ayıklama, hex olarak çıktı verme olarak detaylı şekilde inceler.

• Çevrilen komutları “dosyaya yaz “ özelliği ile istenen bölümleri istenen dosyaya yazar.

• Bunu yanında komutlar “mikroişlemciye yükle” butonu ile, RS232 seri portu yardımıyla mikroişlemciye yüklenebilir. Bunun için butona basıldıktan sonra gerekli talimatlara uymak yeterli olacaktır.

Page 53: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 54: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 55: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 56: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

DENEY ÇIKTILARI

Sanal işlemci tasarlandıktan sonra tasarım boarda yüklendi ve board üzerine deneyler yapılmaya başlandı. Bunlardan bir örnek aşağıda fotoğraflarıyla beraber gösterilmiştir;

• Öncelikli olarak Project nevigatordan boarda yükleme yapılırken belleğe aşağıda görülen iki komut initial olarak yazılmıştır. Daha sonra bütün kodlar derlenerek boarda gömülmüştür.

Page 57: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için
Page 58: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Ardından boarda yüklenen tasarımın memorisinin içeriği F6 tuşuna basılarak kontol edilmiş ve girilen init memory datalarının belrtilen adreslere gerçekten yüklenmiş olduğu görülmüştür.

Page 59: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Regsterlerin ilk değerleri, sanal tasarımın yazmaç ünitesinde kendi register numaraları olarak atanmıştı. Bu durumda yazılan koda göre işlem sonucu olarak 3 numaralı registere hexadecimal olarak “18” sayısının yani “12” nin yazılmış olması gerekmektedir ki gerçekten sonuç doğru olarak görülmektedir.

Page 60: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Ardından dışarıdan girilecek olan bir kodun belleğe yazılıp, koşturulması amacıyla bir deney yapılmıştır. Buna göre MKC’ye bir add, bir jump ve bir halttan oluşan aşağıdaki programcık yazılmış;

Page 61: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Ve opcodeları klavye yardımıyla aşağıdaki gibi girilmiştir;

Page 62: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• ve beklenildiği gibi aşağıdaki başarılı çıktılar alınmıştır;

Page 63: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Görüldüğü gibi toplam sonucu olan “9” 4 numaralı yazmaca yazılmış ve PC, 12 numaralı adrese gitmiş ve halt komutu olduğu için oada beklemeye başlamıştır.

• Bu gibi deneylerin hemen hepsi başarılı sonuç vermiş ve denenen komutların tamamından doğru sonuçlar alınmıştır.

Page 64: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

SONUÇLAR

• Kodların derlenmesi sonucu alınan derleme sonuçları aşağıdaki gibidir:

Page 65: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

HDL Synthesis ReportMacro Statistics

• # ROMs : 9• 16x6-bit ROM : 1• 16x7-bit ROM : 8• # Multipliers : 1• 8x8-bit multiplier : 1• # Adders/Subtractors : 10• 10-bit adder : 1• 16-bit adder : 3• 16-bit subtractor : 1• 17-bit adder carry in : 1• 17-bit subtractor : 1• 5-bit adder : 1• 8-bit adder : 2• # Counters : 6• 10-bit up counter : 2• 2-bit up counter : 2• 32-bit up counter : 1• 4-bit up counter : 1• # Registers : 217• 1-bit register : 49• 10-bit register : 4• 11-bit register : 1• 16-bit register : 153• 3-bit register : 1• 32-bit register : 3• 5-bit register : 1• 64-bit register : 1• 8-bit register : 4• # Latches : 32• 1-bit latch : 19• 16-bit latch : 2• 4-bit latch : 8• 5-bit latch : 1• 6-bit latch : 1• 8-bit latch : 1

• # Comparators : 22• 10-bit comparator greatequal : 2• 10-bit comparator less : 1• 11-bit comparator greatequal : 4• 11-bit comparator lessequal : 4• 3-bit comparator not equal :1• 32-bit comparator greatequal : 2• 32-bit comparator less : 2• 32-bit comparator not equal : 2• 5-bit comparator greatequal : 1• 5-bit comparator less : 1• 7-bit comparator greatequal : 1• 7-bit comparator lessequal : 1• # Multiplexers : 18• 1-bit 16-to-1 multiplexer : 1• 1-bit 8-to-1 multiplexer : 1• 16-bit 128-to-1 multiplexer : 2• 16-bit 16-to-1 multiplexer : 2• 16-bit 4-to-1 multiplexer : 4• 16-bit 7-to-1 multiplexer : 2• 4-bit 4-to-1 multiplexer : 1• 4-bit 8-to-1 multiplexer : 4• 8-bit 4-to-1 multiplexer : 1• # Tristates : 6• 1-bit tristate buffer : 4• 31-bit tristate buffer : 1• 8-bit tristate buffer : 1• # Xors : 18• 1-bit xor2 : 18

Page 66: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

Advanced HDL Synthesis ReportMacro Statistics

• # FSMs : 1• # ROMs : 9• 16x6-bit ROM : 1• 16x7-bit ROM : 8• # Multipliers : 1• 8x8-bit multiplier : 1• # Adders/Subtractors : 10• 10-bit adder : 1• 16-bit adder : 3• 16-bit subtractor : 1• 17-bit adder carry in : 1• 17-bit subtractor : 1• 5-bit adder : 1• 8-bit adder : 2• # Counters : 6• 10-bit up counter : 2• 2-bit up counter : 2• 32-bit up counter : 1• 4-bit up counter : 1• # Registers : 2734• Flip-Flops : 2734• # Latches : 32• 1-bit latch : 19• 16-bit latch : 2• 4-bit latch : 8• 5-bit latch : 1• 6-bit latch : 1• 8-bit latch : 1

• # Comparators : 22• 10-bit comparator greatequal : 2• 10-bit comparator less : 1• 11-bit comparator greatequal : 4• 11-bit comparator lessequal : 4• 3-bit comparator not equal : 1• 32-bit comparator greatequal : 2• 32-bit comparator less : 2• 32-bit comparator not equal : 2• 5-bit comparator greatequal : 1• 5-bit comparator less : 1• 7-bit comparator greatequal : 1• 7-bit comparator lessequal : 1• # Multiplexers : 78• 1-bit 128-to-1 multiplexer : 32• 1-bit 16-to-1 multiplexer : 33• 1-bit 8-to-1 multiplexer : 1• 16-bit 4-to-1 multiplexer : 4• 16-bit 7-to-1 multiplexer : 2• 4-bit 4-to-1 multiplexer : 1• 4-bit 8-to-1 multiplexer : 4• 8-bit 4-to-1 multiplexer : 1• # Xors : 18• 1-bit xor2 : 18

Page 67: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

• Speed Grade: -4

• Minimum period: 26.173ns (Maximum Frequency: 38.207MHz)

• Minimum input arrival time before clock: 14.114ns

• Maximum output required time after clock: 13.283ns

• Maximum combinational path delay: 5.760ns

Page 68: Bu proje,  CPU TURKEY 2008 Türkiye İşlemcisini Tasarlıyor  yarışması için

İzlediğiniz için teşekkür ederiz…