CN1230758C - 在高速缓存脉冲周期期间控制总线仲裁的系统和方法 - Google Patents

在高速缓存脉冲周期期间控制总线仲裁的系统和方法 Download PDF

Info

Publication number
CN1230758C
CN1230758C CNB028094654A CN02809465A CN1230758C CN 1230758 C CN1230758 C CN 1230758C CN B028094654 A CNB028094654 A CN B028094654A CN 02809465 A CN02809465 A CN 02809465A CN 1230758 C CN1230758 C CN 1230758C
Authority
CN
China
Prior art keywords
bus
communication bus
control
pulse
information
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 - Lifetime
Application number
CNB028094654A
Other languages
English (en)
Other versions
CN1507592A (zh
Inventor
威廉·C·莫耶
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.)
Zenith Investment LLC
Apple Inc
Original Assignee
Freescale Semiconductor Inc
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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN1507592A publication Critical patent/CN1507592A/zh
Application granted granted Critical
Publication of CN1230758C publication Critical patent/CN1230758C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • 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)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

总线仲裁器(34)在信息脉冲处理期间监测通过共用数据总线(12)传送的与信息类型有关的特征。可通过解码后的值来对用户控制仲裁策略寄存器(56)进行编程,从而控制是否允许由于总线主控器请求而中断。可使用不同因素确定中断允许。这些因素的例子包括请求设备的类型,脉冲处理是有界还是无界,系统存储器是读还是写处理以及请求总线控制权的特定设备的标识。

Description

