CN1207670C - 具有重叠读写操作和可伸缩地址流水线化的数据传送系统 - Google Patents

具有重叠读写操作和可伸缩地址流水线化的数据传送系统 Download PDF

Info

Publication number
CN1207670C
CN1207670C CN01121951.3A CN01121951A CN1207670C CN 1207670 C CN1207670 C CN 1207670C CN 01121951 A CN01121951 A CN 01121951A CN 1207670 C CN1207670 C CN 1207670C
Authority
CN
China
Prior art keywords
machine
signal
request
bus
data
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
CN01121951.3A
Other languages
English (en)
Other versions
CN1337630A (zh
Inventor
瑞查德·G·霍夫曼
德尼斯·维克森
杰森·M·霍普
皮特·迪恩·拉夫斯
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.)
Intel 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 CN1337630A publication Critical patent/CN1337630A/zh
Application granted granted Critical
Publication of CN1207670C publication Critical patent/CN1207670C/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
    • 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

Abstract

带有可伸缩地址流水线化的、具有重叠的读取和写入信号的一种多主导机计算机系统可编程地把两个重叠读取和写入数据总线上的地址流水线化的深度独立地增大至多至N级深请求。该系统包括具有一个地址总线、一个读取总线、以及一个写入总线的一个本地总线。主导机装置与分离的地址、读取数据和写入数据总线耦合。从属机装置通过共用但去耦的地址、读取和写入数据总线与这些数据总线相连。一个判优器与该数据总线耦合并使主导机能够竞争总线拥有权。该判优器包括读取和写入流水线逻辑,用于处理和优先级化数据总线上的主导机和从属机读取和写入数据传送。编程设备改变用于地址流水线化的读取和写入流水线逻辑。

Description

