指令处理设备和处理系统的制作方法

文档序号:37829707发布日期:2024-04-30 17:39阅读:44来源:国知局
指令处理设备和处理系统的制作方法

本技术涉及计算机,具体地,涉及一种指令处理设备和处理系统。


背景技术:

1、随着计算机设备的快速发展,中央处理器(cpu,central processing unit)作为一台计算机设备的运算和控制核心,其功能主要是完成对计算机指令的执行和对数据的处理,在计算复杂度不断增大的过程中,cpu的性能也变得越来越重要。其中,计算机设备上运行的计算机程序的本质是指令的执行过程,为了提高计算机设备中cpu的工作效率和性能,如何对计算机指令进行处理的研究显得尤为重要。

2、目前,相关技术中采用经典的五级流水线的处理器架构,该架构中每级流水线依次包含if、id、ex、mem和wb共五个指令处理单元,因此每级流水线用于处理一条指令执行过程中的不同任务。然而,该方案只有一条流水线,因此单周期内只能执行一条指令,处理器性能有限, 并且由于只有一条流水线,当某些运算指令执行时,其参与运算的数据与之前指令具有数据相关性,造成该当前指令执行需要等待之前指令执行完成,造成流水线卡顿,且执行时间过长,导致数据处理效率较低。


技术实现思路

1、本技术实施例中提供了一种指令处理设备和处理系统。

2、本技术实施例的第一个方面,提供了一种指令处理设备,包括:

3、取指模块,所述取指模块包括获取单元、切分处理单元、取指单元;所述切分处理单元分别与所述获取单元、所述取指单元连接;

4、执行模块,所述执行模块包括依次连接的第一执行单元、第二执行单元、第三执行单元和第四执行单元;所述取指单元与所述第一执行单元连接;

5、所述获取单元用于获取多个待处理指令数据;所述切分处理单元用于对所述多个待处理指令数据进行切分处理,得到目标指令;所述取指单元用于对所述目标指令进行缓存、预解码处理,得到预解码后的指令,并将所述预解码后的指令存储至寄存器中;所述第一执行单元用于对所述预解码后的指令进行解码、物理寄存器重命名、标签分配和分类存储处理至相应的指令队列;所述第二执行单元用于将所述指令队列缓存处理,所述第三执行单元用于进行指令异常检测和操作数缓存处理,所述第四执行单元用于执行指令处理,得到指令结果并将所述指令结果进行写回处理。

6、在本技术一个可选的实施例中,所述取指单元包括第一取指子单元、第二取指子单元和第三取指子单元;所述第一取指子单元的一端与所述切分处理单元连接,所述第二取指子单元分别与所述第一取指子单元的另一端、所述第三取指子单元连接;

7、所述第一取指子单元用于对所述目标指令进行缓存处理;

8、所述第二取指子单元用于对所述目标指令进行预解码处理,得到预解码后的指令;

9、所述第三取指子单元用于将所述预解码后的指令存储至与执行模块接口对应的指令寄存器中;以及用于将所述预解码后的指令对应的程序存储至与执行模块接口对应的程序寄存器中。

10、在本技术一个可选的实施例中,所述第一执行单元包括解码单元、物理寄存器、标签队列单元、计分板、指令队列单元;

11、所述解码单元用于对所述预解码后的指令进行解码处理,得到解码后的指令信息;

12、所述第一执行单元还用于基于所述物理寄存器列表,对所述解码后的指令信息建立寄存器重命名映射关系并存储至所述计分板,并基于所述标签队列单元中的标签队列,为所述解码后的指令信息分配目标标签;

13、所述第一执行单元还用于将所述解码后的指令信息按照指令功能进行分类处理,得到指令类型,并将所述解码后的指令信息存储至与所述指令类型对应的所述指令队列单元。

14、在本技术一个可选的实施例中,所述第一执行单元还用于:

