可编程的内存传输请求处理单元制造技术

技术编号:17885232 阅读:64 留言:0更新日期:2018-05-06 05:29
一种包括可编程内存传输请求处理(PMTRP)单元(120)和可编程直接内存访问(PDMA)单元(140)的装置(100)。该PMTRP单元(120)包括至少一个可编程区域说明符(123),该PDMA单元(140)包括至少一个可编程的内存到内存传输控制说明符(148、149、150)。该PDMA单元(140)可向PMTRP单元(120)发送(143)内存传输请求。该PMTRP单元(120)可接收(134)并成功处理通过PDMA单元(120)发出的、寻址到与该PMTRP单元(120)的至少一个区域说明符(123)中至少一个的一部分相关的内存位置的内存传输请求。

Programmable memory transfer request processing unit

A device including a programmable memory transmission request processing (PMTRP) unit (120) and a programmable direct memory access (PDMA) unit (140) (100). The PMTRP unit (120) includes at least one programmable region descriptor (123), and the PDMA unit (140) includes at least one programmable memory to memory transfer control descriptor (148, 149, 150). The PDMA unit (140) can send (143) the memory transmission request to the PMTRP unit (120). The PMTRP unit (120) may receive (134) and successfully process a memory transfer request sent by the PDMA unit (120) to a portion of the memory location associated with at least one of the at least one region descriptor (123) of the PMTRP unit (120).

