一种基于计数器的流水控制方法和装置的制造方法

文档序号:9671201阅读:534来源:国知局
一种基于计数器的流水控制方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机芯片领域,尤其涉及一种基于计数器的流水控制方法和装置。
【背景技术】
[0002]随着计算机技术、通信技术、互联网技术和多媒体技术的迅猛发展,多媒体应用已经深入人们日常生活的方方面面,并逐渐地改变着人们的生活方式。视频是多媒体应用中最为常见和信息量最大的媒体。目前,多媒体业务已从以音频为主发展成以视频为主,无论是电影、电视、视频监控等传统多媒体应用,还是网流媒体视频、可视电话和视频会议等新兴多媒体应用,视频都是其中最为核心的组成部分。
[0003]视频在进行编码或解码过程中,往往需要通过多个功能模块的处理。以视频编码为例,码流数据需要依次经过图像预处理模块、搜索模块、模式判决模块、环路滤波模块、熵编码模块等处理,才能得到编码后的码流数据。为了加快编码效率,往往才用流水作业的方式来完成码流数据的编码,例如当搜索模块完成一个周期内的搜索任务时,即可开始下一周期处理图像预处理模块传输而来的码流数据,而不用等码流数据全部编码完成才开始下一周期的工作。流水作业的方式大大提升了视频编码的效率,然而也带来的一些问题,那就是两种错误情况一一 “空”和“满”。“空”情况是指当前级功能模块发生错误时,由于后级功能模块长期无法获取数据,出现无数据可以继续处理的情况。“满”情况正好相反,是指当后级功能模块发生错误时,前级的码流数据照常传输,导致发生“堵塞”现象。“空”和“满”的情况一旦没有及时解决,由于码流数据在各个功能模块之间是流水作业,往往会发生连锁反应导致整个码流数据的编码发生错误。
[0004]综上所述,如何解决流水作业的功能模块在进行工作时,出现“空”和“满”的问题,
保证码流数据正常传输,是计算机芯片领域一个亟需解决的问题。

【发明内容】

