Tez No İndirme Tez Künye Durumu
645398
Verysimplecpu and synthesis of customized multi-core microcontrollers / Verysimplecpu ve özelleştirilebilir çok çekirdekli mikrodenetleyicilerin sentezi
Yazar:ABDULLAH YILDIZ
Danışman: PROF. DR. SEZER GÖREN UĞURDAĞ ; PROF. DR. HASAN FATİH UĞURDAĞ
Yer Bilgisi: Yeditepe Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin:FPGA = FPGA ; Mikroişlemciler = Microprocessors
Onaylandı
Doktora
İngilizce
2020
216 s.
Bu tez çalışması, düşük maliyetli gömülü sistem uygulamalarına yönelik özelleştirilebilir çok çekirdekli mikrodenetleyicilerin (MCU'lar) sahada programlanabilir kapı dizileri (FPGA'ler) üzerinde tasarımı ve gerçeklenmesini önermektedir. Önermiş olduğumuz "C'den Çok Çekirdekli Mikrodenetleyici Sentezi" (MC2SC) metodolojisi, C programlarını girdi olarak alan ve ardından bunları derleyen, analiz eden, profillerini çıkaran ve çıktı olarak uygulamaya özel MCU'lar oluşturan bir tasarım akışı sağlar. Her bir MCU ayrı bir görev parçacığı kümesini diğerlerinden bağımsız olarak ve diğer görev parçacıklarından kaynaklı zaman kısıtları olmadan koşturabilir. Buna ek olarak, her bir MCU'nun kendine özel GPIO, I2C, SPI gibi çevre birimleri olabilir. Bu amaçla, basit, özelleştirilebilir ve Turing bütünlüğüne sahip olan VerySimpleCPU (VSCPU) adlı işlemciyi tasarladık ve temel mimarisini iki farklı komut kümesi mimarisi, bellek haritalı giriş/çıkış, paylaşılır bellek vb. işlevselliklerle genişlettik. Ayrıca, VSCPU için C derleyicisi, uygulama profilleyici, en kötü koşum süresi (WCET) analizcisi, çevirici (assembler) ve saat darbesi seviyesinde doğruluğa sahip benzetim aracını içeren bir araç kümesi (toolchain) geliştirdik. Bunlara ek olarak, uygulamanın uygulama profilleyici tarafından oluşturulan sistem profilini alarak uygulamaya özel donanımın RTL seviyesi tasarımını üreten donanım üretecini geliştirdik. Önermiş olduğumuz MC2SC metodolojisini beş farklı kullanım senaryosunda uygulayıp test ettik ve MC2SC metodolojisinin diğer donanım/yazılım (HW/SW) eş-tasarım ve eş-sentez tekniklerine alternatif olarak kullanılabileceğini gösterdik. VSCPU bilgisayar mimarisi eğitiminde de yararlı olduğunu kanıtladı. Bu sebeple, bu tez çalışması ayrıca bilgisayar mimarisi eğitiminde kritik öneme sahip konuların tartışıldığı bir araştırma çalışması içermektedir. Çalışmamızda bilgisayar mimarisi üzerine 25 farklı ders kitabı ve bilgisayar mimarisi eğitimi üzerine 38 makaleyi kapsayan bir araştırma yaptık ve bunları 18 kritik başlık açısından tetkik ettik. Bunlara ek olarak, bilgisayar mimarisini öğretmek için VSCPU'yu kullandığımız kendi yaklaşımımızı anlatıp sonuçlarımızı paylaştık.
This dissertation proposes the design and implementation of customizable multi-core microcontrollers (MCUs) on field programmable gate arrays (FPGAs) for low-cost embedded systems applications. Our proposed "Multi-Core Microcontroller Synthesis from C" (or shortly MC2SC) methodology provides a design flow that takes C programs as input, and then compiles, analyzes, profiles them and finally generates application-specific MCUs accordingly. Each MCU can run its own set of specific tasks in parallel and without tight scheduling constraints that are imposed by the other tasks within an application. In addition, each MCU can also have its own set of peripherals like GPIO, I2C, SPI, etc. For this purpose, we designed a simple, customizable, and Turing-complete soft processor named VerySimpleCPU (VSCPU) and extended its base architecture with various features including two different ISAs, memory-mapped I/O support, shared memory, etc. We also developed a toolchain for VSCPU that includes a C compiler, an application profiler, a worst-case execution time (WCET) analyzer, an assembler, and a cycle-accurate instruction set simulator. Furthermore, we developed a hardware generator that takes the system profile of the application, which is generated by the application profiler, and then generates the corresponding RTL design for the application. We evaluated and tested our proposed MC2SC methodology in five different use cases and showed that it can be used as an alternative to other hardware/software (HW/SW) co-design and co-synthesis techniques. VSCPU also proved useful in computer architecture education. Therefore this dissertation also includes a discussion of critical topics in computer architecture education. We surveyed 25 textbooks on computer architecture and 38 papers on computer architecture education from the perspective of 18 critical topics. We also introduced our own approach to teach computer architecture based on VSCPU and share our results.