【技术实现步骤摘要】
【国外来华专利技术】可编程的内存传输请求处理单元
本专利技术涉及但不限于所谓的内存保护单元、内存管理单元、指令缓存、数据缓存和以转换后备缓冲器形式用于内存管理单元的缓存的实施和使用。本专利技术的各实施例可适用于很多32位和64位处理器环境,包括但不限于对实时、安全性和安全关键性网络物理计算环境以及资源高度受限的计算环境。
技术介绍
本说明书中对公开文件的引用不应视为将该文件的内容作为本说明书中技术人员公知常识的一部分。[1]、[2]和[3]中公开了内存管理架构的示例。用于说明各种内存保护单元(MPU)和内存管理单元(MMU)技术架构的技术术语定义有时会相互矛盾。整个说明书(包括权利要求书)中:·“包括”和“包含”用于说明存在该特征、整体、步骤或部件,但不排除存在或增加一个或多个其他特征、整体、步骤或部件。·与内存控制器(例如,图1中的115)耦合的内存存储器(例如,图1中的118)可视为较高抽象层面上的内存存储器。·外围设备(例如,图1中的网络控制器105)可以或可以不(例如,密码加速器模块)具有外部I/O引脚。外围设备包括至少一个互连接口,其中每个互连接口是互连主机或互连目标端口。·总线是互连形式;交叉开关是互连形式。·内存到内存直接内存访问(M2MDMA)单元(例如,图1中的140)是专门优化的可编程硬件电路,用于通过一个或多个互连主端口(例如,图1中的143和144)发出内存传输请求,以便读取存储于一个内存单元中的内存值并将该值写入不同的内存单元。M2MDMA是受不同主设备(例如,图1中的110或194)控制的从属设备。众所周知,此类M2MDMA单元的一个示例有Intel8237A。M2MDMA单元还具有与内存移动相关的其他功能,例如,从内存存储器中读取连续的内存单元,并将每个数据字写入内存映射的外围设备的相同地址中。M2MDMA单元可视为可编程的直接内存访问(PDMA)单元。·内存保护单元(MPU)可接收与输入地址空间相关联的内存传输请求,且响应地生成与输出地址空间相关联的内存传输请求。MPU的特征在于:(a)访问控制可应用于输入地址空间的一个或多个区域;(b)MPU总是在输入地址空间中的内存传输请求地址与输出地址空间中对应的内存传输请求地址之间进行标识转换。显然,一些MPU架构可支持在运行时,将两个或多个区域说明符映射到输入地址空间的相同连续区域。·内存管理单元(MMU)可接收与输入地址空间相关联的内存传输请求,且响应地生成与输出地址空间相关联的相应内存传输请求。MMU的特征在于:(a)可将访问控制应用于输入地址空间的一个或多个区域;(b)MMU适用于将与输入地址空间相关联的内存传输请求地址和输出地址空间中对应的内存传输请求地址进行转换。·格式正确的内存传输请求是指针对内存传输请求,可正确满足相关互连协议要求的任何内存传输请求。接收到格式正确的内存传输请求意味着请求未出现问题,且请求在传输过程中未受到破坏。说明内存管理技术的众多出版物中,“虚拟地址空间”可映射到“物理地址空间”。若通用处理器上运行的软件具有单级地址转换装置(该装置用于给定计算机构架中),则该术语具有明确定义。本说明书所使用的术语是“输入地址空间”映射到“转换地址空间”。若计算机构架具有两层或多层地址转换装置,则第二个术语可统一用于每一级内存地址转换装置;也可统一用于可接收通用处理器、图形处理器和其他类型的互连主设备外围设备中内存传输请求的内存地址转换装置。整个说明书(包括权利要求书)中,页、页说明符、帧、段、段说明符和范围说明符的定义如下:·长度为N字节的“帧”定义了转换地址空间中的连续内存区域,该转换地址空间的长度为N字节,始于N字节边界;·长度为N字节的“页”定义了输入地址空间中的连续内存区域,该地址空间的长度为N字节,始于N字节边界。“页说明符”可说明与输入地址空间相关联的一页内存。输入地址空间中的一页内存可映射到转换地址空间中的一帧内存。·长度为N字节的“段”定义了输入地址空间中的连续内存区域,该地址空间的长度为N字节,始于O字节边界。段的分配部分长度可小于N字节,也可始于该段内的地址偏移。术语“可变长度段”是指段的分配端口长度可变。段的分配部分可映射到转换地址空间中P字节边界上的连续内存区域。O和P值也可不同;N、O和P值之间的关系可根据分段方案实施细节而变化。实际上,一些计算机构架可采用硬件中的装置,以防止两个可编程段的分配部分在输入地址空间中重叠。正确操作其他计算机构架可能需要执行软件,以确保运行时两个可编程段的分配部分在输入地址空间中不重叠。“段说明符”说明了与输入地址空间相关联的一段内存。·长度为N字节的“范围说明符”定义了输入地址空间中的连续内存区域,该区域长度为N字节。范围可通过下限地址和上限地址,或下限地址和范围长度来定义。若给定范围说明符中未启用可编程地址转换,则可使用标识转换将输入地址空间范围映射到输出地址空间中的连续内存区域。范围说明符可始于和止于输入地址空间中的精细粒度边界(例如,64字节粒度)。或者,范围说明符可始于和止于输入地址空间中的粗粒度边界(例如,千字节粒度)。市场上现成MPU的实施通常明确允许两个或多个范围说明符(其中此类范围说明符不具有可编程地址转换能力)与输入地址空间中的重叠内存区域相关联。整个说明书(包括权利要求书)中,缓存行、缓存块、缓存子块和缓存标签的定义如下:·“缓存行”是连续内存区域。习惯上,通用计算机构架中,缓存行的长度范围为8字节到32字节。原则上,缓存行的长度可等于页或段的最大长度。每个缓存行均与一个缓存标签相关;缓存行中,“缓存标签”可存储关于缓存行的元数据。该元数据可包括但不限于其在输入地址空间中的地址和/或在转换地址空间中的地址以及缓存状态。·“缓存块”是细分为缓存子块的连续内存区域。习惯上,通用计算机构架中,缓存块由2到4个缓存子块组成;习惯上,通用计算机构架中,缓存子块的长度范围为8字节到32字节。每个缓存块均与一个缓存标签相关;缓存块中,缓存标签可存储关于缓存块的元数据。该元数据可包括但不限于其在输入地址空间中的地址和/或在转换地址空间中的地址以及缓存子块的状态。整个说明书(包括权利要求书)中,“可编程内存传输请求处理”(PMTRP)单元和“区域说明符”的定义如下:·PMTRP单元可根据各策略来接收和处理内存传输请求,其中每个内存传输请求与特定地址空间相关联,且每个地址空间与该PMTRP单元执行的特定策略相关联。“区域说明符”可用于将各策略与特定地址空间的特定区域关联,该特定区域与特定PMTRP单元示例相关。例如:o区域说明符可以或可以不适用于一个或多个访问控制字段;o区域说明符可以或可以不适用于一个或多个地址转换字段;且o区域说明符可以或可以不适用于修改内存子系统默认行为的字段,该内存子系统可接收通过PMTRP单元发出的内存传输请求(例如,通过调整缓存写入策略和/或内存时序策略)。·与区域说明符关联的地址空间区域:o关于地址空间中所有潜在基础地址偏移的特定子集,可以或可以不受限制;且o关于所有潜在区域长度的特定子集,可以或可以不受限制。因此,“区域说明符”的字段可执行各说明符,包括但不限于:页说明符、段说明符、转换后备缓冲器说明符、范围说明符、不带编程地址转本文档来自技高网...
可编程的内存传输请求处理单元

