CN1567279A - 数据传送方法和数据传送系统 - Google Patents
数据传送方法和数据传送系统 Download PDFInfo
- Publication number
- CN1567279A CN1567279A CN 03129415 CN03129415A CN1567279A CN 1567279 A CN1567279 A CN 1567279A CN 03129415 CN03129415 CN 03129415 CN 03129415 A CN03129415 A CN 03129415A CN 1567279 A CN1567279 A CN 1567279A
- Authority
- CN
- China
- Prior art keywords
- signal
- main equipment
- request
- bus
- transfer operation
- 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
Images
Landscapes
- Bus Control (AREA)
Abstract
数据传送方法和系统,经由总线在主设备与从设备之间进行数据传送操作。包括:对主设备发出的总线使用请求进行仲裁;经仲裁获得授权的主设备进行流突发数据传送操作同时向总线发出总线控制信号;当判断总线控制信号是CONT信号时,继续当前流突发数据传送操作的分段突发的数据传送操作;当判断总线控制信号是SAME信号或DIFF信号时,检测是否有其它主设备发出的新的较高级别的总线请求;当检测到其它主设备有新的较高级别的总线请求时,对该请求与当前主设备的流突发数据传送操作中的下一个分段突发请求进行仲裁;经仲裁获得授权的主设备优先进行数据传送操作;当判断总线控制信号是LAST信号时,返回初始操作。
Description
技术领域
本发明涉及一种数据传送方法和数据传送系统。尤其涉及一种在具有多主设备的体系结构中,利用总线在主设备与从设备之间快速有效地传送数据的方法和系统。
背景技术
为了实现快速实时的信号处理,计算机系统尤其是多处理器系统常常配置了多个快速功能处理单元,以便于同时进行相应的控制及数据处理。系统中的处理单元可能包括中央处理单元(CPU)、数字信号处理器(DSP)和存储器等各种设备。特别是在片上系统中,往往需要把大量的设备同时集成于同一块芯片上。出于面积和成本等各方面的考虑,这种系统中常常以共享总线的方式来实现各处理单元之间的资源共享。在设备之间的数据传送中,向总线发出请求,要求进行数据传送的设备称为主设备;而主设备要求与之进行数据传送的目标设备则称为从设备。在多设备系统中,主设备和从设备可能会存在两个或两个以上。为防止有多个设备同时使用系统总线而造成数据冲突,在同一时间内,只能有一个主设备在使用系统总线。主设备在使用系统总线前,往往是先发出总线使用请求,待总线仲裁并授权后,主设备才能开始控制总线。然后,主设备发出地址和数据,通过总线将数据送往从设备的相应地址或从从设备的对应地址处读取数据,直到主设备与从设备之间的数据传送操作已全部完成才会释放总线。
一般地,主设备每次使用总线时,总是发出单一的地址,因而只能发送目标是同一从设备同一地址的单一的数据。当主设备需要发送目标是同一从设备的不同地址或不同从设备的数据时,就要再次发出总线使用请求,并由总线再次做出仲裁。如一件中国专利(专利号为86108261)揭示的一种数据传送系统。采用该数据传送系统将数据从I/O(输入/输出)器件送入主存储器时,先由I/O器件16通过数据总线40把数据送入输入缓冲器30,然后在地址寄存器指示的地址将数据存入缓冲器。此时地址寄存器28和计数寄存器分别进行更新动作。正向写入数据时,地址寄存器28加1,计数寄存器32减1;而反向读出数据时,地址寄存器28减1,计数寄存器32仍是减1。在这种数据传送系统中,若主设备需要连续发出多个数据,从主设备发出第一个总线请求到完成全部数据的传送,就可能需要消耗几个仲裁周期,造成了总线使用效率低下,数据传送延时过长等弊病。
突发式的数据传送方式是对这种单一的数据传送方式所做出的改进。这种数据传送方式可以一次连续地发送大量的数据,但也还是存在着一定的缺陷,因为突发式的数据传送要求数据必须是在连续的地址上。也就是说,若是主设备读操作,则需要读取的数据应该在同一从设备的连续相邻的地址上,若是主设备写操作,则发送的数据必须是送往同一从设备的连续相邻的地址上。若接收数据的地址不连续,则同样需要主设备再次发出总线使用请求,由总线仲裁器再次进行仲裁。
为了克服上述缺陷,本发明提出了一种新的总线系统,其中采用流突发的方式来进行数据传送操作。
发明内容
本发明的目的在于提供一种数据传送方法和数据传送系统,其中采用流突发式的数据传送以有效提高总线使用效率。
根据本发明的一个方面,提供一种数据传送方法,包括经由总线在主设备与从设备之间进行数据传送操作,所述数据传送操作包含流突发数据传送操作,所述方法包括如下步骤:
a.对主设备发出的总线使用请求进行仲裁;
b.经仲裁获得授权的主设备进行流突发数据传送操作并同时向总线发出总线控制信号,所述流突发包含至少一个分段突发;
c.判断所述总线控制信号是CONT信号、LAST信号、SAME信号和DIFF信号中的哪一种信号,其中,CONT信号表示一个流突发中的一个分段突发没有结束,LAST信号表示一个流突发的结束,SAME信号表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问同样的从设备且访问请求的等级相同,DIFF表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问不同的从设备或者访问请求的等级不同;
d.当判断所述总线控制信号是CONT信号时,继续当前流突发数据传送操作的分段突发的数据传送操作;
e.当判断所述总线控制信号是SAME信号或DIFF信号时,检测是否有其它主设备发出的新的较高级别的总线请求;
f.当检测到其它主设备有新的较高级别的总线请求时,对该请求与当前主设备的流突发数据传送操作中的下一个分段突发请求进行仲裁;
g.经仲裁获得授权的主设备优先进行数据传送操作;
h.当判断所述总线控制信号是LAST信号时,返回步骤a的操作。
根据本发明的另一方面,提供一种数据传送系统,用以经由总线在主设备与从设备之间进行数据传送操作,所述数据传送操作包含流突发数据传送操作,所述系统包括:
判断装置,用以判断所述主设备发出的总线控制信号是CONT信号、LAST信号、SAME信号和DIFF信号中的哪一种信号,其中,CONT信号表示一个流突发中的一个分段突发没有结束,LAST信号表示一个流突发的结束,SAME信号表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问同样的从设备且访问请求的等级相同,DIFF表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问不同的从设备或者访问请求的等级不同;
检测装置,用以当所述判断装置判断所述总线控制信号是SAME信号或DIFF信号时,检测除当前主设备以外的其它主设备是否发出新的较高级别的总线请求;
仲裁装置,对当前主设备的流突发数据传送操作中的下一个分段突发请求与所述检测装置测得的其它主设备的较高级别的总线请求进行仲裁的仲裁装置;以及
数据传送操作装置,根据所述仲裁装置的仲裁结果经由所述总线在获得授权的主设备与从设备之间进行所述的数据传送操作。
一方面,本发明中以流突发形式传送数据,流突发传送的数据不要求地址连续,因此可以不受不相邻的数据传送地址或不同目标从设备的限制,而一次性地发送大量数据,从而较好地提高了总线的使用效率。
另一方面,在流突发数据传送操作中,由于对应于流突发中的分段突发分别设定了相应的优先权级别,因此,不但在同一个流突发操作过程中,可根据优先权级别的高低来先后处理分段突发;并且,在一个流突发操作进行过程中,若有新的流突发中有优先级别较高的分段突发发出总线使用请求,也能优先做出响应。本发明以这种方式较好地保证了具有较高优先级别的数据传送操作能够得到优先响应。
附图说明
以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明实施例的阐述,是为了进一步披露本发明的特征所在,但并不限制本发明。本发明的其它的目的、特点和优点在以下的描述中将变得更加清楚。附图中相同的符号代表实施例中相应的元件或步骤,其中:
图1是表示根据本发明的一个实施例的总线系统的结构图;
图2是表示图1所示总线系统的从设备地址分配示意图;
图3是表示图1所示总线系统的一个仲裁器的结构图;
图4是表示根据本发明的流突发形式数据传送操作的流程图;
图5是表示根据本发明的一个实施例的无中断的数据传送操作中各信号的时序图;和
图6是表示根据本发明的一个实施例的有中断的数据传送操作中各信号的时序图。
图7是表示执行图4所示数据传送操作流程的一个数据传送系统的方框图。
具体实施方式
本发明的总线系统包括主设备和从设备,并有一仲裁器,用以对主设备的总线使用请求做出仲裁。当仲裁器仲裁之后授权给主设备,主设备以流突发(Stream Burst)的方式通过总线向从设备进行读写操作。主设备向仲裁器发出总线请求的信号序列中包括一连串有序的控制信号,用以标志数据传送的操作状态。其中主设备发出的数据信号序列可以包含多个单一数据(Single Data),也可以包含多个目标地址不连续的分段突发(Burst),以及多个目标地址在不同从设备的单一数据和突发。本发明中主设备发出的数据信号序列定义为流突发形式。每个流突发至少包含一个分段突发。分段突发可能是一个单一数据,也可能是一个突发。其中的突发是指一连串地址连续和对齐的数据,且长度是2的整数次幂。
主设备所发出的控制信号可以标志的数据传送操作状态至少包括如下几类:一个分段突发没有结束;一个流突发已经结束;一个流突发并未结束而一个分段突发已经结束。本发明的一个实施例中,为了满足在同一个流突发中的分段突发可以访问不同的从设备,对于上述第三类数据传送操作状态,还可再分为两类:一类是,一个流突发并未结束而当前的分段突发已经结束,且下一个分段突发和当前的分段突发访问的是同一个从设备;另一类是一个流突发并未结束而当前的分段突发已经结束,且下一个分段突发和当前的分段突发访问的是不同的从设备。
主设备向仲裁器发出总线使用请求的信号序列中还包括用以对总线使用请求设定了一定的等级的控制信号。这些等级控制信号按照所对应的分段突发的传送操作的优先级别而由软件配置而定,并按照所对应的数据传送操作的先后顺序依次传送。总线使用请求的优先级别由等级控制信号来决定,而总线仲裁器可直接根据总线使用请求的级别来确定响应请求的先后次序。流突发的每一个分段突发结束时仲裁器将会根据标志分段突发完成的控制信号进入仲裁状态,当仲裁器发现有其他较高级别的总线请求时就进行仲裁;当仲裁器未发现有其他较高级别的总线请求时就结束仲裁状态,而继续原流突发的传送操作。这样,总线可以在一个流突发操作过程中对不在此流突发之内而优先级别较高的分段突发做出响应,并在该具有较高优先级别的分段突发操作结束后返回原流突发操作现场,继续原流突发操作。
图1表示根据本发明的一个实施例的总线系统的结构图。参照图1,本发明的总线系统包括总线101,主设备A 102、主设备B 103、从设备A 104、从设备B 105和从设备C 106分别与总线101相连,以共享总线的方式进行数据传送操作。总线101上设有总线仲裁器107分别与主设备A 102和主设备B 103相耦连,用以对主设备的总线使用请求作出仲裁。
在本实施例中,以MDstnum信号来表示主设备送给仲裁器107的请求从设备的号码。以三个从设备做示例性的说明,表1表示对这三个从设备的分别编码。
表1
MDstnum | 信号 | 说明 |
00 | 0 | 从设备A |
01 | 1 | 从设备B |
10 | 2 | 从设备C |
11 | 保留 |
而本发明对于主设备与从设备的数量并无限制,相应地,MDstnum信号的编码也可根据实际使用的从设备的数量做调整。三个从设备的地址分配如图2所示,从设备A为00-7F,从设备B为80-1FFF,从设备C为2000-FFFF。
主设备的总线请求信号线MReq[1:0]与控制信号线MLast[1:0]分别与仲裁器107相连。图1中为了清晰地表现出MLast信号线和MReq信号线,而省略了其他的信号线。本实施例中各信号线是以对每一个信号设置专门的连线来实现各信号的传输,在其他实施例中也可以总线流水线方式等来实现各信号的传输。
总线请求信号线MReq[1:0]在主设备需要进行数据传送操作时,向仲裁器发出总线使用请求。总线使用请求信号MReq包括四种类型,即IDLE、REQ、CREQ和LREQ,其译码和含义如表2所示。
表2
MReq | 信号 | 说明 |
00 | IDLE | 无请求 |
01 | REQ | 一般读写请求 |
10 | LREQ | 要求LOCK的读写原子操作请求具有比REQ更高的优先级 |
11 | CREQ | 强制性读写请求,具有比REQ更高的优先级 |
总线使用请求信号MReq中,REQ信号为一般的读写请求,而LREQ和CREQ比REQ优先级要高。因此,如果主设备A 102和主设备B103发出的MReq为CREQ或LREQ,较之REQ往往能更快速地获得响应。
其中,LREQ的请求是一类比较特殊的请求,它请求的是一个读写操作的原子操作,由于该读写操作需要连续进行,在一个LREQ响应期间,总线将不能响应其他的LREQ,因此将其设为一种优先级别较高的请求。
总线使用请求信号MReq可以在每一次数据传送时由编程等方式灵活设定,因此主设备发出的总线请求的优先权等级可以在每一次数据传送时按实际需求而决定。
本实施例中设置IDLE类型的请求是为了防止在没有总线请求信号时MReq信号线由于在悬浮状态的不稳定情况下而受到外界干扰,从而从一方面保证了系统的稳定。
后文将对分等级的总线请求的使用作进一步说明。
在其它实施例中,总线使用请求信号MReq可以按需要设定一定的等级,其编码也可随之改变,对此本技术领域人员易于理解和实现。
控制信号线MLast[1:0]用来传送的控制信号标志了主设备要求进行的数据传送操作的状态。本实施例中,为数据传送操作定义了四种状态,包括CONT、SAME、DIFF和LAST,其编码和含义如表3所示。
表3
MLast | 信号 | 说明 |
00 | CONT | 表示一个分段突发没有结束。 |
01 | LAST | 表示一个流突发的结束。 |
10 | SAME | 表示一个分段突发的结束,预告下一个分段突发和本分段突发访问同样的从设备,且访问请求的等级相同(即都为REQ或CREQ)。 |
11 | DIFF | 表示一个分段突发的结束,预告下一个分段突发和本分段突发访问不同的从设备,或者访问请求的等级不同。 |
在数据传送操作中,以CONT信号来表示一个分段突发还在传送过程中,因此CONT信号所对应的数据传送地址还是连续的,既不需要接收新的地址,也不需要重新做仲裁。而LAST信号则表示一个完整的流突发已经传送完成,此时,若要进行数据传送操作,就需要仲裁器107重新对总线使用请求做仲裁。而SAME和DIFF信号均表示一个分段突发已经传送完成,而一个流突发尚未结束。其不同之处主要在于,SAME信号是用来预告下一个分段突发和本分段突发访问同样的从设备,只是地址和本分段突发可能不连续,并且下一个分段突发和本分段突发访问请求的等级相同,即都为REQ或CREQ。DIFF信号则是用来预告下一个分段突发和本分段突发访问不同的从设备,或者是下一个分段突发和本分段突发访问请求的等级不相同。
在本实施例中,只是出于使实施更为简单的考虑,规定仲裁现场返回的地址范围在同一设备地址范围内,因此一个流突发中所有等级为REQ的请求都只能访问相同的从设备。
类似地,控制信号MLast的编码也可根据实际需要的数据传送操作状态的种类做调整。
本发明的流突发数据传送方式可传送的数据包括单一数据和突发形式的数据。流突发方式并不要求数据传送的地址是始终连续,也就是说,这些单一数据和突发形式的数据可以不是在连续地址上。而对于每一个以突发形式的数据传送操作,要求相应的从设备能够接收突发形式的数据。
表4-表7以示例来说明流突发这种数据传送形式。
表4
访问次序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
MReq | REQ | REQ | REQ | REQ | REQ | REQ | REQ | REQ |
MLast | CONT | CONT | CONT | CONT | CONT | CONT | CONT | LAST |
MDstnum | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
表4中的这个请求是向从设备B 105发出的。这个请求的信号序列将被从设备B 105看成是由一个分段突发构成的流突发,而这个分段突发包括8个连续地址的数据。
表5
访问次序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
MReq | REQ | REQ | REQ | REQ | REQ | REQ | REQ | REQ |
MLast | CONT | SAME | CONT | SAME | CONT | SAME | CONT | LAST |
MDstnum | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表5中的这个请求是向从设备A 104发出的。这个请求的信号序列将被从设备A 104看成是由4个分段突发构成的流突发,其中每个分段突发都包括2个连续地址的数据。
表6
访问次序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
MReq | REQ | REQ | CREQ | CREQ | CREQ | CREQ | REQ | REQ |
MLast | CONT | DIFF | CONT | SAME | CONT | DIFF | CONT | LAST |
MDstnum | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
表6中的这个请求的信号序列是由4个分段突发构成的一个流突发,每个分段突发包括了2个连续地址的数据。在这个流突发中,第二个分段突发和第一个分段突发的访问请求的等级有所不同,因此第一个分段突发结束时的MLast信号是DIFF;类似地,第四个分段突发和第三个分段突发的访问请求的等级有所不同,因此第三个分段突发结束时的MLast信号是DIFF。而第二个分段突发和第三个分段突发的访问请求的等级相同,并且都是访问从设备C 106,因此第二个分段突发结束时的MLast信号是SAME。
表7
访问次序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
MReq | REQ | REQ | REQ | REQ | CREQ | CREQ | CREQ | CREQ |
MLast | CONT | SAME | CONT | DIFF | CONT | DIFF | CONT | LAST |
MDstnum | 1 | 1 | 1 | 1 | 2 | 2 | 0 | 0 |
表7中的这个请求的信号序列是由4个分段突发构成的一个流突发,每个分段突发包括了2个连续地址的数据。第二个分段突发和第一个分段突发的访问请求的等级相同,并且都是访问从设备B 105,因此第一个分段突发结束时的MLast信号是SAME;第二个分段突发和第三个分段突发的访问请求的等级不相同,且访问的从设备也不同,因此第二个分段突发结束时的MLast信号是DIFF。在这里,第三个分段突发的访问请求等级为CREQ,而非REQ,所以可以与它之前的分段突发访问不同的从设备;而第四个分段突发和第三个分段突发的访问请求的等级相同,但访问的从设备不同,因此第三个分段突发结束时的MLast信号也是DIFF。
与总线请求的分等级相对应,仲裁器107对总线使用请求的仲裁也设定了不同的仲裁时机。本实施例中仲裁时机有两种,分别为CREQ仲裁时机和REQ仲裁时机。在REQ仲裁时机,仲裁器107可以对各个主设备发出的各类总线请求进行仲裁,包括CREQ、REQ和LREQ;而在CREQ仲裁时机里,仲裁器107只能对各个主设备发出的CREQ和LREQ等优先级别较高的总线请求做出仲裁。
参见图3,仲裁器107中设有解码器1071、缓冲器1072和仲裁状态机1073。其中,解码器1071用来对仲裁后选中的主设备送来的MReq信号、MLast信号和MDstnum信号等请求信号进行解码并送给相应的主设备和从设备。仲裁状态机1073用来选择合适的仲裁时机对主设备发出的总线使用请求进行仲裁并决定做出响应的设备。仲裁状态机1073还进一步包括屏蔽器1074和控制器1075。
仲裁器107先检测MReq信号,若发现存在LREQ请求,则立即查看总线101是否处于锁存(LOCK)状态。一般地,在总线101正在进行一个LREQ的读写原子操作时,总线101会自动进入锁存状态。若此时总线101是在锁存状态,则当前的LREQ的读请求将被忽略掉。
在仲裁器107中进行仲裁后,各总线请求的MLast信号经解码器1071解码产生的信号为ALast信号。在本实施例中根据MLast信号的类型,同样地,ALast信号也包括DIFF、SAME、LAST和CONT四类。
当ALast信号为CONT时,总线101继续数据传送操作,而仲裁器107并不进行新的仲裁。
当ALast信号为DIFF或SAME时,一个流突发并未结束。此时,仲裁器107将发出一个较高级仲裁允许信号ACREQ_arb信号。如果MReq信号中不存在CREQ请求或LREQ请求,而只存在REQ请求或者为IDLE,则仲裁器107不对主设备发出的总线请求做仲裁,此时流突发并不中断,而是继续使用总线101进行数据传送操作。如果MReq信号中存在CREQ请求或LREQ请求,仲裁器107将进入CREQ仲裁时机。
当ALast信号为LAST时,一个完整的流突发已经结束。此时,仲裁器107将同时发出一个较高级仲裁允许信号ACREQ_arb信号和一个较低级仲裁允许信号AREQ_arb信号。如果MReq信号中不存在REQ请求、CREQ请求和LREQ请求,则仲裁器107进入等待状态;如果MReq信号中不存在CREQ请求或LREQ请求,而只存在REQ请求,则仲裁器107进入REQ仲裁时机;如果MReq信号中存在CREQ请求或LREQ请求,仲裁器107将进入CREQ仲裁时机。
在CREQ仲裁时机内,仲裁器107将采用一般算法对优先级别为CREQ和LREQ的请求进行仲裁,从中选出一个CREQ请求或LREQ请求,并对发出该请求的主设备传送授权信号,主设备接到授权信号后开始数据传送操作。
在REQ仲裁时机内,仲裁器采用一般算法,公平地对各个主设备发出的REQ请求进行仲裁,从中选出一个REQ请求,并对发出该请求的主设备传送授权信号,则主设备开始数据传送。
这里的一般算法,指单循环仲裁算法或其他为本技术领域人员公知的仲裁算法,在此不再赘述。
在CREQ仲裁时机内REQ级别的请求将被忽略掉。屏蔽器1074对应于送往仲裁器107的每一个MReq信号而设置。每一个屏蔽器1074设有一个CREQ-En信号端,进入CREQ仲裁时机后,仲裁器107中的控制器1075将CREQ-En信号端置位,通过把CREQ-En信号与输入端的MReq进行逻辑运算操作后,将REQ级别的请求信号屏蔽掉,而使CREQ或LREQ级别的请求信号完整通过。
本实施例中,AGrant和AMnum信号都表示仲裁器107仲裁后经解码器1071送出的信号,二者都为所有主设备共享使用。其中AGrant表示仲裁器107对主设备和从设备做出响应的信号,AMnum信号用来指出仲裁器107授权使用总线的主设备的编码代号。在本实施例中,主设备A 102和主设备B 103的编码代号分别为1和2。解码器1071同时送出的还有ASNum信号,用来指出数据传送操作的目标从设备。
在一个流突发结束前,正在进行数据传送操作的主设备送出的MLast信号为LAST;在一个分段突发结束前,正在进行数据传送操作的主设备送出的MLast信号为SAME或DIFF。经仲裁器107做出仲裁后,ALast信号若为LAST、SAME或DIFF信号,则相应地,仲裁器107进入仲裁状态。也就是说,在每一个流突发和分段突发结束后,仲裁器107都将进入仲裁状态。在仲裁结束并授权主设备占有总线进行数据传送操作时,AGrant信号表现为有效状态,该信号为各主设备和从设备所共享。
在一个流突发未结束,而一个分段突发结束时,正在进行数据传送操作的主设备以外的其他主设备可能由于发出较高优先级别的请求而通过仲裁获得总线使用权。在本实施例中,LREQ和CREQ具有比REQ更高优先权级别,因此,在一个流突发未结束,而仅仅是一个分段突发结束时,由于仲裁器107重新进行仲裁,若其他主设备发出的总线请求MReq信号为LREQ或CREQ级别,则可以参与仲裁;若其他主设备此时发出的总线请求MReq信号仅仅是REQ级别,则该请求将被忽略掉,而继续进行原流突发的下一个分段突发。
若在一个流突发未结束,而一个分段突发结束时,其他主设备的总线请求参与了总线仲裁,并在仲裁之后获得了仲裁器的总线使用授权,则当前主设备的流突发中未完成的操作将压入仲裁器107的缓冲器1072中。在其他主设备的数据传送操作完成后,总线将返回现场重新进行仲裁判断。
图4描述了一次流突发形式的数据传送操作流程。
从步骤401开始,在没有数据传送操作的状态下,如果有主设备发出总线使用请求,步骤402中仲裁器107对所有总线请求进行仲裁。仲裁后进入步骤403,参与仲裁的一总线请求获得授权,对应的主设备开始占用总线进行数据传送操作,同时该主设备发出总线控制信号MLast。步骤404与步骤403为同步进行,该步骤中,当仲裁器107选中该总线请求,相应地,仲裁器107中的解码器1071将送出解码后的ALast信号。步骤405、406、407以及步骤408均为对控制信号ALast进行判断,判断是本实施例中所列四种类型中的哪一类。在数据传送过程中,由仲裁器107同步进行。若在步骤405中,判断得出ALast为CONT信号,表示一个分段突发还未结束,则进入步骤410,继续当前分段突发的数据传送操作。若步骤406的判断结果为ALast为SAME信号或者步骤407的判断结果为DIFF信号,均表示当前流突发尚未结束,但一个分段突发已经传送完成。此时仲裁器107进入仲裁状态,即步骤411,但同时还需要进行步骤412检测是否有新的较高级别的总线请求提出。若步骤412条件满足,则仲裁器在步骤413中将当前的流突发中下一个分段突发请求与新的较高级别的总线请求一起进行仲裁。此处仲裁之后,若不满足步骤414的条件,则进入步骤416,当前流突发数据传送操作继续进行。若满足步骤414的条件,为其他主设备获得总线授权,则先在步骤415中进行其他主设备的数据传送操作。在其他主设备的数据传送操作结束后,即进入步骤416返回至原流突发的现场,继续进行原流突发中的下一个分段突发数据传送操作。若ALast信号经过步骤408判断为LAST,则当前流突发结束,仲裁器回到步骤402的状态,对所有总线请求做仲裁。
以下以两个示例对流突发形式的数据传送操作做进一步解释。
示例一:
图5所示为一次无中断的数据传送中各信号的时序图。
其中,MAdd信号表示数据传送的地址;MData信号表示传送的数据;MCmd信号为正向传送命令,本实施例中为低读高写。从图12中可以看出这是一个完整的流突发,共包含三个分段突发。
第一个分段突发结束前的MLast信号为SAME,即数据传送的目标地址不再连续,但仍旧在同一个从设备内。因此第二个分段突发中,MDstnum信号同第一个分段突发相同,都为从设备A(其代码为0),而Madd信号为0x20,与第一个分段突发目标地址不连续。第三个分段突发为CREQ级别的分段突发,而第二个分段突发结束前的MLast信号为DIFF,因此第三个分段突发的目标地址在从设备C(其代码为2),与第二个分段突发目标地址在不同的从设备。
AGrant信号和AMnum信号为仲裁器107发出的信号。在第一个分段突发结束前的MLast信号为SAME,表示下一个分段突发的数据传送目标地址仍旧在同一从设备,因此AGrant信号维持有效状态(在本实施例中以高电平状态为有效状态),表示仲裁器107对该主设备仍旧有响应。在第二个分段突发结束前的MLast信号为DIFF,指示下一个分段突发的数据传送目标地址是在不同的从设备,仲裁器107在DIFF信号之后的一个时钟周期内因为需要进行仲裁判断而无法得知MLast信号和目标从设备,也就无法对主设备做出响应,所以AGrant信号在DIFF信号后的分段突发的第一个时钟周期内为低电平状态,而在之后的一个时钟周期内仲裁器107从主设备获取MDstnum信号后对主设备做出响应,AGrant信号又重新为高电平状态,直至该流突发完全结束。AMnum信号持续为1,即该示例中以主设备A为本次流突发传送的主设备。
示例二:
图6所示为一次有中断的数据传送中各信号的时序图。为了便于说明,图中以MReq1,MLast1,MAdd1,MData1,MDstnum1,MCmd1表示主设备A进行的数据传送操作的请求信号;而以MReq2,MLast2,MAdd2,MData2,MDstnum2,MCmd2表示主设备B进行的数据传送操作的请求信号。ALast信号是仲裁器107对MLast1和MLast2做出响应后送出的信号。
图6中的主设备A的一次流突发传送操作是与图5中的主设备完全一样的操作,但由于主设备A在本次流突发传送操作期间受到其他主设备的较高级别的总线请求引起的中断,主设备A的流突发的时序也相应产生了一些变化。与图5中的主设备相同,图6中的主设备A的总线请求为一个完整的流突发,包括四个分段突发。但图6中的主设备A在第三个分段突发却产生了延时,其原因就是主设备A的第三个分段突发被主设备B的一个CREQ级别的请求所中断。
在主设备A的第一个分段突发结束前,MLast1为SAME,仲裁器107进入仲裁状态,但主设备B此时发出的请求MReq2为REQ级别,在本实施例中规定REQ级别的请求不能中断一个流突发,因此,主设备A仍将继续进行当前流突发的第二个分段突发操作。在主设备A的第二个分段突发结束前MLast1信号为DIFF,仲裁器107进入仲裁状态,主设备B此时发出的请求MReq2为CREQ级别,主设备A的第三个分段突发为CREQ级别的请求,由仲裁器107对主设备A和主设备B的这两个同为CREQ级别的总线请求做出仲裁。本示例中主设备B的请求得到仲裁器107的总线授权,因此在主设备A的第三个分段突发将被暂时中止,总线101先处理主设备B的总线请求。而主设备A的第三个分段突发操作被压入到仲裁器107的缓冲器1072中暂存。在主设备B的总线请求已经被处理完后,总线将回到现场,若此时无其他新的总线使用请求需进行仲裁,则继续进行主设备A的第三个分段突发操作。从图中也可得到反映,MAdd1和MData1在第三个分段突发都有延迟,延迟期间即在等待主设备B的数据传送操作。仲裁器107的AMnum信号在主设备A的流突发操作中为1,表示进行数据传送操作的主设备为主设备A;而在主设备B的总线使用请求授权后,AMnum信号也成为2,表示正在进行数据传送操作的主设备为主设备B。在主设备B的总线请求完成后,AMnum信号又回到1,表示总线又返回到主设备A的原流突发现场,继续原流突发的数据传送操作。
图7是表示执行图4所示数据传送操作流程的一个数据传送系统的方框图。该数据传送系统用以经由总线在主设备与从设备之间进行数据传送操作,而该数据传送操作包含流突发数据传送操作。该数据传送系统包括判断装置701,用以判断所述主设备发出的总线控制信号是CONT信号、LAST信号、SAME信号和DIFF信号中的哪一种信号;检测装置702,用以当所述判断装置701判断所述总线控制信号是SAME信号或DIFF信号时,检测除当前主设备以外的其它主设备是否发出新的较高级别的总线请求;仲裁装置703,对当前主设备的流突发数据传送操作中的下一个分段突发请求与所述检测装置测得的其它主设备的较高级别的总线请求进行仲裁;以及数据传送操作装置704,根据所述仲裁装置703的仲裁结果经由所述总线101在获得授权的主设备与从设备之间进行所述的数据传送操作。其中的仲裁装置703可以采用图3所示的仲裁器。
本实施例只是为了进一步更清楚地描述本发明,而非对本发明的限制。应该可以理解,本发明并不限于实施例所做的阐述,任何基于本发明的修改和本发明的等同物都应涵盖在本发明的权利要求的精神和范围之内。
Claims (8)
1.一种数据传送方法,包括经由总线在主设备与从设备之间进行数据传送操作,所述数据传送操作包含流突发数据传送操作,所述方法包括如下步骤:
a.对主设备发出的总线使用请求进行仲裁;
b.经仲裁获得授权的主设备进行流突发数据传送操作并同时向总线发出总线控制信号,所述流突发包含至少一个分段突发;
c.判断所述总线控制信号是CONT信号、LAST信号、SAME信号和DIFF信号中的哪一种信号,其中,CONT信号表示一个流突发中的一个分段突发没有结束,LAST信号表示一个流突发的结束,SAME信号表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问同样的从设备且访问请求的等级相同,DIFF表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问不同的从设备或者访问请求的等级不同;
d.当判断所述总线控制信号是CONT信号时,继续当前流突发数据传送操作的分段突发的数据传送操作;
e.当判断所述总线控制信号是SAME信号或DIFF信号时,检测是否有其它主设备发出的新的较高级别的总线请求;
f.当检测到其它主设备有新的较高级别的总线请求时,对该请求与当前主设备的流突发数据传送操作中的下一个分段突发请求进行仲裁;
g.经仲裁获得授权的主设备优先进行数据传送操作;
h.当判断所述总线控制信号是LAST信号时,返回步骤a的操作。
2.如权利要求1所述的方法,其特征在于,当步骤e未检测到其它主设备发出新的较高级别的总线请求时,继续当前主设备的流突发数据传送操作。
3.如权利要求1所述的方法,其特征在于,当步骤g获得授权的其它主设备优先进行数据传送操作时,暂停当前主设备的流突发数据传送操作中未完成的操作。
4.如权利要求3所述的方法,其特征在于,获得授权的其它主设备优先进行数据传送操作完成后,继续当前主设备的流突发数据传送操作的下一个分段突发数据的传送操作。
5.如权利要求1所述的方法,其特征在于还包括对主设备发出的总线控制信号进行解码的步骤。
6.一种数据传送系统,用以经由总线在主设备与从设备之间进行数据传送操作,所述数据传送操作包含流突发数据传送操作,所述系统包括:
判断装置,用以判断所述主设备发出的总线控制信号是CONT信号、LAST信号、SAME信号和DIFF信号中的哪一种信号,其中,CONT信号表示一个流突发中的一个分段突发没有结束,LAST信号表示一个流突发的结束,SAME信号表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问同样的从设备且访问请求的等级相同,DIFF表示一个流突发中的一个分段突发的结束,预告下一个分段突发和本分段突发访问不同的从设备或者访问请求的等级不同;
检测装置,用以当所述判断装置判断所述总线控制信号是SAME信号或DIFF信号时,检测除当前主设备以外的其它主设备是否发出新的较高级别的总线请求;
仲裁装置,对当前主设备的流突发数据传送操作中的下一个分段突发请求与所述检测装置测得的其它主设备的较高级别的总线请求进行仲裁的仲裁装置;以及
数据传送操作装置,根据所述仲裁装置的仲裁结果经由所述总线在获得授权的主设备与从设备之间进行所述的数据传送操作。
7.如权利要求6所述的数据传送系统,其特征在于,所述仲裁装置包括对主设备发出的总线控制信号进行解码的解码装置。
8.如权利要求6所述的数据传送系统,其特征在于,所述仲裁装置包括暂存当前主设备的流突发数据传送操作的缓冲装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031294154A CN1296844C (zh) | 2003-06-20 | 2003-06-20 | 数据传送方法和数据传送系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031294154A CN1296844C (zh) | 2003-06-20 | 2003-06-20 | 数据传送方法和数据传送系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1567279A true CN1567279A (zh) | 2005-01-19 |
CN1296844C CN1296844C (zh) | 2007-01-24 |
Family
ID=34469311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031294154A Expired - Fee Related CN1296844C (zh) | 2003-06-20 | 2003-06-20 | 数据传送方法和数据传送系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1296844C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407182C (zh) * | 2005-07-19 | 2008-07-30 | 威盛电子股份有限公司 | 用于在数据传送中排序事务处理节拍的装置和方法 |
CN101833441A (zh) * | 2010-04-28 | 2010-09-15 | 中国科学院自动化研究所 | 并行向量处理引擎结构 |
CN1892632B (zh) * | 2005-07-01 | 2012-02-29 | 三星电子株式会社 | 总线系统和仲裁其的方法 |
CN102804158A (zh) * | 2010-03-19 | 2012-11-28 | 想象技术有限公司 | 总线架构中的请求和数据处理 |
CN103106113A (zh) * | 2013-02-25 | 2013-05-15 | 广东威创视讯科技股份有限公司 | 一种中断事件处理方法和处理设备 |
CN108197046A (zh) * | 2017-12-30 | 2018-06-22 | 盛科网络(苏州)有限公司 | 一种实现原子操作的系统及方法 |
CN109002408A (zh) * | 2018-07-18 | 2018-12-14 | 北京忆芯科技有限公司 | 总线仲裁方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5239631A (en) * | 1991-10-15 | 1993-08-24 | International Business Machines Corporation | Cpu bus allocation control |
US6192424B1 (en) * | 1998-12-11 | 2001-02-20 | Oak Technology, Inc. | Bus arbiter for facilitating access to a storage medium in enhanced burst mode using freely specifiable address increments/decrements |
KR100644596B1 (ko) * | 2000-07-27 | 2006-11-10 | 삼성전자주식회사 | 버스 시스템 및 그 버스 중재방법 |
US7072996B2 (en) * | 2001-06-13 | 2006-07-04 | Corrent Corporation | System and method of transferring data between a processing engine and a plurality of bus types using an arbiter |
US6775727B2 (en) * | 2001-06-23 | 2004-08-10 | Freescale Semiconductor, Inc. | System and method for controlling bus arbitration during cache memory burst cycles |
-
2003
- 2003-06-20 CN CNB031294154A patent/CN1296844C/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892632B (zh) * | 2005-07-01 | 2012-02-29 | 三星电子株式会社 | 总线系统和仲裁其的方法 |
CN100407182C (zh) * | 2005-07-19 | 2008-07-30 | 威盛电子股份有限公司 | 用于在数据传送中排序事务处理节拍的装置和方法 |
CN102804158A (zh) * | 2010-03-19 | 2012-11-28 | 想象技术有限公司 | 总线架构中的请求和数据处理 |
CN104794076A (zh) * | 2010-03-19 | 2015-07-22 | 想象技术有限公司 | 处理总线架构中的请求的方法及总线架构 |
CN102804158B (zh) * | 2010-03-19 | 2016-05-04 | 想象技术有限公司 | 总线架构及从至少一从设备向多个主路径发送数据的方法 |
CN104794076B (zh) * | 2010-03-19 | 2018-01-26 | 想象技术有限公司 | 处理总线架构中的请求的方法及总线架构 |
CN101833441A (zh) * | 2010-04-28 | 2010-09-15 | 中国科学院自动化研究所 | 并行向量处理引擎结构 |
CN103106113A (zh) * | 2013-02-25 | 2013-05-15 | 广东威创视讯科技股份有限公司 | 一种中断事件处理方法和处理设备 |
CN108197046A (zh) * | 2017-12-30 | 2018-06-22 | 盛科网络(苏州)有限公司 | 一种实现原子操作的系统及方法 |
CN109002408A (zh) * | 2018-07-18 | 2018-12-14 | 北京忆芯科技有限公司 | 总线仲裁方法和系统 |
CN109002408B (zh) * | 2018-07-18 | 2022-09-09 | 北京忆芯科技有限公司 | 总线仲裁方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1296844C (zh) | 2007-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1207670C (zh) | 具有重叠读写操作和可伸缩地址流水线化的数据传送系统 | |
US7765350B2 (en) | Method and system for bus arbitration | |
CN100347642C (zh) | 具有进行本征时钟控制的硬件机构的半导体器件 | |
CN108536526B (zh) | 一种基于可编程硬件的资源管理方法以及装置 | |
CN1191531C (zh) | 总线系统 | |
CN1143514C (zh) | 采用负载预测的系统优化装置 | |
CN1728118A (zh) | 资源分配管理 | |
US20020161978A1 (en) | Multi-service system-on-chip including on-chip memory with multiple access path | |
WO2012000365A1 (zh) | 一种优先级仲裁方法及装置 | |
CN1694085A (zh) | 内部总线系统 | |
CN1703676A (zh) | 基于进程事件的信号量系统 | |
US8521930B1 (en) | Method and apparatus for scheduling transactions in a host-controlled packet-based bus environment | |
CN1913477A (zh) | 仲裁对共享资源的访问的系统、方法和计算机程序产品 | |
CN1162785A (zh) | 存储器直接存取控制设备 | |
CN101046786A (zh) | 一种实现高效dma传输的dma控制器及传输方法 | |
CN1478346A (zh) | 相互通信的预处理器 | |
CN1296844C (zh) | 数据传送方法和数据传送系统 | |
CN101038574A (zh) | 总线仲裁装置 | |
EP1811393B1 (en) | Method and system for data transfer | |
CN1224918C (zh) | 总线、属于此总线的冗余总线系统和其内传输信息的方法 | |
CN1355635A (zh) | 使用总线的预仲裁装置及其方法 | |
CN1581125A (zh) | 仲裁器和仲裁方法 | |
US6571306B1 (en) | Bus request mechanism for bus master which is parked on a shared bus | |
CN101075221A (zh) | 管理分离总线上总线代理之间的数据流的方法和系统 | |
CN101038573A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070124 Termination date: 20110620 |