{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T00:31:43Z","timestamp":1773793903443,"version":"3.50.1"},"reference-count":48,"publisher":"Wiley","issue":"1","license":[{"start":{"date-parts":[[2025,1,16]],"date-time":"2025-01-16T00:00:00Z","timestamp":1736985600000},"content-version":"vor","delay-in-days":15,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"},{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/doi.wiley.com\/10.1002\/tdm_license_1.1"}],"funder":[{"DOI":"10.13039\/501100005011","name":"Assumption University of Thailand","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100005011","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["onlinelibrary.wiley.com"],"crossmark-restriction":true},"short-container-title":["Journal of Electrical and Computer Engineering"],"published-print":{"date-parts":[[2025,1]]},"abstract":"<jats:p>Reconfigurable computing (RC) theory aims to take advantage of the flexibility of general\u2010purpose processors (GPPs) alongside the performance of application specific integrated circuits (ASICs). Numerous RC architectures have been proposed since the 1960s, but all are struggling to become mainstream. The main factor that prevents RC to be used in general\u2010purpose CPUs, GPUs, and mobile devices is that it requires extensive knowledge of digital circuit design which is lacked in most software programmers. In an RC development, a processor cooperates with a reconfigurable hardware accelerator (HA) which is usually implemented on a field\u2010programmable gate arrays (FPGAs) chip and can be reconfigured dynamically. It implements crucial portions of software (kernels) in hardware to increase overall performance, and its design requires substantial knowledge of digital circuit design. In this paper, a novel RC architecture is proposed that provides the exact same instruction set that a standard general\u2010purpose RISC microprocessor (e.g., ARM Cortex\u2010M0) has while automating the generation of a tightly coupled RC component to improve system performance. This approach keeps the decades\u2010old assemblers, compilers, debuggers and library components, and programming practices intact while utilizing the advantages of RC. The proposed architecture employs the LLVM compiler infrastructure to translate an algorithm written in a high\u2010level language (e.g., C\/C++) to machine code. It then finds the most frequent instruction pairs and generates an equivalent RC circuit that is called miniature accelerator (MA). Execution of the instruction pairs is performed by the MA in parallel with consecutive instructions. Several kernel algorithms alongside EEMBC CoreMark are used to assess the performance of the proposed architecture. Performance improvement from 4.09% to 14.17% is recorded when HA is turned on. There is a trade\u2010off between core performance and combination of compilation time, die area, and program startup load time which includes the time required to partially reconfigure an FPGA chip.<\/jats:p>","DOI":"10.1155\/jece\/6965638","type":"journal-article","created":{"date-parts":[[2025,1,17]],"date-time":"2025-01-17T01:21:47Z","timestamp":1737076907000},"update-policy":"https:\/\/doi.org\/10.1002\/crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Innovative Hardware Accelerator Architecture for FPGA\u2010Based General\u2010Purpose RISC Microprocessors"],"prefix":"10.1155","volume":"2025","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3327-6460","authenticated-orcid":false,"given":"Ehsan","family":"Ali","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2025,1,16]]},"reference":[{"key":"e_1_2_9_1_2","volume-title":"Computability, Algorithms, and Complexity-Course 240","author":"Hodkinson I.","year":"1991"},{"key":"e_1_2_9_2_2","volume-title":"Introduction to Reconfigurable Computing Architectures, Algorithms, and Applications","author":"Bobda C.","year":"2007"},{"key":"e_1_2_9_3_2","unstructured":"Introducing the World\u2032s First 2 Nm Node Chip https:\/\/research.ibm.com\/blog\/2-nm-chip."},{"key":"e_1_2_9_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/MAHC.2002.1114865"},{"key":"e_1_2_9_5_2","first-page":"33","article-title":"Organization of Computer Systems: The Fixed Plus Variable Structure Computer","author":"Estrin G.","year":"1960","journal-title":"Western Joint IRE-AIEE-ACM Computer Conference"},{"key":"e_1_2_9_6_2","volume-title":"Introduction to Programmable Active Memories","author":"Bertin P.","year":"1990"},{"key":"e_1_2_9_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPGA.1997.624600"},{"key":"e_1_2_9_8_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-63173-9_52"},{"key":"e_1_2_9_9_2","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0057638"},{"key":"e_1_2_9_10_2","first-page":"107","article-title":"Advanced Simulation in the Configurable Massively Parallel Hardware MereGen","volume":"1259","author":"Tangen U.","year":"2000","journal-title":"Coupling of Biological and Electronic Systems: Proceedings of the 2nd Caesarium"},{"key":"e_1_2_9_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1978.1674990"},{"key":"e_1_2_9_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.204677"},{"key":"e_1_2_9_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/SAMOS.2012.6404181"},{"key":"e_1_2_9_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/JSSC.2003.818292"},{"key":"e_1_2_9_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPGA.1993.279481"},{"key":"e_1_2_9_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPGA.1995.477415"},{"key":"e_1_2_9_17_2","doi-asserted-by":"publisher","DOI":"10.1007\/0-387-27705-6_11"},{"key":"e_1_2_9_18_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45234-8_93"},{"key":"e_1_2_9_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2000.854393"},{"key":"e_1_2_9_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2004.104"},{"key":"e_1_2_9_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2017.8046315"},{"key":"e_1_2_9_22_2","article-title":"High Performance Scalable FPGA Accelerator for Deep Neural Networks","author":"Srinivasan S.","year":"2019","journal-title":"arXiv"},{"key":"e_1_2_9_23_2","article-title":"A Soft Processor Overlay With Tightly-Coupled FPGA Accelerator","author":"Ng H.","year":"2016","journal-title":"arXiv"},{"key":"e_1_2_9_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2015.42"},{"key":"e_1_2_9_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2016.7783710"},{"key":"e_1_2_9_26_2","doi-asserted-by":"publisher","DOI":"10.3390\/jlpea12010004"},{"key":"e_1_2_9_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/1344671.1344704"},{"key":"e_1_2_9_28_2","volume-title":"Accelerator Synthesis and Integration for CPU+FPGA Systems","author":"Cheng S.","year":"2016"},{"key":"e_1_2_9_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2022.3153119"},{"key":"e_1_2_9_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2022.3189776"},{"key":"e_1_2_9_31_2","volume-title":"ARMv6-M Architecture Reference Manual-ARM DDI 0419E (ID070218)","author":"Arm","year":"2007"},{"key":"e_1_2_9_32_2","unstructured":"Arm Cortex-M0 Devices Generic User Guide-ARM DUI 0497A (ID112109) 2009 https:\/\/developer.arm.com\/documentation\/dui0497\/latest\/."},{"key":"e_1_2_9_33_2","unstructured":"The LLVM Compiler Infrastructure Project https:\/\/llvm.org\/."},{"key":"e_1_2_9_34_2","unstructured":"RamachandranA. Profiling Code With LLVM-The Woes of Non-Determinism https:\/\/medium.com\/delta-force\/profiling-code-with-llvm-f32c5292750a."},{"key":"e_1_2_9_35_2","unstructured":"Clang Compiler User\u2019s Manual https:\/\/clang.llvm.org\/docs\/UsersManual.html#profile-guided-optimization."},{"key":"e_1_2_9_36_2","unstructured":"Arm ARM Cortex-M Programming Guide to Memory Barrier Instructions Application Note 321 2012 https:\/\/developer.arm.com\/documentation\/dai0321\/latest\/."},{"key":"e_1_2_9_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/iSTEM-Ed50324.2020.9332721"},{"key":"e_1_2_9_38_2","volume-title":"Cortex-M0 Revision: R0p0 Technical Reference Manual-ARM DDI 0432C (ID113009)","author":"Arm","year":"2009"},{"key":"e_1_2_9_39_2","unstructured":"Aem Cortex-M0+ Technical Reference Manual R0p1-Instruction Set Summary https:\/\/developer.arm.com\/documentation\/ddi0484\/c\/CHDCICDF."},{"key":"e_1_2_9_40_2","first-page":"151","article-title":"The Architecture of Open Source Applications: Elegance, Evolution, and a Few Fearless Hacks","volume":"11","author":"Brown A.","year":"2011","journal-title":"Creative Commons"},{"key":"e_1_2_9_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/ECTICon.2018.8619960"},{"key":"e_1_2_9_42_2","first-page":"207","article-title":"Writing an LLVM Backend","author":"Pandey M.","year":"2014","journal-title":"LLVM Cookbook"},{"key":"e_1_2_9_43_2","volume-title":"The Backend, Getting Started with LLVM Core Libraries","author":"Lopes B. C.","year":"2014"},{"key":"e_1_2_9_44_2","unstructured":"IAR Embedded Workbench for ARM https:\/\/www.iar.com\/products\/architectures\/arm\/iar-embedded-workbench-for-arm\/."},{"key":"e_1_2_9_45_2","doi-asserted-by":"publisher","DOI":"10.3390\/electronics11213438"},{"key":"e_1_2_9_46_2","volume-title":"Computer Architecture: A Quantitative Approach","author":"Hennessy J. L.","year":"2019"},{"key":"e_1_2_9_47_2","unstructured":"CoreMark\u00ae an EEMBC Benchmark https:\/\/www.eembc.org\/coremark\/."},{"key":"e_1_2_9_48_2","unstructured":"Kernels Workloads and Benchmarks https:\/\/www.eembc.org\/products\/kernels.php."}],"container-title":["Journal of Electrical and Computer Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1155\/jece\/6965638","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/full-xml\/10.1155\/jece\/6965638","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1155\/jece\/6965638","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T20:37:45Z","timestamp":1773779865000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1155\/jece\/6965638"}},"subtitle":[],"editor":[{"given":"Iouliia","family":"Skliarova","sequence":"additional","affiliation":[]}],"short-title":[],"issued":{"date-parts":[[2025,1]]},"references-count":48,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2025,1]]}},"alternative-id":["10.1155\/jece\/6965638"],"URL":"https:\/\/doi.org\/10.1155\/jece\/6965638","archive":["Portico"],"relation":{},"ISSN":["2090-0147","2090-0155"],"issn-type":[{"value":"2090-0147","type":"print"},{"value":"2090-0155","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,1]]},"assertion":[{"value":"2024-05-09","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-12-12","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-01-16","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}],"article-number":"6965638"}}