读取数据的控制方法和装置的制造方法

文档序号:8318903阅读:285来源:国知局
读取数据的控制方法和装置的制造方法
【技术领域】
[0001]本发明实施例涉及计算机技术,尤其涉及一种读取数据的控制方法和装置。
【背景技术】
[0002]随着多核系统芯片(System on Chip,以下简称:SoC)系统的广泛应用,常常具有将一个核的某个数据流发送到其他多个核的需求,通常先将数据写入到存储器中,以先进先出(First Input First Output,以下简称:FIFO)存储器为例,然后从FIFO存储器中读取数据,发送到总线进行传输,通过总线控制模块来控制数据流复制发送到多个核。
[0003]现有技术中,从FIFO存储器中读取数据,数据一旦读出,FIFO中存储已读出数据的存储空间即被释放,已读出的数据在FIFO存储器中即失效,无法实现数据的可重复读取。

【发明内容】

[0004]本发明实施例提供一种读取数据的控制方法和装置,以实现数据的可重复读取。
[0005]本发明实施例第一方面提供一种读取数据的控制方法,包括:
[0006]根据读取方式,确定与所述读取方式对应的接口信号;
[0007]对所述与所述读取方式对应的接口信号进行控制。
[0008]结合第一方面,在第一方面的第一种可能的实现方式中,所述读取方式包括:实际读取、虚拟递增读取或虚拟重置读取。
[0009]结合第一方面,在第一方面的第二种可能的实现方式中,所述根据读取方式,确定与所述读取方式对应的接口信号,包括:
[0010]当所述读取方式为虚拟递增读取时,确定与所述读取方式对应的接口信号包括虚拟读指针;
[0011]所述对与所述读取方式对应的接口信号进行控制,包括:
[0012]从虚拟读指针指向的FIFO存储单元的起始位置开始读取,读取的数据量每超过一个FIFO存储单元对应的数据量时,所述虚拟读指针指向下一个FIFO存储单元。
[0013]结合第一方面,在第一方面的第三种可能的实现方式中,所述根据读取方式,确定与所述读取方式对应的接口信号,包括:
[0014]当所述读取方式为虚拟递增读取时,确定与所述读取方式对应的接口信号包括虚拟读指针和虚拟读偏移;
[0015]所述对与所述读取方式对应的接口信号进行控制,包括:
[0016]从虚拟读偏移指向的位置开始读取,当所述虚拟读偏移指向的位置的数值加读取的数据量超过一个FIFO存储单元对应的数据量时,所述虚拟读指针指向下一个FIFO存储单元;
[0017]当读取结束时,所述虚拟读偏移指向的位置更新为所述读取的数据结束的位置。
[0018]结合第一方面,在第一方面的第四种可能的实现方式中,所述根据读取方式,确定与所述读取方式对应的接口信号,包括:
[0019]当所述读取方式为虚拟重置读取时,确定与所述读取方式对应的接口信号包括虚拟读指针;
[0020]所述对与所述读取方式对应的接口信号进行控制,包括:
[0021]从虚拟读指针指向的FIFO存储单元的起始位置开始读取,当读取结束时,将所述虚拟读指针指向的位置重置到实际读指针指向的位置。
[0022]结合第一方面,在第一方面的第五种可能的实现方式中,所述根据读取方式,确定与所述读取方式对应的接口信号,包括:
[0023]当所述读取方式为虚拟重置读取时,确定与所述读取方式对应的接口信号包括虚拟读指针和虚拟读偏移;
[0024]所述对与所述读取方式对应的接口信号进行控制,包括:
[0025]从虚拟读偏移指向位置开始读取,当读取结束时,将所述虚拟读指针指向的位置重置到实际读指针指向的位置;
[0026]将所述虚拟读偏移指向的位置重置到实际读偏移指向的位置。
[0027]结合第一方面,在第一方面的第六种可能的实现方式中,所述根据读取方式,确定与所述读取方式对应的接口信号,包括:
[0028]当所述读取方式为实际读偏移时,确定与所述实际读取方式对应的接口信号包括实际读指针和实际读偏移;
[0029]所述对与所述读取方式对应的接口信号进行控制,包括:
[0030]从实际读偏移指向的位置开始读取,当所述实际读偏移指向的位置的数值加读取的数据量超过一个FIFO存储单元对应的数据量时,所述实际读指针指向下一个FIFO存储单元;
[0031]当读取结束时,所述虚拟读偏移指向的位置更新为所述读取的数据结束的位置。
[0032]结合第一方面的第二种可能的实现方式,在第一方面的第七种可能的实现方式中,所述从虚拟读指针指向的FIFO存储单元的起始位置开始读取之前,还包括:
[0033]根据写指针指向的位置与虚拟读指针指向的位置确定FIFO中有效数据量;
[0034]确定所述有效数据量大于等于一个FIFO存储单元对应的数据量。
[0035]结合第一方面的第三种可能的实现方式,在第一方面的第八种可能的实现方式中,所述从虚拟读偏移指向的位置开始读取之前,还包括:
[0036]根据写指针指向的位置、虚拟读指针指向的位置和虚拟读偏移指向的位置确定FIFO中有效数据量;
[0037]确定所述有效数据量大于等于虚拟读取每次读取的最小数据量。
[0038]结合第一方面的第六种可能的实现方式,在第一方面的第九种可能的实现方式中,所述从实际读偏移指向的位置开始读取之前,还包括:
[0039]根据写指针指向的位置、实际读指针指向的位置和实际读偏移指向的位置确定FIFO中有效数据量;
[0040]确定所述有效数据量大于等于实际读取每次读取的最小数据量。
[0041]结合第一方面或第一方面的第一种至第六种可能的实现方式中任一种可能的实现方式或第七种至第九种可能的实现方式中任一种可能的实现方式,在第一方面的第十种可能的实现方式中,所述对与所述读取方式对应的接口信号进行控制之后,还包括:
[0042]根据实际读指针指向的位置,释放FIFO存储空间。
[0043]结合第一方面或第一方面的第一种至第九种可能的实现方式中任一种可能的实现方式,在第一方面的第十一种可能的实现方式中,所述对于所述读取方式对应的接口信号进行控制之后,还包括:
[0044]根据实际读指针指向的位置和实际读偏移指向的位置,释放FIFO存储空间。
[0045]本发明实施例第二方面提供一种读取数据的控制装置,包括:
[0046]处理模块,用于根据读取方式,确定与所述读取方式对应的接口信号;
[0047]控制模块,用于对所述与所述读取方式对应的接口信号进行控制。
[0048]结合第二方面,在第二方面的第一种可能的实现方式中,所述读取方式包括:实际读取、虚拟递增读取或虚拟重置读取。
[0049]结合第二方面,在第二方面的第二种可能的实现方式中,所述处理模块具体用于当所述读取方式为虚拟递增读取时,确定与所述读取方式对应的接口信号包括虚拟读指针;
[0050]所述控制模块具体用于从虚拟读指针指向的FIFO存储单元的起始位置开始读取,读取的数据量每超过一个FIFO存储单元对应的数据量时,所述虚拟读指针指向下一个FIFO存储单元。
[0051]结合第二方面,在第二方面的第三种可能的实现方式中,所述处理模块具体用于当所述读取方式为虚拟递增读取时,确定与所述读取方式对应的接口信号包括虚拟读指针和虚拟读偏移;
[0052]所述控制模块具体用于从虚拟读偏移指向的位置开始读取,当所述虚拟读偏移指向的位置的数值加读取的数据量超过一个FIFO存储单元对应的数据量时,所述虚拟读指针指向下一个FIFO存储单元;
[0053]当读取结束时,所述虚拟读偏移指向的位置更新为所述读取的数据结束的位置。
[0054]结合第二方面,在第二方面的第四种可能的实现方式中,所述处理模块具体用于当所述读取方式为虚拟重置读取时,确定与所述读取方式对应的接口信号包括虚拟读指针;
[0055]所述控制模块具体用于从虚拟读指针指向的FIFO存储单元的起始位置开始读取,当读取结束时,将所
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1