在高速缓存脉冲周期期间控制总线仲裁的系统和方法
该申请在2001年6月23日已经在美国申请,专利申请号为09/888,278 。
技术领域
本发明一般涉及数据处理系统,更特别涉及数据处理系统中的通信总线控制仲裁。
背景技术
在包括多个通信总线主控器的数据处理系统中,使用总线仲裁逻辑以选定几个请求的主控器之一获得总线所有权。总线主控器的选定可用多种已知方法得出。用于完成选定的现有算法的例子包括用循环排序、公平性或严格分配的优先权完成选定。在许多数据处理系统中,希望一个总线主控器在与高速缓存(cache)线路占用或回写操作有关的脉冲传送期间保持共用通信总线的所有权,不中断总线所有权,以提高存储系统的运行效率。
典型地,通过提供一些指示(例如脉冲标志)给正突发或传送的传输的初始部分,共用通信总线在这样操作期间专用于一个总线主控器。这样的属性在系统内是公认的,总线仲裁控制电路防止通信总线所有权的再分配。一旦获得总线控制,当前总线主控器将会在脉冲传输期间保持总线所有权。
另一用于保持总线所有权的技术是控制总线的设备维护(assert)一个总线锁定信号。该技术的一个缺点是系统中的任何其它临界中断(critical interrupt)被锁在使用总线之外直至撤回锁定信号。专用锁定比特的使用是以前关于此种锁定信号使用的一种实现。
其它已知系统规定脉冲传输可被中断,并要求一旦重新获得总线所有权,中断的总线主控器就重启动被中断的脉冲传输。该技术的一个缺点是中断的总线主控器必须重建总线传输序列,因此降低了整个系统效率并增加了总线协议的复杂性。
在某些特殊情况下,高速缓存线路占用长度可能超过时间临界的备用总线主控器的最大所需等待时间。虽然这种类型中断的发生频率通常较低,但是此种备用总线主控器可能需要立即访问总线。这种情况下,虽然此种现存脉冲传输的中断肯定会降低存储系统以及与当前脉冲传输有关的处理器的效率,但是当前脉冲序列先暂时中断然后恢复是很重要的。
附图说明
本发明以例子进行说明,但不限于附图,其中相同标记表示相同组件。
图1以框图形式示出与本发明一起使用的示范性处理系统;
图2以时序图形式示出有界和无界脉冲传输的特征格式;
图3以时序图形式示出与不同类型存储设备相关的信息脉冲特征格式;
图4以框图形式示出根据本发明的图1中的总线仲裁器的示范性实例;
图5以表格形式示出图4所示控制寄存器控制域编码;以及
图6以表格形式示出图4所示控制寄存器控制域另外的编码。
本领域技术人员应该理解,附图中元件仅为简单、清楚起见,不必符合比例绘制。例如,附图中某些组件的尺寸相对于其它组件被放大,以帮助增进对于本发明实施例的理解。
具体实施方式
对于需要多个通信总线主控器的数据处理系统,需要一个改进的总线所有权协议,特别是关于使用信息脉冲传输在系统中传递总线控制。在包括多个通信总线主控器的数据处理系统中,使用总线仲裁逻辑来选定几个请求的主控器之一获得总线所有权。总线主控器的选择可以使用许多已知方法得出。优先权方案是经常采用的一种技术,用来决定给予哪个系统资源以总线控制。在许多数据处理系统中,一旦获得总线控制,当前主控器在脉冲传输期间保持所有权。
图1示出需要总线仲裁的一个示范性数据处理系统10。共用总线12是数据处理系统10内的通信中心。共用总线12具有用于传送数据、地址和控制信息的导线(未示出)。中央处理单元或CPU 14连接至共用总线12。CPU 14具有连接至共用总线12和高速缓存18的总线接口16。总线接口16也连接到CPU 14的其它所有电路(未示出)。系统存储器20,系统存储器22和系统存储器24每个都连接到共用总线12。每个系统存储器代表一个不同类型的存储器。系统存储器20指定为实现类型A,系统存储器22指定为实现类型B,系统存储器24指定为实现类型C。存储器的类型的例子包括DRAM(动态随机存取存储器),闪存(Flash),ROM(只读存储器)以及SRAM(静态随机存取存储器)。预定数目的外围设备连接至共用总线12。第一外围设备是外围设备28,其连接到共用总线12,以及第N个外围设备是外围设备30,其连接到共用总线12。外设28至30可以是不同类型的外围设备,包括存储器控制器,图形控制器,显示器,键盘等等。在图示中,N是一个预定的整数值。总线仲裁器34连接到共用总线12。此外,其它预定数目的备用总线主控器连接到共用总线12。在图示中,备用总线主控器36,备用总线主控器38和备用总线主控器40每一个都连接到共用总线12。
在运行时,CPU 14与各外围设备、存储器以及备用总线主控器一同运行以执行预定系统功能或操作。系统10所需的以及系统10产生的选定信息由系统存储器20、22和24提供和存储。由于在系统10内多路操作同时进行,总线仲裁器34必须起到控制对共用总线12的访问的功能。为最小化CPU 14访问系统存储器的需要,CPU 14具有内部高速缓存18,其通常比任何系统存储器存储容量小得多。高速缓存18可以是一个统一的高速缓存,保存指令以及数据,或实现分离的高速缓存模块以在不同模块中保存指令和数据。典型地,高速缓存18存储来自系统存储器20,系统存储器22和系统存储器24的信息的副本。高速缓存18用高速缓存脉冲传输从系统存储器20,系统存储器22和系统存储器24获得信息并回写信息。典型地,高速缓存脉冲传输经共用总线12在脉冲序列中传递由多个数据字信息组成的信息的“一块”或“一行”。许多在数据处理系统中实施的存储器经信息脉冲传输通信,其中该信息以快速、连续脉冲进行传送。
脉冲传输可被分为两种类型:有界脉冲和无界脉冲。在图2中以时序图形式示出两种类型脉冲传输的例子,用于解释有界和无界脉冲之间的区别。有界脉冲通常与高速缓存存储器有关,其中脉冲是一个固定长度且通常具有为2的幂数的许多“脉动(beat)”。例如,使用行长为4字的高速缓存将执行由四个脉动构成的高速缓存脉冲,每个脉动对应于4字中的一个。图2的有界脉冲在各图示高速缓存脉冲中有四个脉动。一个无界脉冲的例子可包括诸如直接存储存取(DMA)控制器(DMAC)的备用总线主控器,上述备用主控器编程用于传输任意数目的信息字节或字。如图2所示,无界脉冲长度不定,因此总线仲裁器不能可靠预计何时将发生DMA控制器释放总线控制。
图3以时序图形式示出使用信息脉冲传输以及具有不同脉冲类型的不同类型存储设备的特性。示出一个具有初始脉冲或脉动、持续时间长于随后立即跟随的脉动的脉冲模式设备。例如,初始脉动可以是3个时钟脉冲长而随后脉动可能每个持续时间是1个时钟脉冲。脉冲模式设备可以支持如图所示的无界脉冲,或有界脉冲。普通脉冲模式设备的例子包括DRAM以及闪存。示出一个低速脉冲设备,具有相同时钟持续时间的长(即低速)连续脉动。作为一个例子,显示每个脉动持续时间为4个时钟周期。低速脉冲设备的脉冲存取可以是无界或有界的。一个普通低速脉冲设备的例子是ROM。相反的,一个快速脉冲设备显示一个信息短脉动的连续流。在图3的例子中,每个脉动持续时间都显示仅有一个时钟周期。正如脉冲模式设备以及低速脉冲设备一样,快速脉冲设备的脉冲存取可以是如图所示的无界的,或是有界的。
图4示出根据本发明的图1的总线仲裁器34的一个详细实施例。为便于理解,图1和图4相同的组件标记相同。逻辑电路50有一个连接至共用总线12用于接收当前传输类型信号的第一输入。当前传输类型信号53可以包括多种与经共用总线12正在传送的存在的或当前的传输有关的信息。信息类型的例子包括(但不限于)标识当前经共用总线12传输的是指令(即程序)信息还是数据信息的信息。其它当前传输类型信息可以包括当前传输是一个读传输还是一个写传输,当前传输是单个传输还是一个多路脉冲,当前传输是有界脉冲还是无界脉冲,哪一个选定的存储设备与当前传输有关,以及哪一种类型的存储设备与当前传输有关。逻辑电路50还有多个总线请求输入,用于分别接收来自CPU 14和备用总线主控器36、38和40中每个的总线请求信号。总线请求信号可以直接从各个请求设备传送(即点对点),也可以经共用总线12传送。逻辑电路50还有多个总线授权输出,分别连接至CPU 14和备用总线主控器36、38和40中的每个。策略选择逻辑电路54产生一个连接至逻辑电路50的第二输入的仲裁策略信号。策略选择逻辑电路54有一个具有多个预定位宽度字段的控制寄存器56。在图示中,控制寄存器56具有与第一备用总线主控器36,第二备用总线主控器38,第三备用总线主控器40以及CPU 14相关的字段。控制寄存器56的每个字段连接到一个多路复用器(Mux)58的一个输入上。多路复用器58的输出连接到逻辑电路50的第二输入上以提供仲裁策略信号。逻辑电路50的输出连接至多路复用器58的控制输入用于选择使用控制寄存器56的哪一个字段。如果需要,可以提供额外的控制寄存器。从下面的操作描述中将显而易见,控制寄存器62-65以及多路复用器68是可选电路,为建立脉冲仲裁协议提供额外的用户选择。示出了控制寄存器62-65,其基于备用总线主控器的数目,具有预定数目的字段。在图示中,对于CPU 14和备用总线主控器36,38,40中的每个,各有一个附加的控制寄存器。此外,各控制寄存器62-65都有一个对应于CPU和备用总线主控器36、38和40的字段。每个控制寄存器62-65连接至多路复用器(Mux)68的一个预定输入。多路复用器68的输出连接至策略选择逻辑电路54的控制寄存器56。
在操作时,总线仲裁器34起到控制数据处理系统10中的哪个设备是共用总线12的主控器的作用。虽然总线仲裁器34在数据处理系统10中单独、清楚地显示,应当认识到总线仲裁功能可以合并到CPU14或数据处理系统10的其它部分中,无需一个执行总线仲裁的单独模块。当接收到一个或多个使用共用总线12的总线请求时,总线仲裁器34使用关于当前传输的信息进行共用总线12的控制决定。当逻辑电路50从CPU 14和备用总线主控器36,38和40中的任一个接收到一个或多个总线请求时,在逻辑电路50内部基于某些关于将首先服务哪个总线请求的预定标准来做出决定。在一种形式中,基于优先权做出决定,但应该理解,也可以使用不包括优先权在内的其它标准,例如循环选择。逻辑电路50给多路复用器58提供一个指明最高优先权竞争主控器(即对应于被选定对其服务的总线请求)的信号,多路复用器58使用该信号以选择控制寄存器56与该最高优先权主控器相关的控制字段。通过用户编程或用户控制编码(即一个控制值)对控制寄存器56的控制字段编码,该用户编程或用户控制编码确定总线仲裁器34使用用于该特定请求设备的仲裁策略。通过使用由总线仲裁器34控制或由用户提供的软件指令的数据处理系统10内的运行所控制的集成电路的集成电路引脚上的信号或电压,用户可以创建或引起控制值的创建。然后逻辑电路50解码选定的控制寄存器56的控制字段,并确定在一个未完成脉冲传输期间是否授权数据处理系统10内部最高优先权竞争总线主控器获得共用总线12的总线所有权,或是否该主控器必须等待正进行的脉冲传输的完成。逻辑电路50基于当前传输类型信号53以及寄存器56中包括的信息,有条件地维护请求备用总线主控器36,38和40之一的总线授权CPU信号或总线授权信号。如果总线所有权传送到一个非执行当前传输(即,来自存在或当前传送总线主控器的传输主控器状态)的主控器,当前传输被中断,先前维护的总线授权信息被否定,从而强制放弃共用总线12,由此在正进行脉冲传输期间允许较高优先权主控器获得总线所有权。应该理解,控制寄存器56可被用户编程以增加数据处理系统的适应性和定制中断总线等待时间的能力。特别地,控制寄存器56可通过特定总线仲裁策略编码来编程,从而通过使用去往体现数据处理系统10的IC的预定集成电路引脚的特定输入信号,或通过在数据处理系统10内部包括的其它信号,来被逻辑电路50中断。在另一可选方案中,控制寄存器56借助软件指令控制或由其它用户编程技术来进行用户编程。
图5显示用于控制寄存器56内各控制字段的示范性编码例子。可使用多个不同编码,并且应该理解,可以容易地修改或扩展在此提供的例子。为说明起见,仅选择一个3比特编码字段,从而提供总数为8的不同编码。图5的编码说明一个仲裁策略,其基于在脉冲周期期间来确定是否允许改变总线控制,基于传送的信息类型(例如与数据信息相对的指令或程序信息)来确定是否允许改变总线控制,基于系统存储器正进行一个读还是写操作来确定是否允许改变总线控制,基于正发生一个高速缓存脉冲(即有界脉冲)还是一个更普通的无界序列脉冲传输来确定是否允许改变总线控制。仲裁策略可以基于其它因素或在此描述的特征的组合。一旦确定共用总线12上存在的当前传输类型,就可以构造逻辑电路50以最优化响应一个恰当的总线授权信号。例如,在数据处理系统10的某些实施例中,如果确定共用总线12上当前存在一个高速缓存脉冲,应该允许该高速缓存脉冲的完成优先于将改变总线控制的总线授权信号的发布。然而,如果不存在高速缓存脉冲,由于与无界序列脉冲相关的不定长度,可能发布一个总线授权信号。高速缓存脉冲与无界序列脉冲传输相区别是因为它们具有有限的、已知的脉动长度,例如典型的四或八脉动。因此,与高速缓存脉冲相关的传输时间是有界的。通过允许优化脉冲存储操作以及通过最小化在CPU中伴随阻塞高速缓存的停止周期的数目,在高速缓存线路脉冲(cache line burst)的有限时间间隔内截留总线授权给一个备用主控器可以提高系统性能。
此外,在数据处理系统10的某些实施例中,如果正进行一个读操作,从而使得来自系统存储器之一的信息正被提供给CPU 14的话,该信息被认为足够重要从而可以避免CPU 14的潜在停止以在允许总线所有权改变之前完成脉冲处理。然而,如果正进行一个写操作的话,在特定系统应用中可以发生总线控制改变而不会显著恶化系统性能。本发明允许用户能为特殊应用定制与通信总线所有权改变的时间有关的规则。因此,此段中描述的规则可能并不总是对于所有系统都适用,可在控制寄存器56中编写适当的编码以优化特定系统应用。
在某些特定情况中,高速缓存线路占用的长度可能超过时间临界的备用主控器的最大所需等待时间。这些主控器需要立即访问总线,这类请求的频率通常较低。对于此类主控器,关键在于中断然后恢复任何脉冲序列而不管请求脉冲的CPU和正存取的存储系统的效率降低。期望最小化一个系统中的脉冲中断的发生,并且将脉冲中断限制在有限个数的主控器中。
在另一种形式中,编码000表示在任何高速缓存脉冲周期期间都不允许改变总线所有权。此特征便利了包括脉冲传输在内的系统设计。如果在总线主控器正突发信息时规定不允许总线主控器进行系统总线仲裁的话,则总线主控器无需额外的逻辑电路就能实现部分脉冲。另一种极端,编码111表示在任意脉冲周期都允许改变总线所有权。编码001表示仅当指令高速缓存(I cache)脉冲周期期间或无界脉冲传输期间允许改变总线所有权。即,仅当总线上的信息类型是程序信息以及脉冲不是无界的(例如它是高速缓存脉冲)或当任何类型的无界脉冲发生时,允许总线所有权。编码010表示如果正进行高速缓存脉冲,仅在数据高速缓存(D cache)脉冲读周期期间允许改变总线所有权。因此,用此编码表示3个条件:(1)信息是数据;(2)脉冲是高速缓存脉冲;(3)总线上的处理是读处理。编码011表示仅当高速缓存脉冲读周期期间或任何类型的无界脉冲发生时允许改变总线所有权。编码100表示仅当高速缓存脉冲写周期期间或发生任何类型的无界脉冲时,允许改变总线所有权。编码101表示仅当数据高速缓存脉冲写周期或指令高速缓存脉冲周期或发生任何类型的无界脉冲时,允许改变总线所有权。编码110表示仅当数据高速缓存脉冲写周期或发生任何类型的无界脉冲时,允许改变总线所有权。因此,当由策略选择逻辑54给出特定值时,将提供逻辑电路50的逻辑以辨别作为仲裁策略的所规定的限制。响应于编码控制信息,总线仲裁器34在共用总线12上对于信息脉冲传输至少可以实施两种不同的仲裁策略。该变化为用户提供了设置定制的仲裁策略的能力,上述定制的仲裁策略与期望总线控制并具有在某些预定选择方案下授权的总线控制的系统中各电路模块的脉冲传输有关。应该理解,在此教导的与共用数据总线上的脉冲信息有关的仲裁方法与用于选定几个请求主控器之一的算法是不同的。
图6示出使用2比特字段的控制寄存器56内的字段编码。编码00表示在脉冲周期时不允许改变总线所有权,而编码11表示在任意脉冲周期期间都允许改变总线所有权。编码01表示当访问一个脉冲模式设备时不允许改变总线所有权。编码10表示访问一个快速存储设备时不允许改变总线所有权。因此,通过这个例子可以清楚地看到,基于一个请求设备是否在总线控制驻留于包括DRAM或闪存的传输时或相对于当传输包括SRAM时做出请求,用户可以编写仲裁策略。
此外,控制寄存器62-65以及多路复用器68可与控制寄存器56组合,在每一总线主控器的基础上,以及在每种类型的脉冲的基础上提供选择控制。典型地,由于脉冲传输的类型导向不同设备,设备的特性也会影响协议选择。各控制寄存器62-65与特定总线主控器相关,系统中各主控器的控制字段(即,脉冲仲裁策略)基于哪个总线主控器具有当前总线控制以及哪个总线主控器正请求总线控制而变化。多路复用器68基于当前主控器信号55提供的信息选择控制寄存器62-65中的一个。对于每个潜在的总线主控器,基于当前活动的总线主控器,提供控制寄存器62-65中选定的一个到策略选择逻辑54。然后策略选择逻辑54可使用提供的控制寄存器62-65中的那一个内的控制字段来确定当前总线主控器总线占用期间的仲裁策略。控制寄存器62-65可用对于各当前总线主控器唯一的信息编程,从而使得特定总线主控器总线占用期间的总线仲裁策略可相对其它所有主控器总线占用独立编程。在每一主控器的基础上的选择控制允许脉冲仲裁策略在主控器到主控器占用的基础上改变,并可由用户优化从而进一步提高系统性能。
到此为止应该理解,本发明提供了一种当脉冲传输时,在寄存器或其它存储设备或信令机制中使用一组控制比特控制仲裁处理的方法和系统。对系统中每一个潜在的主控器,提供一个控制信息字段,当脉冲传输时控制总线仲裁。在此字段中,可为每个传输类型(例如指令高速缓存占用,数据高速缓存占用,数据高速缓存复录(写)等等)提供控制。在另一个可选实施例中,控制字段包括对应于选定设备的以及该设备支持的脉冲传输类型的控制信息。在脉冲传输时,如果一个备用主控器请求使用总线,通过正在处理的传输类型以及相应的有关控制字段设置对该请求进行限制。
因为实现本发明的设备(在很大程度上)是由本领域技术人员熟知的电子元件以及电路组成的,为理解和认识到本发明潜在概念以及不偏离本发明的教导或对其不感到困惑,不再对电路细节做出比上述被认为是必须的解释更详细的解释。
在前述说明中,参考特定实施例对本发明进行了说明。然而,本领域普通技术人员将理解,在不违反本发明所附权利要求阐述的范围的前提下可作出不同修改以及改变。例如,可以使用与本发明有关的任何类型的存储器以及任何类型的高速缓存。基于特定系统可以编码不同脉冲策略。可通过前述使用的控制寄存器之外的方法或结构提供控制策略信息。此外,即使系统中仅有一个总线主控器可以使用脉冲处理,也可以使用本发明。因此,本说明书以及附图应当被看作为说明而非限制,并且希望所有这些修改都包括在本发明的范围之内。
针对上述特定实施例描述了利益、其它优点以及问题解决方法。然而,利益,优点,问题解决方法以及任何可能引起任何利益、优点或解决方法出现或使其更加显著的因素都不构成任意或所有权利要求的重要的、所需的或必需的特征或因素。如在此使用的,术语“包含(comprises、comprising)”或其它任何变化意旨涵盖非排他性的包含,例如一个包括一系列组件的程序,方法,物品或装置不仅包括上述组件,还可能包括没有明示列出或上述程序,方法,物品或装置固有的其它组件。