【技术保护点】
一种装置,包括:可编程内存传输请求处理(PMTRP)单元,包括:第一端口,即目标端口,可:接收与第一地址空间相关的内存传输请求;发送相应的内存传输响应;可编程配置数据,其中该可编程配置数据包括:至少一个区域说明符,该区域说明符可对与该第一地址空间区域相关的至少一个策略进行编码,其中:对于至少一个区域说明符中的每一个,该区域说明符的类型可选自以下7种类型:具有固定长度页面的页说明符;具有可变长度页面的页说明符;段说明符;转换后备缓冲区说明符;范围说明符;适用可编程内存地址转换策略的范围说明符;缓存标记说明符;第二端口,即主端口,可:发送与第二地址空间相关的内存传输请求;接收对应的内存传输响应;在处理过程中,根据与可编程配置数据中编码的第一地址空间相关的至少一个策略,来处理与第一端口上接收到的与第一地址空间相关的内存传输请求的装置;在处理过程中,根据与可编程配置数据中编码的第一地址空间相关的至少一个策略,响应与第一端口上接收到的第一地址空间相关的内存传输请求,在第二端口上生成并发送与第二地址空间相关的内存传输请求的装置;第三端口,即目标端口,可:接收与访问一部分可编程配置数据的第三地址空间相关的内存传输请求;发送相应的内存传输响应;处理第三端口上接收到的格式正确的内存传输请求的装置,该内存传输请求可寻址到第三地址空间中与至少一个区域说明符中至少一个的一部分相关的内存位置;可编程直接内存访问(PDMA)单元,包括:第一端口,即目标端口,可:接收内存传输请求以控制PDMA单元;发送相应的内存传输响应;第二端口,即主端口,可:发送内存传输请求;接收对应的内存传输响应;可编程配置数据,包括:至少一个内存到内存传输控制说明符,该说明符可说明内存到内存传输操作;使用第二端口和至少一个内存至内存传输控制说明符,来处理内存至内存传输操作的装置;其中:该PDMA单元可将内存传输请求从第二端口发送到PMTRP单元的第三端口;该PMTRP单元可接收并成功地处理该PDMA单元的第二端口上发出的格式正确的内存传输请求,该内存传输请求可寻址到第三地址空间中与该PMTRP单元的至少一个区域说明符中至少一个的一部分相关的内存位置。...

