An Optimization Framework for Codes Classification and Performance Evaluation of RISC Microprocessors

Pipelines, in Reduced Instruction Set Computer (RISC) microprocessors, are expected to provide increased throughputs in most cases. However, there are a few instructions, and therefore entire assembly language codes, that execute faster and hazard-free without pipelines. It is usual for the compiler...

Full description

Bibliographic Details
Main Authors: Syed Rameez Naqvi, Ali Roman, Tallha Akram, Majed M. Alhaisoni, Muhammad Naeem, Sajjad Ali Haider, Omer Chughtai, Muhammad Awais
Format: Article
Language:English
Published: MDPI AG 2019-07-01
Series:Symmetry
Subjects:
Online Access:https://www.mdpi.com/2073-8994/11/7/938
_version_ 1798004049618927616
author Syed Rameez Naqvi
Ali Roman
Tallha Akram
Majed M. Alhaisoni
Muhammad Naeem
Sajjad Ali Haider
Omer Chughtai
Muhammad Awais
author_facet Syed Rameez Naqvi
Ali Roman
Tallha Akram
Majed M. Alhaisoni
Muhammad Naeem
Sajjad Ali Haider
Omer Chughtai
Muhammad Awais
author_sort Syed Rameez Naqvi
collection DOAJ
description Pipelines, in Reduced Instruction Set Computer (RISC) microprocessors, are expected to provide increased throughputs in most cases. However, there are a few instructions, and therefore entire assembly language codes, that execute faster and hazard-free without pipelines. It is usual for the compilers to generate codes from high level description that are more suitable for the underlying hardware to maintain symmetry with respect to performance; this, however, is not always guaranteed. Therefore, instead of trying to optimize the description to suit the processor design, we try to determine the more suitable processor variant for the given code during compile time, and dynamically reconfigure the system accordingly. In doing so, however, we first need to classify each code according to its suitability to a different processor variant. The latter, in turn, gives us confidence in performance symmetry against various types of codes—this is the primary contribution of the proposed work. We first develop mathematical performance models of three conventional microprocessor designs, and propose a symmetry-improving nonlinear optimization method to achieve code-to-design mapping. Our analysis is based on four different architectures and 324,000 different assembly language codes, each with between 10 and 1000 instructions with different percentages of commonly seen instruction types. Our results suggest that in the sub-micron era, where execution time of each instruction is merely in a few nanoseconds, codes accumulating as low as 5% (or above) hazard causing instructions execute more swiftly on processors without pipelines.
first_indexed 2024-04-11T12:17:18Z
format Article
id doaj.art-b04906787f664d609dd8c0749a0ecb4c
institution Directory Open Access Journal
issn 2073-8994
language English
last_indexed 2024-04-11T12:17:18Z
publishDate 2019-07-01
publisher MDPI AG
record_format Article
series Symmetry
spelling doaj.art-b04906787f664d609dd8c0749a0ecb4c2022-12-22T04:24:15ZengMDPI AGSymmetry2073-89942019-07-0111793810.3390/sym11070938sym11070938An Optimization Framework for Codes Classification and Performance Evaluation of RISC MicroprocessorsSyed Rameez Naqvi0Ali Roman1Tallha Akram2Majed M. Alhaisoni3Muhammad Naeem4Sajjad Ali Haider5Omer Chughtai6Muhammad Awais7Department of Electrical and Computer Engineering, COMSATS University Islamabad, Wah Cantonment 47040, PakistanDepartment of Electrical and Computer Engineering, COMSATS University Islamabad, Wah Cantonment 47040, PakistanDepartment of Electrical and Computer Engineering, COMSATS University Islamabad, Wah Cantonment 47040, PakistanCollege of Computer Science and Engineering, University of Ha′il, Ha′il 81451, Saudi ArabiaDepartment of Electrical and Computer Engineering, COMSATS University Islamabad, Wah Cantonment 47040, PakistanDepartment of Electrical and Computer Engineering, COMSATS University Islamabad, Wah Cantonment 47040, PakistanDepartment of Electrical and Computer Engineering, COMSATS University Islamabad, Wah Cantonment 47040, PakistanDepartment of Electrical and Computer Engineering, COMSATS University Islamabad, Wah Cantonment 47040, PakistanPipelines, in Reduced Instruction Set Computer (RISC) microprocessors, are expected to provide increased throughputs in most cases. However, there are a few instructions, and therefore entire assembly language codes, that execute faster and hazard-free without pipelines. It is usual for the compilers to generate codes from high level description that are more suitable for the underlying hardware to maintain symmetry with respect to performance; this, however, is not always guaranteed. Therefore, instead of trying to optimize the description to suit the processor design, we try to determine the more suitable processor variant for the given code during compile time, and dynamically reconfigure the system accordingly. In doing so, however, we first need to classify each code according to its suitability to a different processor variant. The latter, in turn, gives us confidence in performance symmetry against various types of codes—this is the primary contribution of the proposed work. We first develop mathematical performance models of three conventional microprocessor designs, and propose a symmetry-improving nonlinear optimization method to achieve code-to-design mapping. Our analysis is based on four different architectures and 324,000 different assembly language codes, each with between 10 and 1000 instructions with different percentages of commonly seen instruction types. Our results suggest that in the sub-micron era, where execution time of each instruction is merely in a few nanoseconds, codes accumulating as low as 5% (or above) hazard causing instructions execute more swiftly on processors without pipelines.https://www.mdpi.com/2073-8994/11/7/938computer organizationmathematical programmingoptimizationmodelingperformance evaluationdynamic partial reconfiguration
spellingShingle Syed Rameez Naqvi
Ali Roman
Tallha Akram
Majed M. Alhaisoni
Muhammad Naeem
Sajjad Ali Haider
Omer Chughtai
Muhammad Awais
An Optimization Framework for Codes Classification and Performance Evaluation of RISC Microprocessors
Symmetry
computer organization
mathematical programming
optimization
modeling
performance evaluation
dynamic partial reconfiguration
title An Optimization Framework for Codes Classification and Performance Evaluation of RISC Microprocessors
title_full An Optimization Framework for Codes Classification and Performance Evaluation of RISC Microprocessors
title_fullStr An Optimization Framework for Codes Classification and Performance Evaluation of RISC Microprocessors
title_full_unstemmed An Optimization Framework for Codes Classification and Performance Evaluation of RISC Microprocessors
title_short An Optimization Framework for Codes Classification and Performance Evaluation of RISC Microprocessors
title_sort optimization framework for codes classification and performance evaluation of risc microprocessors
topic computer organization
mathematical programming
optimization
modeling
performance evaluation
dynamic partial reconfiguration
url https://www.mdpi.com/2073-8994/11/7/938
work_keys_str_mv AT syedrameeznaqvi anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT aliroman anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT tallhaakram anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT majedmalhaisoni anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT muhammadnaeem anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT sajjadalihaider anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT omerchughtai anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT muhammadawais anoptimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT syedrameeznaqvi optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT aliroman optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT tallhaakram optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT majedmalhaisoni optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT muhammadnaeem optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT sajjadalihaider optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT omerchughtai optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors
AT muhammadawais optimizationframeworkforcodesclassificationandperformanceevaluationofriscmicroprocessors