一种命令队列控制方法、控制电路及地址映射设备技术

技术编号:22658677 阅读:28 留言:0更新日期:2019-11-28 03:19
本发明专利技术提供了一种命令队列控制方法、控制电路及地址映射设备,其中命令队列控制方法包括:接收带有虚拟地址的命令,当命令满足预设的第一条件时将命令写入命令队列;当接收到下级单元发送的与命令队列中的任一命令相匹配的页表时,根据页表得到该命令的物理地址,并更新该命令在命令队列中的存储数据;当命令队列中该命令的存储数据满足预设的第二条件时,将该命令在命令队列中取出。本发明专利技术的技术方案可以让命令队列中符合条件的命令及时取出送走,有利于减少对队列深度的依赖,同时还可以连续向下级单元发出多条查询页表的请求而不必等待前面请求的页表被下级单元送回,因此可以系统性全方位的提升地址映射的效率。

A command queue control method, control circuit and address mapping device

The invention provides a command queue control method, a control circuit and an address mapping device, wherein the command queue control method includes: receiving a command with a virtual address, writing the command to the command queue when the command meets the preset first condition; when receiving a page table sent by a lower level unit that matches any command in the command queue, the command is obtained according to the page table And update the storage data of the command in the command queue; when the storage data of the command in the command queue meets the preset second condition, the command is taken out in the command queue. The technical scheme of the invention can make the qualified commands in the command queue be taken out and sent away in time, which is conducive to reducing the dependence on the queue depth. At the same time, it can send multiple query page table requests to the lower level units continuously without waiting for the previously requested page table to be sent back by the lower level units, so it can systematically and comprehensively improve the efficiency of address mapping.

