DSP寄存器访问冲突处理方法技术

技术编号:30284784 阅读:12 留言:0更新日期:2021-10-09 21:55
DSP寄存器访问冲突处理方法,包括接收第一总线传送的第一访问请求,记录第一目标寄存器ID;接收第二总线传送的第二访问请求,记录第二目标寄存器ID;读取第一、第二状态标志位并判断是否有至少一个处于置位状态;若是,则判断第一、第二目标寄存器ID是否相同;若相同,则判定为发生寄存器访问冲突;置位停顿状态标志位,配置流水线停顿取指、译码和预测,执行第一访问请求对应的读操作或写操作;生成标志位清除使能并清除第一、第二状态标志位;判断第一、第二状态标志位是否均处于复位状态;若是,执行第二访问请求对应的读寄存器操作或写寄存器操作,复位停顿状态标志位,流水线恢复。本发明专利技术确保不会连续产生访问冲突,指令的执行顺序符合预期。序符合预期。序符合预期。

【技术实现步骤摘要】
DSP寄存器访问冲突处理方法


[0001]本专利技术属于芯片设计和制造
,尤其涉及一种DSP寄存器访问冲突处理方法。

技术介绍

[0002]DSP内部寄存器发生访问冲突时,现有的方式是处理器将优先级低的访问缓存,先处理优先级高的访问请求。但在实际应用中,可能会出现连续冲突,这导致优先级低的访问一直被缓存,直至冲突结束。这样的处理方式存在一定概率导致指令序列的实际执行顺序与预期顺序不同,导致数据处理结果产生差异。

技术实现思路