15、从所述物理寄存器列表中查找处于空闲状态的目标物理寄存器;根据所述目标物理寄存器,对所述解码后的指令信息进行寄存器重命名处理,建立所述目标物理寄存器与所述解码后的指令信息之间的寄存器重命名映射关系并存储至计分板;从所述标签队列单元中查找处于未使用状态的目标标签;根据所述目标标签,为所述解码后的指令信息分配所述目标标签。

16、在本技术一个可选的实施例中,所述第二执行单元与所述第一执行单元连接,所述第二执行单元包括指令队列缓存单元和交付单元;

17、所述指令队列缓存单元用于接收所述指令队列单元传输的指令信息,并存储至所述指令队列缓存单元;

18、所述交付单元用于获取包括操作数的指令信息,并对所述包括所述操作数的指令信息进行交付处理。

19、在本技术一个可选的实施例中,所述第三执行单元与所述第二执行单元连接,所述第三执行单元包括操作数缓存单元和异常检测单元;

20、所述操作数缓存单元用于将所述指令队列的操作数进行缓存处理;

21、所述异常检测单元用于检测所述指令队列中的指令信息是否出现异常,得到异常检测结果;所述异常检测结果用于表征所述指令信息是否出现异常。

22、在本技术一个可选的实施例中,所述异常检测单元还用于当所述异常检测结果用于表征所述指令信息出现异常时,确定异常指令信息并生成异常信号;将所述异常信号进行广播,停止对所述异常指令信息的交付、执行和写回操作。

23、在本技术一个可选的实施例中,所述第四执行单元与所述第三执行单元连接;所述第四执行单元包括执行单元和写回单元;

24、所述执行单元用于当所述异常检测结果用于表征所述指令信息未出现异常时,执行所述指令队列中的指令信息,得到指令结果;

25、所述写回单元用于将所述指令结果进行写回至所述目标物理存储器。

26、在本技术一个可选的实施例中,所述执行单元包括:运算指令单元、跳转指令单元、访存指令单元和控制与状态寄存器指令单元;

27、所述访存指令单元和所述控制与状态寄存器指令单元位于同一执行单元。

28、本技术实施例的第二个方面,提供了一种处理系统,包括如上述实施例提供的指令处理设备。

29、本技术实施例中的指令处理设备,包括取指模块和执行模块,该取指模块包括获取单元、切分处理单元、取指单元;切分处理单元分别与获取单元、取指单元连接;执行模块包括依次连接的第一执行单元、第二执行单元、第三执行单元和第四执行单元;获取单元用于获取多个待处理指令数据;切分处理单元用于对多个待处理指令数据进行切分处理,得到目标指令;取指单元用于对目标指令进行缓存、预解码处理,得到预解码后的指令,并将预解码后的指令存储至寄存器中;第一执行单元用于对预解码后的指令进行解码、物理寄存器重命名、标签分配和分类存储至相应的指令队列;第二执行单元用于将指令队列缓存处理,第三执行单元用于进行指令异常检测和操作数缓存处理,第四执行单元用于执行指令处理,得到指令结果并将指令结果进行写回处理。

30、本技术的指令处理设备与现有技术相比而言,一方面,通过采用多个单元对获取的待处理指令数据切分处理,得到多个目标指令,以在后续对多个指令进行并行处理,能够采用指令多发射的结构,在单周期内处理更多的指令,通过对目标指令进行缓存、预解码处理,得到解码后的指令,并将预解码后的指令放置至寄存器中,能够极大地减少waw和war数据相关性导致的依赖关系,从而降低了流水线中常见的因等待指令操作数而产生的卡顿。另一方面,采用四个执行单元通过对预解码后的指令进行解码、物理寄存器重命名、标签分配和存储处理至指令队列,以及将指令队列进行缓存、指令异常检测、操作数缓存和执行指令处理,得到指令结果并写回指令结果,能够采用多级流水线,使得碎片化的指令任务均匀的分布在各个不同的流水线级,不会出现单级流水线任务量过重而限制工作频率的情况,缩短了执行时间,提高了数据处理效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1