CN1337628A - 总线系统 - Google Patents
总线系统 Download PDFInfo
- Publication number
- CN1337628A CN1337628A CN01108302A CN01108302A CN1337628A CN 1337628 A CN1337628 A CN 1337628A CN 01108302 A CN01108302 A CN 01108302A CN 01108302 A CN01108302 A CN 01108302A CN 1337628 A CN1337628 A CN 1337628A
- Authority
- CN
- China
- Prior art keywords
- priority
- instruction
- identifier
- access
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000002360 preparation method Methods 0.000 claims abstract 3
- 238000003860 storage Methods 0.000 claims description 107
- 238000000605 extraction Methods 0.000 claims description 55
- 230000005540 biological transmission Effects 0.000 claims description 43
- 239000000284 extract Substances 0.000 claims description 23
- 230000003111 delayed effect Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 13
- 230000000052 comparative effect Effects 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
Abstract
一种总线系统,包括:判优器,接收从多个主器件输出的存取指令,并输出判优的存取指令;执行调度器,接收从判优器输出的存取指令,并以相应从器件执行准备完成的次序来输出存取指令;与至少一从器件相对应提供的多个指令执行控制器,控制存取指令的输出次序,以便存储指令的总执行时间短于按照输入指令的次序的总执行时间;和多个伪延迟器,延迟从指令执行控制器接收的存取指令并输出到相应的从器件,使相应从器件的等待时间可等于多个从器件中最长的等待时间。提高整个系统效率。
Description
本发明涉及总线系统,尤其涉及通过调整存取指令的执行和时间点的次序以及传送到每个从器件的存取指令的执行次序来提高数据总线的效率的总线系统。
判优器(arbiter)用于判优对总线的存取。在传统总线系统中,判优器从多个主器件接收对总线存取的请求,根据特定判优算法对总线访问请求进行判优,并根据判优结果来赋予主器件对总线的控制。一旦已经许可主器件的请求,主器件便可以接管总线的控制,直到主器件已经完成它与相应从器件的数据传输。这里,总线可以包括地址/控制总线和数据总线。
当前使用的总线系统采用诸如同步DRAM(SDRAM,同步动态随机存取存储器)的高速存储器作为从器件。在诸如SDRAM之类的高速存储器的情况下,它不能与数据总线同时对存取/控制总线进行存取。也就是说,如果诸如地址或读/写标志之类的地址/控制信号输入到SDRAM,则在经过了预定等待时间之后才输出或输入数据。因此,主器件实际上在比预期时间短的时段内接管了对地址/控制总线或数据总线的控制。根据传统判优系统,其中在预定时间内同时地赋予对地址/控制总线或数据总线的存取或控制,存在着大量地址/控制总线和数据总线的空闲时钟周期(cycle),这降低了总线存取的效率。
采用固定优先级方案的判优器易于设计,但如果在总线系统操作期间所指定的优先级需要修改,则不能应用这种判优器。必要时,根据优先级指定方案的判优在支持经常通过总线发送和接收数据的主器件方面是有利的。
然而,优先级指定方案的问题在于,与固定优先级方案或赋予每个主器件相等的存取或控制总线的机会的周期算法(round robin algorithm)相比,硬件又大又复杂。更具体地说,将总线请求从每个主器件输入到每个输入端口,通过比较每个输入端口进行优先级指定,以查找优先级最高的输入端口。因此,例如,如果输入端口数是3或4,则需要3至6个比较器。也就是说,对于N个输入端口,需要nC2个比较器。随着主器件数的增加,比较器数显著增加,这将导致极大的判优器电路和缓慢的判优速度。因此,为了获得适当尺寸的判优器电路和高的判优速度,必须限制主器件的数量。
为了解决上面问题,本发明的目的是提供一种通过减少数据总线的空闲时钟周期数提高了数据传输效率的总线系统。
本发明的另一个目的是提供一种无需限制主器件数就能提供优先级指定方案的判优器和利用这种判优器的总线系统。
因此,为了达到上述目的,本发明提供了包括多个主器件和多个从器件的总线系统,其中至少一个从器件存在等待时间。该总线系统包括:判优器,用于接收从多个主器件输出的存取指令,并以根据预定判优算法的次序输出存取指令;执行调度器,用于接收从判优器输出的存取指令,并以相应的从器件的执行准备完成的次序来输出存取指令;分别与至少一个从器件相对应提供的多个指令执行控制器,每个指令执行控制器存储两个或更多个从执行调度器输入的存取指令,从存储的存取指令中提取执行所需的存取信息,根据提取的存取信息与有关当前正被执行的指令的存取信息的比较结果来控制存取指令的输出次序,以使所存储指令的总执行时间短于根据输入指令的次序的总执行时间;和分别与至少一个从器件相对应提供的多个伪延迟器,每个伪延迟器延迟从指令执行控制器接收的存取指令并将其输出到相应的从器件,以便使相应的从器件的等待时间可以等于多个从器件中最长的等待时间。
判优器包括总线请求接收器,与多个主器件相连接,用于从主器件接收总线请求输入;优先级提取器,用于如果通过总线请求接收器输入总线请求则输出表示与主器件相对应的预定优先级的优先级信号,并根据输出的优先级信号产生表示各总线请求的所有优先级的优先级和信号;优先级输出单元,用于根据优先级提取器产生的优先级和信号以优先级递降的次序输出优先级;包括标识符输出单元的优先级映射器,该标识符输出单元根据优先级信号输出提出总线请求的主器件的标识符;和判优电路,用于将总线存取赋予(grant)具有从优先级映射器输出的标识符的主器件,以便使赋予总线存取的主器件总线输出存取指令。
最好,总线请求接收器包括多个与该多个主器件相连接的输入端口,用于从主器件接收总线请求输入;和多个配置在输入端口中的寄存器,用于存储在输入端口上指定的优先级。
最好,利用与优先级相同的位数来表示优先级信号。优先级输出单元对一个或多个优先级信号逐位进行OR(或)运算,并产生以与优先级信号相同位数表示的优先级和信号。
最好,主器件标识符输出单元包括标识符提取器,用于通过提取包括位的位列来产生标识符信号,所述位表示向由优先级信号构成的矩阵所请求的优先级,并根据产生的标识符信号提取相应的主器件标识符;和标识符输出单元,用于输出在由标识符提取器的所提取的标识符中具有从优先级输出单元输出的优先级的主器件的标识符。标识符提取器包括解码器,用于接收输入标识符信号,并提取相应的主器件标识符。
最好,执行调度器包括存取指令分配器,用于接收从判优器输出的存取指令,并向相应的指令执行控制器发送存取指令;和执行调度单元,用于向指令执行控制器发出发送的存取指令的执行开始信号,所述指令执行控制器与已经从存取指令分配器接收了存取指令的伪延迟器中已经接收了执行准备完成信号的一个伪延迟器相对应。
最好,执行调度单元包括标识符存储队列,含有一个或多个存储元件作为标识符存储单元,用于存储通过存取指令分配器接收存取指令的相应从器件的标识符,和标识符存储队列控制器,用于控制标识符存储队列;比较器,所述比较器的每一个是与每个存储元件相对应地配置的,用于确定存储在存储元件中的标识符是否与发送执行准备完成信号的从器件的标识符相同;和解码器,用于如果由比较器确定两个标识符是相同的,向已经接收了执行准备完成信号的伪延迟器发送执行开始信号。
最好,存取指令分配器包括指令存储队列,用于存储从判优器接收的存取指令;和指令存储队列控制器,用于控制指令存储队列。
每个指令执行控制器包括指令保持器,用于存储两个或多个从存取指令分配器接收的存取指令;存取信息提取器,用于从存储在指令存储单元中的存取指令提取用于执行的存取指令;执行存取信息存储单元,用于存储有关当前正由从器件执行的存取指令的存取信息;比较单元,用于将由存取信息提取器提取的存取信息与存储在执行存取信息存储单元中的存取信息相比较;和输出次序控制器,用于根据来自比较单元的比较结果控制存储在指令保持器中的存取指令的输出次序,以便所存储指令的总执行时间短于按照存储指令的次序的总执行时间,并按照被控制的输出次序将存取指令输出到伪延迟器。
最好,指令保持器包括指令存储队列,含有多个存储元件,用于存储存取指令;并且存取信息提取器包括多个信息提取器,用于提取存取信息,所述信息提取器的每一个是与每个存储元件相对应地配置的。执行存取信息存储单元包括寄存器,用于存储有关当前正被执行的存取指令的存取信息;和比较单元包括多个比较器,用于将存取信息提取器提取的存取信息与存储在寄存器中的存取信息相比较,所述比较器的每一个是与每个存取信息提取器相对应地配置的。输出次序控制器包括输出次序控制电路,用于根据由来自比较器的比较结果赋予的优先级来控制输出次序;和多路复用器,用于按照来自输出次序控制电路的输出次序来输出存储在指令存储单元中的存取指令。
最好,存取信息包括组地址和行地址,和比较单元将每个信息提取器提取的组地址和行地址与存储在寄存器中的组地址和行地址相比较。输出次序控制电路向作为比较结果其组地址和行地址与存储在寄存器中的组地址和行地址相同的存取指令赋予第一优先级,而向作为比较结果其组地址与存储在寄存器中的组地址不同的存取指令赋予第二优先级。存取信息还包括突发(burst)长度,突发长度的含义是突发发送数据的位长度。
最好,每个伪延迟器包括存储单元,用于存储与最长等待时间与每个从器件的等待时间之间的差值相对应的延迟时钟周期数,从相应指令执行控制器接收存取指令,并在经过了与存储在存储单元中的数目相对应的延迟时钟周期数之后将存取指令发送到相应的从器件。
本发明还提供了包括多个主器件和多个从器件的总线系统,其中至少一个从器件存在等待时间。该总线系统包括:判优器,用于接收从多个主器件输出的存取指令,并以根据预定判优算法的次序输出存取指令;执行调度器,用于从判优器接收存取指令,并以相应的从器件的执行准备完成的次序来输出存取指令;多个与该多个从器件相对应地提供的指令存储单元,每个指令存储单元存储一个或多个从执行调度器接收的存取指令,并以输入指令的次序输出存取指令;和多个分别与至少一个从器件相对应提供的伪延迟器,每个伪延迟器延迟从指令存储单元接收的存取指令并将其输出到相应的从器件,以便使相应的从器件的等待时间可以等于该多个从器件中最长的等待时间。
判优器包括:总线请求接收器,与多个主器件相连接,用于从主器件接收总线请求输入;优先级提取器,用于如果通过总线请求接收器输入总线请求则输出表示与主器件相对应的预定优先级的优先级信号,并根据输出的优先级信号产生表示各总线请求的所有优先级的优先级和信号;优先级输出单元,用于根据优先级提取器产生的优先级和信号以优先级递降的次序输出优先级;包括标识符输出单元的优先级映射器,该标识符输出单元根据优先级信号来输出提出总线请求的主器件的标识符;和判优电路,用于将总线存取赋予具有从优先级映射器输出的标识符的主器件,以便使赋予总线存取的主器件输出存取命令。
最好,总线请求接收器包括多个与该多个主器件相连接的输入端口,用于从主器件接收总线请求输入;和多个配置在输入端口中的寄存器,用于存储在输入端口指定的优先级。优先级信号用与优先级相同的位数表示。
最好,优先级输出单元对一个或多个优先级信号逐位进行OR(或)运算,并产生以与优先级信号相同位数表示的优先级和信号。主器件标识符输出单元包括标识符提取器,用于通过提取包括位的位列来产生标识符信号,所述位表示由优先级信号构成的矩阵所请求的优先级,并根据产生的标识符信号提取相应的主器件标识符;和标识符输出单元,用于输出在由标识符提取器的所提取的标识符中具有从优先级输出单元输出的优先级的主器件的标识符。标识符提取器包括解码器,用于接收输入标识符信号,并提取相应的主器件标识符。
最好,执行调度器包括存取指令分配器,用于接收从判优器输出的存取指令,并向相应的指令存储单元发送存取指令;和执行调度单元,用于向指令存储单元发出发送的存取指令的执行开始信号,所述指令存储单元与已经从存取指令分配器接收了存取指令的伪延迟器中已经接收了执行准备完成信号的一个伪延迟器相对应。
最好,执行调度单元包括标识符存储队列,含有一个或多个存储元件作为标识符存储单元,用于存储通过存取指令分配器接收存取指令的相应从器件的标识符;和标识符存储队列控制器,用于控制标识符存储队列;比较器,所述比较器的每一个是与每个存储元件相对应地配置的,用于确定存储在存储元件中的标识符是否与发送执行准备完成信号的从器件的标识符相同;和解码器,用于如果由比较器确定两个标识符是相同的,向已经接收了执行准备完成信号的伪延迟器发送执行开始信号。
最好,存取指令分配器包括指令存储队列,用于存储从判优器接收的存取指令;和指令存储队列控制器,用于控制指令存储队列。每个指令存储单元包括执行指令存储队列,用于存储存取指令;和执行指令存储队列控制器,用于控制执行指令存储队列。
最好,每个伪延迟器包括存储单元,用于存储与最长等待时间与每个从器件的等待时间之间的差值相对应的延迟时钟周期数;从相应指令存储单元接收存取指令;并在经过了与存储在存储单元中的数目相对应的延迟时钟周期数之后将存取指令发送到相应的从器件。
通过结合附图对本发明的优选实施例进行如下详细描述,本发明的上述目的和优点将更加清楚,在附图中,
图1是显示根据本发明优选实施例的总线系统的示意图;
图2是图1的从器件的详细方块图;
图3是图1的判优器的方块图;
图4是图3的优先级映射器的方块图;
图5是用于说明执行调度器4、指令执行控制器和伪延迟器60之间的相互关系的方块图;
图6是图5的执行调度器的详细方块图;
图7是图5的指令执行控制器的详细方块图;
图8是图1的指令存储单元的详细方块图;和
图9是用于说明根据本发明的数据传输的时序图。
参照图1,根据本发明优选实施例的总线系统包括多个主器件10-17、多个从器件20-24、判优器3、执行调度器4、多个指令执行控制器50、51和52、指令存储单元53和54、和多个伪延迟器60-64。多个主器件10-17和多个从器件20-24通过图中未示出的公用数据总线相互连接。数据总线包括主数据总线和本地数据总线,它们以不同的传输速度工作。
主器件10-17通常指处理器或直接存储器存取(DMA)器件,从器件20-24指诸如RAM(随机存取存储器)、ROM(只读存储器)、SDRAM(同步动态随机存取存储器)和RDRAM(R动态随机存取存储器)之类的存储器、I/O(输入/输出)器件、或其它外围器件。在本实施例中,从器件20、21、和22是允许高速数据传输的SDRM(同步动态随机存储器),其余的从器件23和24没有用于数据传输的等待时间。没有等待时间的器件的代表性例子是ROM。
判优器3根据优先级指定方案提出总线请求的主设备10-17中优先级最高的主设备10、11、…、或17被赋予对地址/控制总线50和数据总线51的存取,这能够改变主设备10、11、…、或17每一个的优先级。执行调度器4将从判优器3发送的存取指令发给相应的指令执行控制器50、51、或52或指令存储单元53或54,然后使从设备21、22、23、24、或25以完成执行准备的次序执行存取指令。在这种情况下,存取指令包括诸如地址之类数据传输所需要的存取信息、相应主设备的标识符和表示突发发送数据的位长度的突发长度。存取指令的执行意味着已经完成了要由存取指令执行的数据传输。
指令执行控制器50、51和52分别与从器件20、21和228相对应地设置。指令执行控制器50、51和52分别从执行调度器4接收存取指令,控制接收的存取指令的执行次序,并将存取指令输出到伪延迟器60、61和62。与从器件23和24相对应设置的指令存储单元53和54以从执行调度器4接收各存取指令的次序,分别将各存取指令输出到伪延迟器63和64。
伪延迟器60-64与从器件20-24相对应,在已经经过预定时钟周期数之后,伪延迟器60-64的每一个将从指令执行控制器50、51和52或指令存储单元53和54接收的存取指令发送到相应的从器件20、21、22、23或24。
同时,伪延迟器60-64的每一个根据存取指令,在作为真正完成数据传输之前与预定等待时间相对应的时钟周期数的时间点上,将通知存取指令的执行已经完成、即数据传输已经完成的伪执行完成信号发送到执行调度器。数据传输的真正完成可以由包含在指令中的突发长度确定。
图2是图1的从器件20的详细方块图。从器件21和22具有与从器件20相同的结构。参照图2,从器件20包括SDRAM控制器20a和SDRAM 20b。SDRAM 20b包括,其中的每一个包括多个存储元件的存储器组A201和存储器组B202;和用于控制存储器组A201和存储器组B202的外围电路200。存储器组A201和存储器组B202利用未示出的公用端口向外界发送数据和从外界接收数据。
与SDRAM 20b耦合的SDRAM控制器20a从SDRAM 20a接收各种控制信号。SDRAM控制器20a从相应的伪延迟器60接收存取指令,并根据接收的存取指令发送存取存储器组A201或存储器组B202所需要的SDRAM 20b信号,以执行该存取指令。发送的信号包括片选信号CS#、行地址选通RAS#、列地址选通CAS#、数据地址AD(行地址和列地址)、存储器组地址BA、读/写选择信号W#和数据输出/输入使能信号。为了简便起见,只表示了关于RAS、CAST和数据地址ADR和线。
根据本发明的优选实施例,SDRAM控制器20a与相应的伪延迟器60耦合。伪延迟器60从指令执行控制器50接收存取指令,控制接收的存取指令的执行次序,并根据受控制的存取指令的执行次序,向SDRAM控制器20a输出存取指令。
图3是图1的判优器3的方决图。参照图3,判优器3包括优先级映射器31和判优电路32。如果从一个或多个主器件10-17输入总线请求,则优先级映射器31根据预定优先级输出标识输入总线请求中具有最高优先级的总线请求的主器件10、11、…、或17的标识符。判优电路32将总线赋予具有从优先级映射器31输出的标识符的主器件10、11、…、或17。
图4是图3的优先级映射器的方块图。参照图4,优先级映射器31包括总线请求接收器300、优先级提取器301、优先级输出单元302、标识符提取器303和标识符输出单元304。总线请求接收器300包括多个分别与主器件10-17相连接的输入端口,能够给它们指定优先级,它们从主器件10-17接收总线请求。此外,如果一个或多个总线请求通过这些输入端口输入,总线请求接收器300输出表示在输入总线请求的相应输入端口上指定的优先级的优先级信号。为相应输入端口指定的优先级存储在相应的寄存器中。优先级提取器301根据从总线请求接收器300输出的优先级信号,输出表示输入总线请求的各输入端口的所有优先级的优先级和信号。
由于根据本实施例的总线系统包括8个主器件10-17,因此在总线请求接收器300中配置8个输入端口和8个寄存器0-7。此外,根据本实施例的优先级分类成16个优先级,用16位表示一个优先级信号,并且,在优先级提取器301中配置16个OR运算器0-15,以便对优先级信号的每个位进行OR运算。
优先级输出单元302根据从优先级提取器301输出的优先级信号,以优先级递减的次序输出优先级。根据从总线请求接收器300输出的优先级信号,标识符提取器303产生表示主器件标识符的标识符信号,此主器件标识符与优先级信号中表示的优先级相对应,并解码产生的标识符信号,以提取相应的主器件标识符。每一个都与优先级相对应的16个解码器0-15配置在标识符提取器303中,以便解码标识符信号。标识符输出单元302输出在由标识符提取器303提取的主器件标识符中具有由优先级输出单元302输出的优先级的主器件标识符。
例如,如果主器件10的优先级是4,和主器件11的优先级是6,则从总线请求接收器300输出的优先级信号分别是1110111111111111和1111101111111111。因此,由优先级提取器301对两个优先级信号逐位进行OR运算,输出1110101111111111的优先级和信号F1ag0、…、Flag15。当从最高有效位(MSB)开始数时,第4和第6位是“0”,这意味着作出了优先级为4和6的总线请求。如果随着优先级降低这些总线请求有更高的优先级,则输入优先级和信号的优先级输出单元302先输出4,再输出6。8*16矩阵按照下列方式生成,作为优先级信号的行矢量1110111111111111与主器件10相对应,作为优先级信号的行矢量1111101111111111与主器件11相对应,和行矢量1111111111111111与未提出总线请求的其余主器件12-17相对应。该矩阵表示如下:
111
1111111111
在该矩阵中总线请求的优先级是4和6,因此,标识符提取器303产生标识符信号01111111和10111111,由处在与相应优先级相同的位置上的列位组成,分别由解码器4和解码器6解码产生的标识符信号,并提取相应的主器件标识符。标识符信号用8位表示,每一位以从MSB开始的次序对应于主器件10-17之一。因此,可以看出,具有优先级4和6的总线请求分别由主器件10和主器件11提出。然后,标识符提取器303提取主器件10和主器件11的标识符,并将提取的标识符输出到标识符输出单元304。在从标识符提取器303输入的主器件10和主器件11的两个标识符中,标识符输出单元304根据从优先级输出单元302输出的优先级的次序,先输出主器件11的标识符,再输出主器件11的标识符。
更一般地,以下用C-语言编写的表达式来描述。首先,主器件10可以具有其范围从0到15的、存储在寄存器中的优先级,因此,priority levelsignal0(优先级信号0)可以是下列16种情况中的一种。
Case(priority0)
0:priority level signal0=0b1111111111111110;
1:priority level signal0=0b1111111111111101;
2:priority level signal0=0b1111111111111011;
3:priority level signal0=0b1111111111110111;
4:priority level signal0=0b1111111111101111;
5:priority level signal0=0b1111111111011111;
6:priority level signal0=0b1111111110111111;
7:priority level signal0=0b1111111101111111;
8:priority level signal0=0b1111111011111111;
9:priority level signal0=0b1111110111111111;
10:priority level signal0=0b1111101111111111;
11:priority level signal0=0b1111011111111111;
12:priority level signal0=0b1110111111111111;
13:priority level signal0=0b1101111111111111;
14:priority level signal0=0b1011111111111111;
15:priority level signal0=0b0111111111111111;
endcase此处0b表示二进制位。
这也可以在主器件11-17中以相同方式表达。优先级和信号表示总线请求具有什么优先级,组成优先级和信号的Flag0、…、Flagl5按如下构成: Flag0=priority level signal0[0]or priority level signal1[0]
or priority level signal2[0]or priority level signal3[0]
or priority level signal4[0]or priority level signal5[0]
or priority level signal6[0]or priority level signal7[0]
or priority level signal8[0]or priority level signal9[0]
or priority level signal10[0]or priority level signal11[0]
or priority level signal12[0]or priority level signal13[0]
or priority level signal14[0]or priority level signal15[0]
Identifier signal 0-7(标识符信号0-7)通过提取优先级信号的每个位,并将提取的位重排成位串产生。
Case(identifier signal0)
0bddddddd0:ld0<=0;
0bdddddd01:ld0<=1;
0bddddd011:ld0<=2;
0bdddd0111:ld0<=3;
0bddd01111:ld0<=4;
0bdd011111:ld0<=5;
0bd0111111:ld0<=6;
0b01111111:ld0<=7;
endcase此处,d表示“don’t care(不管)”。其余的identifier signal1-7按相同的方式构成。
图5是用于说明执行调度器4、指令执行控制器50和伪延迟器60之间的相互关系的方块图。其余的指令执行控制器51和52、和伪延迟器61和62也分别具有与指令执行控制器50和伪延迟器60相同的结构。
参照图5,执行调度器4包括存取指令分配器41,用于将从判优器3输出的存取指令发送到相应的指令执行控制器50;和执行调度单元46,用于将存取指令的执行开始信号发送到在存取指令分配器41发送存取指令到其中的伪延迟器60-64中发出了执行准备完成信号的一个伪延迟器60。
指令执行控制器50包括指令保持器31、存取信息提取器32、比较单元34、执行存取信息存储单元33和输出次序控制电路35。指令保持器31存储两个或多个从存取指令分配器41发送的指令。存取信息提取器32从存储在指令保持器31中的指令中提取用于执行的存取信息。执行存取信息存储单元33存储有关当前正在相应的从器件20中执行的存取指令的存取信息。比较单元34将由存取信息提取器32提取的存取信息与存储在执行存取信息存储单元33中的存取信息相比较。输出次序控制电路35根据比较单元34的比较结果控制存储在指令保持器31中的指令的输出次序,以便所存储指令的总执行时间可以短于根据在指令保持器31中存储指令的次序的执行时间,并将指令输出到相应的伪延迟器60。
伪延迟器60包括存储单元611,其中存储着与从器件20相对应的延迟时钟周期数。伪延迟器60在经过了与存储在存储单元611中的延迟时钟周期数相对应的延迟时钟周期数之后,将从指令执行控制器50接收的存取指令传送到相应的从器件20。这里,存储单元611可以用寄存器来实现。伪延迟器60根据输出到相应从器件20的存取指令,在真正执行完成一数据传输的真正完成时间之前的作为预定时钟周期的时间点上,将伪执行完成信号通知给已经输出了发送到伪延迟器60的存取指令的主器件10、11、12、13、14、15、16或17。
图6是图5的执行调度器的详细方块图。执行调度器4的存取指令分配器41包括指令存储队列410和用于控制指令存储队列410的指令存储队列控制器411,指令存储队列410作为指令存储单元用于存储从判优器3接收的存取指令。执行调度器4的执行调度单元46包括标识符存储队列460、标识符存储队列控制器461、比较器462和解码器463,该标识符存储队列460作为标识符输出单元用于存储从器件20-24的标识符。
标识符存储队列460包括一个或多个存储元件,用于存储包含在通过存取指令分配器41发送的存取指令中的从器件标识符;标识符存储队列控制器461控制标识符存储队列460的输入和输出。为每个存储元件配置的每个比较器462确定存储在每个存储元件中的标识符是否与发送了执行准备完成信号的伪延迟器60的标识符相同。如果比较器462确定两个标识符相同,那么,解码器463向已经发送了执行准备完成信号的伪延迟器60发送执行开始信号。在这种情况下,比较器462和解码器463是逻辑意义上的名称,可以用各种各样的电路结构来实现它们。
图7是图5的指令执行控制器50的详细方块图。下面结合图2作为SDRAM的从器件20对指令执行控制器50加以描述。这是因为对含有等待时间的从器件的描述要借助于对指令执行控制器50的理解。参照图7,指令保持器31由指令存储队列31来实现,指令存储队列31包括5个用于存储指令的存储元件。这里,存储指令的存储元件的数目取决于特定应用的类型。存取信息存储提取器32由与各存储元件相对应地配置的多个信息提取器320实现。存取信息指当存储在相应存储元件中的指令存取存储器组A201或存储器组B202时所需要的信息。要根据本发明优选实施例提取的详细存取信息包括存储器组地址和要发送用于读/写的数据的行地址。该指令由各种类型信息记录在上面的数据字段构成。通常,行地址、组地址和列地址以从高位到低位的次序分配在数据字段上。用于标识主器件10-17的标识符包含在指令中。这里,结构、排列和与数据字段相关地分配的位数可以依系统的特征或特定应用作适当调整。
执行存取信息存储单元33由寄存器33实现,用于存储从SDRAM控制器20a接收到的、存储器组地址和当前在存储器组A201或存储器组B202中执行的指令的行地址。比较单元34包括多个比较器340,分别用于将由信息提取器320提取的存储器组地址和行地址与存储在寄存器33中的存储器组地址和行地址相比较。在这种情况下,比较器340是逻辑意义上的名称,并且可以用各种各样的电路结构实现它们。
输出次序控制电路35由输出次序控制电路351和多路复用器352和353实现,如下所述的输出次序控制电路351用于执行输出次序控制算法,与指令存储队列31相连的多路复用器351和352用于根据来自输出次序控制电路351和控制结果来输出存储在每个存储元件中的指令。如果作为相应比较器340的比较结果,由信息提取器320提取的存储器组地址和行地址两者与存储在寄存器中的存储器组地址和行地址两者相同,则给该指令赋予第一优先级。如果存储器组地址彼此不同,则输出次序控制电路351赋予该指令第二优先级。将第一优先级赋予其存储器组地址和指令的行地址两者与存储在寄存器33中的存储器组地址和行地址两者的指令归因于SDRAM21的结构特征。SDRAM21参照输入的组地址和行地址选择组,将存储在所选组的行地址中的所有数据传输到缓冲器(存储器组启动或存储器组打开),并参照列地址读或写所需地址。因此,如果存储器组地址和指令的行地址与存储在寄存器33中的存储器组地址和行地址相同,则无需关闭当前存储器组(完成预充电)和重新打开存储器组。
现在描述根据赋予的优先级对输出次序的控制。首先输出保存在存储元件中的指令中被赋予第一优先级的指令,然后输出被赋予第二优先级的指令。其余的指令以它们输入的次序输出。如果具有相同优先级的指令彼此竞争,则按照与输入它们的相同次序输出指令。控制输出次序的结果发送到多路复用器352和353,它们又根据受控制的输出次序来输出存储在指令存储队列31中的指令。
现在根据相同的配置描述发送和执行存取指令的过程。首先,参照图4,描述判优器3从主器件10-17接收存取指令的过程。判优器3的优先级映射器31通过总线请求接收器300从主器件10-17接收总线请求。接着,根据分配给在总线请求接收器300中设置的相应输入端口的优先级产生各优先级信号。然后,优先级提取器301对产生的各优先级信号逐位进行OR运算。优先级输出单元302根据从优先级提取器301输入的优先级和信号以递减优先级次序输出优先级。
同时,标识符提取器303从生成的优先级信号中产生标识符信号,解码产生的标识符信号,并提取提出总线请求的主器件10-17的标识符。然后,标识符输出单元304输出具有从优先级输出单元302提供的优先级的主器件的标识符。判优电路32将总线赋予输出的主器件标识符。判优电路32将总线赋予信号发送给具有该输出标识符的主器件10、11、12、13、14、15、16、或17。已经接收了总线赋予信号的主器件10、11、12、13、14、15、16、或17输出存取指令,然后判优器3将接收的存取指令发送到执行调度器4。
接着,现在参考图6描述在执行调度器4中发送存取指令的过程。一旦从预定伪延迟器60、61、62、63、或64接收到执行完成信号,执行调度单元46就检验设置在标识符存储队列中的每个存储元件是否是空的,以便检验是否存在要执行的存取指令。如果存取指令标识符存储在标识符存储队列460中,则执行调度单元46等待执行准备完成信号从伪延迟器60、61、62、63、或64到达。如果执行准备完成信号从与存储的存取指令标识符的任何一个相对应的伪延迟器60、61、62、63、或64到达,则由设置在每个存储元件中的比较器462检验存储在相应存储元件中的标识符是否与执行准备完成信号从其中到达的伪延迟器60、61、62、63、或64相对应的从器件20、21、22、23或24的标识符相同。如果两者相同,比较器462将结果发送到标识符存储队列控制器461,它使存储在相应存储元件中的从器件20、21、22、23或24的标识符从标识符存储队列460输出到解码器463。解码器463解码从标识符存储队列460输出的标识符,然后将执行开始信号发送到相应的指令执行控制器50、51、或52,或指令存储单元53或54。
接下来,参照图7描述在指令执行控制器50中发送存取指令的过程。在本实施例中的指令执行控制器50与图2的从器件20的SDRAM相关。指令执行控制器50以指令输入到指令存储队列31的次序来保持各输入指令,对于每个存储元件为一个指令。信息提取器从存储在每个存储元件中的命令中提取存储器组地址和行地址作为存取信息。比较器340将提取的存储器组地址和行地址与存储在寄存器33中的存储器组地址和行地址相比较。作为比较结果,如果存储器组地址和行地址两者与存储在寄存器33中的存储器组地址和行地址相同,则赋予该指令第一优先级。如果存储器组地址彼此不同,则赋予该指令第二优先级。
输出次序控制电路351根据上面赋予的优先级来控制输出次序。也就是说,首先输出在存储在存储元件中的指令中具有最高优先级的指令。如果指令没有优先级,则按输入它们的次序输出指令。多路复用器60根据由输出次序控制电路351控制的输出次序将指令输出到伪延迟器。
现在详细描述在输出次序控制电路351中控制输出次序的过程。比较器340将组地址与行地址相比较,然后输出用两位表示的结果值。如果比较结果相同,则结果值为“0”,如果比较结果不同,则结果值为“1”。行地址和组地址的比较结果分别作为高位和低位输出。
输出次序控制电路351从比较器340收集结果值,以便使与较低存储元件的指令的比较值可以作为相应低位定位,并从较低位开始以两位为单位搜索所收集的10位的结果值。在这种情况下,首先输出其中找到“00”的区间的号码,然后输出其中找到“01”、“11”的区间的号码。多路复用器352和353以输出号码的次序输出相应的指令。例如,如果与存储在元件(0)、(1)、(2)、(3)和(4)中的指令的比较值分别是“10”、“01”、“10”、“00”和“10”,则集中起来的比较结果是“1000100110”。输出次序控制电路351按每两位将比较结果“1000100110”划分成5个区间,并以从LSB开始的次序搜索“00”所在的区间。作为这个搜索的结果,其中找到“00”的区间对应于存储元件(3)。赋予存储在存储元件(3)中的指令第一优先级,因为它具有与当前正在执行的组地址和行地址相同的组地址和行地址。此外,其中找到“01”或“11”的区间对应于存储元件(1)。赋予存储在存储元件(1)中的指令第二优先级,因为它具有与当前正在执行的组地址不同的组地址。结果,指令的输出次序是存储元件(3)存储元件(1)存储元件(0)存储元件(2)存储元件(4)。
同时,现在参考图8中指令存储单元54的方块图描述在指令存储单元54中发送存取指令的过程。在指令存储单元53中的发送过程也是相同的。指令存储单元54包括用于存储存取指令的执行指令存储队列541和用于控制执行指令存储队列541的输入/输出的执行指令存储队列控制器540。执行指令存储队列控制器540存储从执行调度器4发送的存取指令,并以输入它们的次序将存取指令输出到相应的伪延迟器64。
接着,现在参考图5描述在伪延迟器60中发送存取指令的过程。伪延迟器60包括与从器件20相对应的延迟时钟周期数存储在其中的存储单元611。在经过与存储在存储单元611中的延迟时钟周期数相对应的延迟时钟周期数之后,伪延迟器60将从指令执行控制器50接收的存取指令发送到相应的从器件20。
从器件20接收存取指令,并准备数据传输。当数据传输准备已完成时,将数据传输指示信号和相应主器件10、11、12、13、14、15、16或17的标识符输出到执行调度器4,已经接收到数据传输指示信号的执行调度器4将数据传输指示信号发送到相应的主器件10、11、12、13、14、15、16或17。然后,数据在从器件20与相应主器件10、11、12、13、14、15、16或17之间传输。
执行调度器4在真正完成对输出到相应的从器件20的存取指令的执行(完成数据传输)之前作为预定时钟周期的时刻将伪执行完成信号发送到相应的从器件20。
延迟时钟周期数是由从器件21、22、或23的等待时间确定的。例如,如果相应的等待时间是5、6、和4个时钟周期,则延迟时钟周期数分别是1、0、2个时钟周期。也就是说,延迟时钟周期数等于与最长等待时间的差。这样,伪延迟器60用于使所有从器件20-24的等待时间在6个时钟周期上相同。在如上所述的例子中,存储在存储单元611中的延迟时钟周期数是1。
同时,如果突发长度是“4”,这意味着连续发送长度为“4”的数据,则伪延迟器60在真正完成数据传输之前作为与6个时钟周期相对应的等待时间的时刻将伪执行完成信号通知给执行调度器4。已经得到伪执行完成通知的执行调度器4将存取指令的执行开始信号发送到另一个伪延迟器61、62、63或64,最后,伪延迟器61、62、63或64尽早开始准备在相应的从器件21、22、23或24中的数据传输,从而降低了数据总线的空闲时钟周期数。
图9是用于说明根据本发明的数据传输的时序图。参照图9,将第一指令发送到从器件20,和将第二指令发送到从器件21。伪延迟器60和61在真正完成SDRAM的数据传输之前作为与SDRAM控制器等待时间加上SDRAM等待时间相对应的等待时间的时间点上将伪执行完成通知给从器件21。此外,伪延迟器60和61将存取指令发送到相应的从器件20和21,将其延迟所需的延迟时钟周期数,以便使从器件20和21的等待时间相同。因此,连接“主执行周期1”和“数据传输1”的直线的斜率“a”与连接“主执行周期2”和“数据传输2”的直线的斜率“b”相同。也就是说,根据本发明,从器件20的数据传输(数据传输1)和从器件21的数据传输(数据传输2)是连续进行的,没有空闲时钟周期。
同时,无论是只有图2所示的两个从器件20和21,还是有三个或更多个从器件,伪延迟器都延迟和发送存取指令,使所有的从器件看起来好像有相同的等待时间。统一等待时间使连接从器件10-17的指令输出和数据总线上的数据传输的直线的斜率相等,从而使数据没有空闲时钟周期地连续得到传输,提高了整个系统的效率。
由于根据本发明的判优器3将在输入端口上指定的优先级存储在相应的寄存器中,因此,可以通过改变存储在寄存器中的值动态地指定优先级。
此外,尽管针对主器件10-17是8个和优先级为16的情况已经对本发明的此实施例作了描述,但可以对主器件数或优先级数作各种改变。
如上所述,本发明提供了用不使用比较器的简单结构的电路实现的优先级指定方案的判优器,和采用这种判优器的总线系统。因此,本发明能实现可以不受主器件数限制地设计的系统、用简单电路结构的高速判优、和可变的优先级指定。
此外,与主器件直接接管对相应的从器件的控制的传统总线系统不同,该总线系统允许主器件只发送存取指令,从而提供了简单得多的总线接口结构。
本发明控制指令执行次序,使得首先完成执行准备的从器件可以首先存取数据总线,从而提供了整体数据传输速度提高了的总线系统及其存取指令执行调度方法。尤其是,根据本发明,如果从器件连接到以比主数据总线低的速度传输数据的本地数据总线,则该从器件可以有效地存取本地数据总线,从而减少了主数据总线的空闲时钟周期,并提高了整个系统的处理速度。
此外,本发明使从器件的等待时间相等,因此可以减少了由不同等待时间引起的数据总线的空闲时钟周期,并防止数据总线上数据的冲突。尤其是,如果从器件是诸如SDRAM之类支持流水线(pipeline)传输和进行频繁突发发送的存储器,空闲时钟周期数可以得到显著减少,从而提高了总线系统的效率。并且,甚至在不支持流水线传输的ROM的情况下,根据本发明的伪延迟器也允许数据传输类似于流水线传输。也就是说,可以通过通知伪执行完成,在数据传输实际没有完成的时刻执行另一个从器件。
Claims (29)
1.一种包括多个主器件和多个从器件的总线系统,其中至少一个从器件存在等待时间,该总线系统包括:
判优器,用于接收从多个主器件输出的存取指令,并以根据预定判优算法的次序输出存取指令;
执行调度器,用于从所述判优器接收存取指令,并以相应的从器件完成执行准备的次序来输出存取指令;
分别与至少一个从器件相对应提供的多个指令执行控制器,每个所述指令执行控制器存储两个或更多个从所述执行调度器输入的存取指令,从存储的存取指令中提取执行所需的存取信息,根据将所提取的存取信息与有关当前正被执行的指令的存取信息相比较的结果来控制存取指令的输出次序,以便使所存储指令的总执行时间短于根据输入各指令的次序的总执行时间;和
分别与至少一个从器件相对应提供的多个伪延迟器,每个所述伪延迟器延迟从所述指令执行控制器接收的存取指令并将其输出到相应的从器件,以便使相应的从器件的等待时间可以等于多个从器件中最长的等待时间。
2.如权利要求1所述的总线系统,其中所述判优器包括:
总线请求接收器,与数个主器件相连接,用于从主器件接收总线请求输入;
优先级提取器,用于如果通过所述总线请求接收器输入总线请求则输出表示与主器件相对应的预定优先级的优先级信号,并根据输出的优先级信号产生表示各总线请求的所有优先级的优先级和信号;
优先级输出单元,用于根据所述优先级提取器产生的优先级和信号以优先级递降的次序输出优先级;
包括标识符输出单元的优先级映射器,所述标识符输出单元根据优先级信号输出提出总线请求的主器件的标识符;和
判优电路,用于将总线存取赋予具有从所述优先级映射器输出的标识符的主器件,以便使赋予总线存取的主器件输出存取指令。
3.如权利要求2所述的总线系统,其中所述总线请求接收器包括多个与该多个主器件相连接的输入端口,用于从主器件接收总线请求输入;和多个配置在输入端口中的寄存器,用于存储在输入端口上指定的优先级。
4.如权利要求3所述的总线系统,其中利用与优先级相同的位数表示优先级信号。
5.如权利要求4所述的总线系统,其中所述优先级输出单元对一个或多个优先级信号逐位进行OR(或)运算,并产生以与优先级信号相同的位数表示的优先级和信号。
6.如权利要求2所述的总线系统,其中所述主器件标识符输出单元包括:
标识符提取器,用于通过提取包括位的位列来产生标识符信号,所述位表示向由优先级信号构成的矩阵所请求的优先级,并根据产生的标识符信号提取相应的主器件标识符;和
标识符输出单元,用于输出在由标识符提取器所提取的标识符中具有从所述优先级输出单元输出的优先级的主器件的标识符。
7.如权利要求6所述的总线系统,其中所述标识符提取器包括解码器,用于接收输入标识符信号,并提取相应的主器件标识符。
8.如权利要求1所述的总线系统,其中所述执行调度器包括:
存取指令分配器,用于接收从所述判优器输出的存取指令,并向相应的指令执行控制器发送存取指令;和
执行调度单元,用于将发送的存取指令的执行开始信号发向所述指令执行控制器,所述指令执行控制器与已经从所述存取指令分配器接收了存取指令的所述伪延迟器中已经接收了执行准备完成信号的一个伪延迟器相对应。
9.如权利要求8所述的总线系统,其中所述执行调度单元包括:
标识符存储队列,含有一个或多个存储元件作为标识符存储单元,用于存储通过所述存取指令分配器接收存取指令的相应从器件的标识符;和标识符存储队列控制器,用于控制标识符存储队列;
比较器,所述比较器的每一个是与每个存储元件相对应地配置的,用于确定存储在存储元件中的标识符是否与发送执行准备完成信号的从器件的标识符相同;和
解码器,用于如果由所述比较器确定两个标识符是相同的,则向已经接收了执行准备完成信号的所述伪延迟器发送执行开始信号。
10.如权利要求9所述的总线系统,其中所述存取指令分配器包括指令存储队列,用于存储从判优器接收的存取指令;和指令存储队列控制器,用于控制指令存储队列。
11.如权利要求8所述的总线系统,其中每个所述指令执行控制器包括:
指令保持器,用于存储两个或多个从所述存取指令分配器接收的存取指令;
存取信息提取器,用于从存储在指令存储单元中的存取指令提取用于执行的存取指令;
执行存取信息存储单元,用于存储有关当前正由从器件执行的存取指令的存取信息;
比较单元,用于将由所述存取信息提取器提取的存取信息与存储在所述执行存取信息存储单元中的存取信息相比较;和
输出次序控制器,用于根据来自所述比较单元的比较结果控制存储在所述指令保持器中的存取指令的输出次序,以便所存储指令的总执行时间短于按照存储指令的次序的总执行时间,并按照被控制的输出次序将存取指令输出到所述伪延迟器。
12.如权利要求11所述的总线系统,其中所述指令保持器包括指令存储队列,含有多个存储元件,用于存储存取指令,
其中所述存取信息提取器包括多个信息提取器,用于提取存取信息,所述信息提取器的每一个是与每个存储元件相对应地配置的,
其中所述执行存取信息存储单元包括寄存器,用于存储有关当前被执行的存取指令的存取信息,
其中所述比较单元包括多个比较器,用于将所述存取信息提取器提取的存取信息与存储在所述寄存器中的存取信息相比较,所述比较器的每一个是与每个所述存取信息提取器相对应地配置的,和
其中所述输出次序控制器包括输出次序控制电路,用于根据由来自比较器的比较结果赋予的优先级来控制输出次序;和多路复用器,用于按照来自所述输出次序控制电路的输出次序来输出存储在所述指令存储单元中的存取指令。
13.如权利要求12所述的总线系统,其中所述存取信息包括组地址和行地址,和
其中所述比较单元将每个所述信息提取器提取的组地址和行地址与存储在所述寄存器中的组地址和行地址相比较。
14.如权利要求13所述的总线系统,其中所述输出次序控制电路向作为比较结果其组地址和行地址与存储在所述寄存器中的组地址和行地址相同的存取指令赋予第一优先级。
15.如权利要求14所述的总线系统,其中所述输出次序控制电路向作为比较结果其组地址和行地址与存储在所述寄存器中的组地址和行地址不同的存取指令赋予第二优先级。
16.如权利要求11所述的总线系统,其中存取信息还包括突发长度,所述突发长度的含义是突发发送数据的位长度。
17.如权利要求1所述的总线系统,其中每个所述伪延迟器包括存储单元,用于存储与最长等待时间与每个从器件的等待时间之间的差值相对应的延迟时钟周期数,从相应指令执行控制器接收存取指令,并在经过了与存储在所述存储单元中的数目相对应的延迟时钟周期数之后将存取指令发送到相应的从器件。
18.一种包括多个主器件和数个从器件的总线系统,其中至少一个从器件存在等待时间,该总线系统包括:
判优器,用于接收从多个主器件输出的存取指令,并以根据预定判优算法的次序输出存取指令;
执行调度器,用于从所述判优器接收存取指令,并以相应的从器件完成执行准备的次序来输出存取指令;
多个与该多个从器件相对应提供的指令存储单元,每个所述指令存储单元存储一个或多个从执行调度器接收的存取指令,并以输入指令的次序输出存取指令;和
多个分别与至少一个从器件相对应提供的伪延迟器,每个所述伪延迟器延迟从所述指令存储单元接收的存取指令并将其输出到相应的从器件,以便使相应的从器件的等待时间可以等于该多个从器件中最长的等待时间。
19.如权利要求18所述的总线系统,其中判优器包括:
总线请求接收器,与多个主器件相连接,用于从主器件接收总线请求输入;
优先级提取器,用于如果通过所述总线请求接收器输入总线请求,则输出表示与主器件相对应的预定优先级的优先级信号,并根据输出的优先级信号产生表示各总线请求的所有优先级的优先级和信号;
优先级输出单元,用于根据所述优先级提取器产生的优先级和信号以优先级递降的次序输出优先级;
包括标识符输出单元的优先级映射器,所述标识符输出单元根据优先级信号来输出提出总线请求的主器件的标识符;和
判优电路,用于将总线存取赋予具有从所述优先级映射器输出的标识符的主器件,以便使赋予总线存取的主器件输出存取指令。
20.如权利要求18所述的总线系统,其中所述总线请求接收器包括多个与该多个主器件相连接的输入端口,用于从主器件接收总线请求输入;和多个配置在输入端口中的寄存器,用于存储在输入端口指定的优先级。
21.如权利要求20所述的总线系统,其中优先级信号用与优先级相同的位数表示。
22.如权利要求21所述的总线系统,其中所述优先级输出单元对一个或多个优先级信号逐位进行OR(或)运算,并产生以与优先级信号相同位数表示的优先级和信号。
23.如权利要求19所述的总线系统,其中所述主器件标识符输出单元包括:
标识符提取器,用于通过提取包括位的位列来产生标识符信号,所述位表示由优先级信号构成的矩阵所请求的优先级,并根据产生的标识符信号提取相应的主器件标识符;和
标识符输出单元,用于输出在由所述标识符提取器的所提取的标识符中具有从所述优先级输出单元输出的优先级的主器件的标识符。
24.如权利要求23所述的总线系统,其中所述标识符提取器包括解码器,用于接收输入标识符信号,并提取相应的主器件标识符。
25.如权利要求24所述的总线系统,其中所述执行调度器包括:
存取指令分配器,用于接收从所述判优器输出的存取指令,并向相应的指令存储单元发送存取指令;和
执行调度单元,用于将发送的存取指令的执行开始信号发给所述指令存储单元,所述指令存储单元与已经从所述存取指令分配器接收了存取指令的所述伪延迟器中已经接收了执行准备完成信号的一个伪延迟器相对应。
26.如权利要求25所述的总线系统,其中所述执行调度单元包括:
标识符存储队列,含有一个或多个存储元件作为标识符存储单元,用于存储通过所述存取指令分配器接收存取指令的相应从器件的标识符;和标识符存储队列控制器,用于控制标识符存储队列;
比较器,所述比较器的每一个是与每个存储元件相对应配置的,用于确定存储在存储元件中的标识符是否与发送执行准备完成信号的从器件的标识符相同;和
解码器,用于如果由所述比较器确定两个标识符是相同的,则向已经接收了执行准备完成信号的所述伪延迟器发送执行开始信号。
27.如权利要求26所述的总线系统,其中所述存取指令分配器包括指令存储队列,用于存储从所述判优器接收的存取指令;和指令存储队列控制器,用于所述控制指令存储队列。
28.如权利要求18所述的总线系统,其中每个所述指令存储单元包括执行指令存储队列,用于存储存取指令;和执行指令存储队列控制器,用于控制所述执行指令存储队列。
29.如权利要求18所述的总线系统,其中每个所述伪延迟器包括存储单元,用于存储与最长等待时间与每个从器件的等待时间之间的差值相对应的延迟时钟周期数,从相应指令存储单元接收存取指令,并在经过了与存储在存储单元中的数目相对应的延迟时钟周期数之后将存取指令发送到相应的从器件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000046658A KR100716950B1 (ko) | 2000-08-11 | 2000-08-11 | 버스 시스템 |
KR46658/2000 | 2000-08-11 | ||
KR46658/00 | 2000-08-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1337628A true CN1337628A (zh) | 2002-02-27 |
CN1191531C CN1191531C (zh) | 2005-03-02 |
Family
ID=19682869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011083026A Expired - Fee Related CN1191531C (zh) | 2000-08-11 | 2001-02-27 | 总线系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6671761B2 (zh) |
JP (1) | JP3898899B2 (zh) |
KR (1) | KR100716950B1 (zh) |
CN (1) | CN1191531C (zh) |
GB (1) | GB2366883B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100430910C (zh) * | 2003-01-18 | 2008-11-05 | 三星电子株式会社 | 用于向多个信道分配多个来源的系统和方法 |
CN101692212B (zh) * | 2009-06-19 | 2012-11-14 | 无锡中星微电子有限公司 | 一种访问存储器的方法、系统和总线仲裁装置 |
CN104142977A (zh) * | 2014-07-09 | 2014-11-12 | 上海航天电子通讯设备研究所 | 采用检索表确定多数据源优先级的存储方法 |
CN106371966A (zh) * | 2015-07-23 | 2017-02-01 | Arm 有限公司 | 收集与数据处理系统的操作相关的监视数据 |
CN106464606A (zh) * | 2014-06-11 | 2017-02-22 | 马维尔国际贸易有限公司 | 用于阻止网络设备中的帧传输的系统和方法 |
CN107025188A (zh) * | 2016-01-29 | 2017-08-08 | 后旺科技股份有限公司 | 复合式硬盘的交握方法 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738845B1 (en) * | 1999-11-05 | 2004-05-18 | Analog Devices, Inc. | Bus architecture and shared bus arbitration method for a communication device |
KR100644597B1 (ko) * | 2000-08-05 | 2006-11-10 | 삼성전자주식회사 | 버스 시스템 및 그 커맨드 전달방법 |
US7000049B1 (en) * | 2000-12-28 | 2006-02-14 | Juniper Networks, Inc. | Systems and methods for reliably selecting bus mastership in a fault tolerant manner |
US6836840B2 (en) * | 2001-07-30 | 2004-12-28 | International Business Machines Corporation | Slaves with identification and selection stages for group write |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US7225281B2 (en) * | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
EP1430690B1 (de) * | 2001-09-26 | 2006-06-21 | Siemens Aktiengesellschaft | Verfahren zum zugriff auf eine befehlseinheit für ein datennetz |
JP2003271551A (ja) * | 2002-03-18 | 2003-09-26 | Fujitsu Ltd | マイクロコンピュータ、バス制御回路およびマイクロコンピュータにおけるデータアクセス方法 |
US6851056B2 (en) * | 2002-04-18 | 2005-02-01 | International Business Machines Corporation | Control function employing a requesting master id and a data address to qualify data access within an integrated system |
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 |
US7743257B2 (en) * | 2002-06-27 | 2010-06-22 | Nxp B.V. | Security processor with bus configuration |
US7260611B2 (en) * | 2002-11-21 | 2007-08-21 | Microsoft Corporation | Multi-leader distributed system |
US7062582B1 (en) | 2003-03-14 | 2006-06-13 | Marvell International Ltd. | Method and apparatus for bus arbitration dynamic priority based on waiting period |
KR100626362B1 (ko) * | 2003-05-23 | 2006-09-20 | 삼성전자주식회사 | 고속 대역폭의 시스템 버스를 중재하기 위한 중재기, 중재기를 포함하는 버스 시스템 및 버스 중재 방법 |
US7100002B2 (en) * | 2003-09-16 | 2006-08-29 | Denali Software, Inc. | Port independent data transaction interface for multi-port devices |
EP1692617B1 (en) * | 2003-12-09 | 2009-04-08 | THOMSON Licensing | Memory controller |
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 |
JP4480427B2 (ja) * | 2004-03-12 | 2010-06-16 | パナソニック株式会社 | リソース管理装置 |
US7305510B2 (en) * | 2004-06-25 | 2007-12-04 | Via Technologies, Inc. | Multiple master buses and slave buses transmitting simultaneously |
US20060020760A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines Corporation | Method, system, and program for storing sensor data in autonomic systems |
US7272692B2 (en) * | 2004-11-12 | 2007-09-18 | International Business Machines Corporation | Arbitration scheme for memory command selectors |
KR100631202B1 (ko) * | 2005-01-11 | 2006-10-04 | 삼성전자주식회사 | Cdma 버스를 이용한 원칩 시스템 및 그의 데이터전송방법 |
KR100694095B1 (ko) * | 2005-03-05 | 2007-03-12 | 삼성전자주식회사 | 버스 연결 방법 및 장치 |
US20060271739A1 (en) * | 2005-05-24 | 2006-11-30 | Shu-Fang Tsai | Management of transfer of commands |
US20080059672A1 (en) * | 2006-08-30 | 2008-03-06 | Irish John D | Methods and Apparatus for Scheduling Prioritized Commands on a Bus |
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 |
US8156273B2 (en) * | 2007-05-10 | 2012-04-10 | Freescale Semiconductor, Inc. | Method and system for controlling transmission and execution of commands in an integrated circuit device |
JP2009003633A (ja) | 2007-06-20 | 2009-01-08 | Panasonic Corp | 情報処理装置 |
JP2009116378A (ja) | 2007-11-01 | 2009-05-28 | Renesas Technology Corp | 半導体装置 |
US7937520B2 (en) * | 2008-01-11 | 2011-05-03 | Mediatek Inc. | General purpose interface controller of resoure limited system |
CN101499046A (zh) * | 2008-01-30 | 2009-08-05 | 鸿富锦精密工业(深圳)有限公司 | Spi设备通信电路 |
JP5418193B2 (ja) * | 2009-12-14 | 2014-02-19 | 富士ゼロックス株式会社 | 調停装置、画像処理装置、及び画像形成システム |
US8612648B1 (en) * | 2010-07-19 | 2013-12-17 | Xilinx, Inc. | Method and apparatus for implementing quality of service in a data bus interface |
US20130019046A1 (en) * | 2011-07-15 | 2013-01-17 | Skymedi Corporation | Data transmitting device and system for portable device and method thereof |
KR102500821B1 (ko) | 2015-12-29 | 2023-02-17 | 삼성전자주식회사 | 복수의 회로들 및 복수의 회로들을 연결하는 버스를 포함하는 반도체 장치 및 반도체 장치의 동작 방법 |
KR101673943B1 (ko) * | 2016-07-07 | 2016-11-08 | 주식회사 올피아 | 유무선 통신방식을 이용한 통합 스마트기기 인터페이스 시스템 및 그 방법 |
US10558604B2 (en) * | 2017-12-20 | 2020-02-11 | Qualcomm Incorporated | Communication interface transaction security |
US10545897B2 (en) * | 2018-01-24 | 2020-01-28 | Qualcomm Incorporated | System and method for deterministic transactions on a serial bus |
CN111026699B (zh) * | 2019-12-05 | 2024-02-06 | 苏州雄立科技有限公司 | 基于环形总线的多核网络通信方法、装置及系统 |
US11914532B2 (en) | 2021-08-31 | 2024-02-27 | Apple Inc. | Memory device bandwidth optimization |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5476027A (en) | 1977-11-30 | 1979-06-18 | Fujitsu Ltd | Dynamic priority circuit |
JPS5556221A (en) | 1978-10-18 | 1980-04-24 | Fujitsu Ltd | Priority decision system |
JPS63155249A (ja) | 1986-12-18 | 1988-06-28 | Fujitsu Ltd | 装置間通信方式 |
JPH01226062A (ja) | 1988-03-07 | 1989-09-08 | Fujitsu Ltd | バス・リクエスト制御方式 |
JPH02101560A (ja) | 1988-10-11 | 1990-04-13 | Nec Corp | バスインタフェース装置 |
US5293500A (en) * | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
JPH0415741A (ja) | 1990-05-02 | 1992-01-21 | Toshiba Corp | 要求受付け制御システム |
JPH04278651A (ja) | 1991-03-07 | 1992-10-05 | Nec Corp | 主記憶装置 |
DE69223304T2 (de) * | 1991-09-27 | 1998-06-18 | Sun Microsystems Inc | Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus |
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 |
JP3149143B2 (ja) | 1992-09-07 | 2001-03-26 | 日本電信電話株式会社 | アクセス調停方式 |
JP2908147B2 (ja) | 1992-10-30 | 1999-06-21 | 富士通株式会社 | バス制御装置及び方法 |
JPH0844662A (ja) | 1994-07-26 | 1996-02-16 | Fuji Xerox Co Ltd | 情報処理装置 |
JPH1011356A (ja) | 1996-06-21 | 1998-01-16 | Nec Eng Ltd | メモリアクセスシステム |
US5884052A (en) * | 1997-07-14 | 1999-03-16 | Vlsi Technology, Inc. | Smart retry mechanism to program the retry latency of a PCI initiator agent |
US6226757B1 (en) * | 1997-10-10 | 2001-05-01 | Rambus Inc | Apparatus and method for bus timing compensation |
US6081859A (en) * | 1998-03-12 | 2000-06-27 | Vlsi Technology, Inc. | Address dependent retry system to program the retry latency of an initiator PCI agent |
US6275890B1 (en) * | 1998-08-19 | 2001-08-14 | International Business Machines Corporation | Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration |
US6289406B1 (en) * | 1998-11-06 | 2001-09-11 | Vlsi Technology, Inc. | Optimizing the performance of asynchronous bus bridges with dynamic transactions |
KR100605867B1 (ko) * | 1999-04-23 | 2006-07-31 | 삼성전자주식회사 | 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법 |
US6393506B1 (en) * | 1999-06-15 | 2002-05-21 | National Semiconductor Corporation | Virtual channel bus and system architecture |
US6513089B1 (en) * | 2000-05-18 | 2003-01-28 | International Business Machines Corporation | Dual burst latency timers for overlapped read and write data transfers |
KR100708096B1 (ko) * | 2000-07-21 | 2007-04-16 | 삼성전자주식회사 | 버스 시스템 및 그 실행 순서 조정방법 |
-
2000
- 2000-08-11 KR KR1020000046658A patent/KR100716950B1/ko not_active IP Right Cessation
-
2001
- 2001-02-27 CN CNB011083026A patent/CN1191531C/zh not_active Expired - Fee Related
- 2001-02-28 GB GB0104991A patent/GB2366883B/en not_active Expired - Fee Related
- 2001-03-14 JP JP2001072809A patent/JP3898899B2/ja not_active Expired - Fee Related
- 2001-03-27 US US09/817,756 patent/US6671761B2/en not_active Expired - Lifetime
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100430910C (zh) * | 2003-01-18 | 2008-11-05 | 三星电子株式会社 | 用于向多个信道分配多个来源的系统和方法 |
US7760768B2 (en) | 2003-01-18 | 2010-07-20 | Samsung Electronics Co., Ltd. | System and method for allocating a plurality of sources to a plurality of channels |
CN101692212B (zh) * | 2009-06-19 | 2012-11-14 | 无锡中星微电子有限公司 | 一种访问存储器的方法、系统和总线仲裁装置 |
CN106464606A (zh) * | 2014-06-11 | 2017-02-22 | 马维尔国际贸易有限公司 | 用于阻止网络设备中的帧传输的系统和方法 |
CN106464606B (zh) * | 2014-06-11 | 2020-06-02 | 马维尔亚洲私人有限公司 | 用于阻止网络设备中的帧传输的系统和方法 |
CN104142977A (zh) * | 2014-07-09 | 2014-11-12 | 上海航天电子通讯设备研究所 | 采用检索表确定多数据源优先级的存储方法 |
CN104142977B (zh) * | 2014-07-09 | 2018-03-06 | 上海航天电子通讯设备研究所 | 采用检索表确定多数据源优先级的存储方法 |
CN106371966A (zh) * | 2015-07-23 | 2017-02-01 | Arm 有限公司 | 收集与数据处理系统的操作相关的监视数据 |
CN106371966B (zh) * | 2015-07-23 | 2021-07-30 | Arm 有限公司 | 收集与数据处理系统的操作相关的监视数据 |
CN107025188A (zh) * | 2016-01-29 | 2017-08-08 | 后旺科技股份有限公司 | 复合式硬盘的交握方法 |
Also Published As
Publication number | Publication date |
---|---|
GB2366883B (en) | 2002-10-02 |
KR100716950B1 (ko) | 2007-05-10 |
GB0104991D0 (en) | 2001-04-18 |
US6671761B2 (en) | 2003-12-30 |
CN1191531C (zh) | 2005-03-02 |
US20020023186A1 (en) | 2002-02-21 |
KR20020013184A (ko) | 2002-02-20 |
JP3898899B2 (ja) | 2007-03-28 |
GB2366883A (en) | 2002-03-20 |
JP2002063131A (ja) | 2002-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1191531C (zh) | 总线系统 | |
CN1207670C (zh) | 具有重叠读写操作和可伸缩地址流水线化的数据传送系统 | |
CN1053281C (zh) | 系统总线外围总线间最佳数据传送用多总线系统总线桥 | |
US20020161978A1 (en) | Multi-service system-on-chip including on-chip memory with multiple access path | |
CN1277226C (zh) | 分布式共享内存系统数据维护方法 | |
CN1094526A (zh) | 用于在多条总线之间传送信息的系统和方法 | |
CN1037982A (zh) | 在有仲裁的80386/82385微机系统运行中80386对系统总线的抢用 | |
CN1117318A (zh) | 多处理器数据存储器共享 | |
CN1862515A (zh) | 数据传送装置、数据传送方法和程序 | |
CN101046786A (zh) | 一种实现高效dma传输的dma控制器及传输方法 | |
US9471521B2 (en) | Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit | |
CN1570907A (zh) | 多处理器系统 | |
CN1819554A (zh) | 数据处理系统及其数据接口连接方法 | |
CN1286029C (zh) | 控制芯片片内存储装置及其存储方法 | |
CN101038574A (zh) | 总线仲裁装置 | |
US20160275028A1 (en) | Semiconductor device | |
CN1286442A (zh) | 具有共享一个共用存储器的多个处理器的装置 | |
CN1159656C (zh) | 判优器及其总线系统 | |
CN1145893C (zh) | 带有具用于一个共用存储器的接口的多个处理器的装置 | |
CN1355635A (zh) | 使用总线的预仲裁装置及其方法 | |
CN1310163C (zh) | 通用串行总线主机控制器 | |
CN1300703C (zh) | 调节电路及其具有它的功能处理电路 | |
CN1866233A (zh) | 信号处理装置,信号处理系统及信号处理方法 | |
CN1270253C (zh) | 包含中央处理单元的大规模集成电路 | |
CN101075221A (zh) | 管理分离总线上总线代理之间的数据流的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
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: 20050302 Termination date: 20170227 |
|
CF01 | Termination of patent right due to non-payment of annual fee |