将虚拟地址重映射至物理地址的方法及地址重映射单元技术

技术编号:32017635 阅读:21 留言:0更新日期:2022-01-22 18:35
本公开提出一种将虚拟地址重映射至物理地址的方法及地址重映射单元,该方法包括:藉由上述地址映射单元的一重映射处理单元接收一重映射请求,解码上述重映射请求,并判断上述重映射请求是否具有一直接存储器存取(Direct Memory Access,DMA)重映射请求;以及当上述重映射请求具有上述DMA重映射请求时,执行一重映射程序:转译对应上述重映射请求的一虚拟地址至一物理地址。一虚拟地址至一物理地址。一虚拟地址至一物理地址。

【技术实现步骤摘要】
将虚拟地址重映射至物理地址的方法及地址重映射单元


[0001]本公开涉及微电子领域的技术,且特别涉及一种将虚拟地址重映射至物理地址的方法及地址重映射单元。

技术介绍

[0002]在计算机系统中,很重要的一个组成就是I/O设备。中央处理器(Central Processing Unit,CPU)计算能力的提升可以提高数据处理速度,但前提是数据能够即时地送达至CPU。因此,I/O设备的处理能力是计算机系统的一个重要指标。而I/O虚拟化的目的是为了解决I/O设备和虚拟机数据交换的问题。随着虚拟化技术及异构计算的发展,如何提高地址重映射的效能以及搜寻快取的速度成为目前亟欲解决的问题。

技术实现思路

