基于单/双发射指令集的微处理器指令处理系统技术方案

技术编号:8311187 阅读:212 留言:0更新日期:2013-02-07 17:39
本实用新型专利技术涉及基于单/双发射指令集的微处理器指令处理系统,包括:寄存器,用于存储数据;指令读取装置,根据指令的地址读取一条指令,其中所述指令中包含指示所述指令为单发射指令或双发射指令的标识位;指令译码装置,对所读取的指令进行译码,根据所述标识位,确定所述指令为单发射指令或双发射指令;指令流水线装置,包括第一流水线装置和第二流水线装置,其中如果确定该指令为单发射指令,则在该第一流水线装置中完成该单发射指令的操作,如果确定该指令为双发射指令,则在第一流水线中完成该双发射指令中的第一操作,在第二流水线中完成该双发射指令的第二操作;写回装置,运算结果写回到寄存器。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及微处理器的指令处理系统,特别涉及基于混合单发射/双发射指令集的微处理器指令处理系统。
技术介绍
在微处理器的基本架构中,在一个指令周期内执行的指令处理过程主要包括指令寻址、指令读取、指令译码、读操作数、运算、结果写回等步骤。传统的基于单发射指令的微处理器在处理一条指令的过程中仅执行一次运算。虽然实际上很多运算可以并行处理,但是由于运算单元ALU在一个周期内仅执行一次运算的限制而无法实现,因此ALU成为了传统微处理器效率的瓶颈,使得这种传统的基于单发射指令的微处理器的工作效率较低。为了提高微处理器的工作效率,目前已经提出了双发射指令技术。双发射的概念·是,每一条指令能够读取四个操作数,进行两个不同(也可能是相同)的运算,目前的高端处理器一般都支持双发射指令,甚至多发射指,使得微处理器工作效率大大提高。现有的基于双发射指令的微处理器的指令处理方式主要有以下几种第一种方式是每条指令仍只包含一个运算,在指令处理的过程中,指令处理系统同时读取两条指令,通过硬件根据两条指令之间的依赖关系临时计算这两条指令是否可以同时进行,如果计算的结果为可以同时进行,则将两条指令分别写入两条流水线。由于两条指令在两个流水线中分别执行的过程中可能出现先后次序颠倒,因此在两条流水线分别完成运算之后,要对两个运算结果进行重新排序,再进行结果的写回。这种处理方式的问题在于实现起来比较复杂,在指令依赖关系的计算以及结果重新排序等环节,都会引入相当庞大的逻辑复杂度和硬件开销。第二种方式是在一条指令中实现单发射或双发射,也就是说,在指令集中包含单发射指令和双发射指令两种指令,通过额外的状态变量来区分这两种指令,也就是说,在微处理器的应用中通过程序来修改这个状态变量来指示微处理器当前的指令是单发射指令还是双发射指令。在现有技术中,ARM系列微处理器是基于这种方式工作的典型微处理器,其双发射指令也支持微处理器的全部功能,目的是为了节省指令空间。这种方式使得微处理器的硬件结构相对简单,但软件编程十分复杂。由于单发射/双发射指令之间并非动态切换,而是需要通过修改微处理器的状态从而用两套不同的逻辑来处理单发射和双发射指令,因此需要显式的告诉微处理器下一条指令是单发射指令还是双发射指令,这使得微处理器的编程复杂度大大增加。而且因为单发射指令和双发射指令都是全集,即分别实现微处理器的全部功能,导致两条流水线都要实现全部指令,也就是说所有的操作都要重复两遍。并且,由于指令数量巨大,导致指令编码(操作码)字段很长,压缩了地址字段、立即数字段等其他字段的空间,这就限制了微处理器在其他方面的性能。例如典型的ARM微处理器由于指令字段占用较大空间,导致寄存器字段减小,使得寄存器深度只能支持16位。由此可见,在性能和成本/功耗之间难以兼得,是传统微处理器的关键局限性。尤其是在图形处理或多媒体处理等特定应用场合,需要一种高性能、低成本、低功耗、低应用复杂度的新型的微处理器的指令处理系统和方法。
技术实现思路
本技术提出了一种基于混合单发射/双发射指令集的微处理器指令处理系统,解决了现有技术中存在的问题,通过非对称式单发射/双发射指令集设置减小了指令字段空间,通过静态切换简化了单发射/双发射指令切换机制,大大降低了硬件成本以及编程見杂度。利用本技术的微处理器指令处理方法和装置设计的微处理器,具有低成本,低功耗,高处理效率的优点,在40nm工艺下,以小于O. 03mm2的芯片面积,可实现超过IGhz的工作频率以及约I. 5Mips/Mhz的指令执行速度。根据本技术的一方面,提出了一种基于单/双发指令集的微处理器指令处理 系统,包括寄存器,存储包括指令,操作数,运算结果的数据;指令读取装置,根据指令的地址,从存储器中读取一条指令,其中所述指令中包含指示所述指令为单发射指令或双发射指令的标识位;指令译码装置,对所读取的指令进行译码,获得包括所述标识位、操作码、操作数的译码结果,根据所述标识位,确定所述指令为单发射指令或双发射指令;指令流水线装置,包括第一流水线装置和第二流水线装置,其中如果确定该指令为单发射指令,则在该第一流水线装置中完成该单发射指令的操作,如果确定该指令为双发射指令,则在第一流水线中完成该双发射指令中的第一操作,在第二流水线中完成该双发射指令的第二操作,第一流水线装置和第二流水线装置以完全相同的方式并行运行;写回装置,将所述第一流水线的运算结果和所述第二流水线的运算结果写回到寄存器。优选地,所述指令读取装置由程序计数器、地址寄存器和指令寄存器来实现。优选地,所述第一流水线装置包括由第一暂存器构成的第一级,由第二暂存器构成的第二级和由第一运算器构成的第三级;所述第二流水线包括由第三暂存器构成的第一级,由第四暂存器构成的第二级和由第二运算器构成的第三级。优选地,如果确定所述指令为单发射指令,则在所述第一暂存器中读取指令的第一操作数,在所述第二暂存器中读取指令的第二操作数,在所述第一运算器中对第一操作数和第二操作数进行运算;如果确定所述指令为双发射指令,则在所述第一暂存器中读取指令的第一操作的第一操作数,在所述第二暂存器中读取指令的第一操作的第二操作数,在第一运算器中对第一操作的第一操作数和第一操作的第二操作数进行运算;在所述第三暂存器中读取指令的第二操作的第一操作数,在所述第四暂存器中读取指令的第二操作的第二操作数,在第二运算器中对第二操作的第一操作数和第二操作的第二操作数进行运笪ο优选地,所述写回装置包括连接于第一运算器的第一结果暂存器和连接于第二运算器的第二结果暂存器,分别存储两个运算器的运算结果,并通过总线写回到寄存器中的相应地址。附图说明图I是本技术的微处理器指令处理方法的流程图;图2a和图2b是根据本技术的一个实施例的一条单发射指令和一条双发射指令的指令码结构示例;图3是本技术的一种微处理器指令处理系统的结构图;图4是本技术的指令处理系统的一个优选实施例的结构图;图5是根据本技术的一个优选实施例的流水线装置的结构图。具体实施方式本技术提出了一种基于混合单发射/双发射指令集的新的微处理器指令处理方法和系统。图I是本技术的微处理器指令处理方法的流程图,主要包括指令读取步骤,根据指令的地址,从存储器中读取一条指令,其中所述指令中包含指示所述指令为单发射指令或双发射指令的标识位;指令译码步骤,对所读取的指令进行译码,获得包括所述标识位、操作码、操作数的译码结果,根据所述标识位,确定所述指令为单发射指令或双发射指令;运算步骤如果确定该指令为单发射指令,则在第一流水线中完成该单发射指令的操作,如果确定该指令为双发射指令,则在第一流水线中完成该双发射指令中的第一操作,在第二流水线中完成该双发射指令的第二操作,第一流水线和第二流水线以完全相同的方式并行运行;写回步骤将所述第一流水线的运算结果和所述第二流水线的运算结果写回到寄存器。不同于传统的混合单发射/双发射指令集方式,本技术的指令处理方法中所涉及的单发射指令集和双发射指令集采取了非对称的设计,也就是说,单发射指令集和双发射指令集并非分别完成微处理器的所有功能,而是分别实现微处理器的部分功能,由单发射指令集和双发射指令集的功能总和来完成微处理器的本文档来自技高网
...

【技术保护点】
一种基于单/双发射指令集的微处理器指令处理系统,其特征在于该系统包括:寄存器,存储包括指令,操作数,运算结果的数据;指令读取装置,根据指令的地址,从存储器中读取一条指令,其中所述指令中包含指示所述指令为单发射指令或双发射指令的标识位;指令译码装置,对所读取的指令进行译码,获得包括所述标识位、操作码、操作数的译码结果,根据所述标识位,确定所述指令为单发射指令或双发射指令;指令流水线装置,包括第一流水线装置和第二流水线装置,其中如果确定该指令为单发射指令,则在该第一流水线装置中完成该单发射指令的操作,如果确定该指令为双发射指令,则在第一流水线中完成该双发射指令中的第一操作,在第二流水线中完成该双发射指令的第二操作,第一流水线装置和第二流水线装置以完全相同的方式并行运行;写回装置,将所述第一流水线的运算结果和所述第二流水线的运算结果写回到寄存器。

【技术特征摘要】

【专利技术属性】
技术研发人员:沙力兰军强朱磊
申请(专利权)人:上海算芯微电子有限公司
类型:实用新型
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1