Kernel and Instruction Set Simulator Development for Programmable Processing Engine

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Master's thesis

Date

2023-12-11

Department

Major/Subject

Control, Robotics and Autonomous Systems

Mcode

ELEC3025

Degree programme

AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)

Language

en

Pages

42+0

Series

Abstract

Four different kennel programs as the building blocks for more advanced algo rithms were implemented with the instruction set of a novel reconfigurable systolic array processor. The Kernel programs then were tested on the existing Instruction Set Simulator of the processor (written in Python) to obtain the cycle counts and the general accuracy of the results from each kernel. The results of the simulations indicated that 4x4 and 8x8 matrix inversions are executed in 3275 and 7178 cycles, respectively. The cycle count for the Complex Reciprocal Kernel and for the Matrix-Vector Multiply Kernel, were 298, 16-24 cycles, respectively. Taylor expansion formula was used as the initial value calculator of the Complex Reciprocal Kernel with 6 iterations of a Newton-Raphson to update the reciprocal value and improve the results resulting a zero relative error after 6 iterations when the input is in the convergence range of the algorithm. Recursive Block partitioning method was used with combination to Complex Reciprocal Kernel was iteratively used to calculate the inverse of a matrix no bigger than 8x8 as its dimension with the zero relative error if the call to the Complex Reciprocal Kernel is within the acceptable range.

Description

Supervisor

Visala, Arto

Thesis advisor

Kumar, Navneet

Keywords

instruction set simulator (ISS), systolic array processing, matrix inversion, complex reciprocal, Kernel programs

Other note

Citation