CN115658601A - 多核处理器系统及其控制方法 - Google Patents
多核处理器系统及其控制方法 Download PDFInfo
- Publication number
- CN115658601A CN115658601A CN202211185041.3A CN202211185041A CN115658601A CN 115658601 A CN115658601 A CN 115658601A CN 202211185041 A CN202211185041 A CN 202211185041A CN 115658601 A CN115658601 A CN 115658601A
- Authority
- CN
- China
- Prior art keywords
- signal
- clock cycle
- handshake
- input data
- logic circuit
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开涉及处理器领域,提供了一种多核处理器系统及其控制方法,该多核处理器系统包括:多个处理器核;缓存一致性单元,与多个处理器核及设备连接,缓存一致性单元控制从设备与多个处理器核之间的数据交互,以实现多核处理器系统的缓存一致性,其中,缓存一致性单元包括:延迟反压电路,用于在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据,并在缓存一致性单元和从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。本公开能够在优化时序的同时保证流水线的高性能传输,有效地避免了输入数据丢失引起的缓存不一致情况,并且能够降低电路功耗。
Description
技术领域
本公开涉及处理器领域,具体涉及一种多核处理器系统及其控制方法。
背景技术
随着计算机系统以及工艺的不断发展,碍于工艺方面的物理限制,对商用单核处理器进行大幅度性能提升日益艰难。由于单核处理器性能越来越不适用当下高算力的场景。为了提高计算机系统的性能及处理高算力场景的可用性,处理器逐渐朝着多核方向发展。如图1所示为一个四核处理器模型,四个处理器核(CPU0、CPU1、CPU2、CPU3)彼此之间通过缓存一致性单元20相连,同时每个处理器核与从设备40之间均通过缓存一致性单元20和片上网络30(Network Operation Center,NoC)进行数据交互。
在多核处理器的发展中存在着一个不可避免的问题,即多核缓存一致性问题,简单来说就是当处理器核CPU0修改了自己的私有高速缓存(Private Cache)中的某个缓存行时,需要将这件事情通知给其余存有这条缓存行的处理器核(CPU1、CPU2、CPU3),以避免出现多个处理器核同时修改了同一个地址数据的问题。多核缓存一致性通常由硬件直接进行处理,这对软件层面来说是透明的,因此极大的方便软件工作人员,并且提高了软件运行时的效率。
在多核缓存一致性实现时,若数据传输路径过长,容易引起一些时序上的问题,这些时序上的问题通常可以通过打拍处理解决,但打拍处理容易出现一致性模块与上游握手成功,但与下游握手不成功的状态,会使得数据丢失,造成缓存不一致。
因此,有必要提供改进的技术方案以克服现有技术中存在的以上技术问题。
发明内容
为了解决上述技术问题,本公开提供了一种多核处理器系统及其控制方法,通过在缓存一致性单元中加入延迟电路,能够在优化时序的同时保证流水线的高性能传输,有效地避免了输入数据丢失引起的缓存不一致情况,并且能够降低电路功耗。
根据本公开第一方面,提供了一种多核处理器系统,包括:多个处理器核;
缓存一致性单元,与所述多个处理器核及从设备连接,所述缓存一致性单元控制所述从设备与所述多个处理器核之间的数据交互,以实现所述多核处理器系统的缓存一致性,
其中,所述缓存一致性单元包括:
延迟反压电路,用于在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据,并在所述缓存一致性单元和所述从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。
可选地,所述延迟反压电路包括:
逻辑控制单元,用于根据所述缓存一致性单元向所述从设备发送的第一握手信号、所述从设备向所述缓存一致性单元发送的第二握手信号以及所述缓存一致性单元向所述从设备发送的信息传输请求信号生成选择信号,所述信息传输请求信号用于表征是否有新的信息传输请求;
选择单元,用于在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据,并根据所述选择信号在所述缓存一致性单元和所述从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。
可选地,所述缓存一致性单元和所述从设备之间在所述第一握手信号和所述第二握手信号均有效时处于握手成功状态,以及所述选择单元在所述第一握手信号和所述第二握手信号均有效的第一个时钟周期输出缓存的输入数据,并从所述第一握手信号和所述第二握手信号均有效的第二个时钟周期开始输出当前时钟周期传输的输入数据。
可选地,所述选择单元包括:
第一D触发器,输入端接收当前时钟周期传输的输入数据,所述第一D触发器用于在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据并于输出端输出;
数据选择器,第一输入端与所述第一D触发器的输出端连接,第二输入端与所述第一D触发器的输入端连接,控制端接收所述选择信号,所述数据选择器在所述选择信号有效时输出缓存的输入数据,在所述选择信号无效时输出当前时钟周期传输的输入数据,所述选择信号在所述第一握手信号和所述第二握手信号同时有效的第一个时钟周期内有效。
可选地,所述第一D触发器在所述信息传输请求信号有效时被使能启动。
可选地,所述第一握手信号被配置为在有信息传输请求时,先于所述第二握手信号一个时钟周期转变为有效状态,以使得所述选择信号在所述第一握手信号和所述第二握手信号同时有效的第一个时钟周期内有效。
在一个可选实施例中,所述选择单元包括:
第一或门逻辑电路,第一输入端接收所述信息传输请求信号,第二输入端接收所述选择信号;
第一或非门逻辑电路,第一输入端接收所述第二握手信号,第二输入端通过第一非门逻辑电路接收所述第一握手信号;
第一与门逻辑电路,第一输入端与所述第一或门逻辑电路的输出端连接,所述第一与门逻辑电路的第二输入端与所述第一或非门逻辑电路的输出端连接;
第二D触发器,信号输入端与所述第一与门逻辑电路的输出端连接,所述第二D触发器的输出端输出所述选择信号。
在另一个可选实施例中,所述选择单元包括:
第二或门逻辑电路,第一输入端接收所述信息传输请求信号,第二输入端接收所述选择信号;
第二与门逻辑电路,第一输入端通过第二非门逻辑电路接收所述第二握手信号,第二输入端接收所述第一握手信号;
第三与门逻辑电路,第一输入端与所述第二或门逻辑电路的输出端连接,所述第三与门逻辑电路的第二输入端与所述第二与门逻辑电路的输出端连接;
第三D触发器,信号输入端与所述第三与门逻辑电路的输出端连接,所述第三D触发器的输出端输出所述选择信号。
根据本公开第二方面,提供了一种多核处理器系统的控制方法,包括:在从设备与多个处理器核之间进行数据交互时,利用缓存一致性单元在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据;
在所述缓存一致性单元和所述从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。
可选地,所述缓存一致性单元向所述从设备发送有第一握手信号、所述从设备向所述缓存一致性单元发送有第二握手信号,所述缓存一致性单元在所述第一握手信号和所述第二握手信号均有效的第一个时钟周期输出缓存的输入数据,并从所述第一握手信号和所述第二握手信号均有效的第二个时钟周期开始输出当前时钟周期传输的输入数据。
采用本公开的技术方案,能够在优化时序的同时保证流水线的高性能传输,有效地避免了输入数据丢失引起的缓存不一致情况,并且能够降低电路功耗。
应当说明的是,以上的一般描述和后文的细节描述是示例性和解释性的,并不能限制本公开。
附图说明
图1示出一种四核处理器模型的结构示意图;
图2示出根据本公开实施例提供的多核处理器系统的结构示意图;
图3示出根据本公开实施例提供的延迟反压电路的结构示意图;
图4示出根据本公开第一实施例提供的逻辑控制单元的结构示意图;
图5示出根据本公开第二实施例提供的逻辑控制单元的结构示意图;
图6示出图4和图5的逻辑控制单元中各信号的时序波形示意图;
图7示出根据本公开实施例提供的多核处理器系统的控制方法的流程示意图。
具体实施方式
为了便于理解本公开,下面将参照相关附图对本公开进行更全面的描述。附图中给出了本公开的较佳实施例。但是,本公开可以通过不同的形式来实现,并不限于本文所描述的实施例。相反的,提供这些实施例的目的是使对本公开的公开内容的理解更加透彻全面。
在计算机中,计算机的指令都是由CPU(Central Processing Unit,中央处理器)来执行的,而指令执行的过程中会涉及到对数据的读取与写入操作。早期,程序运行过程中的临时数据是存储在主存(物理内存)中的。当在计算机中加入缓存后,CPU读取数据时首先会从缓存读取,如果缓存中不存在,则从主存读取,同时把该数据加入到缓存中,这样下次使用的时候就可以直接从缓存中读取。当修改了某些数据时,先把修改后的数据写入到缓存中,然后再刷到主存中,以此可以提高效率。
在多核处理器系统(本文中简称为“系统”)中,如图2所示,系统包括有多个处理器核,程序或指令可通过多个线程运行在不同的处理器核心中,每个处理器核心都有自己的缓存(参考图1,如处理器核心CPU0对应缓存11、处理器核心CPU1对应缓存12、处理器核心CPU2对应缓存13、处理器核心CPU3对应缓存14)。这时就会出现多个CPU同时修改了同一个数据的问题,也即缓存一致性问题。
为解决缓存一致性问题,在系统中还设置有缓存一致性单元20,该缓存一致性单元20与多核处理器10中的多个处理器核连接,同时通过片上网络30或总线与从设备40(如主存)连接。该缓存一致性单元20通过执行缓存一致性协议来控制从设备40与多个处理器核之间的数据交互,以此来实现多核处理器系统的缓存一致性。
具体地,如图2所示,多核处理器10中的每个处理器核向缓存一致性单元20发送有握手信号valid_to_coh和握手信号ready_to_coh,缓存一致性单元20向多核处理器10中的每个处理器核发送有握手信号ready_to_core和握手信号valid_to_core。其中,当握手信号valid_to_coh和握手信号ready_to_core均有效时,表示在处理器核通过缓存一致性单元20将数据写入从设备40这一数据传输过程中,对应的处理器核和缓存一致性单元20处于握手成功状态,此时该处理器核向缓存一致性单元20输出数据infor_to_coh。当握手信号valid_to_core和握手信号ready_to_coh均有效时,表示在处理器核通过缓存一致性单元20自从设备40中读取数据这一数据传输过程中,对应的处理器核和缓存一致性单元20处于握手成功状态,此时缓存一致性单元20向对应处理器核输出数据infor_to_core。
缓存一致性单元20向从设备40发送有握手信号valid_to_slave和握手信号ready_to_slave,从设备40向缓存一致性单元20发送有握手信号ready_to_coh和握手信号valid_to_coh。其中,当握手信号valid_to_slave和握手信号ready_to_coh均有效时,表示在处理器核通过缓存一致性单元20将数据写入从设备40这一数据传输过程中,缓存一致性单元20和从设备40处于握手成功状态,此时缓存一致性单元20向从设备40输出数据infor_to_slave。当握手信号ready_to_slave和握手信号valid_to_coh均有效时,表示在处理器核通过缓存一致性单元20自从设备40中读取数据这一数据传输过程中,缓存一致性单元20和从设备40处于握手成功状态,此时从设备40向缓存一致性单元20输出数据infor_to_coh。
综上,当握手信号valid_to_coh和ready_to_core、以及握手信号valid_to_slave和ready_to_coh均有效时,对应处理器核可通过缓存一致性单元20将数据写入从设备40,当握手信号valid_to_core和ready_to_coh、以及握手信号ready_to_slave和valid_to_coh均有效时,对应处理器核可通过缓存一致性单元20自从设备40中读取数据。
基于处理器系统的数据传输特性,在使用寄存器进行打拍的情况下,从设备40(或对应处理器核)与缓存一致性单元20之间的握手信号的状态变化要晚一个时钟周期才能传递至缓存一致性单元20与对应处理器核(或从设备40),也即处理器系统在进行数据传输的过程中会存在缓存一致性单元20与上游的处理器核握手成功,但与下游的从设备40握手不成功的时间段,在此时间段内,从设备40(或对应处理器核)不能接收新的数据,但对应处理器核(或从设备40)仍然在向缓存一致性单元20发送新的数据,容易丢失部分数据造成缓存不一致。
针对此问题,继续参考图2,本公开实施例在缓存一致性单元20中设置了延迟反压电路21。以对应处理器核通过缓存一致性单元20将数据写入从设备40这一数据传输过程为例,该延迟反压电路21用于在输出当前时钟周期传输的输入数据new_infor时缓存上一时钟周期传输的输入数据(本文中用infor表示),并在缓存一致性单元20和从设备40之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据infor。其中,延迟反压电路21只缓存一个单位时间(如一个时钟周期)的输入数据,也即是说,当延迟反压电路21缓存新的输入数据时,会覆盖前次缓存的输入数据,进而,延迟反压电路21只需设置较小的缓存空间即可实现所需功能,成本低;同时在进行缓存输出时也不需要寻址等操作,操作过程简单,输出速度快。可选地,本文中的输入数据new_infor指缓存一致性单元20向从设备40传输的所有与一致性相关的信息。
本实施例中,延迟反压电路21具有接收当前时钟周期传输的输入数据new_infor的第一输入端、接收信息传输请求信号infor_req的第二输入端、接收握手信号valid_to_slave的第三输入端、接收握手信号ready_to_coh的第四输入端以及输出数据的输出端out_infor。其中,信息传输请求信号infor_req由缓存一致性单元20发送至从设备40,信号用于表征是否有新的信息传输请求。
参考图3、图4和图5,延迟反压电路21进一步包括逻辑控制单元211和选择单元212。其中,逻辑控制单元211用于根据握手信号valid_to_slave、握手信号ready_to_coh以及信息传输请求信号infor_req生成选择信号select。选择单元212用于在输出当前时钟周期传输的输入数据new_infor时缓存上一时钟周期传输的输入数据infor,并根据选择信号select在缓存一致性单元20和从设备40之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据infor。
需要说明的是,本文中的“优先”是在当前时钟周期传输的输入数据new_infor和缓存的上一时钟周期传输的输入数据infor之间进行的比较。具体地,在缓存一致性单元20和从设备40之间的握手状态由不成功转变为成功后,延迟反压电路21会在当前时钟周期传输的输入数据new_infor和缓存的上一时钟周期传输的输入数据infor之间进行择一输出,本文中的“优先输出缓存的输入数据infor”即为在缓存一致性单元20和从设备40之间的握手状态由不成功转变为成功后先选择缓存的上一时钟周期传输的输入数据infor进行输出,再选择当前时钟周期传输的输入数据new_infor进行输出,如此可使得本次的数据传输(每握手成功一次即代表一次数据传输)和前次的数据传输具有连续性,避免了数据丢失。
如图3所示,选择单元212包括D触发器2121和数据选择器2122。
其中,D触发器2121的数据输入端接收当前时钟周期传输的输入数据new_infor,D触发器2121的时钟输入端接收时钟信号CLK,D触发器2121的复位端接收复位信号RST,D触发器2121的使能端接收使能信号ENABLE,D触发器2121用于在输出当前时钟周期传输的输入数据new_infor时缓存上一时钟周期传输的输入数据infor并于输出端输出。可选地,在本公开的其他实施例中,选择单元212中的D触发器2121也可由其他具有缓存功能的器件或电路代替。
本实施例中,D触发器2121的使能信号ENABLE由缓存一致性单元20的内部信号(如信息传输请求信号infor_req)决定,即D触发器2121只有在信息传输请求信号infor_req有效时被使能启动,使得只有在符合条件的情况下才将当前时钟周期传输的输入数据new_infor输入到延迟反压电路21,并继而通过该延迟反压电路21的输出端out_infor继续输出到缓存一致性单元20中,再通过缓存一致性单元20的输出端继续向从设备40传递;而在不符合条件时延迟反压电路21将处于关闭状态,以此能够降低电路功耗。
数据选择器2122的第一输入端与D触发器2121的输出端连接以接收D触发器2121缓存的上一时钟周期传输的输入数据infor,数据选择器2122的第二输入端与D触发器2121的输入端连接以接收当前时钟周期传输的输入数据new_infor,数据选择器2122的控制端与逻辑控制单元211的输出端连接以接收选择信号select。数据选择器2122在选择信号select有效时输出缓存的输入数据infor,在选择信号select无效时输出当前时钟周期传输的输入数据new_infor。
可选地,在本公开第一实施例中,如图4所示,选择单元211包括:或门逻辑电路2111、或非门逻辑电路2112、非门逻辑电路2113、与门逻辑电路2114以及D触发器2115。其中,或门逻辑电路2111的第一输入端接收信息传输请求信号infor_req,或门逻辑电路2111的第二输入端接收选择信号select。或非门逻辑电路2112的第一输入端接收握手信号ready_to_coh,或非门逻辑电路2112的第二输入端通过非门逻辑电路2113接收握手信号valid_to_slave,即或非门逻辑电路2112的第二输入端接收握手信号valid_to_slave的反相信号。与门逻辑电路2114的第一输入端与或门逻辑电路2111的输出端连接,与门逻辑电路2114的第二输入端与或非门逻辑电路2112的输出端连接。D触发器2115的信号输入端与与门逻辑电路2114的输出端连接,D触发器2115的时钟端接收时钟信号CLK,D触发器2115的复位端接收复位信号RST,D触发器2115的输出端输出选择信号select。
可选地,在本公开第二实施例中,如图5所示,选择单元211包括:或门逻辑电路2116、与门逻辑电路2117、非门逻辑电路2118、与门逻辑电路2119以及D触发器2110。其中,或门逻辑电路2116的第一输入端接收信息传输请求信号infor_req,或门逻辑电路2116的第二输入端接收选择信号select。与门逻辑电路2117的第一输入端通过非门逻辑电路2118接收握手信号ready_to_coh,即与门逻辑电路2117的第一输入端接收握手信号ready_to_coh的反相信号,与门逻辑电路2117的第二输入端接收握手信号valid_to_slave。与门逻辑电路2119的第一输入端和或门逻辑电路2116的输出端连接,与门逻辑电路2119的第二输入端和与门逻辑电路2117的输出端连接。D触发器2110的信号输入端和与门逻辑电路2119的输出端连接,D触发器2110的时钟端接收时钟信号CLK,D触发器2110的复位端接收复位信号RST,D触发器2110的输出端输出选择信号select。
下面结合图6对本公开前述各实施例中公开的延迟反压电路21的工作过程进行说:
如图6所示,在某一时钟周期T1内,信息传输请求信号infor_req转变为有效状态(如高电平状态),同时握手信号valid_to_slave跟随信息传输请求信号infor_req也转变为有效状态,而握手信号ready_to_coh仍处于无效状态(如低电平状态),即缓存一致性单元20和从设备40之间在时钟周期T1内仍处于握手不成功的状态。此时,或门逻辑电路2111和或门逻辑电路2116输出高电平,或非门逻辑电路2112和与门逻辑电路2117输出高电平,进而与门逻辑电路2114和与门逻辑电路2119在时钟周期T1内输出高电平的信号next_select,但D触发器2115和D触发器2110仍输出上一时钟周期下的信号next_select,即在时钟周期T1内,D触发器2115和D触发器2110输出的选择信号select为低电平,数据选择器2122在时钟周期T1内不输出数据或输出无效的数据。
在时钟周期T1的下一时钟周期T2内,握手信号ready_to_coh也转变为有效状态(如高电平状态),即缓存一致性单元20和从设备40之间在时钟周期T2内由握手不成功的状态转变为了握手成功的状态。此时,或非门逻辑电路2112和与门逻辑电路2117的输出变为低电平,进而与门逻辑电路2114和与门逻辑电路2119在时钟周期T2内输出低电平的信号next_select,但D触发器2115和D触发器2110输出上一时钟周期T1下的信号next_select,即在时钟周期T2内,D触发器2115和D触发器2110输出的选择信号select为高电平,使得数据选择器2122在时钟周期T2内输出D触发器2121缓存的输入数据infor,并将该缓存的输入数据infor继续传输至下游的从设备40。
而在时钟周期T2的后续时钟周期内,若握手信号valid_to_slave和握手信号ready_to_coh的电平状态不再改变,则与门逻辑电路2114和与门逻辑电路2119将持续输出低电平的信号next_select,且D触发器2115和D触发器2110输出对应的上一时钟周期T1下的信号next_select,即在时钟周期T2的后续时钟周期内,D触发器2115和D触发器2110也将持续输出低电平的选择信号select,使得数据选择器2122在时钟周期T2的后续时钟周期内输出当前时钟周期传输的输入数据new_infor,并将该输入数据new_infor继续传输至下游的从设备40,同时D触发器2121也将在输出当前时钟周期传输的输入数据new_infor时缓存上一时钟周期传输的输入数据infor。直至在握手信号ready_to_coh变为无效状态的时钟周期内,D触发器2121缓存上一时钟周期传输的输入数据infor,但缓存一致性单元20不再传输数据至从设备40,以及在握手信号valid_to_slave也变为无效状态的时钟周期内,D触发器2121保持缓存的数据,但延迟反压单元21关闭,时钟周期暂停,直到有新的信息传输请求时,重复上述过程。可以理解,在缓存一致性单元20与上游处理器核握手成功但与下游从设备40握手不成功时,通过将该时段内要传输的数据暂存在延迟反压电路中,能够有效地避免数据丢失。
综上,握手信号valid_to_slave被配置为在有信息传输请求即信息传输请求信号infor_req有效时,先于握手信号ready_to_coh一个时钟周期转变为有效状态,使得选择信号select在握手信号valid_to_slave和握手信号ready_to_coh同时有效的第一个时钟周期T1内有效。进而,可使得选择单元212在握手信号valid_to_slave和握手信号ready_to_coh均有效的第一个时钟周期输出缓存的输入数据,并从握手信号valid_to_slave和握手信号ready_to_coh均有效的第二个时钟周期开始输出当前时钟周期传输的输入数据new_infor。在优化时序以避免输入数据new_infor丢失的同时,也很好的确保了数据传输的连续性,有利于实现数据的高性能传输。
进一步地,本公开还提供了一种多核处理器系统的控制方法,该控制方法可应用于前述图2-图5所示出的电路结构中。具体地,如图7所示,以对应处理器核通过缓存一致性单元20将数据写入从设备40这一数据传输过程为例,该控制方法包括执行如下步骤:
在步骤S1中,在从设备与多个处理器核之间进行数据交互时,利用缓存一致性单元在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据。
参考前述对图2至图6的相关描述,在从设备与多个处理器核之间进行数据交互时,通过合理设置缓存一致性单元20中设置的D触发器2121的各输入信号的时序,可利用该D触发器2121来在输出当前时钟周期传输的输入数据new_infor时缓存上一时钟周期传输的输入数据。
在步骤S2中,在缓存一致性单元和从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。
参考前述对图2至图6的相关描述,缓存一致性单元20向从设备40发送有握手信号valid_to_slave,从设备40向缓存一致性单元20发送有握手信号ready_to_coh。且缓存一致性单元20与从设备40之间在握手信号valid_to_slave和握手信号ready_to_coh均有效时才处于握手成功状态。
同时,缓存一致性单元20中设置的延迟反压电路21包括用于在输出当前时钟周期传输的输入数据new_infor时缓存上一时钟周期传输的输入数据infor的D触发器2121以及用于根据选择信号select选择输出缓存的输入数据infor和当前时钟周期传输的输入数据new_infor的其中之一的数据选择器。通过设置选择信号select在握手信号valid_to_slave和握手信号ready_to_coh均有效的第一个时钟周期T2内有效,可使得缓存一致性单元20在握手信号valid_to_slave和握手信号ready_to_coh均有效的第一个时钟周期T2输出缓存的输入数据infor,并从握手信号valid_to_slave和握手信号ready_to_coh均有效的第二个时钟周期(时钟周期T2的下一时钟周期)开始输出当前时钟周期传输的输入数据new_infor。在优化时序以避免输入数据new_infor丢失的同时,也很好的确保了数据传输的连续性,有利于实现数据的高性能传输。
需要说明的是,本公开技术方案对于处理器核通过缓存一致性单元20自从设备40中读取数据这一数据传输过程也同样适用,仅需合理更改延迟反压电路21的接收信号即可。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本公开所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本公开的保护范围之中。
Claims (10)
1.一种多核处理器系统,其中,包括:
多个处理器核;
缓存一致性单元,与所述多个处理器核及从设备连接,所述缓存一致性单元控制所述从设备与所述多个处理器核之间的数据交互,以实现所述多核处理器系统的缓存一致性,
其中,所述缓存一致性单元包括:
延迟反压电路,用于在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据,并在所述缓存一致性单元和所述从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。
2.根据权利要求1所述的多核处理器系统,其中,所述延迟反压电路包括:
逻辑控制单元,用于根据所述缓存一致性单元向所述从设备发送的第一握手信号、所述从设备向所述缓存一致性单元发送的第二握手信号以及所述缓存一致性单元向所述从设备发送的信息传输请求信号生成选择信号,所述信息传输请求信号用于表征是否有新的信息传输请求;
选择单元,用于在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据,并根据所述选择信号在所述缓存一致性单元和所述从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。
3.根据权利要求2所述的多核处理器系统,其中,所述缓存一致性单元和所述从设备之间在所述第一握手信号和所述第二握手信号均有效时处于握手成功状态,以及所述选择单元在所述第一握手信号和所述第二握手信号均有效的第一个时钟周期输出缓存的输入数据,并从所述第一握手信号和所述第二握手信号均有效的第二个时钟周期开始输出当前时钟周期传输的输入数据。
4.根据权利要求2所述的多核处理器系统,其中,所述选择单元包括:
第一D触发器,输入端接收当前时钟周期传输的输入数据,所述第一D触发器用于在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据并于输出端输出;
数据选择器,第一输入端与所述第一D触发器的输出端连接,第二输入端与所述第一D触发器的输入端连接,控制端接收所述选择信号,所述数据选择器在所述选择信号有效时输出缓存的输入数据,在所述选择信号无效时输出当前时钟周期传输的输入数据,所述选择信号在所述第一握手信号和所述第二握手信号同时有效的第一个时钟周期内有效。
5.根据权利要求4所述的多核处理器系统,其中,所述第一D触发器在所述信息传输请求信号有效时被使能启动。
6.根据权利要求2所述的多核处理器系统,其中,所述第一握手信号被配置为在有信息传输请求时,先于所述第二握手信号一个时钟周期转变为有效状态,以使得所述选择信号在所述第一握手信号和所述第二握手信号同时有效的第一个时钟周期内有效。
7.根据权利要求6所述的多核处理器系统,其中,所述选择单元包括:
第一或门逻辑电路,第一输入端接收所述信息传输请求信号,第二输入端接收所述选择信号;
第一或非门逻辑电路,第一输入端接收所述第二握手信号,第二输入端通过第一非门逻辑电路接收所述第一握手信号;
第一与门逻辑电路,第一输入端与所述第一或门逻辑电路的输出端连接,所述第一与门逻辑电路的第二输入端与所述第一或非门逻辑电路的输出端连接;
第二D触发器,信号输入端与所述第一与门逻辑电路的输出端连接,所述第二D触发器的输出端输出所述选择信号。
8.根据权利要求6所述的多核处理器系统,其中,所述选择单元包括:
第二或门逻辑电路,第一输入端接收所述信息传输请求信号,第二输入端接收所述选择信号;
第二与门逻辑电路,第一输入端通过第二非门逻辑电路接收所述第二握手信号,第二输入端接收所述第一握手信号;
第三与门逻辑电路,第一输入端与所述第二或门逻辑电路的输出端连接,所述第三与门逻辑电路的第二输入端与所述第二与门逻辑电路的输出端连接;
第三D触发器,信号输入端与所述第三与门逻辑电路的输出端连接,所述第三D触发器的输出端输出所述选择信号。
9.一种多核处理器系统的控制方法,其中,包括:
在从设备与多个处理器核之间进行数据交互时,利用缓存一致性单元在输出当前时钟周期传输的输入数据时缓存上一时钟周期传输的输入数据;
在所述缓存一致性单元和所述从设备之间的握手状态由不成功转变为成功时,优先输出缓存的输入数据。
10.根据权利要求9所述的多核处理器系统的控制方法,其中,所述缓存一致性单元向所述从设备发送有第一握手信号、所述从设备向所述缓存一致性单元发送有第二握手信号,所述缓存一致性单元在所述第一握手信号和所述第二握手信号均有效的第一个时钟周期输出缓存的输入数据,并从所述第一握手信号和所述第二握手信号均有效的第二个时钟周期开始输出当前时钟周期传输的输入数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211185041.3A CN115658601A (zh) | 2022-09-27 | 2022-09-27 | 多核处理器系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211185041.3A CN115658601A (zh) | 2022-09-27 | 2022-09-27 | 多核处理器系统及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658601A true CN115658601A (zh) | 2023-01-31 |
Family
ID=84984764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211185041.3A Pending CN115658601A (zh) | 2022-09-27 | 2022-09-27 | 多核处理器系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658601A (zh) |
-
2022
- 2022-09-27 CN CN202211185041.3A patent/CN115658601A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4982375B2 (ja) | 複数のコアを介してのモニタリングされたキャッシュラインの共有 | |
US8018784B2 (en) | Semiconductor device and data processor | |
US8504743B2 (en) | Information processing system and data transfer method | |
KR20210042978A (ko) | 이진화 알고리즘 기반의 액셀러레이션 제어 시스템, 칩 및 로봇 | |
WO2017088456A1 (zh) | 多输入多输出处理器流水线数据同步装置及方法 | |
JP4168281B2 (ja) | 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム | |
US6157971A (en) | Source-destination re-timed cooperative communication bus | |
US6738837B1 (en) | Digital system with split transaction memory access | |
JP3601872B2 (ja) | データ処理装置およびそのオペレーション方法 | |
WO2023103297A1 (zh) | 一种优化ahb总线数据传输性能的系统、方法及服务器 | |
CN115658601A (zh) | 多核处理器系统及其控制方法 | |
JP3628265B2 (ja) | マルチプロセッサシステム装置 | |
WO2021075076A1 (ja) | 情報処理装置、及び情報処理方法 | |
JP4818820B2 (ja) | バスシステムおよびバススレーブならびにバス制御方法 | |
US20230069032A1 (en) | Data processing apparatus, chip, and data processing method | |
US20230176932A1 (en) | Processor, information processing apparatus, and information processing method | |
US20230213960A1 (en) | Paired processing unit architecture for improved microcontroller performance | |
US6453373B1 (en) | Method and apparatus for differential strobing | |
JP7202225B2 (ja) | 半導体装置及びデバッグシステム | |
JP5587530B2 (ja) | エンジン・プロセッサ連携システム及び連携方法 | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
US20020069311A1 (en) | Bus control device | |
JPH11110342A (ja) | バス接続方法及び装置 | |
JP2010072888A (ja) | Dma転送制御システム | |
CN113821470A (zh) | 总线设备、嵌入式系统和片上系统 |
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 |