具有重叠读写操作和可伸缩 地址流水线化的数据传送系统
技术领域
本发明涉及信息处理系统、操作方法和程序产品。更具体地说,本发明涉及用于具有重叠读取/写入操作和可伸缩地址流水线化的多主导和从属数据传送的处理局部总线(PLB)架构:系统、方法和程序产品。
背景技术
基于微处理器的系统中央处理单元和其他总线主导机(master)要求对主存储器存储单元进行访问。主存储器通常与主导机相距至少一个主导机与存储器总线之间的桥接层次。这种桥接功能是通过一种存储器控制器而实现的。该存储器控制器可以是能够在任何给定的时刻接受和排序几个不同的存储器操作的复杂装置。与存储器控制相关的问题之一,是动态随机存取存储器或DRAM所固有的起始存储等待时间。从一个主导机或CPU起始一个读取请求给主存储器直到数据被返回的时间可能大大超过十几个总线时钟周期。这种等待时间对系统的总体性能产生了不利影响。为了对应等待时间对主存储器读取的影响,引入了“地址流水线化”的概念,从而使主导机在前一读取操作完成之前把下一个未决读取请求提供给存储器控制器。以此方式,存储器控制器可以更好地排序和计划存储器总线的使用,以减小随后的未决读取的总等待时间。另外,与总线相连的其他装置可以要求将要以它们为目的地的操作,并适当地分配资源,从而使它们的起始等待时间减小。进一步地,通常与读取和写入传送依次地进行操作的判优循环现在可以与正在进行的在先的传送请求并行地进行。现有技术中所需要的,是在一种PLB架构中的一种可伸缩地址流水线化装置,它可被用来可编程地、独立地增大在一个操作正在进行且另一个操作也同时在进行的情况下在两个重叠读取和写入数据总线上的地址流水线化的深度。
与地址流水线化有关的现有技术包括:
1.1997年11月20日递交且2000年6月27日颁布的美国专利第6,081,860,标题为“用于数据传送的地址流水线技术”,它公布了用于传送数据的一种方法和系统,包括通过一个任意装置与至少一个主导机(master)装置相连的至少一个从属机(slave)装置。该主导和从属机装置通过一条单个的地址总线、一条写入数据总线和一条读取数据总线而相连。该判优器装置接收来自该主导机装置的用于数据传送的请求并有选择地把这些请求发送到该从属机装置。该主导装置和该从属机装置进一步地通过多个传送限定符信号相连,这些信号可指定所请求的数据传送的预定特性。控制信号还在该判优器装置与该从属机装置之间传送,以允许适当的从属机装置在目前或初级数据传送未决期间锁存所请求的次级传送的地址,从而避免该次级传送通常所需的地址传送等待时间。这种设计被适当配置以在混合系统中发挥有利的作用,这些系统可包括地址流水线化和未地址流水线化的从属机装置。
2.1986年12月2日颁布的美国专利第4,626,843号,标题“为具有并行总线请求判优的多主导机通信总线系统”,它公布了一种设备和一种相关的方法,用于调整对一种通信总线的访问,其中多个通信节点与该总线相连。在各个节点的控制逻辑确定它们中的哪个具有访问总线的优先权,其中借助了一种并行判优程序,而所有竞争总线访问的节点都参与该程序。具体地,每一个竞争的节点都产生一个相对优先级节点号,并将其确证(accert)到获得判优总线上。所有确证的节点号被逻辑结合成该总线上的一个复合节点号,且获胜的节点在各个节点处的一种一位一位的脉波比较电路(bit-by-bit ripple comparison circuit)中得到确定,该复合节点号被与本地产生的相对优先级节点号相比较。优先级在数据发送之前被确定,且同步和判优在没有任何中央或主导控制单元的情况下进行。
3.1996年9月10日颁布的美国专利第5,555,425号,标题为“多主导机总线判优系统-其中总线的地址和数据线路可分别被授予各个主导机”,它公布了一种多主导机数字计算机系统,该系统具有一条总线、与该总线相连的多个主导机装置、与该总线相连的多个从属机装置、以及用于判优主导机装置的总线请求并用于把总线授予多个主导机装置中选定的一个的一个总线控制器。各个主导机装置能够起始一个总线周期,以把数据发送给一个所希望的从属机装置或从一个所希望的从属机装置接收数据。该总线控制器把总线授予一个选定的主导机装置,该主导机装置进入一种地址主导机状态并寻址所希望的从属机装置。选定的主导机装置转到一种总线主导机状态,其中启动了至或来自该从属机装置的数据传送。该选定的主导机装置随后转到一种数据主导机状态,除非该选定的主导机装置希望并通过一个判优器而被允许保持对该总线的控制。该总线控制器通过该判优器把一个总线请求授予一个请求的主导机装置。请求的主导机装置转到地址主导机状态,同时该选定主导机装置仍然处于数据主导机状态,因而进行一种流水线化操作。
4.1997年6月17日颁布的美国专利第5,640,527号,标题为“用于对采用透明页地址批处理的动态随机存取存储器进行地址流水线化以减少等待状态的设备和方法”,它公布了一种设备和方法,用于对一种计算机系统进行地址流水线化,它减少了访问一个动态随机存取存储器(DRAM)子系统所需的等待状态的平均数目。一个存储器控制器对地址页中的多个随机存取存储器集成电路进行寻址,在这些地址页中连续的地址页处于多个动态随机存取存储器集成电路中的不同者中。与多个动态随机存取存储器集成电路中的各个不同者相关的透明锁存,使得能够大体上同时地对一个以上存储页的地址设定进行流水线化。该设备和方法改善了计算机系统的写入访问时间,且当与具有地址流水线化的一种计算机系统结合使用时,读取和写入访问都被改善了,因为地址设定等待时间时间被减小了。
5.1997年12月16日颁布的美国专利第5,699,516号,标题为“用于实施一种数据处理系统内的有序端接总线协议的方法和设备”,它公布了为流水线化和/或分离业务(split transaction)总线(18,48)提供的一种总线协议,它具有有序的数据总线终接且它不要求数据总线判优。本发明解决了通过一种总线主导机(12,13,42)而在用于主导机-从属机通信的总线(18,48)是一种分离业务总线或一个流水线化总线的情况下使初始地址请求与来自一个总线从属机(14,15,44)的对应的数据响应相匹配的问题。各个总线主导机(12,13,42)和各个总线从属机(14,15,44)都有一个计数器(30-33,75-76),该计数器用来存储来自一个中央管道计数器(16,72)的一个当前管道深度值(21,51)。一个业务开始信号(20,50)和一个业务结束信号(22,52)被用来有选择地使这些计数器(30-33,75-76)增值和减值。
6.1995年8月8日颁布的美国专利第5,440,751号,标题为“脉冲串数据传送至单周期传送转换和选通脉冲单转换”,它公布了一种设备,它把脉冲串模式总线周期转换成单周期模式周期,并把单独的地址和数据选通脉冲信号转换成计算机系统中的单个的地址选通脉冲。当一个装置开始一个脉冲串周期时,该设备还接收一种地址选通脉冲信号、若干地址信号和该脉冲串的长度。在脉冲串传送的第一个周期完成时,该设备通过使该地址信号增值和提供额外的地址选通脉冲信号直到脉冲串完成,启动包括该脉冲串传送的各个随后的周期。该逻辑还通过监测该装置产生的下一个地址信号,而便利了地址流水线化。该设备监测该单独地址选通脉冲和数据选通脉冲信号,并在该地址和数据选通脉冲信号被确证之后产生下一个时钟周期上的该单个的地址选通脉冲信号。如果在一个周期的开始时只有地址选通脉冲信号被确证,则单个的地址选通脉冲信号只在可在总线上获得有效的数据之后且数据选通脉冲信号被确证之后,才得到确证。该设备还监测该装置的产生的下一个地址信号,以便利流水线化。
7.1995年11月21日颁布的美国专利第5,469,544号“中央处理单元地址流水线化”公布了一种微处理器,它用在一种计算机系统中,该系统对脉冲串和非脉冲串模式的数据传送的地址进行流水线化。通过流水线化地址,该微处理器能够增大系统中的数据传送通过量。在本发明中,采用了可以被适当编程的位,以禁止和使能非脉冲串模式和脉冲串模式传送的地址流水线化。
8.1996年9月3日颁布的美国专利第5,553,248号“用于在探测到锁定再尝试信号而放弃锁定的周期之后把最高优先级授予释放了系统总线的微处理器的系统”公布了三个优先化方案,用于确定若干个CPU中的哪一个接收优先级从而变为一个多处理器系统中的主导机总线的总线主导机,并公布了一种判优方案以把控制从一个总线主导机转移到另一个。各个优先化方案对n个组成部分进行优先化,其中总共(n/2)?(n-1)个优先级位监测各对组成部分之间的相对优先级。一个组成部分在与该组成部分相关的n-1个优先级位中的每一个都指向它时接收最高优先级。在判优方案中,主导机总线的当前总线主导机确定何时发生主导机总线的控制转移-如优先化方案之一所确定的。该判优方案给予EISAI总线主导机、RAM刷新和DMA比作为总线主导机的CPU的优先级更大的优先级,并允许一个临时总线中断目前总线主导机以进行回写高速缓冲存储器干预循环。该判优方案还支持地址流水线化、脉冲串处理、分离业务和当尝试一个锁定的循环时放弃的CPU的保留。地址流水线化使下一个总线主导机能够在下一个总线主导机的数据传送阶段开始之前确证其地址和状态信号。分离业务使一个CPU把一个读取通知给EISAI总线以把主导机总线判优给另一装置而不再为主导机总线进行判优以获取数据。当主导机总线闲置时,即使该主导机总线正在受到另一装置的控制,该数据也在主导机总线上得到确证。
发明内容
这些现有技术都未公布具有重叠的读取和写入信号和可伸缩的地址流水线化的多主导机计算机系统,以可编程地把两个重叠的读取和写入数据总线上的独立地址流水线化深度增大至N级深请求流水线化,该读取和写入流水线化深度可被编程至不同的值并提供信息给具有包含在读取和写入流水线中的最高优先级的主导机,从而使这些主导机能够确定未决的传送请求的相对重要性,从而能够在长脉冲串传送期间采取适当行动。
本发明的一个目的,是一种信息处理系统、操作方法和程序产品,它们具有可伸缩地址流水线化技术,这种可伸缩地址流水线化技术可编程地增大了在一种多主导机计算机系统的重叠读取和写入数据总线上独立地进行的地址流水线化的深度,以减少系统等待时间。
另一个目的是一种多主导机计算机系统、方法和程序产品,用于向包含在未决传送请求的读取和写入流水线中的最高优先级请求的主导机提供信息。
另一个目的是一种处理器局部总线架构,它提供了多至N级深请求的若干流水线化的地址的编程,其中读取和写入流水线深度可被编程至不同的值。
这些和其他的目的、特征和优点,是在一种多主导机计算机系统中实现的,该系统例如是用于具有重叠读取和写入操作和可伸缩地址流水线化的多主导机和从属机数据传送的本地处理总线(LPB)架构。该系统包括与LPB相连的多个主导机(CPU)装置和从属机(外设装置),该LPB具有由一个PLB判优起服务的地址、读取和写入总线。该判优器包括:可伸缩读取主导机流水线逻辑,用于根据主导机总线授予的顺序而存储与请求对应的0至N读取主导机标识(Id);读取从属机流水线逻辑,用于存储确认读取主导机请求的0至N从属机Id;读取优先级流水线逻辑,用于跟踪各个流水线传送中涉及的主导机请求优先级;可伸缩写入主导机流水线逻辑,用于存储与这些请求相应并根据产生流水线请求中的最高优先级的主导机总线授予的顺序相应的0至N写入主导机(Id);写入从属机流水线逻辑,用于存储确认主导机写入请求的0至N从属机Id;以及,写入优先级流水线逻辑,用于根据产生流水线中的最高优先级的总线授予的顺序来跟踪主导机装置的写入请求优先级,以产生至该总线或其他主导机的读取或写入主导机请求的最高优先级。一种状态机控制该流水线逻辑中的数据传送请求的移位。为了实现可伸缩流水线操作,该判优器独立地对各个从属机地址确认(Sl_addrAck)信号进行取样直至所支持的从属机的数目。该判优器还提供了一种单独的读取初级(PLB_rdPrim)和写入初级(PLB_wrPrim)信号给各个从属机,以通知处于已经被提升至初级传送的流水线中的一个且是唯一一个从属机。用于广播所有流水线传送的手段是通过一种次级地址有效(PLB_SAValid)信号。对于具体类型的读取或写入传送,判优器对次级地址有效信号所作的、在没有一个初级地址有效(PLB_PAValid)信号的干涉确证的情况下对次级地址有效信号进行的各个随后的确证,被认为是流水线化深度的一种增大。一个主导机接收来自判优器的一个地址确认信号,而该判优器把该地址确认从该从属机路由出去,并等待适当的数据确认。一个从属机确认一个流水线传送,而不考虑其在该流水线中的位置。该主导机可为相同的总线请求额外的流水线请求,只要它继续接收判优器地址确认确证。该从属机可以或可以不确认随后的判优器次级地址有效信号的确证,从而要求尽可能多的流水线传送。对于一个不能在合理的时间中确认一个次级请求的从属机,没有流水线传送超时。在这种情况下,该从属机确证一个再判优传送(SL_rearbitrate)信号,以使判优器能够进行到下一个未决的总线请求。判优器提供的单独的读取未决请求(PLB_rdPendReq)信号和写入未决请求(PLB_wrPendReq)信号可被获得,以由总线主导机进行取样。如果一个主导机请求(Mn_request)是现用的(active)的或者一个次级传送已经被确认,适当的未决请求信号被激活。进行长脉冲串传送的主导机对在它们的等待时间定时器期满时现用的信号进行取样,并随后读取或写入总线请求未决优先级信号。该未决信号表示所有未决请求和读取流水线中的所有确认的传送的最高优先级。该写入未决请求优先级表示了所有未决请求以及该写入流水线排队中的确认的传送的最高优先级。如果一个分组(bursting)主导机确定具有相等或更高优先级的一个请求在流水线中现用或排队,该主导机将终止其数据传送并放弃总线。
附图说明
从以下结合附图对最佳实施例所进行的描述,本发明将变得能够被完全理解。在附图中:
图1是现有技术的处理器局部总线(PLB)互连的视图,它包括用于多主导机和从属机装置的一种判优器装置。
图2显示了图1的PLB中的地址和数据周期。
图3显示了图1中的重叠的PLB数据传送。
图4显示了根据主导机请求优先级并包含了本发明的原理的一种多主导机和多从属机计算机系统,它包括为多主导机和从属机装置服务的一个本地处理器总线和判优器并具有数据传送的可伸缩地址流水线化。
图5显示了图4的判优器装置中包含的读取和写入流水线逻辑和支持信号。
图5A表示了用于控制图5的读取和写入流水线逻辑的一种状态机。
图6是如图5所示的可伸缩主导机流水线逻辑的一个框图,该流水线逻辑用于按照主导机请求优先级在多主导机和从属机装置之间进行的依次(sequential)数据传送。
图7是图5所示的从属机装置至主导机装置的依次数据传送的可伸缩从属机流水线逻辑的框图。
图8是用于图5包含的判优器装置的流水线逻辑的框图,该逻辑连续向所有主导机提供有关最高未决读取和写入请求的信息并向从属机提供信息以为数据传送而锁定读取或写入总线。
图9是图4-8的系统中的主导机请求的四级深读取流水线化的时序图。
图10是图4-8的系统中的主导机请求的四级深写入流水线化的时序图。
具体实施方式
在IBM出版物“处理器本地总线(PLB)架构规范”(4.2版,日期,可从纽约Armonk的IBM公司获得)中,描述了具有减小的等待时间的用于重叠数据传送的多主导机计算机系统的一个例子。该PLB支持在数据总线的繁忙状态期间向总线从属机广播未决主导机请求的能力,它为总线上的传送提供了流水线化处理。这种流水线化使总线从属机能够在数据在请求的数据总线上的各自的使用期之前分配资源、安排传送、或预提取数据,从而减少总线等待时间并显著地增大总体通过量。
图1显示了一种PLB架构(architecture)10的现有技术实施例,它包括一种高性能总线12,该总线支持多个主导机装置141?.14n与从属机装置161?.16n之间的读取和写入数据传送。各个PLB主导机14都通过单独的地址和传送限定符线路、判优器线路、读取数据和写入数据总线和状态/控制线路而与总线12相连。PLB从属机16,通过共用但去耦的(decoupled)地址、读取数据和写入数据总线和用于各个数据总线的多个传送控制和状态信号,与PLB总线相连。至该总线的访问通过一个中央总线判优器18而被授予,这使得主导机竞争总线的拥有权。该判优器足够地灵活,以提供各种优先级方案的实施。PLB 18是完全同步的总线。所有PLB信号的时序都由一个单个的时钟源提供,该时钟源由与该PLB相连的所有主导机和从属机所共用。
图2显示了一个PLB地址和数据周期20。一个地址周期22具有三个阶段:一个请求阶段24、一个传送阶段26、以及一个地址确认阶段28。PLB业务开始于当一个主导机在地址周期的请求阶段导出其地址并传送限定符信号和请求总线的拥有权。一旦总线的拥有权被PLB判优器所授予,主导机的地址和传送限定符就在传送阶段中被提供给从属机装置。
在正常的操作中,地址周期由在该地址确证阶段中锁存该主导机的地址和传送限定符的一个从属机所终结。数据周期25具有两个阶段:一个传送阶段27和一个数据确认阶段29。在传送阶段,主导机将驱动写入传送的一个写入数据总线15(见图1)或为一个读取传送对一个读取数据总线17(见图1)进行取样。在该数据周期的各个数据小循环(beat)的数据确认阶段中,要求数据确认信号。
图3显示了重叠的PLB传送的一个例子。PLB、地址、读取数据和写入数据总线被彼此去耦,以使地址周期能够与读取或写入数据周期重叠并使读取数据周期能够与写入数据周期重叠。周期,1?6伴随有读取和写入操作的系统通量(flux)周期。一个主导机可与地址周期和/或另一主导机总线传送的一个数据传送周期并行地开始请求PLB的拥有权。重叠读取和写入数据传送和分离的总线业务,使PLB能够在非常高的带宽工作。地址阶段对在周期1中的主导机B读取请求和在周期3的数据传送进行确认。主导机A的读取确认是在周期2中的确证,且数据传送在周期5开始。
图4显示了一种PLB架构,它具有为N个阶段实施的可伸缩地址流水线化,其中N是任何非零的正整数。该可伸缩地址PLEBE架构400由一个判优器装置402组成,该判优器装置402包括地址、读取和写入数据总线,所有主导机装置404、406和从属机装置408、410都与这些总线相连。该判优器装置由一个中央总线判优器和所需的总线控制和选通电路功能组成。各个主导机装置通过其自己的总线和控制信号而与该判优器装置相连。各个主导机装置404、406(它们在此分别被称为M0和M1)具有至判优器402的对应的请求线路-M0Req和M1Req。该主导机功能或装置确证该请求线路以通知判优器402对一个读取或写入操作的请求。各个主导机404和406具有对应的地址总线(M0Abus和M1Abus)、写入数据总线(M0WrDbus和M1WrD bus)、读取数据总线(M0RdDbus和M1RdDbus)传送限定符信号总线(MPTQuals和M1TQuals),用于把相应的主导机装置M0和M1连接到判优器装置402。在请求被确证且直到确证该请求的主导机功能从判优器402接收了一个确认信号(M0AddrAck或M1AddrAck),主导机功能M0和M1在地址总线(M0ABus和M1ABus)上发送初始地址并发送传送限定符(M0TQuals和M1TQuals)。如果请求的操作是一个写入操作,当该请求被确证时,主导机功能404和406还可在写入数据总线(M0WrDBus和M1WrDBus)上发送写入数据。主导机功能404和406还接收来自判优器装置402的读取数据确认(M0RdDAck和M1RdDAck)和写入数据确认信号(M0WrDAck和M1WrDAck)。
从属机装置408和410彼此互连并通过一个单个的AddrBus 412而与判优器装置402相连。从属机装置408和410也通过一个写入数据总线(WrDBus)414并还通过一个单独的读取数据总线(RdDBus)416和417而彼此相连并与判优器装置相连。从属机装置408、410还通过一个Tquals总线418而彼此相连并与判优器相连,Tquals总线418载送了一组信号,这些信号在此被称为传送限定符信号或TQuals并提供关于数据传送的信息-诸如(a)在地址总线上的传送装置是读取还是写入功能;(b)传送的大小;(c)传送的类型(例如字节;多字节)(单线还是脉冲串);(d)传送的字节使能,以及关于具体传送的其他信息。传送限定符的一个详细的例子在共同转让的专利申请序号第08/731,350号“用于推测存储器访问控制的方法和设备”中提供,该申请是递交的且现在已经是美国专利第    号,它的公开内容在此被引用。由于该传送限定符信息被提供给从属装置,多周期传送可用一个单个的地址启动,例如通过把一个初始地址提供给一个从属机装置并提供传送的类型和所要传送的字节数,一个数据块可在多个周期中在数据总线上被传送到或发送自从属机装置,其中只有一个单个的地址被置于该地址总线上。
从属机装置408、410还通过一系列的控制信号而与判优器402相连。这些控制信号包括一个初级地址有效信号(PAValid)420。当从属机功能接收到分配给从属机装置的地址的范围内的一个地址时,从属机装置408、410还驱动至判优器的一个地址确认信号(AAck)422。从写入数据总线(WrDBus)414接收数据的从属机装置还为从属机适当接收的数据的每一个周期确证一个写入数据确认信号(WrDAck)424。在写入数据总线(WrDBus)414上的有效数据的最后一个周期中,从属机功能确证一个写入完成信号(WrComp)426,以表示传送的完成。
以一种类似的方式,从属机装置把读取数据置于读取数据总线(RdDBus)416上,为读取数据总线(RdDBus)416上的有效数据的每一个周期确证一个读取数据确认信号(RdDAck)428。该从属机功能还在传送的倒数第二个周期确证一个读取完成信号(RdComp)430。读取完成信号(RdComp)430是在最后一个周期还是在倒数第二个周期被确证,取决于从属机装置是否采用了一种早期读取完成协议。执行读取操作并采用一种早期读取完成协议的从属机装置可在读取操作完成之前的周期表示操作的完成。因此,  由于读取操作的等待时间,在接收到驱动在读取总线416(RdDBus)上的数据的一个表示之后一个周期-它代表了从属机装置的等待时期,从属机装置可早一个周期表示读取操作的完成,而不会发生读取数据总线上的数据冲突。
PAValid信号420由判优器402确证,以向从属机装置408、410(在此也分别被表示为S0和S1)表示在PLB总线上有有效的初级地址和传送限定符。一个初级请求是其中没有该请求所需的、正在数据总线上进行的数据传送的请求。因此,在从属机装置确证了一个地址确证信号(AAck)428之后,响应于一个PAValid信号420,从属机装置可确证其数据确认信号并驱动数据总线,而不论在该同一总线上是否有正在进行的传送。该数据不能在读取数据总线(RdDBus)上得到驱动,直到地址确认之后两个周期。
一个“次级地址有效”信号(SAValid)432将被判优器402确证,以向从属机装置408、410表示在PLB总线上有次级地址和传送限定符。一个次级请求是这样一个请求,即其中地址和传送限定符可被一个从属机装置确证,但该从属机不被允许使用该数据总线或其相关控制。这种使得一个从属装置能够获取/取样一个次级地址并在一个初级传送正在进行的同时启动一个第二传送。该从属机必须继续等待以确证数据确认和数据总线,直到判优器通过确证读取初级(RdPrim)434或写入初级(WrPrim)436信号而表示该总线可被获得。
一个读取次级至初级表示符信号(RdPrim)434被判优器402确证,以向从属机408、410表示在读取数据总线416上的已经被地址确认的一个次级传送现在可被认为是读取数据总线上的一个“初级”传送。当该从属机向该初级请求确证该读取完成信号430或454时,判优器402将随后在同一周期中确证读取初级信号430或454。确认了次级传送的该从属机,现在可以在于同一周期中确证了读取初级信号(RdPrim)434之后两个周期时,确证其第一数据确证。如果在总线上没有一个确认的次级请求,或者该次级请求没有正在被一个从属机所确认,则读取初级信号(RdPrim)434或454将不被确证。
一个“写入次级至初级表示符信号”(WrPrim)436或455可被判优器402确证,以向从属机S0、S1表示在已经被地址确认的写入数据总线414上的一个次级传送现在可被认为是在写入数据总线414上的一个初级传送。当该从属机确证用于初级请求的该写入完成(WrComp)信号426时,判优器将随后在同一周期中确证写入初级信号(WrPrim)436或455。确认了该次级传送的该从属机装置现在可在确证了写入初级(WrPrim)信号436或455之后的周期中确证其第一数据确认。如果在总线上没有一个确认的次级请求,或者次级请求没有正在被一个从属机所确认,则写入初级信号436或455将不被确证。
公布的实施例包括用于实施可伸缩地址流水线化功能的若干PLEBE信号。这些判优器信号包括一个读取未决请求(PLB_RdPendReq)440;一个读取未决优先级(PLB_rDPendPri[0:1])442;一个写入未决请求(PLB_wrPendReq)444;以及一个写入未决优先级(PLB_wrPendPri[0:1])446。一个读取未决请求440是由判优器确证的一个信号,用于表示一个主导机具有在PLB上的一个读取请求未决或者一个次级读取传送已经被确认且正在未决。这种信号被结合到用于读取的所有主导机请求输入和次级读取读取流水线状态的一个逻辑“或”中。该信号将与请求相结合地被确证,或在对一个次级传送的从属机地址确认之后的时钟周期得到确证。该信号可被任何主导机或从属机使用,并可被其自己使用或与读取未决优先级信号442结合使用,以确定何时终结一个可变长度读取脉冲串传送。该信号将与一个请求的非相结合而被进行非操作,或者在次级传送的情况下,在读取初级信号434或454的确证之后的时钟周期中被进行非操作。
读取未决优先级信号442受到判优器的驱动,且在读取未决请求信号440被确证的任何时候都是有效的。这些信号表示了来自与该判优器相连的所有主导机的任何现用的读取请求输入或已经被确认并未决的一个流水线读取传送的最高优先级。这些信号被主导机用来确定何时终结一个可变长度的读取脉冲串传送。从属机也可使用这些信号。
写入未决请求信号444由判优器确证,以表示一个主导机具有在总线上的一个写入请求未决,或者一个次级写入传送已经被确认并正在未决。这种信号是用于写入的所有主导机请求输入与确认的任何次级写入的结合逻辑“或”。这种信号将与请求结合地得到确证,或者在用于一个次级写入传送的从属机地址确认422或423的确证之后的时钟周期中被确证。这种信号可以被任何主导机或从属机所取样,并可被其自己使用,或与写入未决优先级信号446一起被使用,以确定何时终结一个可变长度的总线传送。这种信号将借助对请求的非操作而被进行非操作,或者在次级传送的情况下,在写入初级信号436或455的确证之后的时钟周期中被进行非运算。
写入未决优先级信号446由判优器确证且在写入未决请求信号444被确证的任何时候都是有效的。这些信号表示了来自所有主导机的任何现用的写入请求输入或已经被确认并且正在未决的一个流水线写入传送的最高优先级。这些信号可被主导机用来确定何时终结一个可变长度的写入脉冲串传送。从属机也可使用这些信号。
图5显示了用于具有重叠的读取和写入操作的多主导机和从属机数据传送的判优器402中的可伸缩流水线逻辑500。该可伸缩流水线逻辑包括一个读取流水线逻辑块502和一个写入流水线逻辑块504。该读取和写入流水线逻辑块是大体上对称的,且只需要描述读取流水线逻辑块。包括用于识别该主导机的一个3位编码的一个主导机Id请求信号503被提供给读取主导机流水线逻辑506,该逻辑506提供了来自将要结合图6描述的可伸缩地址流水线逻辑的一个初级读取输出信号507。一个从属机地址确认信号509作为一种8位编码而被提供给一个确认编码器508,该编码器提供了表示已经确证其地址确认信号的从属机的一个3位编码并将在当前时钟信号结束时锁存该地址和所有传送限定符。编码的从属机地址确认信号被读取从属机管道逻辑510所接收,该逻辑510提供了读取初级输出信号434或454给在一个8位编码中标明的从属机装置。该读取从属机管道逻辑将结合图7进行描述。
各个主导机提供了一个请求优先级层次码以向判优器表示主导机的请求的优先级,且这些信号在一个主导机请求信号被确证时总是有效的。判优器把这些信号与其他主导机优先级信号一起使用,以确定哪个主导机请求应该被授予并随后提供给从属机。主导机优先级码是:11等于最高优先级:10次最高优先级;01次次最高优先级;且00最低优先级。一个多路转换器512选择已经赢得了一次判优的主导机并把一个输入提供给向一个读取未决优先级编码块516提供最高流水线优先级信号的一个可伸缩读取优先级管道逻辑块514。该读取优先级管道逻辑块514将结合图8进行描述。
主导机Id信号编码的从属机Id以及优先级信号借助传统状态机而移位通过可伸缩读取流水线逻辑,其中这些状态机接收来自流水线逻辑的状态信号并通过该流水线逻辑提供用于移位确认次级传送信号的控制信号,并将结合图6、7和8进行描述。
读取未决优先级编码器516接收最高流水线优先级信号515并请求各个主导机的优先级,这些优先级在块517中被结合在一起以产生所有当前的读取请求优先级并作为一个第二输入而被提供给编码器516。该编码器提供了读取未决优先级请求,该请求表示了来自与总线相连的所有主导机的所有现用的读取请求输入或已经被确认并正在未决的一个流水线传送的最高优先级。
写入流水线逻辑块504包括写入主导机管道逻辑520,该逻辑接收主导机Id信号503并利用可伸缩流水线逻辑以提供请求服务的主导机的初级写入Id码。
一个写入从属机管道逻辑522接收确认数据的传送的流水线请求的从属机的编码,并提供一种写入初级信号436或455-该信号表明一个流水线写入请求可被认为是在跟随的时钟周期中的一个初级写入请求。支持地址流水线化的从属机必须在从属机确证一个次级写入请求的AAck信号之后的周期中开始对该WrPrim信号进行取样。在确证了判优器写入初级之后的时钟周期中,只要次级写入请求已经被确认,判优器将把次级写入数据引导到写入数据总线上。
写入优先级管道逻辑524接收正在被确认的主导机的优先级,并把所有流水线化的写入请求的最高优先级都提供给写入未决优先级编码器526。写入流水线逻辑受到一个传统的状态机的控制,该状态机接收来自该流水线逻辑的状态信号并提供控制信号。
该写入未决优先级编码器526还接收来自请求写入传送的各个主导机的信号并选择最高优先级-该最高优先级作为一种写入未决优先级信号446而被提供,以向分组主导机表示在总线上的一个写入请求未决的最高优先级,或者一个次级写入传送已经被确认且正在未决。
图5A显示了在读取和写入流水线中实施的流水线控制状态机550的状态图。在操作中,该状态机在两种数据传送中以一种类似的方式运行。在硬件复置期间,该状态机将从任何其他的激活状态直接转到“闲置”状态。在复置之后状态机处于“闲置”状态。这表明没有流水线化的传送已经被确认。当一个次级发送被一个从属机所确认时,状态机从该“闲置”状态转到该“第二”状态。该状态机保持在该“第二”状态,直到初级数据传送完成或一个随后的流水线化传送被一个从属机所确认。如果该初级数据传送完成,状态机从该“第二”状态回到“闲置”状态。如果一个随后的流水线传送被一个从属机所确认,该状态机从“第二”状态移动到“第三”状态。该状态机保持在该“第三”状态,直到初级数据传送完成或一个随后的流水线化传送被一个从属机所确认。如果该初级数据传送完成,状态机从“第三”状态回到“第二”状态。如果一个随后的流水线化传送被一个从属机所确认,状态机从“第三”状态转到“第四”状态。状态机保持在该“第四”状态,直到初级数据传送完成。当初级数据传送完成时,状态机从该“第四”状态回到该“第三”状态。当该状态机处于“闲置”、“第二”、“第三”、或“第四”状态且初级数据传送在一个从属机确认一个流水线化传送的同一个周期中完成时,不发生状态改变。
图6描述了一个可伸缩主导机管道逻辑600的操作,该逻辑600包括标准移位寄存器602、604、606、?60(n)的串联连接,这些移位寄存器接收标明正在请求一个数据传送的一个主导机的一个主导机3位编码。各个主导机数据请求作为标识被存储在一个移位寄存器中。一个初级请求被加载到一个初级级608中。随着额外的请求被地址确认,它们被存储在级602、604和606中。多路转换器610、612、614使当前的主导机Id能够被加载到适当的级寄存器中。移位寄存器逻辑以FIFO的方式操作,且当初级传送完成时,该逻辑把该流水线中的下一个主导机Id送进到该初级寄存器。该流水线状态机550,如图5所示,控制着逻辑中主导机Id的加载和移动。每次流水线逻辑行进时,多路转接器610、612、614都选择存储在在前的寄存器级中的Id,该Id随后被锁存到下一个级中。多路转换器610还接收来自主导机初级信号的反馈信号,这使得初级移位寄存器608能够在整个初级数据传送期间在一个次级地址使用期正在进行时被连续地定时。
在图7中,从属机管道逻辑700包括依次移位寄存器702、704和706。当一个从属机确认一个次级、非初级传送时,表示该从属机Id的二进制编码值被加载到寄存器702中。流水线化的传送的相继的从属机确认,使得移位寄存器级704被加载,随后是将被加载的第四级706。次级702的输出,作为一个输入被提供给8位解码器710,该解码器选择哪一个从属机的读取初级控制信号434或454将在当前的初级数据传送完成时被确证。解码器710把定义该从属机装置的3位信号转换成标明该从属机装置的一个8位地址。当一个流水线传送已经被确认并出现在该流水线中时,解码器710在判优器的控制下被一个读取初级使能信号所使能,且该从属机为该初级读取传送确证该读取完成信号。该从属机逻辑以FIFO方式操作,且当该初级传送完成时,该逻辑以一个移位寄存器的方式操作并把流水线中的下一个从属机送进到次级寄存器。
在图8中,优先级管道逻辑800包括与一个第三移位寄存器804依次联结的一个次级寄存器802,以及一个第四移位寄存器806。一个多路转换器和与该次级寄存器耦合的一个可选择的优先级分辨电路807接收来自该第三和第四级的输入信号和用于加载该次级寄存器的请求优先级信号。电路807包括选通电路812、814、816和优先级编码器818和820。编码的当前请求优先级信号512被提供给各个级。响应于该优先级信号和存储在第四级中的信号的一个多路转换器808,为第三级804的输入选择第四或当前加载的优先级。使能选通电路812响应于用于次级、非初级传送的状态机加载信号。选通电路信号的输出被提供给优先级编码器818和820,这些编码器选择当前正在被加载或处于寄存器804或806中的最高优先级从属机装置。在操作中,以流水线化的请求的主导机请求优先级,次级寄存器802被加载,随后寄存器804被加载,且最后寄存器806被加载。当发生了一个次级地址确认时,流水线化的主导机请求优先级被自动加载到第二寄存器中。当一个第三从属机确认发生时,当前的流水线化的主导机请求优先级被加载到该第三寄存器中。同时,次级寄存器802的输出被与当前主导机的请求优先级相比较,且如果当前的流水线化的主导机请求优先级较大,则它也被加载到次级请求优先级寄存器802中。当一个发生了一个第四确证时,当前主导机优先级被加载到该寄存器806中。同时,第二和第三寄存器的输出被与当前的主导机请求优先级相比较,且如果当前主导机请求优先级大于第二和第三寄存器,则它也被加载到该次级寄存器中。这种加载优先级管道逻辑的方法保证了当流水线被加载时,读取管道优先级输出反映了流水线中的最高优先级主导机请求确认。流水线800以FIFO方式进行操作,且当优先级传送完成时,该逻辑与一个移位寄存器类似地进行操作。然而,每当管道行进或移位时,都进行一个优先级比较以把最高优先级值或第三或第四寄存器加载到第二寄存器802中。另外,可能存在这样的情况,即一个移位和加载操作会同时发生。在此情况下,第三寄存器的内容被与当前主导机请求优先级进行比较,且两者中的最高优先级被加载到第二寄存器中。该逻辑的序列和控制由读取流水线状态机处理。
虽然已经结合4级深请求(4 deep requests)描述了请求的流水线化,该流水线逻辑也可扩展到N级深数据传送请求。
处理器本地总线400支持各个数据总线的无限制的独立流水线化。为了支持这样的流水线化,判优器需要跟踪一个具体的流水线传送所涉及的主导机和从属机,并保证当前面确认的流水线传送被认为是初级时适当的从属机得到通知。该判优器还负责引导从属机对正确的主导机进行响应。该判优器还被要求提供确认的流水线中的最高优先级未决读取和写入请求。
为了实现这种操作,对多至所支持的数目的从属机,判优器必须独立地对各个从属机地址确认信号进行取样。判优器还必须提供分别的rdPrim和wrPrim给各个从属机,以通知一个且是唯一一个从属机该从属机在流水线中的位置已经被提升到了初级传送。用于广播所有流水线化的传送的机制是通过SAValid信号。对于一种具体类型的传送,不论是读取还是写入,由判优器在不需要初级PAValid确证的干涉的情况下进行的SAValid信号的各个随后的确证,被认为是流水线化深度的增大。
从一个主导机的角度,主导机完全不知道正在发生任何流水线化。主导机接收一种主导机地址确认信号并等待适当的数据确认。来自一个从属机的角度看,该从属机确认一个流水线传送而不关心其在流水线中的位置。进一步地,主导机可能要求为同一总线的额外的流水线化的请求,只要主导机继续接收主导机地址确认确证。从属机可能至可能不确认随后的SAValid信号确证,以要求尽可能多的流水线传送。一般地,由于对流水线传送没有总线超时,不能在合理的的时间中确认一个次级请求的从属机应该确证一个从属机再判优(Sl_rearbitrate)信号,以使判优器能够进行到下一个未决的总线请求。
虽然已经描述了四(4)级数据请求的流水线化,该逻辑可扩展到处理N级的情况,其中N是任何整数。
图9显示了对于借助4个不同的主导机读取请求的4级深读取流水线化的时序图,其中有一个初级和3个流水线。不同的从属机确认各个传送请求。判优器对所有从属机地址确认信号进行取样。独立读取初级信号被产生到适当的从属机,以通知它们现在它们是初级传送从属机并可驱动数据总线和读取数据确认信号。判优器产生流水线主导机或当前的最高请求优先级的未决优先级。
一个主导机装置M0通过确证在周期1、2和3中的一个请求信号而产生一个读取传送。在这些周期1-3中,主导机M0向判优器表示了主导机请求的请求优先级编码00,即代表给定请求的最低优先级的编码。作为响应,判优器把该读取未决请求信号rdPendReq以及读取未决优先级信号确证到周期1中的主导机0的请求优先级的值。该判优器随后在周期2中向从属机装置确证PAValid信号,因为读取总线在此例中处于闲置。这些从属机装置随后对出现在地址总线上的地址进行解码,且被寻址的从属机装置随后确证一个从属机地址确认信号以表示它已经锁存(latch)了该地址总线和传送限定符且不再要求使用该地址总线和传送限定符。由于M0请求是一个优先级请求,即初级地址有效信号得到确证,确认了该请求的从属机装置可立即驱动该读取数据总线。
在周期4、5、6中,主导机装置M1确证一个请求信号,即向判优器表示M1请求的优先级的一个请求优先级信号01。优先级水平01是读取总线的次次最高优先级水平。作为响应,判优器把该读取未决请求信号rdPendReq以及读取未决优先级信号确认至周期4中主导机1的请求优先级的值。由于读取数据总线正在忙于进行响应M0请求的第一传送,判优器认为这种第二读取传送是一种“次级”请求并响应于主导机的请求而确证该SAValid信号。只有支持地址流水线化功能的从属机装置将接收该SAValid信号并将在被确证时解码该地址总线和传送限定符信号并确证地址确认,以表示被寻址的从属机即从属机3已经锁存了该地址总线和传送限定符信号且不再要求使用该地址总线和传送限定符。因此,在周期5和6该SAValid信号得到确证,且从属机地址确认(Sl_addrAck(3))信号得到确证以确认第二请求且它将预提取请求的读取数据但将不驱动读取数据确认或读取数据总线信号直到数据的初级传送已经完成。
在周期7、8、9,一个第三请求即M2请求与表示数据传送的最高优先级的11编码一起得到确证。作为响应,判优器在周期7把读取未决优先级信号更新至主导机2的请求优先级的值,因为它是比读取流水线中的所有确认的传送(在此情况下为01)都高的优先级。判优器响应该请求而确证SAValid信号,且从属机5地址确认这种传送。
在周期10、11和12,主导机请求即M3请求与优先级码10一起被确证。在此情况下不发生对读取未决优先级信号的更新,因为10是比已经处于读取流水线中的前面确认过的11优先级低的优先级。判优器响应于这种请求而确证SAValid信号且从属机7地址确认这种传送。
主导机0的初级数据传送使用期得到继续,直到该传送的最后数据确认,在此情况下该确认是在周期15中确证的初始数据确认。在确证最后的读取数据确证信号Sl_rdDAck之前一个时钟周期,从属机1在周期14确证了读取完成信号Sl_rdComp。该读取完成信号的确证,向判优器表明该从属机将在下一个时钟周期传送最后数据确认。判优器用该读取完成信号来同时地向读取流水线中的下一个从属机-在此情况下是从属机3-确证读取初级信号,以提醒它现在它正在被提升至优先级数据总线的位置且它可在从属机读取初级信号的确证之后的两个时钟周期开始提供读取数据。这与在前的初级读取数据传送的最后一个读取数据确认之后的时钟相重合。
在确证了主导机1在时钟17的读取数据传送的最后读取数据确认信号之前一个时钟周期,从属机3确证周期16中的该读取完成信号即Sl_rdComp。判优器利用该读取完成信号来同时地向读取流水线中的下一个从属机-在此情况下即从属机5-确证读取初级信号,以提醒它现在它正在被提到初级数据总线的地位且它可在从属机读取初级信号确证之后的两个时钟周期开始提供读取数据。用于主导机1的传送的读取初级信号的这种确证,意味着主导机2即将变为初级读取数据总线的拥有者。因此其锁存的优先级(它是最高优先级11)不再是未决的并被读取流水线中的次最高优先级所改写。在此情况下,它是10或主导机3的前面确认的读取的优先级。
在确证用于主导机2在时钟19的读取数据传送的最后读取数据确认信号之前一个时钟周期,从属机5确证读取完成信号即时钟18中的Sl_rdComp。判优器利用该读取完成信号来同时地向读取流水线中的下一个从属机-在此情况下即从属机7-确证读取初级信号,以提醒它现在它正在被提到初级数据总线的地位且它可以在从属机读取初级信号确证之后两个时钟周期开始提供读取数据。用于主导机2的传送的读取初级信号的这种确证,意味着主导机3即将变为初级读取数据总线的拥有者且其锁存的优先级(最高优先级10)不再是未决的且被最低优先级00所改写且读取未决请求信号被去除确证(deasserted)-因为读取流水线现在是空的。
从属机7在时钟20向判优器确证读取完成信号,以表示它将在下一个时钟周期中确证最后的读取数据。从属机7在时钟21向主导机确证读取数据确认信号,从而完成流水线化的读取传送序列。
图10显示了借助4个不同的主导机写入请求的4级深写入流水线化的时序图,其中一个初级且三个流水线。不同的从属机确认各个传送请求。判优器对所有从属机地址确认信号进行取样。独立的写入初级信号被产生给适当的从属机,以通知这些从属机它们现在是初级传送从属机并可锁存数据总线并确证写入数据确认信号。判优器产生当前或流水线化的主导机的最高请求优先级的未决优先级。
一个主导机装置即M0,通过确证周期1、2和3中的一个请求信号,而请求一个写入传送。在这些周期1-3中,主导机M0向判优器表示了主导机的请求的请求优先级编码00,该编码代表了一个给定请求的最低优先级。作为响应,判优器把写入未决请求信号wrPendReq以及写入未决优先级信号确证为时钟1中的主导机0的请求优先级的值。判优器随后在时钟2向从属机装置确证PAValid信号,因为写入总线在此例中处于闲置。从属机装置随后对地址总线上提供的地址进行解码,且被寻址的从属机装置随后确证一个从属机地址确认信号,以表明它已经锁存了地址总线和传送限定符且不再要求使用该地址总线和传送限定符。由于该M0请求是一个初级请求,即初级地址有效信号得到了确证,确认了该请求的该从属机装置可立即锁存该写入数据总线。
在周期4、5、6,主导机装置M1确证一个请求信号即一个请求优先级信号01,以向判优器表明M1请求的优先级。优先级水平01是写入总线的次次最高优先级水平。作为响应,判优器把写入未决请求信号即wrPendReq以及写入未决优先级信号确认至时钟4中主导机1的请求优先级的值。由于该写入数据总线忙于进行响应该M0请求的第一传送,判优器认为这种第二读取传送是一个“次级”请求并响应该主导机的请求而确证该SAValid信号。只有支持地址流水线化功能的从属机装置将接收到该SAValid信号。当被确证时,该从属机将对地址总线和传送限定符信号进行解码,并确证地址确认以表明寻址的从属机即从属机3已经锁存了该地址总线和传送限定符信号且不再要求使用该地址总线和传送限定符。因此,在周期5和6,该SAValid信号得到确证且从属机地址确认(Sl_addrAck(3))信号得到确证以确认该第二请求,且它将不确证写入数据确认信号或锁存写入数据总线信号直到数据的初级传送已经完成。
在周期7、8、9,一个第三请求即M2请求与表示数据传送的最高优先级的11优先级编码一起得到确证。作为响应,判优器把写入未决优先级信号更新到时钟7中的主导机2的请求优先级的值,因为它是比写入流水线中的所有确认的传送(在此情况下是01)都高的优先级。判优器响应于这种请求而确证该SAValid信号且从属机5地址确认这种传送。
在周期10、11和12,主导机请求即M3请求与优先级编码10一起被确证。在此情况下没有对写入未决优先级信号进行更新,因为10是比已经处于写入流水线中的前面确认的11优先级低的一个优先级。判优器响应于这种请求而确证该SAValid信号,且从属机7地址确认这种传送。
主导机0的初级数据传送使用期继续持续,直到传送的最后数据确认,在此情况下它是时钟14中确证的初始数据确认。与写入数据确认信号Sl_wrDAck的确证同时地,从属机1确证时钟14中的写入完成信号Sl_wrComp。该写入完成信号的确证向判优器表明该从属机正在确证最后的且在此情况下是唯一的写入传送数据确认。判优器利用该写入完成信号来同时地向写入流水线中的下一个从属机-在此情况下是从属机3-确证,写入初级信号,以提醒它现在它正在被提升到初级数据总线的地位。随后,从属机3可在确证从属机写入初级信号之后的时钟周期中开始锁存写入数据。这与在前的初级写入数据传送的最后一个写入数据确认之后的时钟相重合。
与为主导机1的写入数据传送确证最后的写入数据确认信号相重合地,从属机3确证写入完成信号,即时钟15中的Sl_wrComp。判优器利用该写入完成信号来同时地向写入流水线中的下一个从属机即从属机5确证写入初级信号。在此情况下,从属机5被提醒它正在被提升到初级数据总线的地位且它可在确证从属机写入初级信号之后的时钟周期开始锁存写入数据。为主导机1的传送进行的写入初级信号的确证,意味着主导机2即将变为初级写入数据总线的拥有者。因此,其锁存的优先级(它是最高优先级11)不再未决并被写入流水线中的次最高优先级所改写。在此情况下,它是10或主导机的前面确认的写入中的优先级。
与为主导机2的写入数据传送进行的最后写入数据确认信号的确证相重合地,从属机5确证写入完成信号即时钟16中的Sl_wrComp。判优器利用该写入完成信号来同时地向写入流水线中的下一个从属机即从属机7确证该写入初级信号。在此情况下,从属机7被提醒它正在被提升至初级数据总线的地位且它可在从属机写入初级信号确证之后的时钟周期开始锁存写入数据。为主导机2的传送进行的写入初级信号的确证,意味着主导机3即将变为初级写入数据总线的拥有者。因此其锁存的优先级(它是最高优先级10)不再未决并被最低优先级00所改写。写入未决请求信号被去除确证,因为现在写入流水线是空的。
从属机7在时钟17向判优器确证写入完成信号,以表示它在当前的时钟周期中正在向主导机确证最后且唯一的写入数据确认。这完成了流水线化的写入传送的序列。
虽然已经结合具体实施例描述了本发明,在不脱离所附权利要求书所限定的本发明的精神和范围的前提下可以作出各种改变。