[0003]本专利技术针对现有技术中出现连续寄存器访问冲突时,优先级低的访问一直被缓存,导致指令序列的实际执行顺序与预期顺序不同,数据处理结果产生差异的问题,设计并提供一种DSP寄存器访问冲突处理方法。
[0004]为实现上述专利技术目的,本专利技术采用下述技术方案予以实现:一种DSP寄存器访问冲突处理方法,包括以下步骤:接收第一总线传送的第一访问请求,所述第一访问请求配置为执行对第一目标寄存器的读操作或写操作,记录第一目标寄存器ID;接收第二总线传送的第二访问请求,所述第二访问请求配置为执行对第二目标寄存器的读操作或写操作,记录第二目标寄存器ID;读取与第一访问请求对应的第一状态标志位以及与第二访问请求对应的第二状态标志位,并判断是否有至少一个处于置位状态;如果所述第一状态标志位以及第二状态标志位有至少一个处于置位状态,则判断所述第一目标寄存器ID与第二目标寄存器ID是否相同;如果第一目标寄存器ID与第二目标寄存器ID相同,则判定为发生寄存器访问冲突;置位停顿状态标志位,配置流水线停顿取指、译码和预测,执行所述第一访问请求对应的读操作或写操作;根据读操作或者写操作生成标志位清除使能并清除所述第一状态标志位和第二状态标志位;判断第一状态标志位和第二状态标志位是否均处于复位状态;如果第一状态标志位和第二状态标志位均处于复位状态,执行第二访问请求对应的读寄存器操作或写寄存器操作,复位停顿状态标志位,流水线恢复。
[0005]与现有技术相比,本专利技术的优点和积极效果是:本专利技术所提供的DSP寄存器访问冲突处理方法,在寄存器访问冲突时,置位停顿状态标志位stall迫使流水线取指,译码、预测等阶段的停顿。由于流水线停顿,因此没有新的指令进入流水线,进而保证不会连续产生访问冲突。同时,DSP处理器内部按照引发冲突的访问顺序依次对寄存器完成访问。其后复位stall信号,撤销停顿申请。流水线恢复后继续取指,这保证了指令的执行顺序与预期一致。
[0006]结合附图阅读本专利技术的具体实施方式后,本专利技术的其他特点和优点将变得更加清楚。
[0007]附图说明
[0008]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0009]图1 为本专利技术所提供的DSP寄存器访问冲突处理方法的流程图。
[0010]具体实施方式
[0011]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下将结合附图和实施例,对本专利技术作进一步详细说明。
[0012]需要说明的是,在本专利技术的描述中,术语“上”、“下”、“左”、“右”、“竖”、“横”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0013]对于DSP处理器来说,一种可行的指令行格式为128位,每一个指令行分为4个指令单元,每个指令单元是32位。指令单元是指令的最小单元,一个指令单元可以实现一条简单指令。一个指令行可以同时进行4个简单操作,也可以只进行一个简单操作,后边的3个指令单元按照默认的空指令填充。对应的,所采用的总线系统包括第一总线和第二总线,第一总线和第二总线作为与各个寄存器、运算部件和内部模块之间传送信息的共同通信干线。为便于描述,定义第一总线为J总线,定义第二总线为K总线。J总线和K总线可以同时用于对寄存器进行访问。为了访问目标寄存器,一个指令行中可能有两个针对同一寄存器的操作,例如,在一个指令行中定义寄存器A=J5;寄存器A=K5,即同时进行2个写操作;或者在一个指令行中定义寄存器A=J5;K5=寄存器A,即同时进行1个读操作,1个写操作,当然,还有可能是两个读操作。对于寄存器A来说,即在一个指令行中有两个访问操作,存在访问冲突。除了一个指令行的两个访问操作导致的访问冲突之外,还有可能是分别在两个指令行中的两个访问操作导致的访问冲突,第一个指令行中对寄存器A的访问操作未完成,第二个指令行中即产生另一个对寄存器A的访问指令,这也会导致访问冲突。本专利技术所提供的方法即用于处理这一问题。此外,需要说明的是,如果一个指令行中包含两个利用同一总线传送的访问操作,例如寄存器A=J5;寄存器A=J6,这种指令的语法是非法的,在编译时无法产生处理器需要的指令码,无法通过编译阶段,不会引起寄存器访问冲突。
[0014]如图1所示,本专利技术所提供的DSP寄存器访问冲突处理方法,具体包括以下步骤:步骤S11,接收第一总线(J总线)传送的第一访问请求,第一访问请求配置为执行对第一目标寄存器的读操作或者写操作,记录第一目标寄存器ID。
[0015]对于本专利技术中所提供的DSP处理器采用流水线架构,流水线架构至少包括I级、A级、EX1级、EX2级(流水线第一执行级)和EX3级(流水线第二执行级)。DSP处理器内部模块,例如运算部件等,在流水线I级发出访问某一个寄存器的访问请求。流水线A级判定访问请
求能否传递到第一总线(J总线)或第二总线(K总线),即能否传送到J总线或者K总线上。通常来说,如果J总线或者K总线没有停顿就能传到第一总线(J总线)或者第二总线(K总线)上,如果J总线或者K总线停顿,则访问请求会保持,直到停顿消除。EX1级相当于是一个空闲,以减少数据路径的长度。流水线第一执行级EX2级和流水线第二执行级EX3级将在下文中进行详细介绍。
[0016]步骤S22,类似的,接收第二总线(K总线)传送的第二访问请求,第二访问请求配置为执行对第二目标寄存器的读操作或者写操作,记录第二目标寄存器ID。
[0017]寄存器本身和寄存器ID是一一对应的关系,寄存器ID由软件编译规则自行生成,例如上文示例中指出的寄存器A, A即为寄存器ID。
[0018]第一访问请求触发第一状态标志位flag_j置位,即第一状态标志位flag_j拉高,由0变为1。第二访问请求则触发第二状态标志位flag_k置位,即第二状态标志位flag_k拉高,由0变为1。
[0019]第一总线(J总线)传送的第一访问请求和第一目标寄存器ID顺流水线送至流水线第一执行级(EX2级)。
[0020]第二总线(K总线)传送本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DSP寄存器访问冲突处理方法,其特征在于,包括以下步骤:接收第一总线传送的第一访问请求,所述第一访问请求配置为执行对第一目标寄存器的读操作或写操作,记录第一目标寄存器ID;接收第二总线传送的第二访问请求,所述第二访问请求配置为执行对第二目标寄存器的读操作或写操作,记录第二目标寄存器ID;读取与第一访问请求对应的第一状态标志位以及与第二访问请求对应的第二状态标志位,并判断是否有至少一个处于置位状态;如果所述第一状态标志位以及第二状态标志位有至少一个处于置位状态,则判断所述第一目标寄存器ID与第二目标寄存器ID是否相同;如果第一目标寄存器ID与第二目标寄存器ID相同,则判定为发生寄存器访问冲突;置位停顿状态标志位,配置流水线停顿取指、译码和预测,执行所述第一访问请求对应的读操作或写操作;根据读操作或者写操作生成标志位清除使能并清除所述第一状态标志位和第二状态标志位;判断第一状态标志位和第二状态标志位是否均处于复位状态;如果第一状态标志位和第二状态标志位均处于复位状态,执行第二访问请求对应的读寄存器操作或写寄存器操作,复位停顿状态标志位,流水线恢复。2.根据权利要求1所述的DSP寄存器访问冲突处理方法,其特征在于,所述处理方法还包括以下步骤:所述第一总线传送的第一访问请求和第一目标寄存器ID顺流水线送至流水线第一执行级;所述第二总线传送的第二访问请求和第二目标寄存器ID顺流水线送至流水线第一执行级;流水线第一执行级判定是否符合取消所述第一访问请求或所述第二访问请求的设定条件;如果符合取消所述第一访问请求或第二访问请求的条件,则流水线第一执行级取消所述第一访问请求或所述第二访问请求;如果不符合取消所述第一访问请求或第二访问请...

【专利技术属性】
技术研发人员:苏诚张志伟薛晓军李阳李诚李雯雯
申请(专利权)人:青岛本原微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1