CN112241390B - 主机互连装置及其方法 - Google Patents

主机互连装置及其方法 Download PDF

Info

Publication number
CN112241390B
CN112241390B CN202011140714.4A CN202011140714A CN112241390B CN 112241390 B CN112241390 B CN 112241390B CN 202011140714 A CN202011140714 A CN 202011140714A CN 112241390 B CN112241390 B CN 112241390B
Authority
CN
China
Prior art keywords
request
module
data
read
write
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
CN202011140714.4A
Other languages
English (en)
Other versions
CN112241390A (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.)
Xi'an Zhaoxin Integrated Circuit Co ltd
Shanghai Zhaoxin Semiconductor Co Ltd
Original Assignee
VIA Alliance Semiconductor Co Ltd
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 Alliance Semiconductor Co Ltd filed Critical VIA Alliance Semiconductor Co Ltd
Priority to CN202011140714.4A priority Critical patent/CN112241390B/zh
Priority to US17/087,675 priority patent/US11188491B1/en
Publication of CN112241390A publication Critical patent/CN112241390A/zh
Application granted granted Critical
Publication of CN112241390B publication Critical patent/CN112241390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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

Abstract

一种主机互连装置及其方法,该装置包括排序模块、解析模块、仲裁模块、写数据追踪模块与读数据追踪模块。排序模块对由至少一处理模块产生的至少一第一读写请求与芯片模块产生的第二读写请求进行排序,并输出第一读写请求或第二读写请求。解析模块依据第一读写请求或第二读写请求,产生解析信息。仲裁模块对解析信息与监听信息进行仲裁,以产生仲裁信息。写数据追踪模块对仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求。读数据追踪模块对仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求。

Description

