DSpace Repository

A morphable FPGA soft processor using LLVM infrastructure targeting low-power application-specific embedded systems

Show simple item record

dc.contributor.advisor Wanchalerm Pora
dc.contributor.author Ehsan Ali
dc.contributor.other Chulalongkorn university. Faculty of Engineering
dc.date.accessioned 2021-09-22T23:25:36Z
dc.date.available 2021-09-22T23:25:36Z
dc.date.issued 2020
dc.identifier.uri http://cuir.car.chula.ac.th/handle/123456789/77072
dc.description Thesis (Ph.D.)--Chulalongkorn University, 2020
dc.description.abstract The reconfigurable computing (RC) aims to combine the flexibility of General-Purpose Processor (GPP) with performance of Application Specific Integrated Circuits (ASIC). There are several architectures proposed since RC’s inception in 1960s, but all have failed to become mainstream. The main factor preventing RC to become common practice is its requirement for implementers of algorithms (programmers) to be familiar with hardware design. In RC, a hardened processor cooperates with a dynamic reconfigurable Hardware Accelerator (HA) which is implemented on Field-Programmable Gate Array (FPGA). The HA implements crucial software kernel on hardware to increase performance and its design demands digital circuit expertise. In this paper a novel RC architecture is proposed that keeps the decades old programming practices intact while harnessing the power of HA. The architecture uses LLVM compiler infrastructure to receive an algorithm and then outputs the equivalent machine language, it then finds the most frequent instruction pairs and generates equivalent RC circuit called “Miniature Accelerator (MA)”. The instruction pairs are dynamically removed from pipeline and MA computed result replaces them in parallel. To demonstrate the concept the Fast Fourier Transform (FFT) algorithm which is core Digital signal processing (DSP) kernel is written in C and then executed on an ARM Cortex-M0. The execution of FFT function is improved by 14.12%. The proposed adaptive processor is fully backward compatible, compilation is automated, and no modification of exiting software or established programming paradigms is required.
dc.description.abstractalternative การคำนวณที่กำหนดค่าใหม่ได้ (Reconfigurable Computing: RC) มีจุดมุ่งหมายเพื่อรวมความยืดหยุ่นของ โปรเซสเซอร์เอนกประสงค์ (General-Purpose Processor: GPP) กับประสิทธิภาพของไอซีเอกประสงค์ (Application Specific Integrated Circuits: ASIC)  RC มีสถาปัตยกรรมหลายแบบตั้งแต่เริ่มมีการคิดค้นในปี 1960 แต่ทั้งหมดไม่สามารถกลายเป็นกระแสหลัก ปัจจัยหลักที่ขัดขวางไม่ให้ RC กลายเป็นแนวปฏิบัติทั่วไปคือข้อจำกัดที่ผู้ดำเนินการอัลกอริทึม (หรือ โปรแกรมเมอร์) ต้องเรียนรู้คุ้นเคยกับการออกแบบฮาร์ดแวร์แบบใหม่  ใน RC จะมีโปรเซสเซอร์คงตัว (Hard Processor: HP) ทำงานร่วมกับตัวเร่งแบบฮาร์ดแวร์ (Hardware Accelerator: HA) ซึ่งกำหนดค่าใหม่ได้แบบตามซอฟต์แวร์ ด้วยการตั้งค่าบนเอฟพีจีเอ (Field-Programmable Gate Array: FPGA) HA ช่วยทำงานทางซอฟต์แวร์บางส่วนบนฮาร์ดแวร์เพื่อเพิ่มประสิทธิภาพโดยรวม ในบทความนี้มีการเสนอสถาปัตยกรรม RC แบบใหม่ที่ช่วยให้แนวปฏิบัติด้านการเขียนโปรแกรมที่มีมาก่อนหลายปียังคงเดิมในขณะที่ใช้ HA ร่วมประมวลผลด้วย สถาปัตยกรรมนี้ใช้โครงสร้างพื้นฐานคอมไพเลอร์ LLVM เพื่อรับอัลกอริทึมแล้วสร้างภาษาเครื่องที่เทียบเท่า จากนั้นจะค้นหาชุดคำสั่งที่ใช้บ่อยที่สุดและสร้างวงจร RC ที่เทียบเท่ากันซึ่งเรียกว่า "Miniature Accelerator (MA)" ขุดคำสั่งจะถูกลบออกจากไปป์ไลน์ของ HP และผลลัพธ์จากการคำนวณของ MA จะไปแทนที่ เพื่อสาธิตแนวคิดนี้อัลกอริทึมเอฟเอฟที (Fast Fourier Transform: FFT) ซึ่งเป็นชุดคำสั่งหลักในการประมวลผลสัญญาณดิจิทัลถูกเขียนขึ้นด้วยภาษา C แล้วจึงประมวลผลบน ARM Cortex-M0 ร่วมกับ MA การทำงานของฟังก์ชัน FFT เร็วขึ้น 14.12%  เมื่อเทียบกับไม่มี MA ตัวประมวลผลที่กำหนดค่าใหม่ได้ที่เสนอนั้นเข้ากันได้แบบย้อนกลับอย่างสมบูรณ์ การคอมไพล์เป็นไปโดยอัตโนมัติ และไม่จำเป็นต้องแก้ไขซอฟต์แวร์ภาษา C ที่ออกแบบจากกระบวนทัศน์การเขียนโปรแกรมปกติ
dc.language.iso en
dc.publisher Chulalongkorn University
dc.relation.uri http://doi.org/10.58837/CHULA.THE.2020.154
dc.rights Chulalongkorn University
dc.subject.classification Computer Science
dc.subject.classification Engineering
dc.title A morphable FPGA soft processor using LLVM infrastructure targeting low-power application-specific embedded systems
dc.title.alternative ซอฟต์โปรเซสเซอร์บนเอฟพีจีเอที่เปลี่ยนสภาพได้โดยใช้โครงสร้างพื้นฐานแอลแอลวีเอ็มมีเป้าหมายเพื่อระบบฝังตัวเฉพาะงานที่ใช้พลังงานต่ำ
dc.type Thesis
dc.degree.name Doctor of Philosophy
dc.degree.level Doctoral Degree
dc.degree.discipline Electrical Engineering
dc.degree.grantor Chulalongkorn University
dc.subject.keyword ไมโครโปรเซสเซอร์แบบปรับได้
dc.subject.keyword การคำนวณที่กำหนดค่าใหม่ได้
dc.subject.keyword ตัวเร่งฮาร์ดแวร์
dc.subject.keyword อาร์เรย์เกทแบบตั้งโปรแกรมได้ภาคสนาม
dc.subject.keyword โครงสร้างพื้นฐานคอมไพเลอร์ LLVM
dc.subject.keyword ศูนย์ข้อมูล
dc.subject.keyword สถาปัตยกรรมคอมพิวเตอร์
dc.subject.keyword Adaptive microprocessor
dc.subject.keyword Reconfigurable computing
dc.subject.keyword Hardware accelerator
dc.subject.keyword Field-programmable gate array
dc.subject.keyword LLVM compiler infrastructure
dc.subject.keyword Data Center
dc.subject.keyword Computer architecture
dc.identifier.DOI 10.58837/CHULA.THE.2020.154


Files in this item

This item appears in the following Collection(s)

Show simple item record