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...
Main Authors: | , , , , , , , |
---|---|
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 |