CN109739785B - 多核***的内连线结构 - Google Patents

多核***的内连线结构 Download PDF

Info

Publication number
CN109739785B
CN109739785B CN201910001320.1A CN201910001320A CN109739785B CN 109739785 B CN109739785 B CN 109739785B CN 201910001320 A CN201910001320 A CN 201910001320A CN 109739785 B CN109739785 B CN 109739785B
Authority
CN
China
Prior art keywords
ring
core
bus
controller
cores
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
CN201910001320.1A
Other languages
English (en)
Other versions
CN109739785A (zh
Inventor
江文彬
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN109739785A publication Critical patent/CN109739785A/zh
Application granted granted Critical
Publication of CN109739785B publication Critical patent/CN109739785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种多核***的内连线结构,该内连线结构包括多个第一运算核、第一环状总线、直接存储器存取引擎以及直接存储器存取环状控制器。第一运算核连接至第一环状总线。直接存储器存取环状控制器将直接存储器存取引擎连接至第一环状总线。第一运算核通过第一环状总线与直接存储器存取引擎通信,并使直接存储器存取引擎进行存储器操作。本发明可提升直接存储器存取的工作效率,且加快直接存储器存取引擎与各个运算核之间的通信速度。

Description

多核***的内连线结构
技术领域
本发明有关于一种多核***(multicore system),且特别是有关于一种具备直接存储器存取引擎的多核***的内连线结构。
背景技术
目前的中央处理器(CPU)的结构通常是以多个运算核为主。为了将这些运算核以高速传输的方式来交流信息,许多类型的片内总线(in-chip bus)经研发以将这些运算核相互串接通信。环状总线(ring bus)是CPU架构中常用的片内总线之一,其利用分别连接到对应元件的多种环站点(ring stop)让这些运算核相互传递数据。
另一方面,直接存储器存取(DMA)技术主要用来进行数据的搬移,从而减轻中央处理器的负担。直接存储器存取控制器可在没有CPU帮助的情况下依照CPU先前的指示来存取/搬移储存设备中的数据,并在数据的存取/搬移完成后通知CPU。因此,直接存储器存取技术在当前电子***的运算结构中十分重要。
目前,片内总线技术跟直接存储器存取技术没有相互整合的情形。因此,如何利用片内总线技术跟直接存储器存取技术以使中央处理器结构能够更为顺畅地、高速地运行,是可供研究的方向。
发明内容
本发明提供一种多核***的内连线结构,可在采用环状总线作为片内总线的中央处理器结构的情况下提升直接存储器存取(DMA)的工作效率,且加快DMA引擎与各个运算核之间的通信速度。
本发明的多核***的内连线结构包括多个第一运算核、第一环状总线、直接存储器存取引擎以及直接存储器存取环状控制器。第一运算核连接至第一环状总线。直接存储器存取环状控制器将直接存储器存取引擎连接至第一环状总线。第一运算核通过第一环状总线与直接存储器存取引擎通信,并使直接存储器存取引擎进行存储器操作。
基于上述,本发明实施例的多核***的内连线结构将直接存储器存取引擎设置在环状总线中,并额外设置用来让直接存储器存取引擎对环状总线中的数据包进行存取的直接存储器存取环状控制器。如此一来,各个运算核能迅速地利用环状总线中的直接存储器存取引擎,从而直接地对直接存储器存取引擎下达存储器操作的相关指令。并且,此直接存储器存取引擎与同样设置在环状总线中的动态随机存取存储器之间的通信将更为顺畅。换句话说,存储器操作的直接存储器存取周期(DMA cycle)将可更为快速地处理。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是一种多核***的内连线结构的示意图。
图2是依照本发明第一实施例的一种多核***的内连线结构的示意图。
图3是依照本发明第二实施例的一种多核***的内连线结构的示意图。
图4是依照本发明第三实施例的一种多核***的内连线结构的示意图。
其中,附图中符号的简单说明如下:
100、200、300、400:多核***的内连线结构
110:环状总线
121~124:第一运算核
125:第一***核
126:第一动态随机存取存储器(DRAM)
131~134:第一末级高速缓存存储器
141~144:环站点片状模块(RSS)/第一运算核环形控制器
145:环站点非核模块(RSU)/第一***核环状控制器
146:环站点动态随机存取存储器模块(RSD)/第一动态随机存取存储器环状控制器
151、351:芯片组装置
152:直接存储器存取(DMA)引擎
210:第一环状总线
227:直接存储器存取(DMA)引擎
247:环站点直接存储器存取模块(RSDMA)/直接存储器存取环状控制器
310:第二环状总线
321~324:第二运算核
325:第二***核
331~334:第二末级高速缓存存储器
341~344:环站点片状模块(RSS)/第二运算核环形控制器
345:环站点非核模块(RSU)/第二***核环状控制器
391、392:箭头
426:第二动态随机存取存储器(DRAM)
446:环站点动态随机存取存储器模块(RSD)/第二动态随机存取存储器环状控制器。
具体实施方式
图1是一种多核***的内连线结构100的示意图。多核***的内连线结构100可以是电子***/多核***的中央处理器(CPU)的内部结构。内连线结构100使用环状总线110作为其主要结构。图1中的内连线结构100包括许多的环站点(ring stop)以及与这些环站点相互连接的多个元件。
本实施例的环站点(ring stop)亦可称为是环状控制器(ring controller)。图1中与环站点/环状控制器相连的元件为第一运算核121~124、第一***核(又称为,非核(uncore))125及第一动态随机存取存储器(Dynamic Random Access Memory;DRAM)126。第一运算核121~124中包含的处理组件都会涉及到处理器指令的执行,例如,第一运算核121~124可包括算术逻辑单元(ALU)、浮点运算单元(FPU)、一级高速缓存(L1 cache)、二级高速缓存(L1 cache)等。这些元件主要利用这些环站点141~146相互通信。环站点141~146的功用在于将与环站点141~146相连的元件能够与环状总线110中其他环站点上的其他元件相互通信。图1中具备多种类型的环站点,例如是连接到第一运算核121~124与对应的第一末级高速缓存(Last Level Cache;LLC)存储器131~134的环站点片状模块(Ring-stop-slice module;RSS)141~144、连接到第一***核125的环站点非核模块(Ring-stop-uncore module;RSU)145以及连接到第一动态随机存取存储器126的环站点动态随机存取存储器模块(Ring-stop-dram module;RSD)146皆属于环站点的一种。
当特定元件想要将数据包放到环状总线110时,此特定元件会将这数据包传送到对应的环站点。此环站点会在环状总线110中进行仲裁,并将数据包发送到优选行进方向上的相邻环站点上。例如,当第一运算核121想要将数据包传送给第一DRAM 126时,便将此数据包传送给环站点RSS 141,且环站点RSS 141通过环状总线110的仲裁机制以将此数据包放入环状总线110中,并选择此数据包的行进方向为朝向环站点RSD 146前进。当环站点RSD146收到其他环站点传送来的数据包时,会先行检查数据包的标头信息(如,DstID)是否与自身环站点对应的元件相匹配。若匹配,环站点RSD 146便会将数据包从环状总线110中取出并传送给第一DRAM 126以进行后续处理。相对地,若不匹配,环站点RSD 146则在数据包原本的行进方向上将数据包继续传递给下一个环站点。
第一***核125也会作为连接到电子***中的多个芯片组(chipset)装置151的流量代理器(traffic agent)。第一***核125用以让环站点非核模块145与芯片组装置151通信。从另一角度来说,电子***除了中央处理器以外还包括许多的芯片组装置151,例如快速通道互联(Intel Quick Path Interconnect;QPI)控制器、Thunderbolt控制器、PCI-E控制器、SPI控制器、绘图处理单元(GPU)、额外的DRAM及DMA控制器152等。也就是说,DMA控制器152也属于芯片组装置151的其中之一。当芯片组装置151与DMA控制器152希望将数据传送到中央处理器时,便会通过第一***核125并且通过上游周期(upstream cycle)(或称为,P2C)的方式进行仲裁以获得对环状总线110进行存取的频宽,才能将数据包通过环站点RSU 145进入环状总线110。
基于图1内连线结构100的情况下,第一运算核121~124若希望利用DMA引擎152进行存储器操作的话,必须通过环站点RSU 145及第一***核125才能下达相应指令。DMA引擎152在处理第一运算核121~124所交付的存储器操作时,仍然需要通过第一***核125才能对第一DRAM 126进行相应的存储器操作。在存储器操作完成后,DMA引擎152还是需要通过第一***核125才能通过中断方式通知相应的第一运算核121~124,以完成整个存储器操作的直接存储器存取周期(DMA cycle)。换句话说,DMA引擎152将至少因为以下两点而使DMA引擎152进行存储操作的效率无法提升:(1)需要与其他芯片组装置151竞争通往环状总线110的频宽;以及(2)无法与第一运算核121~124建立快速的信息交换路径。因此,图1的内连线结构100将会严重影响到DMA引擎152在进行存储器操作的效能。
因此,本发明实施例在多核***的内连线结构中将DMA引擎从环状总线外面直接内嵌到环状总线当中以作为利用环状总线相互连接的元件其中之一,并额外设置用来让DMA引擎对环状总线中的数据包进行存取的直接存储器存取环状控制器。如此一来,位在环状总线当中的各个运算核皆能迅速地利用环状总线而直接地对直接存储器存取引擎下达存储器操作的相关指令,以共享DMA引擎。DMA引擎的效能也因而提升。DMA引擎便不需要跟其他芯片组装置竞争通往环状总线的频宽。因此,内嵌在环状总线中的DMA控制器的效能将会优于位于芯片组装置层级中、需要利用***核进行仲裁以转发数据的DMA控制器的效能。
图2是依照本发明第一实施例的一种多核***的内连线结构200的示意图。图2中的内连线结构200主要包括多个第一运算核121~124、第一环状总线210、直接存储器存取(DMA)引擎227以及直接存储器存取环状控制器247。本实施例以4个第一运算核121~124作为举例,应用本实施例者可依其需求增加运算核的数量,甚至可以将多个环状总线相互连接(后续实施例中可说明)以连接更多数量的运算核。每个第一运算核121~124连接至第一环状总线210。直接存储器存取环状控制器247在本实施例中亦可称为是环站点DMA模块RSDMA 247。专用于DMA引擎227的直接存储器存取环状控制器247将如同其他环站点一般,可直接地掌控来自其他环站点的请求并回应此请求。也就是说,环站点RSDMA 247可将DMA引擎227的存储器操作当作在第一环状总线210上的数据包并发送给其他环站点,并可从第一环状总线210中获得其他元件传送过来的数据包。
图2中的内连线结构200还包括第一DRAM 126、第一DRAM环状控制器146(亦可称为是环站点DRAM模块(RSD)146)、多个第一运算核环形控制器141~144(亦可称为是环站点片状模块(RSS)141~144)、多个第一末级高速缓存(LLC)存储器131~134、第一***核(亦可称为是非核)125以及第一***核环状控制器145(亦可称为是环站点非核模块(RSU)145)。本实施例的第一DRAM 126与第一DRAM环状控制器146设置于内连线结构200的第一环状总线210中。第一DRAM环状控制器146用以将第一DRAM 126连接至第一环状总线210。
图2中的芯片组装置151亦可称为是第一芯片组装置。应用本实施例者除了可在第一环状总线210中设置一个或多个第一DRAM 126以外,还可依其需求另外在第一环状总线210中增设其他的DRAM。换句话说,本实施例是以单个第一DRAM 126作为举例,应用本实施例者可依其需求调整第一DRAM 126以及与其对应的第一DRAM环状控制器146的数量。于部分实施例中,也可将DRAM设置在芯片组装置151所在的位置。DMA引擎227可依据第一运算核121~124的指令以对上述这些DRAM进行存储器操作。
另一方面,为方便让DMA引擎227进行存储器操作,本实施例的环站点RSDMA 247可设置于最接近环站点RSD 146的位置,但不以此为限。借此,便可让DMA引擎227发送给第一DRAM 126的数据包能较迅速地被第一DRAM 126获知,且DMA引擎227可从第一DRAM 126处迅速地得知存储器操作的处理结果。
本实施例的第一运算核环形控制器(环站点RSS)141~144分别对应至每个第一运算核121~124。环站点RSS 141~144将对应的第一运算核121~124连接至第一环状总线210。每个第一末级高速缓存存储器131~134亦连接至对应的环站点RSS 141~144,以供第一运算核121~124作为数据存取之用。
本实施例的第一***核环状控制器(环站点RSU)145用以将第一***核125连接至第一环状总线210。第一***核125连接至多核***中的一个或多个芯片组装置151,以让这些一个或多个芯片组装置151能与第一运算核121~124相互通信。本实施例的芯片组装置151可不包括DMA引擎。换句话说,本实施例的DMA引擎227不通过第一***核125以及第一***核环状控制器145便可利用第一环状总线210与第一运算核121~124连接。第一***核125的功能除了连接一个或多个芯片组装置151以外,还可连接到三级高速缓存(L3Cache),且可具备用于高速缓存一致性监测的侦听管线(snooping pipeline)功能。
特别说明的是,图2中的DMA引擎227直接设置于内连线结构200的第一环状总线210中,换句话说,DMA引擎227利用直接存储器存取环状控制器247连接到第一环状总线210。第一运算核121~124便可通过第一环状总线210与DMA引擎227通信,并使DMA引擎227对第一DRAM 126和/或其他存储器进行存储器操作。所谓的“存储器操作”可以是对第一DRAM 126或其他DRAM进行读取、写入、复制、比对等操作模式。
在此举例以说明第一运算核121~124其中之一(如,第一运算核121)如何利用DMA引擎227以对第一DRAM 126进行存储器操作。当第一运算核121需要利用DMA引擎227进行存储器操作时,第一运算核121需要先行准备必备资源以让DMA引擎227能续行工作。例如,第一运算核121需要准备PCI配置空间(configuration space)、内存映射输入输出(Memory-mapped I/O;MMIO)资源、中断路径(可连接到芯片组以用于中断/MSI(Modified-Shared-Invalid)协议的产生)等信息以提供给DMA引擎227,作为初始化阶段。
在初始化之后,第一运算核121产生DMA请求以作为数据包,并通过环站点RSS 141将此数据包放入环状总线210中。然后,此数据包将会以所选择的行进方向从第一运算核121的环站点RSS 141并依序经由环站点RSS 142、环站点RSD 146以及环站点RSDMA 247以交付到DMA引擎227。在收到作为DMA请求的数据包后,DMA引擎227将存储器操作的信息作为数据包,且环站点RSDMA 247将对应此存储器操作的数据包传递给环站点RSD 146。环站点RSD 146及第一DRAM 126基于数据包当中所对应的存储器操作(如,读取、写入、复制、比对等操作)而将数据处理结果经由环站点RSDMA 247传送给DMA引擎227。在收到数据处理结果后,DMA引擎227通过中断方式,将此数据处理结果(数据包),依序经由环站点RSDMA 247、环站点RSD 146以及环站点RSS 142以将此数据包提供给第一运算核121,以向第一运算核121告知存储器操作的完成结果。借此,便可完成一次存储器操作的直接存储器存取周期。
于符合本发明的其他实施例中,也可在环状总线210中设置多个DMA引擎227与环站点RSDMA 247,以让第一运算核121~124共享这些DMA引擎227。作为另一个优点,DMA引擎227中包含缓冲器(buffer)以记录在完成存储器操作后的数据。缓冲器也可由第一***核125利用高速缓存一致性监测的侦听(snooping)功能所检测。借此,如果数据被缓冲在DMA引擎227中时,将会减少对高速缓存一致性的延迟。
本实施例中,多核***亦可包含多个环状总线,且本发明实施例中位于不同环状总线的所有运算核可共享同一个DMA引擎。图3是依照本发明第二实施例的一种多核***的内连线结构300的示意图。第二实施例中的多核***的内连线结构300包括第一环状总线210以及第二环状总线310。第一环状总线210上的多个环站点及相关元件皆与上述实施例中图2的各元件相同。内连线结构300除了第一环状总线210上的多个环站点及相关元件以外,还增加了第二环状总线310上的多个环站点及相关元件。详细来说,内连线结构300还包括第二环状总线310、多个第二运算核321~324、与多个第二运算核321~324相对应的环站点RSS 331~334以及多个第二末级高速缓存存储器(LLC)331~334、第二***核环状控制器(环站点RSU)345将第二***核325连接至第二环状总线310。第二***核325可用以让第二***核环状控制器345与至少一个芯片组装置351通信。芯片组装置351亦可称为是第二芯片组装置。每个第二末级高速缓存存储器331~334连接至相对应的第二运算核环形控制器(环站点RSS)331~334。第二***核环状控制器RSU 345与第一***核环状控制器RSU145相互通信。如此一来,第一运算核121~124和/或第二运算核321~324皆可通过第二环状总线310及第一环状总线210与DMA引擎227通信,并使DMA引擎227进行存储器操作。
本实施例将第一环状总线210上的第一环站点(亦即,RSS 141~144、RSU 145、RSD146及RSDMA 247)及相应元件(亦即,第一运算核121~124、第一***核125、第一DRAM 126及DAM引擎227)称为是第一***SYS1,且将第二环状总线310上的第二环站点(亦即,RSS341~344、RSU 345、RSD 346及RSDMA 347)及相应元件(亦即,第二运算核321~324及第二***核325)称为是第二***SYS2。于本实施例中,第一***SYS1可以是由一颗***芯片构成,而第二***SYS2则是由另一颗***芯片构成。这两个***芯片可通过第二***核环状控制器RSU 345与第一***核环状控制器RSU 145经由QPI总线和/或PCIe总线相互通信。于符合本发明的其他实施例中,第一***SYS1与第二***SYS2则可由同一颗***芯片构成。应用本实施例者可依其需求来决定是否将第一***SYS1与第二***SYS2架构在同一个***芯片中。
特别说明的是,第二***SYS2中的第二环状总线310上并未内嵌DMA引擎,或是,与第二***SYS2相连接的DMA引擎必须通过第二***核325才能与第二环状总线310中的元件相互通信。如此一来,由于第一环状总线210与第二环状总线310相互连线,第二运算核321~324便可利用第一环状总线210中的DAM引擎227进行存储器操作,而不需使用第二***SYS2相连接的DMA引擎。
在此举例以说明第二运算核321~324其中之一(如,第二运算核321)如何利用DMA引擎227以对第一DRAM 126进行存储器操作。第二运算核321利用作为DMA请求的相关信息产生DMA请求以作为数据包,并通过第二环站点RSS 341将此数据包放入环状总线310中。此数据包将会以所选择的行进方向从第二运算核321的第二环站点RSS 341并依序经由第二环站点RSU 345、第一环站点RSU 145、第一环站点RSS 141、第一环站点RSS 142、第一环站点RSD 146以及第一环站点RSDMA 247以交付到DMA引擎227,如图3中的箭头391所示。在收到作为DMA请求的数据包后,DMA引擎227将存储器操作的信息作为数据包,且第一环站点RSDMA 247将对应存储器操作的数据包传递给第一环站点RSD 146。环站点RSD 146及第一DRAM 126基于数据包当中所对应的DRAM操作而将数据处理结果经由第一环站点RSDMA 247传送给DMA引擎227。DMA引擎227与第一DRAM 126之间的存储器操作如箭头392所示。在收到数据处理结果后,DMA引擎227便通过中断方式,将此数据处理结果(数据包),依序经由第一环站点RSDMA 247、第一环站点RSD 146、第一环站点RSS 142、第一环站点RSS 141、第一环站点RSU 145、第二环站点RSU 345以及第二环站点RSS 341(亦即,箭头391的反方向)以将此数据包提供给第二运算核321。
图4是依照本发明第三实施例的一种多核***的内连线结构400的示意图。图3与图4之间的差异在于,图4的第二环状总线310除了原有的环站点及相应的元件以外还增加第二动态随机存取存储器(DRAM)426以及第二动态随机存取存储器环状控制器(环站点RSD)446。环站点RSD 446用以将第二动态随机存取存储器426连接至第二环状总线310。如此一来,基于第一环状总线210与第二环状总线310相互连接,位于第一环状总线210中的RSD引擎227便可对第二动态随机存取存储器426进行存储器操作。
综上所述,本发明实施例的本发明实施例的多核***的内连线结构将直接存储器存取引擎设置在环状总线中,并额外设置用来让直接存储器存取引擎对环状总线中的数据包进行存取的直接存储器存取环状控制器。换言之,直接存储器存取引擎不需通过所述第一***核、第一***核环状控制器,而与所述第一运算核连接。此外,直接存储器存取引擎也不需通过第一***核、第一***核环状控制器、第二***核、第二***核环状控制器,而与第一运算核或第二运算核连接。
如此一来,各个运算核能迅速地利用环状总线中的直接存储器存取引擎,从而直接地对直接存储器存取引擎下达存储器操作的相关指令。并且,此直接存储器存取引擎与同样设置在环状总线中的动态随机存取存储器之间的通信将更为顺畅。换句话说,存储器操作的直接存储器存取周期将可更为快速地处理。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可以在此基础上做进一步的改进和变化,因此本发明的保护范围应当以本申请的权利要求书所界定的范围为准。

Claims (11)

1.一种多核***的内连线结构,其特征在于,包括:
多个第一运算核;
第一环状总线,其中所述多个第一运算核连接至所述第一环状总线;
第一***核;
第一***核环状控制器,用以将所述第一***核连接至所述第一环状总线;
第一动态随机存取存储器;
第一动态随机存取存储器环状控制器,用以将所述第一动态随机存取存储器连接至所述第一环状总线;
直接存储器存取引擎;以及
直接存储器存取环状控制器,用以将所述直接存储器存取引擎连接至所述第一环状总线,
其中,所述直接存储器存取引擎不通过所述第一***核以及所述第一***核环状控制器,而与所述多个第一运算核连接,
所述直接存储器存取环状控制器和所述第一动态随机存取存储器环状控制器位于所述第一环状总线,并且所述直接存储器存取环状控制器不同于所述第一动态随机存取存储器环状控制器,
所述多个第一运算核通过所述第一环状总线与所述直接存储器存取引擎通信,并使所述直接存储器存取引擎对所述第一动态随机存取存储器进行存储器操作。
2.根据权利要求1所述的多核***的内连线结构,其特征在于,还包括:
多个第一运算核环形控制器,其中各第一运算核环形控制器分别连接至对应的第一运算核,并且各第一运算核环形控制器将所述对应的第一运算核连接至所述第一环状总线。
3.根据权利要求2所述的多核***的内连线结构,其特征在于,还包括:
多个第一末级高速缓存存储器,其中每个第一末级高速缓存存储器连接至对应的第一运算核环形控制器。
4.根据权利要求1所述的多核***的内连线结构,其特征在于,所述第一***核用以与第一芯片组装置通信。
5.根据权利要求1所述的多核***的内连线结构,其特征在于,还包括:
多个第二运算核;
第二环状总线,其中所述多个第二运算核连接至所述第二环状总线;
第二***核;以及
第二***核环状控制器,用以将所述第二***核连接至所述第二环状总线,
其中,所述第二***核环状控制器与所述第一***核环状控制器相互通信,且所述多个第二运算核通过所述第一环状总线以及所述第二环状总线与所述直接存储器存取引擎通信,并使所述直接存储器存取引擎进行所述存储器操作。
6.根据权利要求5所述的多核***的内连线结构,其特征在于,所述第二***核用以与至少一第二芯片组装置通信。
7.根据权利要求5所述的多核***的内连线结构,其特征在于,所述直接存储器存取引擎不通过所述第一***核与所述第二***核,而与所述多个第一运算核或所述多个第二运算核连接。
8.根据权利要求5所述的多核***的内连线结构,其特征在于,还包括:
第二动态随机存取存储器;以及
第二动态随机存取存储器环状控制器,用以将所述第二动态随机存取存储器连接至所述第二环状总线,
其中,所述直接存储器存取引擎对所述第二动态随机存取存储器进行所述存储器操作。
9.根据权利要求5所述的多核***的内连线结构,其特征在于,还包括:
多个第二运算核环形控制器,其中各第二运算核环形控制器分别连接至对应的第二运算核,并且各第二运算核环形控制器将所述对应的第二运算核连接至所述第二环状总线。
10.根据权利要求9所述的多核***的内连线结构,其特征在于,还包括:
多个第二末级高速缓存存储器,其中每个第二末级高速缓存存储器连接至对应的第二运算核环形控制器。
11.根据权利要求5所述的多核***的内连线结构,其特征在于,所述多个第一运算核、所述第一环状总线、所述直接存储器存取引擎、所述直接存储器存取环状控制器、所述第一***核、所述第一***核环状控制器以及所述第一动态随机存取存储器设置于第一芯片中,且所述多个第二运算核、所述第二环状总线、所述第二***核以及所述第二***核环状控制器设置于第二芯片中。
CN201910001320.1A 2018-09-20 2019-01-02 多核***的内连线结构 Active CN109739785B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107133255A TWI720345B (zh) 2018-09-20 2018-09-20 多核心系統的內連線結構
TW107133255 2018-09-20

Publications (2)

Publication Number Publication Date
CN109739785A CN109739785A (zh) 2019-05-10
CN109739785B true CN109739785B (zh) 2020-12-29

Family

ID=66363122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910001320.1A Active CN109739785B (zh) 2018-09-20 2019-01-02 多核***的内连线结构

Country Status (3)

Country Link
US (1) US10909056B2 (zh)
CN (1) CN109739785B (zh)
TW (1) TWI720345B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749121A (zh) * 2019-10-31 2021-05-04 中兴通讯股份有限公司 基于pcie总线的多芯片互联***
CN112506437A (zh) * 2020-12-10 2021-03-16 上海阵量智能科技有限公司 芯片、数据搬移方法和电子设备
CN115145861B (zh) * 2022-07-07 2024-04-05 无锡芯光互连技术研究院有限公司 一种基于双环形总线的芯片互连通信装置及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW343302B (en) * 1996-12-30 1998-10-21 Samsung Electronics Co Ltd Direct memory access controlling device
CN101149714A (zh) * 2006-09-18 2008-03-26 国际商业机器公司 用于执行直接存储器存取的方法和***
TW200839524A (en) * 2006-12-13 2008-10-01 Microchip Tech Inc Direct memory access controller with error check
CN103034558A (zh) * 2012-12-13 2013-04-10 中国航空无线电电子研究所 PowerPC***控制器
CN104461979A (zh) * 2014-11-04 2015-03-25 中国电子科技集团公司第三十八研究所 基于环形总线的多核片上通信网络实现方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233221B1 (en) * 1998-02-20 2001-05-15 Adc Telecommunications, Inc. System and method for a ring network with virtual path connections
US6457068B1 (en) * 1999-08-30 2002-09-24 Intel Corporation Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
AU2002327187A1 (en) * 2001-07-02 2003-01-21 Globespan Virata Incorporated Communications system using rings architecture
JP3488224B2 (ja) * 2001-11-16 2004-01-19 沖電気工業株式会社 遷移信号制御装置とそれを用いたdmaコントローラ及び遷移信号制御プロセッサ
US7359932B2 (en) * 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor system
US20090119526A1 (en) * 2007-11-05 2009-05-07 Mediatek Inc. Electronic system and power control method thereof
CN102521182B (zh) * 2011-11-23 2015-05-06 华南师范大学 一种可扩展多通道并行实时数据采集装置和方法
US20130179722A1 (en) * 2012-01-06 2013-07-11 Glen Smith Ring topology for compute devices
US9424228B2 (en) * 2012-11-01 2016-08-23 Ezchip Technologies Ltd. High performance, scalable multi chip interconnect
CN104699110B (zh) * 2015-02-05 2017-07-21 大连理工大学 可编程飞行器控制引擎ip核
JP6454577B2 (ja) * 2015-03-25 2019-01-16 ルネサスエレクトロニクス株式会社 処理装置及び処理装置の制御方法
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link
US20170109248A1 (en) * 2015-10-20 2017-04-20 Quanta Computer Inc. Sharing bus port by multiple bus hosts
US11232056B2 (en) * 2016-12-28 2022-01-25 Intel Corporation System and method for vector communication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW343302B (en) * 1996-12-30 1998-10-21 Samsung Electronics Co Ltd Direct memory access controlling device
CN101149714A (zh) * 2006-09-18 2008-03-26 国际商业机器公司 用于执行直接存储器存取的方法和***
TW200839524A (en) * 2006-12-13 2008-10-01 Microchip Tech Inc Direct memory access controller with error check
CN103034558A (zh) * 2012-12-13 2013-04-10 中国航空无线电电子研究所 PowerPC***控制器
CN104461979A (zh) * 2014-11-04 2015-03-25 中国电子科技集团公司第三十八研究所 基于环形总线的多核片上通信网络实现方法

Also Published As

Publication number Publication date
TWI720345B (zh) 2021-03-01
TW202013204A (zh) 2020-04-01
US10909056B2 (en) 2021-02-02
US20200097423A1 (en) 2020-03-26
CN109739785A (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
EP3896574A1 (en) System and method for computing
KR101661259B1 (ko) 저전력 부분 폭 고속 링크 상태에서 나갈 때의 고속 디스큐
US20120079102A1 (en) Requester Based Transaction Status Reporting in a System with Multi-Level Memory
CN109739785B (zh) 多核***的内连线结构
EP3213220B1 (en) Methods and circuits for deadlock avoidance
US7827391B2 (en) Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
JP2018502362A (ja) ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ
US10037301B2 (en) Circuits and methods for inter-processor communication
Kodama et al. PEACH2: an FPGA-based PCIe network device for tightly coupled accelerators
JP2009043256A (ja) 記憶装置のアクセス方法及び装置
US8443148B2 (en) System-wide quiescence and per-thread transaction fence in a distributed caching agent
EP4235441A1 (en) System, method and apparatus for peer-to-peer communication
US20070073977A1 (en) Early global observation point for a uniprocessor system
US9047264B2 (en) Low pin count controller
US8380963B2 (en) Apparatus and method for enabling inter-sequencer communication following lock competition and accelerator registration
US11093276B2 (en) System and method for batch accessing
TW201916644A (zh) 匯流排系統
KR100475438B1 (ko) 데이터 버스 시스템 및 버스간 크로스 액세스 방법
US8296482B2 (en) Translating requests between full speed bus and slower speed device wherein the translation logic is based on snoop result and modified cache state
JP2010272066A (ja) ヘテロジニアスマルチコアプロセッサ
US20030065860A1 (en) Internal control bus in a multiple processor/multiple bus system
Sharma Intel® 5520 chipset: An I/O hub chipset for server, workstation, and high end desktop
JP2010140130A (ja) 半導体装置
KR20080035873A (ko) 다중 프로세서 구조의 영상 처리 시스템 및 방법

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