1 / 18

BİSA CPU

Proje Danışmanı Yrd.Doç.Dr.Aydoğan Savran Proje Ekibi Arş.Gör.Özkan Akın Cihat Eroğlu(Proje Yetkilisi). BİSA CPU. Giriş Bisa Multiple-cycle Mikroişlemci Sistemin Genel Blok Diyagramı Hafıza Ünitesi(Memory) Veri yolu(Datapath)

amity
Télécharger la présentation

BİSA CPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proje Danışmanı Yrd.Doç.Dr.Aydoğan SavranProje Ekibi Arş.Gör.Özkan Akın Cihat Eroğlu(Proje Yetkilisi) BİSA CPU

  2. Giriş Bisa Multiple-cycle Mikroişlemci Sistemin Genel Blok Diyagramı Hafıza Ünitesi(Memory) Veri yolu(Datapath) Kontrol Ünitesi(Control Unit) Sentez Raporu ModelSim Çıktıları Referanslar Sunum ProgramI

  3. VHDL programlama dili temelli Xilinx 7.1 editörü kullanılarak program kodları özgün biçimde geliştirilen ve Model Sim XE II 5.8c simülasyon programı kullanılarak performans testi yapılan BİSA CPU basit ve temel düzeyde bir işlemci olarak tasarlanmıştır. BİSA’nın VHDL kod tasarımının yapısal olmasına özellikle dikkat edilmiştir.Alu,register file gibi farklı görevleri üstlenen alt kod yapıları oluşturulmuş ve bu yapılar 3 ana yapı altında toplanarak tüm işlemci yapısıyla bağlantılı hale getirilmiştir. GİrİŞ

  4. Bisa Multiple-Cycle mikroişlemcinin temel özelikleri aşağıdaki gibi sıralanabilir: VHDL kullanılarak tasarlanmıştır. Multiple Cycle-Hardwired Control temelli işlemci özelliğindedir. “Memory,datapath ve control unit “ olmak üzere 3 ana yapıdan oluşması Kod tasarımında iç içe yapılarin kullanılması dolayısıyla modüler bir yapı oluşturulması Geliştirilme aşamasında 25 temel komut yazılım kodu Xilinx’in VHDL editöründe oluşturulup Model Sim’de simülasyonla test edilmiş ve başarılı sonuç alınmıştır. Sistemi oluşturan 3 ana yapı hafıza ünitesi,kontrol ünitesi ve veri yolu ayrı ayrı alt yapılardan oluşmaktadır.Her bir alt yapı ayrı bir işlemi gerçekleştirmekte ve kendi aralarında koordineli çalışarak ana işlemciyi oluşturmaktadırlar. Sistemin Xilinx VHDL editöründe oluşturulmuş yazılım kodları koşturularak gerekli sonuçlar alınmıştır. BİsaMultiple-cycleMİkroİşlemcİ

  5. Sİstemİn Genel Blok DİyagramI

  6. BİSA Multiple-Cycle işlemci tasarımında ana yapılar(datapath vb.) ve iç yapılar(control memory,reg file vb.)arasındaki bağlantı ve işleyiş mantığının kod tasarımının yapılmasında bu şema kullanılmıştır.Fakat tasarımın gerektirdiği bazı durumlarda bağlantılarda birtakım değişikliklere gidilmiştir.Örneğin kontrol ünitesinde “control memory” çıkışındaki TD,TA ve TB bayrakları iptal edilerek “datapath“de register file girişleri uygun bir şekilde ayarlanmıştır.Ayrıca ALU’nun FS girişi şemada verildiğinden farklı olarak 4 bitten 5 bite çıkarılmıştır.

  7. HafIzaÜnİtesİ(Memory) Bisa’nın 3 ana yapısından birisi olan hafıza(memory)bloğu bu tasarımda şu görevleri üstlenmektedir:PC(Program Counter)dan veya A kaydedicisinden(registerinden) gelen adres bilgisini okunarak ilgili adres gözündeki 16 bitlik bilgi çıkışa aktarılmaktadır. Adres kaynağı seçimi memory girişindeki MUX M bloğu ile gerçekleştirilmektedir.Hafıza ünitesinin bu şekilde okuma modunda çalışması için yazılım kodlarında Read olarak belirlenen girişi high(aktif)konumda olmalıdır. Bu hafıza bloğunun diğer bir görevi de IR(Instruction Register)den gelen ivedi(immediate) bilginin veya B kaydedicisindeki bilginin MUX B bloğunun katkısıyla seçilerek PC veya A kaydedicisi tarafından adres gözüne yazılabilmesidir.Hafıza bloğunun bu şekilde yazma modunda çalışması için yazılımda MW olarak belirlenen girişi aktif durumda olmalıdır.Yazma modunda istenirse Read biti de aktif yapılarak hafıza ünitesine yazılan bilgi hafıza ünitesi çıkışında görülebilir.Sistemimizin tasarımında hafıza ünitesi 16 bitlik bilgi içeren 256 adet adres gözünden oluşmaktadır.

  8. Verİ yolu(Datapath) Bisa’nın diğer bir ana yapısı olan datapath bloğu farklı özellikte işlemlerin gerçekleştirildiği işlem sonuçlarının istenen kaydedicilere saklanabildiği bir blok görevi üstlenmektedir.Bu blok farklı görevleri üstlenen ve birbiriyle koordineli çalışan birtakım alt yapılardan oluşmaktadır.Bunlar,ALU,Register File,Mux M,Mux B ve Mux D olmak üzere 5 adettir.Her bir yapının üstlendiği görev aşağıda detaylı olarak verilmektedir.

  9. Register File Bisa mikroişlemci tasarımında veriyolunda gerçekleştirilen işlevlerin sonuçlarının kaydedildiği kaydedicileri(register)içeren register file bu tasarımda 8 adet register içermektedir.Her bir kaydedici kontrol ünitesinden gelen bilgiye göre hedef kaydedici, A kaynak kaydedicisi veya B kaynak kaydedicisi olarak kullanılabilmektedir.Yazılımda RW olarak atanan bitin aktif yapılmasıyla register filenin belirlenen hedef kaydedicisine alu dan veya memory den gelen bilgi kaydedilebilir. Arithmetic Logic Unit(ALU) Bisa mikroişlemci tasarımında aritmetik lojik ünitemiz 5 bitlik FS girişi ile 32 farklı işlevi gerçekleştirebilecek şekilde tasarlanmıştır.Tasarımda 24 farklı işlem başarıyla ModelSim simülasyon ortamında gerçeklenmiş ve doğru sonuçlar elde edilmiştir.Çıkışa yerleştirilen elde,taşma,negatif ve sıfır bayraklarıyla kontrol ünitesinin sistemin yönlendirilmesine katkıda bulunulmuştur. Her işlemin kod algoritması Ekler kısmında Yazılım kodları bölümünde incelenebilir.

  10. Mux B Bisa mikroişlemcisinde Mux B bloğu B kaydedicisinden gelen bilgi ile IR çıkışından gelen ivedi bilginin seçildiği bloktur.Seçim kontrol hafızası çıkışından gelen MB biti ile ayarlanmaktadır. Mux D Bisa mikroişlemcisinde Mux D bloğu alu çıkışından gelen bilgi ile memory çıkışından gelen bilginin seçildiği bloktur.Seçim kontrol hafızasından gelen MD biti ile sağlanmaktadır. Mux M Hafıza ünitesine adres bilgisinin PC den mi A kaydedicisinden mi geleceğini belirleyen bloktur.Seçim kontrol hafızasından gelen MM biti ile sağlanmaktadır.

  11. Program Counter(PC) IR’de yer alan DR ve SB bit gruplarındaki bilgiyle yüklenebilen PC,memory’nin hangi adres gözüne erişileceğinin dolayısıyla hangi komutun seçileceğinin belirlenmesinde görev alır.PC’nin girişindeki control memory’den gelen PI bayrağı aktifken PC 1 artırım yoluyla memory adres gözlerine erişirken,PL bayrağı aktif olduğunda IR’den de yüklenebilir ve bu değerin göstediği memory adres gözüne erişilir. Instruction Register(IR) IR(Komut kaydedicisi),bünyesinde barındırabileceği farklı opcode bilgileriyle farklı farklı komutların işletilmesinde görev almaktadır.Bu opcode bilgisi ile birlikte DR(Destination register) ve SA(Source A-A kaydedicisi için R0-R7 seçimi),SB(Source B-B kaydedicisi için R0-R7 seçimi)bilgileri IL aktif olmak şartıyla memory’den alınabilir. Mux C Mux C bloğu, Control Memory çıkışındaki NA‘dan gelen 8 bitlik sayı ile IR’den gelen 8 bitlik opcode bilgisi arasında seçim yapılan multiplexer(çoğullayıcı)ünitesidir.Bu seçim control memory ye saklanan MC biti yardımıyla yapılır.MC =’1’ ise IR’den gelen opcode bilgisi çoğullayıcı çıkışına alınır.MC = ‘0’ ise NA’dan gelen opcode bilgisi çoğullayıcı çıkışına alınır. . Kontrol Ünİtesİ(ControlUnit)

  12. Control Address Register(CAR) Mux C çıkışından alınan opcode bilgisi CAR’a iletilir.Bu bilginin CAR çıkışına iletilebilmesi için Mux S çıkışından gelen ve CAR’a giriş olarak bağlanan enable bitinin set edilmiş olması gerekir.Aksi takdirde CAR sadece 1 artırılır ve bir sonraki opcode bilgisi control memory ye aktarılmış olur. Mux S Alu’dan gelen sıfır,taşma,elde ve negatif bayraklarına göre Mux S çıkışı set edilir ve alçak seviyede bırakılır.Bu bayrak değerleri yüksek seviye olarak Mux S çoğullayıcı bloğuna geldiğinde çıkış set edilir aksi takdirde alçak seviyede bırakılır.Hangi bayrağın durumuna göre işlem yapılacağı control memory den gelen 3 bitlik MS sinyali ile belirlenir. Control Memory BİSA’da Control memory başta verilen blok diyagramdan farklı olarak 26 bit sayısına sahiptir.TA,TB,TD bitleri iptal edilmiş,PCCLR isminde PC’yi istenildiğinde halt komutundan farklı olarak sıfırlayan giriş eklenmiştir.Control memory genel olarak datapath memory ve control unit te gerçekleşen olayların belli şartlara bağlı olarak gerçekleşmesini sağlayan bayrakların yer aldığı hafıza bloğudur.BİSA’da bu sonuçlandırma aşamasında belirlenen 30 adres gözüne bilgi depolanmıştır.

  13. Timing Summary: Grade: -12 Minimum period: 11.950ns (Maximum Frequency: 83.683MHz) Minimum input arrival time before clock: 1.791ns Maximum output required time after clock: 14.013ns Maximum combinational path delay: No path found Sentez Raporu

  14. ModelSimÇIktIlarI

  15. [1]Logic And Computer Design Fundamentals,M.Morris Mano-Charles R.Kime,Prentice Hall, 2nd Edition [2]http://esd.cs.ucr.edu/labs/tutorial/VHDL Tutorial Learn by Example by Weijun Zhang Referanslar

More Related