CN1243296C - 有选择地互连同步总线上的子系统的方法和系统 - Google Patents

有选择地互连同步总线上的子系统的方法和系统 Download PDF

Info

Publication number
CN1243296C
CN1243296C CNB200310121432XA CN200310121432A CN1243296C CN 1243296 C CN1243296 C CN 1243296C CN B200310121432X A CNB200310121432X A CN B200310121432XA CN 200310121432 A CN200310121432 A CN 200310121432A CN 1243296 C CN1243296 C CN 1243296C
Authority
CN
China
Prior art keywords
subsystem
clock
signal
frequency
bus
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
CNB200310121432XA
Other languages
English (en)
Other versions
CN1508646A (zh
Inventor
G·D·卡彭特
V·钱德拉
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1508646A publication Critical patent/CN1508646A/zh
Application granted granted Critical
Publication of CN1243296C publication Critical patent/CN1243296C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种用于在一集成电路芯片上连接到一计算机系统的一总线上的一些子系统之间进行通信的方法,包括使子系统在没有在总线上相互通信时以独立时钟频率工作。通过有选择地改变子系统的时钟信号的频率可以使所选的一些子系统对以共享时钟频率工作,使得在所选的子系统之间可以按共享时钟频率(而对于不同的成对子系统以不同的时钟频率)在总线上进行通信,因此子系统在不与其他子系统通信时可以按独立时钟频率工作。子系统之间的通信遵从在允许一个子系统访问总线时这个子系统对总线具有排它性的使用权的基于总线的协议。

Description

有选择地互连同步总线上的子系统的方法和系统
技术领域
本发明涉及诸如处理器之类的系统的同步总线操作,具体地说,涉及有选择地互连同步总线上的子系统的动态可调整的时钟域(dynamicallyscalable clock domain)。
背景技术
本发明涉及集成电路的能量消耗。在一些情况下所希望的是降低集成电路的工作电压,因为这对能量消耗具有很大的影响。一般说来,集成电路的能量消耗与工作电压的平方成正比。能量消耗对于嵌入式处理器电路来说重要性越来越大,因为这些处理器通常用于诸如个人数字助理之类的便携式设备,这些设备日益采用需要更大处理能力的应用。这些应用包括例如浏览因特网之类的音频重放和图形绘制。然而,降低工作电压的一个副作用是也降低了工作频率,虽然降低得不如能量消耗那样多。例如,工作电压降低一半,通常使能量消耗降低为四分之一,但只使工作频率降低为二分之一左右。
部分是由于用于功率消耗较为适中的便携式设备的嵌入式控制器的性能较高的需要,近来就迅速降低集成电路的工作电压的能力方面作了一些改进,这导致需要增大工作频率上的灵活性。
本发明研究的另一个问题涉及设计新系统与重用现有系统设计中的折衷。也就是说,设计嵌入式控制器的过程通常提供了很多的机会以通过提高处理器的工作频率改进总体系统性能。然而,提高子系统的工作频率通常需要相当强的设计力量。因此,在系统设计工作上要有一定的动态性,以便按照这个系统设计,重新设计一些较高工作频率的子系统,特别是处理器,而同时重用至少一些老的子系统设计而不需要提高所重用的设计的工作频率。然而,这存在一个问题,特别是在同步总线的情况下。
在传统上对于嵌入式处理器采用同步总线,例如在IBM“CoreConnect”总线体系结构的情况下。(“CoreConnect”是IBM公司的商标)。这种总线体系结构的情况可参见白皮书“CoreConnect总线体系结构”(“The CoreConnect Bus Architecture”,http://www-3.ibm.com/chips/products/coreconnect),该白皮书在这里列为参考予以引用。在这种体系结构中,嵌入式控制器上的处理器局部总线(“PLB”)和芯片上外围总线(“OPB”)都是同步总线,按照这种体系结构,连接到一个或另一个总线上的设备与一个发送到总线上的时钟信号同步地进行操作。
现在来看图1,图中以高层示意图例示了按照现有技术连接到传统的OPB110上的一些设备。时钟120的信号从一个外部信号源提供给OPB110上的设备,包括所例示的OPB仲裁器130、第一OPB主控设备140.1、第二OPB主控设备140.2和OPB从动设备150.1,并且设备130、140.1等以受时钟120控制的同一个频率进行工作。
在设计一个具有一些同步总线的系统中,重新设计一个以较高频率进行操作的子系统是一个问题,因为按照当前技术现状,系统内的这些同步总线需要在一个高到足以适合最高频率的子系统的频率上工作,因此重新设计一个子系统需要将连接到同步总线上的所有子系统都升级到在一个较高的频率上进行工作。
根据上述理由,有必要提高同步总线上工作频率的灵活性。
发明内容
本发明就是为此提出的,按照本发明,共享一个总线的一些子系统的工作频率通过有选择地改变提供给这些子系统的时钟信号的频率予以控制。这样,在所选的子系统之间可以按一个共享时钟频率(而对于不同的成对子系统则以不同的时钟频率)进行通信,并且当子系统不在总线上相互通信时它们可以按独立的时钟频率进行工作。
按本发明的一个方面,一些动态可调整时钟分频器响应通信请求和现有的总线握手和协议机制暂时产生对子系统的同步操作。子系统之间的通信由它们的暂时性同步操作启动,而在通信之后,这些系统返回到以独立时钟频率进行工作。这使较快的子系统可以在同步通信期间以一个适合较慢的子系统的较低频率进行工作,而不在同步通信期间就以一个较高的频率工作,从而获得较高的性能,同时又维护了同步总线协议而不需要将所有的子系统升级到以较高频率工作。
本发明的其他目的、优点、特征和形式可以从以下参考附图所作的详细说明中清楚看出。
附图说明
图1例示了按照现有技术在OPB上的一致频率实现。
图2例示了按照本发明的一个实施例设计的基于“频率岛(frequencyisland)”的OPB实现。
图3A例示了按照本发明的一个实施例设计的OPB时钟分配器的其他细节,包括动态可调整分频器。
图3B例示了按照本发明的一个实施例设计的采样周期信号相对输入图3A的一个分频器和从这个分频器输出的时钟信号的定时。
图4例示了按照本发明的一个实施例设计的OPB时钟分配器的工作情况的高层示意图。
图5例示了按照本发明的一个实施例设计的主控设备和目标的暂时同步工作的共同频率范围。
图6例示了按照本发明的一个实施例设计的主控设备和目标设备之间的OPB事务处理中各个信号的定时。
具体实施方式
在本申请最后的权利要求书提出了申请人认为是本发明的特征的一些新颖特征。本发明及其优选实施方式、其他目的和优点从以下结合附图对一个例示性的实施例的详细说明中可以得到很好的理解。
在本发明的一个实施例中,一个嵌入式处理器(也称为微控制器)是一个片上系统(“SOC”)的一部分。现在来看图2,图中例示了系统200的各个方面。虽然SOC嵌入式处理器与桌面机、工作站或服务器的处理器相比,通常具有较低的复杂性,但本实施例的系统200仍然具有一种总线分层结构,按照这种分层结构有一个PLB(未示出)和一个OPB210。
这些总线在这个实施例中按基于同步共享总线的协议工作,在至少一些方面比基于交换的协议简单,而且是可调整的。按照这种基于总线的协议,在允许一个设备访问总线时,这个设备对总线具有专用权。这很适合广播事务。具有基于总线的协议的同步总线的一个优点是在传输延迟方面表现良好。也就是说,例如,在其中一个设备在某个时钟周期将数据发送到总线上时,以一定的可靠性知道一个接收方将在预定个周期之后接收到该数据。这使发送方可以在数据处于传送的同时以协调的方式继续执行其他任务。(与基于总线的协议相反,基于交换的协议需要一些非堵塞交换器,以使总线上各设备之间可以有多个同时连接。)
图2特别着重示出系统200的OPB210和接到OPB210上的外围设备,包括第一主控设备240.1、第二主控设备240.2和从动设备250.1。很清楚,在其他实施例中,系统200可以有比在这一情况下示出的多的外围设备,包括主控设备和从动设备。第一主控设备240.1具有它自己的地址总线1_abus和它自己的数据总线1_dbus,接到OPB210上。同样,第二主控设备240.2具有它自己的地址总线2_abus和它自己的数据总线2_dbus,接到OPB210上。主控设备240.1和240.2通过各自的请求线1_req和2_req和各自的允许线1_grant和2_grant接到OPB仲裁器230上,使得主控设备240.1和240.2可以在它们各自的请求线上请求OPB仲裁器230允许它们排它地访问总线210。在得到允许时,仲裁器230在主控设备的各自的允许线1_grant或2_grant上向主控设备240.1或240.2发出信号,表示请求已经得到允许。
从动设备250.1具有它自己的数据总线3_dbus,但是没有它自己的地址总线。确切些说,从动设备250.1与系统200内任何其他从动设备(未示出)共享一个共同的地址总线abus。虽然没有明确示出,但很清楚主控设备240.1和240.2也接到地址总线abus上,使得一个主控设备可以对其他设备进行寻址,与之通信。
系统200还包括一个OPB时钟分配器215,它接收时钟线clk 220上的外部时钟信号(在这里可以是指“系统”时钟信号),作为响应在示为连接到系统200相应设备---仲裁器230、主控设备240.1、主控设备240.2和从动设备250.1---上的时钟线clk_arb、clk_1、clk_2和clk_3上产生相应的子系统时钟信号。按照所示的实施例,所产生的时钟信号clk_1、clk_2、clk_3和clk_arb是边缘与所接收的比所产生的时钟信号至少快一倍的时钟信号clk 220对准的。(为了方便起见,这些信号在这里标为与它们的发送线相同。)
OPB时钟分配器215还响应若干其他接收到的信号,产生和有选择地以及无误地同步子系统时钟信号clk_1、clk_2、clk_3和clk_arb,它们围绕仲裁器230实质上起着“封装符(wrapper)”作用。具体地说,时钟分配器215在选择线m1_select和m2_select上接收来自相应的主控设备240.1和240.2的信号和接收在从动设备地址总线abus上断言的无论什么地址。OPB时钟分配器215还在复位线上接收复位信号,如图所示。
在OPB总线空闲时,主控设备240.1和240.2在各自的选择线m1_select和m2_select上都没有断言它们的选择信号,时钟分配器215以预先为各个设备240.1等确定的独立时钟频率产生分别用于各个设备240.1等的工作时钟信号clk_1、clk_2、clk_3和clk_arb。
在一个主控设备240.1或240.2想要与另一个设备通信时,这个主控设备就在它的请求线1_req或2_req上断言一个请求信号,等待仲裁器230的允许。仲裁器230仲裁任何未决的请求,允许其中一个请求者访问总线210。
例如,仲裁器230响应请求中的来自主控设备240.1的在1_req上的请求,断言1_grant给主控设备240.1。响应这个允许,主控设备240.1断言它的m1_select,向时钟分配器215表示主控设备240.1具有排它性的对总线210的访问权。主控设备240.1还在它的地址总线1_addr上断言诸如主控设备240.1想要与之通信的从动设备250.1(“目标”设备,或者简单地说“目标”)之类的设备的地址,在写操作情况下在它的数据总线1_dbus上断言给目标的数据。见到主控设备240.1断言的选择信号1_select和在公共地址总线abus上断言的从动设备250.1的地址,时钟分配器215产生分别用于主控设备240.1、从动设备250.1和仲裁器230的同步时钟信号clk_1、clk_3和clk_arb,如在下面还要说明的那样,使主控设备240.1和从动设备250.1可以在总线210上进行通信。(按在这里使用的情况,所谓“同步时钟信号”是指不仅具有相同的频率而且是相位对准的时钟信号。)只要选择信号m1_select被断言,时钟分配器215就一直保持这些时钟信号clk_1、clk_3和clk_arb的同步性。一旦m1_select撤消,时钟分配器215再次以预先确定的独立时钟频率产生分别用于各个设备240.1等的工作时钟信号clk_1、clk_3和clk_arb。
现在来看图4,图中例示了时钟分配器215操作逻辑的概括示意图。响应总线210的空闲状态(在这种情况下没有断言的主控设备选择信号m1_select或m2_select(图4中集中示为“mx_select”)),时钟分配器215认为是独立时钟工作状态410,它按照存储在一个设备属性寄存器(未示出)内的预定的独立时钟频率为所有的设备240.1等提供时钟信号clk_1等。只要没有主控设备选择信号被断言,时钟分配器215就继续(412)处在独立时钟工作状态410。在主控设备240.1等中有一个得到允许时,这个主控设备就作出响应,使它的选择线m1_select等有效,将一个目标设备240.2、250.1等的地址加载到地址总线abus上。作为响应,时钟分配器215转移(414)到时钟调整模式420,对选择线mx_select和地址总线abus解码,识别主控设备和目标,以及进行一些其他操作。于是,时钟分配器215转移(422)到模式430,无误地调整用于主控设备、目标和仲裁器230的时钟信号。只要主控设备选择信号继续被断言,即在主控设备与目标整个通信期间,时钟分配器215就一直保持在状态430(432)。一旦选择信号被撤消,时钟分配器215作出响应,转移(434)到时钟恢复模式440,此后,时钟信号转移回(442)独立时钟工作状态410,再次分别以独立的预定频率提供时钟信号。
从上可知,在图4所示的整个循环期间用于没有参与通信会话的主控设备和从动设备的时钟信号继续以它们的预定的独立频率进行工作。只有用于仲裁器和参与(同步)通信会话的特定主控设备和目标的时钟受到图4所示的动态时钟调整、同步工作和时钟恢复的作用。
现在来看图5,图中例示了按照本发明的一个实施例设计的一个主控设备和目标暂时同步工作的共同频率范围530。每个主控设备都具有它自己能进行工作的由最高频率master_max和最低频率master_min限定的时钟频率范围510。同样,每个目标设备(它也可以是一个主控设备)也具有它自己的由最高频率target_max和最低频率target_min限定的时钟频率范围520。
系统200(图2)必须设计成每对允许相互通信的设备具有一个共同的频率范围530。也就是说,对于可以相互通信的设备,主控设备的频率范围510和目标设备的频率范围520应相互交叠,如图5所示。交叠范围在这里称为共同频率范围530,具有它自己的最高频率comm_max(由频率master_max和target_max中较低的确定)和它自己的最低频率comm_min(由频率master_min和target_min中较高的确定)。
在工作状态420(图4),结合识别特定通信的主控设备和目标,时钟分配器215(图2)还确定每个暂时通信会话的共同频率范围530,如刚才所说明的那样,然后在共同频率范围530内选择单个工作频率。在一个实施例中,这种选择是根据存储在时钟分配器215的一些寄存器(未示出)内的表示一个特定策略的一些预定参数。这个策略平衡考虑了一些折衷方案,包括功率消耗、时钟调整信号等待时间和带宽。也就是说,例如对于一个给带宽最大权重和给功率消耗较小权重的策略,这些参数导致选择最大的共同频率comm_max。对于一个给功率消耗最大权重而给带宽较小权重的策略,这些参数导致选择最小的共同频率comm_min。
现在来看图3A,图中例示了按照本发明的一个实施例设计的图2的OPB时钟分配器215的其他部分,包括分别用于接到OPB210(图2)上的设备240.1、240.2、250.1和230的动态可调整分频器320、330、340和350。分频器320等产生前面所提到的子系统时钟信号clk_1等,以及产生下面将要说明的各自的采样周期信号sample_cycle_1、sample_cycle_2、sample_cycle_3和sample_cycle_arb和各自的复位信号reset_1、reset_2、reset_3和reset_arb。时钟分配器215具有一些分别用于各个分频器320等的寄存器(未示出),用来为各分频器存储各自的分频值。时钟分配器215还包括逻辑电路310,用来接收时钟信号clk 220、主控设备选择信号m1_select和m2_select、地址总线abus和复位信号,相应产生和更新分频值。分频器320等读取在各自的数据线1_div、2_div、3_div和arb_div上的各自分频值。
图3B例示了按照本发明的一个实施例设计的分频器320(图3A)响应时钟信号clk 220输出的采样周期信号之一sample_cycle_1的定时情况。(这例示了对于所有的采样周期信号和它们相应的子系统时钟信号都是典型的定时情况。)例示中,在独立工作状态410(图4)期间,分频器320将时钟信号220四分频,从而产生如图所示的时钟信号clk_1。此外,响应时钟信号220在时钟信号clk_1周期的每个正相位前的一个周期的开始(在图3B中标为360),分频器320断言采样周期信号sample_cycle_1维持一段等于时钟信号clk_1的一个周期的时间。这个采样周期信号用来协调无误切换到为主控设备与目标之间的通信会话进行同步操作,如下面要进一步说明的那样。无误切换是指没有意外的时钟周期或时钟相位而所有的脉冲满足对于计时的最小脉冲宽度要求的这样一种方式的切换。
现在来看图6,图中例示了按照本发明的一个实施例设计的在一个OPB210(图2)“事务”中,即主控设备240.1(图2)与目标从动设备250.3之间的“通信会话”中,各个信号的定时和逻辑交互作用。图6顶上示出的“复位”信号是系统200的复位信号。它使系统在通电时复位,从而使诸如上面就分频器所述之类的寄存器正确初始化。最初,在时钟分配器215(图2)输出的所有时钟clk_1等都独立工作的模式410(图4)期间,分频器320在1_div上读取一个为9的值,这个值使分频器320对所接收的系统时钟信号clk220九分频,产生clk_1,决定主控设备240.1(图2)的工作频率的子系统时钟信号。同时,分配器215在分频器340的分频寄存器内具有一个为4的值,因此在3_div上断言一个值,使分频器340(图3A)将所接收的系统时钟信号clk220四分频,得到决定从动设备250.1(图2)的工作频率的子系统时钟信号clk_3,类似地在arb_div上断言一个值,使分频器340(图3A)将所接收的系统时钟信号clk 220十四分频,得到决定仲裁器230(图2)的工作频率的子系统时钟信号clk_arb。
响应在610断言m1_select,时钟分配器215转移到时钟调整模式420。在这个模式,逻辑电路310(图3A)确定主控设备和目标设备的身份,选择单个共同工作频率用于这两个设备,如上面所述。此外,逻辑电路310内的第一逻辑部分312断言分别用于被标识为参与即将出现的通信会话的主控设备240.1、从动设备250.1和仲裁器230的分别为sample_cycle_1、sample_cycle_3和sample_cycle_arb的复位信号。在所例示的这个实例中,这意味着响应接收到相应的采样周期信号sample_cycle_1、sample_cycle_3和sample_cycle_arb(图6中未示出),断言reset_1、reset_3和reset_arb。(采样周期信号的一个例子见图3B。)逻辑电路312如在620所示那样分别保持这些复位信号为高电平,直到它们中最后一个被断言(响应最后到达的采样周期信号)。在所示这个实例中,sample_cycle_3(未示出)首先到达,因此reset_3是第一个被断言的复位信号。Sample_cycle_arb(未示出)接着到达,因此reset_arb是下一个被断言的复位信号。最后,sample_cycle_1到达,因此reset_1是最后一个被断言的复位信号。最后一个复位信号被断言后,由逻辑电路312将这些复位信号全部撤消。
响应检测到这些复位信号下降,逻辑电路310的第二逻辑部314同时在用于这三个设备的分频器320、340和350(图3A)的各自控制线(即控制线1_div、3_div和arb_div)上断言新的共同分频值。响应新的分频值、接收到的时钟信号220(图3A)和为一个新的共同频率时钟的一个周期的延迟,时钟分配器215转移(422)(图4)到同步时钟操作模式430,从而分频器320等在630分别断言新的时钟信号clk_1、clk_3和clk_arb。在这个模式430,主控设备、目标和仲裁器可以按所选的共同频率暂时进行通信(执行一个“通信会话”或“事务处理”)。注意,时钟信号clk_1、clk_3和clk_arb现在不仅以相同的频率工作,而且它们还是同步的,因为这三个分频器320等根据同一个时钟信号220产生它们的时钟信号输出。
响应主控设备选择信号m1_select的撤消,时钟分配器215转移到时钟恢复模式440。这包括逻辑电路310等待一个共同频率时钟信号clk_1等的一个时钟周期。然后,时钟分配器215返回到独立时钟操作模式,在相应的控制线1_div、3_div和arb_div上分别断言独立的频率值。
所给出的这个实施例的说明是为了例示而不是穷举或将本发明限制于所揭示的这个形式。在另一个实施例中,无误时钟调整是通过多路复用实现的。按照这个实施例,该系统包括若干个各具有多个固定频率的通信时钟。一旦如图5所示和如上所述确定了主控设备与目标共享的频率范围,就选择具有这个范围内最高频率的通信时钟。在事务处理期间,主控设备、目标和仲裁器的工作频率被调整到这个通信频率,即三个子系统都根据所选的通信时钟进行工作。为了达到这个目的,各子系统具有馈有这些通信时钟的多路复用器,使得每个子系统可以选择一个时钟。时钟调整成本在基于多路复用器的实现中要稍高于基于时钟分频器的实现。
虽然所说明的这个实施例主要涉及OPB,但在另一个实施例中,可以将所说明的方法和结构应用于处理器局部总线(“PLB”)。在一个实施例中,PLB是一个高性能的64比特地址、128比特数据总线,在处理器内核与其他外围设备(包括OPB及其外围设备)之间提供一个接口。PLB上的主控设备具有它们各自的对PLB的数据和地址接口。从动设备利用一个共享总线在PLB上通信。在PLB上的设备以不同的频率工作,正如在OPB上的设备所做的那样。虽然上面所说明的方法和结构的这些情况是可用的,但也应该理解,在支持重叠传送(也称为“地址流水线处理”)的PLB的情况下,PLB实施例有一些除上面所说明的以外的附加特点或变动。
按照PLB协议进行的通信包括以下一些阶段:
1.各主控设备断言对数据传送的请求信号,而且将目标地址和其他限定符加到它们的地址总线上。
2.地址确认阶段仲裁器向其中一个主控设备给出一个允许信号,仲裁器等待相应从动设备确认地址。
3.数据传送阶段自从动设备接收到地址确认的主控设备,即自“第一”从动设备接收到地址确认的“第一”主控设备,现在可以开始传送数据(读/写从动设备)。此时,对于第一主控设备和第一从动设备在它们的事务处理(“第一”事务处理)中地址确认阶段结束,另一个主控设备(“第二”主控设备)可以进入地址确认阶段同时第一主控设备从事数据传送,而另一个从动设备(“第二”从动设备)可以向第二主控设备给出地址确认。
4.数据确认阶段第一从动设备断言一个rd_comp(对于读)或wr_comp(对于写),以表示数据传送阶段结束。
5.现在,第二主控设备可以成为第一主控设备,可以进入数据传送阶段。
为了支持重叠的事务,在系统的PLB部分内包括使总线的地址、读数据和写数据部分相互去耦的逻辑,从而地址周期可以重叠,即在从动设备共享的地址和数据总线上,在一个主控设备正在数据总线部分上向一个从动设备发送数据或从中接收数据时,而另一个主控设备可以同时在地址总线部分对另一个从动设备进行寻址。
在PLB实施例中,时钟分配器包括附加逻辑电路,用来接收至少一个附加输入和产生至少一个附加输出。具体地说,在一个实施例中,时钟分配器接收和有选择地重新分配一个来自仲裁器的表示主控设备在由一些从控设备共享的地址总线上断言的地址的有效性的“地址有效”信号。为了应用本发明的使一些子系统能同步传送和否则以独立的频率进行工作的特点,对流水线处理有一些限制。也就是说,如果一个第二主控设备和目标与一个第一主控设备和目标相同,它们就可以采用地址流水线处理。否则,不允许用地址流水线处理。
有一个地址有效信号,告诉目标地址总线上的地址有效,目标可以开始对它解码(以对主控设备作出响应)。这个地址有效信号由仲裁器执行仲裁和给出允许信号后产生。在一个实施例中,一给出允许信号后就用几个周期来调整同步通信的所有频率,在此期间主控设备、目标和总线时钟挂起,而其余设备仍然按正常时钟控制。这可能在地址有效保持高电平时有问题,因为一些低速的从动设备可以开始响应地址,这是不希望有的。为了处理这个问题,地址有效信号保持低电平,直到完成调整。一旦调整完成,地址有效就成为高电平,然后操作如普通情况那样继续进行。
对于熟悉该技术领域的人员来说许多修改和变形都是显而易见的。要强调的是,选择这些实施例进行说明是为了更好地解释本发明的原理和实际应用,使其他一般了解该技术领域的人员能理解本发明。在本发明的专利保护范围之内的具有各种修改的各种其他实施方式可以适合于所关注的具体用途。此外,应该理解,在以下权利要求书中的这些操作不是必须按所陈述的具体顺序执行。

Claims (27)

1.一种在连接到一个计算机系统的一个总线上的一些子系统之间进行通信的方法,其中子系统之间的通信遵从允许访问总线的一个子系统对总线具有排它性的使用权的基于总线的协议,所述方法包括下列步骤:
a)使各子系统在不相互通信时以独立的时钟频率工作;
b)选择一个第一和第二子系统进行通信;以及
c)使所选的子系统在通信期间以响应所选子系统选择的时钟频率工作,使得在所选的子系统之间能够以共享的时钟频率,包括对于不同的成对子系统以不同的共享时钟频率,进行通信。
2.权利要求1的方法,其中所述子系统能在各自的时钟频率范围内进行工作,而其中所述步骤a)包括通过时钟分配器为各子系统提供各自的时钟信号的步骤,其中将所述时钟信号以子系统各自频率范围内的预定独立时钟频率提供给各个子系统。
3.权利要求2的方法,其中所述步骤b)包括下列步骤:
由时钟分配器识别所选的第一和第二子系统对于这样一段通信时间共享的时钟频率范围;
由时钟分配器选择用于第一与第二子系统之间的事务处理的单个共享时钟频率。
4.权利要求3的方法,其中所述步骤c)包括下列步骤:
由时钟分配器向第一和第二子系统以为一段通信时间所选的单个时钟频率提供时钟信号,同时向其他子系统以它们各自的预定独立频率提供各自的时钟信号。
5.权利要求4的方法,其中所述步骤c)包括在所述通信期间在第一与第二子系统之间以所选的单个时钟频率进行一段时间的通信的步骤,而所述方法包括第一和第二子系统响应通信结束返回到以各自的独立时钟频率进行工作的步骤。
6.权利要求1的方法,所述方法包括下列步骤:
重叠地址周期,其中所述总线具有由从动子系统共享的地址和数据总线部分,其中所述重叠包括一个第一主控子系统与一个第一从动子系统在数据总线部分上进行通信,同时一个第二主控子系统在地址总线部分上对一个第二从动子系统进行寻址,其中所述重叠只有在第一和第二主控子系统是相同的主控子系统而第一和第二从动子系统是相同的从动子系统时才是允许的。
7.一种在连接到一个计算机系统的一个总线上的一些子系统之间进行通信的方法,其中子系统之间的通信遵从在允许一个子系统访问总线时这个子系统对总线具有排它性的使用权的基于总线的协议,所述方法包括下列步骤:
a)使各子系统工作在第一模式,其中各子系统能在各自的时钟频率范围内进行工作,而所述使各子系统工作在第一模式包括:
由一个时钟分配器向各子系统提供各自的子系统时钟信号,其中将所述子系统时钟信号以子系统各自的频率范围内的预定独立频率提供给各个子系统;
b)由一个第一子系统请求访问总线以与一个第二子系统进行通信;
c)由子系统之一的仲裁器响应这个请求,允许第一子系统访问;
d)第一子系统响应允许,断言一个选择信号和第二子系统的地址;
e)响应接收到第一个子系统的选择信号和第二子系统的地址,时钟分配器识别第一和第二子系统的子系统时钟信号的共享时钟频率范围;以及
f)由时钟分配器选择用于第一和第二子系统通信的子系统时钟信号的单个时钟频率,所选的时钟频率在共享时钟频率范围之内。
8.权利要求7的方法,所述方法包括下列步骤:
g)使第一、第二和仲裁器子系统工作在第二模式,其中所述使第一、第二和仲裁器子系统工作在第二模式包括:
由时钟分配器以所选的共享时钟频率向第一、第二和仲裁器子系统提供各自的子系统时钟信号;以及
以各自的预定独立频率向系统内的其他子系统提供各自的子系统时钟信号。
9.权利要求8的方法,所述方法包括下列步骤:
h)在第一和第二子系统之间以所选的共享时钟频率进行通信;
i)响应通信结束,第一子系统撤消选择信号;以及
j)响应选择信号撤消,返回到工作在第一模式。
10.权利要求8的方法,其中所述时钟分配器的各个时钟分频器接收一个系统时钟信号和各自的分频值,产生分别提供给第一、第二和仲裁器子系统的各个子系统时钟信号。
11.权利要求8的方法,其中所述时钟分配器的各个多路复用器接收一些固定频率的子系统时钟信号,从中选择分别提供给第一、第二和仲裁器子系统的各个子系统时钟信号。
12.权利要求8的方法,其中所述子系统时钟信号是以比系统时钟信号低的频率提供的,所述方法包括下列步骤:
断言子系统时钟信号的采样周期信号,以协调无误地从工作在第一模式切换到工作在第二模式,这样在子系统时钟信号成为高相位前的一个系统时钟周期,为相应子系统时钟信号断言一个采样周期信号。
13.权利要求12的方法,所述方法包括下列步骤:
断言用于第一、第二和仲裁器子系统的子系统时钟信号的复位信号,这些复位信号是响应所述子系统时钟信号的各自采样周期信号而被断言的。
14.权利要求13的方法,所述方法包括下列步骤:
响应所述子系统时钟信号的采样周期信号中所断言的最后的采样周期信号,撤消所述子系统时钟信号的复位信号。
15.权利要求14的方法,所述方法包括下列步骤:
响应所述子系统时钟信号的复位信号的撤消,切换到工作在第二模式。
16.一种计算机系统,所述计算机系统包括:
一些连接到一个总线上的子系统,所述子系统之间的通信遵从允许访问总线的一个子系统对于总线具有排它性的使用权的基于总线的协议,这些子系统能在各自的时钟频率范围内工作;
一个时钟分配器,用来以子系统各自范围内的预定独立频率向处于第一工作模式的子系统提供各个子系统时钟信号;以及
一个仲裁器,用来仲裁子系统对总线的访问请求,其中时钟分配器响应于确定出仲裁器已经允许一个第一子系统访问总线与一个第二子系统通信,识别第一和第二子系统的共享时钟频率范围和为通信选择单个时钟频率,所选的时钟频率在共享时钟频率范围之内。
17.权利要求16的计算机系统,所述计算机系统包括对总线的地址、读数据和写数据部分相互去耦使地址周期可以重叠的逻辑,其中在从动子系统共享的地址和数据总线部分上,一个第一主控子系统可以在数据总线部分上向一个第一从动子系统发送数据或者从这个第一从动子系统接收数据,同时一个第二主控子系统可以在地址总线部分上对一个第二从动子系统进行寻址,所述逻辑只有在第一和第二主控子系统是相同的主控子系统而第一和第二从动子系统是相同的从动子系统时才允许重叠地址。
18.权利要求16的计算机系统,其中所述时钟分配器可使第一、第二子系统和仲裁器子系统工作在第二模式,在第二模式,时钟分配器以所选的共享时钟频率向第一、第二子系统和仲裁器子系统提供各自的子系统时钟信号,而以各自的预定独立频率向系统内的其他子系统提供各自的子系统时钟信号。
19.权利要求16的计算机系统,其中所述第一子系统响应于从仲裁器接收到允许指示,断言一个选择信号和在地址总线上断言第二子系统的地址,而所述时钟分配器接收选择信号和读取在地址总线上的地址以确定仲裁器已允许第一子系统访问总线与第二子系统通信。
20.权利要求19的计算机系统,其中所述时钟分配器可使第一、第二子系统和仲裁器子系统工作在第二模式,在第二模式,时钟分配器以所选的共享时钟频率向第一、第二子系统和仲裁器子系统提供各自的子系统时钟信号,而以各自的预定独立频率向系统内的其他子系统提供各自的子系统时钟信号。
21.权利要求20的计算机系统,其中所述第一和第二子系统以所选的共享时钟频率进行通信,以及响应通信结束,第一子系统撤消选择信号,从而使第一和第二子系统返回到工作在第一模式。
22.权利要求21的计算机系统,其中所述时钟分配器包括用于接收系统时钟信号和各自的分频值、产生提供给第一、第二子系统和仲裁器子系统的各个子系统时钟信号的时钟分频器。
23.权利要求21的计算机系统,其中所述时钟分配器包括一些相应的多路复用器,这些多路复用器接收一些固定频率的子系统时钟信号,从中选择提供给第一、第二子系统和仲裁器子系统的各个子系统时钟信号。
24.权利要求21的计算机系统,其中所述子系统时钟信号是以比系统时钟信号低的频率提供的,时钟分配器断言子系统时钟信号的采样周期信号,以协调无误地从工作在第一模式切换到工作在第二模式,这样在子系统时钟信号成为高相位前的一个系统时钟周期,为相应子系统时钟信号断言一个采样周期信号。
25.权利要求24的计算机系统,其中所述时钟分配器断言对第一、第二子系统和仲裁器子系统的子系统时钟信号的复位信号,这些复位信号是响应所述子系统时钟信号的各自采样周期信号被断言的。
26.权利要求25的计算机系统,其中所述时钟分配器响应所述子系统时钟信号的采样周期信号中所断言的最后一个采样周期信号,撤消所述子系统时钟信号的复位信号。
27.权利要求26的计算机系统,其中所述时钟分配器响应所述子系统时钟信号的复位信号的撤消,切换到工作在第二模式。
CNB200310121432XA 2002-12-18 2003-12-16 有选择地互连同步总线上的子系统的方法和系统 Expired - Fee Related CN1243296C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/324,741 US6948017B2 (en) 2002-12-18 2002-12-18 Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus
US10/324,741 2002-12-18

