[0033] 下面结合附图和实施例对本发明进行进一步说明。
[0034] 在一个较佳的实施例中,如图2所示,提出了一种直接存储器访问控制器200,可以包括:
[0035] 一数据总线和一地址总线;
[0036] 硬件计算单元210,可以分别与数据总线和地址总线连接,硬件计算单元210可以对经过直接存储器访问控制器200的数据进行运算处理。
[0037] 其中,该直接存储器访问控制器200中还可以包括数据缓冲寄存器220、中断模块240、计数器250,中断模块240可以用于向系统总线发送中断请求,计数器250可以用于存放计算需要的交换数据的地址;数据缓冲寄存器220可以与数据总线连接,用于暂存数据总线上的数据;数据缓冲寄存器220还可以与外部设备230连接,用于暂存在数据总线和外部设备230之间传输的数据;优选地,数据缓冲寄存器220还可以与硬件计算单元210直接连接,以在数据缓冲寄存器220和硬件计算单元210之间直接传输数据和/或命令。
[0038] 在一个较佳的实施例中,如图3所示,硬件计算单元300可以包括:
[0039] 第一总线接口311,可以与数据总线连接;
[0040] 第二总线接口312,可以与地址总线连接;
[0041] 算术运算模块320,可以与第一总线接口311连接,以通过第一总线接口311与数据总线进行数据传输;
[0042] 算术运算模块320还可以与第二总线接口连接,以通过第二总线接口312在地址总线上查找地址;
[0043] 算术运算模块320可以用于对接收到的数据进行算术运算;
[0044] 关系运算模块330,可以与第一总线接口311连接,以通过第一总线接口311与数据总线进行数据传输;
[0045] 关系运算模块330还可以与第二总线接口312连接,以通过第二总线接口312在地址总线上查找地址;
[0046] 关系运算模块330可以用于对接收到的数据进行关系运算。
[0047] 上述实施例中,优选地,如图3所示,硬件计算单元300还可以包括:
[0048] 配置寄存器340,可以分别连接至第一总线接口311和第二总线接口312处,可以用于供用户输入配置指令,以对硬件计算单元300的工作模式进行配置。
[0049] 上述实施例中,优选地,算术运算模块可以具有执行第一类运算的功能。
[0050] 上述实施例中,优选地,如图4所示,第一类运算可以包括加运算和减运算,每个加运算或减运算均控制在一个时钟周期内完成。
[0051] 上述实施例中,优选地,算术运算模块可以具有执行第二类运算的功能。
[0052] 上述实施例中,优选地,如图5所示,第二类运算可以包括乘运算、除运算和取模运算,每个乘运算或除运算或取模运算均控制在N个时钟周期内完成,N为可调节的一预设值,且N≥2,N为正整数。
[0053] 在一个较佳的实施例中,关系运算模块具有执行大于关系运算、等于关系运算、小于关系运算、大于等于关系运算、小于等于关系运算和不等于关系运算的功能。
[0054] 在一个较佳的实施例中,该直接存储器访问控制器还可以包括一数据缓冲寄存器;数据缓冲寄存器可以分别与数据总线和直接存储器访问控制器外部的一外部设备连接,用于暂存在外部设备与数据总线之间传输的数据;
[0055] 数据缓冲寄存器可以包括一第一寄存单元和一第二寄存单元;第一寄存单元分别与数据总线和外部设备连接,以及第二寄存单元分别与数据总线和外部设备连接,使得数据总线向第一寄存器内存储双关键字或双命令支持乒乓操作。
[0056] 具体地,该乒乓操作可以是例如将双关键字拆分为第一关键字和第二关键字,第一步将第一关键字存储在第一寄存单元,第二步将第二关键字存储在第二寄存单元并将第一寄存单元中的第一关键字输出,后续的存储步骤依次类推。本发明中的直接存储器访问控制器可以视作是一种Smart DMA控制器,处理乘,除,取模运算时需要多个DMA时钟周期,在本发明中实现多时钟周期运算时,采用软件编程设定。用户预先在硬件计算单元中的寄存器中设定合适的值,然后硬件计算单元在处理乘,除,取模运算时,根据设定的值,硬件计算单元会在相应的时钟周期内计算出数据。
[0057] 本发明中硬件计算单元的关系运算功能体现在,当数据输入或输出时,Smart DMA控制器硬件计算单元中的关系运算模块根据输入或输出的数据,和需要存放或读取数据的地址,判断出该数据是否需要传送,以及判断出需要访问的地址。
[0058] 在本发明中数据经过Smart DMA控制器,传送给系统总线或者是发送给内部或外部设备时,数据的传送采用乒乓操作的方式如图6所示。当数据经过Smart DMA控制器传送时,在第一个 DMA时钟周期,先把数据缓存到第一寄存器1中。在第二个DMA时钟周期,将第一寄存器1中的数据传送到硬件计算单元中处理,同时将下一个数据缓存到第一寄存器2中。在第三个 DMA时钟周期,将第一寄存器2中的数据传送到硬件计算单元中处理,同时将下一个数据缓存到数据寄存器1中,依次循环处理。
[0059] 综上所述,本发明提出了一种直接存储器访问控制器,包括一数据总线、一地址总线和硬件计算单元,硬件计算单元分别与数据总线和地址总线连接,能够对经过直接存储器访问控制器的数据进行运算处理,应用范围更加广泛。
[0060] 通过说明和附图,给出了具体实施方式的特定结构的典型实施例,基于本发明精神,还可作其他的转换。尽管上述发明提出了现有的较佳实施例,然而,这些内容并不作为局限。
[0061] 对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。