主机互连装置及其方法
技术领域
本发明涉及一种互连结构装置,特别涉及一种主机互连装置。
背景技术
一般来说,目前X86的系统单芯片(system on a chip,SoC)的片内互连方式主要有环形总线架构和基于内核簇的交叉开关(cross-bar)架构。环形总线架构是所有核心共用末级缓存,易于物理流程实现,但每个内核需要增加二级缓存以用来缓解末级缓存(cache)访问高延时问题。基于内核簇的交叉开关架构易实现更多数量内核的互连,且缓存访问延时不会随着内核数量的增加而增加,但基于内核簇的交叉开关架构仍有高延迟的问题。
因此,如何有效地减少内存访问的延迟将成为各家厂商亟欲研究的课题。
发明内容
本发明提供一种主机互连装置,藉以减少内存访问的延迟,并提升内存访问带宽。
本发明提供一种主机互连装置,包括排序模块、解析模块、仲裁模块、写数据追踪模块与读数据追踪模块。排序模块接收至少一第一读写请求与第二读写请求,并对至少一第一读写请求与第二读写请求进行排序,并输出至少一第一读写请求或第二读写请求,其中至少一第一读写请求由至少一处理模块产生,第二读写请求由芯片模块产生。解析模块接收至少一第一读写请求或第二读写请求,并依据至少一第一读写请求或第二读写请求,产生解析信息。仲裁模块接收解析信息与监听信息,并对解析信息与监听请求进行仲裁,以产生仲裁信息。写数据追踪模块接收仲裁信息,并对仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求。读数据追踪模块接收仲裁信息,并对仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求。
本发明所公开的主机互连装置,通过排序模块对处理模块所提供的第一读写请求与芯片模块所提供的第二读写请求进行排序,并输出第一读写请求或第二读写请求,且解析模块依据第一读写请求或第二读写请求,产生解析信息。仲裁模块对解析信息与监听请求进行仲裁,以产生仲裁信息。写数据追踪模块对仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求,以及读数据追踪模块对仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求。如此一来,实现了处理模块和芯片模块可以在片内直接连接,可以有效地减少内存访问的延迟,并提升内存访问带宽。
附图说明
图1为依据本发明一实施例的主机互连装置的示意图。
图2为依据本发明的另一实施例的主机互连装置的示意图。
图3为依据本发明的一实施例的主机互连方法的流程图。
图4为依据本发明的另一实施例的主机互连方法的流程图。
具体实施方式
在以下所列举的各实施例中,将以相同的标号代表相同或相似的元件或组件。
图1为根据本发明一实施例的主机互连装置的示意图。本实施例的主机互连装置100适于耦接处理模块170与芯片模块180,且处理模块170与芯片模块180可以通过主机互连装置100进行数据传输的操作。处理模块170可以包括多个核(core)。芯片模块180可以包括装置控制器、内存控制器、存储装置与内存。
请参考图1,主机互连装置100包括排序模块110、解析模块120、仲裁模块130、写数据追踪模块140与读数据追踪模块150。
排序(serialize)模块110接收第一读写请求与第二读写请求,并对第一读写请求与第二读写请求进行排序,并输出第一读写请求或第二读写请求,其中第一读写请求由处理模块170产生,第二读写请求由芯片(chipset)模块180产生。在图1中,处理模块170的数量绘示为1个,但本发明实施例不限于此。在其他实施例中,处理模块170的数量可以为2个或2个以上,其中每个处理模块170均和排序模块110以及写数据追踪模块140相连,都可达到相同的效果。另外,处理模块170的数量可依使用者视其需求调整为1个或多个,使得本实施例的主机互连装置100具有可伸缩接口的配置。
此外,当处理模块170的数量为多个时,排序模块110接收多个第一读写请求与第二读写请求,并对多个第一读写请求与第二读写请求进行排序,并输出第一读写请求其中之一或第二读写请求。在本实施例中,当处理模块170的数量为一个时,排序模块110例如以轮循(Round-Robin)的方式,对第一读写请求与第二读写请求进行排序,并选择输出第一读写请求或第二读写请求。在另一实施例中,当处理模块170的数量为多个时,排序模块110也例如以轮循的方式,对多个第一读写请求与第二读写请求进行排序,并选择输出第一读写请求其中之一或第二读写请求。
解析模块120耦接排序模块110,接收排序模块110选择后输出的第一读写请求或第二读写请求,并依据第一读写请求或第二读写请求,产生解析信息。进一步来说,解析模块120可以依据第一读写请求,产生对应第一读写请求的至少一读写请求地址,以便可以将第一读写请求分配到芯片模块180的各模块(例如装置控制器、内存控制器、存储装置或内存),其中解析信息可以包括上述读写请求地址。另外,解析模块120可以依据第二读写请求,并于存储在工作优先级寄存器(task priority register,TPR)中的一中断信息表(TPRtable)中查找,以将芯片模块180的装置所发的中断(interrupt)请求找到对应的处理模块170的核(Core)进行服务,并产生对应的解析信息。
仲裁(arbitration)模块130耦接解析模块120,接收解析信息与监听信息,并对解析信息与监听信息进行仲裁,以产生仲裁信息。在本实施例中,仲裁模块130例如以轮循的方式,对解析信息与监听信息进行仲裁,以选择解析信息或监听信息作为仲裁信息。
写数据追踪模块140接收仲裁信息,并对仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求。进一步来说,写数据追踪模块140可以对仲裁信息中的请求进行分析,以确认仲裁信息中的请求需不需要监听,有没有收到监听响应,若收到监听响应则要辨别缓存(cache)是何状态(例如有命中缓存中的数据或没有命中缓存中的数据),进而产生第一监听请求、写数据指示与写数据请求。另外,当写数据追踪模块140识别仲裁信息中的请求需要访问缓存监听时,则写数据追踪模块140会产生第一监听请求。
读数据追踪模块150接收仲裁信息,并对仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求。进一步来说,读数据追踪模块150在接收到仲裁信息中的请求之后,可以仲裁信息中的请求发送到处理模块170进行监听操作,并等候处理模块170产生的响应,且收到处理模块170产生的响应在辨别响应的状态,同时把读取请求优先传送至芯片模块180的内存控制器(memory controller)去读数据。接着,在读取数据回来后,读数据追踪模块150可以识别缓存数据或内存数据,并据以产生第二监听请求、读数据指示与读数据请求。另外,读数据追踪模块150识别仲裁信息中的请求需要访问缓存监听,则读数据追踪模块150会产生第二监听请求。如此一来,实现了处理模块170和芯片模块180可以在片内直接连接,可以有效地减少内存访问的延迟,并提升内存访问带宽(例如带宽可以达到16GB/(S*GHz))。
进一步来说,当主机互连装置100与虚拟协议互连模块190耦接时,仲裁模块130还可以耦接虚拟协议互连模块190,并接收第三读取请求,其中第三读取请求由虚拟协议互连模块190产生。接着,仲裁模块130可以对解析信息、监听信息与第三读取请求进行仲裁,以产生仲裁信息。
在图1中,虚拟协议互连模块190的数量绘示为1个,但本发明实施例不限于此。在其他实施例中,虚拟协议互连模块190的数量可以为2个或2个以上,都可达到相同的效果。另外,虚拟协议互连模块190的数量可依使用者视其需求调整为1个或多个,使得本实施例的主机互连装置100具有可伸缩接口的配置。
图2为依据本发明的另一实施例的主机互连装置的示意图。主机互连装置200包括排序模块110、解析模块120、仲裁模块130、写数据追踪模块140、读数据追踪模块150、接收模块202、监听代理模块204、监听缓冲模块206、监听查询模块208、读写决定模块210、接收模块212、检查模块214、写数据切换模块216、装置写数据模块218、内存写数据模块220、装置读数据模块222、内存读数据模块224与读数据切换模块226。
在本实施例中,排序模块110、解析模块120、仲裁模块130、写数据追踪模块140、读数据追踪模块150、处理模块170、芯片模块180、虚拟协议互连模块190与图1的排序模块110、解析模块120、仲裁模块130、写数据追踪模块140、读数据追踪模块150、处理模块170、芯片模块180、虚拟协议互连模块190相同或相似,可参考图1的实施例的说明,故在此不再赘述。
接收模块202耦接排序模块110与芯片模块180,接收并传送芯片模块180所产生的请求与数据,并将上述请求与数据进行汇整,以产生第二读取请求。
监听代理(snoop agent)模块204耦接,接收监听响应、第一监听请求、第二监听请求,以产生监听信息,其中监听响应由处理模块170产生。也就是说,监听代理模块204可以处理监听响应、第一监听请求、第二监听请求的顺序,以产生监听信息。
进一步来说,当主机互连装置200耦接虚拟协议互连模块190时,监听代理模块204可以耦接虚拟协议互连模块190,并进一步接收虚拟协议互连模块190所产生的第三监听请求,且依据监听响应、第一监听请求、第二监听请求与第三监听请求,以产生监听信息。另外,在图2中,虚拟协议互连模块190的数量绘示为一个,但本发明实施例不限于此。在其他实施例中,虚拟协议互连模块190的数量可以为2个或2个以上,也可达到相同的效果。当虚拟协议互联模块190为多个时,每个虚拟协议互联模块均与监听代理模块204和监听缓冲模块206相连。
监听缓冲模块206耦接监听代理模块204、写数据追踪模块140与读数据追踪模块150,接收并缓冲第一监听请求与第二监听请求。也就是说,监听缓冲模块206可以将写数据追踪模块140所产生的第一监听请求与读数据追踪模块150所产生的第二监听请求进行缓冲,再将第一监听请求与第二监听请求传送至监听代理模块204,以便进行后续的处理。
监听查询模块208耦接于仲裁模块130与写数据追踪模块140和读数据追踪模块150之间。监听查询模块208可以具有监听查询表(snoop table)。监听查询模块208可以依据监听查询表所存储的信息,将仲裁信息中的不必要的请求进行屏蔽,并将屏蔽后的仲裁信息传送至写数据追踪模块140和读数据追踪模块150。
读写决定模块210耦接写数据追踪模块140与读数据追踪模块150,依据读写优先级,选择输出写数据追踪模块140的写数据请求或读数据追踪模块150的读数据请求。
举例来说,在一些实施例中,如果写数据追踪模块140的负载量接近满,则读写决定模块210需要发出读原因写回请求(read cause write back request)或写数据追踪模块140的写数据请求。在一些实施例中,如果驱逐周期(eviction cycle)请求不是具有相同缓存块(cache line)的有效写数据追踪模块140的入口地址,则驱逐周期请求将具有比写数据追踪模块140的写数据请求更高的优先级。
在一些实施例中,如果驱逐周期到达写数据追踪模块140相同的地址,则写数据追踪模块140的写数据请求的请求地址之前(包括)的优先级高于驱逐周期。在一些实施例中,如果读数据追踪模块150的读数据请求的请求地址命中相同缓存块的有效写数据追踪模块140的入口地址,则读写决定模块210需要发出写数据追踪模块140的写数据请求或读原因写回请求(read cause write back request)。
在一些实施例中,读写决定模块210应检查写数据追踪模块140与读数据追踪模块150的监听信息,以决定是否需要向芯片模块180的装置控制器(device controller)发出写数据追踪模块140的写数据请求或读数据追踪模块150的读数据请求(例如读原因写回请求)。
在一些实施例中,如果读数据追踪模块150的读数据请求命中了具有相同缓存块的读数据追踪模块150的有效先前入口,并且存在先前的读原因写回请求,则读原因写回请求将具有比读数据追踪模块150的读数据请求更高的优先级。
在一些实施例中,写数据追踪模块140的写数据请求/逐出周期将按顺序输出。在一些实施例中,读数据追踪模块150的读数据请求将无顺序输出。
接收模块212耦接仲裁模块130,接收仲裁信息,以取得对应芯片模块180的装置访问请求,并将装置访问请求传送至芯片模块180的装置控制器,以便装置控制器依据装置访问请求进行相应的操作。
检查模块214耦接接收模块212与解析模块120,接收装置访问请求,并对装置访问请求进行检查,且记录装置访问请求的请求配置,以及将请求配置传送至解析模块120。如此,解析模块120更可依据检查模块214所提供的请求配置,对排序模块110所输出的第一读取请求或第二读取请求进行解析。
写数据切换模块216耦接仲裁模块130、监听代理模块204与写数据追踪模块140,接收仲裁信息中的第一写请求数据、监听信息的监听数据与写数据指示,并依据写数据指示,切换输出第一写请求数据或监听数据。
装置写数据模块218耦接写数据切换模块216,接收第一写请求数据或监听数据,并将第一写请求数据或监听数据传送至芯片模块180的装置控制器。也就是说,当装置写数据模块218接收到第一写请求数据或监听数据时,装置写数据模块218会确认第一写请求数据或监听数据是否要传送至芯片模块180的装置控制器。当确认第一写请求数据或监听数据要传送至芯片模块180的装置控制器时,装置写数据模块218会将第一写请求数据或监听数据传送至芯片模块180的装置控制器,以便芯片模块180的装置控制器进行相应的操作。
内存写数据模块220耦接写数据切换模块216,接收第一写请求数据或监听数据,并将第一写请求数据或监听数据传送至芯片模块180的内存控制器。也就是说,当内存写数据模块220接收到第一写请求数据或监听数据时,内存写数据模块220会确认第一写请求数据或监听数据是否要传送至芯片模块180的内存控制器。当确认第一写请求数据或监听数据要传送至芯片模块180的内存控制器时,内存写数据模块220会将第一写请求数据或监听数据传送至芯片模块180的内存控制器,以便芯片模块180的内存控制器进行相应的操作。
进一步来说,当主机互连装置200与虚拟协议互连模块190耦接时,写数据切换模块216还可以耦接虚拟协议互连模块190,并接收虚拟协议互连模块产生190的第二写请求数据。接着,写数据切换模块216可以依据写数据指示,切换输出写请求数据、监听数据或第二写请求数据。另外,装置写数据模块218还可以将第一写请求数据、监听数据或第二写请求数据传送至芯片模块180的装置控制器。内存写数据模块220还可以将第一写请求数据、监听数据或第二写请求数据传送至芯片模块180的内存控制器。
图3为依据本发明的一实施例的主机互连方法的流程图。在步骤S302中,接收至少一第一读写请求与第二读写请求,并对至少一第一读写请求与第二读写请求进行排序,并输出至少一第一读写请求或第二读写请求,其中至少一第一读写请求由至少一处理模块产生,第二读写请求由芯片模块产生。
在步骤S304中,接收至少一第一读写请求或第二读写请求,并依据至少一第一读写请求或第二读写请求,产生解析信息。在步骤S306中,接收解析信息与监听信息,并对解析信息与监听信息进行仲裁,以产生仲裁信息。在步骤S308中,接收仲裁信息,并对仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求。在步骤S310中,接收仲裁信息,并对仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求。进一步来说,在另一实施例中,在步骤S306中,除了接收解析信息、监听信息外,还可以接收至少一第三读取请求,并对解析信息、监听请求与第三读取请求进行仲裁,以产生仲裁信息,其中至少一第三读取请求由至少一虚拟协议互连模块产生。
图4为依据本发明的另一实施例的主机互连方法的流程图。图4之流程图可以接续于图3的步骤S310,但本发明实施例不限于此。在步骤S402中,接收至少一监听响应、第一监听请求、第二监听请求,以产生监听信息,其中至少一监听响应由至少一处理模块产生。在步骤S404中,接收并缓冲第一监听请求与第二监听请求。
在步骤S406中,依据监听查询表,将仲裁信息中的不必要的请求进行屏蔽。在步骤S408中,依据读写优先级,选择输出写数据请求或读数据请求。在步骤S410中,取得对应芯片模块的装置访问请求,并将装置访问请求传送至芯片模块的装置控制器。在步骤S412中,接收装置访问请求,并对装置访问请求进行检查,且记录装置访问请求的一请求配置,以及将请求配置传送至解析模块。
进一步来说,在另一实施例中,在步骤S402中,除了接收至少一监听响应、第一监听请求、第二监听请求外,还可以接收至少一第三监听请求,并依据至少一监听响应、第一监听请求、第二监听请求与第三监听请求,以产生监听信息,其中至少一第三监听请求由至少一虚拟协议互连模块产生。
值得注意的是,图3及图4的步骤的顺序仅用以作为说明之目的,不用于限制本发明实施例之步骤的顺序,且上述步骤的顺序可由用户视其需求而改变。并且,在不脱离本发明的精神以及范围内,可增加额外的步骤或者使用更少的步骤。
装置读数据模块222耦接芯片模块180的装置控制器,接收并输出芯片模块180的装置控制器的第一读数据。内存读数据模块224耦接芯片模块180的内存控制器,接收芯片模块180的内存控制器的第二读数据与监听数据,并依据监听数据,决定输出第二读数据。也就是说,当监听数据中含有第二读数据的内容时,内存读数据模块224可以将第二读数据丢弃。另外,当监听数据未含有第二读数据的内容时,内存读数据模块224可以输出芯片模块180的内存控制器所提供的第二读数据。
读数据切换模块226耦接装置读数据模块222、内存读数据模块224与读数据追踪模块150,接收第一读数据、第二读数据与读数据指示,并依据读数据指示,选择将第一读数据或第二读数据输出至处理模块170,以便进行后续的处理。
进一步来说,当主机互连装置200与虚拟协议互连模块190耦接时,读数据切换模块226还可以耦接虚拟协议互连模块190,并进一步依据读数据指示,选择将第一读数据或第二读数据输出至处理模块170或虚拟协议互连模块190,使处理模块170或虚拟协议互连模块190进行后续的处理。
综上所述,本发明所公开的主机互连装置,通过排序模块对处理模块所提供的第一读写请求与芯片模块所提供的第二读写请求进行排序,并输出第一读写请求或第二读写请求,且解析模块依据第一读写请求或第二读写请求,产生解析信息。仲裁模块对解析信息与监听请求进行仲裁,以产生仲裁信息。写数据追踪模块对仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求,以及读数据追踪模块对仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求。如此一来,实现了处理模块和芯片模块可以在片内直接连接,可以有效地减少内存访问的延迟,并提升内存访问带宽。另外,本实施例的处理模块可以包括一个或多个,且虚拟协议互连模块也可以包括一个或多个,如此可以本实施例的主机互连装置具有可伸缩接口的配置。
本发明虽以实施例公开如上,然其并非用以限定本发明的范围,本领域技术人员在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视所附权利要求书界定范围为准。