Publications (2)

Publication Number Publication Date
CN1508646A CN1508646A (zh) 2004-06-30
CN1243296C true CN1243296C (zh) 2006-02-22

Family

ID=32593540

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200310121432XA Expired - Fee Related CN1243296C (zh) 2002-12-18 2003-12-16 有选择地互连同步总线上的子系统的方法和系统

Country Status (3)

Country Link
US (1) US6948017B2 (zh)
JP (1) JP3954011B2 (zh)
CN (1) CN1243296C (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174403B2 (en) * 2005-02-24 2007-02-06 Qualcomm Incorporated Plural bus arbitrations per cycle via higher-frequency arbiter
CN100395714C (zh) * 2005-05-28 2008-06-18 鸿富锦精密工业(深圳)有限公司 识别中央处理器前端总线的电路
JP4624928B2 (ja) * 2006-01-12 2011-02-02 ルネサスエレクトロニクス株式会社 半導体集積回路装置
DE102008004857B4 (de) 2008-01-17 2013-08-22 Entropic Communications, Inc. Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
US8221494B2 (en) 2008-02-22 2012-07-17 Endologix, Inc. Apparatus and method of placement of a graft or graft system
US20110054587A1 (en) 2009-04-28 2011-03-03 Endologix, Inc. Apparatus and method of placement of a graft or graft system
DE102010029349A1 (de) * 2010-05-27 2011-12-01 Robert Bosch Gmbh Steuereinheit zum Austausch von Daten mit einer Peripherieeinheit, Peripherieeinheit, und Verfahren zum Datenaustausch
US20120109279A1 (en) 2010-11-02 2012-05-03 Endologix, Inc. Apparatus and method of placement of a graft or graft system
WO2012106875A1 (zh) * 2011-07-08 2012-08-16 华为技术有限公司 一种工作时钟切换方法、智能门控电路及系统
CN102722132B (zh) * 2012-05-25 2014-07-30 深圳市亿维自动化技术有限公司 一种plc扩展总线的动态调频方法及其控制系统
KR102206313B1 (ko) 2014-02-07 2021-01-22 삼성전자주식회사 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법
KR102363181B1 (ko) * 2015-03-27 2022-02-15 삼성전자 주식회사 기지국의 디지털 신호 처리 장치 및 이의 데이터 처리 방법
US10282347B2 (en) * 2015-04-08 2019-05-07 Louisana State University Research & Technology Foundation Architecture for configuration of a reconfigurable integrated circuit
CN111529126A (zh) 2015-06-30 2020-08-14 恩朵罗杰克斯股份有限公司 用于将第一细长构件固定至第二细长构件的系统及方法
US10205672B2 (en) * 2015-09-11 2019-02-12 Cirrus Logic, Inc. Multi-device synchronization of devices
CN106209542B (zh) * 2016-06-23 2019-08-02 北京东土科技股份有限公司 工业互联网现场层宽带总线架构系统
CN113946937B (zh) * 2021-08-27 2023-01-10 芯华章科技股份有限公司 同步方法及仿真器
US12040804B2 (en) * 2022-04-28 2024-07-16 Parade Technologies, Ltd. Methods and systems for controlling frequency variation for a PLL reference clock

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727171A (en) * 1995-11-16 1998-03-10 International Business Machines Corporation Method and apparatus for allowing multi-speed synchronous communications between a processor and both slow and fast computing devices
US5916311A (en) * 1996-03-27 1999-06-29 Matsushita Electric Industrial Co., Ltd. Bus controller and information processing device providing reduced idle cycle time during synchronization
JPH10232853A (ja) * 1997-02-18 1998-09-02 Toshiba Corp シリアルデータ転送回路
US5809291A (en) * 1997-02-19 1998-09-15 International Business Machines Corp. Interoperable 33 MHz and 66 MHz devices on the same PCI bus
US5978869A (en) * 1997-07-21 1999-11-02 International Business Machines Corporation Enhanced dual speed bus computer system
US6298067B1 (en) * 1998-05-01 2001-10-02 3 Com Corporation Distributed arbitration scheme for network device
US6789207B1 (en) * 1998-07-02 2004-09-07 Renesas Technology Corp. Microprocessor
US6510473B1 (en) * 1999-08-19 2003-01-21 Micron Technology, Inc. Apparatus and method for automatically selecting an appropriate signal from a plurality of signals, based on the configuration of a peripheral installed within a computing device
US6636912B2 (en) * 1999-10-07 2003-10-21 Intel Corporation Method and apparatus for mode selection in a computer system
US6600669B2 (en) * 2001-06-27 2003-07-29 The Board Of Regents Of The University And Community College System Of Nevada, On Behalf Of The University Of Nevada At Reno Random pulse width modulation method and device
US7080304B2 (en) * 2002-02-26 2006-07-18 Teradyne, Inc. Technique for programming clocks in automatic test system

Also Published As

Publication number Publication date
JP2004199664A (ja) 2004-07-15
US6948017B2 (en) 2005-09-20
JP3954011B2 (ja) 2007-08-08
US20040123178A1 (en) 2004-06-24
CN1508646A (zh) 2004-06-30

Similar Documents

Publication Publication Date Title
CN1243296C (zh) 有选择地互连同步总线上的子系统的方法和系统
CN100499556C (zh) 异构多核处理器高速异步互连通信网络
US7305510B2 (en) Multiple master buses and slave buses transmitting simultaneously
US8296526B2 (en) Shared memory having multiple access configurations
US20130166801A1 (en) Bus bridge apparatus
CN1664744A (zh) 多层系统和时钟控制方法
CN101911033A (zh) 在至少一个直接存储器存取外围装置与以正交时钟操作的中央处理单元之间共享单端口静态随机存取存储器的带宽
CN110083568A (zh) 数据交换系统、数据交换命令路由方法、芯片及电子设备
US20040064748A1 (en) Methods and apparatus for clock domain conversion in digital processing systems
GB2396450A (en) Data bus system and method for performing cross-access between buses
US8799699B2 (en) Data processing system
US20220224342A1 (en) Clocking architecture for a multi-die package
US6640277B1 (en) Input staging logic for latching source synchronous data
US20190286606A1 (en) Network-on-chip and computer system including the same
KR100630693B1 (ko) 소비 전력을 절감시키는 버스 중재 시스템 및 방법
Seceleanu The SegBus platform–architecture and communication mechanisms
JP2003157228A (ja) データ転送回路
JPH0210459A (ja) バス使用権決定方式
CN102662886A (zh) SoC地址映像的优化方法
KR20040032732A (ko) 데이터 버스 시스템 및 버스간 크로스 액세스 방법
JP3460640B2 (ja) バス変換装置
JP3275489B2 (ja) 情報処理装置
KR20000033265A (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
JP2013228918A (ja) バス中継装置およびデータ処理装置
JP2004110224A (ja) データ転送回路

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060222

Termination date: 20101216