CN107992445A - 通信控制器、通信方法与系统单芯片 - Google Patents

通信控制器、通信方法与系统单芯片 Download PDF

Info

Publication number
CN107992445A
CN107992445A CN201711207882.9A CN201711207882A CN107992445A CN 107992445 A CN107992445 A CN 107992445A CN 201711207882 A CN201711207882 A CN 201711207882A CN 107992445 A CN107992445 A CN 107992445A
Authority
CN
China
Prior art keywords
communication
list
queue
transaction
destination
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
Application number
CN201711207882.9A
Other languages
English (en)
Other versions
CN107992445B (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.)
Shanghai Zhaoxin Semiconductor Co Ltd
Original Assignee
Shanghai Zhaoxin Integrated Circuit 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 Shanghai Zhaoxin Integrated Circuit Co Ltd filed Critical Shanghai Zhaoxin Integrated Circuit Co Ltd
Priority to CN201711207882.9A priority Critical patent/CN107992445B/zh
Publication of CN107992445A publication Critical patent/CN107992445A/zh
Priority to US16/114,695 priority patent/US20190163662A1/en
Application granted granted Critical
Publication of CN107992445B publication Critical patent/CN107992445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • 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/17306Intercommunication techniques
    • 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/82Architectures 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)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种通信优化技术。所公开的通信控制器包括一重传列表以及一目的地控制逻辑模块。该重传列表记录一信号来源没有成功暂存至一信号目的地的通信交易的编号。该目的地控制逻辑模块管理该重传列表、并在该信号目的地上一队列有追踪器释出时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。

Description

