Chulalongkorn University Theses and Dissertations (Chula ETD)

Other Title (Parallel Title in Other Language of ETD)

ซอฟต์โปรเซสเซอร์บนเอฟพีจีเอที่เปลี่ยนสภาพได้โดยใช้โครงสร้างพื้นฐานแอลแอลวีเอ็มมีเป้าหมายเพื่อระบบฝังตัวเฉพาะงานที่ใช้พลังงานต่ำ

Year (A.D.)

2020

Document Type

Thesis

First Advisor

Wanchalerm Pora

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Department (if any)

Department of Electrical Engineering (ภาควิชาวิศวกรรมไฟฟ้า)

Degree Name

Doctor of Philosophy

Degree Level

Doctoral Degree

Degree Discipline

Electrical Engineering

DOI

10.58837/CHULA.THE.2020.154

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.

Other Abstract (Other language abstract of ETD)

การคำนวณที่กำหนดค่าใหม่ได้ (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 ที่ออกแบบจากกระบวนทัศน์การเขียนโปรแกรมปกติ

COinS