CN113094310A - 内存管理器、处理器内存子***、处理器和电子设备 - Google Patents
内存管理器、处理器内存子***、处理器和电子设备 Download PDFInfo
- Publication number
- CN113094310A CN113094310A CN202010192569.8A CN202010192569A CN113094310A CN 113094310 A CN113094310 A CN 113094310A CN 202010192569 A CN202010192569 A CN 202010192569A CN 113094310 A CN113094310 A CN 113094310A
- Authority
- CN
- China
- Prior art keywords
- memory
- processor
- data
- interface circuit
- parallelized
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 570
- 238000006243 chemical reaction Methods 0.000 claims description 112
- 230000003993 interaction Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 17
- 230000009467 reduction Effects 0.000 abstract description 10
- 238000000034 method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 241000243251 Hydra Species 0.000 description 6
- QRXWMOHMRWLFEY-UHFFFAOYSA-N isoniazide Chemical compound NNC(=O)C1=CC=NC=C1 QRXWMOHMRWLFEY-UHFFFAOYSA-N 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/0002—Serial port, e.g. RS232C
-
- 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/0004—Parallel ports, e.g. centronics
-
- 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/38—Universal adapter
- G06F2213/3852—Converter between protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本申请公开了一种内存管理器、处理器内存子***、处理器和电子设备。本申请实施例提供的内存管理器可以设置在内存和处理器之间,一端通过串行线与处理器连接,另一端通过并行线与内存连接。这样,处理器可以不必设置并行接口,而可以设置串行接口。由于串行传输方式的串扰问题较小,所以,串行接口对应的工作频率可以设置的高一些。因此,虽然一组串行接口的总线位宽小于一组并行接口的总线位宽,但是,串行接口的工作频率高于并行接口的工作频率,且工作频率的升高带来的内存带宽的提高量,大于总线位宽的减少带来的内存带宽的减小量,所以,采用本申请,可以有效的提升内存带宽,从而,提高处理器和内存之间的数据传输速率。
Description
本申请要求于2019年12月23日提交的申请号为201911340524.4、发明名称为“处理器***”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算技术领域,特别涉及一种内存管理器、处理器内存子***、处理器和电子设备。
背景技术
处理器,在运算过程中需要与内存之间进行数据交互,例如,从内存中读取数据,或者将数据写入到内存中。随着处理器的发展,处理器的计算能力越来越强,因此,对内存带宽的需求也越来越大,其中,内存带宽用于衡量处理器与内存之间数据交互的速率。内存带宽=(传输倍率×总线位宽×工作频率)÷8,总线位宽指内存数据总线的位数,表征一次最多传输的数据的多少,工作频率也就是内存的时钟频率,传输倍率是指每条内存数据线在一个时钟脉冲周期内传输数据的次数,工作频率和传输倍率共同表征数据传输的频率。
相关技术中,处理器与内存之间通过并行总线来传输数据。由于并行传输所需的并行接口的数量较大,且处理器的面积较小,所以,处理器上并行接口的间距较小,这使得处理器上的并行接口之间的串扰问题较严重,而为了减轻串扰,需要降低并行接口的工作频率,并行接口的工作频率受限严重。
因此,由于并行接口的工作频率较低,所以随着处理器的计算能力的逐渐提高,并行传输方式的内存带宽已经不能满足处理器的带宽需求,内存的性能限制了处理器性能的发挥,这就是经常说的“内存墙”。因此,如何提升内存带宽是一个十分重要的问题。
发明内容
本申请实施例提供了一种内存管理器、处理器内存子***、处理器和电子设备,可以解决相关技术中的技术问题。所述技术方案如下:
第一方面,提供了一种内存管理器,所述内存管理器包括串并转换接口电路、内存控制电路和并行接口电路,其中,所述串并转换接口电路包括串行端和并行端,所述串行端用于与处理器连接,所述并行端分别与所述内存控制电路的第一端和所述并行接口电路的内接端连接;所述内存控制电路的第二端与所述并行接口电路的内接端连接;所述并行接口电路的外接端用于与内存连接,所述内存控制电路用于对所述处理器和所述内存之间的数据交互进行控制。
其中,本申请实施例提供的内存管理器可以连接内存与处理器,具体的,内存管理器的串并转换接口电路与处理器连接,并行接口电路与内存连接。
处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和特殊应用集成电路(Application SpecificIntegrated Circuit,ASIC)等。处理器包括处理器Die和IO Die,本申请对处理器包括的处理器Die的数量不做限定。IO Die也可以称为输入/输出接口电路,IO Die可以与外部设备连接,实现外部设备和处理器之间的数据传输。外部设备可以为磁盘、鼠标、键盘和打印机等,用户可以通过外部设备和IO Die对处理器下达命令。处理器还可以通过IO Die与另一路处理器的IO Die连接,从而,两个处理器构成双路处理器。
本申请实施例提供的内存管理器可以集成在处理器中,也可以制作为一个单独的物理实体,独立于处理器和内存存在,本申请对此不做限定。
处理器Die包括处理器核和处理器串并转换接口电路,处理器串并转换接口电路用于对数据进行串并转换,具体的,将发送给内存管理器的数据转换为串行化的数据,将从内存管理器接收到的串行化的数据转换为处理器可读取的并行化的数据。
内存可以为同步动态随机存储器(Synchronous Dynamic Random-accessMemory,SDRAM)和双倍数据率同步动态随机存取存储器(Double Data Rate SynchronousDynamic Random Access Memory,DDR SDRAM)等。
内存管理器包括串并转换接口电路、内存控制电路和并行接口电路。串并转换接口电路与并行接口电路之间可以是通过数据线连接,串并转换接口电路与内存控制电路,以及内存控制电路与并行接口电路之间的连接可以是控制线连接。其中,数据线用于传输处理器读取的内存中的数据等数据,控制线用于传输读请求和写请求等控制指令。
内存管理器的串并转换接口电路用于对数据进行串并转换,具体的,可以用于将处理器发送的串行化的数据转换为并行化的数据,以及将从内存中接收到的并行化的数据转换为串行化的数据,并发送给处理器。串并转换接口电路,还可以称为串行解串器,例如,可以为高速串行解串器(HSS,High Speed Serializer-deserializer)。HSS可以包括HSS物理接口(HSS PHY)和HSS链路传输层逻辑(HSS Link transfer Layer)。HSS物理接口集成有输入/输出接口电路,用于连接处理器,并对接收到的数据进行串并转换处理。HSS链路传输层逻辑用于对数据进行编解码、校验等处理,也可以称为编解码电路。需要补充的是,上述处理器串并转换接口电路也可以为HSS。
内存控制电路用于对处理器和内存之间的数据交互进行控制,可以按照与内存对应的规定协议对数据进行处理(例如,内存为***DDR,则内存控制器按照***DDR对应的规定协议对数据进行处理),并将处理后的数据发送给内存。具体的,可以确定发送到内存的数据的时序以及在内存中寻址等。本申请提供的内存控制电路可以与现有技术中的内存控制器的功能相似,在此不再详细论述。
并行接口电路的外接端可以与内存连接,从而,实现内存管理器与内存的连接。
本申请实施例所示的方案,本申请实施例提供了一种内存管理器,该内存管理器可以设置在内存和处理器之间,一端通过串行线与处理器连接,另一端通过并行线与内存连接。这样,处理器不必通过并行接口与内存连接,而是处理器通过串行接口(处理器串并转换接口电路)连接到内存管理器,再通过内存管理器与内存之间的并行接口(并行接口电路)与内存传输数据。由于串行传输方式的串扰问题较小,所以,串行接口对应的工作频率可以设置的高一些。因此,虽然一组串行接口的总线位宽小于一组并行接口的总线位宽,但是,串行接口的工作频率高于并行接口的工作频率,且工作频率的升高带来的内存带宽的提高量,大于总线位宽的减少带来的内存带宽的减小量,所以,采用本申请,可以有效的提升内存带宽。
另外,由于每组串行接口的数量要小于每组并行接口的数量,再加上由于串行传输的串扰问题较小,所以串行接口之间的距离可以设置的小一些,所以,在面积较小的处理器上可以设置更多组的串行接口,这样处理器连接的内存管理器和内存的数量也就更多。处理器可以与更多个内存并行的进行数据传输,这也提高了内存带宽。而且,更多的内存,也意味着更大的内存容量。
再者,处理器接口数量的减小,对处理器的制作工艺的要求也有所降低。
在一种可能的实现方式中,所述内存管理器还包括预取缓存电路,所述预取缓存电路分别与所述串并转换接口电路的并行端、所述并行接口电路的内接端连接;所述预取缓存电路,用于从所述内存中预取并存储数据。
其中,串并转换接口电路和预取缓存电路之间可以即有控制线也有数据线。
本申请实施例所示的方案,由于内存管理器中设置有串并转换接口电路,所以与相关技术中的方案相比,在内存和处理器之间进行数据交互时,需要进行数据的串并转换。这不可避免的增加了内存时延,为了至少抵消该内存时延,本申请实施例所示的内存管理器中还设置有预取缓存电路。预取缓存电路,用于通过并行接口电路从内存中预取并存储数据。具体的,预取缓存电路通过采用预取算法预测处理器在下一周期或下几个周期需要读取的数据,并从内存中预取并存储这些数据。其中,预取算法可以为固定预取算法、顺序预取算法、基于应用暗示的预取算法和基于数据挖掘的预取算法等。
在处理器读取数据时,处理器可以先从预取缓存电路中进行数据的读取,在读取不到要求的数据时,再从内存中读取数据。在预取算法的准确率较高的情况下,处理器有很大概率可以从预取缓存电路中读取数据,从而,可以至少抵消串并转换接口电路带来的内存时延。
预取缓存电路可以分为缓存模块和预取模块,缓存模块用于存储处理器与内存之间的中间数据,预取模块用于从内存中预取需要读取的数据,并将其存储在缓存模块中。预取模块和缓存模块可以制作为一个实体电路。
在一种可能的实现方式中,所述预取缓存电路还与所述内存控制电路连接,所述内存控制电路用于控制所述预取缓存电路的开启和关闭。
其中,内存控制电路和预取缓存电路之间可以是控制线连接。
本申请实施例所示的方案,内存控制电路可以控制预取缓存电路的开启和关闭,当关闭预取缓存电路时,并行接口电路和串并转换接口电路直连。当开启预取缓存电路时,预取缓存电路具有正常的预取缓存功能。
通过使内存控制电路和预取缓存电路连接,可以在不需要预取缓存电路时,将其关闭。例如,在处理器执行某一应用的处理时,预取缓存电路总是预取错误,可以关闭预取缓存电路以节省资源。
在一种可能的实现方式中,所述串并转换接口电路,用于接收所述处理器发送的串行化的缓存数据读请求,并将所述串行化的缓存数据读请求转换为并行化的缓存数据读请求,向所述预取缓存电路发送所述并行化的缓存数据读请求;所述预取缓存电路,用于向所述串并转换接口电路发送所述缓存数据读请求对应的并行化的第一数据;所述串并转换接口电路,还用于将所述并行化的第一数据转换为串行化的第一数据,向所述处理器发送所述串行化的第一数据。
其中,缓存数据读请求是指针对于预取缓存电路中的数据的读请求。
本申请实施例所示的方案,处理器向预取缓存电路发送缓存数据读请求,以直接读取预取缓存电路中的数据。
串并转换接口电路对接收到的串行化的缓存数据读请求进行串并转换,转换为并行化的缓存数据读请求,并发送给预取缓存电路。
预取缓存电路基于接收到缓存数据读请求,确定缓存数据读请求对应的并行化的第一数据,并将并行化的第一数据发送给串并转换接口电路。
串并转换接口电路对接收到的并行化的第一数据进行串并转换,转换为串行化的第一数据,向处理器发送串行化的第一数据。
处理器接收到串行化的第一数据之后,将串行化的第一数据通过处理器串并转换接口电路转换为并行化的第一数据,即完成了读取预取缓存电路中的数据的处理。
在一种可能的实现方式中,所述串并转换接口电路,用于接收所述处理器发送的串行化的内存数据读请求,并将所述串行化的内存数据读请求转换为并行化的内存数据读请求,向所述内存控制电路发送所述并行化的内存数据读请求;所述内存控制电路,用于将所述并行化的内存数据读请求通过所述并行接口电路发送给内存;所述预取缓存电路,用于接收所述内存发送的所述内存读请求对应的并行化的第二数据,并将所述并行化的第二数据发送给所述串并转换接口电路;所述串并转换接口电路,还用于将所述并行化的第二数据转换为串行化的第二数据,向所述处理器发送所述串行化的第二数据。
其中,内存数据读请求是指针对于内存中的数据的读请求。
本申请实施例所示的方案,处理器在预取缓存电路中读取不到需要的数据时,可以在内存中读取,则可以向内存管理器发送串行的内存数据读请求。
串并转换接口电路对接收到的串行化的内存数据读请求进行串并转换,转换为并行化的内存数据读请求,并发送给内存控制电路。
内存控制电路对接收到的并行化的内存数据读请求按照相关的处理协议进行处理后,通过并行接口电路将处理后的并行化的内存数据读请求发送给内存。
内存基于接收到的内存数据读请求,确定内存数据读请求对应的第二数据,并将并行化的第二数据发送给预取缓存电路。
预取缓存电路将并行化的第二数据发送给串并转换接口电路。此时,预取缓存电路相当于一个直连通道。
串并转换接口电路对并行化的第二数据进行串并转换,转换为串行化的第二数据,并将串行化的第二数据发送给处理器。
处理器接收到串行化的第二数据之后,将串行化的第二数据通过处理器串并转换接口电路转换为并行化的第二数据,即完成了读取内存中的数据的处理。
在一种可能的实现方式中,所述预取缓存电路,还用于在接收到所述内存发送的所述内存数据读请求对应的并行化的第二数据时,存储所述并行化的第二数据。
本申请实施例所示的方案,由于处理器在读取内存中的某一数据之后,有很大的概率还会再次对该数据进行读取,所以,在预取缓存电路接收到内存发送的内存数据读请求对应的第二数据时,可以将第二数据存储在预取缓存电路时,以便处理器可以直接从预取缓存电路中再次读取该数据,减小了内存时延。这也可以理解为预取缓存电路的预取算法的一个具体实例。
在一种可能的实现方式中,所述串并转换接口电路,用于接收所述处理器发送的串行化的内存数据写请求,并将所述串行化的内存数据写请求转换为并行化的内存数据写请求,向所述内存控制电路发送所述并行化的内存数据写请求;所述内存控制电路,用于将所述并行化的内存数据写请求通过所述并行接口电路发送给内存。
其中,内存数据写请求是指针对于内存中的数据的写请求。
本申请实施例所示的方案,当处理器需要对内存中的数据进行写操作时,可以向内存管理器发送串行化的内存数据写请求。
串并转换接口电路对接收到的串行化的内存数据写请求进行串并转换,转换为并行化的内存数据写请求,并发送给内存控制电路。
内存控制电路对并行化的内存数据写请求按照相关的处理协议进行处理后,通过并行接口电路将处理后的并行化的内存数据写请求发送给内存。
内存接收到内存数据写请求之后,可以执行内存数据写请求对应的写操作。
在一种可能的实现方式中,所述预取缓存电路,还用于从所述内存中预取并存储经所述内存数据写请求对应的写操作处理后的数据。
本申请实施例所示的方案,由于处理器在对内存中的数据进行写操作之后,有很大的概率会立即读取写操作后的数据,所以,在内存进行完写操作之后,预取缓存电路还可以从内存中获取经内存数据写请求对应的写操作处理后的数据,以便处理器可以直接从预取缓存电路中读取进行写操作后的数据,减小了内存时延。这也可以理解为预取缓存电路的预取算法的一个具体实例。
第二方面,提供了一种处理器内存子***,所述处理器内存子***包括处理器、内存和上述第一方面任一项所述的内存管理器,所述处理器包括处理器串并转换接口电路,所述处理器串并转换接口电路的串行端与所述内存管理器中的串并转换接口电路的串行端连接;所述内存管理器的并行接口电路的外接端与所述内存连接。
其中,内存管理器可以集成在处理器中,也可以独立于处理器和内存,本申请对此不做限定。
处理器可以连接一个内存管理器,也可以连接多个内存管理器,本申请对此不做限定。具体的,可以根据处理器包括的处理器Die的数量,以及每个处理器Die包含的处理器核的数量来决定内存管理器的数量,决定内存的数量。
本申请实施例所示的方案,处理器内存子***可以包括单路处理器。处理器、内存管理器和内存之间进行数据交换的具体内容,可以参照上述第一方面的内容。
在一种可能的实现方式中,所述处理器内存子***包括两路处理器、多个内存和多个所述内存管理器,其中,所述两路处理器之间通过输入/输出接口电路连接;每路处理器与一个或多个内存管理器连接,每个内存管理器与一个内存连接。
本申请实施例所示的方案,每路处理器可以包括两个处理器Die,每个处理器Die可以连接有两个内存管理器,每个内存管理器可以与一个内存连接。
两路处理器的输入/输出接口电路连接,输入\输出接口电路也可以称为IO Die,具体的,两路处理器之间可以通过IO Die中的Hydra接口连接,两个Hydra接口通过片间高速一致性总线(Hydra Cache Coherence System,HCCS)完成连接。
与包含单路处理器的处理器内存子***相比,包含双路处理器的内存子***存在一路处理器访问另一路处理器所连接的内存或内存管理器中的数据的情况,下面对这种情况进行说明:
在一种可能的实现方式中,对于每路处理器,所述处理器,用于通过所述输入/输出接口电路向另一路处理器发送并行化的缓存数据读请求;所述另一路处理器,用于通过所述另一路处理器中的处理器串并转换接口电路,将所述并行化的缓存数据读请求转换为串行化的缓存数据读请求,向所述另一路处理器对应的内存管理器发送所述串行化的缓存数据读请求。
本申请实施例所示的方案,为了便于描述,将两路处理器分别称为第一路处理器和第二路处理器。当第一路处理器需要读取第二路处理器所连接的内存管理器中预取缓存电路中的数据时,第一路处理器通过输入/输出接口电路向第二路处理器发送缓存数据读请求。该缓存数据读请求为并行化的数据。
第二路处理器通过内部的处理器串并转换接口电路,将并行化的缓存数据读请求转换为串行化的缓存数据读请求,并发送给对应的内存管理器。
内存管理器接收到该缓存数据读请求后,从预取缓存电路中将该缓存数据读请求对应的数据发送给第二路处理器,发送给第二路处理器的数据为串行化的数据。
第二路处理器接收串行化的数据,并通过内部的处理器串并转换接口电路转换为并行化的数据,将该并行化的数据通过输入/输出接口电路发送给第一路处理器。
第一路处理器读取并行化的数据,即完成了第一路处理器读取第二路处理器所连接的内存管理器中的预取缓存电路中的数据的处理。
在一种可能的实现方式中,对于每路处理器,所述处理器,用于通过所述输入/输出接口电路向另一路处理器发送并行化的内存数据读请求;所述另一路处理器,用于通过所述另一路处理器中的处理器串并转换接口电路,将所述并行化的内存数据读请求转换为串行化的内存数据读请求,向所述另一路处理器对应的内存管理器发送所述串行化的内存数据读请求。
本申请实施例所示的方案,为了便于描述,将两路处理器分别称为第一路处理器和第二路处理器。当第一路处理器需要读取第二路处理器所连接的内存中的数据时,第一路处理器通过输入/输出接口电路向第二路处理器发送内存数据读请求。该内存数据读请求为并行化的数据。
第二路处理器通过内部的处理器串并转换接口电路,将并行化的内存数据读请求转换为串行化的内存数据读请求,并发送给对应的内存管理器。
内存管理器对内存数据读请求进行一系列处理后(具体的处理可以参照上述内存管理器部分的相关内容),发送给内存。
内存通过内存管理器向第二路处理器发送内存数据读请求对应的串行化的数据。
第二路处理器接收串行化的数据,并通过内部的处理器串转换接口电路转换为并行化的数据,将该并行化的数据通过输入/输出接口电路发送给第一路处理器。
第一路处理器读取并行化的数据,则完成了第一路处理器读取第二路处理器所连接的内存中的数据的处理。
在一种可能的实现方式中,对于每路处理器,所述处理器,用于通过所述输入/输出接口电路向另一路处理器发送并行化的内存数据写请求;所述另一路处理器,用于通过所述另一路处理器中的处理器串并转换接口电路,将所述并行化的内存数据写请求转换为串行化的内存数据写请求,向所述另一路处理器对应的内存管理器发送所述串行化的内存数据写请求。
本申请实施例所示的方案,为了便于描述,将两路处理器分别称为第一路处理器和第二路处理器。当第一路处理器需要对第二路处理器所连接的内存中的数据进行写操作时,第一路处理器通过输入/输出接口电路向第二路处理器发送内存数据写请求。该内存数据写请求为并行化的数据。
第二路处理器通过内部的处理器串并转换接口电路,将并行化的内存数据写请求转换为串行化的内存数据写请求,并发送给对应的内存管理器。
内存管理器对内存数据写请求进行一系列处理后(具体的处理可以参照上述内存管理器部分的相关内容),发送给内存。
内存执行该内存数据写请求对应的写操作。则完成了第一路处理器对第二路处理器所连接的内存中的数据进行写操作的处理。
在一种可能的实现方式中,对于每路处理器,所述处理器,用于接收所述内存管理器发送的串行化的数据,通过所述处理器中的处理器串并转换接口电路将所述串行化的数据转换为并行化的数据,通过所述输入/输出接口电路向另一路处理器发送所述并行化的数据。
本申请实施例所示的方案,为了便于描述,将两路处理器分别称为第一路处理器和第二路处理器。当第二路处理器读取第一路处理器连接的内存管理器或内存中的数据时,第一路处理器接收内存管理器发送的串行化的数据(该串行化的数据可以是从预取缓存电路中读取的,也可以是从内存中读取的),并通过处理器串并转换接口电路将串行化的数据转化为并行化的数据。
通过输入/输出接口电路向第二路处理器发送并行化的数据。
在一种可能的实现方式中,所述内存管理器集成在所述处理器中。
在一种可能的实现方式中,所述内存管理器独立于所述处理器和所述内存。
第三方面,提供了一种处理器,所述处理器集成有上述第一方面任一项所述的内存管理器。
第四方面,提供了一种电子设备,所述电子设备包括上述第二方面任一项所述的处理器内存子***。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供了一种内存管理器,该内存管理器可以设置在内存和处理器之间,一端通过串行线与处理器连接,另一端通过并行线与内存连接。这样,处理器可以不必设置并行接口,而可以设置串行接口。由于串行传输方式的串扰问题较小,所以,串行接口对应的工作频率可以设置的高一些。因此,虽然一组串行接口的总线位宽小于一组并行接口的总线位宽,但是,串行接口的工作频率高于并行接口的工作频率,且工作频率的升高带来的内存带宽的提高量,大于总线位宽的减少带来的内存带宽的减小量,所以,采用本申请,可以有效的提升内存带宽。
附图说明
图1是本申请实施例提供的一种内存管理器的逻辑架构图;
图2是本申请实施例提供的一种内存管理器的逻辑架构图;
图3是本申请实施例提供的一种内存管理器的逻辑架构图;
图4是本申请实施例提供的一种处理器内存子***的逻辑架构图;
图5是本申请实施例提供的一种处理器内存子***的逻辑架构图;
图6是本申请实施例提供的一种处理器内存子***的逻辑架构图;
图7是本申请实施例提供的一种处理器Die的逻辑架构图。
具体实施方式
本申请实施例提供了一种内存管理器,如图1-4所示,该内存管理器包括串并转换接口电路、内存控制电路和并行接口电路。串并转换接口电路包括串行端和并行端,串行端用于与处理器连接,并行端分别与内存控制电路的第一端和并行接口电路的内接端连接。内存控制电路的第二端与并行接口电路的内接端连接。并行接口电路的外接端用于与内存连接,内存控制电路用于对处理器和内存之间的数据交互进行控制。
其中,本申请实施例提供的内存管理器可以连接内存与处理器,具体的,内存管理器的串并转换接口电路与处理器连接,并行接口电路与内存连接。
处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和特殊应用集成电路(Application SpecificIntegrated Circuit,ASIC)等。处理器包括处理器Die和IO Die,本申请对处理器包括的处理器Die的数量不做限定,如图5和图6所示,处理器可以包括两个处理器Die。IO Die也可以称为输入/输出接口电路,IO Die可以与外部设备连接,实现外部设备和处理器之间的数据传输。外部设备可以为磁盘、鼠标、键盘和打印机等,用户可以通过外部设备和输入/输出接口电路对处理器下达命令。处理器还可以通过IO Die与另一路处理器的IO Die连接,从而,两个处理器构成双路处理器。
本申请实施例提供的内存管理器可以集成在处理器中,也可以制作为一个单独的物理实体,独立于处理器和内存存在,本申请对此不做限定。
如图7所示,处理器Die包括处理器核和处理器串并转换接口电路,处理器串并转换接口电路用于对数据进行串并转换,具体的,将发送给内存管理器的数据转换为串行化的数据,将从内存管理器接收到的串行化的数据转换为处理器可读取的并行化的数据。
内存可以为同步动态随机存储器(Synchronous Dynamic Random-accessMemory,SDRAM)和双倍数据率同步动态随机存取存储器(Double Data Rate SynchronousDynamic Random Access Memory,DDR SDRAM)等。
内存管理器包括串并转换接口电路、内存控制电路和并行接口电路。串并转换接口电路与并行接口电路之间可以是通过数据线连接,串并转换接口电路与内存控制电路,以及内存控制电路与并行接口电路之间的连接可以是控制线连接。其中,数据线用于传输处理器读取到的内存中的数据等,控制线用于传输读请求和写请求等控制指令,如图1-图4所示,图中的实线连接代表数据线连接,虚线连接代表控制线连接。
内存管理器的串并转换接口电路用于对数据进行串并转换,具体的,可以用于将处理器发送的串行化的数据转换为并行化的数据,以及将从内存中接收到的并行化的数据转换为串行化的数据,并发送给处理器。串并转换接口电路,还可以称为串行解串器,例如,可以为高速串行解串器(HSS,High Speed Serializer-deserializer)。HSS可以包括HSS物理接口(HSSPHY)和HSS链路传输层逻辑(HSS Link transfer Layer)。HSS物理接口集成有输入/输出接口电路,用于连接处理器,并对接收到的数据进行串并转换。HSS链路传输层逻辑用于对数据进行编解码、校验等处理,也可以称为编解码电路。需要补充的是,上述处理器串并转换接口电路也可以为HSS。
内存控制电路用于对处理器和内存之间的数据交互进行控制,可以按照与内存对应的规定协议对数据进行处理(例如,内存为***DDR,则内存控制器按照***DDR对应的规定协议对数据进行处理),并将处理后的数据发送给内存。具体的,可以确定发送到内存的数据的时序以及在内存中寻址等。本申请提供的内存控制电路可以与现有技术中的内存控制器的功能相似,在此不再详细论述。
并行接口电路的外接端可以与内存连接,从而,实现内存管理器与内存的连接。
需要补充的是,串并转换接口电路、内存控制电路和并行接口电路可以统称为数据链路层电路。除了上述数据链路层电路之外,如图3和图4所示,本申请实施例提供的内存管理器还可以包括控制电路,具体的控制电路可以包括以下电路:
桥接电路(Bridge),用于对数据链路电路和控制电路之间的数据传输进行桥接处理。
片内互连总线(Interconnect Bus),为内存管理器内部的互连总线。
微控制器(uCPU),用于对内存管理器进行控制和调试。
只读存储器(ROM),用于存储内存管理器的启动和调试的代码。
RESET控制器,也可以称为复位控制器,用于内存管理器的复位初始化。
I2C接口,I2C是双向二线制同步串行总线,在连接于总线上的器件之间传送信息。
本申请实施例所示的方案,本申请实施例提供了一种内存管理器,该内存管理器可以设置在内存和处理器之间,一端通过串行线与处理器连接,另一端通过并行线与内存连接。这样,处理器可以不必设置并行接口,而可以设置串行接口(即处理器串并转换接口电路)。由于串行传输方式的串扰问题较小,所以,串行接口对应的工作频率可以设置的高一些。因此,虽然一组串行接口的总线位宽小于一组并行接口的总线位宽,但是,串行接口的工作频率高于并行接口的工作频率,且工作频率的升高带来的内存带宽的提高量,大于总线位宽的减少带来的内存带宽的减小量,所以,采用本申请,可以有效的提升内存带宽。
另外,由于每组串行接口的数量要小于每组并行接口的数量,再加上由于串行传输的串扰问题较小,所以串行接口之间的距离可以设置的小一些,所以,在面积较小的处理器上可以设置更多组的串行接口,这样处理器连接的内存管理器和内存的数量也就更多。处理器可以与更多个内存并行的进行数据传输,这也提高了内存带宽。而且,更多的内存,也意味着更大的内存容量。
再者,处理器接口数量的减小,对处理器的制作工艺的要求也有所降低。
在一种可能的实现方式中,如图2-4所示内存管理器还包括预取缓存电路,预取缓存电路分别与串并转换接口电路的并行端、并行接口电路的内接端连接。预取缓存电路,用于从内存中预取并存储数据。
其中,串并转换接口电路和预取缓存电路之间可以即有控制线也有数据线。
本申请实施例所示的方案,由于内存管理器中设置有串并转换接口电路,所以与相关技术中的方案相比,在内存和处理器之间进行数据交互时,需要进行数据的串并转换。这不可避免的增加了内存时延,为了至少抵消该内存时延,本申请实施例所示的内存管理器中还设置有预取缓存电路。预取缓存电路,用于通过并行接口电路从内存中预取并存储数据。具体的,预取缓存电路通过采用预取算法预测处理器在下一周期或下几个周期需要读取的数据,并从内存中预取并存储这些数据。其中,预取算法可以为固定预取算法、顺序预取算法、基于应用暗示的预取算法和基于数据挖掘的预取算法等。
在处理器读取数据时,处理器可以先从预取缓存电路中进行数据的读取,在读取不到要求的数据时,再从内存中读取数据。在预取算法的准确率较高的情况下,处理器有很大概率可以从预取缓存电路中读取数据,从而,可以至少抵消串并转换接口电路带来的内存时延。
预取缓存电路可以分为缓存模块和预取模块,缓存模块用于存储处理器与内存之间的中间数据,预取模块用于从内存中预取需要读取的数据,并将其存储在缓存模块中。预取模块和缓存模块可以制作为一个实体电路。
在一种可能的实现方式中,如图2-4所示,内存控制电路还与预取缓存电路连接。
其中,内存控制电路和预取缓存电路之间可以是控制线连接。
本申请实施例所示的方案,内存控制电路可以控制预取缓存电路的开启和关闭,当关闭预取缓存电路时,并行接口电路和串并转换接口电路直连。当开启预取缓存电路时,预取缓存电路具有正常的预取缓存功能。
通过使内存控制电路和预取缓存电路连接,可以在不需要预取缓存电路时,将其关闭。例如,在处理器执行某一应用的处理时,预取缓存电路总是预取错误,可以关闭预取缓存电路以节省资源。
在一种可能的实现方式中,串并转换接口电路,用于接收处理器发送的串行化的缓存数据读请求,并将串行化的缓存数据读请求转换为并行化的缓存数据读请求,向预取缓存电路发送并行化的缓存数据读请求。预取缓存电路,用于向串并转换接口电路发送缓存数据读请求对应的并行化的第一数据。串并转换接口电路,还用于将并行化的第一数据转换为串行化的第一数据,向处理器发送串行化的第一数据。
其中,缓存数据读请求是指针对于预取缓存电路中的数据的读请求。
本申请实施例所示的方案,处理器向预取缓存电路发送缓存数据读请求,以直接读取预取缓存电路中的数据。
串并转换接口电路对接收到的串行化的缓存数据读请求进行串并转换,转换为并行化的缓存数据读请求,并发送给预取缓存电路。
预取缓存电路基于接收到缓存数据读请求,确定缓存数据读请求对应的并行化的第一数据,并将并行化的第一数据发送给串并转换接口电路。
串并转换接口电路对接收到的并行化的第一数据进行串并转换,转换为串行化的第一数据,向处理器发送串行化的第一数据。
处理器接收到串行化的第一数据之后,将串行化的第一数据通过处理器串并转换接口电路转换为并行化的第一数据,即完成了读取预取缓存电路中的数据的处理。
在一种可能的实现方式中,串并转换接口电路,用于接收处理器发送的串行化的内存数据读请求,并将串行化的内存数据读请求转换为并行化的内存数据读请求,向内存控制电路发送并行化的内存数据读请求。内存控制电路,用于将并行化的内存数据读请求通过并行接口电路发送给内存。预取缓存电路,用于接收内存发送的内存数据读请求对应的并行化的第二数据,并将并行化的第二数据发送给串并转换接口电路。串并转换接口电路,还用于将并行化的第二数据转换为串行化的第二数据,向处理器发送串行化的第二数据。
其中,内存数据读请求是指针对于内存中的数据的读请求。
本申请实施例所示的方案,处理器在预取缓存电路中读取不到需要的数据时,可以在内存中读取,则可以向内存管理器发送串行的内存数据读请求。
串并转换接口电路对接收到的串行化的内存数据读请求进行串并转换,转换为并行化的内存数据读请求,并发送给内存控制电路。
内存控制电路对接收到的并行化的内存数据读请求按照相关的处理协议进行处理后,通过并行接口电路将处理后的并行化的内存数据读请求发送给内存。
内存基于接收到的内存数据读请求,确定内存数据读请求对应的第二数据,并将并行化的第二数据发送给预取缓存电路。
预取缓存电路将并行化的第二数据发送给串并转换接口电路。此时,预取缓存电路相当于一个直连通道。
串并转换接口电路对并行化的第二数据进行串并转换,转换为串行化的第二数据,并将串行化的第二数据发送给处理器。
处理器接收到串行化的第二数据之后,将串行化的第二数据通过处理器串并转换接口电路转换为并行化的第二数据,即完成了读取内存中的数据的处理。
在一种可能的实现方式中,预取缓存电路,还用于在接收到内存发送的内存数据读请求对应的并行化的第二数据时,存储该并行化的第二数据。
本申请实施例所示的方案,由于处理器在读取内存中的某一数据之后,有很大的概率还会再次对该数据进行读取,所以,在预取缓存电路接收到内存发送的内存数据读请求对应的第二数据时,可以将第二数据存储在预取缓存电路时,以便处理器可以直接从预取缓存电路中再次读取该数据,减小了内存时延。这也可以理解为预取缓存电路的预取算法的一个具体实例。
在一种可能的实现方式中,串并转换接口电路,用于接收处理器发送的串行化的内存数据写请求,并将串行化的内存数据写请求转换为并行化的内存数据写请求,向内存控制电路发送并行化的内存数据写请求。内存控制电路,用于将并行化的内存数据写请求通过并行接口电路发送给内存。
其中,内存数据写请求是指针对于内存中的数据的写请求。
本申请实施例所示的方案,当处理器需要对内存中的数据进行写操作时,可以向内存管理器发送串行化的内存数据写请求。
串并转换接口电路对接收到的串行化的内存数据写请求进行串并转换,转换为并行化的内存数据写请求,并发送给内存控制电路。
内存控制电路对并行化的内存数据写请求按照相关的处理协议进行处理后,通过并行接口电路将处理后的并行化的内存数据写请求发送给内存。
内存接收到内存数据写请求之后,可以执行内存数据写请求对应的写操作。
在一种可能的实现方式中,预取缓存电路,还用于从内存中预取并存储经内存数据写请求对应的写操作处理后的数据。
本申请实施例所示的方案,由于处理器在对内存中的数据进行写操作之后,有很大的概率会立即读取写操作后的数据,所以,在内存进行完写操作之后,预取缓存电路还可以从内存中获取经内存数据写请求对应的写操作处理后的数据,以便处理器可以直接从预取缓存电路中读取进行写操作后的数据,减小了内存时延。这也可以理解为预取缓存电路的预取算法的一个具体实例。
本申请实施例还提供了一种处理器内存子***,如图4、图5和图6所示,该处理器内存子***包括处理器、内存和上述内存管理器,其中,处理器包括处理器串并转换接口电路,处理器串并转换接口电路的串行端与内存管理器中的串并转换接口电路的串行端连接。内存管理器的并行接口电路的外接端与内存连接。
其中,内存管理器可以集成在处理器中,也可以独立于处理器和内存,本申请对此不做限定。
处理器可以连接一个内存管理器,也可以连接多个内存管理器,本申请对此不做限定。具体的,可以根据处理器包括的处理器Die的数量,以及每个处理器Die包含的处理器核的数量来决定内存管理器的数量,进而决定内存的数量。
本申请实施例所示的方案,如图5所示,处理器内存子***可以包括单路处理器,该单路处理器包括两个处理器Die,每个处理器Die连接两个内存管理器,每个内存管理器与一个内存连接。
处理器、内存管理器和内存之间进行数据交换的具体内容,可以参照上述内存管理器部分的内容。
需要补充的是,处理器向内存管理器发送数据时,处理器内部的处理过程可以如下所述:
处理器进行数据运算与处理,将需要发送的数据通过片内缓存进行传输,处理器的片内缓存一般可以分层为一级缓存(L1 Cache)、二级缓存(L2 Cache)和三级缓存(L3Cache)。
片内缓存的数据通过锁的机制进行一致性处理,来保证各处理器核在读取内存时遵循某种规则,保证不出现数据不一致的问题。
在一种可能的实现方式中,如图6所示,处理器内存子***包括两路处理器、多个内存和多个内存管理器,其中,两路处理器之间通过输入/输出接口电路连接。每路处理器与一个或多个内存管理器连接,每个内存管理器与一个内存连接。
本申请实施例所示的方案,每路处理器包括两个处理器Die,每个处理器Die连接有两个内存管理器,每个内存管理器与一个内存连接。
两路处理器的输入/输出接口电路连接,输入\输出接口电路也可以称为IO Die,具体的,两路处理器之间可以通过IO Die中的Hydra接口连接,两个Hydra接口通过片间高速一致性总线(Hydra Cache Coherence System,HCCS)完成连接。
与包含单路处理器的处理器内存子***相比,包含双路处理器的内存子***存在一路处理器访问另一路处理器所连接的内存或内存管理器中的数据的情况,下面对这种情况进行说明:
在一种可能的实现方式中,对于每路处理器,该路处理器,用于通过输入/输出接口电路向另一路处理器发送并行化的缓存数据读请求。另一路处理器,用于通过内部的处理器串并转换接口电路,将并行化的缓存数据读请求转换为串行化的缓存数据读请求,向该另一路处理器对应的内存管理器发送串行化的缓存数据读请求。
本申请实施例所示的方案,为了便于描述,将两路处理器分别称为第一路处理器和第二路处理器。当第一路处理器需要读取第二路处理器所连接的内存管理器中预取缓存电路中的数据时,第一路处理器通过输入/输出接口电路向第二路处理器发送缓存数据读请求。该缓存数据读请求为并行化的数据。
第二路处理器通过内部的处理器串并转换接口电路,将并行化的缓存数据读请求转换为串行化的缓存数据读请求,并发送给对应的内存管理器。
内存管理器接收到该缓存数据读请求后,从预取缓存电路中将该缓存数据读请求对应的数据发送给第二路处理器,发送给第二路处理器的数据为串行化的数据。
第二路处理器接收串行化的数据,并通过内部的处理器串并转换接口电路转换为并行化的数据,将该并行化的数据通过输入/输出接口电路发送给第一路处理器。
第一路处理器读取并行化的数据,即完成了第一路处理器读取第二路处理器所连接的内存管理器中的预取缓存电路中的数据的处理。
在一种可能的实现方式中,对于每路处理器,该路处理器,用于通过输入/输出接口电路向另一路处理器发送并行化的内存数据读请求。另一路处理器,用于通过内部的处理器串并转换接口电路,将并行化的内存数据读请求转换为串行化的内存数据读请求,向该另一路处理器对应的内存管理器发送串行化的内存数据读请求。
本申请实施例所示的方案,为了便于描述,将两路处理器分别称为第一路处理器和第二路处理器。当第一路处理器需要读取第二路处理器所连接的内存中的数据时,第一路处理器通过输入/输出接口电路向第二路处理器发送内存数据读请求。该内存数据读请求为并行化的数据。
第二路处理器通过内部的处理器串并转换接口电路,将并行化的内存数据读请求转换为串行化的内存数据读请求,并发送给对应的内存管理器。
内存管理器对内存数据读请求进行一系列处理后(具体的处理可以参照上述内存管理器部分的相关内容),发送给内存。
内存通过内存管理器向第二路处理器发送内存数据读请求对应的串行化的数据。
第二路处理器接收串行化的数据,并通过内部的处理器串转换接口电路转换为并行化的数据,将该并行化的数据通过输入/输出接口电路发送给第一路处理器。
第一路处理器读取并行化的数据,则完成了第一路处理器读取第二路处理器所连接的内存中的数据的处理。
在一种可能的实现方式中,对于每路处理器,该路处理器,用于通过输入/输出接口电路向另一路处理器发送并行化的内存数据写请求。另一路处理器,用于通过内部的处理器串并转换接口电路,将并行化的内存数据写请求转换为串行化的内存数据写请求,向该另一路处理器对应的内存管理器发送串行化的内存数据写请求。
本申请实施例所示的方案,为了便于描述,将两路处理器分别称为第一路处理器和第二路处理器。当第一路处理器需要对第二路处理器所连接的内存中的数据进行写操作时,第一路处理器通过输入/输出接口电路向第二路处理器发送内存数据写请求。该内存数据写请求为并行化的数据。
第二路处理器通过内部的处理器串并转换接口电路,将并行化的内存数据写请求转换为串行化的内存数据写请求,并发送给对应的内存管理器。
内存管理器对内存数据写请求进行一系列处理后(具体的处理可以参照上述内存管理器部分的相关内容),发送给内存。
内存执行该内存数据写请求对应的写操作。则完成了第一路处理器对第二路处理器所连接的内存中的数据进行写操作的处理。
本申请实施例还提供了一种处理器,该处理器集成有上述任一项所述的内存管理器。
本申请实施例还提供了一种电子设备,该电子设备安装有上述任一项所述的处理器内存子***。
Claims (18)
1.一种内存管理器,其特征在于,所述内存管理器包括串并转换接口电路、内存控制电路和并行接口电路,其中,
所述串并转换接口电路包括串行端和并行端,所述串行端用于与处理器连接,所述并行端分别与所述内存控制电路的第一端和所述并行接口电路的内接端连接;
所述内存控制电路的第二端与所述并行接口电路的内接端连接;
所述并行接口电路的外接端用于与内存连接,所述内存控制电路用于对所述处理器和所述内存之间的数据交互进行控制。
2.根据权利要求1所述的内存管理器,其特征在于,所述内存管理器还包括预取缓存电路,所述预取缓存电路分别与所述串并转换接口电路的并行端、所述并行接口电路的内接端连接;
所述预取缓存电路,用于从所述内存中预取并存储数据。
3.根据权利要求2所示的内存管理器,其特征在于,所述预取缓存电路还与所述内存控制电路连接,所述内存控制电路用于控制所述预取缓存电路的开启和关闭。
4.根据权利要求2或3所述的内存管理器,其特征在于,所述串并转换接口电路,用于接收所述处理器发送的串行化的缓存数据读请求,并将所述串行化的缓存数据读请求转换为并行化的缓存数据读请求,向所述预取缓存电路发送所述并行化的缓存数据读请求;
所述预取缓存电路,用于向所述串并转换接口电路发送所述缓存数据读请求对应的并行化的第一数据;
所述串并转换接口电路,还用于将所述并行化的第一数据转换为串行化的第一数据,向所述处理器发送所述串行化的第一数据。
5.根据权利要求2-4任一项所述的内存管理器,其特征在于,所述串并转换接口电路,用于接收所述处理器发送的串行化的内存数据读请求,并将所述串行化的内存数据读请求转换为并行化的内存数据读请求,向所述内存控制电路发送所述并行化的内存数据读请求;
所述内存控制电路,用于将所述并行化的内存数据读请求通过所述并行接口电路发送给内存;
所述预取缓存电路,用于接收所述内存发送的所述内存读请求对应的并行化的第二数据,并将所述并行化的第二数据发送给所述串并转换接口电路;
所述串并转换接口电路,还用于将所述并行化的第二数据转换为串行化的第二数据,向所述处理器发送所述串行化的第二数据。
6.根据权利要求5所述的内存管理器,其特征在于,所述预取缓存电路,还用于在接收到所述内存发送的所述内存数据读请求对应的并行化的第二数据时,存储所述并行化的第二数据。
7.根据权利要求2-6任一项所述的内存管理器,其特征在于,所述串并转换接口电路,用于接收所述处理器发送的串行化的内存数据写请求,并将所述串行化的内存数据写请求转换为并行化的内存数据写请求,向所述内存控制电路发送所述并行化的内存数据写请求;
所述内存控制电路,用于将所述并行化的内存数据写请求通过所述并行接口电路发送给内存。
8.根据权利要求7所述的内存管理器,其特征在于,所述预取缓存电路,还用于从所述内存中预取并存储经所述内存数据写请求对应的写操作处理后的数据。
9.一种处理器内存子***,其特征在于,所述处理器内存子***包括处理器、内存和如权利要求1-7任一项所述的内存管理器,其中,
所述处理器包括处理器串并转换接口电路,所述处理器串并转换接口电路的串行端与所述内存管理器中的串并转换接口电路的串行端连接;
所述内存管理器的并行接口电路的外接端与所述内存连接。
10.根据权利要求9所述的处理器内存子***,其特征在于,所述处理器内存子***包括两路处理器、多个内存和多个所述内存管理器,其中,
所述两路处理器之间通过输入/输出接口电路连接;
每路处理器与一个或多个内存管理器连接,每个内存管理器与一个内存连接。
11.根据权利要求10所述的处理器内存子***,其特征在于,对于每路处理器,所述处理器,用于通过所述输入/输出接口电路向另一路处理器发送并行化的缓存数据读请求;
所述另一路处理器,用于通过所述另一路处理器中的处理器串并转换接口电路,将所述并行化的缓存数据读请求转换为串行化的缓存数据读请求,向所述另一路处理器对应的内存管理器发送所述串行化的缓存数据读请求。
12.根据权利要求10或11所述的处理器内存子***,其特征在于,对于每路处理器,所述处理器,用于通过所述输入/输出接口电路向另一路处理器发送并行化的内存数据读请求;
所述另一路处理器,用于通过所述另一路处理器中的处理器串并转换接口电路,将所述并行化的内存数据读请求转换为串行化的内存数据读请求,向所述另一路处理器对应的内存管理器发送所述串行化的内存数据读请求。
13.根据权利要求10-12任一项所述的处理器内存子***,其特征在于,对于每路处理器,所述处理器,用于通过所述输入/输出接口电路向另一路处理器发送并行化的内存数据写请求;
所述另一路处理器,用于通过所述另一路处理器中的处理器串并转换接口电路,将所述并行化的内存数据写请求转换为串行化的内存数据写请求,向所述另一路处理器对应的内存管理器发送所述串行化的内存数据写请求。
14.根据权利要求10-13任一项所述的处理器内存子***,其特征在于,对于每路处理器,所述处理器,用于接收所述内存管理器发送的串行化的数据,通过所述处理器中的处理器串并转换接口电路将所述串行化的数据转换为并行化的数据,通过所述输入/输出接口电路向另一路处理器发送所述并行化的数据。
15.根据权利要求10-14任一项所述的处理器内存子***,其特征在于,所述内存管理器集成在所述处理器中。
16.根据权利要求10-14任一项所述的处理器内存子***,其特征在于,所述内存管理器独立于所述处理器和所述内存。
17.一种处理器,其特征在于,所述处理器集成有如权利要1-8任一项所述的内存管理器。
18.一种电子设备,其特征在于,所述电子设备包括如权利要求9-16任一项所述的处理器内存子***。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20905139.0A EP4060508B1 (en) | 2019-12-23 | 2020-11-26 | Memory manager, processor memory subsystem, processor and electronic device |
PCT/CN2020/131926 WO2021129304A1 (zh) | 2019-12-23 | 2020-11-26 | 内存管理器、处理器内存子***、处理器和电子设备 |
US17/846,522 US20220327070A1 (en) | 2019-12-23 | 2022-06-22 | Memory Manager, Processor Memory Subsystem, Processor, and Electronic Device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019113405244 | 2019-12-23 | ||
CN201911340524 | 2019-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113094310A true CN113094310A (zh) | 2021-07-09 |
Family
ID=76664028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010192569.8A Pending CN113094310A (zh) | 2019-12-23 | 2020-03-18 | 内存管理器、处理器内存子***、处理器和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094310A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237822A (zh) * | 2022-09-22 | 2022-10-25 | 之江实验室 | 一种针对晶圆级处理器iic配置接口的地址优化装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147780A (zh) * | 2011-04-27 | 2011-08-10 | 中国电子科技集团公司第三十八研究所 | 一种基于串行数据传输方式的链路接口电路 |
CN102411982A (zh) * | 2010-09-25 | 2012-04-11 | 杭州华三通信技术有限公司 | 内存控制器及命令控制方法 |
US20160092383A1 (en) * | 2014-09-26 | 2016-03-31 | Kuljit S. Bains | Common die implementation for memory devices |
-
2020
- 2020-03-18 CN CN202010192569.8A patent/CN113094310A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411982A (zh) * | 2010-09-25 | 2012-04-11 | 杭州华三通信技术有限公司 | 内存控制器及命令控制方法 |
CN102147780A (zh) * | 2011-04-27 | 2011-08-10 | 中国电子科技集团公司第三十八研究所 | 一种基于串行数据传输方式的链路接口电路 |
US20160092383A1 (en) * | 2014-09-26 | 2016-03-31 | Kuljit S. Bains | Common die implementation for memory devices |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237822A (zh) * | 2022-09-22 | 2022-10-25 | 之江实验室 | 一种针对晶圆级处理器iic配置接口的地址优化装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5571288B2 (ja) | ハブ装置、プリフェッチ・モードを選択するための方法、メモリ・システム及びメモリ・サブシステム | |
WO2020001459A1 (zh) | 数据处理方法、远程直接访存网卡和设备 | |
US7596641B2 (en) | System and method for transmitting data packets in a computer system having a memory hub architecture | |
US6009488A (en) | Computer having packet-based interconnect channel | |
CN112463714B (zh) | 远程直接内存访问方法、异构计算***及电子设备 | |
US20050071542A1 (en) | Prefetch mechanism for use in a system including a host connected to a plurality of memory modules via a serial memory interconnect | |
US20040228166A1 (en) | Buffer chip and method for actuating one or more memory arrangements | |
CN112035389B (zh) | 一种plb-axi总线转换桥及其工作方法 | |
US7899940B2 (en) | Servicing commands | |
US20230017643A1 (en) | Composable infrastructure enabled by heterogeneous architecture, delivered by cxl based cached switch soc | |
US11869626B2 (en) | Internal and external data transfer for stacked memory dies | |
WO2021113778A1 (en) | Data transfers between a memory and a distributed compute array | |
CN113094310A (zh) | 内存管理器、处理器内存子***、处理器和电子设备 | |
Lee | On‐Chip Bus Serialization Method for Low‐Power Communications | |
Chen et al. | MIMS: Towards a message interface based memory system | |
WO2021129304A1 (zh) | 内存管理器、处理器内存子***、处理器和电子设备 | |
JP3096576B2 (ja) | メモリ制御回路とその回路を内蔵した集積回路素子 | |
CN107807888B (zh) | 一种用于soc架构的数据预取***及其方法 | |
CN116661695B (zh) | 一种总线加速方法和装置 | |
US11928039B1 (en) | Data-transfer test mode | |
Hu et al. | A Noc Centric Low Overhead Multi-chip Interconnection Technology | |
CN117312210B (zh) | 一种通用扩展risc-v处理器性能的方法 | |
US20240079036A1 (en) | Standalone Mode | |
CN117667758B (zh) | L3级缓存扩展装置、访问方法、访问装置、设备及介质 | |
US20240070093A1 (en) | Asymmetric Read-Write Sequence for Interconnected Dies |
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 |