【技术特征摘要】
【国外来华专利技术】2015.04.07 AU 20159012471.一种装置,包括:可编程内存传输请求处理(PMTRP)单元,包括:第一端口,即目标端口,可:接收与第一地址空间相关的内存传输请求;发送相应的内存传输响应;可编程配置数据,其中该可编程配置数据包括:至少一个区域说明符,该区域说明符可对与该第一地址空间区域相关的至少一个策略进行编码,其中:对于至少一个区域说明符中的每一个,该区域说明符的类型可选自以下7种类型:具有固定长度页面的页说明符;具有可变长度页面的页说明符;段说明符;转换后备缓冲区说明符;范围说明符;适用可编程内存地址转换策略的范围说明符;缓存标记说明符;第二端口,即主端口,可:发送与第二地址空间相关的内存传输请求;接收对应的内存传输响应;在处理过程中,根据与可编程配置数据中编码的第一地址空间相关的至少一个策略,来处理与第一端口上接收到的与第一地址空间相关的内存传输请求的装置;在处理过程中,根据与可编程配置数据中编码的第一地址空间相关的至少一个策略,响应与第一端口上接收到的第一地址空间相关的内存传输请求,在第二端口上生成并发送与第二地址空间相关的内存传输请求的装置;第三端口,即目标端口,可:接收与访问一部分可编程配置数据的第三地址空间相关的内存传输请求;发送相应的内存传输响应;处理第三端口上接收到的格式正确的内存传输请求的装置,该内存传输请求可寻址到第三地址空间中与至少一个区域说明符中至少一个的一部分相关的内存位置;可编程直接内存访问(PDMA)单元,包括:第一端口,即目标端口,可:接收内存传输请求以控制PDMA单元;发送相应的内存传输响应;第二端口,即主端口,可:发送内存传输请求;接收对应的内存传输响应;可编程配置数据,包括:至少一个内存到内存传输控制说明符,该说明符可说明内存到内存传输操作;使用第二端口和至少一个内存至内存传输控制说明符,来处理内存至内存传输操作的装置;其中:该PDMA单元可将内存传输请求从第二端口发送到PMTRP单元的第三端口;该PMTRP单元可接收并成功地处理该PDMA单元的第二端口上发出的格式正确的内存传输请求,该内存传输请求可寻址到第三地址空间中与该PMTRP单元的至少一个区域说明符中至少一个的一部分相关的内存位置。2.根据权利要求1所述的一种装置,其中:一部分可编程配置数据可与第一地址空间的用户部分相关;可通过PMTRP单元的第三端口访问、与第一地址空间的用户部分相关的PMTRP单元的所有可编程配置数据,可在PDMA单元的一个内存到内存传输操作中进行编程。3.根据权利要求1至2中任一项所述的一种装置,其中该PMTRP单元(120)的可编程配置数据还包括至少一个缓存行或至少一个缓存块。4.根据权利要求1至3中任一项所述的一种装置,其中:该PTRMP单元包括使地址空间标识符与该PMTRP单元的第一端口上接收的内存传输请求相关的装置;该PMTRP单元中可编程数据的至少一个区域说明符可与地址空间标识符相关。5.一种可将与第一地址空间相关的内存传输请求与至少N+1个逻辑独立内存传输请求处理区域之一进行映射的装置,该第一地址空间可划分成至少N个连续的分区,该设备包括:第一端口,即目标端口,可:接收与第一地址空间相关的内存传输请求,其中该内存传输请求与以下相关:第一地址空间中的内存地址;地址空间标识符;发送相应的内存传输响应;第二端口,可发送与N+1个逻辑上独立的MTRP区域之一相关的值;响应第一端口上接收到的内存传输请求,生成与该第二端口上N+1个逻辑独立的MTRP区域之一相关的值的装置;示内存传输请求是否未成功映射到第三端口上N+1个逻辑独立的MTRP区域之一的装置;其中:N的值至少为2;N+1个逻辑独立的MTRP区域中的至少两个可映射到第一地址空间中至少N个连续分区的相同分区;若与第一端口上接收到的内存传输请求相关的内存地址与第一地址空间的至少N个连续分区中的一个相关,该第一地址空间中的至少N个连续分区可具有映射到其上的N+1个逻辑独立MTRP区域中的至少2个,则与该内存传输请求相关的地址空间标识符的值可用于区分其映射到N+1个逻辑独立PMTRP区域中的至少2个中的哪些区域(若有)。6.根据权利要求5所述的一种装置,其中至少N+1个逻辑独立内存传输请求处理(MTRP)区域中的每一个可采用可编程内存地址转换方案,用于转换寻址到该区域的内存传输请求。7.根据权利要求6所述的一种装置,其中可编程内存转换地址方案中的至少一个可使用直接索引一级方案。8.根据权利要求5或6所述的一种装置,其中至少两个地址空间标识符可与第一地址空间的至少N个连续分区中的一个相关,第一地址空间的连续分区与N+1个逻辑独立MTRP区域中的一个相关。9.根据权利要求5或6所述的一种装置,其中与内存传输请求相关的地址空间标识符的值与第一地址空间的至少N个连续分区中的至少两个相关。10.一种装置,包括:可编程内存传输请求处理(PMTRP)单元,包括:第一端口,即目标端口,可:接收与来自第一互连的第一地址空间相关的内存传输请求;发送相应的内存传输响应;第二端口,即主端口,可:将与第二地址空间相关的内存传输请求发送到第二互连,其中该第二互连非该第一互连;接收对应的内存传输响应;第一组至少两个可编程区域说明符,其中:对于每个可编程区域说明符,该可编程区域说明符:以编程方式与第一地址空间的内存区域相关;包括可编程访问许可策略;包括可编程内存地址转换策略;第三端口,即目标端口,可:接收与第三地址空间相关的内存传输请求,以访问第一组至少两个可编程区域说明符的一部分;发送相应的内存传输响应;处理第三端口上接收到的格式正确的内存传输请求的装置,该内存传输请求可寻址到第三地址空间中与第一组至少两个可编程区域说明符中至少一个可编程区域说明符的一部分相关的内存位置;第四端口,即输出端口;根据与接收到的存储于第一组至少两个可编程内存区域说明符中的内存传输请求相关的至少一个策略,响应第一端口上接收到的内存传输请求,生成并发送第二端口上内存传输请求的装置;以编程方式与该地址相关的至少两个可编程区域说明符中的确切一个启用其转换策略时,可转换第一端口上接收到的内存传输请求地址的装置;与该地址在程序上相关的至少两个可编程区域说明符中的多于一个可编程区域说明符可启用其转换策略时,可在第四端口上生成信号的装置。11.根据权利要求10所述的一种装置,其中该PMTRP单元的第一组至少两个可编程区域说明符中的至少一个可编程区域说明符具有:与代表在一个或多个处理器内核上所运行软件发出的可执行代码内存传输请求相关的至少一个许可字段;与代表在一个或多个处理器内核上所运行软件发出的数据内存传输请求相关的至少一个许可字段。12.根据权利要求10或11所述的一种装置,其中:该PTRMP单元包括使地址空间标识符与该PMTRP单元的第一端口上接收的内存传输请求相关联的装置;该PMTRP单元的可编程区域说明符中的至少一个可与地址空间标识符相关。13.一种装置,包括:可编程内存传输请求处理(PMTRP)单元,包括:第一端口,即目标端口,可:接收与来自第一互连的第一地址空间相关的内存传输请求;发送相应的内存传输响应;第二端口,即主端口,可:将与第二地址空间相关的内存传输请求发送到第二互连,其中该第二互连非该第一互连;接收内存传输;可编程配置数据,其中该可编程配置数据包括:至少一个缓存区域说明符,该说明符可对与第一地址空间区域相关的至少一个策略进行编码;通过在第二端口上生成并发送至少一个内存传输请求来访问至少两个区域说明符中至少N组的装置,其中该至少两个区域说明符中的至少一组是一组缓存区域说明符;接收相应的响应;缓存接收到的区域说明符;根据处理过程中通过第二端口可访问的至少两个区域说明符N组的第一组中编码的策略,来处理第一端口上接收到的内存传输请求的装置;根据与接收到的存储于至少两个区域说明符N组中第一组的内存传输请求相关的至少一个策略,响应第一端口上接收到的内存传输请求,生成并发送第二端口上内存传输请求的装置;其中N的值至少为1。14.根据权利要求13所述的一种装置,N的值至少是2,该PMTRP单元还可:将第一端口的第一地址空间划分为至少2个连续区域;对于第一地址空间的...

【专利技术属性】
技术研发人员:本杰明·吉金斯
申请(专利权)人:本杰明·吉金斯
类型:发明
国别省市:马耳他,MT

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

1