Abstract
The characteristic features of the reduced instruction set computer (RISC) architecture are used to develop high-performance microprocessors and microcontrollers. Complex operations, which include subroutine calls and interrupt service, are difficult to implement in hardware for the same time interval with all the other commands. Such operations, when executed, involve recording the value of the transition address in the register of the processor’s software counter while saving the return address from the subroutine. A specific design of the processor hardware stack is proposed in the work, which allows performing complex machine operations in one clock cycle. It is established that the required technical result can be achieved by introducing in the design of the processor N identical software counters, which are actually analogues of the stack registers. It is shown that a stack pointer (SP) with the logic of the register selection connected to a block of program counters (PCs) activates the next PC when a subroutine is called or an interrupt is serviced, while the previous counter stores the return address from the subroutine. This excludes the procedures of saving the return address from the PC in the registers of the stack or the RAM cells and restoring its state from the stack. This allows us to make a subroutine call or jump along the interrupt vector and return to the call point in one clock cycle of the master oscillator. As a result of this, it becomes possible to increase the processor’s speed during such operations by 30–50% and improve overall performance without increasing the clock frequency.
Similar content being viewed by others
REFERENCES
Aizek, R., The future of CMOS technology, Otkryt. Sist. SUBD, 2000, no. 10, pp. 8–18.
Tsvetov, V., Classic microelectronics development. Expectable physical-technical limits, Elektron.: Nauka, Tekhnol., Biznes, 2010, no. 3, pp. 2–6.
Tsil’ker, B.Ya. and Orlov, S.A., Organizatsiya EVM i sistem: uchebnik dlya vuzov (Organization of Computers and Systems, The School-Book), 2nd ed., St. Petersburg: Piter, 2011.
Stallings, W., Computer Organization and Architecture: Designing for Performance, 10th ed., Hoboken, NJ: Pearson Education, 2016.
Microchip PIC18(L)F1XK22 Data Sheet, 20-Pin Flash Microcontrollers with nanoWatt XLP Technology. 2009–2011 Microchip Technology Incorporated. DS41365E. http://ww1.microchip.com/downloads/ en/DeviceDoc/40001365F.pdf. Accessed January 3, 2019.
Semenov, A.A. and Usanov, D.A., Active processor hardware stack, RF Patent No. 2530285, Byull. Izobret., 2014, no. 28.
ALTERA. MAX 3000A Programmable Logic Device Family Data Sheet. https://www.intel.com/content/ dam/www/programmable/us/en/pdfs/literature/ds/ m3000a.pd. Accessed November 10, 2018.
MAX+PLUS II Software. www.intel.com/content/ www/us/en/programmable/ support/support-resources/download/legacy/maxplus2/mp2-index.html. Accessed November 10, 2018.
Analysis of x86 Instruction Set Usage for DOS/Windows Applications and Its Implication on Superscalar Design. https://www33.online-convert.com/ dl/web1/download-file/64c3379f-38e2-41f7-a54b-c057a3f8ec0d/ab7db4fd488e47630671efa39f818d106a06.pdf. Accessed January 3, 2019.
x86 Machine Code Statistics. www.strchr.com/ x86_machine_code_statistics. Accessed January 3, 2019.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Semenov, A.A., Usanov, D.A. & Dronkin, A.S. Active Processor Hardware Stack. Russ Microelectron 49, 516–522 (2020). https://doi.org/10.1134/S1063739720070112
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S1063739720070112