当前位置: 首页 > 专利查询>边立剑专利>正文

RISC微处理器指令译码电路制造技术

技术编号:6959279 阅读:323 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种RISC微处理器指令译码电路,指令比较器比较指令代码字段和目标指令代码;指令缓存器中64位指令寄存器用于暂存当前等待译码的指令,7位指令长度寄存器用于记载当前指令寄存器中包含的指令比特数;操作数选择器将立即数字段输出给取指单元,立即数字段和寄存器字段输出给执行单元;指令计数器计算输入指令开头4个比特中1的个数,加上I比特要求的后继字节数即为当前指令的总字节数;指令移位器将指令计数器的输出作为输入参数,并根据7位指令长度寄存器的内容对64位指令寄存器内的输入的指令数据左移,移位后与64位指令寄存器内的输入指令合并。本发明专利技术电路结构简单,规模小,级数少,可显著提高RISC微处理器的性能。

【技术实现步骤摘要】

本专利技术涉及微处理器领域,特别是涉及一种RISC(精简指令集计算机)微处理器指令译码电路。
技术介绍
当前VLSI (超大规模集成电路)和SOC(片上系统)设计都离不开中央微处理器这一核心部件。中央微处理器是整个SOC芯片的大脑,所有外围设备驱动程序及操作系统代码都由它解释和执行。而所有这些软件代码,不论用何种高级语言(C,C++,Java)书写, 最终都将被编译成机器指令,并由中央微处理器取指,译码和执行。片上系统设计时采用的中央微处理器大多以IP (知识产权)形式提供,其主要供应商有美国的ARM和MIPS公司等。这些公司提供的中央微处理器IP都有一个共同的缺点, 即指令译码结构复杂。这是由以下原因造成的(1)试图在有限的指令位数(32,16位)里压缩尽可能多的指令,这样每种指令的共性就很少,造成译码结构复杂;(2)这些微处理器的指令系统大多数在80或90年代就已经完成了设计。随着微处理器IP —代又一代的更新,新的指令又会出现。在早期没有对指令结构进行系统设计的情况下,译码结构只会变得越来越复杂,译码电路规模也会变得越来越大。而译码结构复杂则会导致RISC微处理器的主频无法很快提高,只能通过增加译码电路的流水线级数来实现,这样又会引起更大的跳转指令执行延迟等一系列其他问题。最近ARM公司重新设计了它的RISC微处理器指令集并用在Cortex系列微处理器上就很好的说明了这一问题。
技术实现思路
本专利技术要解决的技术问题是提供一种RISC微处理器指令译码电路,电路结构简单,规模小,级数少,可以显著提高RISC微处理器的性能,并且减少RISC微处理器的功耗。为解决上述技术问题,本专利技术的RISC微处理器指令译码电路结构,采用两级流水线结构,第一级流水线计算下一个时钟周期应该读取多少字节的指令,并把这一数字通知取指单元;第二级流水线对暂存的指令进行译码,并向执行单元传达命令;包括指令比较器,比较指令代码字段和目标指令代码,如果相等则输出1 ; 指令缓存器,包括一个64位指令寄存器和一个7位指令长度寄存器;64位指令寄存器用于暂存当前等待译码的指令;7位指令长度寄存器用于记载当前64位指令寄存器中包含的指令比特数; 操作数选择器,根据64位指令寄存器中的指令代码字段和I比特字段,选择64位指令寄存器中的指令操作数字段,将立即数输出给取指单元,将立即数和操作数输出给执行单元;指令计数器,从指令数据总线获得输入指令并计算输入指令开头4个比特中1的个数,加上I比特要求的后继字节数即为当前指令的总字节数,并输出给指令移位器;根据当前正在译码的指令长度和从指令数据总线获得的输入指令计算出下一个时钟周期需要读取的指令字节数,并输出给取指流水线;指令移位器,将指令计数器输出的当前指令的总字节数作为输入参数,并根据7 位指令长度寄存器的内容,对64位指令寄存器内的输入的指令数据进行左移移位操作,移位后的数据与64位指令寄存器内的输入的指令数据进行合并;合并后的指令数据又存入 64位指令寄存器中;其中,I比特表示意义如下1)对算术指令,I = 1时,RegC为4位立即数;2)对直接跳转指令,I = 1时,RegA, RegB和RegC组成12位立即数;3)对间接跳转指令,I = 1时,RegB和RegC组成8位立即数;4)对直接读写指令,I = 1时,RegB和RegC组成8位立即数;5)对间接读写指令,I = 1时,RegC为4位立即数;RegA,RegB 和 RegC 为寄存器。本专利技术对RISC微处理器指令结构进行了系统设计,采用了变长指令和冗余编码等技术,使得译码电路结构非常简单,电路规模小,电路级数少,可以显著提高RISC微处理器的性能,并且减少RISC微处理器的功耗,使得RISC微处理器的译码电路不再成为RISC 微处理器设计的瓶颈。附图说明下面结合附图与具体实施方式对本专利技术作进一步详细的说明附图是RISC微处理器指令译码电路结构图。具体实施例方式本专利技术对RISC微处理器指令结构进行了系统设计,采用了变长码指令集,指令有 8位,16位,24位,32位四种编码,使用频率越高的指令长度越短,这样可以提高代码密度; 采用了冗余编码,尽管四种指令编码长度不一,其指令格式和指令字段意义完全一致。因此,指令译码电路结构非常简单,电路规模小,电路级数少;另外还预留了部分指令空间,便于未来扩展指令。(一 )指令编码和指令格式下面逐一说明各种指令编码。每种指令编码都包含几个指令字段。指令的描述为汇编语言。本专利技术描述的指令集将包含5种类型的指令,即算术指令,跳转指令,间接跳转指令,直接读写指令和间接读写指令。同种类型指令的译码电路结构基本一致。指令类型与指令代码的关系如下。1.算术指令。权利要求1.一种RISC微处理器指令译码电路,采用两级流水线结构,第一级流水线计算下一个时钟周期应该读取多少字节的指令,并把这一数字通知取指单元;第二级流水线对暂存的指令进行译码,并向执行单元传达命令;其特征在于,包括指令比较器,比较指令代码字段和目标指令代码,如果相等则输出1 ;指令缓存器,包括一个64位指令寄存器和一个7位指令长度寄存器;64位指令寄存器用于暂存当前等待译码的指令;7位指令长度寄存器用于记载当前64位指令寄存器中包含的指令比特数;操作数选择器,根据64位指令寄存器中的指令代码字段和I比特字段,选择64位指令寄存器中的指令操作数字段,将立即数输出给取指单元,将立即数和操作数输出给执行单元;指令计数器,从指令数据总线获得输入指令并计算输入指令开头4个比特中1的个数, 加上I比特要求的后继字节数即为当前指令的总字节数,并输出给指令移位器;根据当前正在译码的指令长度和从指令数据总线获得的输入指令计算出下一个时钟周期需要读取的指令字节数,并输出给取指流水线;指令移位器,将指令计数器输出的当前指令的总字节数作为输入参数,并根据7位指令长度寄存器的内容,对64位指令寄存器内的输入的指令数据进行左移移位操作,移位后的数据与64位指令寄存器内的输入的指令数据进行合并;合并后的指令数据又存入64位指令寄存器中;其中,I比特表示意义如下1)对算术指令,I= 1时,RegC为4位立即数;2)对直接跳转指令,I= 1时,RegA, RegB和RegC组成12位立即数;3)对间接跳转指令,I= 1时,RegB和RegC组成8位立即数;4)对直接读写指令,I= 1时,RegB和RegC组成8位立即数;5)对间接读写指令,I= 1时,RegC为4位立即数;RegA, RegB和RegC为寄存器。2.如权利要求1所述的RISC微处理器指令译码电路,其特征在于所述指令比较器用于比较T比特字段和E比特字段;其中,T比特代表数据类型1)对于算术指令,T= 0时为整数操作,T = 1时为64比特长整数操作,T = 2时为单精度浮点数操作,T = 3时为双精度浮点数操作;2)对于读写指令,T= 0时为8比特字节操作,T = 1时为16比特双字节操作,T = 2 时为32位字操作,T = 3时为64比特双字操作;3)对跳转指令没有意义;E比特为扩展指令比特,E = 1表示扩展指令。3.如权利要求2所述的RISC微处理器指令译码电路,其特征在于从指令T比特和E 比特译码得出本文档来自技高网...

