发明名称 采用双指令集的32位嵌入式微处理器
摘要 本发明为一种采用新体系结构的32位嵌入式微处理器,能够处理本地RISC指令和Java卡虚拟机两套指令集。它由取指单元、指令cache、指令译码电路、指令折叠电路、通用寄存器组、数据运算单元、内存单元、前推电路、异常处理单元等部分构成。其中,指令cache和指令折叠电路仅在执行Java卡虚拟机指令时有效,与此同时,通用寄存器组映射为堆栈cache。本发明中的微处理器可以同时支持两套指令集,并且之间能够方便的进行无缝切换,而电路面积与传统不支持Java卡虚拟机的处理器相比,增加不到20%。
申请公布号 CN1216327C 申请公布日期 2005.08.24
申请号 CN03116913.9 申请日期 2003.05.15
申请人 复旦大学 发明人 徐科;王文婷;忻凌;闵昊;周晓方;顾沧海
分类号 G06F9/30;G06F9/38 主分类号 G06F9/30
代理机构 上海正旦专利代理有限公司 代理人 陆飞
主权项 1、一种32位嵌入式微处理器,由指令存储器(1)、取指单元(2)、指令cache(3)、指令译码电路(4)、指令折叠电路(5)、通用寄存器组(6)、数据运算单元(7)、内存单元(8)、前推电路(9)、异常处理单元(10)、程序计数器PC(11)、状态寄存器PSR(12)、指令陷阱(13)、多路选择器(14)、经电路连接构成,其特征在于指令存储器(1)、取指单元(2)、指令译码电路(4)、通用寄存器组(6)、数据运算单元(7)依次电路连接,前推电路(9)和异常处理单元(10)分别与取指单元(2)、指令译码电路(4)、数据运算单元(7)连接,状态寄存器(12)与数据运算单元(7)、内存单元(8)、寄存器组(6)连接,组成支持本地RISC指令集的电路系统;指令存储器(1)、指令cache(3)、指令折叠电路(5)、指令译码电路(4)、堆栈cache(6)、数据运算单元(7)、多路选择器(14)、内存单元(8)依次电路连接,指令陷阱单元(13)与指令折叠电路(5)和指令译码电路(4)连接,组成支持Java卡虚拟机指令集的电路系统;支持本地RISC指令的通用寄存器组(6)和支持Java指令的堆栈cache(3)采用同一个32×32的寄存器组;通过设置跳转指令,实现本地RISC状态和Java状态的无缝切换;通过异常情况的处理,实现Java状态至本地RISC状态的无缝切换;在执行本地指令时,为五级流水线结构,依次是取指令、译码、执行、访存、写回五部分;执行Java卡虚拟机指令集时,自动切换为六级流水线结构,依次是取指令、折叠译码、取操作数、执行、访存、写回六部分;其中,程序计数器PC(11)控制取指单元(2),将指令从指令存储器中取出,送至指令cache(3);指令折叠电路(5)根据指令cache(3)中的指令组成,对指令进行折叠操作后送至指令译码电路(4)译码;指令译码电路(4)根据指令类型产生相应的控制信号控制整个处理器的运行;数据运算单元(7)根据指令译码器(4)的控制信号,从通用寄存器组(6)中取出操作数进行运算,运算结果写回通用寄存器组(6)或内存单元(8);前推电路(9)负责连接数据运算单元(7)以及通用寄存器组(6);异常处理单元(10)连接处理器外部异常接口及指令译码单元(4)和状态寄存器PSR(12);指令陷阱(13)负责连接指令折叠电路(5)和指令译码电路(4)。
地址 200433上海市邯郸路220号