Claims (8)

1.一种用于控制对通信总线的使用的系统,其包括:
耦合到通信总线的多个通信总线主控器,当所述多个通信总线主控器中的至少一个被给予通信总线所有权从而作为总线主控器时,所述多个通信总线主控器中的该至少一个通过所述通信总线在脉冲周期中传送信息;和
一个总线仲裁器,其连接至所述通信总线,且响应所述多个通信总线主控器中任意一个需要主控所述通信总线,所述总线仲裁器执行仲裁策略以有选择地允许所述多个通信总线主控器中的一个单独访问所述通信总线,所述总线仲裁器具有用户控制电路,用于接收控制信息,该控制信息在信息脉冲传输期间的任意时刻可再分配通信总线控制权给所述多个通信总线主控器中的任意之一而不必等到当前通信总线上的当前脉冲通信完成,所述控制信息基于当前在所述通信总线上的脉冲传输的类型是有界脉冲还是无界脉冲来确定所述仲裁策略。
2.如权利要求1所述的系统,其中,所述用户控制电路进一步包括:
一个或多个寄存器,用于存储由用户确定的至少一个预定的控制信号,所述预定控制信号规定了所述仲裁策略。
3.如权利要求2所述的系统,其中,所述总线仲裁器进一步包括:
连接至所述一个或多个寄存器的逻辑电路,所述逻辑电路实施所述仲裁策略,作为对所述至少一个预定控制信号和由所述通信总线正传送的当前脉冲传输的预定特征的响应。
4.一种用于控制系统中通信总线的使用的方法,该方法包括:
通过用户控制装置提供控制值给总线仲裁器,在信息脉冲传输期间,所述控制值选择预定的多个仲裁策略之一;和
根据由所述控制值确定的仲裁策略并且基于所述通信总线的当前总线主控器的特征在多个总线主控器中选择总线所有权。
5.如权利要求4所述的方法,进一步包括:
将当前的传输类型信号从所述通信总线提供给所述总线仲裁器的逻辑电路,所述状态信号包括当前脉冲传输类型信息,所述当前脉冲传输类型信息提供与通过所述通信总线传送的当前脉冲传输有关的类型信息;以及
在当前的总线主控器的信息脉冲传输期间的任意时刻,有选择地将通信总线控制权进行再分配而不必等到所述当前脉冲通信完成。
6.如权利要求4所述的方法,进一步包括:
根据在所述通信总线上的当前传送的脉冲传输的时序特征,使用所述控制值来选择多个总线主控器中的一个。
7.如权利要求4所述的方法,进一步包括:
将所述控制值存储在作为用户控制装置的控制寄存器中,所述控制寄存器通过使用集成电路引脚或者执行用户提供的软件指令来由用户进行控制。
8.如权利要求4所述的方法,进一步包括:
提供多个用户确定的控制信号,所述多个用户确定的控制信号中的每一个单独地确定用于所述多个总线主控器中的预定一个的总裁策略。
CNB028094654A 2001-06-23 2002-05-15 在高速缓存脉冲周期期间控制总线仲裁的系统和方法 Expired - Lifetime CN1230758C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/888,278 US6775727B2 (en) 2001-06-23 2001-06-23 System and method for controlling bus arbitration during cache memory burst cycles
US09/888,278 2001-06-23