【技术实现步骤摘要】
一种命令队列控制方法、控制电路及地址映射设备
本专利技术涉及计算机、通信和消费电子领域,特别涉及一种命令队列控制方法、控制电路及地址映射设备。
技术介绍
内存管理单元(Memorymanagementunit,简称MMU)用来将CPU或者设备访问内存命令里的虚拟地址(VirtualAddress,简称VA)映射成实际物理地址(PhysicalAddress,简称PA),用于CPU以外设备,比如显示引擎或ISP的MMU又被称为设备内存管理单元(IOMMU)或者系统内存管理单元(SYSMMU)。地址映射(Addressmapping)过程中需要读取存储在内存里的页表,这个过程需要较长时间,因此影响性能,虽然业界普遍在MMU中嵌入映射查找表(TranslationLookasideBuffer,简称TLB)起到缓存最近使用过页表的功能,减少再次查找页表的时间和访问内存的次数,但如何提升MMU本身的效率,减少对性能下降带来的不利影响依然是个关键问题。从公开的资料来看,都是提升某个局部点,缺少一揽子的整体解决方案。
技术实现思路
为了提升内存管理单元MMU的工作效率和性能,减少地址映射过程中引入的延迟,本专利技术提供了一种命令队列控制方法、控制电路及地址映射设备。本专利技术提供了一种命令队列控制方法,包括:接收带有虚拟地址的命令,当所述命令满足预设的第一条件时,将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据;当接收到下级单元发送的与所述命令队列中的任一命令相匹配的页表时,根据所述页表得到该命令的物理地址,并更新该命令在所述命令队列中的存储数据;当所述命令队列中该命令的存储数据满足预设的第二条件时,将该命令在所述命令队列中取出,其中,所述预设的第二条件为该命令为其对应的通道中最早的命令且该命令在所述命令队列中的存储数据包括物理地址。可选的,在本专利技术所述的命令队列控制方法中,在将该命令在所述命令队列中取出之后,还包括:将与该命令处于相同通道的其他命令的排名均向前移动一位,其中所述排名为将同一通道中的命令按照命令队列接收命令的时间进行排序得到的;当该通道中的其他命令满足预设的第二条件时,将该通道中的其他命令在所述命令队列中取出。可选的,在本专利技术所述的命令队列控制方法中,在接收带有虚拟地址的命令之后,还包括:查询预设的映射查找表,判断所述映射查找表中所述虚拟地址对应的页表是否存在;当所述虚拟地址对应的页表不存在时,判定所述命令满足预设的第一条件;当所述虚拟地址对应的页表存在时,判断所述命令队列中是否已经存储有与所述命令来自相同通道的命令,当已经存储时,判定所述命令满足预设的第一条件。可选的,在本专利技术所述的命令队列控制方法中,在将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据之后,还包括:判断所述命令队列中是否已经存储有包含所述虚拟地址的命令;当没有存储时,向下级单元发出页表查找请求;在更新该命令在所述命令队列中的存储数据之后,还包括:更新所述命令队列中除该命令之外的包含所述虚拟地址的其他命令的存储数据。可选的,在本专利技术所述的命令队列控制方法中,在当所述映射查找表中所述虚拟地址对应的页表存在时,判断所述命令队列中是否已经存储有与所述命令来自相同通道的命令之后,还包括:当所述命令队列中没有存储与所述命令来自相同通道的命令时,发出返回所述命令并完成地址映射的指令。可选的,在本专利技术所述的命令队列控制方法中,在接收到下级单元发送的与所述命令队列中的任一命令相匹配的页表之后,还包括:将所述页表存储至所述映射查找表中。可选的,在本专利技术所述的命令队列控制方法中,所述命令队列为按内容寻址存储器结构。本专利技术还提供了一种命令队列控制电路,包括命令队列写入单元、命令队列更新单元及命令队列取出单元;所述命令队列写入单元,用于接收带有虚拟地址的命令,当所述命令满足预设的第一条件时,将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据;所述命令队列更新单元,用于当接收到下级单元发送的与所述命令队列中的任一命令相匹配的页表时,根据所述页表得到该命令的物理地址,并更新该命令在所述命令队列中的存储数据;所述命令队列取出单元,用于当所述命令队列中该命令的存储数据满足预设的第二条件时,将该命令在所述命令队列中取出,其中,所述预设的第二条件为该命令为其对应的通道中最早的命令且该命令在所述命令队列中的存储数据包括物理地址。可选的,在本专利技术所述的命令队列控制电路中,所述命令队列更新单元还用于:在将该命令在所述命令队列中取出之后,将与该命令处于相同通道的其他命令的排名均向前移动一位,其中所述排名为将同一通道中的命令按照命令队列接收命令的时间进行排序得到的;所述命令队列取出单元,还用于当该通道中的其他命令满足预设的第二条件时,将该通道中的其他命令在所述命令队列中取出。可选的,在本专利技术所述的命令队列控制电路中,所述命令队列写入单元,还用于在接收带有虚拟地址的命令之后,查询预设的映射查找表,判断所述映射查找表中所述虚拟地址对应的页表是否存在;当所述虚拟地址对应的页表不存在时,判定所述命令满足预设的第一条件;当所述虚拟地址对应的页表存在时,判断所述命令队列中是否已经存储有与所述命令来自相同通道的命令,当已经存储时,判定所述命令满足预设的第一条件。可选的,在本专利技术所述的命令队列控制电路中,还包括判断单元;所述判断单元单元还用于:在将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据之后,判断所述命令队列中是否已经存储有包含所述虚拟地址的命令;当没有存储时,向下级单元发出页表查找请求;所述命令队列更新单元还用于:在更新该命令在所述命令队列中的存储数据之后,更新所述命令队列中除该命令之外的包含所述虚拟地址的其他命令的存储数据。可选的,在本专利技术所述的命令队列控制电路中,所述命令队列写入单元还用于:在当所述映射查找表中所述虚拟地址对应的页表存在,且所述命令队列中没有存储与所述命令来自相同通道的命令时,发出返回所述命令并完成地址映射的指令。可选的,在本专利技术所述的命令队列控制电路中,所述命令队列更新单元,还用于:在接收到下级单元发送的与所述命令队列中的任一命令相匹配的页表之后,将所述页表存储至所述映射查找表中。可选的,在本专利技术所述的命令队列控制电路中,所述命令队列为按内容寻址存储器结构。本专利技术还提供了一种地址映射设备,包括映射查找表、命令队列、映射装置及如上所述的命令队列控制电路;所述所述映射装置,用于当接收到在命令队列中取出的命令后,将所述命令完成虚拟地址到物理地址的映射。可选的,在本专利技术所述的地址映射设备中,所述映射装置还用于当接收到返回所述命令并完成地址映射的指令后,在所述映射查找表中查询得到与所述命令中的虚拟地址相匹配的物理地址,直接完成所述命令虚拟地址到物理地址本文档来自技高网...