【技术保护点】
1.一种RISC微处理器指令译码电路,采用两级流水线结构,第一级流水线计算下一个时钟周期应该读取多少字节的指令,并把这一数字通知取指单元;第二级流水线对暂存的指令进行译码,并向执行单元传达命令;其特征在于,包括:指令比较器,比较指令代码字段和目标指令代码,如果相等则输出1;指令缓存器,包括一个64位指令寄存器和一个7位指令长度寄存器;64位指令寄存器用于暂存当前等待译码的指令;7位指令长度寄存器用于记载当前64位指令寄存器中包含的指令比特数;操作数选择器,根据64位指令寄存器中的指令代码字段和I比特字段,选择64位指令寄存器中的指令操作数字段,将立即数输出给取指单元,将立即数和操作数输出给执行单元;指令计数器,从指令数据总线获得输入指令并计算输入指令开头4个比特中1的个数,加上I比特要求的后继字节数即为当前指令的总字节数,并输出给指令移位器;根据当前正在译码的指令长度和从指令数据总线获得的输入指令计算出下一个时钟周期需要读取的指令字节数,并输出给取指流水线;指令移位器,将指令计数器输出的当前指令的总字节数作为输入参数,并根据7位指令长度寄存器的内容,对64位指令寄存器内的输入的指令数据进行左移移位操作,移位后的数据与64位指令寄存器内的输入的指令数据进行合并;合并后的指令数据又存入64位指令寄存器中;其中,I比特表示意义如下:1)对算术指令,I=1时,RegC为4位立即数;2)对直接跳转指令,I=1时,RegA,RegB和RegC组成12位立即数;3)对间接跳转指令,I=1时,RegB和RegC组成8位立即数;4)对直接读写指令,I=1时,RegB和RegC组成8位立即数;5)对间接读写指令,I=1时,RegC为4位立即数;RegA,RegB和RegC为寄存器。...

【技术特征摘要】

【专利技术属性】
技术研发人员:边立剑
申请(专利权)人:边立剑
类型:发明
国别省市:31

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

1