CN104461933B - 内存管理方法及其装置 - Google Patents
内存管理方法及其装置 Download PDFInfo
- Publication number
- CN104461933B CN104461933B CN201410625561.0A CN201410625561A CN104461933B CN 104461933 B CN104461933 B CN 104461933B CN 201410625561 A CN201410625561 A CN 201410625561A CN 104461933 B CN104461933 B CN 104461933B
- Authority
- CN
- China
- Prior art keywords
- data
- pointer
- length
- module
- remaining space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提供一种内存管理方法及其装置,管理方法步骤包括:初始化循环缓冲器的空间;设置数据结束指针指向循环缓冲器的末地址加1的位置上;获取循环缓冲器的剩余空间的剩余容量;判断剩余容量是否大于等于目标数据的长度;如判断剩余容量大于或等于目标数据的长度,目标数据根据剩余空间的首地址写入数据;如判断剩余容量小于目标数据的长度,设置数据结束指针指向剩余空间的首地址。以及应用上述方法的管理装置。通过改变数据结束指针的指向位置有利于节省CUP运行的资源,同时利用对目标数据的长度和剩余空间的容量大小的判断,解决了循环缓冲器在使用过程中数据长度不够用时的问题,有利于节省内存的占用空间,从而优化运行速度。
Description
技术领域
本发明涉及内存数量处理领域,具体涉及一种内存管理方法及装置。
背景技术
脉冲编码调制(Pulse Code Modulation),简称PCM,是对连续变化的模拟信号进行抽样、量化和编码产生的数字信号,PCM的优点就是音质好,缺点就是体积大。PCM可以提供用户从2M到155M速率的数字数据专线业务,也可以提供话音、图象传送、远程教学等其他业务。而对压缩数据解码成PCM数据一般的做法是单独在内存上开辟一个空间,通过解码器对PCM数据的一帧数据进行解码,并将该一帧数据写入该空间上,每次进行一次解码一帧数据,就把这个单独开辟的空间复制到循环缓冲器中,这样导致也增加了一次复制。上述的解码过程为内存的可用资源造成浪费,也会大大影响机器的运行速度。另一种做法是为每一帧开辟一个空间,在不确定一帧大小时,只能开辟最大的数据空间,浪费了数据空间,在内存空间受限的时,无法满足要求。
发明内容
本发明的主要目的是提供一种可节省内存空间和优化运行速度的内存管理方法。
本发明的第二目的是提供一种可节省内存空间和优化运行速度的内存管理装置。
为了实现本发明的主要目的,本发明提供一种内存管理方法,其步骤包括:初始化循环缓冲器的空间,设置剩余空间容量为循环缓冲器的全部空间容量;设置数据结束指针指向循环缓冲器的末地址加1的位置上;获取剩余空间容量;获取循环缓冲器的剩余空间的剩余容量;判断剩余容量是否大于或等于目标数据的一帧数据的长度,如剩余容量小于目标数据的一帧数据的长度,则等待循环缓冲器内的数据被读取,循环缓冲器内的数据被读取后返回执行获取循环缓冲器的剩余空间的剩余容量的步骤;如剩余容量大于或等于目标数据的一帧数据的长度,则执行判断是否越界步骤;判断是否越界的步骤为判断数据结束指针与目标数据的写入指针之间的容量是否大于或等于目标数据的一帧数据的长度;如数据结束指针与目标数据的写入指针之间的容量大于或等于目标数据的一帧数据的长度,则执行目标数据根据剩余空间的首地址写入数据的步骤;如数据结束指针与目标数据的写入指针之间的容量小于目标数据的一帧数据的长度,则执行设置数据结束指针指向剩余空间的首地址的步骤。
由上述方案可见,通过改变数据结束指针的指向位置有利于节省CUP运行的资源,同时利用对目标数据的长度和剩余空间的容量大小的判断,解决了循环缓冲器在使用过程中数据长度不够用时的问题,有利于节省内存的占用空间,从而优化运行速度。且对于不固定帧长的数据,或者剩余空间不是帧长的整数倍时,将会出现浪费内存空间,通过判断剩余空间是否大于一帧数据的长度,使得不再需要单独开辟内存空间,直接利用循环缓冲器的空间进行处理即可,亦可以有效地节省内存的占用空间。
更进一步的方案是,目标数据根据剩余空间的首地址写入数据的步骤包括:将剩余空间的首地址发送至解码器;解码器对数据解码成脉冲码编码调制格式的数据,并将解码后的数据写入到剩余空间,更新剩余空间容量。。
由上可见,在解码数据时通常是需要在内存单独在开设另一空间进行解码,随后在拷贝到循环缓冲器内,而本发明提供的内存管理方法采用是将剩余空间的首地址发送至解码器,解码器解码,并将解码后的数据写入到剩余空间中。
更进一步的方案是,等待循环缓冲器内的数据被读取的步骤包括:获取所需读取数据的长度;获取循环缓冲器内的数据的长度;判断循环缓冲器内的数据的长度是否大于或等于所需读取数据的长度;如循环缓冲器内的数据的长度大于或等于所需读取数据的长度,则执行判断所需读取数据的长度是否大于或等于数据结束指针与所需读取数据的读取指针之间的容量;如所需读取数据的长度小于或等于数据结束指针与所需读取数据的读取指针之间的容量,则执行拷贝循环缓冲器内的数据。
由上可见,CPU或其他程序需要拷贝循环缓冲器内的数据时,则通过判断循环缓冲器内的数据的长度是否大于或等于所需读取数据的长度,从而避免拷贝数据时出现错漏现象。
更进一步的方案是,如所需读取数据的长度大于数据结束指针与所需读取数据的读取指针之间的容量,则执行拷贝所需读取数据的读取指针和数据结束指针之间的数据,然后执行从循环缓冲器的首地址拷贝所需读取数据的另一部分数据;设置数据结束指针指向循环缓冲器的末地址加1的位置上,更新剩余空间容量。。
更进一步的方案是,如循环缓冲器内的数据的长度小于所需读取数据的长度,则等待目标数据完全写入到循环缓冲器。
由上可见,在读取数据是通过复位数据结束指针指向循环缓冲器的末地址加1的位置上,使得循环缓冲器的剩余空间相对于数据写入时的剩余空间较大,这样有利于提高拷贝数据的效率。
为了实现本发明的第二目的,本发明提供一种内存管理装置,包括初始化模块、指针设置模块、剩余容量获取模块、判断模块、写入模块和等待模块,初始化模块用于初始化循环缓冲器的空间并输出初始化信号,其中,指针设置模块接收初始化信号并输出指针设置信号,指针设置模块用于设置数据结束指针指向循环缓冲器的末地址加1的位置上,指针设置模块还用于设置数据结束指针指向剩余空间的首地址剩余容量获取模块接收指针设置信号并输出剩余容量信号,剩余容量获取模块用于获取循环缓冲器的剩余空间的剩余容量,写入模块用于根据剩余空间的首地址写入目标数据,等待模块用于等待数据的写入或读取,判断模块接收剩余容量信号,判断模块向指针设置模块、等待模块或写入模块输出启动信号,判断模块用于判断剩余容量是否大于等于目标数据的长度。
由上述方案可见,通过改变数据结束指针的指向位置有利于节省CUP运行的资源,同时利用对目标数据的长度和剩余空间的容量大小的判断,解决了循环缓冲器在使用过程中数据长度不够用时的问题,有利于节省内存的占用空间,从而优化运行速度。
更进一步的方案是,判断模块包括第一判断模块和第二判断模块;第一判断模块用于判断剩余容量是否大于或等于目标数据的一帧数据的长度,第一判断模块向等待模块输出启动信号;第二判断模块用于判断数据结束指针与目标数据的写入指针之间的容量是否大于或等于目标数据的一帧数据的长度,第二判断模块想指针设置模块或写入模块输出启动信号。
由上可见,对于不固定帧长的数据,或者剩余空间不是帧长的整数倍时,将会出现浪费内存空间,通过判断模块去判断剩余空间是否大于一帧数据的长度,使得不再需要单独开辟内存空间,直接利用循环缓冲器的空间进行处理即可,可以有效地节省内存的占用空间。
附图说明
图1是本发明内存管理方法实施例中写入数据时的流程图。
图2是本发明内存管理方法实施例写入数据时的原理图。
图3是本发明内存管理方法实施例中读取数据时的流程图。
图4是本发明内存管理装置实施例的系统框图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
内存管理方法实施例:
参照图1,图1是内存管理方法实施例中写入数据时的流程图。对内存进行管理时,首先执行步骤S11,即首先初始化循环缓冲器的空间,循环缓冲器为开设在内存上的循环缓冲器(buffer),同时设置剩余空间容量为循环缓冲器的全部空间容量,将写指针和读指针指向循环缓冲器的首地址。然后执行步骤S12,即设置数据结束指针(pEnd)为循环缓冲器的结束位置,也就是将数据结束指针指向循环缓冲器的末地址加1的位置上。随后执行步骤S13,即获取循环缓冲器的剩余空间的剩余容量大小,再执行步骤S14获取目标数据的长度,目标数据是指所需要写入的数据。
随后执行判断步骤S15,即判断剩余容量是否大于或等于目标数据的一帧数据的长度,当剩余容量小于目标数据的一帧数据的长度时,则执行步骤S151,即等待循环缓冲器内的数据被读取后,释放循环缓冲器内空间。执行完毕步骤S151后,则返回步骤S13,重新获取剩余空间的剩余容量。当剩余容量大于或等于目标数据的一帧数据的长度时,则执行步骤S16,即判断是否越界步骤。判断是否越界步骤是判断数据结束指针与目标数据的写入指针之间的容量是否大于或等于目标数据的一帧数据的长度。
如数据结束指针与目标数据的写入指针之间的容量大于或等于目标数据的一帧数据的长度,则目标数据将根据剩余空间的首地址写入所需要写入的数据,该步骤具体包括依次执行的步骤S171、步骤S172和步骤S173。首先执行步骤S171,即将当前剩余空间的首地址发送至解码器,随后执行步骤S172,解码器进行解码,并将解码后的数据从解码器的写入指针开始写入到剩余空间中。然后执行步骤S173,更新PCM数据空间,使得下一次的解码或写入从未写区域开始进行。更新完毕PCM数据空间后则返回步骤S13,从而继续进行下一步的写入程序。
当在执行判断步骤S16时,数据结束指针与目标数据的写入指针之间的容量小于目标数据的一帧数据的大小时,则执行步骤S181,设置数据结束指针指向剩余空间的首地址。随后再执行步骤S182,将写入指针指向循环缓冲器的首地址,再执行步骤S183,更新剩余空间容量大小。最后返回步骤S13,从而继续进行下一步的写入程序。
参照图2,图2是内存管理方法实施例中写入数据时的原理图。当其他外部数据从位于P0的位置写入到循环缓冲器中,并且写入完成后当前指针位于P1的位置,此时需要写入PCM数据的一帧数据D1时,由于此时数据结束指针位于P2,同时由于循环缓冲器中P1与P2之间的剩余空间容量小于数据D1的长度,所以将设置数据结束指针指向剩余空间的首地址即P1处的位置,同时将写入指针更新到下一循环的循环缓冲器的首地址P3处。更新剩余空间长度,其方法是:剩余空间长度等于原来剩余空间长度减去P1到P2之间的长度。
进入下一循环缓冲器后,当读数据流程读取到P1处时则判断数据结束,并将数据结束指针指向位置P6处,即将数据结束指针指向循环缓冲器的末地址加1的位置上,读数据流程从循环空间首地址开始继续读取数据。随后将对一帧数据D1进行写入,由于循环缓冲器中P3与P6之间的剩余空间容量大于数据D1的大小,则将循环缓冲器的剩余空间首地址即P3发送至解码器,解码器根据地址P3写入数据。随后如将要写入数据D2时,则判断循环缓冲器中剩余空间的容量,即判断当前指针的位置P4与P6之间的剩余空间容量是否大于数据D2的大小,由于当前剩余空间的容量大于数据D2的大小,则数据D2根据当前剩余空间的首地址即P4进行写入数据。随后如再需要对PCM数据的另一帧数据D3进行写入时,由于此时数据结束指针位于P6,同时由于循环缓冲器中P5与P6之间的剩余空间容量小于数据D3的大小,所以将设置数据结束指针指向当前剩余空间的首地址即P5处的位置。由上可见,通过改变数据结束指针的指向位置有利于节省CUP运行的资源,从而优化运行速度。
参照图3,图3是内存管理方法实施例中读取数据时的流程图。在目标数据根据剩余空间的首地址写入数据的步骤或设置数据结束指针指向剩余空间的首地址的步骤执行完毕后,首先执行步骤S21,即读取PCM数据,随后执行步骤S22,获取所需读取数据的长度,然后再执行步骤S23,获取循环缓冲器内数据的长度。随后在执行步骤S24,判断循环缓冲器内的数据的长度是否大于或等于所需读取数据的长度。
如循环缓冲器内的数据的长度小于所需读取数据的长度,则执行步骤S241,即等待所需的数据完全写入到循环缓冲器内,待所需的数据完全写入到循环缓冲器后,则返回执行步骤S21。
如循环缓冲器内的数据的长度大于或等于所需读取数据的长度,则执行判断步骤S25,即判断所需读取数据的长度是否大于或等于数据结束指针与所需读取数据的读取指针之间的容量。
如所需读取数据的长度等于或小于数据结束指针与所需读取数据的读取指针之间的容量,则执行步骤S26,即拷贝当前数据到内存的其他位置上,再执行步骤S27,即更新PCM数据空间。
如所需读取数据的长度大于数据结束指针与所需读取数据的读取指针之间的容量,则执行步骤S28,即拷贝所需读取数据的读取指针和数据结束指针之间的数据,再执行步骤S29,从循环缓冲器的首地址拷贝所需读取数据的另一部分数据,最后在执行步骤S30,将数据结束指针指向循环缓冲器的末地址加1的位置上。
内存管理装置实施例:
参照图4,图4是内存管理装置3的系统框图,内存管理装置3包括初始化模块31、指针设置模块32、剩余容量获取模块33、判断模块34、写入模块35、解码器36和等待模块38。初始化模块31用于初始化循环缓冲器的空间向指针设置模块32输出初始化信号。指针设置模块32接收到初始化信号后,指针设置模块32除了可将数据结束指针指向循环缓冲器的末地址加1的位置上,指针设置模块32还可将数据结束指针指向剩余空间的首地址,在指针设置模块32将数据结束指针设置完毕后则向剩余容量模块33输出指针设置信号。
剩余容量获取模块33接收指针设置信号后,剩余容量获取模块33将获取循环缓冲器的剩余空间的剩余容量,剩余容量获取模块33向判断模块34输出剩余容量信号。
判断模块34包括第一判断模块341和第二判断模块342。判断模块34接收到剩余容量信号后,判断模块34将判断剩余容量是否大于等于目标数据的大小。具体地,首先第一判断模块341判断剩余容量是否大于或等于目标数据的一帧数据的大小,如剩余容量小于目标数据的一帧数据的大小,则第一判断模块341向等待模块38输出启动信号,等待模块38则等待循环缓冲器内的数据被读取或等待所需数据完全写入到循环缓冲器内。如剩余容量大于或等于目标数据的一帧数据的大小,则第二判断模块判断数据结束指针与目标数据的写入指针之间的容量是否大于或等于目标数据的一帧数据的大小。
如数据结束指针与目标数据的写入指针之间的容量小于目标数据的一帧数据的大小,则第二判断模块向指针设置模块输出启动信号。如数据结束指针与目标数据的写入指针之间的容量大于或等于目标数据的一帧数据的大小,则第二判断模块向写入模块输出启动信号。
在指针设置模块32接收到启动信号后,则根据启动信号的不同将数据结束指针指向不同的位置。写入模块35在接收到启动信号后,写入模块35根据剩余空间的首地址写入目标数据。具体地,写入模块35用于将剩余空间的首地址发送至解码器36,解码器36解码,将解码后脉冲码编码调制格式的数据即PCM数据写入到剩余空间中。
内存管理装置3包括读取模块37,读取模块37用于读取PCM数据,并获取所需读取数据的长度和循环缓冲器内数据的长度。读取模块37向判断模块34输出剩余容量信号,使得判断模块34判断循环缓冲器内的数据的长度是否大于或等于所需读取数据的长度。
如循环缓冲器内的数据的长度大于或等于所需读取数据的长度,则拷贝当前数据到内存的其他位置上,再更新PCM数据空间。
如循环缓冲器内的数据的长度小于所需读取数据的长度,则拷贝所需读取数据的读取指针和数据结束指针之间的数据,再从循环缓冲器的首地址拷贝所需读取数据的另一部分数据,最后向指针设置模块32输出启动信号,并使数据结束指针指向循环缓冲器的末地址加1的位置上。
由上可见,通过改变数据结束指针的指向位置有利于节省CUP运行的资源,同时利用对目标数据的长度和剩余空间的容量大小的判断,解决了循环缓冲器在使用过程中数据长度不够用时的问题。在对于不固定帧长的数据,或者剩余空间不是帧长的整数倍时,通过判断模块去判断剩余空间是否大于一帧数据的长度,不再需要单独开辟内存空间,直接利用循环缓冲器的空间进行处理即可,可以有效地节省内存的占用空间,从而优化运行速度。
需要说明的是,本发明采用音频PCM数据进行说明,并不局限在音频PCM数据的方面,只要是该装置需要数据空间进行管理数据输入输出,并且该装置需要连续的空间来存放输出的数据时,本发明均可以解决上述情况,并实现本发明的主要目的,即减少数据拷贝或者空间的开辟,从而提高速度和在空间紧张的情况下的提供一种有效地解决方法。
Claims (5)
1.内存管理方法,包括以下步骤
初始化循环缓冲器的空间,设置剩余空间容量为所述循环缓冲器的整个剩余空间的剩余容量;
其特征在于:
设置数据结束指针指向所述循环缓冲器的末地址加1的位置上;
获取所述剩余空间容量;
判断所述剩余容量是否大于或等于目标数据的一帧数据的长度,如所述剩余容量小于所述目标数据的一帧数据的长度,则等待所述循环缓冲器内的数据被读取,所述循环缓冲器内的数据被读取后返回执行获取所述循环缓冲器的剩余空间的剩余容量的步骤;
如所述剩余容量大于或等于所述目标数据的一帧数据的长度,则执行判断是否越界步骤;
所述判断是否越界的步骤为判断所述数据结束指针与所述目标数据的写入指针之间的容量是否大于或等于所述目标数据的一帧数据的长度;
如所述数据结束指针与所述目标数据的写入指针之间的容量大于或等于所述目标数据的一帧数据的长度,则执行所述目标数据根据剩余空间的首地址写入数据的步骤;
如所述数据结束指针与所述目标数据的写入指针之间的容量小于所述目标数据的一帧数据的长度,则执行所述设置所述数据结束指针指向剩余空间的首地址的步骤;
所述内存管理方法还包括在执行设置所述数据结束指针指向剩余空间的首地址的步骤后,将所述目标数据的写入指针指向所述循环缓冲器的首地址;
更新所述剩余空间容量;
所述目标数据根据剩余空间的首地址写入数据的步骤包括:
将所述剩余空间的首地址发送至解码器;
所述解码器对数据进行解码,并将解码后的数据写入到所述剩余空间。
2.根据权利要求1所述的内存管理方法,其特征在于:
等待所述循环缓冲器内的数据被读取的步骤包括:
获取所需读取数据的长度;
获取循环缓冲器内的数据的长度;
判断所述循环缓冲器内的数据的长度是否大于或等于所述所需读取数据的长度;
如所述循环缓冲器内的数据的长度大于或等于所述所需读取数据的长度,则执行判断所述所需读取数据的长度是否大于所述数据结束指针与所述所需读取数据的读取指针之间的容量;
如所述所需读取数据的长度小于或等于所述数据结束指针与所述所需读取数据的读取指针之间的容量,则执行拷贝循环缓冲器内的数据。
3.根据权利要求2所述的内存管理方法,其特征在于:
如所述所需读取数据的大于所述数据结束指针与所述所需读取数据的读取指针之间的容量,则执行拷贝所述所需读取数据的读取指针和所述数据结束指针之间的数据,然后执行从循环缓冲器的首地址拷贝所述所需读取数据的另一部分数据;
设置所述数据结束指针指向所述循环缓冲器的末地址加1的位置上;
更新所述剩余空间容量。
4.根据权利要求3所述的内存管理方法,其特征在于:
如所述循环缓冲器内的数据的长度小于所述所需读取数据的长度,则等待所述目标数据完全写入到所述循环缓冲器。
5.内存管理装置,包括
初始化模块,所述初始化模块用于初始化循环缓冲器的空间并输出初始化信号;
其特征在于:
指针设置模块,所述指针设置模块接收所述初始化信号并输出指针设置信号,所述指针设置模块用于设置数据结束指针指向所述循环缓冲器的末地址加1的位置上,所述指针设置模块还用于设置所述数据结束指针指向剩余空间的首地址;
剩余容量获取模块,所述剩余容量获取模块接收所述指针设置信号并输出剩余容量信号,所述剩余容量获取模块用于获取循环缓冲器的剩余空间的剩余容量;
写入模块,用于根据剩余空间的首地址写入目标数据;
等待模块,用于等待数据的写入或读取;
判断模块,所述判断模块接收所述剩余容量信号,所述判断模块向所述指针设置模块、所述写入模块或所述等待模块输出启动信号,所述判断模块用于判断所述剩余容量是否大于等于目标数据的长度;
所述判断模块包括第一判断模块和第二判断模块;
所述第一判断模块用于判断所述剩余容量是否大于或等于所述目标数据的一帧数据的长度,所述第一判断模块向所述等待模块输出所述启动信号;
所述第二判断模块用于判断所述数据结束指针与所述目标数据的写入指针之间的容量是否大于或等于所述目标数据的一帧数据的长度,所述第二判断模块向所述指针设置模块或所述写入模块输出所述启动信号;
所述内存管理装置还包括解码器;
所述写入模块用于将所述剩余空间的首地址发送至所述解码器;
所述解码器还用于数据解码,所述解码器可解码出脉冲编码调制格式的数据,所述解码器可将解码后的脉冲编码调制格式的数据写入到所述剩余空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410625561.0A CN104461933B (zh) | 2014-11-07 | 2014-11-07 | 内存管理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410625561.0A CN104461933B (zh) | 2014-11-07 | 2014-11-07 | 内存管理方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461933A CN104461933A (zh) | 2015-03-25 |
CN104461933B true CN104461933B (zh) | 2017-10-03 |
Family
ID=52908019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410625561.0A Active CN104461933B (zh) | 2014-11-07 | 2014-11-07 | 内存管理方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461933B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909321A (zh) * | 2017-02-24 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种基于存储系统的控制方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245912B (zh) * | 2015-10-21 | 2019-05-31 | 东方网力科技股份有限公司 | 一种缓存视频数据及读取视频数据的方法及装置 |
CN105631035B (zh) * | 2016-01-04 | 2018-04-17 | 北京百度网讯科技有限公司 | 数据存储方法和装置 |
CN106909513A (zh) * | 2017-03-20 | 2017-06-30 | 杭州朔天科技有限公司 | 一种异步非对称的读写存储区管理方法 |
CN110764703A (zh) * | 2019-10-17 | 2020-02-07 | 山东神戎电子股份有限公司 | 一种基于数组实现的用于实时读写pcm数据的方法 |
CN112148488A (zh) * | 2020-09-22 | 2020-12-29 | 杭州电魂网络科技股份有限公司 | 一种基于多重循环缓存的消息处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359493A (zh) * | 1999-05-07 | 2002-07-17 | 德国捷德有限公司 | 用于安全写环形存储器指针的方法 |
CN102023961A (zh) * | 2009-09-10 | 2011-04-20 | 中兴通讯股份有限公司 | 一种基于共享内存的通信方法及装置 |
CN102169420A (zh) * | 2011-04-18 | 2011-08-31 | 杭州海康威视系统技术有限公司 | 缓冲区循环读写方法及装置 |
CN102495810A (zh) * | 2011-12-28 | 2012-06-13 | 青岛海信宽带多媒体技术有限公司 | 一种注入解码器数据的管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9753733B2 (en) * | 2012-06-15 | 2017-09-05 | Apple Inc. | Methods, apparatus, and processors for packing multiple iterations of loop in a loop buffer |
-
2014
- 2014-11-07 CN CN201410625561.0A patent/CN104461933B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359493A (zh) * | 1999-05-07 | 2002-07-17 | 德国捷德有限公司 | 用于安全写环形存储器指针的方法 |
CN102023961A (zh) * | 2009-09-10 | 2011-04-20 | 中兴通讯股份有限公司 | 一种基于共享内存的通信方法及装置 |
CN102169420A (zh) * | 2011-04-18 | 2011-08-31 | 杭州海康威视系统技术有限公司 | 缓冲区循环读写方法及装置 |
CN102495810A (zh) * | 2011-12-28 | 2012-06-13 | 青岛海信宽带多媒体技术有限公司 | 一种注入解码器数据的管理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909321A (zh) * | 2017-02-24 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种基于存储系统的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104461933A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461933B (zh) | 内存管理方法及其装置 | |
US11061731B2 (en) | Method, device and computer readable medium for scheduling dedicated processing resource | |
CN101685391B (zh) | 管理计算系统中协处理器的计算资源的方法和系统 | |
CN112088386B (zh) | 生成定制的机器学习模型以使用人工智能来执行任务 | |
KR101803303B1 (ko) | 멀티미디어 아키텍처 패턴 결정 방법, 싱글코어에서 멀티코어 기반으로의 아키텍처 전환 장치 및 방법 | |
US9063779B2 (en) | Task list generation, parallelism templates, and memory management for multi-core systems | |
US8928680B1 (en) | Method and system for sharing a buffer between a graphics processing unit and a media encoder | |
CN110262907A (zh) | 用于统一应用编程接口和模型的系统和方法 | |
CN101833440B (zh) | 编译器支持下的推测多线程内存数据同步执行方法及装置 | |
CN109324813A (zh) | 电子控制系统刷写方法、装置及计算机介质 | |
CN101252640B (zh) | 向机顶盒写入序列号的方法 | |
CA2989737A1 (en) | Automation of canonical model usage in application development processes | |
CN108848108A (zh) | 基于移动互联网+的创新项目pdca过程管理平台 | |
CN105654383A (zh) | 基于流水线架构的低时延fast行情解码装置和方法 | |
CN101882302A (zh) | 一种基于多核的运动模糊图像复原系统 | |
CN111414409A (zh) | 游戏引擎之间数据交换方法及装置、存储介质及电子设备 | |
CN104980518A (zh) | 多学习主体并行训练模型的方法、装置和系统 | |
CN102831111A (zh) | 一种图片显示方法和装置 | |
CN103927777A (zh) | 基于Mealy有限状态自动机的三维动画流程的组织与控制方法 | |
CN100508604C (zh) | 算术编码电路和算术编码控制方法 | |
CN107820605A (zh) | 用于动态低延迟优化的系统和方法 | |
CN105830460B (zh) | 多视图记录 | |
CN105163128A (zh) | 一种利用gpu并行加速图像转换的屏幕图像获取方法 | |
JP5945779B2 (ja) | マルチスレッド並列実行装置、放送ストリーム再生装置、放送ストリーム蓄積装置、蓄積ストリーム再生装置、蓄積ストリーム再符号化装置、集積回路、マルチスレッド並列実行方法、マルチスレッドコンパイラ | |
CN102833541B (zh) | 用于mpeg-2视频解码的sdram控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |