CN1431589A - 一种堆栈指令执行方法和装置 - Google Patents

一种堆栈指令执行方法和装置 Download PDF

Info

Publication number
CN1431589A
CN1431589A CN 03118034 CN03118034A CN1431589A CN 1431589 A CN1431589 A CN 1431589A CN 03118034 CN03118034 CN 03118034 CN 03118034 A CN03118034 A CN 03118034A CN 1431589 A CN1431589 A CN 1431589A
Authority
CN
China
Prior art keywords
stack
instruction
data
storehouse
explicit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 03118034
Other languages
English (en)
Inventor
刘建军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN 03118034 priority Critical patent/CN1431589A/zh
Publication of CN1431589A publication Critical patent/CN1431589A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种堆栈指令执行方法和装置,堆栈指令不仅要对自身解码,而且还要对堆栈指令的数据结构即对指令的堆栈寻址进行解码,以消除堆栈相关。本发明通过消除堆栈相关,使得被堆栈寻址隐藏起来的物理地址和数据相关充分显现出来,以利于微处理器检测和进一步提高指令并行度,大大简化了堆栈指令数据相关的判断,以利于十分成熟的现代寄存器指令相关技术,用小计算量堆栈操作的串行,来换取大运行量数据操作的并行,用简洁的方法使得堆栈效能接近或达到寄存器结构计算机的效能。

Description

一种堆栈指令执行方法和装置
技术领域
本发明涉及一种计算机处理系统中堆栈指令的执行方法和装置。
背景技术
长期以来,纯堆栈结构或堆栈与寄存器相混合结构的计算机效率低于纯寄存器结构的计算机,这是由于堆栈本身特点造成的,现代计算机体系结构是为了适应寄存器结构的计算机而发展起来的,寄存器寻址因为是物理寻址,所以简单明了,而堆栈寻址属于相对的逻辑寻址,它的物理地址的确定严重依赖于有很强串行性的堆栈操作,使得堆栈指令之间形成很强的数据相关(注:这里所述的数据相关与存贮器相关,寄存器相关为同义),从而严重的限制了堆栈指令执行的并行度,造成其低效率。
发明内容
本发明的目的是提供一种提高堆栈效率的方法和装置。
本发明的目的是通过如下方式实现的:
一种堆栈指令执行方法,堆栈指令不仅要对自身解码,而且还要对堆栈指令的数据结构即对指令的堆栈寻址进行解码,以消除堆栈相关。
堆栈解码器与实际堆栈之间有条件反馈。
可以以运算法或查表法或两者结合的方法解码转换。
堆栈指令全部或部分的转换成显式存贮器指令或其偏移地址的指令。
可以以显式存贮器方式或堆栈方式执行。
指令数据相关检测全部或部分转换后指令的显式或相对偏移的数据存贮器地址的数据相关。
可以以机器指令或微指令方式转换显式存贮器指令。
一种堆栈指令执行装置,通过堆栈解码器对堆栈指令的堆栈寻址进行解码,以消除堆栈相关。
堆栈解码器通过连线和控制门有条件反馈实际堆栈状态。
微处理器数据相关检测器检测全部或部分堆栈指令的显式地址之间的数据相关转换成显式存贮器指令执行时,可以直接从指令的显式地址存贮数据执行。
本发明通过消除堆栈相关,使得被堆栈寻址隐藏起来的物理地址和数据相关充分显现出来,以利于微处理器检测和进一步提高指令并行度,大大简化了堆栈指令数据相关的判断,以利于十分成熟的现代寄存器指令相关技术,用小计算量堆栈操作的串行,来换取大运行量数据操作的并行,用简洁的方法使得堆栈效能接近或达到寄存器结构计算机的效能。
附图说明
图1是本发明的一个最简实施方式,表示的是堆栈指令执行的装置;
图2是本发明另一个实施例(装置)的框图;
图3是本发明优选实施例(装置)的框图;
图4是用一个简单的微程序设计来实现本发明的一个实施例(装置)简图;
具体实施方式
一种堆栈指令执行方法,将从指令存贮器取来的机器指令或微指令(由机器指令解码而成)进行堆栈解码,如果是机器指令还需对其译码,可以全部或部分的将堆栈指令转换成显式寄存器(存贮器)指令或附带显式数据地址的堆栈指令,这时,微处理器对这些显式的指令或数据地址进行数据相关检测,然后执行,即加法指令完成加法功能,乘法指令完成乘法功能,指令执行后保存结果,在保存结果阶段,实际堆栈与先行堆栈通过连线和控制门有条件反馈实际状态;执行指令可以以显式寄存器(存贮器)方式执行,也可以以堆栈方式执行。
实施例一
如图1所示,从存贮器取出指令或微指令(由机器指令转换而来,例如Trace cache)送入译码器中译码,同时,堆栈解码器也对之解码,所得的显式指令译码形成控制信号,控制ALU运算器运算,从实际堆栈和数据存贮器存取数据,堆栈解码器实际上为译码器的一部分,也可以是相对独立,这里为了便于理解画成分离方式,[注:这里堆栈解码器操作的是指令(通过操作先行堆栈即图4中的状态寄存器)起消除堆栈相关作用,而不是象传统体系结构一样操作的是数据,即实际堆栈]。
如图2所示,图2是在图1中增加的条件反馈实际状态的连线和控制门。
如图3所示,图3相对于图2增加显式地址指令存贮器和微处理器数据相关检测器,译码器与图2中的译码器可以是一体的,也可以是相对独立,微处理器数据相关检测器检测的是显式地址指令,直接检测堆栈指令的数据相关是困难的,然而先把它转换还原成显式地址指令,然后再检测则相对容易,可只对部分堆栈指令这样转换通过控制门的开关可中断堆栈解码器的解码。
如图4所示,用一个简单的微程序实现本发明,指令从指令存贮器中取出(如果是微指令,还需从机器指令译码)送到指令寄存器和微地址寄存器与堆栈解码器共同解码转换,微指令存贮器存贮的指令预先设计好,解码转换出显式指令后,译码堆栈操作,形成控制信号,控制堆栈运算器运算,例如,更新先行栈顶、标志字、给显式指令置位等,送入到显式地址指令存贮器,微处理器数据相关检测器,检测其数据相关,接着指令译码执行,在超标量条件下,可乱序执行,查表法解码与运算法解码的区别就在此,查表法解码时,显式指令预先设计好存放在存贮器中,以先行栈顶和堆栈指令为行为列查表;而运算法解码时,指令先解码成堆栈微指令,然后通过堆栈操作运算给空的寄存器和位置位和数值,状态寄存器与微指令存贮器之间无连线,从实际堆栈中反馈先行栈顶,在超标量时可以看着计算法和查表法相结合,即先用计算法计算出各自栈顶,然后并行查表,当然,也可以全部用计算法转换,栈顶运算可使用一个加法或减法器来运算。或可逆计数器之类,状态寄存器可为一个或多个,例如,栈顶寄存器、指示数据寄存器状态例如空或非空的标志字寄存器,包括栈顶的状态寄存器。

