CN107894963A - 用于系统单芯片的通信控制器与通信方法 - Google Patents
用于系统单芯片的通信控制器与通信方法 Download PDFInfo
- Publication number
- CN107894963A CN107894963A CN201711205223.1A CN201711205223A CN107894963A CN 107894963 A CN107894963 A CN 107894963A CN 201711205223 A CN201711205223 A CN 201711205223A CN 107894963 A CN107894963 A CN 107894963A
- Authority
- CN
- China
- Prior art keywords
- trading capacity
- destination
- signal
- communication
- signal source
- 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.)
- Granted
Links
Classifications
-
- 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/7807—System 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
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- 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/7807—System 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
-
- 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/82—Architectures of general purpose stored program computers data or demand driven
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种通信优化技术。所公开的通信控制器包括交易能力表格以及来源端控制逻辑模块。该交易能力表格记录信号来源对信号目的地进行通信交易的实际交易能力,其中包含该信号来源与至少一邻信号来源之间交流对该信号目的地的交易能力的状况。该来源端控制逻辑模块管理该交易能力表格、并使该信号来源根据该实际交易能力对该信号目的地进行通信交易。
Description
技术领域
本发明有关于信号通信,特别是用于系统单芯片的信号通信与信号传输。
背景技术
不同装置(devices)/功能块(functional blocks)之间通信畅通为电子设计领域一直以来专注的议题。
随着系统单芯片(SoC)发展,通信控制还涉及系统单芯片(SoC)的芯片内链接网络(On-Chip Interconnection Network)。系统单芯片(SoC)内不同功能模块(IPs)之间顺畅通信逐渐成为设计要点。
发明内容
本案优化不同装置/功能块之间的通信。
根据本案一种实施方式所实现的一种通信控制器,包括交易能力表格以及来源端控制逻辑模块。该交易能力表格记录信号来源对信号目的地进行通信交易的实际交易能力,其中包含该信号来源与至少一邻信号来源之间交流对该信号目的地的交易能力的状况。该来源端控制逻辑模块管理该交易能力表格、并使该信号来源根据该实际交易能力对该信号目的地进行通信交易。
一种实施方式中,该交易能力表格以借贷交易能力记录该信号来源从上述邻信号来源借贷来多少对该信号目的地的交易能力,且该交易能力表格以出借交易能力记录该信号来源向上述邻信号来源出借多少对该信号目的地的交易能力。该交易能力表格还记录借贷信息,列举该信号来源是从哪些邻信号来源借贷来对该信号目的地的交易能力。该交易能力表格还记录出借信息,列举该信号来源是向哪些邻信号来源出借对该信号目的地的交易能力。
一种实施方式是以本案技术实现系统单芯片。该系统单芯片包括多个来源模块以及至少一个目的地模块。该来源模块各自具有前述的通信控制器,是根据各自的上述通信控制器对上述目的地模块进行通信交易。
根据本案一种实施方式所实现的一种通信方法,包括:提供交易能力表格,记录信号来源对信号目的地进行通信交易的实际交易能力,其中包含该信号来源与至少一邻信号来源之间交流对该信号目的地的交易能力的状况;以及,管理该交易能力表格、并使该信号来源根据该实际交易能力对该信号目的地进行通信交易。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1图解一系统单芯片(SoC)100,其中以一芯片内链接网络(On-Chip
Interconnection Network)102作为多个功能模块之间的通信桥梁;
图2显示系统单芯片100上一功能模块P0至另一功能模块P1的通信,其中信号传递是通过交换机/路由器R0;
图3根据本案一种实施方式图解来源模块端的通信优化;
第4A、4B以及4C图为流程图,根据本案一种实施方式说明上述交易能力表格Tab0…Tab(m-1)的管理;
图5根据本案一种实施方式图解目的地模块端的通信优化;
图6为流程图,根据本案一种实施方式说明图5加速型队列的使用;
图7为流程图,根据本案一种实施方式说明图5加速型队列的使用;
图8根据本案一种实施方式图解目的地模块端的通信优化;
图9示意经芯片内链接网络102传来的通信交易如何填入图8加速型队列;
图10为流程图,根据本案一种实施方式说明图8加速型队列的使用;
图11A为流程图,根据本案一种实施方式说明图8加速型队列的使用;
图11B为流程图,根据本案一种实施方式说明图8加速型队列的使用;以及
图12以块图图解本案通信优化的另一种实施方式。
具体实施方式
现在以下描述列举本发明的多种实施例。以下描述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围对其进行界定。
本案所述通信技术可应用在各种架构的电子系统。以下以系统单芯片
(SoC)的芯片内链接网络(On-Chip Interconnection Network)为例进行说明,但并不意图对其进行限定。
图1图解一系统单芯片(SoC)100,其中以一芯片内链接网络(On-ChipInterconnection Network)102作为多个功能模块之间的通信桥梁,多个功能模块包括中央处理器(CPU)、图像处理器(GPU)、输入/输出控制器(I/O controller)、快取L2/LLC控制器、存储器控制器。
图2显示图1所示的系统单芯片100上一功能模块P0至另一功能模块P1的通信,其中信号传递是通过交换机或路由器R0。交换机或路由器R0即实现前述芯片内链接网络102。图示的路由层(routing layer)、链接层(link layer)、物理层(physical layer)实现封装(package)层级传递。消息(message)层级信息交换则是由功能模块P0的协议层(protocollayer)掌管。本案一种实施方式是对功能模块的协议层进行设计,使不同功能模块之间的点对点通信顺畅。本案技术涉及的运算硬件以及程序代码可以是实现为单一硬件模块,或安插在功能模块的微控制器架构中、或置于功能模块的链接接口。一种实施方式中,所述协议层设计可包括状态机(state machine)设计。
系统单芯片100上的功能模块有时扮演通信数据来源,有时是作通信数据的目的地。例如,一中央处理单元可为来源模块,提供数据经芯片内链接网络102传送至快取L2/LLC控制器。中央处理单元也可为目的地模块,接收存储器控制器从存储器读取出的数据。本案通信优化技术包括调整来源模块、和调整目的地模块两种类型。在来源以及目的地模块这两种角色间切换的功能模块则可兼具所述两种类型的通信优化方案。
首先讨论调整来源模块的通信优化技术。
图3根据本案一种实施方式图解来源模块端的通信优化。来源模块S0…S(m-1)可经芯片内链接网络102对目的地模块T0…T(n-1)要求通信交易(communicationtransactions)。来源模块S0…S(m-1)彼此可以出借交易能力(credits)。如图所示,来源模块S0…S(m-1)分别设计、并管理交易能力表格Tab0…Tab(m-1),作为来源模块S0…S(m-1)对目的地模块T0…T(n-1)要求通信交易(communication transactions)的依据。此实施例中,n个T0、T1…T(n-1)分别具有队列Q0、Q1…Q(n-1)。队列Q0、Q1…Q(n-1)分别具有r个追踪器(trackers)Tracker_0、Tracker_1…Tracker_(r-1),用于暂存且管理来源模块S0…S(m-1)所要求的通信交易(communication transactions)。一个追踪器对应一条通信交易。各追踪器具有一状态机,动态管理该条通信交易。
以交易能力表格Tab0为例,其中针对各目的地模块T0、T1…T(n-1)记录一固有(intrinsic)交易能力k、一借贷(borrowed)交易能力Cb#、一出借(lend)交易能力Cl#,并将该固有交易能力k、该借贷交易能力Cb#以及该出借交易能力Cl#搭配一交易能力消耗(以下代号C#)计算出一实际交易能力TC#。该实际交易能力TC#将决定来源模块是否得以对目的地模块发出通信交易,且不影响通信网络顺畅。该实际交易能力TC#非零才代表来源模块可对目的地模块发出通信交易。该实际交易能力TC#若为零,来源模块不可对目的地模块发出通信交易,避免堵塞通信网络。
此段落还针对交易能力表格Tab0为目的地模块T0所记录的该列内容作说明。固有交易能力k可设定为r/m,显示队列Q0的追踪器Tracker_0、Tracker_1…Tracker_(r-1)数量r预想状况是平均配置给所有m个来源模块S0…S(m-1)。借贷交易能力Cb#记录该来源模块S0从其他来源模块S1…S(m-1)借来了多少交易能力,用于目的地模块T0的通信交易。一种实施例还记录借贷信息Sbinfo,列举是从哪些来源模块借贷而来。出借交易能力Cl#记录该来源模块S0向其他来源模块S1…S(m-1)借出了多少交易能力,用于目的地模块T0的通信交易。一种实施例还记录出借信息Slinfo,列举是借给哪些来源模块。该来源模块S0对目的地模块T0的通信交易实况,则是以该交易能力消耗C#显示。目的地模块T0的显示队列Q0被该来源模块S0发出的一通信交易占据时,该交易能力消耗C#即加1。待该通信事务处理完毕、移出该队列Q0,该交易能力消耗C#减1。基于以上信息,该来源模块S0对目的地模块T0的实际交易能力TC#可由以下表达式计算获得:
TC#=k+Cb#-Cl#-C#
该实际交易能力TC#可以根据以上借贷概念尽可能不为零。如此一来,该来源模块S0即使对目的地模块T0有强烈通信交易需求,也不会受限于固有交易能力k=r/m。或者,倘若来源模块S0对目的地模块T0没有通信交易的需求,其固有交易能力k(=r/m)也可借给其他来源模块S1…S(m-1)利用。一种实施方式中,出借交易能力Cl#不能大于固有交易能力k(r/m)─仅固有配置的交易能力可以出借。
第4A、4B以及4C图为流程图,根据本案一种实施方式说明上述交易能力表格Tab0…Tab(m-1)的管理。所述流程可以运算硬件与程序代码、或状态机方式实现于来源模块S0…S(m-1)。
参阅图4A,步骤S402负责交易能力表格Tab0…Tab(m-1)的重置,包括设定上述固有交易能力k(=r/m)、设定上述借贷交易能力Cb#为0、设定上述出借交易能力Cl#为0、设定上述交易能力消耗C#为0、清空借贷信息Sbinfo与出借信息Slinfo。此时,各来源模块S0…S(m-1)对各目的地模块T0…T(n-1)的实际交易能力TC#为k。
步骤S404判断是否有通信交易规划,并记下该通信交易是由来源模块Sx规划对目的地模块Ty发出。关于此通信交易,步骤S406判断来源模块Sx对目的地模块Ty的实际交易能力TC#是否大于0。若大于0,流程进行步骤S408,来源模块Sx将此通信交易传送至目的地模块Ty的队列Qy,以其中一追踪器(tracker)暂存并且管理。步骤S408需将来源模块Sx对目的地模块Ty的交易能力消耗C#递增1。
当步骤S406判定来源模块Sx对目的地模块Ty已无交易能力,即实际交易能力TC#为0,流程通过节点A进行图4B步骤S412。步骤S412查询交易能力表格Tabx,检查目的地模块Ty该列,判断其中出借交易能力Cl#是否大于0。如此一来可确认来源模块Sx是否有出借其对目的地模块Ty的交易能力给别的来源模块。若是,根据相关出借信息Slinfo所记载的来源模块,步骤S414发出返还请求。一种实施方式是向实际交易能力TC#最高者要求返还。一种实施方式是对传输距离最近者要求返还。步骤S416确认交易能力的返还。若来源模块Sz返还交易能力,步骤S418使交易能力表格Tabz中,目的地模块Ty该列的借贷交易能力Cb#减1,且借贷信息Sbinfo也会随之调整。此外,步骤S418还使交易能力表格Tabx中,目的地模块Ty该列的出借交易能力Cl#也减1,且出借信息Slinfo也会随之调整。接着,流程进行步骤S408,来源模块Sx将所规划的通信交易发送至目的地模块Ty,且随之调整(+1)交易能力消耗C#。
当步骤S412判定关于目的地模块Ty,来源模块Sx没有借出交易能力给别的来源模块使用(出借交易能力Cl#为0),流程通过节点B进入图4C步骤S422。步骤S422中,来源模块Sx广播借贷请求。步骤S424确认是否其他来源模块都响应了该借贷请求。若是,步骤S426判断其他来源模块是否有闲置(idle)者。一种实施方式中,闲置(idle)的来源模块对目的地模块T0…T(n-1)没有任何通信交易在进行。步骤S428在符合的(闲置的)来源模块中择一(Sz),向其借贷交易能力。一种实施方式是根据来源模块间的传输距离来做选择,向传输距离最短者借交易能力。一种实施方式是根据交易能力余量度来做选择,例如,向可借用交易能力(k-Cl#)最多者商借。步骤S430包括交易能力表格Tabx之调整。交易能力表格Tabx中,目的地模块Ty该列的借贷交易能力Cb#也加1,且借贷信息Sbinfo也会随之调整。步骤S430还会发出确认字符ACK给来源模块Sz,使得交易能力表格Tabz中,目的地模块Ty该列的出借交易能力Cl#加1,且出借信息Slinfo也会随之调整。此外,步骤S430还会发出拒绝字符NAK回绝剩余的来源模块。随后,流程进行步骤S408,来源模块Sx将所规划的通信交易发送至目的地模块Ty,且随之调整(+1)交易能力消耗C#。
当步骤S426判定其他来源模块都非闲置,流程进行步骤S432。步骤S432检查是否有来源模块对目的地模块Ty的出借交易能力Cl#符合租借资格。一种实施方式是检查交易能力表格,确定目的地模块Ty该行的出借交易能力Cl#是否尚未达k,或是尚未达小于k的一临界数量l_th。若有符合要求者,流程进入步骤S428,在符合的来源模块中择一(Sz),向其借贷交易能力。一种实施方式是根据来源模块间的传输距离来做选择,向传输距离最短者借交易能力。一种实施方式是根据交易能力余量度来做选择,例如,向可借用交易能力(k-Cl#)最多者商借。接着,流程进行步骤S430进行相应措施,并进行步骤S408,由来源模块Sx将所规划的通信交易发送至目的地模块Ty,且随之调整(+1)交易能力消耗C#。
当步骤S432确认没有来源模块对目的地模块Ty的出借交易能力Cl#符合租借资格,则流程进行步骤S434,等待来源模块Sx对目的地模块Ty进行中的通信交易完成,例如,待交易能力消耗C#减1。接着,流程进行步骤S408,来源模块Sx将所规划的通信交易发送至目的地模块Ty,且随之调整(+1)交易能力消耗C#。
整理之,根据以上内容,目的地模块的队列的追踪器全部可被优化使用。
特别是,不同目的地模块T0…T(n-1)的队列Q0…Q(n-1)内追踪器数目不限定统一为r,可彼此不同数量。
以下讨论调整目的地模块的通信优化技术。
图5根据本案一种实施方式图解目的地模块端的通信优化。目的地模块T0…T(n-1)提供有加速型队列(turbo queues),除了队列Q0…Q(n-1),还载有重传列表ReT0…ReT(n-1)。队列Q0、Q1…Q(n-1)分别具有r个追踪器(trackers)Tracker_0、Tracker_1…Tracker_(r-1),用于暂存且管理来源模块S0…S(m-1)经芯片内链接网络102所送来的通信交易(communicationtransactions)。一个追踪器对应一条通信交易。各追踪器具有一状态机,动态管理该条通信交易。重传列表ReT0…ReT(n-1)分别具有T个字段Entry_0、Entry_1…Entry_(T-1)。队列Q0、Q1…Q(n-1)中任一者的追踪器用尽时,对应的重传列表将以一字段记录通信交易编号(以下标号ID#),待后续有追踪器释出时,据以要求来源模块重传。如此一来,一旦有追踪器释出,重传要求就可以将先前不成功传递的通信交易补上。重传列表ReT0…ReT(n-1)有效加速队列Q0…Q(n-1)使用。
图6为流程图,根据本案一种实施方式说明图5加速型队列的使用。所述流程可以运算硬件与程序代码、或状态机方式实现于目的地模块T0…T(n-1)。
步骤S602监控是否有通信交易规划,并记下该通信交易是由来源模块Sx规划对目的地模块Ty发出。若有,步骤S604检查重传列表ReTy是否记录有通信交易待重传。若有,步骤S606将步骤S602检测到的通信交易的编号ID#载于重传列表ReTy。接着,流程可回到步骤S602,继续监控是否有其他通信交易规划。
当步骤S604确定重传列表ReTy内没有记录任何通信交易待重传,步骤S608检查队列Qy是否已满。若队列Qy已满,流程进行步骤S606,将步骤S602检测到的通信交易的编号ID#载于重传列表ReTy。若队列Qy还有空的追踪器,则流程进行步骤S610,来源模块Sx将规划的通信交易传送至目的地模块Ty的队列Qy,以其中一追踪器(tracker)暂存并且管理。接着,流程可回到步骤S602,继续监控是否有其他通信交易规划。
图7为流程图,根据本案一种实施方式说明图5加速型队列的使用。所述流程可以运算硬件与程序代码、或状态机方式实现于目的地模块T0…T(n-1)。
步骤S702监控是否有追踪器释出,并记录系属队列Qh。若有,步骤S704检查重传列表ReTh内是否记录有通信交易待重传。若有,步骤S706根据重传列表ReTh中最旧记录的通信交易编号ID#,对其来源模块(Sz)发出通信交易重传要求。来源模块Sz对目的地模块Th重传的该笔通信交易是由队列Qh释出的追踪器暂存且管理。重传列表ReTh中,已重传的该笔通信交易的编号ID#删除。接着,流程可回到步骤S702,继续监控队列Q0…Q(n-1)是否有追踪器释出。步骤S704若判定重传列表ReTh没有记录任何通信交易待重传,流程回到步骤S702监控是否有追踪器释出。
图8根据本案一种实施方式图解目的地模块端的通信优化。目的地模块T0…T(n-1)提供较图5进一步改良的加速型队列(turbo queues)。除了队列Q0…Q(n-1)与重传列表ReT0…ReT(n-1),目的地模块T0…T(n-1)还载有补位列表WQ0…WQ(n-1)。
队列Q0…Q(n-1)分别具有r个追踪器(trackers)Tracker_0、Tracker_1…Tracker_(r-1),用于暂存且管理来源模块S0…S(m-1)经芯片内链接网络102所送来的通信交易(communication transactions)。一个追踪器对应一条通信交易。各追踪器具有一状态机,动态管理该条通信交易。补位列表WQ0…WQ(n-1)分别具有P个字段Entry_0、Entry_1…Entry_(P-1)。队列Q0…Q(n-1)中任一者的追踪器用尽时,对应的补位列表将以一字段记录通信交易内容,待后续有追踪器释出时,及时提供通信交易内容填入释出的追踪器。补位列表WQ0…WQ(n-1)不具有状态机设计,不负责暂存的通信交易的管理。因此,尺寸和功耗远小于队列Q0…Q(n-1)。重传列表ReT0…ReT(n-1)分别具有T个字段Entry_0、Entry_1…Entry_(T-1)。补位列表WQ0…WQ(n-1)中任一者的字段用尽时,对应的重传列表将以一字段记录通信交易编号(以下标号ID#),待补位列表释出字段,再据以要求来源模块重传该编号的通信交易,使该编号的通信交易待位于补位列表上。图8设计使得队列Q0…Q(n-1)一旦有追踪器释出,无须重传延迟就有通信交易内容可以填补进释出的追踪器。图8较图5设计更有效加速队列Q0…Q(n-1)使用。
图9示意经芯片内链接网络102传来的通信交易如何填入图8加速型队列。队列Qk具有多个追踪器,其中包含所暂存的通信交易的处理进度(例如,由状态机显示)。补位列表WQk则不负责暂存内容的动态管理,储存的包括通信交易编号ID#以及通信交易内容。重传列表ReTk则尺寸更小,储存通信交易编号ID#但不储存通信交易内容。队列Qk的追踪器可由芯片内链接网络102传来通信交易填入、或是由补位列表WQk提供的通信交易内容填写。补位列表WQk字段是由芯片内链接网络102传来通信交易填入,可以是重传性质、也可以是首发性质。重传列表ReTk所条列的通信交易编号ID#则是根据芯片内链接网络102传来的通信交易填入。
图10为流程图,根据本案一种实施方式说明图8加速型队列的使用。所述流程可以运算硬件与程序代码、或状态机方式实现于目的地模块T0…T(n-1)。
步骤S1002监控是否有通信交易规划,并记下该通信交易是由来源模块Sx规划对目的地模块Ty发出。若有,步骤S1004检查重传列表ReTy是否记录有通信交易待重传。若有,步骤S1006将步骤S1002检测到的通信交易的编号ID#载于重传列表ReTy。接着,流程可回到步骤S1002,继续监控是否有其他通信交易规划。
倘若步骤S1004确定重传列表ReTy内没有记录任何通信交易待重传,步骤S1008检查补位列表WQy是否记录有通信交易在等待补位进队列Qy。若有,步骤S1010检查补位列表WQy是否已满。若已满,流程进行步骤S1006,将步骤S1002检测到的通信交易的编号ID#载于重传列表ReTy。若补位列表WQy还有空的字段,则流程进行步骤S1012,来源模块Sx将规划的通信交易传送至目的地模块Ty的补位列表WQy以其中一字段暂存。接着,流程可回到步骤S1002,继续监控是否有其他通信交易规划。
倘若步骤S1008确定补位列表WQy没有记录通信交易在等待补位进队列Qy,步骤S1014检查队列Qy是否已满。若队列Qy已满,流程进行步骤S1012,来源模块Sx将规划的通信交易传送至目的地模块Ty的补位列表WQy以其中一字段暂存。若队列Qy还有空的追踪器,则流程进行步骤S1016,来源模块Sx将规划的通信交易传送至目的地模块Ty的队列Qy,以其中一追踪器(tracker)暂存并且管理。接着,流程可回到步骤S1002,继续监控是否有其他通信交易规划。
图11A为流程图,根据本案一种实施方式说明图8加速型队列的使用。所述流程可以运算硬件与程序代码、或状态机方式实现于目的地模块T0…T(n-1)。
步骤S1102监控是否有追踪器释出,并记录系属队列Qh。若有,步骤S1104检查补位列表WQh内是否记录有通信交易在等待补位进队列Qh。若有,步骤S1106将补位列表WQh中最旧记录的通信交易移到队列Qh释出的该追踪器,由该追踪器暂存且管理。接着,流程可回到步骤S1102,继续监控队列Q0…Q(n-1)是否有追踪器释出。步骤S1104若确定补位列表WQh内没有通信交易在等待补位进队列Qh,流程回到步骤S1102,继续监控队列Q0…Q(n-1)是否有追踪器释出。
图11B为流程图,根据本案一种实施方式说明图8加速型队列的使用。所述流程可以运算硬件与程序代码、或状态机方式实现于目的地模块T0…T(n-1)。
步骤S1112监控补位列表WQ0…WQ(n-1)是否有字段释出(如,由图11A步骤S1106将所储存通信交易内容移动到追踪器),并记录系属补位列表WQh。若有,步骤S1114检查重传列表ReTh内是否记录有通信交易待重传。若有,步骤S1116根据重传列表ReTh中最旧记录的通信交易编号ID#,对其来源模块(Sz)发出通信交易重传要求。步骤S1118中,来源模块Sz对目的地模块Th重传的该笔通信交易是由补位列表WQh释出的该字段暂存。重传列表ReTh中,已重传的该笔通信交易的编号ID#删除。接着,流程可回到步骤S1112,监控补位列表WQ0…WQ(n-1)是否有字段释出。步骤S1114若确定重传列表ReTh没有记录任何通信交易待重传,流程也可回到步骤S1112,继续监控补位列表WQ0…WQ(n-1)是否有字段释出。
图11A对队列Q0…Q(n-1)追踪器的监控步骤S1102以及图11A对补位列表WQ0…WQ(n-1)字段的监控步骤S1112可一同进行。
整理之,目的地模块的加速型队列有显著效果。特别是,以上实施例还可有其他变形。不同目的地模块T0…T(n-1)的队列Q0…Q(n-1)内追踪器数目不限定统一为r,可彼此不同数量。不同目的地模块T0…T(n-1)的重传列表ReT0…ReT(n-1)字段数目不限定统一为T,可彼此不同数量。不同目的地模块T0…T(n-1)的补位列表WQ0…WQ(n-1)字段数目不限定统一为P,可彼此不同数量。
图12以块图图解本案通信优化的另一种实施方式。功能模块PA以及PB可通过芯片内链接网络102双向进行通信交易(communication transactions)。功能模块PA包括来源块SA以及目的地块TA。功能模块PB包括来源块SB以及目的地块TB。来源块SA、SB分别具有交易能力表格TabA与TabB(参考图3)、以及来源端控制逻辑SA_L以及SB_L(参考第4A…4C图,可为硬件或软硬件共同设计)。目的地块TA、TB分别具有加速型队列TurboQA、TurboQB(参考图5或第8、9图)、以及目的地控制逻辑TA_L以及TB_L(参考第6-7图、或第10、11A、11B图,可为硬件或软硬件共同设计)。功能模块PA以及PB可为图1所示的中央处理器(CPU)、图像处理器(GPU)、输入/输出控制器(I/O controller)、快取L2/LLC控制器、存储器控制器、或其他。甚至,本案技术还可不限定应用于系统单芯片(SoC)之内网络链接。任何信号传输都可能使用以上技术。
其他采用上述概念实现信号传输的技术都属于本案所欲保护的范围。基于以上技术内容,本案还涉及通信方法。
虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视后附的权利要求所界定者为准。
Claims (15)
1.一种通信控制器,包括:
交易能力表格,记录信号来源对信号目的地进行通信交易的实际交易能力,其中包含该信号来源与至少一邻信号来源之间交流对该信号目的地的交易能力;以及
来源端控制逻辑模块,管理该交易能力表格、并使该信号来源根据该实际交易能力对该信号目的地进行通信交易。
2.如权利要求1所述的通信控制器,其中:
该交易能力表格以借贷交易能力记录该信号来源从上述邻信号来源借贷的对该信号目的地的交易能力;以及
该交易能力表格以出借交易能力记录该信号来源向上述邻信号来源出借的对该信号目的地的交易能力。
3.如权利要求2所述的通信控制器,其中:
该交易能力表格还记录借贷信息,列举该信号来源是从哪些个该邻信号来源借贷的对该信号目的地的交易能力;以及
该交易能力表格还记录出借信息,列举该信号来源是向哪些个该邻信号来源出借的对该信号目的地的交易能力。
4.如权利要求3所述的通信控制器,其中:
该交易能力表格还记录该信号来源对该信号目的地进行通信交易的固有交易能力;
该实际交易能力为该固有交易能力加上该借贷交易能力减去该出借交易能力再减去交易能力消耗;以及
该交易能力消耗显示该信号来源传输给该信号目的地的正由该信号目的地处理中的通信交易。
5.如权利要求4所述的通信控制器,其中该来源端控制逻辑模块更包括:
控制上述出借交易能力不得超出该固有交易能力;
当该实际交易能力为零且该出借交易能力不为零时,根据上述出借信息请求返还交易能力;以及
当该实际交易能力为零且该出借交易能力为零时,向上述邻信号来源广播要求借贷交易能力。
6.如权利要求4所述的通信控制器,其中:
该信号目的地具有一队列,该队列具有数量r个追踪器,至多暂存并且管理r笔通信交易;
该固有交易能力即上述r个追踪器固有配置给该信号来源使用的数量。
7.如权利要求6所述的通信控制器,其中:
该交易能力消耗显示上述r个追踪器中由该信号来源传输来的通信交易占据的数量;
该固有交易能力为r除以m;以及
m为该信号目的地的来源端候选的数量。
8.一种系统单芯片,包括:
多个来源模块,各自具有如权利要求1所述的通信控制器;以及
至少一个目的地模块,
其中,所述来源模块是根据各自的上述通信控制器对上述目的地模块进行通信交易。
9.一种通信方法,包括:
提供交易能力表格,记录信号来源对信号目的地进行通信交易的实际交易能力,其中包含该信号来源与至少一邻信号来源之间交流对该信号目的地的交易能力的状况;以及
管理该交易能力表格、并使该信号来源根据该实际交易能力对该信号目的地进行通信交易。
10.如权利要求9所述的通信方法,其中:
该交易能力表格以借贷交易能力记录该信号来源从上述邻信号来源借贷的对该信号目的地的交易能力;以及
该交易能力表格以出借交易能力记录该信号来源向上述邻信号来源出借的对该信号目的地的交易能力。
11.如权利要求10所述的通信方法,其中:
该交易能力表格还记录借贷信息,列举该信号来源是从哪些个该邻信号来源借贷的对该信号目的地的交易能力;以及
该交易能力表格还记录出借信息,列举该信号来源是向哪些各该邻信号来源出借的对该信号目的地的交易能力。
12.如权利要求11所述的通信方法,其中:
该交易能力表格还记录该信号来源对该信号目的地进行通信交易的固有交易能力;
该实际交易能力为该固有交易能力加上该借贷交易能力减去该出借交易能力再减去交易能力消耗;以及
该交易能力消耗显示该信号来源传输给该信号目的地的正由该信号目的地处理中的通信交易。
13.如权利要求12所述的通信方法,还包括:
控制上述出借交易能力不得超出该固有交易能力;
当该实际交易能力为零且该出借交易能力不为零时,根据上述出借信息请求返还交易能力;以及
当在该实际交易能力为零且该出借交易能力为零时,向上述邻信号来源广播要求借贷交易能力。
14.如权利要求12所述的通信方法,其中:
该信号目的地具有一队列,该队列具有数量r个追踪器,至多暂存并且管理r笔通信交易;
该固有交易能力即上述r个追踪器固有配置给该信号来源使用的数量。
15.如权利要求14所述的通信方法,其中:
该交易能力消耗显示上述r个追踪器中由该信号来源传输来的通信交易占据的数量;该固有交易能力为r除以m;以及
m为该信号目的地的来源端候选的数量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711205223.1A CN107894963B (zh) | 2017-11-27 | 2017-11-27 | 用于系统单芯片的通信控制器与通信方法 |
US16/114,726 US20190163663A1 (en) | 2017-11-27 | 2018-08-28 | Communication controller, communication method, and system on a chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711205223.1A CN107894963B (zh) | 2017-11-27 | 2017-11-27 | 用于系统单芯片的通信控制器与通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107894963A true CN107894963A (zh) | 2018-04-10 |
CN107894963B CN107894963B (zh) | 2021-07-27 |
Family
ID=61806218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711205223.1A Active CN107894963B (zh) | 2017-11-27 | 2017-11-27 | 用于系统单芯片的通信控制器与通信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190163663A1 (zh) |
CN (1) | CN107894963B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703682A (zh) * | 2002-10-08 | 2005-11-30 | 皇家飞利浦电子股份有限公司 | 用于建立事务的集成电路和方法 |
US20080040523A1 (en) * | 2006-08-08 | 2008-02-14 | Arm Limited | Interconnect logic for a data processing apparatus |
US20080313365A1 (en) * | 2007-06-14 | 2008-12-18 | Arm Limited | Controlling write transactions between initiators and recipients via interconnect logic |
CN101488923A (zh) * | 2009-01-08 | 2009-07-22 | 浙江大学 | 一种片上网络数据包编码优化的实现方法 |
CN101932996A (zh) * | 2007-09-24 | 2010-12-29 | 认知电子公司 | 具有降低功耗的并行处理计算机系统及提供该系统的方法 |
US20110066780A1 (en) * | 2009-09-15 | 2011-03-17 | Alistair Crone Bruce | Data processing apparatus and method for measuring a value of a predetermined property of transactions |
US20120089762A1 (en) * | 2002-10-08 | 2012-04-12 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
WO2014065880A1 (en) * | 2012-10-22 | 2014-05-01 | Robert Beers | Coherence protocol tables |
US8819309B1 (en) * | 2013-06-14 | 2014-08-26 | Arm Limited | Low latency bypass buffer |
US20150160982A1 (en) * | 2013-12-10 | 2015-06-11 | Arm Limited | Configurable thread ordering for throughput computing devices |
CN105871730A (zh) * | 2016-03-22 | 2016-08-17 | 广东工业大学 | 基于网络编码的新型紧凑、高效、快速的片上网络路由器 |
CN106407154A (zh) * | 2015-08-03 | 2017-02-15 | 华为技术有限公司 | 一种片上光网络拓扑及数据传输方法 |
CN107113254A (zh) * | 2014-12-22 | 2017-08-29 | 英特尔公司 | 自适应交换芯片上网络 |
CN111095220A (zh) * | 2017-08-09 | 2020-05-01 | 赛灵思公司 | 自适应服务质量控制电路 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135190B1 (en) * | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US10956205B2 (en) * | 2017-01-03 | 2021-03-23 | Arm Limited | Data processing |
CN107992445B (zh) * | 2017-11-27 | 2022-01-25 | 上海兆芯集成电路有限公司 | 通信控制器、通信方法与系统单芯片 |
-
2017
- 2017-11-27 CN CN201711205223.1A patent/CN107894963B/zh active Active
-
2018
- 2018-08-28 US US16/114,726 patent/US20190163663A1/en not_active Abandoned
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120089762A1 (en) * | 2002-10-08 | 2012-04-12 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
CN1703682A (zh) * | 2002-10-08 | 2005-11-30 | 皇家飞利浦电子股份有限公司 | 用于建立事务的集成电路和方法 |
US20080040523A1 (en) * | 2006-08-08 | 2008-02-14 | Arm Limited | Interconnect logic for a data processing apparatus |
US20080313365A1 (en) * | 2007-06-14 | 2008-12-18 | Arm Limited | Controlling write transactions between initiators and recipients via interconnect logic |
CN101932996A (zh) * | 2007-09-24 | 2010-12-29 | 认知电子公司 | 具有降低功耗的并行处理计算机系统及提供该系统的方法 |
CN101488923A (zh) * | 2009-01-08 | 2009-07-22 | 浙江大学 | 一种片上网络数据包编码优化的实现方法 |
US20110066780A1 (en) * | 2009-09-15 | 2011-03-17 | Alistair Crone Bruce | Data processing apparatus and method for measuring a value of a predetermined property of transactions |
WO2014065880A1 (en) * | 2012-10-22 | 2014-05-01 | Robert Beers | Coherence protocol tables |
US8819309B1 (en) * | 2013-06-14 | 2014-08-26 | Arm Limited | Low latency bypass buffer |
US20150160982A1 (en) * | 2013-12-10 | 2015-06-11 | Arm Limited | Configurable thread ordering for throughput computing devices |
CN107113254A (zh) * | 2014-12-22 | 2017-08-29 | 英特尔公司 | 自适应交换芯片上网络 |
CN106407154A (zh) * | 2015-08-03 | 2017-02-15 | 华为技术有限公司 | 一种片上光网络拓扑及数据传输方法 |
CN105871730A (zh) * | 2016-03-22 | 2016-08-17 | 广东工业大学 | 基于网络编码的新型紧凑、高效、快速的片上网络路由器 |
CN111095220A (zh) * | 2017-08-09 | 2020-05-01 | 赛灵思公司 | 自适应服务质量控制电路 |
Non-Patent Citations (2)
Title |
---|
JASON CONG: "On-chip interconnection network for accelerator-rich architectures", 《2015 52ND ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC)》 * |
石阳等: "基于FPGA技术的GPS卫星数字中频信号模拟器设计", 《航天控制》 * |
Also Published As
Publication number | Publication date |
---|---|
US20190163663A1 (en) | 2019-05-30 |
CN107894963B (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100579108C (zh) | 一种远程密钥验证的方法和主机结构适配器 | |
CN102157187B (zh) | 用于管理芯片中的存储器资源的方法与设备 | |
CN104871143B (zh) | 用于使用服务质量来向相异存储设备分配存储的系统和方法 | |
CN100573497C (zh) | 一种多核多操作系统之间的通信方法及系统 | |
CN103810133B (zh) | 用于管理对共享读缓冲器资源的访问的方法和装置 | |
CN102792290B (zh) | 互连中的阻隔交易 | |
CN103150220B (zh) | 进程间的通信方法和通信系统 | |
CN102436431B (zh) | 总线系统和其死锁避免电路 | |
US20020146022A1 (en) | Credit-based flow control technique in a modular multiprocessor system | |
CN107992436A (zh) | 一种NVMe数据读写方法及NVMe设备 | |
CN104166597B (zh) | 一种分配远程内存的方法及装置 | |
CN102402493B (zh) | 用于共享数据总线的层级式缓冲器系统的系统和方法 | |
CN101996147A (zh) | 一种双口ram互斥访问的实现方法 | |
CN107179878A (zh) | 基于应用优化的数据存储的方法和装置 | |
CN106020731B (zh) | 存储设备、存储设备阵列和网络适配器 | |
CN101901205A (zh) | 在PCIExpress上启用基于ID的流的方法和装置 | |
CN104937565B (zh) | 从第一节点到第二节点的地址范围传送 | |
CN103827842A (zh) | 向控制器存储器空间写入消息 | |
KR20160099722A (ko) | 캐시-코히어런시를 갖춘 집적 회로들 | |
CN103455371A (zh) | 用于优化的管芯内小节点间消息通信的方法和系统 | |
CN106462522A (zh) | 基于闪存的存储设备的输入/输出虚拟化(iov)主机控制器(hc)(iov‑hc) | |
CN107562685A (zh) | 一种基于延时补偿的多核处理器核心间数据交互的方法 | |
CN105993148A (zh) | 网络接口 | |
CN107851074A (zh) | 多个接口对存储器空间的并发访问 | |
CN104662539A (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 | ||
CP03 | Change of name, title or address |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |
|
CP03 | Change of name, title or address |