BİSA CPU   Proje Danışmanı Yrd.Doç.Dr.Aydoğan Savran   Proje Ekibi Arş.Gör.Özkan Akın.

Slides:



Advertisements
Benzer bir sunumlar
KAFA Open-Source/Open-Implementation, 32-bit CPU
Advertisements

X86 Assembly Programlama Dilinde
ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
SelCPU Temmuz 2008 Bilg.Bil.Müh.Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri
8259A Programlanabilir Kesme Denetleyicisi (PIC)
Prof. Dr. Eşref ADALI Yrd. Doç. Dr. Şule Gündüz Öğüdücü SürümA
Prof. Dr. Eşref ADALI Yrd. Doç. Dr. Şule Gündüz Öğüdücü SürümA
Bilgisayar Yapısı-Genel
CPU Tasarım – 2 Single – Cycle CPU Veriyolu Tasarımı
CPU Tasarım – 3 Single – Cycle CPU Controller Tasarımı
Veri İletiminde Hata Kontrol Yöntemleri
Numbers of Opcodes Nihal Güngör.
8088 Kesme Operasyonu.
SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar.
CPU (Merkezi İşlem Ünitesi)
Yapısal Program Geliştirme – if, if-else
Agah Burak DEMİRKAN Ahmet ÇOBAN Ahmet SÖNMEZ Uğurhan KUTBAY
BUYRUK İşlem kodu İşlemci yazacı veri
PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI
Marmara Ünv. Bilgisayar Mühendisliği Bölümü
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
Cpu Nasıl Çalışır?. -A- 2 tuşuna basılması MİB’ini uyarır ve Komut Cache’inde (Instruction Cache) bir şey olmadığından yeni veri üzerinde ilgili komutların.
Register ve Türleri Nihal GÜNGÖR.
Intel P6 Architecture Mustafa Çayır.
Temel Bilgisayar Yapısı ve Devreleri
Yıldız Teknik Üniversitesi
BİLGİSAYARIN MİMARİSİ, TEMEL BİLEŞENLERİ VE ÇALIŞMA MANTIĞI
İSTANBUL İLİNDEKİ ENDÜSTRİ MESLEK LİSELERİN KONUMUNU BELİRTEN HARİTA
Mikroişlemciler ve Mikrobilgisayarlar
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ
DERS 5 PIC 16F84 PROGRAMLAMA.
Ece Olcay Güneş & S. Berna Örs
CPU.
Ders 2 Donanım Birimleri.
Bilgisayar Mimarisi ve Organizasyonu
İŞLEMCİ MİMARİLERİ – Derya Işık
Bilişim Teknolojileri Öğretmeni İsmail ÖZTÜRK
Derslere grup öğrenci tanımlaması yapılabilen ve ders öğrenci sınıf listelerinin raporlarının alınabildiği ekrandır. Ekran 3 sekmeden oluşmaktadır. Bu.
Temel Bilgisayar Yapısı ve Devreleri
LD/LDI LD X0 LDI X0 X0 Y0 X0 Y1 Temel Komutlar
CCS C İLE PİC PROGRAMLAMA DERS -1-
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
Bulanık Mantık Mamdani Bulanık Netice Ve Bulanık Çıkarma
Bileşik Mantık Devreleri (Combinational Logic)
BİLGİSAYAR MİMARİLERİ 1.Hafta: Bilgisayar Mimarisine Giriş
BİLGİSAYAR MİMARİLERİ 2.Hafta: Bilgisayar Bileşenleri
Karşılaştırıcı ve Aritmetik İşlem Devreleri
BİLGİSAYAR MİMARİLERİ 7.Hafta: Çoklu-Çevrim İşlemci
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ
İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI. Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini.
İŞLEMCİLER İŞLEMCİLER.
Giri ş 1 Mikroişlemciler. İçerik 2 Tarihi geli ş im Tanımlar Mikroi ş lemci tabanlı sistemler Sayı sistemleri.
DERS 5 PIC 16F84 PROGRAMLAMA.
Mikrobilgisayar Tasarım Yapıları
CPU 1-Bit AMAÇ Bu sunumda 4 yazıcı (register) üzerinde RAM hafızada kayıtlı komut kodlarının belirlediği temel işlemleri yürüten 1 Bit’lik bir CPU tasarımını.
8.8 A Simple Computer Architecture
Mikroişlemciler Adresleme Modları.
Bilgisayar Donanım ve Sistem Yazılımı
Mikroişlemciler Giriş.
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
Mikroişlemcili Sistem Tasarımı
İşletim Sistemleri (Operating Systems)
Tolga Ayav, K.Atilla Toker İzmir Yüksek Teknoloji Ensitütüsü
Bilgisayar Mühendisliğine Giriş
Mikrobilgisayar Tasarım Yapıları
İşletim Sistemleri (Operating Systems)
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

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)

Sunum ProgramI 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

GİrİŞ 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.

Bİsa Multiple-cycle Mİkroİşlemcİ 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.

Sİstemİn Genel Blok DİyagramI

BİSA Multiple-Cycle işlemci tasarımında ana yapılar(datapath vb 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.

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.

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.

Arithmetic Logic Unit(ALU) 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.

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.

Kontrol Ünİtesİ(Control Unit) 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. .

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.

Sentez Raporu 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

ModelSim ÇIktIlarI

Referanslar [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