CN101127016A - 传输控制设备和传输控制方法 - Google Patents
传输控制设备和传输控制方法 Download PDFInfo
- Publication number
- CN101127016A CN101127016A CNA2007101028841A CN200710102884A CN101127016A CN 101127016 A CN101127016 A CN 101127016A CN A2007101028841 A CNA2007101028841 A CN A2007101028841A CN 200710102884 A CN200710102884 A CN 200710102884A CN 101127016 A CN101127016 A CN 101127016A
- Authority
- CN
- China
- Prior art keywords
- request
- address
- transmission
- equipment
- requests
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
本发明提供一种传输控制设备和传输控制方法。根据本发明,地址交叉开关临时缓冲已接收的请求,同时对请求进行监控,并且对预定类型的地址请求(例如,长信息包地址请求)进行计数。当计数值超过预定阈值时(例如,当长信息包地址请求的计数值超过100时),地址交叉开关将地址请求的广播暂停一预定时间段。在预定时间段过去之后,地址交叉开关以接收地址请求的顺序重新开始广播地址请求。
Description
技术领域
本发明涉及一种传输控制技术,尤其涉及一种传输控制设备和传输控制方法。
背景技术
已经提出多种技术,用于改善在各系统(例如,个人计算机、工作站和服务器)中使用的计算机处理器的性能,例如数据处理速度。在日本公开专利申请No.H10-254843中公开了这种技术的一个实例。如图5所示,其中公开了这样一种实例,其采用多处理器结构,所述多处理器结构包括:中央处理单元(CPU);系统板,在其上安装有主存储单元等;和输入/输出(I/O)单元,其控制与外部设备(例如,外设部件互联(PCI)卡)的连接。
在该多处理器结构中,地址交叉开关(address crossbar switch)对CPU或I/O设备发出的地址请求(例如,与写数据或读数据相关的地址请求)进行仲裁,以增加系统板之间、I/O单元之间或者系统板与I/O单元之间的数据传输率。
然而,上述传统技术的问题在于会产生活锁,从而导致系统停机。具体地,在接收到来自CPU或I/O设备的多个地址请求时,地址交叉开关对这些地址请求进行仲裁,并且以轮询的方式传输这些地址请求,而不执行任何特定控制。例如,如果存在对同一地址的访问冲突,或者存在资源短缺,则不处理已经广播的地址请求,并从接收器将该广播的地址请求与重发请求一起返回。地址交叉开关重新广播该重发地址请求。当在某一时刻执行一系列操作时,不处理该地址请求,直至资源被释放。这样会产生活锁,即处理以工作模式等待资源释放。如果活锁状态继续,则系统最终会停机。
可通过管理地址请求的重发级别来避免活锁,然而这样会导致需要复杂电路的问题。
发明内容
本发明的目的在于至少部分解决传统技术中的问题。
根据本发明的一个方案,提供一种传输控制设备,其对来自计算机系统中的设备的请求以及来自外部连接至计算机系统的设备的请求进行仲裁,以发送仲裁后的请求全所有的设备,并合并对来自所述设备的请求的响应,以发送合并后的响应至所有设备,该传输控制设备包括:存储单元,在其中临时存储请求;和传输暂停控制单元,控制所存储的请求的传输,使其在预定时机暂停一预定时间段。
根据本发明的另一方案,提供一种传输控制方法,其中对来自计算机系统中的设备的请求以及来自外部连接至计算机系统的设备的请求进行仲裁,以发送仲裁后的请求至所有的设备,并合并对来自所述设备的请求的响应,以发送合并后的响应至所有设备,该传输控制方法包括:临时存储请求;和控制所存储的请求的传输,使其在预定时机暂停一预定时间段。
当结合附图考虑本发明时,通过阅读本发明优选实施例的以下详细描述可更好地理解本发明的上述和其它目的、特点、优点以及技术和工业意义。
附图说明
图1和图2是说明根据本发明实施例的地址交叉开关的结构和主要特征的示意图;
图3是地址交叉开关的框图;
图4是地址交叉开关的操作流程图;和
图5是传统计算机处理器的结构的示图。
具体实施方式
以下参照附图详细描述本发明的优选实施例。在以下实施例中,地址交叉开关用作请求发送设备。
图1和图2是说明根据本发明实施例的地址交叉开关的结构和主要特征的示意图。如图1所示,地址交叉开关对从各种设备(包括计算机系统中的CPU,例如计算机处理器)或者从各种外部设备(例如连接至计算机系统的PCI卡)接收的地址请求进行仲裁,从而将地址请求发送(广播)至所有设备。此外,地址交叉开关对从所述设备接收的地址请求的响应进行合并,并将这些响应广播至所有设备。因此,地址交叉开关可避免活锁,并防止系统停机。
例如,在从系统板(SB#0至SB#4)和I/O单元(I/OU#0至I/OU#4)接收到重发地址请求时,地址交叉开关将重发地址请求的广播暂停一预定时间段,其中所述系统板具有主控制单元(例如CPU)和主存储单元(例如安装在系统板上的存储器),所述I/O单元控制计算机系统与外部设备之间的连接。
具体地,地址交叉开关临时缓冲已接收的地址请求,同时对其进行监控,并对预定类型的地址请求(例如,长信息包(long-packet)地址请求)进行计数。如果该类型的地址请求个数超过阈值(例如,如果长信息包的地址请求个数超过100),则地址交叉开关将重发地址请求的广播暂停一预定时间段。当广播暂停时间段结束时,地址交叉开关以地址请求被接收的顺序重新开始广播地址请求。
例如,如图2所示,由于系统板SB#1已经发送了用以指定同一地址的地址请求B,所以从系统板SB#0发送的、并从地址交叉开关广播的地址请求A返回以进行重发。在这种情况下,系统板SB#0重发(重新发送)地址请求A。地址交叉开关接收到重发的地址请求A,并且当长信息包地址请求的计数值超过阈值时,地址交叉开关将重发地址请求A的广播暂停一预定时间段。
类似地,由于系统板SB#0已经发送了用以指定同一地址的地址请求A,所以从系统板SB#1发送的并从地址交叉开关广播的地址请求B返回以进行重发。在这种情况下,系统板SB#1重发(重新发送)地址请求B。地址交叉开关接收到重发的地址请求B,并且如果处于广播暂停期间,则地址交叉开关将重发地址请求B的广播暂停一预定时间段。
当广播暂停时间段结束时,地址交叉开关广播最先接收到的地址请求A,并广播对地址请求A的响应(例如,响应地址请求的地址通知)。系统板SB#0基于从地址交叉开关接收到的响应执行下一处理,例如数据请求。
类似地,地址交叉开关广播在地址请求A之后接收到的地址请求B,并广播对地址请求B的响应。系统板SB#1基于从地址交叉开关接收到的响应执行下一处理,例如数据请求。
如上所述,根据本发明实施例的地址交叉开关调节用于发送例如同一地址的重发地址请求的时机(timing),从而避免活锁,并防止系统停机。
图3是根据本发明实施例的地址交叉开关30的框图。地址交叉开关30包括:通信控制接口(I/F)31、存储单元32和控制单元33。通信控制I/F 31控制与系统板10和I/O单元20的通信。
存储单元32在其中存储由控制单元33执行的各利1处理所需的数据和程序。特别地,在本发明中,存储单元32包括缓冲器32a。缓冲器32a在其中临时存储信息,例如由接收单元33a接收的地址请求,随后对其进行描述。
控制单元33包括内部存储器,所述内部存储器在其中存储预定控制程序以及指定处理过程和所需数据的程序。控制单元33根据上述程序和数据执行各种处理。特别地,在本发明中,控制单元33还包括接收单元33a和传输控制单元33b。
接收单元33a经由通信控制I/F 31从系统板10和I/O单元20接收各种信息,例如地址请求,并且将所述信息存储在缓冲器32a中。
传输控制单元33b控制信息的传输(广播)。具体地,传输控制单元33b监控由接收单元33a接收的地址请求,并对预定类型的地址请求(例如,长信息包地址请求)进行计数。如果该类型的地址请求个数超过预定阈值(例如,如果长信息包地址请求的个数超过100),则传输控制单元33b将重发地址请求的广播暂停一预定时间段。当广播暂停时间段结束时,传输控制单元33b以接收地址请求的顺序重新开始广播存储在缓冲器32a中的地址请求。
图4是地址交叉开关30的操作流程图。当在步骤S401,由接收单元33a接收到地址请求时,在步骤S402,传输控制单元33b对预定类型的地址请求(例如,长信息包地址请求)进行计数。
然后,在步骤S403,传输控制单元33b检查地址请求计数值是否超过阈值。如果计数值超过阈值(在步骤S403中为是),则在步骤S404,传输控制单元33b将地址请求的广播暂停一预定时间段。另一方面,如果计数值没有超过阈值(在步骤S403中为否),则在步骤S405,传输控制单元33b广播地址请求。
图3中所示的地址交叉开关30的每一组件均为功能性概念,不必需具有如图所示的物理结构。换句话说,地址交叉开关30的分布和集成的具体形式不限于图3中所示。例如,接收单元33a可以与传输控制单元33b集成。即,可以根据各种负载、使用状态等在功能上或物理上任意分布或集成所有或部分组件。
此外,可通过计算机程序来实现地址交叉开关30的全部或部分处理功能(传输控制功能等)。即,计算机程序可被存储在预定存储器等中,并在计算机上被执行以实现与地址交叉开关30相同的功能。除非另有说明,否则在上述说明书和附图中提及的处理过程、控制过程以及包括特定名称的信息可被任意改变。
如上文所述,根据本发明的实施例,从计算机系统中的各种设备(例如系统板上的CPU)以及从连接至计算机系统的各种外部设备(例如经由I/O单元连接的PCI卡)接收的地址请求被临时存储(缓冲)。控制所存储的地址请求的传输,使其在预定时机(例如,不固定的和可变的或随机的时机)处暂停一预定时间段。即,调节该时机以发送例如用于同一地址的重发地址请求。由此能够避免活锁,并防止系统停机。
此外,监控从各种设备接收的地址请求,以对预定类型的地址请求(例如,长信息包地址请求)进行计数。每当计数值达到阈值时,将地址请求的传输暂停一预定时间段。调节该时机,以根据该时机发送地址请求,其中在该时机计数值达到阈值。因此,能够在不需要复杂电路的情况下避免活锁。
尽管为了完整和清楚公开的目的,已经参照具体实施例对本发明进行了描述,但是所附权利要求并不因此受到限制,而应该被理解为,对于所属领域普通技术人员来说所有修改和可替代的结构均落入这里所述的基本教导中。
Claims (4)
1.一种传输控制设备,其对来自计算机系统中的设备的请求以及来自外部连接至该计算机系统的设备的请求进行仲裁,以发送仲裁后的请求至所有的所述设备,并合并对来自所述设备的请求的响应,以发送合并后的响应至所有的所述设备,该传输控制设备包括:
存储单元,在其中临时存储请求;和
传输暂停控制单元,控制所存储的请求的传输,使其在预定时机暂停一预定时间段。
2.如权利要求1所述的传输控制设备,还包括:计数单元,其监控来自所述设备的请求,并对预定类型的请求进行计数,其中
每当由所述计数单元获得的计数值达到阈值时,所述传输暂停控制单元控制所存储的所述预定类型的请求的传输,使其暂停所述预定时间段。
3.一种传输控制方法,其中对来自计算机系统中的设备的请求以及来自外部连接至该计算机系统的设备的请求进行仲裁,以发送仲裁后的请求至所有的所述设备,并合并对来自所述设备的请求的响应,以发送合并后的响应至所有的所述设备,该传输控制方法包括下列步骤:
临时存储请求;和
控制所存储的请求的传输,使其在预定时机暂停一预定时间段。
4.如权利要求3所述的传输控制方法,还包括步骤:通过监控来自所述设备的请求来对预定类型的请求进行计数,其中
所述控制所存储的请求的传输的步骤包括:在计数时,每当计数值达到阈值时,控制所存储的所述预定类型的请求的传输,使其暂停所述预定时间段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006223490 | 2006-08-18 | ||
JP2006223490A JP4841358B2 (ja) | 2006-08-18 | 2006-08-18 | リクエスト送信制御装置およびリクエスト送信制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101127016A true CN101127016A (zh) | 2008-02-20 |
CN100578479C CN100578479C (zh) | 2010-01-06 |
Family
ID=38705124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710102884A Expired - Fee Related CN100578479C (zh) | 2006-08-18 | 2007-05-11 | 传输控制设备和传输控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080046622A1 (zh) |
EP (1) | EP1895429B1 (zh) |
JP (1) | JP4841358B2 (zh) |
KR (1) | KR100837712B1 (zh) |
CN (1) | CN100578479C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716345A (zh) * | 2012-09-29 | 2014-04-09 | 海尔集团公司 | 一种智能社区网络中的ip表下发方法 |
TWI666551B (zh) * | 2011-05-20 | 2019-07-21 | 美商英特爾股份有限公司 | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201102698A (en) * | 2010-01-26 | 2011-01-16 | Mastouch Optoelectronics Technologies Co Ltd | Single-layer projected capacitive touch panel and fabricating method thereof |
CN110247852A (zh) * | 2019-07-08 | 2019-09-17 | 无锡锐格思信息技术有限公司 | 减少广播报文对以太网交换设备cpu影响的方法与设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852718A (en) * | 1995-07-06 | 1998-12-22 | Sun Microsystems, Inc. | Method and apparatus for hybrid packet-switched and circuit-switched flow control in a computer system |
JPH09114750A (ja) * | 1995-10-13 | 1997-05-02 | Mitsubishi Electric Corp | バス制御装置 |
US5657281A (en) | 1996-03-11 | 1997-08-12 | Cirrus Logic, Inc. | Systems and methods for implementing inter-device cell replacements |
US5961623A (en) * | 1996-08-29 | 1999-10-05 | Apple Computer, Inc. | Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system |
JPH10254843A (ja) * | 1997-03-06 | 1998-09-25 | Hitachi Ltd | クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法 |
US6032232A (en) * | 1997-05-29 | 2000-02-29 | 3Com Corporation | Multiported memory access system with arbitration and a source burst limiter for blocking a memory access request |
US5953685A (en) * | 1997-11-26 | 1999-09-14 | Intel Corporation | Method and apparatus to control core logic temperature |
US6230229B1 (en) * | 1997-12-19 | 2001-05-08 | Storage Technology Corporation | Method and system for arbitrating path contention in a crossbar interconnect network |
US6122692A (en) | 1998-06-19 | 2000-09-19 | International Business Machines Corporation | Method and system for eliminating adjacent address collisions on a pipelined response bus |
JP2000315188A (ja) * | 1999-05-06 | 2000-11-14 | Nec Corp | ライブ・ロック検出方法及びその装置並びに調停回路 |
US6629177B1 (en) * | 1999-12-27 | 2003-09-30 | Intel Corporation | Arbitrating requests on computer buses |
DE60214341T2 (de) * | 2001-02-28 | 2007-09-13 | International Business Machines Corp. | Vermittlungsanordnung und -verfahren mit getrennten ausgangspuffern |
US6895454B2 (en) * | 2001-10-18 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for sharing resources between different queue types |
JP4063529B2 (ja) * | 2001-11-28 | 2008-03-19 | Necエレクトロニクス株式会社 | バスシステムおよびリトライ方法 |
ATE333679T1 (de) * | 2003-03-24 | 2006-08-15 | Sony Computer Entertainment Inc | Crossbar-vermittlungsstelle, zugehöriges betriebssteuerungverfahren und -programm |
US7127534B2 (en) * | 2003-06-27 | 2006-10-24 | Emulex Design & Manufacturing Corporation | Read/write command buffer pool resource management using read-path prediction of future resources |
US7047322B1 (en) * | 2003-09-30 | 2006-05-16 | Unisys Corporation | System and method for performing conflict resolution and flow control in a multiprocessor system |
US7748001B2 (en) | 2004-09-23 | 2010-06-29 | Intel Corporation | Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time |
US7600023B2 (en) * | 2004-11-05 | 2009-10-06 | Hewlett-Packard Development Company, L.P. | Systems and methods of balancing crossbar bandwidth |
US7254768B2 (en) * | 2005-02-18 | 2007-08-07 | Broadcom Corporation | Memory command unit throttle and error recovery |
US7484131B2 (en) * | 2005-09-13 | 2009-01-27 | International Business Machines Corporation | System and method for recovering from a hang condition in a data processing system |
JP5076400B2 (ja) * | 2006-08-16 | 2012-11-21 | 富士通株式会社 | データ処理システムおよび情報処理装置 |
-
2006
- 2006-08-18 JP JP2006223490A patent/JP4841358B2/ja not_active Expired - Fee Related
-
2007
- 2007-04-17 US US11/785,409 patent/US20080046622A1/en not_active Abandoned
- 2007-04-18 EP EP07106461A patent/EP1895429B1/en not_active Ceased
- 2007-05-11 CN CN200710102884A patent/CN100578479C/zh not_active Expired - Fee Related
- 2007-05-11 KR KR1020070045969A patent/KR100837712B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI666551B (zh) * | 2011-05-20 | 2019-07-21 | 美商英特爾股份有限公司 | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 |
CN103716345A (zh) * | 2012-09-29 | 2014-04-09 | 海尔集团公司 | 一种智能社区网络中的ip表下发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100578479C (zh) | 2010-01-06 |
US20080046622A1 (en) | 2008-02-21 |
JP2008046980A (ja) | 2008-02-28 |
KR100837712B1 (ko) | 2008-06-13 |
EP1895429B1 (en) | 2011-07-27 |
EP1895429A1 (en) | 2008-03-05 |
KR20080016432A (ko) | 2008-02-21 |
JP4841358B2 (ja) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370552B2 (en) | Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions | |
US5546543A (en) | Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress | |
US7061929B1 (en) | Data network with independent transmission channels | |
US7886089B2 (en) | Method, system and computer program product for enhanced shared store buffer management scheme for differing buffer sizes with limited resources for optimized performance | |
US20080049617A1 (en) | System for fine grained flow-control concurrency to prevent excessive packet loss | |
US8077620B2 (en) | Methods and apparatuses for processing packets in a credit-based flow control scheme | |
US6975626B1 (en) | Switched network for low latency communication | |
CN100578479C (zh) | 传输控制设备和传输控制方法 | |
CN101656595B (zh) | 传输系统、设备和方法 | |
US20100332676A1 (en) | Software Aware Throttle Based Flow Control | |
US7065580B1 (en) | Method and apparatus for a pipelined network | |
CN100471165C (zh) | 在网络中的缓冲数据的抢先重发 | |
US5608878A (en) | Dual latency status and coherency reporting for a multiprocessing system | |
CN100351824C (zh) | 总线系统和用于连接到总线的总线接口 | |
US8588234B2 (en) | Data processing apparatus, method, and computer-readable storage medium for dynamically controlling a transmission interval | |
US6732212B2 (en) | Launch raw packet on remote interrupt | |
EP1591907B1 (en) | Resource management | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
US20080034054A1 (en) | System and method for reservation flow control | |
JP2003122706A (ja) | データ処理システム | |
KR100931730B1 (ko) | 공통 데몬을 이용한 단말 응용 프로세스 제어 방법 및 그장치 | |
US10824465B2 (en) | Transaction request epochs | |
CN118689813A (zh) | 响应dma请求的方法及程序产品、存储介质、电子设备 | |
CN118264715A (zh) | 芯片系统、电子设备、处理访问请求的方法和存储介质 | |
CN116257473A (zh) | 用于串口数据处理的方法及装置、串口系统、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100106 Termination date: 20180511 |