WO2006024193A1 - Procede et systeme pour transfert de donnees - Google Patents
Procede et systeme pour transfert de donnees Download PDFInfo
- Publication number
- WO2006024193A1 WO2006024193A1 PCT/CN2004/001003 CN2004001003W WO2006024193A1 WO 2006024193 A1 WO2006024193 A1 WO 2006024193A1 CN 2004001003 W CN2004001003 W CN 2004001003W WO 2006024193 A1 WO2006024193 A1 WO 2006024193A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- burst
- signal
- data transfer
- master device
- bus
- Prior art date
Links
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
- G06F13/364—Handling 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
Definitions
- the present invention relates to a data transfer method and a data transfer system. More particularly, it relates to a method and system for efficiently and efficiently transferring data between a master device and a slave device using a bus in an architecture having multiple master devices. Background technique
- Processing units in the system may include various devices such as a central processing unit (CPU), digital signal processor (DSP), and memory.
- CPU central processing unit
- DSP digital signal processor
- memory Especially in a system-on-a-chip, it is often necessary to integrate a large number of devices on the same chip at the same time. Due to various considerations such as area and cost, such systems often share resources between processing units in a shared bus manner.
- a request is made to the bus, and a device that requires data transfer is called a master device; and a target device that the master device requires data transfer with is called a slave device.
- a multi-device system there may be two or more master and slave devices.
- only one master device can use the system bus at the same time.
- the master device Before the master device uses the system bus, it often sends out a bus usage request. After the bus is arbitrated and authorized, the master device can start to control the bus. Then, the master device issues the address and data, sends the data to the corresponding address of the slave device through the bus or reads the data from the corresponding address of the slave device, until the data transfer operation between the master device and the slave device is completed. bus.
- each time the master uses the bus it always issues a single address, so only a single data whose destination is the same address of the same slave can be sent.
- the bus use request is issued again, and arbitration is again performed by the bus.
- a data transmission system as disclosed in a Chinese patent (Patent No. 86108261).
- the data transfer system is used to transfer data from the I/O (input/output) device to the main memory, the data is first sent by the I/O device 16 through the data bus 40 to the input buffer 30, and then at the address indicated by the address register. Store the data in the buffer. At this time, the address register 28 and the count register are respectively updated.
- address register 28 When data is written in the forward direction, address register 28 is incremented by one, and count register 32 is decremented by one. When data is read back, address register 28 is decremented by one, and count register 32 is still decremented by one. In this data transfer system, if the master device needs to continuously send multiple data, the first bus request is sent from the master device to the completion of all the numbers.
- the bursty data transfer method is an improvement to this single data transfer method.
- This method of data transmission can continuously transmit a large amount of data, but there are still some drawbacks, because bursty data transmission requires data to be at consecutive addresses. That is to say, if the master device reads the operation, the data to be read should be on consecutive adjacent addresses of the same slave device. If the master device writes, the transmitted data must be consecutive neighbors sent to the same slave device. On the address. If the address of the received data is not continuous, the master device is also required to issue a bus usage request again, and the bus arbiter re-arbitrates.
- the present invention proposes a new bus system in which a data burst operation is performed by means of a stream burst.
- An object of the present invention is to provide a data transfer method and a data transfer system in which stream burst data transfer is employed to effectively improve bus use efficiency.
- a data transfer method comprising: performing a data transfer operation between a master device and a slave device via a bus, the data transfer operation including a stream burst data transfer operation, the method comprising the steps of:
- the master device authorized by arbitration performs a stream burst data transfer operation and simultaneously sends a bus control signal to the bus, the stream burst including at least one segment burst;
- the CONT signal indicates that a segment burst in a stream burst does not end
- the LAST signal indicates a stream burst End
- the intermediate signal represents the end of a segmented burst in a stream burst, and the stream burst has not ended
- bus control signal is an intermediate signal, detecting whether there is a new higher level bus request from another master device
- step a The master device authorized by arbitration preferentially performs data transfer operations; h.
- the bus control signal is a LAST signal, the operation of step a is returned.
- a data transfer system for performing a data transfer operation between a master device and a slave device via a bus, the data transfer operation including a stream burst data transfer operation, the system Includes:
- a judging device configured to determine, by the master device, which one of a CONT signal, a LAST signal, and an intermediate signal, wherein the CONT signal indicates that a segment burst in a stream burst does not end,
- the LAST signal represents the end of a stream burst, the intermediate signal represents the end of a segmented burst in a stream burst, and the burst has not ended;
- a detecting device configured to detect, when the determining device determines that the bus control signal is an intermediate signal, whether a host device other than the current master device issues a new higher level bus request;
- Arbitration means arbitration means for arbitrating the next segment burst request in the current burst operation of the master device and the higher level bus request of the other master device measured by the detecting means;
- the data transfer operating means performs the data transfer operation between the authorized master device and the slave device via the bus according to the arbitration result of the arbitration device.
- data is transmitted in the form of a stream burst, and data transmitted by the stream burst does not require address continuity, and thus can be transmitted in a large amount without being restricted by non-adjacent data transfer addresses or different target slave devices. Data, which improves the efficiency of the bus.
- the corresponding priority levels are respectively set corresponding to the segment bursts in the stream burst, not only during the same stream burst operation, but also according to The priority level is processed in sequence to process the segmentation burst; and, in the process of a stream burst operation, if a new stream burst has a higher priority segment burst to issue a bus usage request, Give priority to respond.
- the present invention preferably ensures that a data transfer operation having a higher priority level can obtain a priority response in this manner.
- FIG. 1 is a block diagram showing a bus system according to an embodiment of the present invention.
- Figure 2 is a schematic diagram showing the assignment of slave addresses of the bus system shown in Figure 1;
- Figure 3 is a block diagram showing an arbiter of the bus system shown in Figure 1;
- Figure 4 is a flow chart showing a stream burst form data transfer operation in accordance with the present invention;
- Figure 5 is a timing diagram showing signals in an uninterrupted data transfer operation in accordance with one embodiment of the present invention;
- FIG. 6 is a timing diagram showing signals in an interrupted data transfer operation in accordance with one embodiment of the present invention.
- FIG 7 is a block diagram showing a data transfer system for executing the flow of the data transfer operation shown in Figure 4; detailed description
- the bus system of the present invention includes a master device and a slave device, and has an arbiter for arbitrating bus usage requests of the master device.
- the arbitrator arbitrates and grants to the master device
- the master device reads and writes to the slave device through the bus in a Stream Burst manner.
- the sequence of signals that the master sends a bus request to the arbiter includes a sequence of ordered control signals to indicate the operational status of the data transfer.
- the data signal sequence sent by the master device may include multiple single data (Single Data), and may also include multiple bursts of discontinuous destination addresses (Burst), and multiple single data addresses of different slave devices. And sudden.
- the sequence of data signals sent by the master device in the present invention is defined as a stream burst. Each stream burst contains at least one segmented burst.
- a segmentation burst can be a single piece of data or a burst.
- a burst is a sequence of consecutive and aligned data, and the length is an
- the data transmission operation status that the control signal sent by the master device can mark includes at least the following categories: one segment burst does not end; one stream burst has ended; one stream burst does not end and one segment burst has End.
- the corresponding control signals are CONT, LAST and intermediate signals. Wherein, the CONT signal indicates that one segment burst in one stream burst does not end; the LAST signal indicates the end of a stream burst; the intermediate signal indicates the end of a segment burst in a stream burst, and the stream The hair is not over yet.
- the third class data transfer operation state can be further divided into two categories: , a stream burst does not end and the current segment burst has ended, and the next segment burst and the current segment burst access are the same slave device; the other is a stream burst. The end and the current segmentation burst have ended, and the next segment burst and the current segment burst access are different slave devices.
- the intermediate signals are respectively a SAME signal and a DIFF signal, wherein the SAME signal indicates the end of one segment burst in one stream burst, and the next slave device is predicted to be the same slave burst as the segment burst access. And the access request has the same level; the DIFF signal indicates the end of one segment burst in one stream burst, and predicts that the next segment burst and the segment burst access have different levels of different slave devices or access requests.
- the signal sequence in which the master device issues a bus usage request to the arbiter also includes a control signal to set a certain level for the bus usage request.
- the level control signals are configured by software according to the priority level of the corresponding transfer operation of the segment bursts, and are sequentially transmitted in the order of the corresponding data transfer operations.
- the priority level of the bus usage request is determined by the level control signal, and the bus arbiter can determine the order of the response requests directly based on the level of the bus usage request.
- the arbiter will enter the arbitration state according to the control signal completed by the flag segment burst, and will arbitrate when the arbiter finds other higher level bus requests; The arbitration state is terminated when no other higher-level bus request is found, and the original burst transmission operation is continued.
- the bus can respond to a segment burst that is not in the stream burst and has a higher priority during a stream burst operation, and after the segment burst operation with the higher priority level ends Return to the original stream burst operation site and continue the original stream burst operation.
- a bus system of the present invention includes a bus 101, and a master device A 102, a master device B 103, a slave device A 104, a slave device B 105, and a slave device C 106 are respectively connected to a bus 101, and data is shared by a bus. Transfer operation.
- a bus arbiter 107 is provided on the bus 101 to be coupled to the master device A 102 and the master device B 103, respectively, for arbitrating the bus usage request of the master device.
- the number of the request slave device that the master device sends to the arbiter 107 is indicated by the MDstnum signal.
- An exemplary description is made with three slave devices, and Table 1 shows the separate encoding of the three slave devices. Table 1
- the present invention has no limitation on the number of master devices and slave devices. Accordingly, the encoding of the MDstnum signal can also be adjusted according to the number of slave devices actually used.
- the address assignment of the three slave devices is shown in Figure 2, slave device A is 00 - 7F, slave device B is 80-1FFF, and slave device C is 2000-FFFF.
- the bus request signal line MReq[l:0] of the master device and the control signal line MLast[l:0] are connected to the arbiter 107, respectively.
- Fig. 1 in order to clearly show the MLast signal line and the MReq signal line, other signal lines are omitted.
- each signal line is provided with a special connection line for each signal to realize the transmission of each signal.
- the signal transmission can also be implemented by a bus pipeline method or the like. Lose.
- Bus Usage Request Signal MReq includes four types, namely IDLE, REQ, CREQ and LREQ, whose decoding and meaning are shown in Table 2. Table 2
- the REQ signal is a general read/write request, and LREQ and CREQ are higher in priority than REQ. Therefore, if the MReq issued by the master device A 102 and the master device B 103 is CREQ or LREQ, the response can be obtained more quickly than the REQ.
- the LREQ request is a special type of request, which requests an atomic operation of a read and write operation. Since the read and write operations need to be performed continuously, the bus will not respond to other LREQs during an LREQ response, so It is set to a request with a higher priority.
- the bus use request signal MReq can be flexibly set by programming or the like at each data transfer, so the priority level of the bus request issued by the master device can be determined according to the actual demand at each data transfer.
- the IDLE type request is set in this embodiment to prevent the MReq signal line from being disturbed by the outside world due to the unstable state in the floating state when there is no bus request signal, thereby ensuring the stability of the system on the one hand.
- the bus usage request signal MReq can be set to a certain level as needed, and the encoding can be changed accordingly, as will be readily understood and implemented by those skilled in the art.
- the control signal used to transmit the control signal line MLa S t[l:0] marks the state of the data transfer operation requested by the master device.
- four states are defined for the data transfer operation, including CONT, SAME, DIFF, and LAST, the encoding and meanings of which are shown in Table 3.
- the CONT signal indicates that a segmented burst is still in the process of transmission, so the data transfer address corresponding to the CONT signal is continuous, neither receiving a new address nor re-arbitrating.
- the LAST signal indicates that a complete stream burst has been transferred. In this case, if the data transfer operation is to be performed, the arbiter 107 is required to re-arbitrate the bus use request. Both the SAME and DIFF signals indicate that a segmented burst has been transmitted and a stream burst has not yet ended.
- the SAME signal is used to predict the next segmented burst and the same slave device as the segmented burst access, except that the address and the segment burst may be discontinuous, and the next segment burst Same as the level of the burst access request of this segment, that is, both REQ or CREQ.
- the DIFF signal is used to predict that the next segment burst and the segment burst access are different slave devices, or the next segment burst and the segment burst access request are not of the same level.
- the address range returned by the arbitration site is within the same device address range, so all requests of the level REQ in a stream burst can only access the same slave. device.
- control signal MLast can also be adjusted according to the type of data transfer operation state actually required.
- the data that can be transmitted by the stream burst data transmission method of the present invention includes data in a single data and burst form.
- the stream burst mode does not require that the address of the data transfer be always continuous, that is, the data in the form of single data and bursts may not be at consecutive addresses.
- the corresponding slave device is required to receive data in burst form.
- Table 4 and Table 7 illustrate the data transfer form of the stream burst by way of example.
- This request in Table 4 is issued to slave B 105.
- the signal sequence for this request will be viewed from device B 105 as a stream burst consisting of one segmented burst, and this segmented burst includes 8 consecutive address data.
- table 5
- This request in Table 5 is issued to slave A 104.
- the signal sequence of this request will be formed from device A 104 as a stream burst consisting of 4 segment bursts, each of which includes 2 consecutive address data.
- Table 6
- the signal sequence for this request in Table 6 is a stream burst consisting of 4 segment bursts, each segment burst comprising 2 consecutive address data.
- the level of the access request of the second segment burst and the first segment burst is different, so the MLast signal at the end of the first segment burst is DIFF; similarly, The fourth segment burst and the third segment burst access request The level is different, so the MLast signal at the end of the third segment burst is DIFF.
- the second segment burst and the third segment burst have the same level of access requests, and both access slave C 106, so the MLast signal at the end of the second segment burst is SAME.
- the signal sequence for this request in Table 7 is a stream burst consisting of 4 segment bursts, each segment burst comprising 2 consecutive address data.
- the second segment burst and the first segment burst have the same level of access requests, and both access slave B 105, so the MLast signal at the end of the first segment burst is SAME; the second The level of access requests for the segmentation burst and the third segment burst are different, and the slave devices accessed are different, so the MLast signal at the end of the second segment burst is DIFFo, here, the third score
- the segment burst access request level is CREQ, not REQ, so it can access different slave devices with its previous segment burst; and the fourth segment burst and the third segment burst access request The level is the same, but the slave devices accessed are different, so the MLast signal at the end of the third segment burst is also DIFF.
- the arbiter 107 Corresponding to the hierarchical level of the bus request, the arbiter 107 also sets different arbitration opportunities for the arbitration of the bus usage request. There are two arbitration opportunities in this embodiment, namely CREQ arbitration timing and REQ arbitration timing. At the REQ arbitration occasion, the arbiter 107 can arbitrate various types of bus requests issued by the respective master devices, including CREQ, REQ, and LREQ; and in the CREQ arbitration timing, the arbiter 107 can only issue CREQ and LREQ for each master device. Wait for a higher priority bus request to arbitrate.
- a decoder 1071, a buffer 1072, and an arbitration state machine 1073 are provided in the arbiter 107.
- the decoder 1071 is configured to decode the request signals such as the MReq signal, the MLast signal, and the MDstnum signal sent by the selected master device after arbitration, and send them to the corresponding master device and the slave device.
- the arbitration state machine 1073 is used to select the appropriate arbitration opportunity to arbitrate the bus usage request issued by the master device and decide to respond to the device.
- the arbitration state machine 1073 further includes a shield 1074 and a controller 1075.
- the arbiter 107 first detects the MReq signal, and if it finds that there is an LREQ request, it immediately checks to see if the bus 101 is in a latched (LOCK) state. Generally, an LREQ is being performed on the bus 101. When reading and writing atomic operations, bus 101 automatically enters the latched state. If the bus 101 is in the latched state at this time, the current LREQ read request will be ignored.
- LOCK latched
- the MLast signal requested by each bus is decoded by the decoder 1071 to produce an ALast signal.
- the ALast signal also includes four types of DIFF, SAME, LAST, and CONT.
- the bus 101 continues the data transfer operation, and the arbiter 107 does not perform a new arbitration.
- the arbiter 107 When the ALast signal is DIFF or SAME, a stream burst does not end. At this time, the arbiter 107 will issue a higher level arbitration enable signal ACREQ-arb signal. If there is no CREQ request or LREQ request in the MReq signal, but only the REQ request or IDLE exists, the arbiter 107 does not arbitrate the bus request issued by the master device, and the stream burst is not interrupted, but continues to use the bus 101. Perform data transfer operations. If there is a CREQ request or an LREQ request in the MReq signal, the arbitrator 107 will enter the CREQ arbitration opportunity.
- the arbiter 107 When the ALast signal is LAST, a complete stream burst has ended. At this time, the arbiter 107 will simultaneously issue a higher level arbitration enable signal ACREQ-arb signal and a lower level arbitration enable signal AREQ_arb signal. If there is no REQ request, CREQ request, and LREQ request in the MReq signal, the arbiter 107 enters a wait state; if there is no CREQ request or LREQ request in the MReq signal, but only the REQ request exists, the arbiter 107 enters the REQ arbitration occasion; If there is a CREQ request or an LREQ request in the MReq signal, the arbiter 107 will enter the CREQ arbitration occasion.
- the arbiter 107 will use a general algorithm to arbitrate requests with priority levels CREQ and LREQ, select a CREQ request or an LREQ request from it, and transmit an authorization signal to the master device that issued the request.
- the data transfer operation starts after the authorization signal.
- the arbiter uses a general algorithm to arbitrate the REQ request sent by each master device, select a REQ request from it, and transmit an authorization signal to the master device that issued the request, then the master device starts data transmission. .
- the general algorithm herein refers to a single-loop arbitration algorithm or other arbitration algorithm known to those skilled in the art, and details are not described herein.
- the mask 1074 is set corresponding to each MReq signal sent to the arbiter 107.
- Each of the shields 1074 is provided with one
- the controller 1075 in the arbiter 107 sets the CREQ-En signal terminal, and performs a logical operation operation on the MReq of the input terminal after the CREQ-En signal, and then requests the REQ level.
- the signal is masked off, and the CREQ or LREQ level request letter is sent. The number is completely passed.
- both the AGrant and AMnum signals indicate the signals sent by the arbiter 107 after being arbitrated by the decoder 1071, both of which are shared for use by all the master devices.
- the AGrant indicates the signal that the arbiter 107 responds to the master device and the slave device, and the AMnum signal is used to indicate the code number of the master device authorized by the arbiter 107 to use the bus.
- the code numbers of the master device A 102 and the master device B 103 are 1 and 2, respectively.
- the decoder 1071 also sends out an ASNum signal to indicate the target slave of the data transfer operation.
- the MLast signal sent by the master device that is performing the data transfer operation is LAST; before the end of a segment burst, the MLast signal sent by the master device that is performing the data transfer operation is SAME or DIFF.
- the arbiter 107 After the arbitration by the arbiter 107, if the ALast signal is a LAST, SAME or DIFF signal, then the arbiter 107 enters the arbitration state accordingly. That is, after each stream burst and segmentation burst ends, the arbiter 107 will enter the arbitration state.
- the AGrant signal appears to be in a valid state, which is shared between the master device and the slave device.
- LREQ and CREQ have higher priority levels than REQ, and therefore, when one stream burst is not ended, but only one segment burst ends, the arbiter 107 re-arbitrates, if other masters If the bus request MReq signal sent by the device is LREQ or CREQ level, then it can participate in arbitration; if the other host device issues a bus request MReq signal at the REQ level, the request will be ignored and the original flow will continue. The next burst of bursts.
- the bus request of the other master device participates in the bus arbitration, and after the arbitration obtains the bus use authorization of the arbiter, the stream burst of the current master device
- the unfinished operation will be pushed into the buffer 1072 of the arbiter 107.
- the bus will return to the site to re-arbitrate.
- Figure 4 depicts the flow of data transfer operations in the form of a stream burst.
- step 401 in the state where there is no data transfer operation, if there is a master device issuing a bus use request, the arbiter 107 arbitrates all bus requests in step 402. After the arbitration, the process proceeds to step 403. A bus requesting arbitration is authorized, and the corresponding master device starts to occupy the bus for data transfer operation, and the master device issues the bus control signal MLast.
- Step 404 and step 403 are performed synchronously. In this step, when the arbiter 107 selects the bus request, accordingly, the decoder 1071 in the arbiter 107 will send the decoded ALast signal.
- Steps 405, 406, 407 and step 408 All of them are judged by the control signal ALast, and it is judged which one of the four types listed in this embodiment.
- the arbiter 107 performs synchronization. If it is determined in step 405 that ALast is a CONT signal indicating that a segmentation burst has not ended, then step 410 is entered to continue the data transmission operation of the current segmentation burst. If the result of the determination in step 406 is that the ALAST is the SAME signal or the judgment result of the step 407 is the DIFF signal, it indicates that the current stream burst has not ended yet, but one segment burst has been transmitted.
- step 412 is also required to detect if a new higher level bus request has been made. If the condition of step 412 is satisfied, the arbiter arbitrates the next segment burst request in the current stream burst with the new higher level bus request in step 413. After arbitration here, if the condition of step 414 is not met, then step 416 is entered and the current stream burst data transfer operation continues. If the condition of step 414 is satisfied and the bus authorization is obtained for the other master devices, the data transfer operation of the other master devices is performed first in step 415.
- step 416 After the data transfer operation of the other master devices ends, the process proceeds to step 416 to return to the scene of the original stream burst, and the next segment burst data transfer operation in the original stream burst is continued. If the ALast signal is determined to be LAST via step 408, the current stream burst ends and the arbiter returns to the state of step 402 to arbitrate all bus requests.
- Example 1 The following is a further explanation of the data transfer operation in the form of a stream burst in two examples.
- Example 1
- Figure 5 shows the timing diagram for each signal in an uninterrupted data transfer.
- the MAdd signal indicates the address of the data transfer; the MData signal indicates the transmitted data; and the MCmd signal is the forward transfer command, which is a low read high write in this embodiment. It can be seen from Figure 12 that this is a complete stream burst with a total of three segment bursts.
- the MLast signal before the end of the first segment burst is SAME, that is, the destination address of the data transfer is no longer continuous, but it is still in the same slave device. Therefore, in the second segment burst, the MDstnum signal is the same as the first segment burst, both slave A (its code is 0), and the Madd signal is 0x20, with the first segment burst target address. Discontinuous.
- the third segment burst is a segmented burst of the CREQ level, and the MLast signal before the end of the second segment burst is DIFF, so the target address of the third segment burst is at slave C (its code For 2), the slave segment destination address is different from the second segment.
- the AGnmt signal and the AMnum signal are signals from the arbiter 107.
- the MLast signal before the end of the first segmentation burst is SAME, indicating that the data transfer destination address of the next segment burst is still in the same slave device, so the AGrant signal remains in the active state (in this embodiment, the high level is high).
- the status is active), indicating that the arbiter 107 still responds to the master device.
- the MLast signal before the bundle is DIFF, indicating that the data transfer destination address of the next segment burst is at a different slave device, and the arbitrator 107 cannot know the MLast signal within one clock cycle after the DIFF signal because arbitration judgment is required.
- the target slave device so that it cannot respond to the master device, so the AGmnt signal is in the low state for the first clock cycle of the segmented burst after the DIFF signal, and the arbiter is in the next clock cycle. 107
- the master device After receiving the MDstnum signal from the master device, the master device responds, and the AGrant signal is again in a high state until the stream burst ends completely.
- the AMnum signal continues to be 1, which is the master device in this example with Master A being the current burst.
- Example two
- FIG. 6 shows the timing diagram of each signal in an interrupted data transfer.
- MReq1, MLastl, MAddl, MDatal, MDstnum1, MCmdl represent the request signal of the data transfer operation performed by the master device A; and MReq2, MLast2, MAdd2, MData2, MDstnum2, MCmd2 represent the master device B.
- the ALast signal is the signal sent by the arbiter 107 in response to MLastl and MLast2.
- the primary stream burst transfer operation of the master device A in FIG. 6 is exactly the same operation as the master device in FIG. 5, but since the master device A is subjected to a higher level of other master devices during the current stream burst transfer operation
- the interrupt caused by the bus request the timing of the stream burst of the master device A also produces some changes.
- the bus request for master device A in Figure 6 is a complete stream burst, including four segment bursts.
- master device A in Figure 6 has a delay in the third segment burst because the third segment burst of master A is interrupted by a CREQ request from master B.
- MLastl is the SAME, and the arbiter 107 enters the arbitration state, but the request MReq2 issued by the master device B at this time is the REQ level.
- the REQ level request is specified.
- a stream burst cannot be interrupted, so master A will continue to perform the second segment burst operation of the current stream burst.
- the MLast1 signal is DIFF before the end of the second segment burst of the master device A, the arbiter 107 enters the arbitration state, and the request MReq2 issued by the master device B at this time is the CREQ level, and the third segment burst of the master device A
- the arbiter 107 arbitrates both the CREQ level bus requests of the master device A and the master device B.
- the request of the master device B in this example is authorized by the bus of the arbiter 107, so that the third segment burst at the master device A will be temporarily suspended, and the bus 101 first processes the bus request of the master device B.
- the third segment burst operation of the master device A is pushed into the buffer 1072 of the arbiter 107 for temporary storage. After the bus request of master device B has been processed, the bus will return to the site, if there are no other new bus usage requests at this time. If arbitration is required, the third segment burst operation of the master device A is continued. It can also be seen from the figure that MAddl and MDatal have a delay in the third segment burst, and are waiting for the data transfer operation of the master device B during the delay period.
- the AMmim signal of the arbiter 107 is 1 in the stream burst operation of the master device A, indicating that the master device performing the data transfer operation is the master device A; and after the bus use request authorization of the master device B, the AMmim signal also becomes 2, The master device indicating that the data transfer operation is in progress is the master device 8. After the bus request of the master device B is completed, the AMmim signal returns to 1, indicating that the bus returns to the original stream burst scene of the master device A, and continues the data transfer operation of the original stream burst.
- Figure 7 is a block diagram showing a data transfer system for executing the flow of the data transfer operation shown in Figure 4;
- the data transfer system is configured to perform a data transfer operation between the master device and the slave device via a bus, and the data transfer operation includes a stream burst data transfer operation.
- the data transmission system includes a determining means 701 for determining which of the CONT signal, the LAST signal, the SAME signal and the DIFF signal is generated by the master device, and detecting means 702 for determining
- the device 701 determines that the bus control signal is a SAME signal or a DIFF signal, it detects whether a host device other than the current master device issues a new higher level bus request; the arbitration device 703, the stream burst data for the current master device The next segment burst request in the transfer operation is arbitrated with a higher level bus request of the other master device measured by the detecting device; and the data transfer operation device 704 passes the arbitration result according to the arbitration device 703
- the bus 101 performs the data transfer operation between the authorized master device and the slave device.
- the arbitration device 703 can employ the arbiter shown in FIG.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Exchange Systems With Centralized Control (AREA)
- Small-Scale Networks (AREA)
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2004/001003 WO2006024193A1 (fr) | 2004-08-30 | 2004-08-30 | Procede et systeme pour transfert de donnees |
EP04762138A EP1811393B1 (en) | 2004-08-30 | 2004-08-30 | Method and system for data transfer |
AT04762138T ATE425495T1 (de) | 2004-08-30 | 2004-08-30 | Verfahren und system zum datentransfer |
US11/661,439 US7543093B2 (en) | 2004-08-30 | 2004-08-30 | Method and system for stream burst data transfer |
DE602004019990T DE602004019990D1 (de) | 2004-08-30 | 2004-08-30 | Verfahren und system zum datentransfer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2004/001003 WO2006024193A1 (fr) | 2004-08-30 | 2004-08-30 | Procede et systeme pour transfert de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006024193A1 true WO2006024193A1 (fr) | 2006-03-09 |
Family
ID=35999685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2004/001003 WO2006024193A1 (fr) | 2004-08-30 | 2004-08-30 | Procede et systeme pour transfert de donnees |
Country Status (5)
Country | Link |
---|---|
US (1) | US7543093B2 (zh) |
EP (1) | EP1811393B1 (zh) |
AT (1) | ATE425495T1 (zh) |
DE (1) | DE602004019990D1 (zh) |
WO (1) | WO2006024193A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661644A (zh) * | 2022-02-17 | 2022-06-24 | 之江实验室 | 辅助3d架构近存计算加速器系统的预存储dma装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407433B2 (en) * | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
US9087036B1 (en) | 2004-08-12 | 2015-07-21 | Sonics, Inc. | Methods and apparatuses for time annotated transaction level modeling |
US8504992B2 (en) * | 2003-10-31 | 2013-08-06 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
KR100633773B1 (ko) * | 2005-07-01 | 2006-10-13 | 삼성전자주식회사 | 버스 시스템 및 버스 중재 방법 |
US7478183B2 (en) * | 2006-05-03 | 2009-01-13 | Cisco Technology, Inc. | Method and system for n dimension arbitration algorithm—scalable to any number of end points |
US8868397B2 (en) * | 2006-11-20 | 2014-10-21 | Sonics, Inc. | Transaction co-validation across abstraction layers |
US8108648B2 (en) * | 2007-06-25 | 2012-01-31 | Sonics, Inc. | Various methods and apparatus for address tiling |
US8438320B2 (en) * | 2007-06-25 | 2013-05-07 | Sonics, Inc. | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system |
KR20130071436A (ko) * | 2010-05-07 | 2013-06-28 | 모사이드 테크놀로지스 인코퍼레이티드 | 단일 버퍼를 사용하여 복수의 메모리 장치를 동시에 판독하는 방법 및 장치 |
US8478920B2 (en) * | 2010-06-24 | 2013-07-02 | International Business Machines Corporation | Controlling data stream interruptions on a shared interface |
US8972995B2 (en) | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
US20120089759A1 (en) * | 2010-10-08 | 2012-04-12 | Qualcomm Incorporated | Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s) |
CN106897281B (zh) | 2015-12-17 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 一种日志分片方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0343770A2 (en) * | 1988-05-26 | 1989-11-29 | International Business Machines Corporation | Multi-bus microcomputer system with bus arbitration |
CN1050936A (zh) * | 1989-10-27 | 1991-04-24 | 国际商业机器公司 | 带有高速缓冲存储器的中心处理机优先控制 |
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
CN1282924A (zh) * | 1999-07-29 | 2001-02-07 | 国际商业机器公司 | 使用可变优先级和合理性的增强总线仲裁器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62138948A (ja) * | 1985-12-13 | 1987-06-22 | Hitachi Ltd | デ−タ転送装置 |
US5448704A (en) * | 1994-03-07 | 1995-09-05 | Vlsi Technology, Inc. | Method for performing writes of non-contiguous bytes on a PCI bus in a minimum number of write cycles |
US6393500B1 (en) * | 1999-08-12 | 2002-05-21 | Mips Technologies, Inc. | Burst-configurable data bus |
US6775727B2 (en) * | 2001-06-23 | 2004-08-10 | Freescale Semiconductor, Inc. | System and method for controlling bus arbitration during cache memory burst cycles |
US6981073B2 (en) * | 2001-07-31 | 2005-12-27 | Wis Technologies, Inc. | Multiple channel data bus control for video processing |
US7337232B2 (en) * | 2002-03-28 | 2008-02-26 | Sony Corporation | Method and system for providing and controlling sub-burst data transfers |
US6981088B2 (en) * | 2003-03-26 | 2005-12-27 | Lsi Logic Corporation | System and method of transferring data words between master and slave devices |
ATE542181T1 (de) * | 2004-10-28 | 2012-02-15 | Magima Digital Information Co Ltd | Arbitrierer und arbitrierungsverfahren dafür |
KR100633773B1 (ko) * | 2005-07-01 | 2006-10-13 | 삼성전자주식회사 | 버스 시스템 및 버스 중재 방법 |
-
2004
- 2004-08-30 DE DE602004019990T patent/DE602004019990D1/de not_active Expired - Lifetime
- 2004-08-30 US US11/661,439 patent/US7543093B2/en not_active Expired - Fee Related
- 2004-08-30 AT AT04762138T patent/ATE425495T1/de not_active IP Right Cessation
- 2004-08-30 EP EP04762138A patent/EP1811393B1/en not_active Expired - Lifetime
- 2004-08-30 WO PCT/CN2004/001003 patent/WO2006024193A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0343770A2 (en) * | 1988-05-26 | 1989-11-29 | International Business Machines Corporation | Multi-bus microcomputer system with bus arbitration |
CN1050936A (zh) * | 1989-10-27 | 1991-04-24 | 国际商业机器公司 | 带有高速缓冲存储器的中心处理机优先控制 |
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
CN1282924A (zh) * | 1999-07-29 | 2001-02-07 | 国际商业机器公司 | 使用可变优先级和合理性的增强总线仲裁器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661644A (zh) * | 2022-02-17 | 2022-06-24 | 之江实验室 | 辅助3d架构近存计算加速器系统的预存储dma装置 |
CN114661644B (zh) * | 2022-02-17 | 2024-04-09 | 之江实验室 | 辅助3d架构近存计算加速器系统的预存储dma装置 |
Also Published As
Publication number | Publication date |
---|---|
DE602004019990D1 (de) | 2009-04-23 |
EP1811393B1 (en) | 2009-03-11 |
US7543093B2 (en) | 2009-06-02 |
EP1811393A4 (en) | 2008-01-23 |
US20070260793A1 (en) | 2007-11-08 |
ATE425495T1 (de) | 2009-03-15 |
EP1811393A1 (en) | 2007-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7096292B2 (en) | On-chip inter-subsystem communication | |
WO2006024193A1 (fr) | Procede et systeme pour transfert de donnees | |
JP2539021B2 (ja) | 保留バスに割り込み要求を送る割り込み要求発生ノ―ド | |
JP2001075918A (ja) | 可変優先順位およびフェアネスを使用する、機能強化されたバス・アービタ | |
CN105068951A (zh) | 一种具有非等时传输结构的片上系统总线 | |
KR100644596B1 (ko) | 버스 시스템 및 그 버스 중재방법 | |
JPH0679305B2 (ja) | 保留バスを用いて割り込みに応じる装置及び方法 | |
US6823410B2 (en) | Split transaction bus system | |
JP2007058716A (ja) | データ転送バスシステム | |
JP2004005677A (ja) | 集積回路装置のバスアービター | |
US6826644B1 (en) | Peripheral component interconnect arbiter implementation with dynamic priority scheme | |
US6546448B1 (en) | Method and apparatus for arbitrating access to a PCI bus by a plurality of functions in a multi-function master | |
US6973520B2 (en) | System and method for providing improved bus utilization via target directed completion | |
WO2006045216A1 (fr) | Dispositif et procede d'arbitrage | |
JP2006215621A (ja) | Dma制御装置 | |
US7167939B2 (en) | Asynchronous system bus adapter for a computer system having a hierarchical bus structure | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
JP2008108126A (ja) | データ転送制御装置及びそのバスアクセス調停方法 | |
US5815676A (en) | Address bus arbiter for pipelined transactions on a split bus | |
JP3206656B2 (ja) | バス上でのプリフェッチ装置およびプリフェッチ方法 | |
JPH09269927A (ja) | バスアクセス方法、バス、並びにバス接続システム | |
JP2003085125A (ja) | メモリ制御器及びメモリ制御方法 | |
JPS63175964A (ja) | 共有メモリ | |
TWI244001B (en) | An arbiter and the method thereof | |
JPH11232215A (ja) | バスコントローラ、バスマスタ装置及びバス制御システムの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 11661439 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 428/MUMNP/2007 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004762138 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2004762138 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 11661439 Country of ref document: US |