[0005]为此,需要提供一种基于计数器的流水控制的技术方案,用于解决流水作业的功能模块在进行工作时,出现“空”和“满”导致整个码流数据发生错误的问题。
[0006]发明人还提供了一种基于计数器的流水控制装置,所述装置包括功能单元、计数单元、控制单元、判断单元;所述功能单元与控制单元连接,所述控制单元与判断单元连接,所述控制单元与计数单元连接;所述功能单元包括第一功能模块和第二功能模块,所述计数单元包括第一计数模块和第二计数模块;
[0007]所述控制单元用于初始化第一计数模块和第二计数模块的初始值,并发送第一启动信号至第一功能模块;
[0008]所述第一功能模块用于接收第一启动信号开始工作,并在结束工作后发送第一结束信号至控制单元;
[0009]所述控制单元还用于接收第一结束信号,并对第一计数模块的值执行第一加法操作,得到第一计数中间值;
[0010]所述判断单元用于判断第一计数中间值与第二计数模块的值是否最高位数值不等且剩余位数数值相等,若是则控制单元终止第一功能模块继续工作;否则控制单元发送第二启动信号至第二功能模块;
[0011]所述第二功能模块用于接收第二启动信号开始工作,并在结束工作后发送第二结束信号至控制单元;
[0012]所述控制单元还用于接收第二结束信号,并对第二计数模块的值执行第二加法操作,得到第二计数中间值;
[0013]所述判断单元用于判断第二计数中间值与第一计数模块的值是否相等,若是则控制单元终止第二功能模块继续工作;否则控制单元发送第三启动信号至第一功能模块。
[0014]进一步地,所述第一计数模块和第二计数模块的初始值为0。
[0015]进一步地,所述第一加法操作具体为:将第一计数模块的值加1 ;所述第二加法操作具体为:将第二计数模块的值加1。
[0016]进一步地,所述“控制单元终止第一功能模块继续工作”通过以下方式实现:控制单元将第一计数模块的值的最高位拉高;所述“控制单元终止第二功能模块继续工作”通过以下方式实现:控制单元将第二计数模块的值的最高位拉高。
[0017]进一步地,所述判断单元执行判断步骤在一个时钟拍内进行。
[0018]以及发明人还提供了一种基于计数器的流水控制方法,所述方法应用于基于计数器的流水控制装置,所述装置包括功能单元、计数单元、控制单元、判断单元;所述功能单元与控制单元连接,所述控制单元与判断单元连接,所述控制单元与计数单元连接;所述功能单元包括第一功能模块和第二功能模块,所述计数单元包括第一计数模块和第二计数模块;则所述方法包括以下步骤:
[0019]控制单元初始化第一计数模块和第二计数模块的初始值,并发送第一启动信号至第一功能模块;
[0020]第一功能模块接收第一启动信号开始工作,并在结束工作后发送第一结束信号至控制单元;
[0021]控制单元接收第一结束信号,并对第一计数模块的值执行第一加法操作,得到第一计数中间值;
[0022]判断单元判断第一计数中间值与第二计数模块的值是否最高位数值不等且剩余位数数值相等,若是则控制单元终止第一功能模块继续工作;否则控制单元发送第二启动信号至第二功能模块;
[0023]第二功能模块接收第二启动信号开始工作,并在结束工作后发送第二结束信号至控制单元;
[0024]控制单元接收第二结束信号,并对第二计数模块的值执行第二加法操作,得到第二计数中间值;
[0025]判断单元判断第二计数中间值与第一计数模块的值是否相等,若是则控制单元终止第二功能模块继续工作;否则控制单元发送第三启动信号至第一功能模块。
[0026]进一步地,所述第一计数模块和第二计数模块的初始值为0。
[0027]进一步地,所述第一加法操作具体为:将第一计数模块的值加1 ;所述第二加法操作具体为:将第二计数模块的值加1。
[0028]进一步地,所述“控制单元终止第一功能模块继续工作”通过以下方式实现:控制单元将第一计数模块的值的最高位拉高;所述“控制单元终止第二功能模块继续工作”通过以下方式实现:控制单元将第二计数模块的值的最高位拉高。
[0029]进一步地,所述判断单元执行判断步骤在一个时钟拍内进行。
[0030]上述技术方案所述的基于计数器的流水控制方法和装置,所述装置包括功能单元、计数单元、控制单元、判断单元,所述方法包括以下步骤:首先控制单元初始化第一计数模块和第二计数模块的初始值,并发送第一启动信号至第一功能模块,而后第一功能模块接收第一启动信号开始工作,并在结束工作后发送第一结束信号至控制单元,而后控制单元接收第一结束信号,并对第一计数模块的值执行第一加法操作,得到第一计数中间值。而后判断单元判断第一计数中间值与第二计数模块的值是否最高位数值不等且剩余位数数值相等,若是则说明出现“满”的情况,控制单元终止第一功能模块继续工作,第一功能模块为前级模块,第二功能模块为后级模块。否则控制单元发送第二启动信号至第二功能模块。而后第二功能模块接收第二启动信号开始工作,并在结束工作后发送第二结束信号至控制单元,而后控制单元接收第二结束信号,并对第二计数模块的值执行第二加法操作,得到第二计数中间值;而后判断单元判断第二计数中间值与第一计数模块的值是否相等,若是则说明出现“空”的情况,控制单元终止第二功能模块继续工作;否则控制单元发送第三启动信号至第一功能模块。上述方案通过判断计数模块的值实现了对视频编码过程中码流传输的有效控制,特别是在遇到阻塞(“满”情况)或则前级无法取数(“空”情况)的情况下,模块可以暂时停止流水作业,不会出现数据丢失或则产生无效数据的情况,使得视频解码具有更强的稳健性,因而在计算机芯片领域具有广阔的市场前景。
【附图说明】
[0031]图1为本发明一实施方式涉及的基于计数器的流水控制装置的示意图;
[0032]图2为本发明一实施方式涉及的基于计数器的流水控制装置正常流水作业时的时序图;
[0033]图3为本发明一实施方式涉及的基于计数器的流水控制装置出现“满”的情况的时序图;
[0034]图4为本发明一实施方式涉及的基于计数器的流水控制装置出现“空”的情况的时序图;
[0035]图5为本发明一实施方式涉及的基于计数器的流水控制方法的流程图;
[0036]图6为本发明另一实施方式涉及的多个流水作业的功能模块的示意图;
[0037]图7为本发明一
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1