CN100578479C - 传输控制设备和传输控制方法 - Google Patents

传输控制设备和传输控制方法 Download PDF

Info

Publication number
CN100578479C
CN100578479C CN200710102884A CN200710102884A CN100578479C CN 100578479 C CN100578479 C CN 100578479C CN 200710102884 A CN200710102884 A CN 200710102884A CN 200710102884 A CN200710102884 A CN 200710102884A CN 100578479 C CN100578479 C CN 100578479C
Authority
CN
China
Prior art keywords
request
address
equipment
described equipment
transmission
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.)
Expired - Fee Related
Application number
CN200710102884A
Other languages
English (en)
Other versions
CN101127016A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101127016A publication Critical patent/CN101127016A/zh
Application granted granted Critical
Publication of CN100578479C publication Critical patent/CN100578479C/zh
Expired - Fee Related 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
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/10Program control for peripheral devices
    • 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
    • G06F13/4031Coupling 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执行的各种处理所需的数据和程序。特别地,在本发明中,存储单元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 (3)

1.一种传输控制设备,其对来自计算机系统中的设备的请求以及来自外部连接至该计算机系统的设备的请求进行仲裁,以发送仲裁后的请求至所有的所述设备,并合并对来自所述设备的请求的响应,以发送合并后的响应至所有的所述设备,该传输控制设备包括:
计数单元,其监控来自所述设备的请求,并对预定类型的请求进行计数;
存储单元,在其中存储来自所述设备的请求;和
传输暂停控制单元,每当由所述计数单元获得的计数值达到预定阈值时,该传输暂停控制单元将从所述设备返回的、作为存储在该存储单元中的请求中重发的请求的传输暂停一预定时间段,并且将存储在该存储单元中的请求中除了返回的请求之外的请求继续传输至所有的所述设备。
2.如权利要求1所述的传输控制设备,其中所述预定类型的请求为长信息包请求。
3.一种传输控制方法,其中对来自计算机系统中的设备的请求以及来自外部连接至该计算机系统的设备的请求进行仲裁,以发送仲裁后的请求至所有的所述设备,并合并对来自所述设备的请求的响应,以发送合并后的响应至所有的所述设备,该传输控制方法包括下列步骤:
监控来自所述设备的请求;
对预定类型的请求进行计数;
存储来自所述设备的请求;
每当由所述计数单元获得的计数值达到预定阈值时,将从所述设备返回的、作为在存储步骤中所存储的请求中重发的请求的传输暂停一预定时间段;和
将在存储步骤中所存储的请求中除了返回的请求之外的请求继续传输至所有的所述设备。
CN200710102884A 2006-08-18 2007-05-11 传输控制设备和传输控制方法 Expired - Fee Related CN100578479C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006223490A JP4841358B2 (ja) 2006-08-18 2006-08-18 リクエスト送信制御装置およびリクエスト送信制御方法
JP2006223490 2006-08-18

Publications (2)

Publication Number Publication Date
CN101127016A CN101127016A (zh) 2008-02-20
CN100578479C true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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
TWI666551B (zh) * 2011-05-20 2019-07-21 美商英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
CN103716345A (zh) * 2012-09-29 2014-04-09 海尔集团公司 一种智能社区网络中的ip表下发方法
CN110247852A (zh) * 2019-07-08 2019-09-17 无锡锐格思信息技术有限公司 减少广播报文对以太网交换设备cpu影响的方法与设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
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
KR100588947B1 (ko) * 2001-02-28 2006-06-14 인터내셔널 비지네스 머신즈 코포레이션 스위칭 장치 및 스위칭 방법
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 富士通株式会社 データ処理システムおよび情報処理装置

Also Published As

Publication number Publication date
US20080046622A1 (en) 2008-02-21
KR20080016432A (ko) 2008-02-21
EP1895429B1 (en) 2011-07-27
CN101127016A (zh) 2008-02-20
JP2008046980A (ja) 2008-02-28
KR100837712B1 (ko) 2008-06-13
JP4841358B2 (ja) 2011-12-21
EP1895429A1 (en) 2008-03-05

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
US8077620B2 (en) Methods and apparatuses for processing packets in a credit-based flow control scheme
US20080049617A1 (en) System for fine grained flow-control concurrency to prevent excessive packet loss
US9882771B2 (en) Completion tracking for groups of transfer requests
US6975626B1 (en) Switched network for low latency communication
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
CN113138802B (zh) 命令分发装置、方法、芯片、计算机设备及存储介质
CN100578479C (zh) 传输控制设备和传输控制方法
CN101656595B (zh) 传输系统、设备和方法
US7065580B1 (en) Method and apparatus for a pipelined network
KR100702460B1 (ko) 네트워크에서 버퍼링된 데이터의 우선적인 재전송
US5608878A (en) Dual latency status and coherency reporting for a multiprocessing system
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
US20110029706A1 (en) Electronic device and method for controlling an electronic device
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN103744816B (zh) 通用串行总线设备以及其数据传输方法
JP2003122706A (ja) データ処理システム
US10824465B2 (en) Transaction request epochs
KR100931730B1 (ko) 공통 데몬을 이용한 단말 응용 프로세스 제어 방법 및 그장치
CN101594291A (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

Granted publication date: 20100106

Termination date: 20180511

CF01 Termination of patent right due to non-payment of annual fee