Claims (24)

1.一种数据传送系统,它具有重叠的读取和写入操作和可伸缩地址流水线化,包括:
一个数据总线,包括一个地址总线、一个读取总线、以及一个写入总线;
与单独的地址、读取数据和写入数据总线相耦合的至少一个主导机装置;
至少一个从属机装置,它通过共用但去耦的地址、读取和写入数据总线与本地总线相耦合;
一个判优器设备,它耦合到该本地总线,该判优器使主导机能够竞争总线拥有权;以及
可伸缩逻辑,它编程多至N级深主导机请求的地址流水线化,其中N是任何正的非零整数。
2.根据权利要求1的系统,进一步包括:
一个读取或写入主导机流水线逻辑,它实施判优器中的可伸缩流水线逻辑以使数据传送流水线化。
3.根据权利要求2的系统,其中该读取或写入主导机流水线逻辑包括:
串联的移位寄存器级,用于接收相继的主导机数据传送请求;以及
接收来自一个前级的一种输入和一个主导机请求的移位寄存器级之间的多路转换器,用于选择用于传送至下一个相继的级的信号。
4.根据权利要求1的系统,进一步包括:
一种读取或写入从属机流水线逻辑,用于实施判优器中的可伸缩流水线逻辑以使数据传送流水线化。
5.根据权利要求4的系统,其中该读取或写入从属机流水线逻辑包括:
串联的移位寄存器级,用于接收相继的从属机数据传送请求;以及
接收来自一个前级的一个输入和一个从属机确认的移位寄存器级之间的多路转换器,用于选择用于传送至下一个相继的级的信号;以及
一个解码器,用于把一个从属机识别信号转换成标明该从属机的一个地址。
6.根据权利要求1的系统,进一步包括:
一个读取或写入优先级流水线逻辑,用于使判优器中的可伸缩流水线逻辑优先级化以使数据传送流水线化。
7.根据权利要求6的系统,其中该读取或写入流水线逻辑包括:
一个次级寄存器,它与一个第三移位寄存器级和一个第四移位寄存器级依次联结,各个级都接收一种请求优先级信号;以及
一个多路转换器和与该次级寄存器耦合的可选择优先级分解电路,用于接收来自该第三和第四级的输入信号和该请求优先级信号以加载该次级寄存器。
8.根据权利要求1的系统,其中:
判优器设备产生用于实施可伸缩地址流水线化的信号。
9.根据权利要求8的系统,其中该判优器设备产生一种读取未决请求信号,以表明一个主导机或从属机具有在数据总线上的读取请求未决或者一个次级读取传送已经被确认并正在未决。
10.根据权利要求8的系统,其中该判优器设备产生一种读取未决优先级信号以表示一个主导机或从属机的任何现用读取请求的最高优先级。
11.根据权利要求8的系统,其中该判优器设备产生一种写入未决请求信号以表示在该总线上的来自所有主导机的任何现用的写入请求。
12.根据权利要求9的系统,其中该判优器设备产生一种写入未决优先级信号,以表示来自所有主导机或从属机的任何现用的写入请求的最高优先级。
13.根据权利要求1的系统,其中:
判优器设备跟踪各个流水线传送中涉及的主导机和从属机以进行广播和确认。
14.根据权利要求1的系统,其中:
判优器设备通知适当的从属机其流水线传送被认为是初级的且该从属机可根据一个导出或锁存的操作是否被流水线化而锁存或驱动该数据总线。
15.根据权利要求1的系统,其中:
判优器设备向所有总线主导机提供有关一个确认的流水线排队中的最高优先级未决读取请求和写入请求的信息。
16.在具有重叠的读取和写入操作以及可伸缩地址流水线化的一种多计算机系统中的一种数据传送方法,包括以下步骤:
产生用于在一个数据总线上的地址、读取和写入传送的信号;
在一个主导机流水线逻辑中加载和移位的主导机请求;
在一个从属机流水线逻辑中加载和移位一种数据请求的一个确认;
在完成了一个初级数据传送时提升该流水线中的下一个从属机;
记录一个判优器流水线逻辑中的数据传送;
把最高优先级值加载到该优先级流水线逻辑中以根据情况由一个主导机装置或从属机装置执行;以及
在重叠读取和写入数据总线上独立地可编程地改变地址流水线化的深度。
17.根据权利要求16的方法,进一步包括以下步骤:
产生一种读取未决请求信号以表示一个主导机具有在该数据总线上的一个读取请求未决或者一个次级读取传送已经被确认并正在未决。
18.根据权利要求16的方法,进一步包括以下步骤:
产生一种读取未决优先级信号,以表示一个主导机的任何现用的读取请求的最高优先级。
19.根据权利要求16的方法,进一步包括以下步骤:
产生一种写入未决请求信号,以表示一个主导机具有在总线上的一个写入请求未决,或者一个次级写入传送已经被确认并正在未决。
20.根据权利要求16的方法,进一步包括以下步骤:
产生一个写入未决优先级信号,以表示来自所有主导机的任何现用的写入请求输入或已经被确认并且正在未决的一个流水线写入传送的最高优先级。
21.根据权利要求16的方法,进一步包括以下步骤:
跟踪各个流水线传送中涉及的主导机和从属机以保证这些传送得到广播和确认。
22.根据权利要求16的方法,进一步包括以下步骤:
通知适当的从属机其流水线传送被认为是初级的且该从属机可根据一个驱动或锁存操作是否被流水线化而锁存或驱动该数据总线。
23.根据权利要求16的方法,进一步包括以下步骤:
向所有总线主导机提供有关在一个确认的流水线排队中的最高优先级未决读取请求和写入请求的信息。
24.根据权利要求16的方法,进一步包括以下步骤:
产生用于实施可伸缩地址流水线化的信号。
CN01121951.3A 2000-06-21 2001-06-21 具有重叠读写操作和可伸缩地址流水线化的数据传送系统 Expired - Fee Related CN1207670C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21304000P 2000-06-21 2000-06-21
US60/213,040 2000-06-21
US09/855,831 US6772254B2 (en) 2000-06-21 2001-05-15 Multi-master computer system with overlapped read and write operations and scalable address pipelining
US09/855,831 2001-05-15