通信控制器、通信方法与系统单芯片
技术领域
本发明涉及信号通信,特别是用于系统单芯片的信号通信与信号传输。
背景技术
不同装置(devices)/功能模块(functional blocks)之间通信畅通为电子设计领域一直以来专注的议题。
随着系统单芯片(SoC)发展,通信控制更涉及系统单芯片(SoC)的芯片内链接网络(On-Chip Interconnection Network)。系统单芯片(SoC)内不同功能模块(IPs)之间顺畅通信逐渐成为设计要点。
发明内容
本发明优化不同装置/功能方块之间的通信。
根据本发明一种实施方式所实现的一种通信控制器,包括一重传列表以及一目的地控制逻辑模块。该重传列表记录一信号来源没有成功暂存至一信号目的地的通信交易的编号。该目的地控制逻辑模块管理该重传列表、并在该信号目的地上一队列有追踪器释出时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。
一种实施方式中,所述的通信控制器还包括一补位列表,记录该信号来源没有成功暂存至该队列的追踪器进行动态管理的通信交易的内容。该目的地控制逻辑模块管理该补位列表,并在该队列有追踪器释出时,以该补位列表上的通信交易内容填写释出的追踪器。该目的地控制逻辑模块是在该队列有追踪器释出、且以该补位列表上的通信交易内容填写释出的追踪器时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。该目的地控制逻辑模块是将重传的通信交易的内容暂存于该补位列表。
一种实施方式是以本发明技术实现一系统单芯片。该系统单芯片包括至少一个来源模块以及至少一个目的地模块。上述目的地模块各自具有前述通信控制器,是根据各自的上述通信控制器处理上述来源模块发来的通信交易。
根据本发明一种实施方式所实现的一种通信方法,包括:提供一重传列表,记录一信号来源没有成功暂存至一信号目的地的通信交易的编号;以及管理该重传列表、并在该信号目的地上一队列有追踪器释出时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1图解一系统单芯片(SoC)100,其中以一芯片内链接网络(On-ChipInterconnection 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即实现图1所述芯片内链接网络102。图示之路由层(routing layer)、连结层(link layer)、物理层(physical layer)实现封装(package)层级传递。消息(message)层级信息交换则是由功能模块P0的协议层(protocol layer)掌管。本发明一种实施方式是对功能模块的协议层进行设计,使不同功能模块之间的点对点通信顺畅。本发明技术涉及的运算硬件以及程序代码可以是实现为单一硬件模块,或安插在功能模块的微控制器架构中、或置于功能模块的链接接口。一种实施方式中,所述协议层设计可包括状态机(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所送来的通信交易(communication transactions)。一个追踪器对应一条通信交易。各追踪器具有一状态机,动态管理该条通信交易。重传列表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 (21)

1.一种通信控制器,包括:
一重传列表,记录一信号来源没有成功暂存至一信号目的地的通信交易的编号;以及
一目的地控制逻辑模块,管理该重传列表、并在该信号目的地上一队列有追踪器释出时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。
2.如权利要求1所述的通信控制器,还包括:
一补位列表,记录该信号来源没有成功暂存至该队列的追踪器进行动态管理的通信交易的内容,
其中,该目的地控制逻辑模块管理该补位列表,并在该队列有追踪器释出时,以该补位列表上的通信交易内容填写释出的追踪器。
3.如权利要求2所述的通信控制器,其中:
该目的地控制逻辑模块是在该队列有追踪器释出、且以该补位列表上的通信交易内容填写释出的追踪器时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。
4.如权利要求3所述的通信控制器,其中:
该目的地控制逻辑模块是将重传的通信交易的内容暂存于该补位列表。
5.如权利要求4所述的通信控制器,其中:
该目的地控制逻辑模块是在该重传列表未满但已载有通信交易的编号、或该补位列表已满时,将一新通信交易的编号填入该重传列表。
6.如权利要求5所述的通信控制器,其中:
该目的地控制逻辑模块是在该补位列表未满但已载有通信交易的内容或该队列已满时,将一新通信交易的内容填入该补位列表。
7.如权利要求4所述的通信控制器,其中:
该重传列表的尺寸与功耗低于该补位列表列表的尺寸与功耗;以及
该补位列表的尺寸与功耗低于该队列的尺寸与功耗。
8.如权利要求1所述的通信控制器,其中:
该目的地控制逻辑模块是将重传的通信交易的内容暂存于该队列进行动态管理。
9.如权利要求8所述的通信控制器,其中:
该目的地控制逻辑模块是在该重传列表未满但已载有通信交易的编号、或该队列已满时,将一新通信交易的编号填入该重传列表。
10.如权利要求9所述的通信控制器,其中:
该重传列表的尺寸与功耗低于该队列尺寸与功耗。
11.一种系统单芯片,包括:
至少一个来源模块;以及
至少一个目的地模块,各自具有如权利要求1所述的通信控制器,
其中,上述目的地模块是根据各自的上述通信控制器处理上述来源模块发来的通信交易。
12.一种通信方法,包括:
提供一重传列表,记录一信号来源没有成功暂存至一信号目的地的通信交易的编号;以及
管理该重传列表、并在该信号目的地上一队列有追踪器释出时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。
13.如权利要求12所述的通信方法,还包括:
提供一补位列表,记录该信号来源没有成功暂存至该队列的追踪器进行动态管理的通信交易的内容;以及
管理该补位列表,并在该队列有追踪器释出时,以该补位列表上的通信交易内容填写释出的追踪器。
14.如权利要求13所述的通信方法,还包括:
在该队列有追踪器释出、且以该补位列表上的通信交易内容填写释出的追踪器时,根据该重传列表要求该信号来源重传通信交易至该信号目的地。
15.如权利要求14所述的通信方法,还包括:
将重传的通信交易的内容暂存于该补位列表。
16.如权利要求15所述的通信方法,还包括:
在该重传列表未满但已载有通信交易的编号或该补位列表已满时,将一新通信交易的编号填入该重传列表。
17.如权利要求16所述的通信方法,还包括:
在该补位列表未满但已载有通信交易的内容或该队列已满时,将一新通信交易的内容填入该补位列表。
18.如权利要求15所述的通信方法,其中:
该重传列表的尺寸与功耗低于该补位列表;且
该补位列表的尺寸与功耗低于该队列。
19.如权利要求12所述的通信方法,还包括:
将重传的通信交易的内容暂存于该队列进行动态管理。
20.如权利要求19所述的通信方法,还包括:
在该重传列表未满但已载有通信交易的编号或该队列已满时,将一新通信交易的编号填入该重传列表。
21.如权利要求20所述的通信方法,其中:
该重传列表的尺寸与功耗低于该队列的尺寸与功耗。
CN201711207882.9A 2017-11-27 2017-11-27 通信控制器、通信方法与系统单芯片 Active CN107992445B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711207882.9A CN107992445B (zh) 2017-11-27 2017-11-27 通信控制器、通信方法与系统单芯片
US16/114,695 US20190163662A1 (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
CN201711207882.9A CN107992445B (zh) 2017-11-27 2017-11-27 通信控制器、通信方法与系统单芯片

Publications (2)

Publication Number Publication Date
CN107992445A true CN107992445A (zh) 2018-05-04
CN107992445B CN107992445B (zh) 2022-01-25

Family

ID=62032263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711207882.9A Active CN107992445B (zh) 2017-11-27 2017-11-27 通信控制器、通信方法与系统单芯片

Country Status (2)

Country Link
US (1) US20190163662A1 (zh)
CN (1) CN107992445B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW364095B (en) * 1997-05-13 1999-07-11 Ibm System for processing early arrival messages within a multinode asynchronous data communications system
CN101361310A (zh) * 2005-11-23 2009-02-04 Nxp股份有限公司 用于通信数据的数据处理器系统及方法
CN103001738A (zh) * 2012-11-23 2013-03-27 华为技术有限公司 接收机及数据处理的方法
US20150249602A1 (en) * 2014-02-28 2015-09-03 Cavium, Inc. System on chip link layer protocol
US20160188501A1 (en) * 2014-12-19 2016-06-30 Sonics, Inc. Reordering Responses in a High Performance On-Chip Network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107534894A (zh) * 2015-04-09 2018-01-02 株式会社Ntt都科摩 用户终端、无线基站以及无线通信方法
US9934120B2 (en) * 2016-02-10 2018-04-03 Western Digital Technologies, Inc. Method and apparatus for updating a system on chip (SOC) image from a host computer system without using DMA

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW364095B (en) * 1997-05-13 1999-07-11 Ibm System for processing early arrival messages within a multinode asynchronous data communications system
CN101361310A (zh) * 2005-11-23 2009-02-04 Nxp股份有限公司 用于通信数据的数据处理器系统及方法
CN103001738A (zh) * 2012-11-23 2013-03-27 华为技术有限公司 接收机及数据处理的方法
US20150249602A1 (en) * 2014-02-28 2015-09-03 Cavium, Inc. System on chip link layer protocol
US20160188501A1 (en) * 2014-12-19 2016-06-30 Sonics, Inc. Reordering Responses in a High Performance On-Chip Network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周芳;吴宁: "一种基于双缓冲和XYX路由的片上网络容错机制设计", 《微电子学与计算机》 *

Also Published As

Publication number Publication date
US20190163662A1 (en) 2019-05-30
CN107992445B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN103810133B (zh) 用于管理对共享读缓冲器资源的访问的方法和装置
CN107742210A (zh) 一种不同区块链间的跨链转账系统和方法
CN103150220B (zh) 进程间的通信方法和通信系统
CN107992436A (zh) 一种NVMe数据读写方法及NVMe设备
CN100468365C (zh) 高速缓存相干协议的推测分布式冲突解决方法和装置
CN103827842B (zh) 向控制器存储器空间写入消息
CN102436431B (zh) 总线系统和其死锁避免电路
US20020146022A1 (en) Credit-based flow control technique in a modular multiprocessor system
CN104166597B (zh) 一种分配远程内存的方法及装置
CN101996147A (zh) 一种双口ram互斥访问的实现方法
CN104636181A (zh) 用于迁移虚拟机的方法和系统
CN109218231A (zh) 一种RapidIO交换网络
CN108510315B (zh) 一种资源发布方法及相关设备
CN103488588A (zh) 一种内存保护方法、系统及网络接口控制器
CN109088881A (zh) 一种实现跨平台数据交换的共享链平台及数据交换方法
CN103491193B (zh) 一种文件共享的方法和设备
CN110096220A (zh) 一种分布式存储系统、数据处理方法和存储节点
CN102427476A (zh) 一种无线云存储模块
CN104050110A (zh) 用于存储器内计算的本地旁路的方法和系统
CN107992445A (zh) 通信控制器、通信方法与系统单芯片
US20060039351A1 (en) Computer system for controlling routed data amount
CN104662539A (zh) 存储并检索数据的方法和系统
CN102427477A (zh) 一种无线云存储装置
CN107894963A (zh) 用于系统单芯片的通信控制器与通信方法
CN109416665A (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
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.