首页> 中国专利> 一种具有数据缓存功能的处理器装置及其数据读写方法

一种具有数据缓存功能的处理器装置及其数据读写方法

摘要

本发明涉及一种具有数据缓存功能的处理器装置及其数据读写方法。该处理器装置包括处理器内核(1)、数据存储模块和数据缓存模块(4),所述的数据缓存模块(4)设置于处理器内核(1)和数据存储模块之间,该数据缓存模块(4)缓存处理器内核(1)产生并发送至数据存储模块的数据信息(21),所述的数据缓存模块(4)包括数据缓存控制单元(22)和与之连接的数据缓存队列,该数据缓存队列包括依次排列的多个数据元素,每个数据元素对应一个数据的数据信息(21)。与现有技术相比,本发明具有结构简单、能够大大提高处理器装置运行效率等优点。

著录项

  • 公开/公告号CN105786758A

    专利类型发明专利

  • 公开/公告日2016-07-20

    原文格式PDF

  • 申请/专利权人 同济大学;

    申请/专利号CN201610108865.9

  • 申请日2016-02-26

  • 分类号G06F15/78(20060101);

  • 代理机构31225 上海科盛知识产权代理有限公司;

  • 代理人宣慧兰

  • 地址 200092 上海市杨浦区四平路1239号

  • 入库时间 2023-06-19 00:06:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-03

    授权

    授权

  • 2016-08-17

    实质审查的生效 IPC(主分类):G06F15/78 申请日:20160226

    实质审查的生效

  • 2016-07-20

    公开

    公开

说明书

技术领域

本发明涉及一种处理器装置及其数据读写方法,尤其是涉及一种具有数据缓存功能的处理器装置及其数据读写方法。

背景技术

数字信号处理器(DSP)是一种特殊结构的微处理器,是专门用来处理大规模数字信号的处理器。专用数字信号处理器的实时运行速度一般也比通用处理器快,其主要特色是强大的数字运算能力,因此主要被用于涉及到大规模数字信息计算的领域。数字信号处理器(DSP)已经成为数字化世界中日益重要的芯片。

随着高新技术的快速发展,对数字信号处理器(DSP)的功能要求也越来越高。例如,流水线结构可有效提高处理器的运行效率,提高处理能力,但是其在对数据进行写后读操作时,会将刚写进存储器的数据,再重新读出来,原先对于这一问题,一些设计不采取任何措施,会降低处理器运行的流畅性,占用宝贵的处理周期,降低处理器的运行效率。为了解决这些问题,现有的一些处理器通过增加缓存模块来解决,然而现有的缓存模块存在结构复杂,占用资源较多,可靠性不高等问题。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种结构简单、占用资源少且可靠性高的具有数据缓存功能的处理器装置及其数据读写方法。

本发明的目的可以通过以下技术方案来实现:

一种具有数据缓存功能的处理器装置,包括处理器内核和数据存储模块,该处理器装置还包括数据缓存模块,所述的数据缓存模块设置于处理器内核和数据存储模块之间,该数据缓存模块缓存处理器内核产生并发送至数据存储模块的数据信息,所述的数据缓存模块包括数据缓存控制单元和与之连接的数据缓存队列,该数据缓存队列包括依次排列的多个数据元素,每个数据元素对应一个数据的数据信息。

所述的数据元素为三元组结构,包括数据内容缓存信息、地址缓存信息和位宽缓存信息。

所述的数据缓存队列包括五个数据元素。

一种具有数据缓存功能的处理器装置的数据读写方法,该方法为:

当处理器内核中的数据写入数据存储模块时,数据依次缓存至数据缓存模块中的数据缓存队列,并通过ACK机制将数据依次写入数据存储模块;

当处理器内核读取数据存储模块中的数据时,处理器内核获取待读取数据的地址信息并发送至数据缓存模块,数据缓存控制单元在数据缓存队列的地址缓存信息中查找是否存在与所述的地址信息相同的地址缓存信息,若存在,处理器内核直接读取该地址缓存信息所在的数据元素中的数据内容缓存信息,否则,处理器内核从数据存储模块读取数据。

所述的通过ACK机制将数据依次写入数据存储模块具体为:

(a)数据缓存模块按照其缓存数据的先后顺序将第一个缓存至数据缓存队列中的数据元素中的内容缓存信息和地址缓存信息发送至数据存储模块;

(b)数据缓存模块等待数据存储模块发回的ACK信号;

(c)判断是否有ACK信号,若是执行步骤(d),否则返回步骤(b);

(d)数据缓存模块将数据缓存队列中的下一个数据元素中的内容缓存信息和地址缓存信息发送至数据存储模块,并返回步骤(b)。

与现有技术相比,本发明具有如下优点:

(1)该处理器装置中的数据缓存模块缓存处理器内核产生并发送至数据存储模块的数据信息,当进行写后读操作时,由于数据存储模块数据缓存队列中存在与待读取数据的地址信息相同的地址缓存信息,此时便直接从数据缓存模块中进行数据读取,这种方式避免了进行时间开销巨大的从存储器中取数据的操作,减少了处理器内核的等待时间,提高流水线的运行效率,增强该处理器的数据处理能力,大大提高了处理器的运行效率;

(2)该处理器缓存装置采用缓存控制单元和与之连接的数据缓存队列的方式来实现,这样的数据缓存模块设置方式具有结构简单、占用资源少的优点;

(3)采用ACK机制将数据依次写入数据存储模块时能够保证数据顺序送到数据存储模块,防止数据发生错乱,提高该处理器装置的可靠性。