Claims (21)

1.一种主机互连装置,包括:
排序模块,接收至少一第一读写请求与第二读写请求,并对该至少一第一读写请求与该第二读写请求进行排序,并输出该至少一第一读写请求或该第二读写请求,其中该至少一第一读写请求由至少一处理模块产生,该第二读写请求由芯片模块产生;
解析模块,接收该至少一第一读写请求或该第二读写请求,并依据该至少一第一读写请求或该第二读写请求,产生解析信息;
仲裁模块,接收该解析信息与监听信息,并对该解析信息与该监听信息进行仲裁,以产生该仲裁信息;
写数据追踪模块,接收该仲裁信息,并对该仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求;
读数据追踪模块,接收该仲裁信息,并对该仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求;以及
监听代理模块,接收至少一监听响应、该第一监听请求、该第二监听请求,以产生该监听信息,其中该至少一监听响应由该至少一处理模块产生。
2.如权利要求1所述的主机互连装置,其中该仲裁模块更接收至少一第三读取请求,并对该解析信息、该监听请求与该第三读取请求进行仲裁,以产生该仲裁信息,其中该至少一第三读取请求由至少一虚拟协议互连模块产生。
3.如权利要求1所述的主机互连装置,还包括:
监听缓冲模块,耦接该监听代理模块、该写数据追踪模块与该读数据追踪模块,接收并缓冲该第一监听请求与该第二监听请求。
4.如权利要求3所述的主机互连装置,其中该监听代理模块更接收至少一第三监听请求,并依据至少一监听响应、该第一监听请求、该第二监听请求与该第三监听请求,以产生该监听信息,其中该至少一第三监听请求由该至少一虚拟协议互连模块产生。
5.如权利要求1所述的主机互连装置,还包括:
监听查询模块,耦接于该仲裁模块与该写数据追踪模块和该读数据追踪模块之间,该监听查询模块具有监听查询表,并依据该监听查询表,将该仲裁信息中的不必要的请求进行屏蔽。
6.如权利要求1所述的主机互连装置,还包括:
读写决定模块,耦接该写数据追踪模块与该读数据追踪模块,依据读写优先级,选择输出该写数据追踪模块的该写数据请求或该读数据追踪模块的该读数据请求。
7.如权利要求1所述的主机互连装置,还包括:
接收模块,耦接该仲裁模块,接收该仲裁信息,以取得对应该芯片模块的装置访问请求,并将该装置访问请求传送至该芯片模块的装置控制器。
8.如权利要求7所述的主机互连装置,还包括:
检查模块,耦接该接收模块与解析模块,接收该装置访问请求,并对装置访问请求进行检查,且记录该装置访问请求的请求配置,以及将该请求配置传送至该解析模块。
9.如权利要求8所述的主机互连装置,还包括:
写数据切换模块,接收该仲裁信息中的第一写请求数据、该监听信息的监听数据与该写数据指示,并依据该写数据指示,切换输出该第一写请求数据或该监听数据;
装置写数据模块,耦接该写数据切换模块,接收该第一写请求数据或该监听数据,并将该第一写请求数据或该监听数据传送至该芯片模块的装置控制器;以及
内存写数据模块,耦接该写数据切换模块,接收该第一写请求数据或该监听数据,并将该第一写请求数据或该监听数据传送至该芯片模块的内存控制器。
10.如权利要求9所述的主机互连装置,其中该写数据切换模块更接收至少一虚拟协议互连模块产生的至少一第二写请求数据,并依据该写数据指示,切换输出该写请求数据、该监听数据或该至少一第二写请求数据;该装置写数据模块还将该第一写请求数据、该监听数据或该至少一第二写请求数据传送至该芯片模块的装置控制器;该内存写数据模块还将该第一写请求数据、该监听数据或该至少一第二写请求数据传送至该芯片模块的内存控制器。
11.如权利要求8所述的主机互连装置,还包括:
装置读数据模块,接收并输出该芯片模块的装置控制器的第一读数据;
内存读数据模块,接收该芯片模块的内存控制器的第二读数据与该监听数据,并依据该监听数据,决定输出该第二读数据;以及
读数据切换模块,接收该第一读数据、该第二读数据与该读数据指示,并依据该读数据指示,选择将该第一读数据或该第二读数据输出至该处理模块。
12.如权利要求11所述的主机互连装置,其中读数据切换模块更依据该读数据指示,选择将该第一读数据或该第二读数据输出至该至少一处理模块或至少一虚拟协议互连模块。
13.如权利要求1所述的主机互连装置,还包括:
接收模块,耦接该排序模块,接收该芯片模块的请求与数据,以产生该第二读取请求。
14.一种主机互连方法,包括:
接收至少一第一读写请求与第二读写请求,并对该至少一第一读写请求与该第二读写请求进行排序,并输出该至少一第一读写请求或该第二读写请求,其中该至少一第一读写请求由至少一处理模块产生,该第二读写请求由芯片模块产生;
接收该至少一第一读写请求或该第二读写请求,并依据该至少一第一读写请求或该第二读写请求,产生解析信息;
接收该解析信息与监听信息,并对该解析信息与该监听信息进行仲裁,以产生该仲裁信息;
接收该仲裁信息,并对该仲裁信息进行写数据追踪操作,以产生第一监听请求、写数据指示与写数据请求;
接收该仲裁信息,并对该仲裁信息进行读数据追踪操作,以产生第二监听请求、读数据指示与读数据请求;以及
接收至少一监听响应、该第一监听请求、该第二监听请求,以产生该监听信息,其中该至少一监听响应由该至少一处理模块产生。
15.如权利要求14所述的主机互连方法,其中更接收至少一第三读取请求,并对该解析信息、该监听请求与该第三读取请求进行仲裁,以产生该仲裁信息,其中该至少一第三读取请求由至少一虚拟协议互连模块产生。
16.如权利要求14所述的主机互连方法,还包括:
接收并缓冲该第一监听请求与该第二监听请求。
17.如权利要求16所述的主机互连方法,其中更接收至少一第三监听请求,并依据至少一监听响应、该第一监听请求、该第二监听请求与该第三监听请求,以产生该监听信息,其中该至少一第三监听请求由该至少一虚拟协议互连模块产生。
18.如权利要求14所述的主机互连方法,还包括:
依据监听查询表,将该仲裁信息中的不必要的请求进行屏蔽。
19.如权利要求14所述的主机互连方法,还包括:
依据读写优先级,选择输出该写数据请求或该读数据请求。
20.如权利要求14所述的主机互连方法,还包括:
取得对应该芯片模块的装置访问请求,并将该装置访问请求传送至该芯片模块的装置控制器。
21.如权利要求20所述的主机互连方法,还包括:
接收该装置访问请求,并对装置访问请求进行检查,且记录该装置访问请求的请求配置,以及将该请求配置传送至该解析模块。
CN202011140714.4A 2020-10-22 2020-10-22 主机互连装置及其方法 Active CN112241390B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011140714.4A CN112241390B (zh) 2020-10-22 2020-10-22 主机互连装置及其方法
US17/087,675 US11188491B1 (en) 2020-10-22 2020-11-03 Host interconnection device and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011140714.4A CN112241390B (zh) 2020-10-22 2020-10-22 主机互连装置及其方法