【技术保护点】
1.一种命令队列控制方法,其特征在于,包括:/n接收带有虚拟地址的命令,当所述命令满足预设的第一条件时,将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据;/n当接收到下级单元发送的与所述命令队列中的任一命令相匹配的页表时,根据所述页表得到该命令的物理地址,并更新该命令在所述命令队列中的存储数据;/n当所述命令队列中该命令的存储数据满足预设的第二条件时,将该命令在所述命令队列中取出,其中,所述预设的第二条件为该命令为其对应的通道中最早的命令且该命令在所述命令队列中的存储数据包括物理地址。/n

【技术特征摘要】
1.一种命令队列控制方法,其特征在于,包括:
接收带有虚拟地址的命令,当所述命令满足预设的第一条件时,将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据;
当接收到下级单元发送的与所述命令队列中的任一命令相匹配的页表时,根据所述页表得到该命令的物理地址,并更新该命令在所述命令队列中的存储数据;
当所述命令队列中该命令的存储数据满足预设的第二条件时,将该命令在所述命令队列中取出,其中,所述预设的第二条件为该命令为其对应的通道中最早的命令且该命令在所述命令队列中的存储数据包括物理地址。


2.如权利要求1所述的命令队列控制方法,其特征在于,在将该命令在所述命令队列中取出之后,还包括:
将与该命令处于相同通道的其他命令的排名均向前移动一位,其中所述排名为将同一通道中的命令按照命令队列接收命令的时间进行排序得到的;
当该通道中的其他命令满足预设的第二条件时,将该通道中的其他命令在所述命令队列中取出。


3.如权利要求1或2所述的命令队列控制方法,其特征在于,在接收带有虚拟地址的命令之后,还包括:
查询预设的映射查找表,判断所述映射查找表中所述虚拟地址对应的页表是否存在;
当所述虚拟地址对应的页表不存在时,判定所述命令满足预设的第一条件;
当所述虚拟地址对应的页表存在时,判断所述命令队列中是否已经存储有与所述命令来自相同通道的命令,当已经存储时,判定所述命令满足预设的第一条件。


4.如权利要求1或2所述的命令队列控制方法,其特征在于,在将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据之后,还包括:
判断所述命令队列中是否已经存储有包含所述虚拟地址的命令;
当没有存储时,向下级单元发出页表查找请求;
在更新该命令在所述命令队列中的存储数据之后,还包括:
更新所述命令队列中除该命令之外的包含所述虚拟地址的其他命令的存储数据。


5.如权利要求3所述的命令队列控制方法,其特征在于,在当所述映射查找表中所述虚拟地址对应的页表存在时,判断所述命令队列中是否已经存储有与所述命令来自相同通道的命令之后,还包括:
当所述命令队列中没有存储与所述命令来自相同通道的命令时,映射查找表发出返回所述命令并完成地址映射的指令。


6.如权利要求1或2所述的命令队列控制方法,其特征在于,在接收到下级单元发送的与所述命令队列中的任一命令相匹配的页表之后,还包括:
将所述页表存储至所述映射查找表中。


7.如权利要求1或2所述的命令队列控制方法,其特征在于,所述命令队列为按内容寻址存储器结构。


8.一种命令队列控制电路,其特征在于,包括命令队列写入单元、命令队列更新单元及命令队列取出单元;
所述命令队列写入单元,用于接收带有虚拟地址的命令,当所述命令满足预设的第一条件时,将所述命令写入命令队列并生成所述命令在所述命令队列中的存储数据;
所述命令队列更新单元,用于当接收到下级单元发送的与所述命令...

【专利技术属性】
技术研发人员:刘弋波张庆
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:广东;44

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

1
相关领域技术
  • 暂无相关专利