Publications (2)

Publication Number Publication Date
CN1337630A CN1337630A (zh) 2002-02-27
CN1207670C true CN1207670C (zh) 2005-06-22

Family

ID=26907716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01121951.3A Expired - Fee Related CN1207670C (zh) 2000-06-21 2001-06-21 具有重叠读写操作和可伸缩地址流水线化的数据传送系统

Country Status (2)

Country Link
US (1) US6772254B2 (zh)
CN (1) CN1207670C (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6605679B1 (en) * 1997-07-23 2003-08-12 E. I. Du Pont De Nemours And Company Polymerization of olefins
KR100644597B1 (ko) * 2000-08-05 2006-11-10 삼성전자주식회사 버스 시스템 및 그 커맨드 전달방법
US6775727B2 (en) * 2001-06-23 2004-08-10 Freescale Semiconductor, Inc. System and method for controlling bus arbitration during cache memory burst cycles
US6857035B1 (en) 2001-09-13 2005-02-15 Altera Corporation Methods and apparatus for bus mastering and arbitration
JP2003186824A (ja) * 2001-12-18 2003-07-04 Canon Inc バス使用権優先度調整装置およびシステム
US7281140B2 (en) * 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US7174401B2 (en) * 2002-02-28 2007-02-06 Lsi Logic Corporation Look ahead split release for a data bus
US7246184B2 (en) * 2002-04-12 2007-07-17 Siemens Aktiengesellschaft Method for configuring and/or operating an automation device
US6948019B2 (en) * 2002-04-30 2005-09-20 Lsi Logic Corporation Apparatus for arbitrating non-queued split master devices on a data bus
US7107365B1 (en) * 2002-06-25 2006-09-12 Cypress Semiconductor Corp. Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
US7054971B2 (en) * 2002-08-29 2006-05-30 Seiko Epson Corporation Interface between a host and a slave device having a latency greater than the latency of the host
US20040123054A1 (en) * 2002-12-20 2004-06-24 Gould Geoffrey A. Portable computing device having a non-volatile memory device adapted to detect when a current memory operation is to be suspended and method therefor
JP2004334410A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 情報処理装置及びプロセッサ
WO2004099995A2 (en) * 2003-05-09 2004-11-18 Koninklijke Philips Electronics N.V. Hierarchical memory access via pipelining
US7079147B2 (en) 2003-05-14 2006-07-18 Lsi Logic Corporation System and method for cooperative operation of a processor and coprocessor
US6970962B2 (en) * 2003-05-19 2005-11-29 International Business Machines Corporation Transfer request pipeline throttling
US7051146B2 (en) * 2003-06-25 2006-05-23 Lsi Logic Corporation Data processing systems including high performance buses and interfaces, and associated communication methods
US7013357B2 (en) * 2003-09-12 2006-03-14 Freescale Semiconductor, Inc. Arbiter having programmable arbitration points for undefined length burst accesses and method
US7181556B2 (en) * 2003-12-23 2007-02-20 Arm Limited Transaction request servicing mechanism
US7209998B2 (en) * 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7143220B2 (en) * 2004-03-10 2006-11-28 Intel Corporation Apparatus and method for granting concurrent ownership to support heterogeneous agents in on-chip busses having different grant-to-valid latencies
US7353297B2 (en) * 2004-06-08 2008-04-01 Arm Limited Handling of write transactions in a data processing apparatus
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
US7305510B2 (en) * 2004-06-25 2007-12-04 Via Technologies, Inc. Multiple master buses and slave buses transmitting simultaneously
US20060176890A1 (en) * 2005-02-10 2006-08-10 International Business Machines Corporation Data processing system, method and interconnect fabric for improved communication in a data processing system
US7451231B2 (en) * 2005-02-10 2008-11-11 International Business Machines Corporation Data processing system, method and interconnect fabric for synchronized communication in a data processing system
JP4668645B2 (ja) * 2005-02-24 2011-04-13 パナソニック株式会社 Dmaコントローラ及びデータ転送制御方法
US7617343B2 (en) * 2005-03-02 2009-11-10 Qualcomm Incorporated Scalable bus structure
CN100435123C (zh) * 2005-07-19 2008-11-19 威盛电子股份有限公司 用于稀疏线写操作的装置和方法
US7283418B2 (en) * 2005-07-26 2007-10-16 Micron Technology, Inc. Memory device and method having multiple address, data and command buses
US7836809B2 (en) * 2005-09-23 2010-11-23 John Noveske Flash suppression system
JP2007122410A (ja) * 2005-10-28 2007-05-17 Nec Electronics Corp バス調停回路及びバス調停方法
FR2894696A1 (fr) * 2005-12-14 2007-06-15 Thomson Licensing Sas Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant
US7412669B1 (en) * 2006-07-06 2008-08-12 Xilinx, Inc. Generation of graphical design representation from a design specification data file
EP2080300B1 (en) * 2006-10-31 2018-09-19 NXP USA, Inc. Network and method for setting a time-base of a node in the network
JP2009116702A (ja) * 2007-11-07 2009-05-28 Toshiba Corp 半導体集積回路
US7787310B2 (en) * 2008-02-21 2010-08-31 Micron Technology, Inc. Circuits, devices, systems, and methods of operation for capturing data signals
US8583845B2 (en) * 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof
US8122159B2 (en) 2009-01-16 2012-02-21 Allegro Microsystems, Inc. Determining addresses of electrical components arranged in a daisy chain
DE112010003368T5 (de) * 2010-02-26 2012-06-14 Hewlett-Packard Development Company, L.P. Wiederherstellung der Stabilität eines instabilen Busses
GB2478795B (en) * 2010-03-19 2013-03-13 Imagination Tech Ltd Requests and data handling in a bus architecture
JP5528939B2 (ja) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US8825933B2 (en) * 2011-11-30 2014-09-02 Andes Technology Corporation Bus apparatus with default speculative transactions and non-speculative extension
US20130339638A1 (en) * 2012-06-19 2013-12-19 Tal Lazmi Status polling of memory devices using an independent status bus
US9634715B2 (en) * 2014-02-18 2017-04-25 Allegro Microsystems, Llc Signaling between master and slave components using a shared communication node of the master component
US9787495B2 (en) 2014-02-18 2017-10-10 Allegro Microsystems, Llc Signaling between master and slave components using a shared communication node of the master component
US9785605B2 (en) * 2014-11-05 2017-10-10 Qualcomm Incorporated Predefined static enumeration for dynamic enumeration buses
US9892067B2 (en) 2015-01-29 2018-02-13 International Business Machines Corporation Multiprocessor cache buffer management
US10642500B2 (en) 2015-09-28 2020-05-05 Sandisk Technologies Llc Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues
US9927983B2 (en) * 2015-09-28 2018-03-27 Sandisk Technologies Llc Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues
US10866910B2 (en) 2015-09-28 2020-12-15 Sandisk Technologies Llc Systems, methods, and computer-readable media for managing instruction fetch in virtual computing environments
US11467769B2 (en) 2015-09-28 2022-10-11 Sandisk Technologies Llc Managed fetching and execution of commands from submission queues
US10747708B2 (en) 2018-03-08 2020-08-18 Allegro Microsystems, Llc Communication system between electronic devices
US10891071B2 (en) 2018-05-15 2021-01-12 Nxp Usa, Inc. Hardware, software and algorithm to precisely predict performance of SoC when a processor and other masters access single-port memory simultaneously
CN113556294A (zh) * 2021-06-01 2021-10-26 水发兴业能源(珠海)有限公司 数据收发方法、数据收发装置、服务器及存储介质
CN113886305B (zh) * 2021-09-30 2023-11-03 山东云海国创云计算装备产业创新中心有限公司 一种基于总线的仲裁方法、系统、存储介质及设备
CN113900864B (zh) * 2021-11-18 2023-11-21 南昌华勤电子科技有限公司 一种数据读写装置及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626843A (en) 1983-09-27 1986-12-02 Trw Inc. Multi-master communication bus system with parallel bus request arbitration
US5555425A (en) 1990-03-07 1996-09-10 Dell Usa, L.P. Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters
JP2625277B2 (ja) * 1991-05-20 1997-07-02 富士通株式会社 メモリアクセス装置
US5440751A (en) 1991-06-21 1995-08-08 Compaq Computer Corp. Burst data transfer to single cycle data transfer conversion and strobe signal conversion
US5809552A (en) * 1992-01-29 1998-09-15 Fujitsu Limited Data processing system, memory access device and method including selecting the number of pipeline stages based on pipeline conditions
US5553248A (en) 1992-10-02 1996-09-03 Compaq Computer Corporation System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5469544A (en) 1992-11-09 1995-11-21 Intel Corporation Central processing unit address pipelining
US5640527A (en) 1993-07-14 1997-06-17 Dell Usa, L.P. Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states
US5699516A (en) 1994-12-22 1997-12-16 Motorola, Inc. Method and apparatus for implementing a in-order termination bus protocol within a data processing system
US5784636A (en) * 1996-05-28 1998-07-21 National Semiconductor Corporation Reconfigurable computer architecture for use in signal processing applications
US6081860A (en) 1997-11-20 2000-06-27 International Business Machines Corporation Address pipelining for data transfers

Also Published As

Publication number Publication date
CN1337630A (zh) 2002-02-27
US20020062414A1 (en) 2002-05-23
US6772254B2 (en) 2004-08-03

Similar Documents

Publication Publication Date Title
CN1207670C (zh) 具有重叠读写操作和可伸缩地址流水线化的数据传送系统
CN1102265C (zh) 用于在多条总线之间传送信息的系统和方法
CN1082210C (zh) 存储器直接存取控制设备
US5850530A (en) Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data
CN1069426C (zh) 信息处理系统
CN1111799C (zh) 用于多处理器系统的改进的信号发送协议方法和信号发送协议电路
EP0870239B1 (en) Burst-broadcasting on a peripheral component interconnect bus
CN1037982A (zh) 在有仲裁的80386/82385微机系统运行中80386对系统总线的抢用
CN1694085A (zh) 内部总线系统
JPH0642236B2 (ja) コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置
CN1760847A (zh) 总线桥和数据传输方法
JP3641003B2 (ja) 調停機構付きバス・システム
EP2423824A1 (en) Data transfer device, method of transferring data, and image forming apparatus
CN1892632A (zh) 总线系统和仲裁其的方法
KR20020009823A (ko) 버스 시스템 및 그 버스 중재방법
EP1811393A1 (en) Method and system for data transfer
CN1224918C (zh) 总线、属于此总线的冗余总线系统和其内传输信息的方法
JP4583590B2 (ja) バストランザクションにおける制御チップセットのアービトレーション
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
CN1161696C (zh) 在一条共用线上传输信号的方法与装置
CN1355635A (zh) 使用总线的预仲裁装置及其方法
CN1581125A (zh) 仲裁器和仲裁方法
CN1296844C (zh) 数据传送方法和数据传送系统
CN1165004C (zh) 温备用双工设备及其操作方法
CN101075221A (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
ASS Succession or assignment of patent right

Owner name: INTEL CORP .

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION

Effective date: 20130913

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130913

Address after: American California

Patentee after: Intel Corporation

Address before: American New York

Patentee before: International Business Machines Corp.

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

Granted publication date: 20050622

Termination date: 20150621

EXPY Termination of patent right or utility model