输入/输出地址到存储器地址的转换制造技术

技术编号:8275222 阅读:202 留言:0更新日期:2013-01-31 12:22
在由适配器发出的请求中提供的地址被转换为可直接用于访问系统存储器的地址。所述地址包括多个位,其中所述多个位包括第一部分位和第二部分位。第二部分位被用于索引到一个或多个地址转换表等级中以执行转换,而所述第一部分位在转换中被忽略。第一部分位被用于验证所述地址。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及在计算环境中转换地址,且特别地,涉及将输入/输出地址转换为可在访问环境的系统存储器中使用的存储器地址。系统存储器可通过读写请求而被访问。这些请求可来自计算环境的各种组件,包括中央处理单元以及适配器。每个请求包括将被用于访问系统存储器的地址。但是,该地址典型地与系统存储器中的物理位置不具有一一对应的关系。因此,执行地址转换。地址转换用于将以不能直接在访问系统存储器时使用的一种形式提供的地址转换为可在访问系统存储器中的物理位置时直接使用的另一种形式。例如,包括在由中央处理单元提供的请求中的虚拟地址被转换为系统存储器中的真实或绝对地址。作为又一个例子,在来自适配器的请求中提供的外围组件互连(PCI)地址可被转换为系统存储器中的绝对地址。 于2008年7月10日公开的美国专利申请公开号2008/0168208A1,Gregg,“I/OAdapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing A TVT Via Unit Ids”描述了一种数据处理系统和隔离系统中的多个1/0适配器的方法。该数据处理系统还包括一组处理器、主桥(host bridge)和连接该组处理器和主桥的系统总线。每个1/0适配器具有各自的ID并发送包括一个或多个1/0适配器的ID的命令到主桥。在优选的实施例中,这些ID是超传输(HyperTransport)定义的单元ID,且由1/0适配器发布的命令包括含有一个或多个1/0适配器的单元ID的单元ID字段。每个单元ID被用于索引TVT以识别唯一的和独立的系统存储器空间。于2009年7月16日公开的美国专利申请公开号2009/0182966Al,Greiner等人,“Dynamic Address Translation with Frame Management” 公开了为计算机系统的机器架构定义的帧管理功能。在一个实施例中,获取帧管理指令,其识别第一和第二通用寄存器。第一通用寄存器包含具有键(key)字段的帧管理字段,所述键字段具有访问保护位和块大小指示。如果块大小指示指示了大块,则从第二通用寄存器获得大数据块的操作数地址。大数据块具有多个小块,每个小块与具有多个存储键访问保护位的对应存储键关联。如果块大小指示指示了大块,则大块中的每个小块的每个对应的存储键的存储键访问保护位被设置为具有键字段的访问保护位。
技术实现思路
通过提供用于转换计算环境中的地址的计算机程序产品,克服了现有技术的缺点,并提供了额外的优点。该计算机程序产品包括计算机可读存储介质,其可被处理电路读取并存储用于由处理电路执行以执行方法的指令。所述方法包括,例如,从适配器获取将被转换的地址,所述地址包括多个位,所述多个位包括第一部分位和第二部分位;接收指示允许的地址范围的地址范围值;使用所述至少第一部分位和接收的地址范围验证(validate)所述地址;并将所述地址转换为可用于访问计算环境中的存储器的存储器地址,所述转换忽略第一部分位并使用第二部分位来从一个或多个等级的地址转换表获取地址以执行转换。在此也描述并要求保护涉及本专利技术的一个或多个方面的方法和系统。通过本专利技术的技术实现了额外的特点和优势。在此将详细描述本专利技术的其他实施例和方面,并且其被认为是要求保护的本专利技术的一部分。附图说明特别指出了本专利技术的一个或多个方面,并将其作为说明书结尾处的权利要求中的例子而要求保护。本专利技术的前述和其他目标、特点和优势将从以下结合附图的详细描述变得明显,在附图中图I示出了包含并使用本专利技术的一个或多个方面的计算环境的一个实施例; 图2示出了根据本专利技术的一方面的图I的系统存储器和I/o集线器(hub)的进一步细节的一个实施例;图3A示出了根据本专利技术的一方面的注册用于适配器的DMA (直接存储器访问)地址空间的逻辑的概况的一个实施例;图3B示出了根据本专利技术的一方面的注册用于适配器的DMA地址空间的各种细节的一个实施例;图4示出了根据本专利技术的一方面的处理DMA操作的逻辑的一个实施例;图5A示出了当整个地址被用于索引到地址转换表中以转换地址并访问页时使用的转换等级的一个例子;图5B示出了根据本专利技术的一方面,当索引到地址转换表中时忽略一部分地址时使用的转换等级的一个例子;图5C示出了根据本专利技术的一个或多个方面的各种可用的CPU DAT兼容格式的例子;图示出了根据本专利技术的一个或多个方面的各种可用的I/O扩展地址转换的例子;图6A示出了根据本专利技术的一方面而使用的修改PCI功能控制指令的一个实施例;图6B示出了根据本专利技术的一方面的由图6A的修改PCI功能控制指令使用的字段的一个实施例;图6C示出了根据本专利技术的一方面的由图6A的修改PCI功能控制指令使用的另一个字段的一个实施例;图6D示出了根据本专利技术的一方面而使用的功能信息块(FIB)的内容的一个实施例;图7示出了根据本专利技术的一方面的修改PCI功能控制的逻辑的概况的一个实施例;图8示出了根据本专利技术的一方面,与由修改PCI功能控制指令指定的注册I/O地址转换参数操作有关的逻辑的一个实施例;图9示出了根据本专利技术的一方面,与由修改PCI功能控制指令指定的注销I/O地址转换参数操作有关的逻辑的一个实施例;图10示出了包含本专利技术的一个或多个方面的计算机程序产品的一个实施例;图11示出了包含并使用本专利技术的一个或多个方面的主计算机系统的一个实施例;图12示出了包含并使用本专利技术的一个或多个方面的计算机系统的进一步的例子;图13示出了包括包含并使用本专利技术的一个或多个方面的计算机网络的计算机系统的另一个例子;图14示出了包含并使用本专利技术的一个或多个方面的计算机系统的各种元件的一个实施例;图15A示出了包含并使用本专利技术的一个或多个方面的图14的计算机系统的执行单元的一个实施例;图15B示出了包含并使用本专利技术的一个或多个方面的图14的计算机系统的分支单元的一个实施例;图15C示出了包含并使用本专利技术的一个或多个方面的图14的计算机系统的加载/存储单元的一个实施例;以及图16示出了包含并使用本专利技术的一个或多个方面的仿真的主计算机系统的一个实施例。具体实施例方式根据本专利技术的一方面,提供了在计算环境中转换地址的能力。在一个例子中,被转换的地址是由适配器提供的地址(在此被称为输入/输出(I/o)地址),其将被转换为可在访问系统存储器时使用的地址。为了执行地址转换,使用了若干地址转换等级,且等级的数量是基于例如被分配给适配器的存储器地址空间的大小、在转换中使用的一个或多个地址转换表的大小以及/或将被访问的页(或其他存储器单元)的大小。被转换的地址包括多个位,且在一个实施例中,仅这些位的一部分被用于索引到地址转换表中以获得转换后的地址。其余的位在转换时被忽略。例如,所述地址包括高阶位(high order bit)和低阶位(low order bit)(基于分配的地址空间的大小)。在该例子中,低阶位被用于索引到地址转换表(包括页表)中,并索引到页本身中。高阶位(不管其值,即,零或非零)在转换时被忽略且不被用于索引到地址转换表中。这减少了用于转换的地址转换表的等级数量。(低阶和高阶位的指示与位如何被本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:D·克拉多克T·格雷格D·格雷纳E·N·莱丝
申请(专利权)人:国际商业机器公司
类型:
国别省市:

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

1