CN110945485B - 直接内存地址转换的有效测试 - Google Patents

直接内存地址转换的有效测试 Download PDF

Info

Publication number
CN110945485B
CN110945485B CN201880048578.0A CN201880048578A CN110945485B CN 110945485 B CN110945485 B CN 110945485B CN 201880048578 A CN201880048578 A CN 201880048578A CN 110945485 B CN110945485 B CN 110945485B
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.)
Active
Application number
CN201880048578.0A
Other languages
English (en)
Other versions
CN110945485A (zh
Inventor
S·卡普尔
M·杜莎娜普迪
N·吴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110945485A publication Critical patent/CN110945485A/zh
Application granted granted Critical
Publication of CN110945485B publication Critical patent/CN110945485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2221Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability 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所述的方法,其中,所述转换验证条目包括:转换表地址TTA、转换控制条目树深度、转换控制条目表大小和输入/输出页面大小。
CN201880048578.0A 2017-08-12 2018-08-06 直接内存地址转换的有效测试 Active CN110945485B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/675,717 US10169185B1 (en) 2017-08-12 2017-08-12 Efficient testing of direct memory address translation
US15/675,717 2017-08-12
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 CN110945485A (zh) 2020-03-31
CN110945485B true 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)

* Cited by examiner, † Cited by third party
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027653A (zh) * 2004-09-30 2007-08-29 英特尔公司 利用覆盖较大地址空间的转换表的地址转换性能增强
CN102460403A (zh) * 2009-06-11 2012-05-16 飞思卡尔半导体公司 用于地址转换的动态和选择性改变的处理器和方法
JP2012175789A (ja) * 2011-02-21 2012-09-10 Fuji Electric Co Ltd スイッチング電源の制御用半導体装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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
JP2010244165A (ja) * 2009-04-02 2010-10-28 Renesas Electronics Corp 半導体集積回路、及び半導体集積回路の制御方法
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027653A (zh) * 2004-09-30 2007-08-29 英特尔公司 利用覆盖较大地址空间的转换表的地址转换性能增强
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
US10169186B1 (en) 2019-01-01
US20190050315A1 (en) 2019-02-14
GB202002808D0 (en) 2020-04-15
GB2578412B (en) 2020-11-11
US20190050314A1 (en) 2019-02-14
GB2578412A (en) 2020-05-06
JP7287947B2 (ja) 2023-06-06
JP2020529683A (ja) 2020-10-08
US10489261B2 (en) 2019-11-26
WO2019034960A1 (en) 2019-02-21
DE112018004144T5 (de) 2020-04-23
US10169185B1 (en) 2019-01-01
US10481991B2 (en) 2019-11-19
CN110945485A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
US7992059B2 (en) System and method for testing a large memory area during processor design verification and validation
US7469273B2 (en) Multi-processor system verification circuitry
CN114546405B (zh) 用于使用统一中间表示来处理图形的方法和系统
CN102648453B (zh) 存储器初始化的方法和装置
US8954721B2 (en) Multi-chip initialization using a parallel firmware boot process
US7797650B2 (en) System and method for testing SLB and TLB cells during processor design verification and validation
US8570333B2 (en) Method and system for enabling managed code-based application program to access graphics processing unit
US7584394B2 (en) System and method for pseudo-random test pattern memory allocation for processor design verification and validation
US20060253749A1 (en) Real-time memory verification in a high-availability system
US8099559B2 (en) System and method for generating fast instruction and data interrupts for processor design verification and validation
US20090070532A1 (en) System and Method for Efficiently Testing Cache Congruence Classes During Processor Design Verification and Validation
CN113167831A (zh) 在已部署的汽车平台上执行自测的测试系统
US20090024886A1 (en) System and Method for Predicting lwarx and stwcx Instructions in Test Pattern Generation and Simulation for Processor Design Verification and Validation
US8436862B2 (en) Method and system for enabling managed code-based application program to access graphics processing unit
JP2007149116A (ja) クラスタ化マルチプロセッサシステム内でアプリケーションプロセッサの実行を開始する方法および装置
US8006221B2 (en) System and method for testing multiple processor modes for processor design verification and validation
US20080159010A1 (en) Multi-use eFuse Macro
CN110945485B (zh) 直接内存地址转换的有效测试
US7571357B2 (en) Memory wrap test mode using functional read/write buffers
KR101054231B1 (ko) 캐시/tlb 간섭 및 진단 테스트를 위한 경량, 고수율의 테스트 케이스 생성 방법
US20080065858A1 (en) System, Method and Apparatus to Accelerate Raid Operations
US5894563A (en) Method and apparatus for providing a PCI bridge between multiple PCI environments
US7765362B2 (en) Efficient system bootstrap loading
Jone et al. An efficient BIST method for distributed small buffers
CN111666104A (zh) 一种支持从RapidO启动的DSP处理器设计方法

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