Özyeğin University, Çekmeköy Campus Nişantepe District, Orman Street, 34794 Çekmeköy - İSTANBUL
Phone : +90 (216) 564 90 00
Fax : +90 (216) 564 99 99
E-mail: info@ozyegin.edu.tr
Thesis Defense - Deniz İskender (MSCS)
Deniz İskender - M.Sc. Computer Science
Prof. Fatih Uğurdağ - Advisor
Prof. Sezer Gören Uğurdağ - Co-advisor
Date: 20.08.2020
Time: 10:00
Location: This meeting will be held ONLINE. Please send an e-mail to gizem.bakir@ozyegin.edu.tr in order to participate in this defense.
A C-COMPILER AND WORST-CASE EXECUTION TIME ANALYZER FOR VERYSIMPLECPU
Thesis Committee:
Prof. Fatih Uğurdağ, Özyeğin University
Assoc. Prof. Hasan Sözer, Özyeğin University
Asst. Prof. Onur Demir, Yeditepe University
Abstract:
VerySimpleCPU (VSCPU) is a microcontroller (MCU), initially developed at Özyeğin Univ., and later on, also at Yeditepe Univ. It proved to be a great teaching tool since 2012. VSCPU, more recently, proved to be also a research tool. RISC-V could be an alternative to VSCPU, where the emphasis is on microprocessors (uPs). Even the MCU version of RISC-V is harder to teach and manipulate than VSCPU. RISC-V's software toolchain is also very difficult to manipulate. Like any other CPU, a compiler would have made VSCPU a much more usable CPU. This thesis gave VSCPU its first compiler (a C-compiler), hence making it the very first Turkish CPU with a compiler. In addition, this thesis also contributed to our VSCPU toolchain a Worst-Case Execution Time (WCET) analyzer. Most microcontroller applications are hard real-time, and real-life execution of the code on the CPU may not easily catch the worst-case execution time. The best approach is doing WCET analysis, which needs to be at least customized for the CPU it targets in order to come up with accurate estimates. Besides the compiler and WCET works, this thesis has a third part, namely, optimization. Most open-source compiler components are for uPs, which have instructions that support stack based operations. However, MCUs usually do not have such instructions and, hence, can be better in area, power consumption, and clock frequency. The solution we used was to emulate a stack based processor on VSCPU through extra code generated by the compiler. However, that makes the program footprint larger, hence making the memory larger and program slower. Keeping the memory as small as possible is important especially in the case of implementing MCUs on FPGAs, which is our common VSCPU use case. The optimized compiler maps stack frames to heap frames and achieves 40% smaller program footprint.
Bio:
Deniz İskender was born in 1992. He received a B.Sc. degree in Computer Science from Ozyegin University in 2015. He worked at OBSS as a Java software developer between 2015 and 2017. He has experience in computer science, computer engineering, and software.
--------------------------------
Kişisel Verilerin Korunması/Aydınlatma Metni
Özyeğin Üniversitesi Fen Bilimleri Enstitüsü bünyesindeki programlarda, izleyici olarak katılınan online platformlarda gerçekleştirilen aleni akademik faaliyetlerin sadece idari ve yasal yükümlülüklerin yerine getirilmesi amacıyla kayıt altına alındığı, söz konusu kayıt ile elde edilen kişisel verilerin ilgililer tarafından başka bir amaçla kullanılamayacağı hususunda şahsınızı aydınlatır, toplantıya gönüllü katılım ile bu hususu beyan ve taahhüt etmiş olduğunuzu belirtir, gereğini önemle rica ederiz.
Fen Bilimleri Enstitüsü