System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种存储访问方法、处理器及电子设备。
技术介绍
1、电子设备的处理器在进行运算时,需要从片上存储单元读取所需的数据、或者将处理好的数据写入片上存储单元,即需要对片上存储单元进行存储访问。而由于处理器多为并行处理模式,因此存在多个访问源进行存储访问,导致出现多个请求(读请求或者写请求)之间地址依赖的情形。针对这种情形,相关技术中通常在存在依赖的多个请求间插入气泡、或者人为编写请求依赖的屏障程序来解决。但是,人为编写地址屏障程序增加了人工成本,在多个请求间插入气泡,则需要等待上一请求完成且请求间依赖解除后再发送下条请求,导致存储访问的性能很低。
技术实现思路
1、本申请实施例提供一种存储访问方法、处理器及电子设备,能够提高存储访问性能。
2、本申请实施例的技术方案是这样实现的:
3、本申请实施例提供一种存储访问方法,包括:
4、响应于针对片上存储单元的访问请求,对所述访问请求进行读写检测,得到检测结果;
5、当所述检测结果表征所述访问请求为目标写请求时,将所述目标写请求加入写队列中,以及,将所述写队列中所述目标写请求所指示写入的写数据,写入所述片上存储单元;
6、当所述检测结果表征所述访问请求为目标读请求时,将所述目标读请求加入读队列中,以及,基于所述目标读请求的读地址和所述写队列中写请求的写地址,从所述片上存储单元读取所述目标读请求所指示读取的读数据。
7、在上述方案中,所述响应于针对片
8、获取多个存储访问单元发送的、针对所述片上存储单元的多个访问请求,各所述存储访问单元至少发送一个所述访问请求;
9、所述将所述目标写请求加入写队列中,包括:
10、确定各所述目标写请求的目标写地址;
11、当各所述目标写请求的目标写地址之间均不相同时,分别将各所述目标写请求加入所述写队列中;
12、当多个所述目标写请求中存在目标写地址相同的至少两个第一写请求时,针对所述目标写地址相同的至少两个第一写请求,从所述至少两个第一写请求,选择一个第一写请求加入所述写队列中,并
13、针对多个所述目标写请求中除所述至少两个第一写请求之外的第二写请求,将所述第二写请求加入所述写队列中。
14、在上述方案中,所述读队列包括各所述存储访问单元的子读队列,所述将所述目标读请求加入读队列中,包括:
15、针对各所述目标读请求,将所述目标读请求,加入发送所述目标读请求的存储访问单元的子读队列中。
16、在上述方案中,所述将所述写队列中所述目标写请求所指示写入的写数据,写入所述片上存储单元,包括:
17、获取针对所述片上存储单元的数据写入周期、以及上一次写入所述片上存储单元的历史写入时间点;
18、当基于所述数据写入周期和所述历史写入时间点,确定写入时间点到达时,将所述写队列中所述目标写请求所指示写入的写数据,写入所述片上存储单元的内存库中。
19、本申请实施例提供一种处理器,所述处理器包括:读写分离单元、以及与所述读写分离单元相连接的片上存储单元,所述片上存储单元具有写队列和读队列;其中,
20、所述读写分离单元,用于响应于针对所述片上存储单元的访问请求,对所述访问请求进行读写检测,得到检测结果;
21、当所述检测结果表征所述访问请求为目标写请求时,将所述目标写请求加入所述片上存储单元的所述写队列;当所述检测结果表征所述访问请求为目标读请求时,将所述目标读请求加入所述片上存储单元的所述读队列;
22、所述片上存储单元,用于将所述写队列中所述目标写请求所指示写入的写数据写入所述片上存储单元;以及,
23、基于所述目标读请求的读地址和所述写队列中写请求的写地址,从所述片上存储单元读取所述目标读请求所指示读取的读数据。
24、本申请实施例还提供一种电子设备,包括:
25、存储器,用于存储计算机程序或计算机可执行指令;
26、处理器,用于执行所述存储器中存储的计算机程序或计算机可执行指令,所述处理器为本申请上述实施例提供的处理器。
27、本申请实施例具有以下有益效果:
28、应用本申请上述实施例,对针对片上存储单元的访问请求进行读写检测,得到检测结果,当检测结果表征访问请求为目标写请求时,将目标写请求加入写队列中,从而将写队列中目标写请求所指示写入的写数据,写入片上存储单元;当检测结果表征访问请求为目标读请求时,将目标读请求加入读队列中,从而基于目标读请求的读地址以及写队列中写请求的写地址,从片上存储单元读取目标读请求所指示读取的读数据。这里,通过分别设置写请求的写队列以及读请求的读队列,从而可以在对片上存储单元进行存储访问时,将写请求加入写队列以通过写队列按序实现写请求的数据写入,将读请求加入读队列以通过读队列和写队列按序实现读请求的数据读取。如此,在无需额外人力成本的情况下,解除了请求之间的请求依赖性,无需等待上一条请求完成后才接收下一条请求,从而提高了存储访问性能。
本文档来自技高网...【技术保护点】
1.一种存储访问方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述响应于针对片上存储单元的访问请求,对所述访问请求进行读写检测,得到检测结果之前,所述方法还包括:
3.如权利要求2所述的方法,其特征在于,所述存储访问单元具有相应的访问编号,所述从所述至少两个第一写请求,选择一个第一写请求加入所述写队列中,包括:
4.如权利要求1所述的方法,其特征在于,所述将所述目标写请求加入写队列中,包括:
5.如权利要求1所述的方法,其特征在于,所述写队列中各写请求具有相应数据有效标识,所述将所述目标写请求加入写队列中之后,所述方法还包括:
6.如权利要求1所述的方法,其特征在于,所述基于所述目标读请求的读地址和所述写队列中写请求的写地址,从所述片上存储单元读取所述目标读请求所指示读取的读数据,包括:
7.如权利要求6所述的方法,其特征在于,所述从所述片上存储单元的内存库,读取所述目标读请求所指示读取的读数据,包括:
8.如权利要求1所述的方法,其特征在于,所述读取所述目标读请求所指
9.一种处理器,其特征在于,所述处理器包括:读写分离单元、以及与所述读写分离单元相连接的片上存储单元,所述片上存储单元具有写队列和读队列;其中,
10.如权利要求9所述的处理器,其特征在于,所述读写分离单元的数量为多个,各所述读写分离单元分别连接有一个存储访问单元;
11.如权利要求10所述的处理器,其特征在于,所述片上存储单元还包括:与多个所述读写分离单元相连接的写请求屏蔽单元;
12.如权利要求11所述的处理器,其特征在于,所述存储访问单元具有相应的访问编号;
13.如权利要求10所述的处理器,其特征在于,所述片上存储单元的读队列包括:各所述存储访问单元的子读队列;
14.如权利要求9所述的处理器,其特征在于,所述读写分离单元,还用于将所述目标写请求传输至所述片上存储单元;
15.如权利要求9所述的处理器,其特征在于,所述写队列中各写请求具有相应数据有效标识;
16.如权利要求9所述的处理器,其特征在于,所述片上存储单元还包括:与所述读写分离单元相连接的比较选择单元;
17.如权利要求16所述的处理器,其特征在于,所述片上存储单元还包括:与所述读写分离单元相连接的读请求调度单元;
18.如权利要求9所述的处理器,其特征在于,所述片上存储单元,还用于将所述读数据写入所述读队列中所述目标读请求的数据域段;
19.如权利要求9所述的处理器,其特征在于,所述片上存储单元,还用于获取针对所述片上存储单元的数据写入周期、以及上一次写入所述片上存储单元的历史写入时间点;
20.一种电子设备,其特征在于,所述电子设备包括:
...【技术特征摘要】
1.一种存储访问方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述响应于针对片上存储单元的访问请求,对所述访问请求进行读写检测,得到检测结果之前,所述方法还包括:
3.如权利要求2所述的方法,其特征在于,所述存储访问单元具有相应的访问编号,所述从所述至少两个第一写请求,选择一个第一写请求加入所述写队列中,包括:
4.如权利要求1所述的方法,其特征在于,所述将所述目标写请求加入写队列中,包括:
5.如权利要求1所述的方法,其特征在于,所述写队列中各写请求具有相应数据有效标识,所述将所述目标写请求加入写队列中之后,所述方法还包括:
6.如权利要求1所述的方法,其特征在于,所述基于所述目标读请求的读地址和所述写队列中写请求的写地址,从所述片上存储单元读取所述目标读请求所指示读取的读数据,包括:
7.如权利要求6所述的方法,其特征在于,所述从所述片上存储单元的内存库,读取所述目标读请求所指示读取的读数据,包括:
8.如权利要求1所述的方法,其特征在于,所述读取所述目标读请求所指示读取的读数据之后,所述方法包括:
9.一种处理器,其特征在于,所述处理器包括:读写分离单元、以及与所述读写分离单元相连接的片上存储单元,所述片上存储单元具有写队列和读队列;其中,
10.如权利要求9所述的处理器,其特征在于,所述读写分...
【专利技术属性】
技术研发人员:任子木,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。