CN105593827B - 用于与不同的存储器映射一起使用的方法和装置 - Google Patents
用于与不同的存储器映射一起使用的方法和装置 Download PDFInfo
- Publication number
- CN105593827B CN105593827B CN201480053861.4A CN201480053861A CN105593827B CN 105593827 B CN105593827 B CN 105593827B CN 201480053861 A CN201480053861 A CN 201480053861A CN 105593827 B CN105593827 B CN 105593827B
- Authority
- CN
- China
- Prior art keywords
- channel
- information
- access
- parameter set
- access parameter
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7857—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using interleaved memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Small-Scale Networks (AREA)
- Error Detection And Correction (AREA)
Abstract
装置具有被配置为存储访问活动信息的数据存储装置。访问活动信息指示多个不同访问参数集中的哪一个或者多个访问参数集是活跃的。数据存储装置还被配置为存储访问限定信息,访问限定信息至少针对每个活跃的访问参数集限定:通道数目、所述通道的位置信息、以及与所述通道关联的交错信息。
Description
技术领域
实施例特别地但不排它地涉及可以与不同的存储器映射一起使用的方法和装置。
背景技术
芯片上网络(NOC)使用基于分组的通信和通信的分层限定。芯片上网络提供一个或者多个发起者和其相应的目标之间的互连。
发明内容
根据一个方面,提供包括如下内容的装置:数据存储,被配置为存储访问活动信息和访问限定信息,所述访问活动信息指示多个不同访问参数集中的哪一个或者多个是活跃的,所述访问限定信息至少针对活跃的访问参数集或者每个活跃的访问参数集限定:通道数目、所述通道的位置信息、以及与所述通道关联的交错信息。
访问限定信息可以包括存储器映射限定信息。通道可以包括存储器通道。访问参数集可以包括存储器映射集。
交错信息可以包括通道中的交错区域的交错步长尺寸和位置中的至少一个。
交错区域的位置可以由开始位置和结束位置中的至少一个限定。
访问限定信息可以包括服务质量信息。
装置可以包括被配置为接收输入地址的确定块,所述确定块被配置为确定所述输入地址与哪个访问参数集关联并且提供与所述输入地址关联的通道信息。
确定块可以具有访问参数集确定器,其被配置为接收所述输入地址和来自所述数据存储的位置信息,所述访问参数集确定器被配置为基于所述输入地址和所述位置信息向通道信息提供器提供输出。
访问参数集确定器可以包括地址比较器,其被配置为接收所述输入地址和地址范围信息并且向所述通道信息提供器提供输出。
访问参数集确定器可以被配置为接收所述访问活动信息。
通道信息提供器可以包括被配置为提供所述通道信息的至少一个表。
至少一个表可以包括通道数目信息。
至少一个表可以包括通道定位信息。
访问参数集确定器可以被配置为提供控制信号,所述通道信息提供器可以被配置为使用所述控制信号使得用于所述经确定的访问参数集的通道信息被输出。
通道信息可以包括通道定位、通道数目、交错步长尺寸、以及服务质量中的至少一个。
装置可以包括目的地设置,所述目的地设置被配置为根据所述输入地址和通道信息确定目的地。
集成电路或者裸片可以包括如上文所描述的装置。
访问活动信息可以是电子设备访问活动信息。
访问活动信息可以是外围设备访问活动信息。
访问活动信息可以是电子部件访问活动信息。
访问限定信息可以包括将存储器映射限定到电子设备、电子部件、或者其组合的信息。
访问限定信息可以是电子设备访问限定信息。
访问限定信息可以是外围设备访问限定信息。
访问限定信息可以是电子部件访问限定信息。
访问参数集可以是电子设备访问参数集。
访问参数集可以是电子部件访问参数集。
访问参数集可以是外围设备访问参数集。
电子部件可以包括数据存储部件。
根据另一方面,提供配置装置的方法,所述方法包括:提供针对所述装置的指示多个不同集中的哪一个或者多个集是活跃的访问活动信息,其中至少针对活跃的访问参数集或者每个活跃的访问参数集的访问限定信息包括通道的数目、所述通道的位置信息、以及与所述通道关联的交错信息。
根据另一方面,提供包括如下内容的方法:在装置中使用访问活动信息和访问限定信息,访问活动信息指示多个不同的访问参数集中的哪一个或者多个访问参数集是活跃的,所述访问限定信息至少针对活跃的访问参数集或者每个活跃的访问参数集限定通道的数目、所述通道的位置信息、以及与所述通道关联的交错信息。
交错信息可以包括通道中的交错区域的交错步长尺寸和位置中的至少一个。
交错区域的位置可以由开始位置和结束位置中的至少一个限定。
访问限定信息可以包括服务质量信息。
方法可以包括接收输入地址、确定所述输入地址与哪个访问参数集关联、以及提供与所述输入地址关联的通道信息。
方法可以包括使用所述输入地址和位置信息提供通道信息输出。
方法可以包括比较所述输入地址和地址范围信息以提供所述通道信息输出。
方法可以包括向通道信息提供器提供控制信号,以便使得用于所述经确定的访问参数集的通道信息被输出。
通道信息可以包括通道定位、通道数目、交错步长尺寸、以及服务质量中的至少一个。
方法可以包括根据所述输入地址和通道信息确定目的地。
访问活动信息可以是电子设备访问活动信息。
访问活动信息可以是外围设备访问活动信息。
访问活动信息可以是电子部件访问活动信息。
访问限定信息可以包括将存储器映射限定到电子设备、电子部件、或者其组合的信息。
访问限定信息可以是电子设备访问限定信息。
访问限定信息可以是外围设备访问限定信息。
访问限定信息可以是电子部件访问限定信息。
访问参数集可以是电子设备访问参数集。
访问参数集可以是电子部件访问参数集。
访问参数集可以是外围设备访问参数集。
电子部件可以包括数据存储部件。
根据另一方面,提供被配置为执行以上方法中的任何方法的计算机辅助设计工具。
根据另一方面,提供被配置为执行用于配置设备的方法的计算机辅助设计工具,该方法包括:生成计算机代码以表示设备的默认版本;修改计算机代码以提供针对设备的指示多个不同网络中的哪一个或者多个网络在该设备中可用的访问可用性信息,每个可用网络具有访问参数集;以及修改计算机代码以提供针对每个可用访问参数集的访问限定信息,每个可用访问参数集具有:通道的数目、所述通道的位置信息、以及与所述通道关联的交错信息。
交错信息可以包括通道中的交错区域的交错步长尺寸和位置中的至少一个,其中交错区域的所述位置由开始位置和结束位置中的至少一个限定。
方法可以包括:修改计算机代码以将设备配置为:接收输入地址;确定所述输入地址与哪个访问参数集关联;以及提供与所述输入地址关联的通道信息。
方法可以包括:修改计算机代码以将设备配置为:使用所述输入地址和位置信息以提供通道信息输出;比较所述输入地址和地址范围信息以提供所述通道信息输出;以及向通道信息提供器提供控制信号以使得用于所述经确定的访问参数集的通道信息被输出。
通道信息可以包括通道定位、通道数目、交错步长尺寸、以及服务质量中的至少一个。
生成计算机代码以表示设备的默认版本可以包括生成具有如下内容的设备:至少两个网络接口;至少两个路由器;至少两个链接,被配置为传递基于分组的通信,至少两个链接通过至少两个路由器耦合至少两个网络接口。访问活动信息可以是电子设备访问活动信息。
访问活动信息可以是外围设备访问活动信息。
访问活动信息可以是电子部件访问活动信息。
访问限定信息可以包括将存储器映射限定到电子设备、电子部件、或者其组合的信息。
访问限定信息可以是电子设备访问限定信息。
访问限定信息可以是外围设备访问限定信息。
访问限定信息可以是电子部件访问限定信息。
访问参数集可以是电子设备访问参数集。
访问参数集可以是电子部件访问参数集。
访问参数集可以是外围设备访问参数集。
电子部件可以包括数据存储部件。
附图说明
为了更好地理解一些实施例,现在仅通过示例的方式参照附图。参照附图描述了非限制性和非详尽性实施例,其中相同的标记贯穿各种视图指代相同的部分,除非另外指定。下文中参照附图描述了一个或者多个实施例,其中:
图1示意性地示出了其中可以提供一些实施例的电子设备的一部分;
图2示出了具有使用两个DDR通道的NoC的实施例;
图3示出了第一存储器映射;
图4示出了第二存储器映射;
图5示出了第三存储器映射;
图6示意性地示出了实施例;
图7示意性地更详细地示出了图6中的寄存器;
图8a示出了两个交错的存储器区域集的第一示例;
图8b示出了两个交错的存储器区域集的第二示例;并且
图8c示出了两个交错的存储器区域集的第三示例。
具体实施方式
参照图1,其示意性地示出了其中可以提供实施例的电子设备1的一部分。图1所示的设备的至少一部分可以被提供在集成电路中。在一些实施例中,图1中所示的所有元件可以被提供在集成电路中。在备选实施例中,图1所示的设置可以由两个或者多个集成电路提供。一些实施例可以由一个或者多个裸片实施。一个或者多个裸片可以被封装在相同或者不同的封装中。图1的部件中的一些部件可以被提供在集成电路或者裸片之外。
设备1包括被配置为与各种目标(或者目的地)10通信的若干流量发起者(还称为主导者或者源)2,并且反之亦然。发起者可以是任何合适的设备,并且通过示例的方式可以是CPU(计算机处理器单元)、传送流处理器、解码器、图形处理器、编码器、视频显示处理器和图形处理器中的一个或者多个。应该领会的是,这些单元仅是通过示例的方式,并且可以使用任何其它备选或者附加的流量发起者。在图1所示的示例中,有三个发起者。然而,应该领会的是,这仅是通过示例的方式,并且可以提供多于或者少于三个发起者。
仅通过示例的方式,目标可以包括闪存存储器、外围部件互连(PCI)、双倍数据速率存储器(DDR)、以及eRAM(嵌入式随机访问存储器)中的一个或者多个。应该领会的是,这些目标仅是通过示例的方式,并且可以备选地或者附加地使用任何其它合适的目标。多于或者少于所示目标的数目可以被提供在其它实施例中。在图1所示的示例中,示出了三个目标。然而,应该领会的是,这仅是通过示例的方式,并且可以提供多于或者少于三个目标。
各种发起者和目标能够经由芯片上网络NoC 12通信。NoC 12包括用于每个相应发起者2的相应网络接口4。在一些实施例中,两个或者多个发起者可以共享接口。在一些实施例中,可以提供用于相应发起者的不止一个接口。同样地,提供用于每个相应目标的接口14。在一些实施例中,可以提供用于相应目标的两个或者多个接口。在一些实施例中,两个或者多个目标可以共享相同的接口。
网络接口4、14经由链接6连接到一个或者多个路由器8。路由器经由链接6连接到彼此。图1所示的芯片上网络被简化并且示出了三个路由器。实际上,芯片上网络可以包括远不止三个路由器。拓扑可以是普通、定制、或者任何其它合适的拓扑。
一些实施例可以具有芯片上互连,其可以被组织为基于分组的源路由和切换芯片上网络。
提供了耦合到每个网络接口的CPU(计算机处理单元)13。CPU可以被配置为控制对网络接口的编程。
实施例可以被用于广泛范围的应用中。一些实施例可以被用于图形和/或视频应用中。这些应用可能需要相对高的带宽和相对大的存储器缓冲区。一些应用可能要求两个或者多个DDR存储器控制器。换句话说,可能要求两个或者多个通道。一些应用可能具有靠近存储器提供的用于加密的安全引擎,并且可能例如使用基于地址的过滤。
参照图2,其示意性地示出了如下设置,其中使用了两个双倍数据速率存储器(DDR)。在图2所示的示例中,有四个流量发起者2。每个流量发起者2与相应的发起者网络接口4关联。第一存储器控制器16连同第二存储器控制器8一起被提供。第一存储器控制器提供第一通道22。第二存储器控制器18提供第二通道24。
还提供的是外围设备20。第一和第二存储器控制器16和18以及外围设备20中的每一个都具有其自己的目标网络接口14。发起者网络接口4和目标网络接口14之间的通信经由NoC,并且特别地经由NoC的路由器8。
图3示出了存储器映射的第一示例。第一区域26与第一外围设备关联。第二区域28用于通道1,并且第三区域30在存储器映射中被分配用于通道0。
参照图4,其示出了存储器映射的第二示例。在这一设置中,有被指派给第一外围设备的第一区域。备选存储器位置备选地经由相应通道访问。因此,DDR的第一存储器区域由一个存储器控制器访问,下一存储器区域经由其它存储器控制器访问,依此类推。
一些实施例可以解决以下中的一个或者多个。
-软件可能需要看到唯一的存储器空间,以在其中指派整个缓冲区。一些应用可能要求相对大的缓冲区。
-一些实施例可能要求存储器空间被映射在两个或者多个通道之上。
-在一些实施例中,应该平衡通道之间的负载,以保证好的整体SoC性能。
-一个裸片平台可以被用于芯片、产品和/或技术市场空间上的两个或者多个不同的系统。
-可能期望具有唯一的存储器映射,其具有适于不同设定的灵活性。例如,平台可以与不同的存储器类型一起使用。
一些实施例可以支持后硅配置。例如,可以支持在启动(BOOT)时或者在产品寿命期间的配置。在一些实施例中,如果在设计阶段使用共同平台则可以是有利的,因为这可以使得电路设计阶段更简单。设计阶段可以包含使用CAD(计算机辅助设计)工具。
一种可能性是使用地址交错方法,其中地址位被操纵。一些可能性允许对特定通道内的诸如图5所示的交错区域再编程。例如,可以更改通道内的交错区域的范围和/或通道内的交错区域的步长尺寸。然而,通道的数目、通道的尺寸、以及通道的位置是固定的。
一些实施例可以提供增加的灵活性。
在一些实施例中,可以有具有经限定的固定区域的存储器映射。对于每个发起者而言,有与每个存储器区域关联的可再编程路由。在发起者、存储器区域、以及目标之间有可编程绑定。
在一些实施例中,两个或者多个交错存储器区域(IMR)集被限定为平行并且可以使用可编程调谐值的专用集进行控制。这些值可以包括以下中的一个或者多个:通道的数目、通道位置、交错步长尺寸、交错存储器的范围、以及服务质量。
一些实施例实现按每个IMR集的控制。IMR集可以与另一IMR集同时工作,或者与一个或者多个其它IMR集交替地活跃。
交错存储器区域集(IMRSet)可以由以下中的一个或者多个限定:
用于这一集的交错通道(在存储器映射中的数目和位置);
这些通道中的交错存储器区域(IMR);以及
交错步长。
交错存储器区域集包括交错存储器区域。
在配置时,不同的交错存储器区域集可以重叠:地址范围(即IMR)可以属于第一IMR集1的交错存储器区域和第二IMR集2的交错存储器区域。
运行时,不同的活跃交错存储器区域集不能重叠:如果地址范围属于第一活跃交错存储器区域集1,则那一区域不能是任何其它活跃交错存储器区域集的一部分。
存储器区域集的活动可以通过专用寄存器在运行时被控制。
可以支持任何合适数目的不同IMRSet。不同的IMRSet可以对于平台的不同用途或者应用是适当的。
通道可以被认为是其上可以应用地址交错的系统目标。通过示例的方式,通道可以是DDR存储器控制器或者任何其它合适的设备。通道可以被认为是与NoC目标网络接口关联(或者将在路由再编程之后关联)的邻近的连续存储器范围(节点映射条目)的序列。
通道可以具有不同的尺寸。交错可以仅至多应用在通道尺寸当中的最小尺寸上或者最大共同通道尺寸(MCChS)上。
通道的数目可以是2的幂。仅通过示例的方式,NoC或者一些实施例可以支持2、4、8、以及16个通道上的交错。然而,应该领会的是,通道的数目可以是任何值。当通道数目是2的幂时,交错算法实施方式可以被优化。
优选地,通道被映射到与它们的尺寸对准的地址。如果通道尺寸不是2的幂,则在一些实施例中通道可以被映射到与紧接地比其尺寸大的2的幂对准的地址。例如,750MB的通道可以被映射到在1GB处对准的地址。
交错存储器区域(IMR)可以完全地并且意思明确地由开始地址、结束地址、以及偏移值限定。
IMR开始地址和IMR结束地址可以在地址映射中的通道内限定连续的存储器区域。IMR开始地址和IMR结束地址可以通过专用寄存器编程。在一些实施例中,开始和结束地址的地址位的仅相关子集,例如[MSB:LSB](最高有效位、最低有效位),可以被用于理解对交错区域的访问是否在进行。
对于IMR集而言,上述MSB可以由最大尺寸的通道施加。在一些实施例中,如果最大通道尺寸是2的幂,则MSB=log2[最大通道尺寸]-1。如果最大通道尺寸不是2的幂,则MSB=log2[紧接地较大的2的幂]-1。
考虑以下示例。如果最大的通道尺寸是256MB(是2的幂),则所考虑的地址MSB为log2[256MB]=27。
如果最大的通道为768MB(不是2的幂),则所考虑的地址MSB为log2[1024MB]=29。
在一些实施例中,最小IMR尺寸可以被限定为16MB。则上述LSB可以被设置为23。
偏移可以是被用于NoC交错算法的值。这一值不可以被用户访问并且可以在配置时分配。
提供交错存储器区域集的所有交错存储器区域IMR可以遵守以下规则:
通道交错存储器区域的尺寸跨交错存储器区域集内的所有通道可以是相同的;以及
交错存储器区域可以具有限定交错存储器区域的集的开始和结束地址。
这些规则可以限定用于每个交错存储器区域集的交错模式。
在一些实施例中,IMR尺寸是步长x通道数目的倍数。
在交错存储器区域集IMR set中,步长表示将在目标设备中被连续映射的地址范围的尺寸。
其地址在交错存储器区域IMR开始地址和步长值之间的所有事务(transaction)将被朝向一个通道路由。
其地址在下一步长的地址片中的所有事务将被朝向下一通道路由,依此类推。如果N是通道的数目,则第(N+1)个步长的地址片再次被路由到第一通道。
步长可以是2的幂。步长的最小值将依赖于事务粒度,并且例如在一些实施例中可以是256字节。
参照图6,其示意性地示出了地址交错逻辑。设置包括被配置为运行地址交错算法的地址交错块70。块还包括IMR集块72,其被配置为识别针对特定地址活跃的IMR集,并且设置由地址交错块使用的适当的电子设备访问参数。还提供多个IMRSet寄存器74。
现在将参照图7更详细地描述IMRSet寄存器74。对于每个IMR集,寄存器将被提供用于存储以下中的一个或者多个:
集的每个交错存储器区域的结束地址;
集的每个交错存储器区域的开始地址;
交错存储器区域中的步长值;以及
交错存储器区域集中的(多个)服务质量值。
还提供的是寄存器98,其指示特定IMR集是否活跃。在一些实施例中,一次仅有一个IMR集可以是活跃的。然而,在其它实施例中,如果存储器区域不重叠,则在设备的操作期间,两个或者多个存储器区域集可以是活跃的。在图7所示的示例中,示出了16个存储器集选项。然而,这仅是通过示例的方式,并且在其它实施例中,多于或者少于16个存储器集选项可以是可得的。
这一寄存器98因此控制每个交错存储器区域集的活动。提供针对每个IMR集的启用,以控制IMR集激活。
每个存储器映射区域可以被分配(作为通道的一部分)给IMR集。区域可以是一个或者多个IMR集的一部分。这一分配可以在设备的设计时间期间被设置。
转回到图6,IMR集块72被配置为接收地址76。通过地址解码,IMR集块72被配置为检测当前事务是否是区域的一部分以及哪个IMR集在该区域中可以是活跃的。这一确定基于存储在IMR集寄存器74中的信息。应该领会的是,IMR集块72将仅考虑来自那些活跃的IMR集的信息。IMR集块72被配置为提供关于针对输入地址76的通道位置80和通道数目82的信息。IMR集块还被配置为提供步长尺寸信息84和服务质量信息86。应该领会的是,为了区别在相同的区域处有多于一个IMR集活跃的情况,对开始和/或结束地址的考虑被用于理解哪个IMR集在被当前事务寻址。
现在将更详细地描述IMR集块72。输入地址76被输入到块72的IMR集检测部分的地址比较器104。IMR集寄存器74提供针对每个IMR集的每个IMR区域的开始地址和结束地址。地址比较器识别输入地址是否落在IMR的开始地址和结束地址之间。此外,IMR寄存器74提供针对每个IMR集的指示该IMR集是否活跃的信息。因此,如果地址落在活跃的交错存储器集的交错存储器区域内,则这将由地址比较器确定。
块72的IMR集参数设置部分包括偏移表100和通道数目表102。这些表接收来自地址比较器104的输出。偏移表100被配置为提供通道位置输出80。通道数目表102被配置为提供通道数目,即在IMR区域中交错的通道数目。
块72的IMR集参数设置部分还包括第一多路器106和第二多路器108。多路器106被配置为接收指示每个IMR集的步长尺寸的N+1个输入。第一多路器106由地址比较器104的输出控制以选择地址落在其内的活跃IMR集的步长尺寸。这被输出为步长输出84。同样地,第二多路器108接收针对N+1个集中的每个集的服务质量信息。地址比较器的104输出被用于选择与地址落在其内的活跃集关联的服务质量。这提供服务质量输出86。
在一些实施例中,偏移表和通道数目表可以是硬件表。这些表可以由电子设计自动化EDA工具设置。表将依赖于针对得到的产品的给定用途而将活跃的一个或多个IMR集。
备选地,在一些实施例中,表可以是可以在运行时由芯片上系统软件写入的附加寄存器的集。可以使用工具向软件提供可以被下载在寄存器中的正确的配置备选方案。这一附加的寄存器的集可以按IMR集提供。IMR集的数目将是例如可以在芯片上系统上同时激活的IMR集配置的数目。
现在参照图8a至图8c,其示出了不同的IMR集的一些示例。在一些实施例中,可以支持所有示出的IMR集。在其它实施例中,可以支持备选或者附加的IMR集。在一些实施例中,两个或者多个IMR集可以在存储器映射中的不同地方,并且因此可以同时是活跃的。
在图8a的示例中,一个IMR集(集0)具有与用于访问DDR的第一存储器控制器关联的第一通道(通道0)和与用于访问DDR的第二存储器控制器关联的第二通道(通道1)。这些通道中的每个通道被提供有线性部分和交错部分。提供了第二IMR集(集1),其具有四个通道。通道中的两个通道(通道0和通道1)仅具有交错部分,并且分别与用于访问DDR的第一存储器控制器和第二存储器控制器关联。第三和第四通道(通道2和3)也用于访问DDR,但是经由相应的第三和第四存储器控制器。第三和第四通道均被提供有线性部分和交错部分。
这两个集将不同时是活跃的,因为它们包含重叠的存储器区域。因此,如果使用IMR集0,则相同的设备能够支持两个通道交错,并且如果使用IMR集1,则支持四个通道交错。在有两个存储器控制器用于访问DDR的情况下,可以使用两个通道交错,并且在有四个存储器控制器用于访问DDR的情况下,可以使用四个通道交错。IMR集1支持与IMR集0相比不同的存储器交错需要(例如,所有的通道都交错)。
现在参照图8b,其示出了两个不同的IMR集。所示的第一集支持用于经由两个存储器控制器访问DDR的两个通道和用于经由两个不同的存储器控制器访问不同类型的存储器的两个通道。每个通道具有线性部分和交错部分。
第二IMR集具有四个通道。所有四个通道可以经由四个存储器控制器访问DDR。所有通道仅具有交错部分并且没有线性部分。
第一集可以具有四个通道,该四个通道具有512MB的交错,并且第二集可以具有四个通道,该四个通道具有256MB的交错。这允许支持具有不同的存储器尺寸的芯片上系统配置。备选地或者附加地,这允许支持具有不同的存储器交错需要的芯片上系统配置。
参照图8c,其示出与图8b的第一IMR集相同的第一IMR集。
图8c示出了第二IMR集,其支持用于DDR的两个通道和用于与第一IMR集不同的存储器的两个通道。然而,在第二IMRset中,每个通道具有两个交错区域。
在给定的IMRSet中,所有通道可以是交错的。
在给定的IMRset中,步长尺寸可以是针对所有通道的常数。
第一集可以具有512MB的交错区域,而第二集可以具有256MB的交错步长。第一集可以具有1MB的步长,并且第二集可以具有4KB的步长尺寸。
在一些实施例中,交错区域尺寸可以在256MB到1GB的区域中,而步长可以在4KB到16MB的范围内。
不同的集可以被用于支持不同的存储器尺寸和/或不同的存储器交错需要。
地址交错块70可以使用NoC提供针对用于访问存储器的两个或者多个通道(存储器控制器)的支持。软件可以看到唯一的存储器空间,但是NoC分派和平衡朝向两个或者多个存储器通道(诸如两个存储器控制器)的流量。在实施例中,所使用的NoC地址交错允许提供唯一的存储器空间,该唯一的存储器空间被自动映射到两个或者多个通道当中,从而平衡流量。
在一些实施例中,原始地址未改变。这可以减少系统成本。这可以对于安全特征有利,因为地址未被更改。在一些实施例中,与地址关联的路由可以被改变,但是由该地址访问的实际的地址和存储器空间未改变。
如果检测到进入的事务地址是交错存储器区域的一部分,则用于这一地址的交错目的地通道被确定。例如,确定可以基于下式:通道=(地址[log2(MCChS)-1,log2(步长)]+偏移)模除通道数目。
如果通道数目是2的幂,则上面的确定可以被优化(偏移是由偏移表提供的通道位置)。
通道=(地址[log2(步长)+log2(通道#)-1,log2(步长)]+偏移)模除通道数目。
这一优化可以在通道计算中使用更少的位。应该领会的是,这仅是确定哪个通道被用于哪个交错区域的一个方法。
最终,对应的路由路径被分配给这一事务。
当发起者网络接口接收请求时,将请求的地址与当前激活的交错通道存储器区域(多个)开始地址和(多个)结束地址比较,以理解是否需要通道计算。
如果不需要通道计算,则路由信息可以从AI块中的当前路由表中取回。
如果需要通道计算,则计算该通道。一旦检测到对当前激活的IMR集的请求,则用于这一请求的目的地通道被确定。这基于偏移。如先前提到的,偏移是在配置期间被分配到所考虑的IMR集的每个交错通道的值。目的地通道可以使用以上限定进行计算。
在目的地通道计算之后,最后的步骤是使用正确的路由信息将网络层编码器编码。路由信息基于目的地通道从查找表被取回。在一些实施例中,可以提供仅路由到与存储器区域关联的默认通道不同的通道的查找表条目。
如果若干路由路径对于事务是可能的(因为通道散布在具有不同的路由路径的若干节点映射条目上),则参考路由路径被分配(RIRC)。用于每个IMR的参照路由路径可以在设计时被限定。
在一些实施例中,请求分组报头可以使用路由表信息编码。
实施例可以被应用于宽范围的技术和应用。例如,实施例可以被用于机顶盒、数字电视(DTV)、以及多媒体集中应用中的应用处理器。实施例可以被用于诸如移动电话、智能电话等之类的通信设备中。
实施例中的一些实施例关于DDR控制器进行描述。应该领会的是,这仅是通过示例的方式,并且目标可以是任何合适的实体。目标可以是不同类型的存储器或者任何其它合适类型的目标。例如,存储器可以是嵌入式静态随机访问存储器(eSRAM)。目标可以是任何合适的外围设备,并且在一些实施例中,可以是外围寄存器访问点。备选实施例可以使用任何合适的互连,而不是示例芯片上网络。
一些实施例可以允许支持多个不同的IMRset。在一些实施例中,所使用的IMRset可以在硬件的使用期间被改变。在其它实施例中,将要与硬件一起使用的一个或多个IMRset在设计时间期间被设置,并且仅所使用的一个或多个IMRset的值被存储在寄存器中。以这一方式,相同的硬件配置可以被用于支持若干不同的应用和/或硬件的使用。
一些实施例可以包括当设备在CAD(计算机辅助设计)工具或者相似阶段中时对该设备进行配置。换句话说,设备或者装置不是物理设备,而是由计算机软件、计算机代码等表示。这种表示可以由一方创建并且被存储在机器可读介质上,以用于后续通过一些适当的手段转移到另一方。
虽然这一具体实施方式阐述了本发明的一些实施例,所附权利要求覆盖根据各种修改和改善的与所描述的实施例不同的本发明的其它实施例。其它应用和配置可以对于本领域技术人员是明显的。
以上描述的各种实施例可以被组合以提供其它实施例。可以根据上述描述对实施例做出这些改变和其它改变。一般地,在所附权利要求中,所使用的术语不应该被解释为将权利要求限制于在说明书和权利要求书中公开的特定实施例,而是应该被解释为包括所有可能的实施例,连同这样的权利要求有权享有的等效物的全范围。因此,权利要求不受公开内容限制。
Claims (40)
1.一种电子装置,包括:
至少两个网络接口;
至少两个路由器;
至少两个链接,被配置为传递基于分组的通信,所述至少两个链接通过所述至少两个路由器耦合所述至少两个网络接口;以及
处理器,用于基于数据存储装置来控制对所述至少两个网络接口的编程,所述数据存储装置被配置为存储访问活动信息和访问限定信息,所述访问活动信息指示多个不同访问参数集中的哪一个或者多个访问参数集是活跃的,所述访问限定信息至少针对活跃的所述访问参数集或者每个活跃的访问参数集限定:
通道的数目,其中每个通道被布置为经由所述至少两个链接中的一个或多个链接、所述至少两个路由器中的一个或多个路由器以及所述至少两个接口中的一个或多个接口来传递基于分组的数据,
所述通道的位置信息,以及
与所述通道关联的交错信息。
2.根据权利要求1所述的电子装置,其中交错信息包括通道中的交错区域的交错步长尺寸和位置中的至少一个。
3.根据权利要求2所述的装置,其中交错区域的所述位置由开始位置和结束位置中的至少一个限定。
4.根据任一前述权利要求所述的电子装置,其中所述访问限定信息包括服务质量信息。
5.根据权利要求1至3中的任一项所述的电子装置,包括被配置为接收输入地址的确定块,所述确定块被配置为确定所述输入地址与哪个访问参数集关联并且提供与所述输入地址关联的通道信息。
6.根据权利要求5所述的电子装置,其中所述确定块具有被配置为接收所述输入地址和来自所述数据存储装置的位置信息的访问参数集确定器,所述访问参数集确定器被配置为基于所述输入地址和所述位置信息向通道信息提供器提供输出。
7.根据权利要求6所述的电子装置,其中所述访问参数集确定器包括地址比较器,所述地址比较器被配置为接收所述输入地址和地址范围信息并且向所述通道信息提供器提供输出。
8.根据权利要求6或者7所述的电子装置,其中所述访问参数集确定器被配置为接收所述访问活动信息。
9.根据权利要求6或者7所述的电子装置,其中所述通道信息提供器包括被配置为提供所述通道信息的至少一个表。
10.根据权利要求9所述的电子装置,其中所述至少一个表包括通道数目信息。
11.根据权利要求9所述的电子装置,其中所述至少一个表包括通道定位信息。
12.根据权利要求5所述的电子装置,其中所述访问参数集确定器被配置为提供控制信号,所述通道信息提供器被配置为使用所述控制信号以使得用于所述经确定的访问参数集的通道信息被输出。
13.根据权利要求5所述的电子装置,其中所述通道信息包括通道定位、通道数目、交错步长尺寸、以及服务质量中的至少一个。
14.根据权利要求5所述的电子装置,包括目的地设置,所述目的地设置被配置为根据所述输入地址和通道信息确定目的地。
15.一种配置装置的方法,所述方法包括:
提供至少两个网络接口;
提供至少两个路由器;
提供至少两个链接,所述至少两个链接被配置为传递基于分组的通信,所述至少两个链接通过所述至少两个路由器耦合所述至少两个网络接口;以及
提供处理器以基于活动信息来控制对所述至少两个网络接口的编程,所述活动信息针对所述装置而被提供以指示多个不同访问参数集中的哪一个或者多个访问参数集是活跃的,其中至少针对活跃的所述访问参数集或者每个活跃的访问参数集的访问限定信息包括:
通道的数目,其中每个通道被布置为经由所述至少两个链接中的一个或多个链接、所述至少两个路由器中的一个或多个路由器以及所述至少两个接口中的一个或多个接口来传递基于分组的数据,
所述通道的位置信息,以及
与所述通道关联的交错信息。
16.根据权利要求15所述的方法,其中交错信息包括通道中的交错区域的交错步长尺寸和位置中的至少一个。
17.根据权利要求16所述的方法,其中交错区域的所述位置由开始位置和结束位置中的至少一个限定。
18.根据权利要求15至17中的任一项所述的方法,其中所述访问限定信息包括服务质量信息。
19.根据权利要求15至17中的任一项所述的方法,包括:
接收输入地址;
确定所述输入地址与哪个访问参数集关联;以及
提供与所述输入地址关联的通道信息。
20.根据权利要求19所述的方法,包括:
使用所述输入地址和位置信息提供通道信息输出。
21.根据权利要求20所述的方法,包括:
比较所述输入地址和地址范围信息以提供所述通道信息输出。
22.根据权利要求19所述的方法,包括:
向通道信息提供器提供控制信号,以使得用于所述经确定的访问参数集的通道信息被输出。
23.根据权利要求19所述的方法,其中所述通道信息包括通道定位、通道数目、交错步长尺寸、以及服务质量中的至少一个。
24.根据权利要求19所述的方法,包括:
根据所述输入地址和通道信息确定目的地。
25.一种配置装置的方法,所述方法包括:
提供至少两个网络接口;
提供至少两个路由器;
提供至少两个链接,所述至少两个链接被配置为传递基于分组的通信,所述至少两个链接通过所述至少两个路由器耦合所述至少两个网络接口;以及
在装置中使用处理器以基于活动信息和访问限定信息来控制对所述至少两个网络接口的编程,所述活动信息指示多个不同的访问参数集中的哪一个或者多个访问参数集是活跃的,所述访问限定信息至少针对活跃的所述集或者每个活跃的集限定:
通道的数目,其中每个通道被布置为经由所述至少两个链接中的一个或多个链接、所述至少两个路由器中的一个或多个路由器以及所述至少两个接口中的一个或多个接口来传递基于分组的数据;
所述通道的位置信息;以及
与所述通道关联的交错信息。
26.根据权利要求25所述的方法,其中交错信息包括通道中的交错区域的交错步长尺寸和位置中的至少一个。
27.根据权利要求26所述的方法,其中交错区域的所述位置由开始位置和结束位置中的至少一个限定。
28.根据权利要求25至27中的任一项所述的方法,其中所述访问限定信息包括服务质量信息。
29.根据权利要求25至27中的任一项所述的方法,包括:
接收输入地址;
确定所述输入地址与哪个访问参数集关联;以及
提供与所述输入地址关联的通道信息。
30.根据权利要求29所述的方法,包括:
使用所述输入地址和位置信息提供通道信息输出。
31.根据权利要求30所述的方法,包括:
比较所述输入地址和地址范围信息以提供所述通道信息输出。
32.根据权利要求29所述的方法,包括:
向通道信息提供器提供控制信号,以使得用于所述经确定的访问参数集的通道信息被输出。
33.根据权利要求29所述的方法,其中所述通道信息包括通道定位、通道数目、交错步长尺寸、以及服务质量中的至少一个。
34.根据权利要求29所述的方法,包括:
根据所述输入地址和通道信息确定目的地。
35.一种用于计算机辅助设计的设备,被配置为执行权利要求25或者其任一从属权利要求所述的方法。
36.一种被布置为存储管理计算机辅助设计工具的指令的计算机可读介质,所述指令被配置为执行用于配置设备的方法,所述方法包括:
生成计算机代码以表示所述设备的默认版本,其中所述设备的所述默认版本包括多个不同的网络,所述多个不同网络经由至少两个网络接口、至少两个路由器、至少两个链接以及处理器被形成,所述至少两个链接通过所述至少两个路由器耦合所述至少两个网络接口,所述处理器用于控制对所述至少两个网络接口的编程;
修改所述计算机代码以提供针对所述设备的指示所述多个不同的网络中的哪一个或者多个网络在所述设备中可用的访问可用性信息,每个可用网络具有访问参数集;以及
修改所述计算机代码以提供针对每个可用访问参数集的访问限定信息,每个可用访问参数集具有:
通道的数目,其中每个通道被布置为经由所述至少两个链接中的一个或多个链接、所述至少两个路由器中的一个或多个路由器以及所述至少两个接口中的一个或多个接口来传递基于分组的数据,
所述通道的位置信息,以及
与所述通道关联的交错信息。
37.根据权利要求36所述的计算机可读介质,其中交错信息包括通道中的交错区域的交错步长尺寸和位置中的至少一个,其中交错区域的所述位置由开始位置和结束位置中的至少一个限定。
38.根据权利要求36所述的计算机可读介质,所述计算机可读介质被布置为存储指令,所述指令被配置为执行所述方法,所述方法包括:
修改所述计算机代码以将所述设备配置为:
接收输入地址;
确定所述输入地址与哪个访问参数集关联;以及
提供与所述输入地址关联的通道信息。
39.根据权利要求38所述的计算机可读介质,所述计算机可读介质被布置为存储指令,所述指令被配置为执行所述方法,所述方法包括:
修改所述计算机代码以将所述设备配置为:
使用所述输入地址和位置信息以提供通道信息输出;
比较所述输入地址和地址范围信息以提供所述通道信息输出;以及
向通道信息提供器提供控制信号,以使得用于所述经确定的访问参数集的通道信息被输出。
40.根据权利要求38所述的计算机可读介质,其中所述通道信息包括通道位置、通道数目、交错步长尺寸、以及服务质量中的至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1318478.3 | 2013-10-18 | ||
GB1318478.3A GB2519351A (en) | 2013-10-18 | 2013-10-18 | A method and apparatus for use with different memory maps |
PCT/EP2014/072341 WO2015055826A1 (en) | 2013-10-18 | 2014-10-17 | Method and apparatus for use with different memory maps |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105593827A CN105593827A (zh) | 2016-05-18 |
CN105593827B true CN105593827B (zh) | 2019-11-05 |
Family
ID=49727016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480053861.4A Active CN105593827B (zh) | 2013-10-18 | 2014-10-17 | 用于与不同的存储器映射一起使用的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10419432B2 (zh) |
CN (1) | CN105593827B (zh) |
GB (1) | GB2519351A (zh) |
WO (1) | WO2015055826A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395216A (zh) * | 2019-07-31 | 2021-02-23 | 北京百度网讯科技有限公司 | 用于存储管理的方法、装置、设备和计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761344A (zh) * | 2004-10-13 | 2006-04-19 | 株式会社Ntt都科摩 | 移动终端以及移动通信方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260127B1 (en) | 1998-07-13 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for supporting heterogeneous memory in computer systems |
US20060084432A1 (en) * | 2004-10-18 | 2006-04-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Differentiated access parameters for random access channel |
US7752468B2 (en) | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US20080320255A1 (en) * | 2007-06-25 | 2008-12-25 | Sonics, Inc. | Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets |
JP5360301B2 (ja) * | 2010-08-13 | 2013-12-04 | 富士通株式会社 | メモリ制御装置、情報処理装置及びメモリ制御装置の制御方法 |
-
2013
- 2013-10-18 GB GB1318478.3A patent/GB2519351A/en not_active Withdrawn
-
2014
- 2014-10-17 CN CN201480053861.4A patent/CN105593827B/zh active Active
- 2014-10-17 WO PCT/EP2014/072341 patent/WO2015055826A1/en active Application Filing
- 2014-10-17 US US15/026,588 patent/US10419432B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761344A (zh) * | 2004-10-13 | 2006-04-19 | 株式会社Ntt都科摩 | 移动终端以及移动通信方法 |
Also Published As
Publication number | Publication date |
---|---|
US10419432B2 (en) | 2019-09-17 |
GB2519351A (en) | 2015-04-22 |
GB201318478D0 (en) | 2013-12-04 |
CN105593827A (zh) | 2016-05-18 |
WO2015055826A1 (en) | 2015-04-23 |
US20160226878A1 (en) | 2016-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979353B2 (en) | Packet processing match and action unit with configurable memory allocation | |
CN103929492B (zh) | 业务链负载均衡方法及其装置、系统 | |
EP2374250B1 (en) | Load balancing | |
CN105706402B (zh) | 用于增加第3层最长前缀匹配规模的方法 | |
US8397010B1 (en) | Convenient, flexible, and efficient management of memory space and bandwidth | |
CN107317887B (zh) | 一种负载均衡方法、装置和系统 | |
CN104937572A (zh) | 业务和/或工作负荷处理 | |
KR102391602B1 (ko) | 다수의 공유된 메모리들을 사용하는 재구성가능한 병렬 룩업을 위한 방법 및 시스템 | |
CN109245984A (zh) | 一种报文传输方法、一种信息处理方法及其相关设备 | |
Wang et al. | Virtual network mapping with traffic matrices | |
CN106209648B (zh) | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 | |
Yu et al. | A cost efficient design of virtual infrastructures with joint node and link mapping | |
CN108667777A (zh) | 一种服务链生成方法及网络功能编排器nfvo | |
CN106209636B (zh) | 从vlan至vxlan的组播数据报文转发方法和设备 | |
CN107846364A (zh) | 一种报文的处理方法和装置 | |
TW201347473A (zh) | 具交換器電路之伺服器 | |
CN109600818A (zh) | wifi共享方法、电子装置及存储介质 | |
CN115426312A (zh) | 一种大规模多模态网络中标识管理及优化转发方法和装置 | |
CN105593827B (zh) | 用于与不同的存储器映射一起使用的方法和装置 | |
CN103457855B (zh) | 无类域间路由表建立、以及报文转发的方法和装置 | |
CN112039783A (zh) | 通信数据输出方法、装置、计算机设备及存储介质 | |
WO2016159945A1 (en) | Distributed routing table system with improved support for multiple network topologies | |
CN106254154A (zh) | 一种资源共享方法和装置 | |
CN103795621B (zh) | 一种虚拟机的数据交换方法、装置及物理主机 | |
CN107888517A (zh) | 一种为主机划域的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220802 Address after: Geneva, Switzerland Patentee after: STMicroelectronics International N.V. Address before: France Patentee before: STMicroelectronics S.A. Patentee before: STMicroelectronics (Grenoble 2) S.A.S. Patentee before: STMicroelectronics S.R.L. |
|
TR01 | Transfer of patent right |