CPUTURKEY 2008 Crypt Odin Mikroilemcisi Tolga Ayav K












- Slides: 12
CPU-TURKEY 2008 Crypt. Odin Mikroişlemcisi Tolga Ayav, K. Atilla Toker İzmir Yüksek Teknoloji Ensitütüsü 08 -2008 Ver: 01 2/21/2021
CPU-TURKEY Crypt. Odin – Genel Tanıtım • Crypt. Odin, özellikle gömülü sistem uygulamaları için tasarlanmış ve şifrelenmiş (kriptolu) program kodlarını çalıştırabilen 16 bitlik bir mikroişlemcidir. • Crypt. Odin, 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/Model. Sim programı kullanılmıştır. 2/21/2021
CPU-TURKEY Crypt. Odin – 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. • Crypt. Odin, harici hafızada şifrelenmiş olarak saklanan program kodunu çalıştırarak en üst seviyede güvenlik sağlayacaktır. • Crypt. Odin 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. 2/21/2021
CPU-TURKEY Crypt. Odin – Detaylı Tanıtım • Crypt. Odin’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 2/21/2021
CPU-TURKEY Crypt. Odin – Komut listesi • Crypt. Odin 38 adet işlem koduna sahiptir: Nop Slar Ri Add Ri, Rj; Srar Ri Addi Ri, #im Lw Rxi, address Sub Ri, Rj; Sw Rxi, address Subi Ri, #im Syscal address Mul Ri, Rj Hlt Muli Ri, #im Beq offset Mulu Ri, Rj Bne offset Inc Ri Ba offset Dec Ri Bf offset+extension Cmp Ri BL address Andr Ri, Rj Movi Ri, #im Andi Ri, #im Movdi @Ri, Rj Orr Ri, Rj Movsi Ri, @Rj Ori Ri, #im Mov Ri, Rj Notr Ri ; Rxi Movii @Ri, @Rj Xorr Ri, Rj Clr Ri Xori Ri, #im Clr @Ri Sllr Ri Ret Srlr Ri 2/21/2021
CPU-TURKEY Crypt. Odin – İç Yapısı • İç yapısı mikroişlemci şematiğinde daha detaylı görülebilir (Sonraki slayt). • Crypt. Odin’de 32 adet 16 bit register R 0 -R 31 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. 2/21/2021
CPU-TURKEY Crypt. Odin – Şematik 2/21/2021
CPU-TURKEY Crypt. Odin – VHDL Sentezleyici Sonuçları • Hedef FPGA modeli Spartan 3 E - xc 3 s 500 e olarak seçilmiştir. Buna göre FPGA kullanımıyla ilgili sentezleyici raporu: – – – – • Number of Slices: Number of Slice Flip Flops: Number of 4 input LUTs: Number of IOs: Number of bonded IOBs: IOB Flip Flops: Number of MULT 18 X 18 SIOs: Number of GCLKs: 1020 out of 4656 21% 815 out of 9312 8% 891 out of 9312 20% 70 70 out of 92 76% 1 1 out of 20 5% 1 out of 24 4% Zamanlamayla ilgili rapor ise: – Min. clock period: 14. 511 ns (Max. frequency: 68. 912 MHz) 2/21/2021
CPU-TURKEY Crypt. Odin – Simulasyon Aşağıdaki örnek program (ROM_Ext. vhd içerisinde yer almaktadır) ile simüle edilen Crypt. Odin’in Modelsim çıktıları takip eden slaytlarda görülebilir: DEC SW MOVI NOP INC BEQ NOP INC HLT R 1, 0003 R 0, 0005 R 1 +02 R 31 Bu programın toplam çalışma süresi slaytlardan da görüleceği gibi 34 saat periyodudur (34 * 14. 511 ns). 2/21/2021
CPU-TURKEY Crypt. Odin – Modelsim Çıktısı - 1 2/21/2021
CPU-TURKEY Crypt. Odin – Modelsim Çıktısı - 2 2/21/2021
CPU-TURKEY Crypt. Odin - 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: 14. 511 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. 2/21/2021