Publications (2)

Publication Number Publication Date
CN1507592A CN1507592A (zh) 2004-06-23
CN1230758C true CN1230758C (zh) 2005-12-07

Family

ID=25392904

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028094654A Expired - Lifetime CN1230758C (zh) 2001-06-23 2002-05-15 在高速缓存脉冲周期期间控制总线仲裁的系统和方法

Country Status (8)

Country Link
US (1) US6775727B2 (zh)
JP (1) JP4139771B2 (zh)
KR (1) KR100899951B1 (zh)
CN (1) CN1230758C (zh)
DE (1) DE10296959T5 (zh)
GB (1) GB2390200B (zh)
TW (1) TWI221968B (zh)
WO (1) WO2003001388A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2004062319A (ja) * 2002-07-25 2004-02-26 Renesas Technology Corp データ処理装置
DE10300342A1 (de) 2003-01-09 2004-07-22 Wilhelm Karmann Gmbh Cabriolet-Fahrzeug
US6971033B2 (en) * 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
CN1296844C (zh) * 2003-06-20 2007-01-24 上海奇码数字信息有限公司 数据传送方法和数据传送系统
GB0317699D0 (en) * 2003-07-29 2003-09-03 Ibm A copy engine and a method for data movement
US7013357B2 (en) * 2003-09-12 2006-03-14 Freescale Semiconductor, Inc. Arbiter having programmable arbitration points for undefined length burst accesses and method
US7334059B2 (en) * 2004-03-03 2008-02-19 Freescale Semiconductor, Inc. Multiple burst protocol device controller
ATE425495T1 (de) * 2004-08-30 2009-03-15 Magima Digital Information Co Verfahren und system zum datentransfer
CN1307571C (zh) * 2004-11-26 2007-03-28 上海广电(集团)有限公司中央研究院 一种低速总线结构及其数据传输方法
US7617338B2 (en) * 2005-02-03 2009-11-10 International Business Machines Corporation Memory with combined line and word access
KR100633773B1 (ko) * 2005-07-01 2006-10-13 삼성전자주식회사 버스 시스템 및 버스 중재 방법
US8225297B2 (en) 2005-12-07 2012-07-17 Microsoft Corporation Cache metadata identifiers for isolation and sharing
US8001538B2 (en) 2005-12-07 2011-08-16 Microsoft Corporation Software accessible cache metadata
US8813052B2 (en) * 2005-12-07 2014-08-19 Microsoft Corporation Cache metadata for implementing bounded transactional memory
US7865897B2 (en) 2006-02-03 2011-01-04 Freescale Semiconductor, Inc. Selective transaction request processing at an interconnect during a lockout
US8898652B2 (en) * 2006-03-23 2014-11-25 Microsoft Corporation Cache metadata for accelerating software transactional memory
US9043553B2 (en) * 2007-06-27 2015-05-26 Microsoft Technology Licensing, Llc Leveraging transactional memory hardware to accelerate virtualization and emulation
US8176253B2 (en) * 2007-06-27 2012-05-08 Microsoft Corporation Leveraging transactional memory hardware to accelerate virtualization and emulation
US8266387B2 (en) * 2007-06-27 2012-09-11 Microsoft Corporation Leveraging transactional memory hardware to accelerate virtualization emulation
JP2009116702A (ja) * 2007-11-07 2009-05-28 Toshiba Corp 半導体集積回路
US8478920B2 (en) * 2010-06-24 2013-07-02 International Business Machines Corporation Controlling data stream interruptions on a shared interface
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
CN102724389B (zh) * 2011-11-15 2017-06-13 新奥特(北京)视频技术有限公司 一种同平台非编系统间的监视器输出方法
FR2982961B1 (fr) * 2011-11-22 2014-09-05 Schneider Electric Usa Inc Arbitrage de dispositif de commande prioritaire
TWI506536B (zh) 2013-01-10 2015-11-01 Accton Technology Corp 執行裝置及其堆疊方法與堆疊系統
CN103257942B (zh) * 2013-03-27 2015-12-02 青岛中星微电子有限公司 一种片上系统共享总线请求处理的方法及装置
US9606853B2 (en) * 2014-03-28 2017-03-28 Intel Corporation Protecting a memory device from becoming unusable
US10289596B2 (en) 2016-06-07 2019-05-14 Macronix International Co., Ltd. Memory and method for operating a memory with interruptible command sequence
US10475492B1 (en) 2018-07-27 2019-11-12 Macronix International Co., Ltd. Circuit and method for read latency control

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710916A (en) * 1985-08-02 1987-12-01 Gte Laboratories Incorporated Switching apparatus for burst-switching communications system
EP0288649B1 (en) * 1987-04-22 1992-10-21 International Business Machines Corporation Memory control subsystem
US5388228A (en) 1987-09-30 1995-02-07 International Business Machines Corp. Computer system having dynamically programmable linear/fairness priority arbitration scheme
US4987529A (en) 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5072365A (en) 1989-12-27 1991-12-10 Motorola, Inc. Direct memory access controller using prioritized interrupts for varying bus mastership
KR920004993A (ko) * 1990-08-28 1992-03-28 한태희 버스 중재 로직을 가진 컴퓨터 시스템
DE69320508T2 (de) 1992-03-04 1999-03-04 Motorola, Inc., Schaumburg, Ill. Verfahren und Gerät zur Busarbitrierungsdurchführung mit einem Arbiter in einem Datenverarbeitungssystem
US5467295A (en) 1992-04-30 1995-11-14 Intel Corporation Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
US5535333A (en) * 1993-03-30 1996-07-09 International Business Machines Corporation Adapter for interleaving second data with first data already transferred between first device and second device without having to arbitrate for ownership of communications channel
JPH0830549A (ja) * 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置
US5889973A (en) 1995-03-31 1999-03-30 Motorola, Inc. Method and apparatus for selectively controlling interrupt latency in a data processing system
US5758105A (en) * 1995-12-04 1998-05-26 International Business Machines Corporation Method and apparatus for bus arbitration between isochronous and non-isochronous devices
US5822758A (en) * 1996-09-09 1998-10-13 International Business Machines Corporation Method and system for high performance dynamic and user programmable cache arbitration
US5894562A (en) 1996-10-28 1999-04-13 Motorola, Inc. Method and apparatus for controlling bus arbitration in a data processing system
US5944800A (en) * 1997-09-12 1999-08-31 Infineon Technologies Corporation Direct memory access unit having a definable plurality of transfer channels
US6088751A (en) * 1998-02-12 2000-07-11 Vlsi Technology, Inc. Highly configurable bus priority arbitration system
US6330646B1 (en) * 1999-01-08 2001-12-11 Intel Corporation Arbitration mechanism for a computer system having a unified memory architecture
US6687821B1 (en) * 2000-03-31 2004-02-03 Intel Corporation System for dynamically configuring system logic device coupled to the microprocessor to optimize application performance by reading from selection table located in non-volatile memory
US6513089B1 (en) * 2000-05-18 2003-01-28 International Business Machines Corporation Dual burst latency timers for overlapped read and write data transfers
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
US6671284B1 (en) * 2000-08-04 2003-12-30 Intellon Corporation Frame control for efficient media access
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching

Also Published As

Publication number Publication date
JP2004531830A (ja) 2004-10-14
US6775727B2 (en) 2004-08-10
US20020199052A1 (en) 2002-12-26
WO2003001388A1 (en) 2003-01-03
KR100899951B1 (ko) 2009-05-28
GB2390200A (en) 2003-12-31
GB2390200B (en) 2005-05-18
CN1507592A (zh) 2004-06-23
DE10296959T5 (de) 2004-08-05
GB0324805D0 (en) 2003-11-26
TWI221968B (en) 2004-10-11
KR20040012964A (ko) 2004-02-11
JP4139771B2 (ja) 2008-08-27

Similar Documents

Publication Publication Date Title
CN1230758C (zh) 在高速缓存脉冲周期期间控制总线仲裁的系统和方法
US7305510B2 (en) Multiple master buses and slave buses transmitting simultaneously
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
JP4222251B2 (ja) バス調停装置およびバス調停方法
EP0993680B1 (en) Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
KR960012357B1 (ko) 자원의 이용가능도에 의거한 아비트레이션 방법 및 장치
US5265223A (en) Preservation of priority in computer bus arbitration
CN102291423B (zh) 控制物理层芯片的方法及控制电路
JP2559906B2 (ja) アービトレーション・システム及び方法
KR100280563B1 (ko) 데이터 프로세싱 시스템에 있어서 공유 자원에 대한 액세스를제어하기 위한 방법 및 시스템
US5729702A (en) Multi-level round robin arbitration system
JPH08123765A (ja) データ処理システムの待機調停のコンピュータ装置及び方法
JPH11191075A (ja) メモリアーキテクチャーのための優先符号化及び復号化
US7058740B2 (en) Effective bus utilization using multiple buses and multiple bus controllers
KR100803114B1 (ko) 메모리 중재 방법 및 시스템
KR100657256B1 (ko) 중재기 및 그 중재기를 채용한 버스 시스템
JP2004246862A (ja) リソース管理装置
JP2005316609A (ja) バス調停装置およびバス調停方法
US6701397B1 (en) Pre-arbitration request limiter for an integrated multi-master bus system
WO1999059048A2 (en) Transpose table biased arbitration scheme
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
JP2000250853A (ja) バス調整制御装置
US6631131B1 (en) Transpose table biased arbitration scheme
US7200732B2 (en) Method and apparatus of adding grant information to a memory
JPS59208623A (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
ASS Succession or assignment of patent right

Owner name: FREESCALE SEMICONDUCTOR INC.

Free format text: FORMER OWNER: MOTOROLA, INC.

Effective date: 20041217

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

Effective date of registration: 20041217

Address after: Texas, USA

Applicant after: FREESCALE SEMICONDUCTOR, Inc.

Address before: Illinois, USA

Applicant before: Motorola, Inc.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TIANDING INVESTMENT CO., LTD.

Free format text: FORMER OWNER: FISICAL SEMICONDUCTOR INC.

Effective date: 20150709

Owner name: APPLE COMPUTER, INC.

Free format text: FORMER OWNER: TIANDING INVESTMENT CO., LTD.

Effective date: 20150709

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

Effective date of registration: 20150709

Address after: American California

Patentee after: APPLE Inc.

Address before: American California

Patentee before: Zenith investment LLC

Effective date of registration: 20150709

Address after: American California

Patentee after: Zenith investment LLC

Address before: Texas, USA

Patentee before: FREESCALE SEMICONDUCTOR, Inc.

CX01 Expiry of patent term

Granted publication date: 20051207

CX01 Expiry of patent term