输入输出存储器管理单元及控制方法、装置的制造方法_2

文档序号:9375496阅读:来源:国知局
请求指令的物理地址。
[0045]为了实现智能设备的外围设备在处理请求指令时,可以使用智能设备的操作系统所分配的虚拟内存,进而可以减少对智能设备的物理内存的消耗,本发明技术方案提供一种1MMU的控制方法。
[0046]所述1MMU的结构如图1所示,所述1MMU主要包括第一缓存单元U10、总线控制单元U20以及协议单元U30。
[0047]所述第一缓存单元UlO主要用于存储所述外围设备的请求指令的物理地址信息。所述第一缓冲单元集成在所述1MMU内部。
[0048]在智能设备的外围设备发送请求指令后,所述智能设备的操作系统会为所述请求指令分配相应的虚拟内存,可以将与所述请求指令的虚拟地址所对应的物理地址信息预先存储在所述第一缓存单元UlO中。所述第一缓存单元UlO可以为RAM等存储器。所述的请求指令的虚拟地址所对应的物理地址信息可以就是所述虚拟地址所对应的物理地址。为了减少对所述第一缓存单元UlO的占用,所述的请求指令的虚拟地址所对应的物理地址信息也可以是所述虚拟地址所对应的物理地址的页地址。
[0049]可以预先将外围设备的所有请求指令的物理地址信息全部存储于所述第一缓存单元UlO中,便于后续在所述外围设备执行请求指令时,可以基于所述第一缓存单元UlO中所存储的对应请求指令的物理地址信息获得所述请求指令的物理地址。
[0050]所述总线控制单元U20主要用于控制所述1MMU的启动或者关闭,例如,在智能设备的外围设备发送请求指令时,控制1MMU处于开启状态,而在所述智能设备的外围设备处于不工作的状态时,可以控制1MMU处于关闭状态等。所述总线控制单元U20还可以对第一缓存单元UlO进行控制,例如使能第一缓存单元UlO等。但所述总线控制单元U20与1MMU中其它各单元进行交互的时候,需要通过如下所述的协议控制单元U30实现。
[0051]所述协议单元U30主要用于建立所述1MMU中各单元间的通信连接,例如建立所述第一缓存单元U1和总线控制单元U20以及所述1MMU中的其他各功能单元中的连接,所述协议单元U30内还可以包含有仲裁单元,用于对1MMU中的功能单元访问所述第一缓存单元UlO的权限进行仲裁。
[0052]如图1所示,所述1MMU还可以包括第二缓存单元U40,在将智能设备的外围设备的请求指令的物理地址信息存储与所述第一缓存单元U1中时,可以相应的记录在所述第一缓存单元UlO存储该请求指令的物理地址信息的存储地址,在本申请文件中,将该地址称为对应该请求指令的第一虚拟地址。在所述1MMU对外围设备的请求指令进行处理的过程中,在基于所述第一虚拟地址处所存储的所述请求指令的物理地址信息获取到所述请求指令的物理地址后,可以将所述第一虚拟地址和所述请求指令的物理地址信息之间的对应关系存储于所述第二缓存单元U40中。
[0053]本发明技术方案所提供的1MMU的控制方法的流程示意图请参考图2,如图2所示,首先执行步骤S201,获取所述外围设备的请求指令所对应的地址信息,所述地址信息包括第一虚拟地址。
[0054]所述外围设备的请求指令所对应的地址信息可以为预先所存储于该外围设备中的对应所述请求指令的地址信息。当所述外围设备需要执行所述请求指令时,将预先所存储的与该请求指令所对应的地址信息发送出去。所述地址信息可以包含有第一虚拟地址信息。所述第一虚拟地址即为如上所述的所述第一缓存单元UlO中所存储的该请求指令的物理地址信息的存储位置。在预先存储所述请求指令所对应的地址信息时,可以将该请求指令所对应的内存地址的页内偏移量信息也存储于所述地址信息中,以便于后续获取所述请求指令的物理地址。
[0055]在所述外围设备发送请求指令时,所述1MMU首先获取所述请求指令所对应的地址信息。
[0056]执行步骤S202,基于所述第一虚拟地址从所述第一缓存单元获取所述请求指令的物理地址。
[0057]在1MMU获取到所述请求指令所对应的地址信息后,可以从所述请求指令所对应的地址信息中得到所述请求指令所对应的第一虚拟地址,进而从第一缓存单元中UlO中获取所述第一虚拟地址处所存储的物理地址信息,基于所述物理地址信息确定所述请求指令所对应的物理地址。
[0058]进一步,若所述1MMU中包含有如图1中所示出的第二缓存单元U40,且所述第二缓存单元U40中存储有所述请求指令所对应的第一虚拟地址和所述请求指令的物理地址信息之间的对应关系,则直接访问所述第二缓存单元U40得到所述请求指令所对应的物理地址信息,进而获取到所述请求指令所对应的物理地址。
[0059]本发明技术方案所提供的1MMU的控制方法,可以使得外围设备的请求指令的地址可以是操作系统所分配的虚拟地址,使得无需为所述外围设备预留物理内存空间,可以有效减少智能设备需要搭载的物理内存,有效降低硬件成本。所述第一缓冲单元集成在所述1MMU中,使得访问所述第一缓冲单元更加高效快捷。
[0060]通过在所述1MMU中设置第二缓存单元U40,并在所述第二缓存单元U40中存储外围设备的请求指令所对应的第一虚拟地址和所述请求指令的物理地址信息之间的对应关系,则基于所述对应关系可以快速得到所述请求指令的第一虚拟地址所对应的物理地址信息,有效提高操作系统的处理速度。
[0061]需要说明的是,在上述智能设备中可能含有多个外围设备,例如有用于图像处理的图像硬件加速器、有用于视频处理的视频硬件加速器等多媒体加速器,对于不同的外围设备,可以分别为每一个外围设备对应设置一个10MMU,也可以所有的外围设备共用一个10MMU,可以结合智能设备的系统性能、处理需求等进行相应的设定。
[0062]为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0063]在本实施例中,以所述智能设备的外围设备为图像处理加速器为例进行说明,对于其他智能设备的外围设备则可以采用与本实施例相似的方法对1MMU进行控制。
[0064]图3为本实施例提供的图像处理器工作的系统示意图,在本实施例中,以对应所述图像处理加速器的1MMU包含有一个第一缓存单元和两个第二缓存单元为例,所述第一缓存单元在本实施例中即为如图3所示出的RAM单元U31,所述第二缓存单元为图3所示出的写指令地址转换单元U32和读指令地址转换单元U33。需要说明的是,所述RAM单元U31是集成在所述1MMU内部的,以手机系统为例,所述RAM单元U31可以集成在所述图像处理加速器的1MMU内部。
[0065]在此分别设置对应写指令的写指令地址转换单元U32和对应读指令的读指令地址转换单元U33是因为图像处理中读数据和写数据的空间局部性都很强,通常读数据和写数据过程都需要有较连续的物理内存空间,如果将读指令地址转换单元U33和写指令地址转换单元U32设置为同一个地址转换单元,则过多的读写操作会导致在通过所述地址转换单元在执行读指令或写指令所对应的地址转换时效率较低,不利于快速的得到地址转换结果。
[0066]如图3所示,在图像处理加速器U36发送读指令或者写指令的请求指令时,首先将读指令或写指令所携带的虚拟地址信息所携带的虚拟地址信息发送到1MMU中。所述读指令或写指令的虚拟地址信息是指预先存储在图像处理加速器中的与请求指令所对应的地址信息,所述地址信息包括如上所述的对应请求指令的第一虚拟地址。
[0067]所述1MMU可以通过其内部的总线控制单元U35控制其开启或者关闭,而所述总线控制单元U35可以基于第一总线单元U37中所得到的指令信息对所述1MMU进行使能控制。所述第一总线单元U37可以理解为智能设备中的高级高性能总线(AHB, Advanced HighPerformance Bus),所述AHB总线可以输出控制信号,所述1MMU中的总线控制单元U35可以根据所述第一总线单元U37的控制信号对所述1MMU进行控制。
[0068]在所述1MMU开启时,在接收到所述读指令或写指令所携带的地址信息后,首先在读指令地址转换单元U33或写指令地址转换单元U32进行匹配查找动作。
[0069]如果在所述读指令地址转换单元U33或写指令地址转换单元U32中存在所述读指令或写指令的地址信息中所携带的第一虚拟地址和请求指令的物理地址信息之间的对应关系,则可以获得与所述第一虚拟地址所对应的物理地址信息,即可以获得所述读指令或写指令所对应的物理地址信息,进而可以得到所述读指令或写指令的物理地址,之后可以将所述读指令或写指令的物理地址输出到图3中所示出的第二总线单元U38中,所述第二总线单元U38可以理解
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1