Claims (10)

1、一种堆栈指令执行方法,其特征在于:堆栈指令不仅要对自身解码,而且还要对堆栈指令的数据结构即对指令的堆栈寻址进行解码,以消除堆栈相关。
2、根据权利要求1所述的堆栈指令执行方法,其特征在于:堆栈解码器与实际堆栈之间有条件反馈。
3、根据权利要求1所述的堆栈指令执行方法,其特征在于:可以以运算法或查表法或两者结合的方法解码转换。
4、根据权利要求1所述的堆栈指令执行方法,其特征在于:堆栈指令全部或部分的转换成显式存贮器指令或其偏移地址的指令。
5、根据权利要求1所述的堆栈指令执行方法,其特征在于:可以以显式存贮器方式或堆栈方式执行。
6、根据权利要求1所述的堆栈指令执行方法,其特征在于:指令数据相关检测全部或部分转换后指令的显式或相对偏移的数据存贮器地址的数据相关。
7、根据权利要求1所述的堆栈指令执行方法,其特征在于:可以以机器指令或微指令方式转换显式存贮器指令。
8、一种堆栈指令执行装置,其特征在于:通过堆栈解码器对堆栈指令的堆栈寻址进行解码,以消除堆栈相关。
9、根据权利要求8所述的堆栈指令执行装置,其特征在于:堆栈解码器通过连线和控制门有条件反馈实际堆栈状态。
10、根据权利要求8所述的堆栈指令执行装置,其特征在于:微处理器数据相关检测器检测全部或部分堆栈指令的显式地址之间的数据相关转换成显式存贮器指令执行时,可以直接从指令的显式地址存贮数据执行。
CN 03118034 2003-01-18 2003-01-18 一种堆栈指令执行方法和装置 Pending CN1431589A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03118034 CN1431589A (zh) 2003-01-18 2003-01-18 一种堆栈指令执行方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03118034 CN1431589A (zh) 2003-01-18 2003-01-18 一种堆栈指令执行方法和装置

Publications (1)

Publication Number Publication Date
CN1431589A true CN1431589A (zh) 2003-07-23

Family

ID=4790738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03118034 Pending CN1431589A (zh) 2003-01-18 2003-01-18 一种堆栈指令执行方法和装置

Country Status (1)

Country Link
CN (1) CN1431589A (zh)

Similar Documents

Publication Publication Date Title
CN1224908C (zh) 微处理器中的数据预取方法及微处理器
US8004533B2 (en) Graphics input command stream scheduling method and apparatus
CN102117198B (zh) 一种分支处理方法
CN101495962B (zh) 用于预取不连续指令地址的方法和设备
CN104731719B (zh) 一种缓存系统和方法
US9396117B2 (en) Instruction cache power reduction
US7266676B2 (en) Method and apparatus for branch prediction based on branch targets utilizing tag and data arrays
US11861367B2 (en) Processor with variable pre-fetch threshold
GB2375852A (en) Loop instruction processing using a loop buffer and inhibiting instruction fetch.
US20090295794A1 (en) Method for controlling operating modes of graphics processing unit
US20230267079A1 (en) Processing apparatus, method and system for executing data processing on a plurality of channels
CN104461758A (zh) 一种容忍cache缺失快速清空流水线的异常处理方法及其处理结构
WO2021061626A1 (en) Instruction executing method and apparatus
MX2007012582A (es) Unidad de memoria de instruccion y metodo de operacion.
KR100334174B1 (ko) 데이타처리장치
US20050102659A1 (en) Methods and apparatus for setting up hardware loops in a deeply pipelined processor
US20050268040A1 (en) Cache system having branch target address cache
US8176297B2 (en) Adaptive fetch advance control for a low power processor
CN112148366A (zh) 一种芯片降低功耗提升性能的flash加速方法
US20010016899A1 (en) Data-processing device
CN1431589A (zh) 一种堆栈指令执行方法和装置
JP4439288B2 (ja) 同時多重スレッディングプロセッサ、動作するスレッドの数に基づいて相異なる性能レベルで動作するように構成されるコンピュータプログラム格納媒体及びこれらを動作させる方法
US6289428B1 (en) Superscaler processor and method for efficiently recovering from misaligned data addresses
JP4613168B2 (ja) 命令整列の方法および装置
CN1248109C (zh) 信息处理单元和信息处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication