开源处理器及内部缓存的访问方法、调试系统及电子设备与流程

文档序号:36916006发布日期:2024-02-02 21:43阅读:15来源:国知局
开源处理器及内部缓存的访问方法、调试系统及电子设备与流程

本技术属于计算机领域,具体涉及一种开源处理器及内部缓存的访问方法、调试系统及电子设备。


背景技术:

1、risc-v是基于精简指令集risc(reduced instruction set computer,精简指令集计算机)建立的开放指令集架构,由加州大学伯克利分校相关团队完成,其中,risc-v表示第五代risc。risc-v指令集架构在物联网、嵌入式设备、工业控制、人工智能等领域发挥着重要作用,应用也越来越广泛。随着risc-v的普及,在risc-v芯片集成设计过程中如何高效地完成调试验证工作对项目进度有着极大影响。而在进行板级测试时,通常在fpga(field programmable gate array,现场可编程门阵列)平台上采用jtag(joint testaction group,联合测试行动小组)协议完成在线调试。

2、在用jtag技术对risc-v芯片进行在线调试时,会遇到多种bug(故障),为定位和解决问题会花费大量时间。遇到简单的中断或异常等问题,通过分析相关通用寄存器和系统寄存器能快速定位和解决。而当risc-v芯片本身设计出现问题或者代码运行出现的其他问题,往往很难根据上述寄存器分析定位原因,需要查看risc-v芯片内部cache(缓存)中的数据以便进行分析,通过cache缓存的数据分析,可知当前出现问题的指令和数据,这种方式能加速定位和解决问题。然而,当前在jtag调试过程中,查看risc-v芯片内部cache的数据比较难实现。


技术实现思路

1、鉴于此,本技术的目的在于提供一种开源处理器及内部缓存的访问方法、调试系统及电子设备,以实现在基于jtag调试risc-v芯片的过程中,实现对risc-v芯片内部cache的访问。

2、本技术的实施例是这样实现的:

3、第一方面,本技术实施例提供了一种开源处理器,所述开源处理器被配置为与jtag工具连接,所述jtag工具被配置为配置用于访问所述开源处理器内部缓存的配置信息,所述开源处理器包括:缓存、系统寄存器以及访问模块;系统寄存器与所述缓存连接,所述系统寄存器被配置为存储所述配置信息,其中,所述配置信息包括:访问地址、操作类型、访问模式;访问模块与所述系统寄存器和所述缓存连接,则所述访问模块被配置为解析所述配置信息,并根据所述配置信息中的访问地址、操作类型、访问模式对所述缓存进行访问。

4、本技术实施例中,可以通过jtag工具来配置用于访问开源处理器内部缓存的配置信息,通过访问模块来解析配置信息,并根据配置信息实现对缓存进行访问,这样便能实现对开源处理器内部缓存的访问,以便于在调试过程中出现bug时,通过分析开源处理器内部cache(缓存)中的数据,可知当前出现问题的指令和数据,能加速定位和解决问题。

5、结合第一方面实施例的一种可能的实施方式,若所述操作类型为写操作,所述访问模式为单步处理模式,则所述访问模块被配置为,基于所述单步处理模式将所述系统寄存器中的信息写入所述访问地址指向的缓存;或者,若所述操作类型为写操作,所述访问模式为批量处理模式,则所述访问模块被配置为,基于所述批量处理模式将所述访问地址指向的外部存储器中的信息写入所述缓存。

6、本技术实施例中,提供了两种访问模式,方便在risc-v处理器调试过程中,对cache中的信息进行写操作,以及快速定位,提高jtag在线调试的效率。

7、结合第一方面实施例的一种可能的实施方式,若所述操作类型为读操作,所述访问模式为单步处理模式,则所述访问模块被配置为基于所述单步处理模式将所述访问地址指向的缓存中的信息读入所述系统寄存器;或者,若所述操作类型为读操作,所述访问模式为批量处理模式,则所述访问模块被配置为基于所述批量处理模式将所述缓存中的信息读到外部存储器。

8、本技术实施例中,提供了两种访问模式,方便在risc-v处理器调试过程中,对cache中的信息进行读操作,以及快速定位,提高jtag在线调试的效率。

9、结合第一方面实施例的一种可能的实施方式,所述缓存包括指令缓存和数据缓存;所述配置信息还包括访问类型,所述访问类型用于指示访问所述指令缓存还是访问所述数据缓存。

10、本技术实施例中,当缓存包括指令缓存和数据缓存时,通过新增访问类型的配置信息,从而实现对指令缓存还是数据缓存的访问,提高了灵活性。

11、结合第一方面实施例的一种可能的实施方式,所述配置信息还包括缓存行尺寸,所述缓存行尺寸用于指示访问所述缓存行的尺寸大小。

12、本技术实施例中,通过新增缓存行尺寸,以便于选择所需的缓存行尺寸大小来对访问的访问,提高了灵活性。

13、结合第一方面实施例的一种可能的实施方式,所述开源处理器还包括:内部总线模块和系统总线模块,所述访问模块、所述缓存分别与所述内部总线模块连接,所述内部总线模块还与所述系统总线模块连接,所述系统总线模块还被配置为与外部存储器连接;所述内部总线模块被配置为在所述访问模块的作用下,实现所述缓存与所述外部存储器的交互传输;所述系统总线模块被配置为将所述内部总线模块的访问转换为外部总线的访问,或者将访问总线的访问转换为所述内部总线模块的访问。

14、本技术实施例中,通过内部总线模块以及系统总线模块,从而能够快速实现缓存与外部存储器的交互传输,为批量读写数据提供了保障。

15、第二方面,本技术实施例提供了一种调试系统,其特征在于,包括:jtag工具和如上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的开源处理器,所述jtag工具和所述开源处理器连接,所述jtag工具被配置为配置用于访问所述开源处理器内部缓存的配置信息。

16、第三方面,本技术实施例提供了一种电子设备,包括:存储器和如上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的开源处理器,所述开源处理器与所述存储器连接。

17、第四方面,本技术实施例提供了一种开源处理器内部缓存的访问方法,所述方法包括:所述开源处理器中的系统寄存器,接收并保存通过jtag工具配置的用于访问所述开源处理器内部缓存的配置信息,其中,所述配置信息包括:访问地址、操作类型、访问模式;所述开源处理器中的访问模块解析所述配置信息,并根据所述配置信息中的访问地址、操作类型、访问模式对所述开源处理器中的缓存进行访问。

18、结合第四方面实施例的一种可能的实施方式,根据所述配置信息中的访问地址、操作类型、访问模式对所述开源处理器中的缓存进行访问,包括:若所述操作类型为写操作,所述访问模式为单步处理模式,则所述访问模块基于所述单步处理模式将所述系统寄存器中的信息写入所述访问地址指向的缓存;或者,若所述操作类型为写操作,所述访问模式为批量处理模式,则基于所述批量处理模式将所述访问地址指向的外部存储器中的信息写入所述缓存;或者,若所述操作类型为读操作,所述访问模式为单步处理模式,则所述访问模块基于所述单步处理模式将所述访问地址指向的缓存中的信息读入所述系统寄存器;或者,若所述操作类型为读操作,所述访问模式为批量处理模式,则所述访问模块基于所述批量处理模式将所述缓存中的信息读到外部存储器。

19、结合第四方面实施例的一种可能的实施方式,所述缓存包括指令缓存和数据缓存;所述配置信息还包括访问类型,所述访问类型用于指示访问所述指令缓存还是访问所述数据缓存。

20、本技术的其他特征和优点将在随后的说明书阐述。本技术的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

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