CN110945485A - 直接内存地址转换的有效测试 - Google Patents
直接内存地址转换的有效测试 Download PDFInfo
- Publication number
- CN110945485A CN110945485A CN201880048578.0A CN201880048578A CN110945485A CN 110945485 A CN110945485 A CN 110945485A CN 201880048578 A CN201880048578 A CN 201880048578A CN 110945485 A CN110945485 A CN 110945485A
- Authority
- CN
- China
- Prior art keywords
- translation
- integrated circuit
- entry
- processing unit
- entries
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
- G06F11/2635—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed DMA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Memory System (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
一种电路和方法提供了对诸如链路处理单元之类的集成电路中地址转换的有效压力测试。随机DMA模式(RDM)电路提供随机输入,以索引到转换验证表(TVT)中,该转换验证表用于生成实存储器地址。RDM电路允许测试TVT的所有条目,从而测试所有DMA模式,而不管链路处理单元连接了什么总线代理。RDM电路可以使用多路复用器在运行时输入和由随机位发生器提供的随机测试输入之间进行选择。当链接处理单元处于测试模式时,会置位模式选择位以选择随机测试输入。
Description
技术领域
本公开总体上涉及测试直接存储器地址转换,并且更具体地涉及在集成电路中,例如在一个或多个处理器与图形处理单元之间的高速通信链路中的直接存储器访问转换的有效测试。
背景技术
集成电路测试工具试图为集成电路生成最彻底和最有压力的的测试用例。从理论上讲,生成的测试用例应提供最大的测试覆盖范围,并应能够强调各种时序方案和集成电路上的操作。测试可以在开发和生产期间执行。建立测试用例以彻底测试复杂的集成电路可能会花费大量时间和资源。建立有效的测试代码是集成电路测试的重要目标。
直接存储器访问(DMA)是计算机系统的一项功能,它允许硬件子系统访问独立于中央处理单元(CPU)的主系统存储器。在某些高速系统中,链路处理单元用于在芯片之间或芯片的一部分之间互连,以在芯片之间提供DMA,同时确保存储器一致性。此链接处理单元的示例用法是将CPU芯片连接到图形处理单元(GPU)芯片集群。CPU和GPU集群能够一致地读取和写入彼此的内存。GPU可以使用非缓存(DMA)读写来在GPU内存和CPU内存之间进行高带宽数据移动。
发明内容
一种电路和方法在诸如链路处理单元的集成电路中提供有效的压力测试地址转换。随机DMA模式(RDM)电路提供随机输入,以索引到转换验证表(TVT)中,该转换验证表用于生成实存储器地址。在示出的示例中,到表中的输入通常是与连接到系统的特定总线代理相对应的可分区端点号(PE#)。RDM电路允许测试TVT的所有条目,从而测试所有DMA模式,而不管链路处理单元连接了什么总线代理。RDM电路可以使用多路复用器在运行时输入和由随机位发生器提供的随机测试输入之间进行选择。当链接处理单元处于测试模式时,会置位模式选择位以选择随机测试输入。
如附图所示,根据以下更具体的描述,前述和其他特征和优点将变得显而易见。
附图说明
将结合附图描述本公开,其中相同的标号表示相同的元件,并且:
图1是具有链接处理单元的系统的框图,该链接处理单元具有用于在集成电路上有效测试DMA地址转换的随机DMA模式电路;
图2是具有用于有效测试DMA地址转换的随机DMA模式电路的链路处理单元的框图;
图3是图2所示的ATS块的一部分的简化框图,以及用于有效测试DMA地址转换的随机DMA模式电路的具体例子;
图4是图1-3所示的随机DMA模式(RDM)电路的一种实现方式的简化框图;
图5是用于在集成电路上有效测试DMA地址转换的方法的流程图;以及
图6是用于图5中的步骤520的特定方法的流程图。
具体实施方式
本公开和权利要求涉及一种用于在诸如链路处理单元之类的集成电路中对地址转换进行有效压力测试的电路和方法。随机DMA模式(RDM)电路提供随机输入,以索引到转换验证表(TVT)中,该转换验证表用于生成实存储器地址。在示出的示例中,表中的输入通常是与连接到系统的特定总线代理相对应的可分区端点号(PE#)。RDM电路允许测试TVT的所有条目,从而测试所有DMA模式,而不管链路处理单元连接了什么总线代理。RDM电路可以使用多路复用器在运行时输入和由随机位发生器提供的随机测试输入之间进行选择。当链接处理单元处于测试模式时,会置位模式选择位以选择随机测试输入。
图1是具有链路处理单元(LPU)120的系统100的系统框图,该链路处理单元(LPU)120具有随机DMA模式(RDM)电路110,用于通过使用如本文所要求的DMA访问模式来有效地测试DMA地址转换。链接处理单元120提供高速连接,以将一个或多个中央处理单元(CPU)连接到GPU集群。在所示的示例中,单个CPU 114链接到两个GPU 130A、130B,统称为GPU或GPU130。在此示例中,LPU 120和CPU 114集成在一起并驻留在处理器芯片112上。在该示例中,GPU 130驻留在单独的芯片上。备选地,GPU 130可以驻留在处理器芯片112上。所示出的示例包括加载有测试软件118的存储器116。存储器116可以如图所示位于处理器芯片112上或者可以位于芯片外。测试软件118可以如现有技术中已知的那样加载转换表。如下文进一步所述,测试软件测试存储器,而RDM电路110在测试中随机化DMA访问模式,而不管连接了什么代理。
LPU 120的示例是由国际商业机器公司开发的Power9(P9)NV-Link处理单元(NPU)。在本文的示例中,除了本文所述的RDM电路110之外,LPU 120类似于NPU。P9 NV-Link处理单元(NPU)使用NV-LinkTM互连将中央处理单元(CPU)芯片112连接到GPU芯片130的集群。NV-Link TM(以下称为NV-Link)是NVIDIA公司拥有的高速互连架构。NV-Link以很高的数据带宽在芯片之间提供内存缓存一致性。CPU和GPU群集具有一致地读取和写入彼此的内存的能力。GPU可以使用非缓存(DMA)读写来在GPU内存和CPU内存之间进行高带宽数据移动。NPU为处理器的NV-Link提供事务层功能。此功能包括从NV-Link数据链路逻辑接受命令,将其转换为总线命令序列,然后基于总线命令的结果生成响应。响应通过数据链路逻辑发送回NV-Link。支持的命令包括读取、写入、探测和刷新。NPU可以通过NV-Link将相同类型的命令以及升级和降级命令发送到GPU群集。
图2是图1中引入的链路处理单元(LPU)120的简化框图。LPU120的主要块包括三个NPU公共队列块(NPCQ)210A、210B、210C、六个NV-链路事务处理层块(NTL)212A-212F、扩展转换服务块(XTS)214和地址转换块(ATS)216。如上所述,LPU 120包括用于有效测试DMA访问模式的随机DMA模式(RDM)电路110。在该示例中,RDM 110被合并到地址转换块(ATS)216中。当在来自GPU的命令中使用未转换的地址时,ATS 216提供地址重定位和验证。下面参考图3进一步描述RDM电路110和ATS 216的功能。
再次参考图2,LPU 120包括六个NV-link事务层块(NTL)212A-212F,统称为NTL块212。每个NTL块212包括称为砖的单元。每个砖向NV-Link提供单独的命令流,每个砖可以连接到一个或多个外部芯片。对于每个砖,所有订购要求都是独立执行的。LPU 120还包括三个NPU公共队列块(NPCQ)210A、210B、210C,统称为NPCQ210。NPCQ提供三个PowerBus单元接口,在图2中示为218A、218B和218C。每个PowerBus接口都支持两个NV-Link块(NTL块212)。
再次参考图2,LPU 120还包括扩展转换服务块(XTS)214。XTS 214用于支持NV-Link的地址转换服务操作。该块接受来自GPU的地址转换请求,查找必要的转换上下文,并为P9创建转换请求。转换上下文保存在XTS单元的表中。当Nest MMU响应转换请求时,XTS块将创建一个地址转换响应,该响应将通过NV-Link发送到GPU。如现有技术中已知的,XTS块还基于对PowerBus上的TLBie操作的监听来生成地址击落请求。
图3是图2中引入的地址转换块(ATS)216的一部分的简化框图。在此示例中,RDM电路110并入了地址转换块(ATS)216。ATS 216在来自GPU的命令中使用未转换的地址时,可提供地址重定位和验证。OpenPOWER基金会拥有的IO设备体系结构版本2(IODA2)规范中描述了重定位和验证的其他详细信息。ATS 216的转换过程使用总线设备功能(BDF)310和DMA地址312从图3的底部开始,然后进行到顶部以创建系统实地址314。ATS216中的地址转换具有三个基本步骤。在步骤1中,可分配端点号(PE#)318被分配给具有总线设备功能310的从代理(GPU或CPU)接收的DMA地址312的每个地址转换操作。RDM电路110在步骤1中作用在下面进一步描述。步骤2和3以类似于现有技术的方式操作。在步骤2中,PE#318用于索引转换验证表(TVT)320,以查找转换验证条目(TVE)。在步骤3中,使用来自TCE表330的信息,使用TVE和来自DMA地址312的位334,来确定真实地址314。下面将进一步描述这些步骤中的每一个。
再次参考图3,转换地址的过程的步骤1是为每个DMA操作分配可分区的端点号(PE#)。通常,将相同的PE#分配给与总线设备功能(BDF)相关的所有DMA操作。每个DMA操作都有一个或多个关联的代理(GPU或CPU)。总线设备功能(BDF)310指示与当前存储器地址转换操作相对应的一个或多个代理的身份。在引导系统时,通常在硬件发现阶段将BDF 310代表的设备的身份分配给代理。BDF 310用于从PE#配置表(PCT)316中选择将用于访问TVT320的可分区端点号(PE#)。在一个示例中,BDF 310的位用专用的或运算被哈希处理以形成用于索引PCT表316的四位索引。PCT 316为四位宽,具有十六个条目。PCT的每个条目都包含与DMA命令从其接收到的BDF相关的PE#。PCT 316输出一个四位的PE#318A。在正常操作模式下,如下所述,该PE#318A作为PE#318B通过RDM电路110,并提供给TVT进行步骤2。在测试模式下,RDM电路110如下面进一步描述的那样随机地改变PE#318B。
再次参考图3,用于转换地址的过程的步骤2使用PE#318B信号索引到转换验证表(TVT)320中,以查找转换验证条目(TVE)322。在这个具体的示例中,TVT 320是16个条目表,每个PE#都有一个条目。向TVT的输入是来自上述RDM电路110的四位PE#318B信号。TVT 320的输出是转换验证条目(TVE)322。TVE包括指向如下所述的转换控制条目(TCE)表330的指针。在本文描述的示例中,TVT 320中的指针信息包括转换表地址(TTA)、转换控制条目(TCE)树深度、TCE表大小和I/O页面大小。如下文进一步所述,TVE 322的这些字段用于索引到TCE表中。
该过程的步骤2如下继续。解码TVE 322的结果可以是TVE 322无效或TVE 322有效。在TVE 322有效的情况下,状态包括转换是禁用还是启用以及DMA地址是在TCE表范围之内还是之外。TVE中的位指示上述每个条件。TVE 322被发送到验证地址块324。TVE322被验证地址块324用来验证DMA地址落在预定范围内。如果DMA地址超出此范围,则转换操作将失败。如果范围测试通过,则TVE可以指定“无转换”模式326。在这种情况下,DMA地址用作系统存储器地址。如果指定了“转换”模式,则TVE提供用于转换过程的步骤3的TCE表330的基地址。TVE还指定在步骤3中使用的I/O页面大小。
再次参考图3,地址转换过程的步骤3使用来自TVE的基地址和来自DMA地址312的位334根据从转换控制条目(TCE)表330获得的信息创建实存储器地址314。所使用的DMA地址312的位334取决于I/O页面大小。TCE表330包括每个转换的转换控制条目(TCE)。TCE表330中的TCE条目基于I/O页面大小指定代替高阶DMA地址位的真实页号位,以形成真实存储器地址314。TCE表条目还指定对地址允许的访问类型(读和/或写入)。如现有技术中已知的,其他转换模式信息也可以存储在TCE中。ATS 216还包含TCE 332的高速缓存,并在发生高速缓存未命中时执行表搜索操作。
如本文所使用的,转换模式信息是被存储并用于转换DMA地址的信息。在所示的示例中,如上所述,转换模式信息包括TCE表300中的信息和TVT 320中的指针信息。希望使用转换模式信息在测试LPU 120(图1)的过程中测试DMA地址转换的所有模式。在LPU 120(图1)的测试模式期间,可以向TCE表330加载转换模式信息以测试地址转换的所有模式。如下文进一步所述,RDM电路110允许通过随机选择TVT的条目来测试TVT 320的所有十六个条目的所有模式。如上所述,TVT 320提供用于索引到TCE表330中的指针。模式信息以现有技术中已知的方式通过软件加载到TCE表330中以测试LPU120。例如,TCE表330可以由CPU的操作系统、应用程序或其他某种测试软件来加载。然后,当连接到LPU的单个GPU请求访问具有本文所述的被转换的地址的内存时,即可进行设备转换的测试。验证正确转换的方法可以按照现有技术中已知的适当方式来进行。这可能包括片上错误检测或测试软件检测。
图4是随机DMA模式(RDM)电路110的简化框图。如上所述,RDM电路110输出PE#318B以索引到用于创建实地址314的TVT 320中。图4示出了提供该操作的示例电路。在该示例中,RDM电路110使用具有模式位412的多路复用器410在正常操作模式和测试操作模式之间进行选择。在正常操作模式下,多路复用器410的模式位412选择从PCT 316(图3)提供的PE#318A输入。在测试操作模式中,模式位412选择随机四位信号发生器414的输出。当链路处理单元处于测试模式时,模式位416被认定为从随机四位信号发生器414中选择输入以应用于显示为信号PE#381B的多路复用器410的输出。因此,RDM电路110允许测试TVT的所有条目,而不管什么总线代理被连接到链路处理单元,在该链路处理单元,由随机四位生成器414提供到TVT的输入。可以通过适当的手段为测试模式设置模式位。例如,模式位412可以在集成电路启动期间由基本输入/输出系统(BIOS)设置。
参考图5,方法500示出了用于在诸如链路处理单元之类的集成电路中对地址转换进行有效压力测试的一个合适示例。方法500优选地由图1中的LPU 120和图4中所示的随机模式电路110以及由图1中所示的测试软件118执行。首先,用具有针对所有代理的所有转换模式的转换信息的转换条目加载转换表。(步骤510)。然后,在测试DMA转换的同时使用单个代理(GPU)通过随机选择转换表的条目来测试所有转换条目,而不管连接了什么代理(步骤520)。然后完成该方法。
图6示出了一种用于在诸如链路处理单元之类的集成电路中随机选择用于测试DMA转换的转换类型的方法的一个合适示例。因此,方法600示出了用于执行方法500中的步骤520的合适步骤。首先,对多路复用器的输入提供随机信号(步骤610)。使用多路复用器的选择输入来选择要从多路复用器输出的随机信号(步骤620)。将来自多路复用器的随机信号提供给转换表,以在测试期间随机选择转换表的条目(步骤630)。然后完成该方法。
本文的公开内容和权利要求描述了一种用于在具有随机DMA模式(RDM)电路的集成电路中对地址转换进行有效压力测试的电路和方法,该随机DMA模式(RDM)电路提供随机输入以索引到转换验证表中。RDM电路允许测试转换验证表的所有条目,从而测试所有DMA模式,而不管连接了什么总线代理以更有效地测试集成电路。
本领域的技术人员将理解,在权利要求的范围内许多变化是可能的。因此,尽管以上具体地示出和描述了本公开,但是本领域技术人员将理解,在不脱离权利要求的精神和范围的情况下,可以在形式和细节上进行这些和其他改变。
Claims (20)
1.一种集成电路,包括:
第一转换表,包括多个转换条目,其中所述多个转换条目中的每一个包含转换信息,以转换用于连接到所述集成电路的多个代理中的一个的直接存储器访问(DMA)地址;以及
随机DMA模式(RDM)电路,该电路在测试模式期间在所述第一转换表中随机选择转换控制条目,以选择所述转换控制条目表中的所有所述多个条目。
2.如权利要求1所述的集成电路,其中,当仅单个代理连接到所述集成电路时,所述RDM电路从所述第一转换表中的所有所述转换中随机选择。
3.如权利要求1所述的集成电路,其中,所述RDM电路包括:
连接到多路复用器指定输入的随机发生器信号;
选择所述指定输入的所述多路复用器的选择输入;以及
在所述测试模式期间将所述随机发生器信号提供给所述转换表的所述多路复用器的输出,以在测试期间随机选择所述转换表的条目。
4.如权利要求1所述的集成电路,其中,所述第一转换表是转换验证表,其包含针对多个代理中的每一个的转换验证条目,所述条目指向转换控制条目表,并且其中,所述RDM电路随机地选择指向所述转换控制条目表中的转换控制条目的转换验证条目。
5.如权利要求4所述的集成电路,其中,所述RDM通过随机选择转换验证条目来随机选择所述转换控制条目。
6.如权利要求5所述的集成电路,其中,在所述第一转换表的每个条目中转换DMA地址的所述信息包括转换表地址、转换控制条目树深度、转换控制条目表大小和输入/输出页面大小。
7.如权利要求1所述的集成电路,其中,所述代理包括中央处理单元和至少一个图形处理单元。
8.如权利要求1所述的集成电路,其中,所述集成电路是链路处理单元的一部分。
9.如权利要求8所述的集成电路,其中,所述链接处理单元被制造在具有中央处理单元的所述集成电路上。
10.一种测试集成电路的计算机实现的方法,该方法包括:
加载具有多个转换条目的第一转换表,其中所述多个转换条目中的每一个包含转换信息,以将用于连接到所述集成电路的多个代理中的一个转换为直接存储器访问(DMA)地址;以及
通过在测试模式下使用连接到所述集成电路的单个代理通过随机选择带有转换信息的所述表的条目来测试所述转换表中的所有所述转换条目,以使用所述单个代理运行多个连续的地址转换测试。
11.如权利要求10所述的方法,还包括:
在多路复用器的输入上提供随机信号;
使用所述多路复用器的选择输入选择所述随机信号;以及
在所述测试模式期间,将来自所述多路复用器的所述随机信号提供给所述转换表,以随机选择所述转换控制条目表的条目。
12.如权利要求11所述的方法,其中,所述随机信号是四比特,并且所述转换表包含十六个条目。
13.如权利要求10所述的方法,其中,所述第一转换表是转换验证表(TVT),其包含针对所述多个代理中的每一个的转换验证条目,所述条目指向转换控制条目表。
14.如权利要求13所述的方法,其中,所述转换验证条目包括转换表地址(TTA)、转换控制条目树深度、转换控制条目表大小和输入/输出页面大小。
15.如权利要求10所述的方法,其中,所述代理包括中央处理单元和至少一个图形处理单元。
16.如权利要求10所述的方法,其中,所述方法被执行为集成电路上的链路处理单元的一部分。
17.如权利要求16所述的方法,其中,所述链接处理单元被制造在具有中央处理单元的所述集成电路上。
18.一种计算机实现的测试集成电路上的链路处理单元的方法,该方法包括:
用多个转换条目加载第一转换表,其中所述多个转换条目中的每一个包含转换信息以将用于连接到集成电路的多个代理中的一个转换为直接存储器访问(DMA)地址,其中,所述代理包括中央处理单元和至少一个图形处理单元;
通过在测试模式下使用连接到所述集成电路的单个代理通过随机选择带有转换信息的所述表的条目来测试所述转换表中的所有所述转换条目,以使用所述单个代理运行多个连续的地址转换测试;
在多路复用器的输入上提供随机信号;
使用所述多路复用器的选择输入来选择所述随机信号;以及
在所述测试模式期间,将来自所述多路复用器的所述随机信号提供给所述转换表,以随机选择所述转换控制条目表的条目。
19.如权利要求18所述的方法,其中,所述转换表是包含针对所述多个代理中的每个代理的转换验证条目的转换验证表(TVT)。
20.如权利要求19所述的方法,其中,为所述TVT的每个条目中的所述模式转换DMA地址的所述信息包括:转换表地址(TTA)、转换控制条目树深度、转换控制条目表大小和输入/输出页面大小。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/675,717 | 2017-08-12 | ||
US15/675,717 US10169185B1 (en) | 2017-08-12 | 2017-08-12 | Efficient testing of direct memory address translation |
PCT/IB2018/055908 WO2019034960A1 (en) | 2017-08-12 | 2018-08-06 | EFFECTIVE TEST OF DIRECT MEMORY ADDRESS TRANSLATION |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110945485A true CN110945485A (zh) | 2020-03-31 |
CN110945485B CN110945485B (zh) | 2023-08-29 |
Family
ID=64739683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880048578.0A Active CN110945485B (zh) | 2017-08-12 | 2018-08-06 | 直接内存地址转换的有效测试 |
Country Status (6)
Country | Link |
---|---|
US (4) | US10169185B1 (zh) |
JP (1) | JP7287947B2 (zh) |
CN (1) | CN110945485B (zh) |
DE (1) | DE112018004144T5 (zh) |
GB (1) | GB2578412B (zh) |
WO (1) | WO2019034960A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10169185B1 (en) * | 2017-08-12 | 2019-01-01 | International Business Machines Corporation | Efficient testing of direct memory address translation |
US11074194B2 (en) | 2019-02-21 | 2021-07-27 | International Business Machines Corporation | Managing direct memory access |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101027653A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 利用覆盖较大地址空间的转换表的地址转换性能增强 |
US20100257334A1 (en) * | 2009-04-02 | 2010-10-07 | Nec Electronics Corporation | Semiconductor integrated circuit, information processing device, and control method for semiconductor integrated circuit |
CN102460403A (zh) * | 2009-06-11 | 2012-05-16 | 飞思卡尔半导体公司 | 用于地址转换的动态和选择性改变的处理器和方法 |
JP2012175789A (ja) * | 2011-02-21 | 2012-09-10 | Fuji Electric Co Ltd | スイッチング電源の制御用半導体装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2882426B2 (ja) * | 1991-03-29 | 1999-04-12 | 株式会社アドバンテスト | アドレス発生装置 |
US7444493B2 (en) | 2004-09-30 | 2008-10-28 | Intel Corporation | Address translation for input/output devices using hierarchical translation tables |
US20060284876A1 (en) * | 2005-06-15 | 2006-12-21 | Low Yun S | Method and apparatus for programming an input/output device over a serial bus |
US20080168208A1 (en) * | 2007-01-09 | 2008-07-10 | International Business Machines Corporation | I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs |
US20120036302A1 (en) | 2010-08-04 | 2012-02-09 | International Business Machines Corporation | Determination of one or more partitionable endpoints affected by an i/o message |
US8386679B2 (en) * | 2011-04-12 | 2013-02-26 | International Business Machines Corporation | Dynamic allocation of a direct memory address window |
US9378150B2 (en) * | 2012-02-28 | 2016-06-28 | Apple Inc. | Memory management unit with prefetch ability |
US9811472B2 (en) | 2012-06-14 | 2017-11-07 | International Business Machines Corporation | Radix table translation of memory |
US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
US9792222B2 (en) | 2014-06-27 | 2017-10-17 | Intel Corporation | Validating virtual address translation by virtual machine monitor utilizing address validation structure to validate tentative guest physical address and aborting based on flag in extended page table requiring an expected guest physical address in the address validation structure |
US10026500B2 (en) * | 2015-11-13 | 2018-07-17 | International Business Machines Corporation | Address translation stimuli generation for post-silicon functional validation |
US10169185B1 (en) * | 2017-08-12 | 2019-01-01 | International Business Machines Corporation | Efficient testing of direct memory address translation |
-
2017
- 2017-08-12 US US15/675,717 patent/US10169185B1/en active Active
- 2017-12-20 US US15/849,597 patent/US10169186B1/en active Active
-
2018
- 2018-08-06 CN CN201880048578.0A patent/CN110945485B/zh active Active
- 2018-08-06 GB GB2002808.0A patent/GB2578412B/en active Active
- 2018-08-06 WO PCT/IB2018/055908 patent/WO2019034960A1/en active Application Filing
- 2018-08-06 JP JP2020506774A patent/JP7287947B2/ja active Active
- 2018-08-06 DE DE112018004144.1T patent/DE112018004144T5/de active Pending
- 2018-09-26 US US16/141,971 patent/US10481991B2/en not_active Expired - Fee Related
- 2018-09-28 US US16/145,981 patent/US10489261B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101027653A (zh) * | 2004-09-30 | 2007-08-29 | 英特尔公司 | 利用覆盖较大地址空间的转换表的地址转换性能增强 |
US20100257334A1 (en) * | 2009-04-02 | 2010-10-07 | Nec Electronics Corporation | Semiconductor integrated circuit, information processing device, and control method for semiconductor integrated circuit |
CN102460403A (zh) * | 2009-06-11 | 2012-05-16 | 飞思卡尔半导体公司 | 用于地址转换的动态和选择性改变的处理器和方法 |
JP2012175789A (ja) * | 2011-02-21 | 2012-09-10 | Fuji Electric Co Ltd | スイッチング電源の制御用半導体装置 |
Also Published As
Publication number | Publication date |
---|---|
US10169185B1 (en) | 2019-01-01 |
GB2578412B (en) | 2020-11-11 |
US20190050315A1 (en) | 2019-02-14 |
JP7287947B2 (ja) | 2023-06-06 |
US10489261B2 (en) | 2019-11-26 |
US20190050314A1 (en) | 2019-02-14 |
GB202002808D0 (en) | 2020-04-15 |
JP2020529683A (ja) | 2020-10-08 |
GB2578412A (en) | 2020-05-06 |
US10169186B1 (en) | 2019-01-01 |
CN110945485B (zh) | 2023-08-29 |
US10481991B2 (en) | 2019-11-19 |
WO2019034960A1 (en) | 2019-02-21 |
DE112018004144T5 (de) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7469273B2 (en) | Multi-processor system verification circuitry | |
CN106663061B (zh) | 用于可编程逻辑的存储器的虚拟化 | |
US6195749B1 (en) | Computer system including a memory access controller for using non-system memory storage resources during system boot time | |
US6212625B1 (en) | General purpose dynamically programmable state engine for executing finite state machines | |
US7797650B2 (en) | System and method for testing SLB and TLB cells during processor design verification and validation | |
US8019566B2 (en) | System and method for efficiently testing cache congruence classes during processor design verification and validation | |
US8099559B2 (en) | System and method for generating fast instruction and data interrupts for processor design verification and validation | |
JP2003296191A (ja) | 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路 | |
US20080159010A1 (en) | Multi-use eFuse Macro | |
JP5473438B2 (ja) | テスト・ケース生成のための方法、情報処理システムおよびコンピュータ・プログラム | |
CN110945485B (zh) | 直接内存地址转换的有效测试 | |
US7571357B2 (en) | Memory wrap test mode using functional read/write buffers | |
US20030046492A1 (en) | Configurable memory array | |
CN100585554C (zh) | 经由私有操作访问控制寄存器的系统和方法 | |
US7594077B2 (en) | System, method and apparatus to accelerate raid operations | |
US20130007768A1 (en) | Atomic operations on multi-socket platforms | |
US7765362B2 (en) | Efficient system bootstrap loading | |
CN111666104B (zh) | 一种支持从RapidI/O启动的DSP处理器设计方法 | |
US7549040B2 (en) | Method and system for caching peripheral component interconnect device expansion read only memory data | |
US10824471B2 (en) | Bus allocation system | |
JPH02232736A (ja) | システムモジュール間のdram制御信号のエラー検査を行なう方法及び手段 | |
JP2021529373A (ja) | システムオンチップにおけるプログラマブル論理マスタのためのハードウェアベースの仮想−物理アドレス変換 | |
CN116820860A (zh) | 处理器及其测试方法 | |
US20090193175A1 (en) | Identification of an onboard memory buffer device from a system address |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |