Search In this Thesis
   Search In this Thesis  
العنوان
Extending a Modern RISC Instruction Set Performance Improvement \
المؤلف
Tawfik,Rizk Tawfik Rizk
هيئة الاعداد
مشرف / رزق توفيق رزق توفيق
مشرف / محمد واثق علي كامل الخراشي
مشرف / شريف رمزي سلامة أندراوس
مناقش / حسن طاهر درة
تاريخ النشر
2022
عدد الصفحات
63P:.
اللغة
الإنجليزية
الدرجة
ماجستير
التخصص
الهندسة الكهربائية والالكترونية
تاريخ الإجازة
1/1/2022
مكان الإجازة
جامعة عين شمس - كلية الهندسة - هندسة الحاسبات والنظم
الفهرس
Only 14 pages are availabe for public view

from 101

from 101

Abstract

Multimedia applications, simulators and machine learning algorithms are examples of
computer programs that require doing a set of repeated calculations over a large set of operands such as vectors and arrays. Improving the performance of such applications requires increasing the parallelism of those operations. Although replicating the CPU functional units would improve the performance, it would require increasing both the space and the complexity of the CPU. Adding to that, most of these applications usually requires less precision than the CPU precision, which results in computational power waste.Almost all commercial processors nowadays have a vector extension which is respon-
sible for executing a chain of instructions over a large set of operands efficiently. This extension is usually composed of multiple lanes, where each lane contains a variety of functional units. It also contains a large register file to exploit the locality of operands in executing these vector operations. However, not all these CPUs exploit the reduced precision we mentioned earlier.In this thesis, RISC-V, a modern open-source RISC CPU, is extended to support
integer operations fracturing within the Hwacha vector extension. The fracturing is done on two main components, the ALU and the integer multiplier unit. This modification allows up to two 32-bit operations and four 16-bit operations. The modification is implemented in Scala language on top of the Chisel Hardware framework. It is also designed with generality in mind, allowing any level of fracturing as long as the processor have the instruction support for that level of fracturing.The thesis also goes through the implementation of different possible methods of
fracturing integer multipliers, to suit different requirements of timing and fabrication space.