• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 26
    • 下载费用:30 金币  

    重庆时时彩开奖号码查询结果opa: 能够使用虚拟存储器处理模式的数据处理系统.pdf

    关 键 词:
    能够 使用 虚拟 存储器 处理 模式 数据处理系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN200310103001.0

    申请日:

    2003.10.29

    公开号:

    CN1506843A

    公开日:

    2004.06.23

    当前法律状态:

    终止

    有效性:

    无权

    法律详情: 未缴年费专利权终止IPC(主分类):G06F 12/08申请日:20031029授权公告日:20060621终止日期:20151029|||授权|||实质审查的生效|||公开
    IPC分类号: G06F12/08 主分类号: G06F12/08
    申请人: 国际商业机器公司
    发明人: R·K·阿里米利; J·S·多德森; S·盖; K·L·赖特
    地址: 美国纽约
    优先权: 2002.12.12 US 10/318,530
    专利代理机构: 北京市中咨律师事务所 代理人: 于静;李峥
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN200310103001.0

    授权公告号:

    |||1260656||||||

    法律状态公告日:

    2016.12.21|||2006.06.21|||2004.09.01|||2004.06.23

    法律状态类型:

    专利权的终止|||授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种用于支持不具备系统存储器的数据支持系统的别名支持方法。数据处理系统包括多个处理单元。处理单元包括在比实地址空间更大的虚拟地址空间中运行的易失性高速缓冲存储器。将处理单元以及相应的易失性高速缓冲存储器耦合到在物理地址空间中运行的存储控制器。通过互连,将处理单元和存储控制器耦合到硬盘。处理单元包括一个别名表,后者把至少两个虚拟地址与指向硬盘中的一个存储单元的物理盘地址联系起来。硬盘包含一个虚拟物理转换表,该转换表将一个所述易失性高速缓冲存储器的虚拟地址,转换为指向硬盘中的一个存储单元的物理磁盘地址,而无需通过实地址转换。

    权利要求书

    1: 一种能够利用虚拟存储器处理模式的数据处理系统,所述数据处理 系统包括: 多个处理单元,其中所述多个处理单元包括在比实地址空间更大的虚 拟地址空间中运行的易失性高速缓冲存储器; 与所述多个处理单元和易失性高速缓冲存储器相耦合的互连; 经由所述互连与所述多个处理单元相耦合的硬盘; 与所述多个处理单元中的至少一个单元相耦合的别名表,用于把至少 两个虚拟地址与指向所述硬盘中的一个存储单元的物理盘地址联系起来; 在所述硬盘内存储的虚拟物理转换表,用于将一个所述易失性高速缓 冲存储器的虚拟地址,转换为指向所述硬盘中的一个存储单元的物理盘地 址,而无需通过实地址转换;以及 与所述互连相耦合的存储控制器,用于将一个所述易失性高速缓冲存 储器的虚拟地址,转换为指向所述硬盘中的一个存储单元的物理盘地址, 而无需通过实地址转换。
    2: 权利要求1的数据处理系统,其中所述别名表内的条目包括第一虚 拟地址字段,第二虚拟地址字段和有效位字段。
    3: 权利要求1的数据处理系统,其中所述虚拟物理转换表内的条目包 括虚拟地址字段,物理地址字段和有效位字段。
    4: 权利要求1的数据处理系统,其中所述数据处理系统还包括与所述 存储控制器相耦合的物理高速缓冲存储器,用于存储所述硬盘内的信息的 子集。
    5: 权利要求4的数据处理系统,其中所述物理高速缓冲存储器为动态 随机存取存储器。
    6: 权利要求4的数据处理系统,其中所述存储控制器包括物理存储器 目录,用于跟踪所述物理高速缓冲存储器的内容。
    7: 权利要求4的数据处理系统,其中所述存储控制器包括虚拟物理转 换表高速缓存,用于存储所述虚拟物理转换表内的信息的子集。
    8: 权利要求1的数据处理系统,其中所述多个处理单元的虚拟地址范 围大于所述硬盘的物理盘地址范围。
    9: 权利要求1的数据处理系统,其中通过输入/输出通道转换器将所 述硬盘耦合到所述互连。
    10: 权利要求1的数据处理系统,其中通过适配器将所述硬盘耦合到所 述输入/输出通道转换器。

    说明书


    能够使用虚拟存储器处理模式的数据处理系统

        【技术领域】

        本发明一般涉及数据处理系统,确切地说,涉及具有存储器层次结构的数据处理系统。更确切地说,本发明涉及无需操作系统的协助就能管理虚拟存储器处理模式的数据处理系统。

        背景技术

        现有存储器层次结构通常包括经由输入/输出通道转换器与处理器组件相连的一级或多级高速缓冲存储器、系统存储器(也称为实存储器)和硬盘(也称为物理存储器)。当存在多级高速缓冲存储器时,通常称为一级(L1)高速缓冲存储器的第一级高速缓冲存储器的存取时间最快,每比特的成本最高。诸如二级(L2)高速缓存和三级(L3)高速缓存之类的其他级别的高速缓冲存储器的存取时间较慢,每比特的成本也相对较低。通常,高速缓冲存储器的级别越低,其存取时间越慢。

        通常,利用系统存储器保存采用虚拟存储器处理模式的数据处理系统的处理地址空间的最常用部分。在硬盘上保存处理地址空间的其他部分,并且在需要时进行检索。在执行软件应用时,操作系统将虚拟地址转换为实地址。在系统存储器中存储的页帧表(PFT)的协助下,以存储页面的粒度进行转换。处理器高速缓存通常包括后备式转换缓冲器(TLB),TLB作为最近使用的PFT条目(PTE)地高速缓存。

        当发起数据加载、数据存储或取指令请求时,在TLB中查找与该请求关联的数据的虚拟地址,以查找包含该虚拟地址之相应实地址的PTE。如果在TLB中找到该PTE,则利用相应的实地址向存储器层次结构发送数据加载、数据存储或取指令请求。如果在TLB中找不到该PTE,则利用系统存储器内的PFT定位相应的PTE。然后将该PTE重新加载到TLB中,并且转换处理重新开始。

        由于空间限制,不可能将全部虚拟地址装到系统存储器内的PFT中。如果在PFT中找不到虚实地址转换,或者如果能够找到转换但是与该页面关联的数据并未驻留在系统存储器中,将产生缺页以中断转换处理,从而操作系统能够更新一个新转换的PFT。此类更新处理包括:将替换页面从系统存储器移动到硬盘;使得所有处理器的TLB中的替换PTE的所有副本无效;将与新转换关联的数据页面从硬盘移动到系统存储器;更新PFT;以及重新开始转换处理。

        如上所述,通常由操作系统管理虚拟存储器,管理PFT以及系统存储器与硬盘之间的数据页面调度的操作系统部分称为虚拟存储器管理器(VMM)。然而,利用操作系统管理虚拟存储器有许多问题。例如,VMM通常并不了解硬件结构,因此受VMM控制的替换策略通常并不是非常有效。另外,VMM代码非常复杂,并且维护跨多个硬件平台或具有多种不同存储器配置的单硬件平台的VMM代码都是非常复杂和十分昂贵的。本公开提供上述问题的解决方案。

        【发明内容】

        根据本发明的一个优选实施例,能够利用虚拟存储器处理模式的数据处理系统包括众多处理单元。处理单元包括在比实地址空间更大的虚拟地址空间中运行的易失性高速缓冲存储器。将处理单元以及相应的易失性高速缓冲存储器耦合到在物理地址空间中运行的存储控制器。通过互连,将处理单元和存储控制器耦合到硬盘。处理单元包括一个别名表,后者把至少两个虚拟地址与指向硬盘中之存储单元的物理盘地址联系起来。硬盘包含一个虚拟物理转换表,该转换表将某个所述易失性高速缓冲存储器的虚拟地址,转换为指向硬盘中之存储单元的物理盘地址,而无需通过实地址转换。与物理高速缓冲存储器相耦合的存储控制器,能够将某个易失性高速缓冲存储器的虚拟地址,映射为指向硬盘内之存储单元的物理盘地址,而无需通过实地址转换。物理高速缓冲存储器包含硬盘内的信息的子集。

        通过阅读详细说明书,本发明的所有目的、特征和优点将更加明显。

        【附图说明】

        通过连同附图阅读所述实施例的详细说明,将更加了解本发明,其最佳使用方式,其他目的以及其优点。其中附图为:

        图1表示根据现有技术的多处理器数据处理系统的框图;

        图2表示包含本发明一个优选实施例的多处理器数据处理系统的框图;

        图3表示用于处理图2所示多处理器数据处理系统内的一个处理器的虚拟存储器存取请求的方法的高级逻辑流程图;

        图4表示包含本发明第二实施例的多处理器数据处理系统的框图;

        图5表示用于处理图4所示多处理器数据处理系统内的一个处理器的虚拟存储器存取请求的方法的高级逻辑流程图;

        图6表示根据本发明一个优选实施例的别名表的框图;

        图7表示包含本发明第三实施例的多处理器数据处理系统的框图;

        图8表示图7所示的、根据本发明一个优选实施例的多处理器数据处理系统内的虚拟物理地址转换表的框图;

        图9表示用于处理图7所示多处理器数据处理系统内的一个处理器的虚拟存储器存取请求的方法的高级逻辑流程图;

        图10表示根据本发明一个优选实施例的处理器的虚拟存储器存取请求的框图;以及

        图11表示根据本发明一个优选实施例的请求处理器的中断数据包的框图。

        具体实施例

        为说明的目的,利用具有单级高速缓冲存储器的多处理器数据处理系统描述本发明??梢岳斫?,本发明的特征适用于具有多级高速缓冲存储器的数据处理系统。

        I.现有技术

        现在参照附图,特别地,参照图1,该图表示根据现有技术的多处理器数据处理系统的框图。如图所示,多处理器数据处理系统10包括多个中央处理单元(CPU)11a-11n,各CPU11a-11n均包含一个高速缓冲存储器。例如,CPU11a包含高速缓冲存储器12a,CPU11b包含高速缓冲存储器12b,CPU11n包含高速缓冲存储器12n。通过互连14,将CPU11a-11n和高速缓冲存储器12a-12n连接到存储器控制器15和系统存储器16?;チ?4充当高速缓冲存储器12a-12n与输入/输出通道转换器(IOCC)17之间的通信处理通道。

        多处理器数据处理系统10采用虚拟存储器处理模式,这意味着同时使用三类地址。三类地址为虚拟地址,实地址和物理地址。将虚拟地址定义为采用虚拟存储器处理模式的数据处理系统内的软件应用中直接引用的地址。将实地址定义为存取数据处理系统内的系统存储器(或主存储器)时引用的地址。将物理地址定义为存取数据处理系统内的硬盘时引用的地址。

        在虚拟存储器处理模式中,操作系统将CPU11a-11n使用的虚拟地址,转换为系统存储器16和高速缓冲存储器12a-12n使用的对应实地址。硬盘适配器18在其设备驱动软件的控制下,将系统存储器16和高速缓冲存储器12a-12n使用的实地址,转换为硬盘101使用的物理地址(即磁盘地址)。

        在运行时,系统存储器16保存最常使用的处理数据和指令,而将剩余的处理数据和指令存储到硬盘101上。利用系统存储器16中存储的页帧表(PFT)19定义虚拟地址到实地址的映射。对应CPU内的各后备式转换缓冲器(TLB)13a-13n充当最近使用的PFT条目(PTE)的高速缓冲存储器。

        如果在PFT19中找不到虚实地址转换,或者如果能够找到虚实转换但是关联数据并未驻留在系统存储器16中,将产生缺页以中断转换处理,从而操作系统必须更新PFT19和/或将请求的数据从硬盘101传送到系统存储器16。PFT更新包括:将替换页面从系统存储器16移动到硬盘101;使得TLB13a-13n中的替换PTE的所有副本无效;将与新转换关联的数据页面从硬盘101移动到系统存储器16;更新PFT19;以及重新开始转换处理。通常由操作系统控制缺页处理,此类装置具有上述缺陷。

        II.新配置

        根据本发明一个优选实施例,从数据处理系统10中彻底除去图1中的系统存储器16。由于从数据处理系统中彻底除去系统存储器16,所以必须直接从硬盘上取全部数据和指令,并利用存储控制器管理将数据和指令传送到硬盘,以及从硬盘上传送数据和指令。本质上,在本发明中系统存储器是“虚拟化的”。

        在本发明的最简单实施例中,并不提供虚拟物理地址别名。将别名定义为多个虚拟地址到单一物理地址的映射。由于没有别名时虚拟地址只能映射到单一物理地址,因此,不需要虚拟物理地址转换。

        现在参照图2,该图表示包含本发明一个优选实施例的多处理器数据处理系统的框图。如图所示,多处理器数据处理系统20包括多个中央处理单元(CPU)21a-21n,各CPU21a-21n均包含一个高速缓冲存储器。例如,CPU21a包含高速缓冲存储器22a,CPU21b包含高速缓冲存储器22b,CPU21n包含高速缓冲存储器22n。通过互连24,将CPU21a-21n和高速缓冲存储器22a-22n连接到存储控制器25?;チ?4充当高速缓冲存储器22a-22n与IOCC27之间的通信处理通道。经由硬盘适配器28,将IOCC27连接到硬盘102。

        在现有技术(见图1)中,硬盘适配器18以及与硬盘适配器18关联的设备驱动软件将高速缓冲存储器22a-22n和系统存储器16使用的实地址,转换为硬盘101使用的对应物理地址。在本发明中,存储控制器25管理虚拟地址到对应物理地址的转换(由于已经消除了传统的实地址空间)。但是当不提供别名时,完全不需要虚拟地址到物理地址的转换,因为虚拟地址与物理地址之间存在一一对应。

        在图2的实施例中,硬盘102的大小规定多处理器数据处理系统20的虚拟地址范围?;痪浠八?,硬盘102的物理地址范围与多处理器数据处理系统20的虚拟地址范围相同。然而,也可以定义比硬盘102的物理地址范围更大的虚拟地址范围。此时,如果软件访问硬盘102之物理地址范围以外的虚拟地址,将视为例外,并需要由例外中断进行处理。提供比硬盘102的物理地址范围更大的虚拟地址范围的另一种方法是利用虚拟物理转换表,如图7所示的虚拟物理转换表29。

        现在参照图3,该图表示用于处理根据本发明的一个优选实施例的多处理器数据处理系统内的一个处理器的虚拟存储器存取请求的方法的高级逻辑流程图。响应一个处理器的虚拟存储器存取请求,确定存取请求的请求数据是否驻留在与该处理器关联的高速缓冲存储器中,如框31所示。如果请求的数据驻留在与该处理器关联的高速缓冲存储器中,则将请求的数据从关联的高速缓冲存储器中发送到该处理器,如框35所示。否则,如果请求的数据没有驻留在与该处理器关联的高速缓冲存储器中,则将请求的数据的虚拟地址转发到诸如图2所示的存储控制器25之类的存储控制器,如框32所示。然后,由存储控制器将请求的数据的虚拟地址映射到对应物理地址,如框33所示。接着,从诸如图2所示的硬盘102之类的硬盘中取出请求的数据,如框34所示,随后将请求的数据发送到处理器,如框35所示。

        现在参照图4,该图表示包含本发明之第二实施例的多处理器数据处理系统的框图。如图所示,多处理器数据处理系统40包括多个中央处理单元(CPU)41a-41n,各CPU41a-41n均包含一个高速缓冲存储器。例如,CPU41a包含高速缓冲存储器42a,CPU41b包含高速缓冲存储器42b,CPU41n包含高速缓冲存储器42n。通过互连44,将CPU41a-41n和高速缓冲存储器42a-42n连接到存储控制器45和物理高速缓冲存储器46。物理高速缓冲存储器46最好为基于动态随机存取存储器(DRAM)的存储设备;然而,也可以使用其他类似种类的存储设备。存储控制器45包括用于跟踪物理高速缓冲存储器46的物理高速缓冲存储器目录49?;チ?4充当高速缓冲存储器42a-42n与IOCC47之间的通信处理通道。经由硬盘适配器48,将IOCC47连接到硬盘103。

        与图2所示的存储控制器25类似,存储控制器45管理虚拟地址到对应物理地址的转换(因为已经消除了传统的实地址空间)。此外,由于硬盘103的物理地址范围与多处理器数据处理系统40的虚拟地址范围相同,并且由于多处理器数据处理系统40中不提供别名,所以不需要虚拟地址到物理地址的转换。

        物理高速缓冲存储器46包含硬盘103中存储的信息的子集。物理高速缓冲存储器46中存储的信息子集最好为CPU41a-41n中任一CPU最近访问的信息。物理高速缓冲存储器46中各高速缓存线最好包括基于物理地址的标记以及关联数据页面。尽管物理高速缓冲存储器46中的各高速缓存线的数据粒度为一个页面,但是也可以采用其他数据粒度。物理高速缓冲存储器目录49利用众所周知的高速缓存管理技术,如结合性,相关性,替换等,跟踪物理高速缓冲存储器46。物理高速缓冲存储器目录49中的各条目优选地表示驻留在物理高速缓冲存储器46中的一个或多个物理存储器页面。如果在某个数据页面的虚拟存储器存取请求后物理高速缓冲存储器46中出现“缺页”,则从硬盘103中取出请求的数据页面。同时,基于预定算法或虚拟存储器存取请求的提示,从硬盘103中取出其他数据页面。

        现在参照图5,该图表示用于处理根据本发明的一个优选实施例的多处理器数据处理系统40内的一个处理器的虚拟存储器存取请求的方法的高级逻辑流程图。响应一个处理器的虚拟存储器存取请求,确定存取请求的请求数据页面是否驻留在与该处理器关联的高速缓冲存储器中,如框50所示。如果请求数据页面驻留在与该处理器关联的高速缓冲存储器中,则将请求数据页面从关联的高速缓冲存储器中发送到该处理器,如框58所示。否则,如果请求数据页面没有驻留在与该处理器关联的高速缓冲存储器中,则将请求数据页面的虚拟地址转发到诸如图4所示的存储控制器45之类的存储控制器,如框51所示。然后,将请求数据页面的虚拟地址映射到对应物理地址,如框52所示。

        接着,确定请求数据页面是否驻留在诸如图4所示的物理高速缓冲存储器46之类的物理高速缓冲存储器中,如框53所示。如果请求页面驻留在物理高速缓冲存储器中,则将请求数据页面从物理高速缓冲存储器中发送到该处理器,如框58所示。否则,如果请求数据页面没有驻留在物理高速缓冲存储器中,则在物理高速缓冲存储器中选择一个“牺牲”页面,如框54所示。然后将“牺牲”页面写回到诸如图4所示的硬盘103之类的硬盘上,如框55所示。下文叙述将数据页面写回到硬盘上的细节。从硬盘上取出请求数据页面,如框56所示。接着,利用请求数据页面更新物理高速缓冲存储器,如框57所示,随后将请求数据页面发送到该处理器,如框58所示。

        如果物理高速缓冲存储器46中并未存储某个处理器请求的数据页面,则存储控制器46执行以下步骤:

        1.首先,选择利用请求数据页面进行替换的“牺牲”数据页面;

        2.接着,存储控制器45发起突发输入/输出(I/O)写操作,以将选定的“牺牲”数据页面写回到硬盘103上。作为选择,存储控制器45也可以向硬盘适配器48发送一条命令,指示硬盘适配器48将选定的“牺牲”数据页面,从物理高速缓冲存储器46直接存储器存取(DMA)传送到硬盘103。

        3.接着,存储控制器45发起突发I/O读操作,以从硬盘103中取出请求数据页面。作为选择,存储控制器45也可以向硬盘适配器48发送一条命令,以指示硬盘适配器48将请求页面,从硬盘103DMA传送到物理高速缓冲存储器46。

        4.然后,存储控制器45将请求数据页面写到物理高速缓冲存储器46中,并向请求处理器返回请求数据页面。

        无需操作系统软件的协助,就能执行以上所有步骤。

        III.别名

        为了提高图4所示的多处理器数据处理系统40的效率,为了支持各种处理之间的数据共享,允许虚拟物理地址别名。由于存在虚拟地址别名时多个虚拟地址可以映射到单一物理地址,所以需要虚拟物理地址转换。根据本发明的一个优选实施例,利用别名表支持虚拟物理地址转换。

        现在参照图6,该图表示根据本发明的一个优选实施例的别名表的框图。如图所示,别名表60的每个条目包括三个字段,即,虚拟地址字段61,虚拟地址字段62和有效位字段63。虚拟地址字段61包含主虚拟地址,虚拟地址字段62包含辅助虚拟地址。对于别名表60内的每个条目而言,同时将主和辅助虚拟地址映射到同一物理地址。有效位字段63表示特定条目是否有效。

        为了将别名表60控制在合理大小内,与另一个虚拟地址不同名的虚拟地址在别名表60中没有条目。每当处理器加载/存储指令或取指令时,总要搜索别名表60。如果在别名表60中找到匹配的虚拟地址条目,则将匹配条目的主虚拟地址(在虚拟地址字段61中)转发到存储器层次结构。例如,如果请求别名表60中的虚拟地址C,则将虚拟地址A(该条目的主虚拟地址)转发到与请求处理器关联的高速缓冲存储器中,因为虚拟地址A和虚拟地址C指向同一物理地址。因此,考虑到存储器层次结构,别名表60内的辅助虚拟地址实际上不存在。

        现在参照图7,该图表示包含本发明第三实施例的多处理器数据处理系统的框图。如图所示,多处理器数据处理系统70包括多个中央处理单元(CPU)71a-71n,各CPU71a-71n均包含一个高速缓冲存储器。例如,CPU71a包含高速缓冲存储器72a,CPU71b包含高速缓冲存储器72b,CPU71n包含高速缓冲存储器72n。通过互连74,将CPU71a-71n和高速缓冲存储器72a-72n连接到存储控制器75和物理高速缓冲存储器76。物理高速缓冲存储器76最好为基于DRAM的存储设备;然而,也可以使用其他类似种类的存储设备?;チ?4充当高速缓冲存储器72a-72n与IOCC77之间的通信处理通道。经由硬盘适配器78,将IOCC77连接到硬盘104。

        多处理器数据处理系统70允许虚拟物理地址别名。因此,各CPU71a-71n均包含一个别名表38a-38n,以协助虚拟物理地址转换。另外,在硬盘104内提供虚拟物理转换表(VPT)29,以执行虚拟物理(盘)地址转换。特别地,保留盘空间104的一个区域,以包含多处理器数据处理系统70使用的全部虚拟地址范围的VPT29。存在VPT29允许多处理器数据处理系统70的虚拟地址范围大于硬盘104的物理地址范围。借助VPT29,能够减轻操作系统管理地址转换的负担。

        现在参照图8,该图表示根据本发明一个优选实施例的VPT29的框图。如图所示,VPT29的每个条目包括三个字段,即,虚拟地址字段36,物理地址字段37和有效位字段38。VPT29包含多处理器数据处理系统70(见图7)内使用的每个虚拟地址的条目。对于VPT29内的每个条目,虚拟地址字段36包含一个虚拟地址,物理地址字段37包含虚拟地址字段36内的虚拟地址的对应物理地址,有效位字段38表示特定条目是否有效。如果存储控制器75(见图7)收到其有效位字段38无效的虚拟地址条目的虚拟地址存取请求,则存储控制器75执行以下两个选项之一:

        1.向请求处理器发送例外中断(即,将该存取请求视为错误状态;)或者

        2.利用未使用的物理地址(如果有的话)更新该条目,将有效位字段38设置为有效,并继续处理。

        回到图7,将存储控制器75连接到物理高速缓冲存储器76。物理高速缓冲存储器76包含硬盘104中存储的信息的子集。物理高速缓冲存储器76中存储的信息子集最好为CPU71a-71n中任一CPU最近访问的信息。物理高速缓冲存储器76中各高速缓存线最好包括基于物理地址的标记以及关联数据页面。存储控制器75还管理虚拟地址对相应的物理地址的转换。存储控制器75包括一个VPT高速缓存39和一个物理存储器目录79。VPT高速缓存39存储硬盘104内最近使用的部分VPT29。VPT高速缓存39内的每个条目均是一个VPT条目(与VPT29中最近使用的某个条目相对应)。物理高速缓冲存储器目录79利用众所周知的高速缓冲管理技术,如结合性,相关性,替换等,跟踪物理高速缓冲存储器76。物理高速缓冲存储器目录79中的各条目表示驻留在物理高速缓冲存储器76中的一个或多个物理存储器页面。如果在某个数据页面的虚拟存储器存取请求后物理高速缓冲存储器76中出现“缺页”,则从硬盘104中取出请求的数据页面。同时,基于预定算法或页面请求的提示,从硬盘104中取出其他数据页面。

        配置存储控制器75,以了解VPT29在硬盘104上的位置,并将VPT29的一部分高速缓存到物理高速缓冲存储器76中,并将该子集的一部分高速缓存到存储控制器75内的容量较少的专用VPT高速缓存39中。上述两级VPT高速缓存层次结构,能够防止存储控制器75为获得最近使用的VPT条目而访问物理高速缓冲存储器76。同时,能够防止存储控制器75为获得最近使用的VPT条目的更大缓冲池而访问硬盘104。

        现在参照图9,该图表示用于处理根据本发明的一个优选实施例的多处理器数据处理系统70内的一个处理器的存取请求的方法的高级逻辑流程图。响应处理器的虚拟存储器存取请求,确定存取请求的请求虚拟地址是否驻留在与该处理器关联的别名表中,如框80所示。如果请求的虚拟地址驻留在与该处理器关联的别名表中,则从与该处理器关联的别名表中选择主虚拟地址,如框81所示。否则,如果请求的虚拟地址没有驻留在与该处理器关联的别名表中,则将请求的虚拟地址直接传送给高速缓冲存储器。接着,确定存取请求的请求数据是否驻留在与该处理器关联的高速缓冲存储器中,如框82所示。如果存取请求的请求数据驻留在与该处理器关联的高速缓冲存储器中,则将请求的数据从关联的高速缓冲存储器中发送到该处理器,如框99所示。否则,如果请求的数据没有驻留在与该处理器关联的高速缓冲存储器中,则将请求的数据的虚拟地址转发到诸如图7所示的存储控制器75之类的存储控制器,如框83所示。然后确定请求的数据的虚拟页面地址是否驻留在诸如图7所示的VPT高速缓存39之类的VPT高速缓存中,如框84所示。

        如果请求数据的虚拟页面地址驻留在VPT高速缓存中,则将虚拟地址转换为对应的物理地址,如框85所示。然后确定请求页面是否驻留在诸如图7所示的物理高速缓冲存储器76之类的物理高速缓冲存储器中,如框86所示。如果请求页面驻留在物理高速缓冲存储器中,则将请求的数据从物理高速缓冲存储器发送到该处理器,如框99所示。否则,如果请求页面没有驻留物理高速缓冲存储器中,则在物理高速缓冲存储器中选择一个“牺牲”页面,以替换为包含请求数据的数据页面,如框87所示。然后将“牺牲”页面写回到诸如图7所示的硬盘104之类的硬盘上,如框88所示。从硬盘上取出请求数据页面,如框89所示。利用请求数据页面更新物理高速缓冲存储器,如框98所示,随后将请求数据页面发送到该处理器,如框99所示。

        如果请求数据页面的虚拟地址没有驻留在VPT高速缓存中,则在VPT高速缓存中选择一个“牺牲”VPT条目(VPE),如框65所示。然后将“牺牲”VPE写回到硬盘上,前提是存储控制器已经修改了该条目,如框66所示。从诸如图7所示的VPT29之类的硬盘内的VPT中取出所需的VPE,如框67所示。利用所需的VPE更新VPT高速缓存,如框68所示,然后该处理返回到框84。

        IV.存储访问请求限定符

        现在参照图10,该图表示根据本发明的一个优选实施例的处理器的虚拟存储器存取请求格式的框图。处理器向诸如图2所示的存储控制器25,图4所示的存储控制器45或图7所示的存储控制器75之类的存储控制器发送虚拟存储器存取请求。正如图10所示,虚拟存储器存取请求90包含五个字段,即,虚拟地址字段91,非解除分配字段92,不分配字段93,预取标识符字段94,以及预取页数字段95??梢允褂糜没Ъ兜挠τ萌砑宰侄?2-95的数值进行编程。从而允许应用软件向管理“虚拟”存储器的存储控制器传送“提示”。

        虚拟地址字段91包含处理器请求的数据或指令的虚拟地址。其长度最好为1比特的非解除分配字段92包含一个标识符,后者涉及是否解除分配诸如图2所示的物理高速缓冲存储器25,图4所示的物理高速缓冲存储器46,或图7所示的物理高速缓冲存储器76之类的物理高速缓冲存储器中的数据。物理高速缓冲存储器内的各目录条目具有与非解除分配字段92中的数据位类似的非解除分配位。利用存取请求90设置或复位物理高速缓冲存储器中的目录条目内的非解除分配位。在由于加电而首次收到处理器对某个地址的存取请求后,如果非解除分配字段92中的数据位为逻辑“1”,则存储控制器从硬盘上读取请求的数据。然后存储控制器将请求的数据写到物理高速缓冲存储器中,并且在存储控制器更新有关物理高速缓冲存储器目录条目时,设置非解除分配字段中的数据位。当物理高速缓冲存储器中后续出现“缺页”时,存储控制器的高速缓存替换模式检查可能替换选项的目录条目中的非解除分配字段的数据位。从替换选项中去除其非解除分配字段之数据位为逻辑“1”的可能牺牲页面。因此,在物理高速缓冲存储器中强行保留其相应非解除分配字段之数据位为逻辑“1”的高速缓存线,直至收到将高速缓存线的非解除分配字段之数据位复位成逻辑“0”的后续高速缓冲线存取请求。

        不分配字段93,预取标识符字段94以及预取页数字段95为可选提示位字段。提示位字段允许存储控制器在处理请求的数据后执行某些操作,如预取操作。不分配字段93包含一个比特,表示请求处理器是否只需存取请求的数据一次,因此无需利用物理高速缓冲存储器存储请求的数据。预取字段94包含一个比特,表示是否需要预取操作。如果已经设置预取字段94的数据位,则将预取请求的数据之后的多个连续数据。预取页数字段95包含需要预取页数。

        V.VPT中断

        在图7所示的多处理器数据处理系统70中,如果所需的VPE没有驻留在物理高速缓冲存储器76中,或者请求的物理页面不在物理高速缓冲存储器76中,则存储控制器75需要访问硬盘104,以取出请求的数据和/或VPE。访问硬盘104需要的时间比访问物理高速缓冲存储器76所需的时间要长。由于应用软件进程并不了解由此引起的访问等待时间,所以最好由存储控制器75通知操作系统满足该数据请求需要执行盘访问,从而操作系统能够保存当前的进程状态,然后切换到不同进程。

        在收集请求处理器请求的数据的位置信息之后,存储控制器75编辑VPT中断数据包。通过使用图7所示的实施例作为示例,可以将多处理器数据处理系统70的存储区域划分为三个区域,即,区域1,区域2和区域3。区域1最好包括与请求处理器无关的所有同级高速缓冲存储器。例如,如果请求处理器为CPU71a,则同级高速缓冲存储器包括高速缓存72b-72n。区域2包括诸如图7所示的物理高速缓冲存储器76之类的所有物理高速缓冲存储器。区域3包括诸如硬盘29之类的所有物理存储器。区域1中的存储设备的存取时间大约为100ns,区域2中的存储设备的存取时间大约为200ns,区域3中的存储设备的存取时间大约为1ms或更长。

        在存储控制器75确定请求的数据的区域位置后,存储控制器75编辑VPT中断数据包,并将其发送到请求处理器。利用总线标记内的处理器标识符(ID)确定请求数据的请求处理器。

        现在参照图11,该图表示根据本发明的一个优选实施例向请求处理器发送的中断数据包的框图。如图所示,中断数据包100包括地址字段101,标记字段102和区域字段103-105。中断数据包100为其地址字段101为引起中断之存取请求的虚拟地址的特殊事务类型的总线。总线标记102与引起中断的存取请求使用的标记相同。区域字段103-105之每个字段的长度最好为1比特,用于表示请求的数据的位置。例如,如果请求的数据位于物理高速缓冲存储器76中,则设置区域2字段104中的数据位,而不设置区域字段103和105中的数据位。同样,如果请求的数据在硬盘104中,则设置区域3字段105中的数据位,而不设置区域字段103和104中的数据位。因此,请求处理器能够识别中断数据包,并找出请求的数据的位置。

        在收到VPT中断数据包后,请求处理器比较VPT中断数据包中的虚拟地址与所有未完成的加载/存储操作的虚拟地址。如果发现匹配,则处理器可以选择生成一个中断以保存当前进程状态,并且在从硬盘104中取出请求的VPE条目和/或有关数据页面时,切换到另一个进程。

        为了获得更精致的实现,各CPU71a-71n均包括一组区域位置(zoneslot)。例如,在图7中,CPU71a包括区域位置集合5a,CPU71b包括区域位置集合5b,CPU71n包括区域位置集合5n。各区域位置集合中的区域位置数与中断数据包中先前定义的区域字段数一致。例如,中断数据包100具有三个区域字段,意味着各区域位置集合5a-5n具有三个对应区域位置。在收到诸如中断数据包100之类的中断数据包后,请求处理器利用时戳设置对应区域位置。例如,在收到用于CPU71b的中断数据包100(已设置区域字段105的数据位)后,CPU71b利用时戳设置区域位置集合5b的第三个区域位置。同样,CPU71b了解在硬盘104上存储的请求的数据。此时,CPU71b比较以上时戳信息与当前处理信息,以确定是等待请求的数据,还是在从硬盘104中取出请求的VPE条目和/或有关数据页面的同时保存当前进程的状态并切换到另一个进程,因为在获得请求的数据之前大约需要等待1ms。如果在获得请求的数据之前完成上述另一个进程,则CPU72b可以再次进行此类时间比较,以便再次决策。

        如上所述,本发明提供用于改善能够利用虚拟存储器处理模式之现有数据处理系统的方法。本发明的优点在于无需对直接连接的存储器进行散列处理。如果无需在处理器中进行虚实地址转换,则对上一级高速缓冲存储器的存取会更快。如果处理器中不出现虚实地址转换,则处理器的实现将更简单,因为需要更少的硅区域和更低功耗。借助本发明,物理高速缓冲存储器的高速缓存线的大小,甚至页面大小,对操作系统都是不可见的。

        同时,本发明解决了与利用操作系统的虚拟存储器管理(VMM)来管理虚拟存储器有关的问题。本发明的数据处理系统不存在PFT(现有技术定义)。同样,可以大大简化或完全消除操作系统的VMM。

        尽管参照最佳实施例详细说明、描述本发明,但是熟练技术人员可以理解,可以在形式或细节方面做出各种变更,而并不背离本发明的实质和范围。

    关于本文
    本文标题:能够使用虚拟存储器处理模式的数据处理系统.pdf
    链接地址://www.4mum.com.cn/p-6198381.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 幸运分分彩在线精准计划 好运来计划软件 3d跨度走势图带连线南方双彩网 北京快三压大小 时时彩稳赚 大底 定位胆规律 时时彩二星稳赚大底 pk10技巧与实战攻略 河北时时qq群是骗局揭秘 北京pk10定位胆是什么 有优惠活动的彩票平台 澳洲赛车计划软件手机版 pk10不定位34567打法 精准36码中特免费资料 钱升钱平台 黑龙江时时三星走势