Publications (2)

Publication Number Publication Date
CN112241390A CN112241390A (zh) 2021-01-19
CN112241390B true CN112241390B (zh) 2022-08-30

Family

ID=74169859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011140714.4A Active CN112241390B (zh) 2020-10-22 2020-10-22 主机互连装置及其方法

Country Status (2)

Country Link
US (1) US11188491B1 (zh)
CN (1) CN112241390B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027656A (zh) * 2004-09-30 2007-08-29 飞思卡尔半导体公司 具备总线存取收回的数据处理系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5704058A (en) * 1995-04-21 1997-12-30 Derrick; John E. Cache bus snoop protocol for optimized multiprocessor computer system
US6338121B1 (en) * 1999-05-20 2002-01-08 International Business Machines Corporation Data source arbitration in a multiprocessor system
US6615323B1 (en) * 1999-09-02 2003-09-02 Thomas Albert Petersen Optimizing pipelined snoop processing
US7139860B2 (en) * 2002-07-29 2006-11-21 Freescale Semiconductor Inc. On chip network with independent logical and physical layers
US7895431B2 (en) * 2004-09-10 2011-02-22 Cavium Networks, Inc. Packet queuing, scheduling and ordering
US8805949B2 (en) * 2008-01-16 2014-08-12 Netapp, Inc. System and method for populating a cache using behavioral adaptive policies
US8458399B2 (en) * 2010-11-17 2013-06-04 Lsi Corporation Methods and structure for determining cache size in a storage system
EP2692092B1 (en) * 2011-03-28 2014-12-17 Citrix Systems Inc. Systems and methods for tracking application layer flow via a multi-connection intermediary device
US8751746B2 (en) * 2011-12-15 2014-06-10 Apple Inc. QoS management in the L2 cache
CN102866980B (zh) * 2012-07-31 2015-02-25 中国人民解放军国防科学技术大学 用于多核微处理器片上互连网络的网络通信胞元
US9047198B2 (en) * 2012-11-29 2015-06-02 Apple Inc. Prefetching across page boundaries in hierarchically cached processors
US9075952B2 (en) * 2013-01-17 2015-07-07 Intel Corporation Controlling bandwidth allocations in a system on a chip (SoC)
CN104599227B (zh) * 2013-10-30 2017-09-22 南京理工大学 用于高速ccd数据存储的ddr3仲裁控制器及方法
CN105511838B (zh) * 2014-09-29 2018-06-29 上海兆芯集成电路有限公司 处理器及其执行方法
US10042782B2 (en) * 2015-06-02 2018-08-07 ALTR Solutions, Inc. Immutable datastore for low-latency reading and writing of large data sets
GB2548845B (en) * 2016-03-29 2019-11-27 Imagination Tech Ltd Handling memory requests
US10025718B1 (en) * 2016-06-28 2018-07-17 Amazon Technologies, Inc. Modifying provisioned throughput capacity for data stores according to cache performance
GB2562520A (en) * 2017-05-17 2018-11-21 John Hamlin Derrick Digital processing connectivity

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027656A (zh) * 2004-09-30 2007-08-29 飞思卡尔半导体公司 具备总线存取收回的数据处理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网络空间安全大数据实时计算平台关键技术研究;姚欣;《中国优秀硕士学位论文全文数据库 信息科技》;20170415;1-68 *