[0003]以下公开的内容仅为示例性的,且不意指以任何方式加以限制。除了所述说明方面、实施方式和特征之外,通过参照附图和下述具体实施方式,其他方面、实施方式和特征也将显而易见。即,以下公开的内容被提供以介绍概念、重点、益处以及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下公开的内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。
[0004]本公开提出一种将虚拟地址重映射至物理地址的方法,用于一地址映射单元中,包括:藉由上述地址映射单元的一重映射处理单元接收一重映射请求,解码上述重映射请求,并判断上述重映射请求是否具有一直接存储器存取(Direct Memory Access,DMA)重映射请求;以及当上述重映射请求具有上述DMA重映射请求时,藉由上述重映射处理单元执行一重映射程序:转译对应上述重映射请求的一虚拟地址至一物理地址。
[0005]在一些实施例中,上述方法还包括:藉由上述地址映射单元的一重映射请求接口接收由一端点装置所传送的上述重映射请求;以及藉由上述地址映射单元的一仲裁器接收由上述重映射请求接口所传送的上述重映射请求,并传送上述重映射请求至上述重映射处理单元。
[0006]在一些实施例中,上述方法还包括:当上述重映射处理单元判断上述重映射请求有误时,藉由上述重映射处理单元将一错误信息传送至一错误信息控制单元,以回报上述重映射请求有误;以及藉由上述重映射处理单元将一中断结果传送至一输出结果单元中,以丢弃上述重映射请求。
[0007]在一些实施例中,上述方法还包括:当上述重映射处理单元判断上述重映射请求具有一中断请求时,藉由上述重映射处理单元中断上述重映射程序。
[0008]在一些实施例中,当上述重映射请求具有上述DMA重映射请求时,上述方法还包括:藉由上述重映射处理单元发出一搜索命令至一快取控制逻辑单元中;其中当上述快取控制逻辑单元完成上述虚拟地址的搜索时,发出上述虚拟地址的一快取命中(cache hit)
信号至一输出结果单元中并执行上述重映射程序,或发出上述虚拟地址的一快取未命中(cache miss)信号至一重排序控制单元。
[0009]在一些实施例中,上述方法还包括:当上述重排序控制单元接收上述重映射处理单元所传送的上述快取未命中信号后,藉由上述重排序控制单元发出一读取请求至一存储器;藉由上述重排序控制单元接收上述存储器所传送的一数据,并判断上述数据是否包括一错误信息;以及当上述数据包括上述错误信息时,藉由上述重排序控制单元丢弃上述重映射请求,并将上述错误信息传送至一错误信息控制单元,以回报上述重映射请求有误。
[0010]在一些实施例中,当上述数据不包括上述错误信息时,藉由上述重排序控制单元发出一更新命令更新上述快取控制逻辑单元。
[0011]在一些实施例中,上述更新命令的一优先级高于上述搜索命令。
[0012]在一些实施例中,上述方法还包括:藉由上述地址映射单元的一物理地址输出接口接收上述重映射处理单元所传送的上述物理地址,并传送包括上述物理地址的一重映射响应至上述端点装置。
[0013]在一些实施例中,上述快取控制逻辑单元包括:上下文(Context)快取、PASID快取、IOTLB快取、PML5快取、PML4快取、PDPE快取、PDE快取和IRTE快取。即上下文(Context)高速缓存、进程地址空间标识符((process address space identifier,PASID)高速缓存、输入输出地址转换后备缓冲器(Input/output translation lookaside buffer,IOTLB)高速缓存、PML5高速缓存、PML4高速缓存、PDPE高速缓存、PDE高速缓存和中断重映射表项(interrupt remapping table entry,IRTE)高速缓存。在另一实施例中,高速缓存控制逻辑单元210可支持搜索命令、更新命令及无效命令。在本专利技术一个实施例中,高速缓存控制逻辑单元210可以包括5级页映射(Page

Map Level

4,PML4)表,4级页映射(Page

Map Level

4,PML4)表、页目录指针(Page

Directory

Pointer,PDP)表、页目录(PD)表、页表(Page Table,PT)以及物理页面。其中,PML4表由PML4表项(PML4 Table Entry,PML4E)组成,PDP表由PDP表项(PDP TableEntry,PDPE)组成,PD表由PD表项(PD Table Entry,PDE)组成,PT由PT项(PT Entry,PTE)组成。
[0014]在一些实施例中,当上述错误信息控制单元接收上述错误信息后,记录上述错误信息至一错误记录寄存器或是一存储器中的一驻留错误日志(log),并传送一讯息信号中断(Message Signaled Interrupt,MSI)至一处理器。
[0015]在一些实施例中,上述方法还包括:藉由上述地址映射单元的一页面请求和无效控制逻辑单元通过一页面请求和无效控制接口接收对应一页面的一页面请求或一无效请求;藉由上述页面请求和无效控制逻辑单元判断上述页面请求或上述无效请求是否包括一错误信息;以及当上述页面请求或上述无效请求包括上述错误信息时,藉由上述页面请求和无效控制逻辑单元将上述错误信息传送至一错误信息控制单元,以回报上述页面请求或上述无效请求有误。
[0016]在一些实施例中,上述方法还包括:藉由上述页面请求和无效控制逻辑单元发出一页面搜索命令至一快取控制逻辑单元中;其中当上述快取控制逻辑单元完成上述页面的搜索时,发出上述页面的一快取命中(cache hit)信号或一快取未命中(cache miss)信号至上述页面请求和无效控制逻辑单元;以及当上述页面请求和无效控制逻辑单元接收上述快取未命中信号后,传送携带上述快取未命中信号的上述页面请求至上述重排序控制单元
的上述未命中队列处理单元其中之一。
[0017]在一些实施例中,上述重排序控制单元在接收上述页面请求后,上述方法还本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种将虚拟地址重映射至物理地址方法,用于地址映射单元中,包括:藉由上述地址映射单元的重映射处理单元接收重映射请求,解码上述重映射请求,并判断上述重映射请求是否具有一直接存储器存取重映射请求;以及当上述重映射请求具有上述直接存储器存取重映射请求时,藉由上述重映射处理单元执行重映射程序:转译对应上述重映射请求的虚拟地址至物理地址。2.如权利要求1所述的将虚拟地址重映射至物理地址方法,还包括:藉由上述地址映射单元的重映射请求接口接收由一端点装置所传送的上述重映射请求;以及藉由上述地址映射单元的仲裁器接收由上述重映射请求接口所传送的上述重映射请求,并传送上述重映射请求至上述重映射处理单元。3.如权利要求1所述的将虚拟地址重映射至物理地址方法,还包括:当上述重映射处理单元判断上述重映射请求有误时,藉由上述重映射处理单元将错误信息传送至错误信息控制单元,以回报上述重映射请求有误;以及藉由上述重映射处理单元将中断结果传送至输出结果单元中,以丢弃上述重映射请求。4.如权利要求3所述的将虚拟地址重映射至物理地址方法,其中当上述错误信息控制单元接收上述错误信息后,记录上述错误信息至错误记录寄存器或是存储器中的驻留错误日志,并传送讯息信号中断至处理器。5.如权利要求1所述的将虚拟地址重映射至物理地址方法,还包括:当上述重映射处理单元判断上述重映射请求具有中断请求时,藉由上述重映射处理单元中断上述重映射程序。6.如权利要求1所述的将虚拟地址重映射至物理地址方法,其中当上述重映射请求具有上述直接存储器存取重映射请求时,上述方法还包括:藉由上述重映射处理单元发出搜索命令至快取控制逻辑单元中;其中当上述快取控制逻辑单元完成上述虚拟地址的搜索时,发出上述虚拟地址的快取命中信号至输出结果单元中并执行上述重映射程序,或发出上述虚拟地址的快取未命中信号至重排序控制单元。7.如权利要求6所述的将虚拟地址重映射至物理地址方法,还包括:当上述重排序控制单元接收上述重映射处理单元所传送的上述快取未命中信号后,藉由上述重排序控制单元发出读取请求至存储器;藉由上述重排序控制单元接收上述存储器所传送的数据,并判断上述数据是否包括错误信息;以及当上述数据包括上述错误信息时,藉由上述重排序控制单元丢弃上述重映射请求,并将上述错误信息传送至错误信息控制单元,以回报上述重映射请求有误。8.如权利要求7所述的将虚拟地址重映射至物理地址方法,还包括:藉由上述地址映射单元的上行串流仲裁器接收来自上述重映射处理单元的上述重映射请求、来自上述错误信息控制单元的上述讯息信号中断、来自上述重排序控制单元的上述读取请求、以及来自上述页面请求和无效控制逻辑单元的页面请求或无效请求;以及藉由上述上行串流仲裁器通过上行串流控制接口以顺序传送上述重映射请求、上述讯
息信号中断、上述读取请求以及上述页面请求或上述无效请求至上述存储器或上述处理器。9.如权利要求7所述的将虚拟地址重映射至物理地址方法,其中当上述数据不包括上述错误信息时,藉由上述重排序控制单元发出更新命令更新上述快取控制逻辑单元。10.如权利要求9所述的将虚拟地址重映射至物理地址方法,其中上述更新命令的优先级高于上述搜索命令。11.如权利要求6所述的将虚拟地址重映射至物理地址方法,其中上述快取控制逻辑单元包括:上下文快取、进程地址空间标识符快取、输入输出地址转换后备缓冲器快取、5级页映射快取、4级页映射快取、页目录指针表项快取、页目录表项快取和中断重映射表项快取。12.如权利要求1所述的将虚拟地址重映射至物理地址方法,还包括:藉由上述地址映射单元的物理地址输出接口接收上述重映射处理单元所传送的上述物理地址,并传送包括上述物理地址的重映射响应至上述端点装置。13.如权利要求1所述的将虚拟地址重映射至物理地址方法,还包括:藉由上述地址映射单元的页面请求和无效控制逻辑单元通过页面请求和无效控制接口接收对应页面的页面请求或无效请求;藉由上述页面请求和无效控制逻辑单元判断上述页面请求或上述无效请求是否包括错误信息;以及当上述页面请求或上述无效请求包括上述错误信息时,藉由上述页面请求和无效控制逻辑单元将上述错误信息传送至错误信息控制单元,以回报上述页面请求或上述无效请求有误。14.如权利要求13所述的将虚拟地址重映射至物理地址方法,还包括:藉由上述页面请求和无效控制逻辑单元发出页面搜索命令至快取控制逻辑单元中;其中当上述快取控制逻辑单元完成上述页面的搜索时,发出上述页面的快取命中信号或快取未命中信号至上述页面请求和无效控制逻辑单元;以及当上述页面请求和无效控制逻辑单元接收上述快取未命中信号后,传送携带上述快取未命中信号的上述页面请求至上述重排序控制单元的上述未命中队列处理单元其中之一。15.如权利要求14所述的将虚拟地址重映射至物理地址方法,其中上述重排序控制单元在接收上述页面请求后,上述方法还包括:藉由上述重排序控制单元发出读取请求至存储器,以进行页面遍历;藉由上述重排序控制单元接收上述存储器所传送的数据,并判断上述数据是否包括错误信息;以及当上述数据包括上述错误信息时,藉由上述重排序控制单元丢弃上述页面请求,并将上述错误信息传送至错误信息控制单元,以回报上述页面请求有误。16.如...

【专利技术属性】
技术研发人员:杨群祎沈鹏杨帆
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:

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

1