附图说明

图1为本发明具有数据缓存功能的处理器装置的结构示意图;

图2为本发明数据缓存模块的结构示意图。

图中,1为处理器内核,2为中间层次,3为顶层模块,4为数据缓存模块,5为数据存储器,6为指令存储器,7为调试模块,8为调试接口,9为Wishbone总线,10为直接存储访问模块,11为流水线暂停模块,12为旁路模块,13为异常处理模块,14为特殊寄存器,15为取指单元,16为译码单元,17为执行单元,18为写回单元,19为调试模块与处理器内核接口,20为调试模块与Wishbone总线调试接口,21为数据信息,22为数据缓存控制单元,23为数据内容缓存信息,24为地址缓存信息,25为位宽缓存信息。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

如图1所示为本发明一种具有数据缓存功能的处理器装置的一个实施例,该处理器装置由3个层次构成,最内部层次为处理器内核1,该处理器内核1是由处理器最基本的机构组成,包括了流水线、流水线暂停模块11(Freeze)、旁路模块12(Bypass)、异常处理模块13(Except)和特殊寄存器14(SPR),其中所述的流水线包括取指单元15(IF)、译码单元16(ID)、执行单元17(EX)和写回单元18(WB),所有指令的译码执行都在该处理器内核1中完成。

处理器装置的中间层次2主要包括了处理器内核1、数据存储模块、基本的外设接口以及数据缓存模块4,所述数据存储模块进一步分为指令存储器6和数据存储器5,其中指令存储器6用于存储指令,数据存储器5用于存储数据。

处理器装置的顶层模块3包括了调试模块7(Debug)、Wishbone总线9、直接存储访问模块10(DMA)以及调试接口8,其中调试接口8包括调试模块与处理器内核接口19(Debug_DU)以及调试模块与Wishbone总线调试接口20(Debug_WB);此外,顶层模块3提供了处理器装置对外访问的接口。

在处理器内核1中,流水线暂停模块11用于控制流水线的暂停。该模块在设计时有以下特点:

(1)对各流水级单独控制,可以分别让某一级流水线暂停或者刷新该级流水线的流水线寄存器。

(2)控制信号的优先级设计。每一级流水线的暂停信号都比处在它之后的流水线的暂停信号优先级高。

所述的数据缓存模块4设置于处理器内核1和数据存储模块之间,该数据缓存模块4缓存处理器内核1产生并发送至数据存储模块的数据信息21。

如图2所示为数据缓存模块4的结构示意图,该数据缓存模块4包括数据缓存控制单元22和与之连接的数据缓存队列,该数据缓存队列包括依次排列的多个数据元素,每个数据元素对应一个数据的数据信息21。所述的数据元素为三元组结构,包括数据内容缓存信息23、地址缓存信息24和位宽缓存信息25,从而构成一个数据的数据信息21。该实施例中所述的数据缓存队列包括五个数据元素,这样的数据缓存模块设置方式具有结构简单、占用资源少的优点。

上述具有数据缓存功能的处理器装置的数据读写方法,该方法为:

当处理器内核1中的数据写入数据存储模块时,数据依次缓存至数据缓存模块4中的数据缓存队列,并通过ACK机制将数据依次写入数据存储模块。其中,所述的通过ACK机制将数据依次写入数据存储模块具体为:

(a)数据缓存模块4按照其缓存数据的先后顺序将第一个缓存至数据缓存队列中的数据元素中的内容缓存信息和地址缓存信息24发送至数据存储模块;

(b)数据缓存模块4等待数据存储模块发回的ACK信号;

(c)判断是否有ACK信号,若是执行步骤(d),否则返回步骤(b);

(d)数据缓存模块4将数据缓存队列中的下一个数据元素中的内容缓存信息和地址缓存信息24发送至数据存储模块,并返回步骤(b)。采用ACK机制写入数据能够保证数据是顺序送到数据存储模块的,同时当发现写入数据存储模块有异常时候,处理器装置中相关的异常处理模块13能够及时处理这些异常。

当处理器内核1读取数据存储模块中的数据时,处理器内核1获取待读取数据的地址信息并发送至数据缓存模块4,数据缓存控制单元22在数据缓存队列的地址缓存信息24中查找是否存在与所述的地址信息相同的地址缓存信息24,若存在,处理器内核1直接读取该地址缓存信息24所在的数据元素中的数据内容缓存信息23,否则,处理器内核1从数据存储模块读取数据。

当出现两条连续指令,第一条指令将处理器内核1产生的数据存储到数据存储模块,第二条指令又将该数据从数据存储器5读出时,处理器内核1获取待读取数据的地址信息并发送至数据缓存模块4,数据缓存控制单元22在数据缓存队列的地址缓存信息24中查找到与所述的地址信息相同的地址缓存信息24,处理器内核1直接读取该地址缓存信息24所在的数据元素中的数据内容缓存信息23,这种方式避免了进行时间开销巨大的从数据存储器5中取数据的操作,减少了处理器内核1的等待时间,提高流水线的运行效率,增强该处理器的数据处理能力,大大提高了处理器的运行效率。

另外所述数据缓存模块4还可以兼具作为DMA读取数据的通道的功能,数据缓存控制单元22相关逻辑可以区分数据的来源,从而对不同来源的数据进行不同的操作。同时数据缓存模块4还具有数据合并的功能,对于地址缓存信息24存在属于或者相交的情况时,可采取不同的处理策略进行合并处理。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号