Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanMaurice Collins Değiştirilmiş 6 yıl önce
1
Tolga Ayav, K.Atilla Toker İzmir Yüksek Teknoloji Ensitütüsü
CPU-TURKEY 2008 CryptOdin Mikroişlemcisi Tolga Ayav, K.Atilla Toker İzmir Yüksek Teknoloji Ensitütüsü Ver:01 29/12/2018 K.Atilla TOKER
2
CPU-TURKEY CryptOdin – Genel Tanıtım
CryptOdin, özellikle gömülü sistem uygulamaları için tasarlanmış ve şifrelenmiş (kriptolu) program kodlarını çalıştırabilen 16 bitlik bir mikroişlemcidir. CryptOdin, detaylarını ayrı listede verdiğimiz komutları yürütüp, anahtar “dipswitch” ya da “crypt on/off” komutu ile kriptolu/kriptosuz seçilebilir, 16 bit bir ”pipeline” işlemci olarak tasarlanmıştır. Program tasarımı Vhdl ile yazılmış olup derlemesinde Xilinx/ISE programı, Simulasyonunda ise Mentor/ModelSim programı kullanılmıştır. 29/12/2018
3
CPU-TURKEY CryptOdin – Genel Tanıtım
Gömülü sistemlerde son derece önemli olabilecek konulardan biri de algoritmanın gizlenmesidir. Örneğin askeri amaçlı bir donanımın içerisinde çalışmakta olan programın gizlenmesi büyük önem taşıyabilir. CryptOdin, harici hafızada şifrelenmiş olarak saklanan program kodunu çalıştırarak en üst seviyede güvenlik sağlayacaktır. CryptOdin işlemcisinin ters mühendislik yöntemleriyle analiz edilmesini engelleyecek önlemlerin alınmasıyla (entegrenin üretiminde) elde edilecek güvenlik, kullanılan şifreleme standartının gücüne bağlı olacaktır. 29/12/2018
4
CPU-TURKEY CryptOdin – Detaylı Tanıtım
CryptOdin’in temel özellikleri: 16 bit adres ve 16 bit veri yolu Harvard Mimarisi 32 adet kayıtçı 38 adet komut 16 bit ve 32 bit olmak üzere iki farklı uzunlukta komut Pipelining Max. 68 MHz saat frekansı Kriptolu program çalıştırabilme 29/12/2018
5
CPU-TURKEY CryptOdin – Komut listesi
CryptOdin 38 adet işlem koduna sahiptir: Nop Add Ri,Rj; Addi Ri, #im Sub Subi Mul Ri,Rj Muli Mulu Inc Ri Dec Cmp Andr Andi Orr Ori Notr Ri ; Rxi Xorr Xori Sllr Srlr Slar Ri Srar Lw Rxi,address Sw Syscal address Hlt Beq offset Bne Ba Bf offset+extension BL Movi Ri, #im Movdi @Ri,Rj Movsi Mov Ri,Rj Movii Clr @Ri Ret 29/12/2018
6
CPU-TURKEY CryptOdin – İç Yapısı
İç yapısı mikroişlemci şematiğinde daha detaylı görülebilir (Sonraki slayt). CryptOdin’de 32 adet 16 bit register R0-R31 olarak “regfile.vhd” içinde tanımlanmıştır. Bunların dışında tasarımda; “Control Unit”, “EMAD-External Memory Access Unit with Decrypter”, “Instruction Register”, “Program Counter”, “ALU”, “Stack”, “datapath”, “Flags” ve “multiplexer” blokları mevcuttur. RAM/ROM ve “Program Memory” blokları dışarıda olacak şekilde tasarlanmştır. ALU’da çarpma operasyonları, “structural” olarak bir çarpım devresiyle değil “behavioral” olarak VHDL’de A*B ifadesiyle gerçeklenmiştir. Bu, FPGA’de hız avantajı sağlamaktadır. 29/12/2018
7
CPU-TURKEY CryptOdin – Şematik
29/12/2018
8
CPU-TURKEY CryptOdin – VHDL Sentezleyici Sonuçları
Hedef FPGA modeli Spartan3E - xc3s500e olarak seçilmiştir. Buna göre FPGA kullanımıyla ilgili sentezleyici raporu: Number of Slices: out of % Number of Slice Flip Flops: out of % Number of 4 input LUTs: out of % Number of IOs: Number of bonded IOBs: out of % IOB Flip Flops: Number of MULT18X18SIOs: 1 out of % Number of GCLKs: out of % Zamanlamayla ilgili rapor ise: Min. clock period: ns (Max. frequency: MHz) 29/12/2018
9
CPU-TURKEY CryptOdin – Simulasyon
Aşağıdaki örnek program (ROM_Ext.vhd içerisinde yer almaktadır) ile simüle edilen CryptOdin’in Modelsim çıktıları takip eden slaytlarda görülebilir: DEC R1 SW R1, 0003 MOVI R0, 0005 NOP INC R1 BEQ +02 INC R31 HLT Bu programın toplam çalışma süresi slaytlardan da görüleceği gibi 34 saat periyodudur (34 * ns). 29/12/2018
10
CPU-TURKEY CryptOdin – Modelsim Çıktısı - 1
29/12/2018
11
CPU-TURKEY CryptOdin – Modelsim Çıktısı - 2
29/12/2018
12
CPU-TURKEY CryptOdin - Sonuçlar
Cryptodin, yarışmanın şartnamesinde verilen tüm komutları çalıştırabilmektedir. Pipelining ile bir komut işleme süresi iki katına çıkartılmıştır. Minimum saat periyodu: ns olarak sentezleyici tarafından rapor edilmiştir. CPU şematiğinde gösterilen ve şifre çözme görevini üstlenecek olan EMAD ünitesi henüz gerçeklenmemiştir. EMAD.vhd şu anda herhangi bir şifre çözme gerçekleştirmeden giriş ve çıkışlarını içeride doğrudan birbirine bağlayan boş bir ünitedir. EMAD ünitesinde Blowfish algoritmasının gerçeklenmesi düşünülmüş olup üzerinde çalışmaya devam edilmektedir. 29/12/2018
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.