Also Published As

Publication number Publication date
US11188491B1 (en) 2021-11-30
CN112241390A (zh) 2021-01-19

Similar Documents

Publication Publication Date Title
US6889344B2 (en) System and method for exposing hidden events on system buses
CN100524252C (zh) 一种嵌入式系统芯片及数据读写处理方法
US7529799B2 (en) Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
US6170030B1 (en) Method and apparatus for restreaming data that has been queued in a bus bridging device
US8200908B2 (en) Method for debugger initiated coherency transactions using a shared coherency manager
US7814257B2 (en) Data transfer apparatus and data transfer method
CN110941578B (zh) 一种具有dma功能的lio的设计方法及装置
CN114265872B (zh) 一种用于总线的互联装置
US5161162A (en) Method and apparatus for system bus testability through loopback
US6766386B2 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
JP4313607B2 (ja) バス接続回路及びバス接続システム
CN116089343A (zh) 一种基于axi的数据存储方法、装置、存储介质及设备
EP2435918B1 (en) Integrated circuit comprising trace logic and method for providing trace information
CN114546896A (zh) 系统内存管理单元、读写请求处理方法、电子设备和片上系统
US8312331B2 (en) Memory testing with snoop capabilities in a data processing system
US5933613A (en) Computer system and inter-bus control circuit
CN112241390B (zh) 主机互连装置及其方法
US7043612B2 (en) Compute node to mesh interface for highly scalable parallel processing system and method of exchanging data
CN110737618A (zh) 内嵌处理器进行快速数据通信的方法、装置及存储介质
US5809534A (en) Performing a write cycle to memory in a multi-processor system
CN112559434B (zh) 一种多核处理器及核间数据转发方法
US8706974B2 (en) Snoop request management in a data processing system
JP2002024007A (ja) プロセッサシステム
US20240103913A1 (en) Task scheduling method and system, and hardware task scheduler
CN116974963B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221123

Address after: 710075 305, Floor 3, Building B, Xi'an Tengfei Innovation Center, No. 38, Gaoxin 6th Road, High tech Zone, Xi'an City, Shaanxi Province

Patentee after: Xi'an Zhaoxin Integrated Circuit Co.,Ltd.

Patentee after: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203

Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 710075 305, Floor 3, Building B, Xi'an Tengfei Innovation Center, No. 38, Gaoxin 6th Road, High tech Zone, Xi'an City, Shaanxi Province

Patentee after: Xi'an Zhaoxin Integrated Circuit Co.,Ltd.

Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd.

Address before: 710075 305, Floor 3, Building B, Xi'an Tengfei Innovation Center, No. 38, Gaoxin 6th Road, High tech Zone, Xi'an City, Shaanxi Province

Patentee before: Xi'an Zhaoxin Integrated Circuit Co.,Ltd.

Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.