一种处理器、处理器控制模块及其控制方法
【技术领域】
[0001]本发明涉及音频处理技术领域,尤其涉及一种处理器、处理器控制模块及其控制方法。
【背景技术】
[0002]近年来随着音频处理技术在不同领域的广泛应用,音频处理算法的功能越来越丰富,复杂度不断增加,对于音频处理器的面积、功耗和速度的要求也不断提高。在助听器、话筒、手机、平板电脑等音频和多媒体设备中,为了实现更低功耗、更小面积的语音处理芯片,同时保证高质量的音频效果,需要对处理器的结构进行不断优化。
[0003]普通的算法控制模块只能对硬件功能进行控制。具体而言,常用的算法控制模块包括总线接口、寄存器和控制器3个部分,总线接口接收从CPU发出的命令,寄存器内保存控制参数,控制器完成算法功能的流程控制。
[0004]单纯的控制器只能对硬件功能模块的功能和参数进行控制,在音频算法处理器内需要由软件完成特定功能的情况下只能由CPU执行运算,对于延迟比较敏感的音频处理纯软件很难达到要求。因此,现有技术的音频处理方案很难满足软硬件协同完成音频算法处理的需求。
【发明内容】
[0005]本发明主要解决的技术问题是提供一种处理器、处理器控制模块及其控制方法,能够在提高软件运算速度的基础上增加硬件运算的灵活性。
[0006]为了解决上述问题,本发明实施例提供一种处理器控制方法,该方法包括以下步骤:保存控制参数;根据寄存器的控制参数,控制算法硬件执行算法功能的流程控制;根据寄存器的控制参数,启动系统内部的软件操作。
[0007]其中,根据寄存器的控制参数启动系统内部的软件操作的步骤包括:获取第一算法硬件的操作标记;根据操作标记判断是否启动硬件处理模式,如果是,则启动算法硬件以进入硬件处理模式,否则启动软件处理模式。
[0008]其中,当启动软件处理模式时,进一步判断是否以软件处理模式替代硬件处理模式,如果是,则使软件程序执行全部算法功能,否则同时启动硬件处理模式。
[0009]其中,当硬件处理模式完成后,执行软件补丁操作。
[0010]本发明另一实施例提供一种处理器控制模块,包括:总线接口,用于接收从CPU发出的命令;寄存器,用于保存控制参数;硬件控制器,用于根据寄存器的控制参数,控制算法硬件执行算法功能的流程控制;处理器控制模块还包括软件操作单元,用于根据寄存器的控制参数,启动系统内部的软件操作。
[0011]其中,软件操作单元进一步包括:获取单元,用于获取第一算法硬件的操作标志;启动单元,用于根据操作标记判断是否启动硬件处理模式,如果是,则启动算法硬件以进入硬件处理模式,否则启动软件处理模式。
[0012]其中,软件操作单元进一步包括:
[0013]判断单元,用于当启动单元启动软件处理模式时,判断是否以软件处理模式替代硬件处理模式,启动单元在判断单元判断的结果为是时,控制软件程序执行全部算法功能,否则同时启动硬件处理模式。
[0014]其中,软件操作单元进一步包括:补丁单元,用于在硬件控制器完成硬件处理模式后,执行软件补丁操作。
[0015]本发明再一实施例提供一种处理器,其包括总线、存储器、运算单元、硬件处理模块以及上述的处理器控制模块,总线与总线接口连接,存储器以及运算单元与处理器控制模块的软件操作单元连接,硬件处理模块与处理器控制模块的硬件控制器连接。
[0016]本发明的有益效果是:区别于现有技术的情况,本发明的处理器控制方法和模块,通过增加可以根据寄存器的控制参数,启动系统内部的软件操作的步骤。由此可以在提高软件运算速度的基础上增加硬件运算的灵活性。
【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明实施例提供的处理器控制方法的流程图;
[0019]图2为本发明实施例提供的处理器控制模块的功能模块图。
【具体实施方式】
[0020]下面结合附图和【具体实施方式】对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0021]如图1所示,其为本发明实施例提供的处理器控制方法的流程图。所述方法包括以下步骤:
[0022]步骤S1:保存控制参数。其中,控制参数包括算法功能硬件启动标志、软件调用硬件功能、软件完成标志位、运算操作使能、运算操作选择、运算因子地址、运算结果地址、连续运算次数控制和运算宽度控制等。其中,运算操作选择包括加法、减法、乘法、除法、开方、对数和指数等。
[0023]步骤S2:根据寄存器的控制参数,控制算法硬件执行算法功能的流程控制。
[0024]本步骤中,首先要设置运算因子地址、运算结果地址、运算次数、运算宽度控制、运算类型选择等。然后判断是否符合控制参数的算法功能硬件启动标志,若符合则启动算法硬件以进入硬件处理模式,若不符合则执行步骤S3。
[0025]步骤S3:根据寄存器的控制参数,启动系统内部的软件操作。
[0026]具体而言,当启动软件处理模式时,进一步判断是否以软件处理模式替代硬件处理模式,如果是,则使软件程序执行全部算法功能,否则同时启动硬件处理模式。其中,当硬件处理模式完成后,执行软件补丁操作。
[0027]其中,软件程序执行全部算法功能的具体步骤为:第I步:软件程序首先从取出保存的运算因子;第2步:完成特定运算,第3步:将运算结果存入预设的存储器地址中。进而递增运算因子和运算结果地址,重复执行上述第1、2以及3步,直到设定次数的运算完成为止。由此可以比较灵活的实现连续的系列运算,增加硬件运算的灵活性。
[0028]同时也可以使得CPU内部继续其他的软件运算,或者从前文第I步开始重新设置寄存器完成另一系列的运算