WO2012149742A1 - 信号保序方法和装置 - Google Patents

信号保序方法和装置 Download PDF

Info

Publication number
WO2012149742A1
WO2012149742A1 PCT/CN2011/079681 CN2011079681W WO2012149742A1 WO 2012149742 A1 WO2012149742 A1 WO 2012149742A1 CN 2011079681 W CN2011079681 W CN 2011079681W WO 2012149742 A1 WO2012149742 A1 WO 2012149742A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
fifo memory
request signal
signal
upstream device
Prior art date
Application number
PCT/CN2011/079681
Other languages
English (en)
French (fr)
Inventor
范纯磊
陈卓
屈仁杰
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201180001916.3A priority Critical patent/CN102388359B/zh
Priority to PCT/CN2011/079681 priority patent/WO2012149742A1/zh
Publication of WO2012149742A1 publication Critical patent/WO2012149742A1/zh
Priority to US14/143,101 priority patent/US9122411B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Definitions

  • Embodiments of the present invention relate to communication technologies, and in particular, to a signal preservation method and apparatus. Background technique
  • the A device requests a read operation on the address 0; in the second clock cycle, the B device requests a write operation on the address 0; and in the third clock cycle, the C device requests the address address. 0 performs a read operation; in the fourth clock cycle, the D device requests a read operation on address 0; in the fifth clock cycle, the E device requests a write operation on address 0; and on the sixth clock cycle, the F device requests a read operation on address 0. .. ...
  • the controller needs to read and write the memory completely in the above order, otherwise it will cause out-of-order, resulting in system error.
  • the embodiments of the present invention provide a signal order-preserving method for solving the defects in the prior art, and reducing the degree of coupling between devices having the order-preserving requirements while implementing signal order-preserving.
  • the embodiment of the invention further provides a signal sequence-preserving device for solving the defects in the prior art, and reducing the degree of coupling between devices having the order-preserving requirements while realizing signal-preserving.
  • the embodiment of the present invention further provides a signal order-preserving method for solving the defects in the prior art, and reducing the degree of coupling between devices having the order-preserving requirements while realizing signal order-preserving.
  • the embodiment of the invention further provides a signal sequence-preserving device for solving the defects in the prior art, and reducing the degree of coupling between devices having the order-preserving requirements while realizing signal-preserving.
  • the embodiment of the invention provides a signal preservation method, including:
  • At least one first in first out FIFO memory writes data of the request signal from the corresponding at least one first upstream device, corresponding to the at least one second upstream device in the same clock cycle of writing the data of the request signal
  • At least one second FIFO memory writes invalid data; reads data of the request signal from the at least one first FIFO memory and reads the invalid data from the at least one second FIFO memory, discarding the Invalid data, the data of the request signal is delivered to the downstream device.
  • the embodiment of the invention further provides a signal preservation method, including:
  • Data with the request signal for indicating the current clock cycle is read from the FIFO memory and sent to the downstream device.
  • the embodiment of the invention further provides a signal order-preserving device, comprising:
  • control module configured to control at least one first first-in first-out FIFO memory to write data of a request signal from the corresponding at least one first upstream device, and control at least one second FIFO memory to write data of the request signal Write invalid data for the same clock cycle;
  • the at least one first FIFO memory each of the first FIFO memories corresponding to a first upstream device, for writing data of a request signal of the corresponding first upstream device under the control of the control module;
  • the at least one second FIFO memory each of the second FIFO memories corresponding to a second upstream device, configured to write invalid data under control of the control module, the second upstream device and the at least one first upstream device There are preservation requirements;
  • a scheduling module configured to read data of the request signal from the at least one first FIFO memory and read the invalid data from the at least one second FIFO memory, discard the invalid data, and transmit the data to a downstream device The data of the request signal.
  • the embodiment of the invention further provides a signal order-preserving device, comprising:
  • a marking module configured to: when the data of the request signal from the at least one upstream device is received, add a flag for indicating the current clock cycle to the data of the request signal, and control at least one first-in first-out FIFO memory to write the corresponding band Data of the request signal having the flag;
  • each FIFO memory corresponding to an upstream device, for writing data of the corresponding upstream device with the request signal for indicating a flag of a current clock cycle;
  • a scheduling module configured to read data from the FIFO memory with the request signal for indicating a flag of a current clock cycle, and send the data to a downstream device.
  • the embodiment of the present invention implements the order preservation by filling invalid data into the FIFO memory that does not receive the request signal or marking the received request signal, so that the request signal sent by each upstream device does not need to be sent according to other upstream devices.
  • the processing state of the request signal is received, thereby reducing the degree of coupling between the various devices in which the ordering requirement exists while implementing signal ordering.
  • FIG. 2 is a schematic structural diagram of a signal order-preserving apparatus according to Embodiment 2 of the present invention.
  • FIG. 3 is a schematic structural diagram of a signal order-preserving apparatus according to Embodiment 3 of the present invention.
  • FIG. 4 is a flowchart of a signal order-preserving method according to Embodiment 4 of the present invention.
  • FIG. 5 is a schematic structural diagram of a signal sequence-preserving apparatus according to Embodiment 5 of the present invention. detailed description
  • Embodiment 1 of the present invention before sending a read or write request signal to a normal memory, a plurality of first input first output (FIFO) memories are used, and multiple read or write are performed.
  • the request signal is processed for order.
  • FIG. 1 is a flowchart of a signal order-preserving method according to Embodiment 1 of the present invention. As shown in Figure 1, the method includes the following process.
  • Step 101 When at least one first FIFO memory writes data of a request signal from a corresponding at least one first upstream device, at least corresponding to at least one second upstream device in the same clock cycle of data of the write request signal A second FIFO memory writes invalid data.
  • all the upstream devices are classified into two types according to whether a request signal is issued, that is, the first upstream device and the second upstream device.
  • the upstream device that sends the request signal is the first upstream device
  • the other upstream device that does not send the request signal and has the scheduling requirement with the first upstream device is the second upstream device.
  • Each of the upstream devices corresponds to a FIFO memory, wherein the FIFO memory corresponding to the first upstream device is the first FIFO memory, and the FIFO memory corresponding to the second upstream device is the second FIFO memory.
  • the first FIFO memory and the second FIFO memory can use the same FIFO memory device.
  • the data in all FIFO memories is read in the same clock cycle as described above.
  • the data of the request signal is read from the first FIFO memory
  • the invalid data is read from the second FIFO memory.
  • the above downstream device may specifically be a general memory.
  • step 101 and step 102 data is filled in all FIFO memories having the same ordering requirement in the same clock cycle, wherein the data of the received request signal is filled in the corresponding FIFO memory, The invalid data fills the other FIFO memories that have not received the request signal, and then reads the respective data from the entire FIFO memory. All FIFO memories are empty after reading.
  • the same method is used to fill the data of the received request signal into the corresponding FIFO memory, fill the other FIFO memory that does not receive the request signal with invalid data, and then read from all the FIFO memories. Take out the respective data.
  • this method is sequentially executed in each clock cycle, thereby ensuring that each time the request signal sent to the downstream device is the request signal in the same clock cycle, the request signal between adjacent clock cycles is not Will be confused with each other, so the chronological order of the request signals is guaranteed by occupying the spatial position of the FIFO memory that has not received the request signal.
  • the request signals sent by the respective upstream devices are independent of each other, and the request signal sent by one upstream device does not have to be based on other upstream
  • the processing status of the request signal sent by the device is received, thus reducing the degree of coupling between the various devices.
  • the apparatus includes a control module 21, at least one first FIFO memory 22, at least one second FIFO memory 23, and a scheduling module 24.
  • the control module 21 is configured to control at least one first FIFO memory 22 to write data of a request signal from the corresponding at least one first upstream device, and control at least one second FIFO.
  • the memory 23 writes invalid data in the same clock cycle of the data of the write request signal.
  • Each of the first FIFO memories 22 corresponds to a first upstream device for writing data of a request signal of the corresponding first upstream device under the control of the control module 21.
  • Each of the second FIFO memories 23 corresponds to a second upstream device for writing invalid data under the control of the control module 21.
  • the second upstream device is an upstream device that has a protection requirement with the first upstream device.
  • the scheduling module 24 is configured to read data of the request signal from the at least one first FIFO memory 22 and read the invalid data from the at least one second FIFO memory 23, discard the invalid data, and transmit the data of the request signal to the downstream device.
  • Control module 21 is used to control FIFO memory (including first FIFO memory 22 and second
  • the write operation of the FIFO memory 23 causes data filling in all the FIFO memories having the order-preserving requirements of each other, wherein the data of the received request signal is filled in the corresponding FIFO memory, The invalid data fills the other FIFO memories that have not received the request signal, and then the scheduling module 24 reads the respective data from the entire FIFO memory. After reading, all FIFO memory is empty.
  • the control module 21 and the scheduling module 24 still perform the same functions as described above, and the control module 21 fills in the data of the received request signal into the corresponding FIFO memory, and fills other FIFO memories that do not receive the request signal with invalid data.
  • the scheduling module 24 then reads the respective data from all of the FIFO memories.
  • the control module and the scheduling module perform the above functions in each clock cycle, thereby ensuring that the request signals sent by the scheduling module 24 to the downstream device are request signals in the same clock cycle, adjacent clock cycles.
  • the request signals between them are not confused with each other, so the chronological order of the request signals is ensured by occupying the spatial position of the FIFO memory that has not received the request signal.
  • FIG. 3 is a schematic structural diagram of a signal order-preserving apparatus according to Embodiment 3 of the present invention.
  • the third embodiment of the present invention is an embodiment for refining the structure of the signal sequencer according to the second embodiment of the present invention. Specifically, the control module in the second embodiment of the present invention is refined. As shown in FIG.
  • the signal order-preserving apparatus of the third embodiment of the present invention includes: an OR gate 31, at least one selector 32, at least one FIFO memory 33, and a scheduling module 34.
  • the at least one selector 32 and the one OR gate 31 in the third embodiment of the present invention constitute the control module 21 in the second embodiment of the present invention.
  • Each selector 32 corresponds to an upstream device and a FIFO memory 33.
  • Each selector 32 has two input ports, one control port and one output port. The first input port is used to input data of the request signal of the upstream device; the second input port is used to input invalid data.
  • the control port is configured to input a valid signal or an invalid signal corresponding to the request signal sent by the upstream device.
  • the control port of the selector 32 inputs a valid signal, when the selector 32 When the corresponding upstream device does not output the request signal, the control port of the selector 32 inputs an invalid signal.
  • the OR gate 31 has a plurality of input ports and an output port. Each input port corresponds to an upstream device, and is configured to input a valid signal or an invalid signal corresponding to the request signal sent by the upstream device.
  • the OR gate 31 performs an OR operation on the signal input from the input port, and outputs the result of the OR operation as a write control signal through the output port.
  • the output port of the OR gate 31 is connected to each of the FIFO memories 33 to each of the FIFO memories 33.
  • the control port outputs the write control signal.
  • Each FIFO memory 33 includes an input port, an output port, and a control port.
  • each FIFO memory 33 is connected to the output port of the corresponding selector 32, It is used to receive the data output by the selector 32.
  • the output port of the control port is connected to the gate 31 for receiving the write control signal output by the OR gate 31.
  • the FIFO memory 33 performs a write operation, and writes the data input by the input terminal to the FIFO memory 33.
  • the write control signal is invalid, the FIFO memory 33 does not perform a write operation.
  • the output ports of each FIFO memory 33 are respectively connected to one input port of the scheduling module 34, and the data stored in the FIFO memory 33 is output to the scheduling module 34 according to the scheduling of the scheduling module 34.
  • the scheduling module 34 processes the input data and discards the invalid data therein.
  • the scheduling module 34 has at least one output port, each output port outputs the processed data of the scheduling module 34 to the downstream device.
  • the downstream device is a general memory.
  • the upstream device that sends the request signal is the first upstream device
  • the other upstream device that does not send the request signal is the second upstream device.
  • the selector 32 corresponding to the first upstream device is the first selector
  • the selector 32 corresponding to the second upstream device is the second selector.
  • the FIFO memory 33 corresponding to the first upstream device is the first FIFO memory
  • the FIFO memory 33 corresponding to the second upstream device is the second FIFO memory.
  • the control module specifically includes: at least one first selector, at least one second selector, and/or a gate.
  • Each of the first selectors corresponds to a first FIFO memory and a first upstream device, and is configured to select data of the request signal for the corresponding first FIFO memory according to the trigger of the valid signal of the corresponding first upstream device.
  • Each of the second selectors corresponds to a second FIFO memory for selecting invalid data for the corresponding second FIFO memory according to the trigger of the invalid signal corresponding to the second upstream device.
  • the OR gate is configured to send a write valid control signal to the at least one first FIFO memory and the at least one second FIFO memory according to a trigger of the valid signal corresponding to the at least one first upstream device and the invalid signal corresponding to the at least one second upstream device.
  • a preferred embodiment of the step 101 of the first embodiment of the present invention is as follows, using the signal sequencer shown in FIG.
  • each first upstream device corresponds to one valid signal, and each valid signal triggers a corresponding first selector Data for the request signal of the first upstream device is selected for the corresponding first FIFO memory.
  • each second upstream device since the second upstream device does not issue the request signal, each second upstream device corresponds to an invalid signal, and each invalid signal triggers the corresponding second selector to select invalid data for the corresponding second FIFO memory.
  • the OR gate 31 is at least A first FIFO memory and the at least one second FIFO memory send a write valid control signal, thereby writing data of a request signal of the first upstream device selected by the first selector to the first FIFO memory, and writing the data to the second FIFO memory Invalid data selected by the second selector.
  • the control module composed of the OR gate 31 and the selector 32 controls the write operation of the FIFO memory 33, and in the same clock cycle, all the FIFO memories 33 having the order-preserving requirements are filled with data, wherein the use is invalid.
  • the data is filled with the FIFO memory 33 that has not received the request signal, and the scheduling module 34 reads the respective data from the entire FIFO memory 33. Therefore, it is ensured that the request signal sent by the scheduling module 34 to the downstream device is a request signal in the same clock cycle, and the request signals between adjacent clock cycles are not confused with each other, so by occupying the FIFO memory that does not receive the request signal.
  • the spatial position of 33 guarantees the chronological order of the request signals.
  • the request signals sent by the respective upstream devices are independent of each other, and the request signal sent by one upstream device does not have to be based on other upstream.
  • the processing status of the request signal sent by the device is received, thus reducing the degree of coupling between the various devices.
  • the invalid data may specifically use all 0 data or all 1 data, that is, write all the bits in the corresponding second FIFO memory to 0, or All bits are written to 1.
  • other preset data may be used as the invalid data according to the actual situation, as long as the invalid data is agreed in advance by configuring the scheduling module.
  • the downstream device The data of the delivery request signal may specifically transmit the data of the request signal to the downstream device according to a preset priority policy.
  • the priority policy may be preset in the scheduling module 24 or the scheduling module 34, and the scheduling module 24 or the scheduling module 34 may transmit the data of the request signal to the downstream device.
  • the data of the request signal may be transmitted to the downstream device according to a preset priority policy.
  • the request signal may be a write request signal or a read request signal
  • the preset priority policy may be: a read priority policy, a write priority policy, a FIFO order policy, or a round-robin scheduling policy.
  • the read priority policy is adopted, the data of the read request signal is preferentially transmitted in the same clock cycle, and the data of the write request signal is transmitted after the data of the read request signal of the same clock cycle is transmitted.
  • the write priority policy is adopted, the data of the write request signal is preferentially transmitted in the same clock cycle, and the data of the read request signal is transmitted after the data of the write request signal of the same clock cycle is transmitted.
  • the priority is not prioritized for the read and write operations, but the data of the request signal in the FIFO is transmitted according to the arrangement order of the FIFOs.
  • the round robin (RR) scheduling strategy is used to transmit the data of the request signal in the FIFO according to a preset round robin order.
  • the round-robin scheduling policy is also called the round-robin scheduling policy.
  • the round-robin order is also called the loop order.
  • other priority policies may be adopted according to actual conditions, and only need to be preset in the scheduling module. Therefore, according to different priority policies, when one clock cycle request signal is transmitted to the downstream device, multiple request signals of the same clock cycle are prioritized.
  • FIG. 4 is a flowchart of a signal order-preserving method according to Embodiment 4 of the present invention. As shown in Figure 4, the method includes the following process.
  • Step 401 When receiving data of a request signal from at least one upstream device, adding a flag for indicating the current clock cycle to the data of the request signal, and writing a tag to the FIFO memory corresponding to each of the upstream devices. Describe the data of the request signal marked.
  • Step 402 Read data from the FIFO memory with the request signal for indicating the flag of the current clock cycle, and send the data to the downstream device.
  • the downstream device may be a general storage. Specifically, when reading data from the FIFO memory, each request signal of one mark is read each time, and each read operation is performed. The marks used are different, and the marks used in each read operation are arranged in the order of clock cycles.
  • step 401 is combined with step 402.
  • the data of the request signal is written into the FIFO memory
  • the data of the request signal is marked according to the current clock cycle, different marks are used in different clock cycles, and data is read from the FIFO memory.
  • the data of the mark used for a series of read operations is determined in the order of the clock cycles, and all the request signals of one mark are read at a time. For example, in the first clock cycle, if an upstream device issues a request signal, the data of the request signal with the first clock cycle flag is written into the corresponding FIFO memory of the upstream device, and the other two are in the second clock cycle.
  • the upstream device When the upstream device sends a request signal, the data of the corresponding request signal with the second clock cycle flag is respectively written into the FIFO memory corresponding to the two upstream devices, and the first clock is read first when reading.
  • the data of the periodically marked request signal is sent to the downstream device, and then the data of the request signal with the second clock cycle flag is read and sent to the downstream device.
  • the time sequence of the request signal is guaranteed.
  • the request signals sent by the upstream devices are independent of each other by adding a mark, and the request signal sent by one upstream device does not need to be received according to the processing state of the request signal sent by other upstream devices. This reduces the degree of coupling between the various devices.
  • FIG. 5 is a schematic structural diagram of a signal sequence-preserving apparatus according to Embodiment 5 of the present invention.
  • the signal sequencer includes: a tag module 51, at least one FIFO memory 52, and a scheduling module 53.
  • the marking module 51 is configured to, when receiving data of the request signal from the at least one upstream device, add a flag for indicating the current clock cycle to the data of the request signal, and control at least one FIFO memory 52 to be written with the above-mentioned flag. Corresponding to the data of the request signal.
  • Each FIFO memory 52 corresponds to an upstream device for writing data of a request signal with the above-mentioned flag corresponding to the upstream device.
  • the scheduling module 53 is configured to read data of the request signal with the above label from the FIFO memory 52 and deliver the data to the downstream device. Specifically, when the scheduling module 53 reads data from the FIFO memory 52, it reads all the request signals of one mark at a time, and the marks used by each read operation of the scheduling module 53 are different, and the scheduling module 53 The marks used for each read operation are arranged in the order of clock cycles.
  • a counter of a loop count is run.
  • the marking module 51 writes the value of the current counter together with the data of the request signal into the FIFO memory 52, and then in the FIFO memory.
  • the exit signal of 52 can be used to obtain the request signal data carrying the tag.
  • the scheduling module 53 can determine the order of the corresponding request signals based on the values of the above-mentioned flags.
  • the tagging module 51 marks the data of the request signal according to the current clock cycle, uses different flags at different clock cycles, and reads data from the FIFO memory at the scheduling module 53.
  • the data of the tag used for a series of read operations is determined in the order of the clock cycles, and all the request signals of one tag are read at a time. For example, in the first clock cycle, if an upstream device issues a request signal, the marking module 51 adds a first clock cycle flag to the data of the request signal written in the FIFO memory 52 corresponding to the upstream device, at the second clock.
  • the other two upstream devices issue a request signal
  • the marking module 51 adds a second clock cycle flag to the data of the request signal respectively written in the FIFO memory 52 corresponding to the two upstream devices.
  • the scheduling module 53 first reads the data of the request signal with the first clock cycle flag, sends it to the downstream device, and then reads the data of the request signal with the second clock cycle flag, and sends the data.
  • the time sequence of the request signal is guaranteed.
  • the request signals sent by the respective upstream devices are independent of each other, and the request signal sent by one upstream device does not need to be received according to the processing state of the request signal sent by other upstream devices, thereby reducing the The degree of coupling between.
  • the FIFO in the above method or apparatus when the signal order-preserving method or apparatus in the above embodiment is applied to the same clock domain, the FIFO in the above method or apparatus
  • the input end and the output end of the memory correspond to the same clock domain, so the FIFO memory can be a synchronous FIFO memory or an Asynchronous First Input First Output (AFIFO) memory; when the signal in the above embodiment
  • AFIFO Asynchronous First Input First Output
  • the foregoing storage medium includes: a ROM, a RAM, a magnetic disk or an optical disk, a register array, a register file, and the like, and a medium that can store program codes, wherein the RAM includes an SRAM and a DRAM.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

信号保序方法和装置
技术领域
本发明实施例涉及通信技术, 尤其涉及信号保序方法和装置。 背景技术
在通信和网络芯片中, 对于存在不同时钟域的多模块间的多组信号的通 信过程, 为了保证数据读写的正确性, 需要保证读写请求发生的先后关系与 时间顺序保持一致, 因此需要进行保序处理。
例如, 在一个复杂的应用场景下: 第一时钟周期, A设备请求对地址 0 进行读操作; 第二时钟周期, B设备请求对地址 0进行写操作; 第三时钟周 期, C设备请求对地址 0进行读操作; 第四时钟周期, D设备请求对地址 0 进行读操作; 第五时钟周期, E设备请求对地址 0进行写操作; 第六时钟周 期, F设备请求对地址 0进行读操作 ... ...为了保证数据读写的正确性, 控制 器需要完全按照上述顺序对存储器进行读写操作, 否则会发生乱序, 导致系 统错误。
目前, 现有的信号保序方法通常采用写确认的方式进行保序。 对于一个 地址, 只有返回该地址的写入确认信号之后, 控制器才允许进行针对此地址 的读取操作。 采用这种信号保序方法, 写确认导致的延迟使得后续请求源的 緩存加深, 从而加重了存在保序要求的各个模块或设备之间的耦合程度, 并 且, 写确认导致的延迟会使得后续请求断断续续, 从而导致系统性能不平稳, 难以满足高质量的需求。 发明内容
本发明实施例提供一种信号保序方法, 用以解决现有技术中的缺陷, 在 实现信号保序的同时减小存在保序要求的设备之间的耦合程度。 本发明实施例还提供一种信号保序装置, 用以解决现有技术中的缺陷, 在实现信号保序的同时减小存在保序要求的设备之间的耦合程度。
本发明实施例还提供一种信号保序方法, 用以解决现有技术中的缺陷, 在实现信号保序的同时减小存在保序要求的设备之间的耦合程度。
本发明实施例还提供一种信号保序装置, 用以解决现有技术中的缺陷, 在实现信号保序的同时减小存在保序要求的设备之间的耦合程度。
本发明实施例提供一种信号保序方法, 包括:
当至少一个第一先入先出 FIFO存储器写入来自对应的至少一个第一上 游设备的请求信号的数据时, 在写入所述请求信号的数据的相同时钟周期, 向至少一个第二上游设备对应的至少一个第二 FIFO存储器写入无效数据; 从所述至少一个第一 FIFO存储器读取所述请求信号的数据并从所述至 少一个第二 FIFO存储器读取所述无效数据, 丟弃所述无效数据, 向下游设 备输送所述请求信号的数据。
本发明实施例还提供一种信号保序方法, 包括:
当接收到来自至少一个上游设备的请求信号的数据时, 为所述请求信号 的数据附加用于指示当前时钟周期的标记, 向每个所述上游设备对应的先入 先出 FIFO存储器写入一个带有所述标记的所述请求信号的数据;
从所述 FIFO存储器中读取带有所述用于指示当前时钟周期的标记的请 求信号的数据, 并输送给下游设备。
本发明实施例还提供一种信号保序装置, 包括:
控制模块, 用于控制至少一个第一先入先出 FIFO存储器写入来自对应 的至少一个第一上游设备的请求信号的数据, 并且控制至少一个第二 FIFO 存储器在写入所述请求信号的数据的相同时钟周期写入无效数据;
所述至少一个第一 FIFO存储器,每个第一 FIFO存储器对应一个第一上 游设备, 用于在控制模块的控制下写入对应的第一上游设备的请求信号的数 据; 所述至少一个第二 FIFO存储器,每个第二 FIFO存储器对应一个第二上 游设备, 用于在控制模块的控制下写入无效数据, 所述第二上游设备与所述 至少一个第一上游设备存在保序要求;
调度模块, 用于从所述至少一个第一 FIFO存储器读取所述请求信号的 数据并从所述至少一个第二 FIFO存储器读取所述无效数据, 丟弃所述无效 数据, 向下游设备输送所述请求信号的数据。
本发明实施例还提供一种信号保序装置, 包括:
标记模块, 用于当接收到来自至少一个上游设备的请求信号的数据时, 为所述请求信号的数据附加用于指示当前时钟周期的标记, 控制至少一个先 入先出 FIFO存储器写入对应的带有所述标记的所述请求信号的数据;
所述至少一个 FIFO存储器,每个 FIFO存储器对应一个上游设备, 用于 写入对应上游设备的带有所述用于指示当前时钟周期的标记的所述请求信号 的数据;
调度模块, 用于从所述 FIFO存储器中读取带有所述用于指示当前时钟 周期的标记的请求信号的数据, 并输送给下游设备。
由上述技术方案可知, 本发明实施例通过向未接收到请求信号的 FIFO 存储器中填充无效数据或为接收的请求信号进行标记实现保序, 从而各个上 游设备发出的请求信号不必根据其它上游设备发出的请求信号的处理状态进 行接收, 因此在实现信号保序的同时减小了存在保序要求的各个设备之间的 耦合程度。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 图 1为本发明实施例一的信号保序方法的流程图;
图 2为本发明实施例二的信号保序装置的结构示意图;
图 3为本发明实施例三的信号保序装置的结构示意图;
图 4为本发明实施例四的信号保序方法的流程图;
图 5为本发明实施例五的信号保序装置的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
下述本发明实施例一至本发明实施例五中, 在向普通存储器发送读或写 请求信号之前, 先采用多个先入先出 ( First Input First Output, 简称 FIFO ) 存储器, 对多个读或写请求信号进行保序处理。
图 1为本发明实施例一的信号保序方法的流程图。 如图 1所示, 该方法包 括以下过程。
步骤 101 :当至少一个第一 FIFO存储器写入来自对应的至少一个第一上 游设备的请求信号的数据时, 在写入请求信号的数据的相同时钟周期, 向至 少一个第二上游设备对应的至少一个第二 FIFO存储器写入无效数据。
在本步骤中, 根据是否发出请求信号, 将全部上游设备区分为两类, 即: 第一上游设备和第二上游设备。 其中, 发出请求信号的上游设备为第一上游 设备, 其余未发出请求信号的且与第一上游设备存在保序要求的上游设备为 第二上游设备。 每一个上游设备对应一个 FIFO存储器, 其中, 第一上游设 备对应的 FIFO存储器为第一 FIFO存储器, 第二上游设备对应的 FIFO存储 器为第二 FIFO存储器。 在实际应用中, 第一 FIFO存储器与第二 FIFO存储 器可以采用相同的 FIFO存储器器件。 步骤 102:从至少一个第一 FIFO存储器读取请求信号的数据并从至少一 个第二 FIFO存储器读取无效数据, 丟弃无效数据, 向下游设备输送请求信 号的数据。
在本步骤中, 在上述相同的时钟周期, 读取全部 FIFO存储器中的数据。 其中, 从第一 FIFO存储器中读取的是请求信号的数据,从第二 FIFO存储器 中读取的是无效数据。 上述下游设备具体可以为普通存储器。
采用上述步骤 101与步骤 102相结合, 在同一时钟周期内, 相互之间具 有保序要求的全部 FIFO存储器中均有数据填充, 其中, 接收到的请求信号 的数据填入对应的 FIFO存储器, 采用无效数据填充其它没有收到请求信号 的 FIFO存储器, 然后, 从全部 FIFO存储器中读取出各自的数据。 读取后全 部 FIFO存储器为空。 接下来, 在下一个时钟周期, 又采用同样的方法, 将 接收到的请求信号的数据填入对应的 FIFO存储器, 采用无效数据填充其它 没有收到请求信号的 FIFO存储器,然后从全部 FIFO存储器中读取出各自的 数据。 按照时钟周期的顺序, 在每个时钟周期内采用此方法依次执行, 从而 保证了每次向下游设备发送的请求信号均为同一时钟周期内的请求信号, 相 邻时钟周期之间的请求信号不会互相混淆, 因此通过占用未收到请求信号的 FIFO存储器的空间位置, 保证了请求信号的时间顺序。
在本发明实施例一中, 通过向未接收到请求信号的 FIFO存储器中填充 无效数据进行保序, 各个上游设备发出的请求信号之间相互独立, 其中一个 上游设备发出的请求信号不必根据其它上游设备发出的请求信号的处理状态 进行接收, 因此减小了各个设备之间的耦合程度。
图 2为本发明实施例二的信号保序装置的结构示意图。 如图 2所示, 该装 置包括:一个控制模块 21、至少一个第一 FIFO存储器 22、至少一个第二 FIFO 存储器 23和一个调度模块 24。
其中, 控制模块 21用于控制至少一个第一 FIFO存储器 22写入来自对 应的至少一个第一上游设备的请求信号的数据,并且控制至少一个第二 FIFO 存储器 23在写入请求信号的数据的相同时钟周期写入无效数据。 每个第一 FIFO存储器 22对应一个第一上游设备, 用于在控制模块 21 的控制下写入对应的第一上游设备的请求信号的数据。
每个第二 FIFO存储器 23对应一个第二上游设备, 用于在控制模块 21 的控制下写入无效数据。 其中, 第二上游设备是与上述第一上游设备存在保 序要求的上游设备。
调度模块 24用于从至少一个第一 FIFO存储器 22读取请求信号的数据 并从至少一个第二 FIFO存储器 23读取无效数据, 丟弃无效数据, 向下游设 备输送请求信号的数据。
采用控制模块 21控制 FIFO存储器(包括第一 FIFO存储器 22和第二
FIFO存储器 23 )的写入操作, 在同一时钟周期内, 使得相互之间具有保序要 求的全部 FIFO存储器中均有数据填充, 其中, 接收到的请求信号的数据填 入对应的 FIFO存储器,采用无效数据填充其它没有收到请求信号的 FIFO存 储器, 然后, 调度模块 24从全部 FIFO存储器中读取出各自的数据。 读取后 全部 FIFO存储器为空。 在下一个时钟周期, 控制模块 21和调度模块 24仍 执行上述同样的功能, 控制模块 21 将接收到的请求信号的数据填入对应的 FIFO存储器, 采用无效数据填充其它没有收到请求信号的 FIFO存储器, 然 后调度模块 24从全部 FIFO存储器中读取出各自的数据。按照时钟周期的顺 序, 在每个时钟周期内控制模块和调度模块执行上述功能, 从而保证了调度 模块 24每次向下游设备发送的请求信号均为同一时钟周期内的请求信号,相 邻时钟周期之间的请求信号不会互相混淆, 因此通过占用未收到请求信号的 FIFO存储器的空间位置, 保证了请求信号的时间顺序。
在本发明实施例二中, 通过向未接收到请求信号的 FIFO存储中填充无 效信号进行保序, 各个上游设备发出的请求信号之间相互独立, 其中一个上 游设备发出的请求信号不必根据其它上游设备发出的请求信号的处理状态进 行接收, 因此减小了各个设备之间的耦合程度。 图 3为本发明实施例三的信号保序装置的结构示意图。 本发明实施例三是 对上述本发明实施例二的信号保序装置的结构进行细化的实施例, 具体地, 对 本发明实施例二中的控制模块进行细化。 如图 3所示, 本发明实施例三的信号 保序装置包括: 一个或门 31、 至少一个选择器 32、 至少一个 FIFO存储器 33 和一个调度模块 34。 其中, 本发明实施例三中的上述至少一个选择器 32和一 个或门 31组成本发明实施例二中的控制模块 21。
参见图 3, 该信号保序装置的具体结构如下。 每个选择器 32对应一个上游 设备和一个 FIFO存储器 33。 每个选择器 32具有两个输入端口、 一个控制端 口和一个输出端口。 其中, 第一输入端口用于输入上游设备的请求信号的数据; 第二输入端口用于输入无效数据。 控制端口用于输入上游设备发送的请求信号 对应的有效信号或无效信号, 当该选择器 32对应的上游设备输出请求信号时, 选择器 32的控制端口输入的是有效信号, 当该选择器 32对应的上游设备未输 出请求信号时, 选择器 32的控制端口输入的是无效信号。 当选择器 32的控制 端口输入有效信号时,选择器 32选择让第一输入端口的数据通过该选择器 32, 选择器 32的输出端口将上游设备的请求信号的数据输入到对应的 FIFO存储器 33; 当选择器 32的控制端口输入无效信号时, 选择器 32选择让第二输入端口 的数据通过该选择器 32,选择器 32的输出端口将无效数据输入到对应的 FIFO 存储器 33。 上述或门 31具有多个输入端口和一个输出端口。 其中, 每一个输 入端口对应一个上游设备, 用于输入该上游设备发送的请求信号对应的有效信 号或无效信号, 当该输入端口对应的上游设备输出请求信号时, 该输入端口输 入的是有效信号, 当该输入端口对应的上游设备未输出请求信号时, 该输入端 口输入的是无效信号。或门 31对上述输入端口输入的信号进行或运算后,将或 运算的结果作为写控制信号通过输出端口输出,或门 31的输出端口连接到上述 每一个 FIFO存储器 33,向每一个 FIFO存储器 33的控制端口输出该写控制信 号。 每个 FIFO存储器 33包括一个输入端口、 一个输出端口和一个控制端口。 其中, 每个 FIFO存储器 33的输入端口连接到对应的选择器 32的输出端口, 用于接收该选择器 32输出的数据。 控制端口连接或门 31的输出端口, 用于接 收或门 31输出的写控制信号, 当写控制信号有效时, 该 FIFO存储器 33进行 写操作, 将输入端输入的数据写入该 FIFO存储器 33, 当写控制信号无效时, 该 FIFO存储器 33不进行写操作。 每个 FIFO存储器 33的输出端口分别连接 到调度模块 34的一个输入端口, 根据调度模块 34的调度, 将 FIFO存储器 33 内存储的数据输出给调度模块 34。 调度模块 34对输入的数据进行处理, 丟弃 其中的无效数据。调度模块 34具有至少一个输出端口,每个输出端口将调度模 块 34处理后的数据输出到下游设备。一种较佳的实施方式是,该下游设备为普 通存储器。
具体地, 在具有保序要求的全部上游设备中, 发出请求信号的上游设备 为第一上游设备, 其余未发出请求信号的上游设备为第二上游设备。 在图 3 所示的全部选择器 32中, 第一上游设备对应的选择器 32为第一选择器, 第 二上游设备对应的选择器 32为第二选择器。在图 3所示的全部 FIFO存储器 33中, 第一上游设备对应的 FIFO存储器 33为第一 FIFO存储器, 第二上游 设备对应的 FIFO存储器 33为第二 FIFO存储器。 则在图 3所示的信号保序 装置中, 其控制模块具体包括: 至少一个第一选择器、 至少一个第二选择器 和或门。 其中, 每个第一选择器对应一个第一 FIFO存储器和一个第一上游 设备, 用于根据对应的第一上游设备的有效信号的触发, 为对应的第一 FIFO 存储器选择请求信号的数据。 每个第二选择器对应一个第二 FIFO存储器, 用于根据第二上游设备对应的无效信号的触发, 为对应的第二 FIFO存储器 选择无效数据。 或门用于根据至少一个第一上游设备对应的有效信号和至少 一个第二上游设备对应的无效信号的触发, 向至少一个第一 FIFO存储器和 至少一个第二 FIFO存储器发送写有效控制信号。
采用图 3所示的信号保序装置, 上述本发明实施例一的步骤 101的一种 较佳的实施方式如下。 当至少一个第一上游设备发出至少一个请求信号时, 每个第一上游设备对应一个有效信号, 每个有效信号触发对应的第一选择器 为对应的第一 FIFO存储器选择该第一上游设备的请求信号的数据。 同时, 由于第二上游设备未发出请求信号, 因此每个第二上游设备对应一个无效信 号, 每个无效信号触发对应的第二选择器为对应的第二 FIFO存储器选择无 效数据。 同时, 上述有效信号和上述无效信号输入或门 31 , 经过或门 31进 行或运算之后, 只要其中包括至少一个有效信号, 则或运算结果即为写控制 信号有效, 因此, 或门 31向上述至少一个第一 FIFO存储器和上述至少一个 第二 FIFO存储器发送写有效控制信号,从而向第一 FIFO存储器写入第一选 择器选择的第一上游设备的请求信号的数据, 向第二 FIFO存储器写入第二 选择器选择的无效数据。
采用或门 31和选择器 32组成的控制模块控制 FIFO存储器 33的写入操 作, 在同一时钟周期内, 使得相互之间具有保序要求的全部 FIFO存储器 33 中均有数据填充, 其中, 采用无效数据填充了没有收到请求信号的 FIFO存 储器 33, 调度模块 34从全部 FIFO存储器 33中读取出各自的数据。 从而保 证了调度模块 34每次向下游设备发送的请求信号均为同一时钟周期内的请 求信号, 相邻时钟周期之间的请求信号不会互相混淆, 因此通过占用未收到 请求信号的 FIFO存储器 33的空间位置, 保证了请求信号的时间顺序。
在本发明实施例三中, 通过向未接收到请求信号的 FIFO存储器中填充 无效数据进行保序, 各个上游设备发出的请求信号之间相互独立, 其中一个 上游设备发出的请求信号不必根据其它上游设备发出的请求信号的处理状态 进行接收, 因此减小了各个设备之间的耦合程度。
在上述本发明实施例一至本发明实施例三中, 上述无效数据具体可以采 用全 0数据或全 1数据, 即, 将对应的第二 FIFO存储器中的全部比特位均 写入 0, 或将其全部比特位均写入 1。 在其它的具体实施例中, 还可以根据实 际情况, 采用其它的预设数据作为上述无效数据, 只要预先通过配置调度模 块对该无效数据进行约定即可。
在上述技术方案的基础上, 在本发明实例一的步骤 102中, 向下游设备 输送请求信号的数据具体可以按照预设的优先级策略向下游设备输送请求信 号的数据。 在本发明实施例二或本发明实施例三中, 具体可以分别在上述调 度模块 24或调度模块 34中预设优先级策略,调度模块 24或调度模块 34在 向下游设备输送请求信号的数据时, 具体可以按照预设的优先级策略向下游 设备输送请求信号的数据。 例如, 上述请求信号可以为写请求信号或读请求 信号, 预设的优先级策略可以为: 读优先策略、 写优先策略、 FIFO顺序策略 或轮叫调度策略。 采用读优先策略时, 在同一时钟周期, 优先发送读请求信 号的数据, 待同一时钟周期读请求信号的数据发送完毕后, 再发送写请求信 号的数据。 采用写优先策略时, 在同一时钟周期, 优先发送写请求信号的数 据, 待同一时钟周期写请求信号的数据发送完毕后, 再发送读请求信号的数 据。 采用 FIFO顺序策略时, 不针对读写操作区分优先级, 而是根据 FIFO的 排列顺序发送 FIFO 中的请求信号的数据。 采用轮叫 (RoundRobin , 简称 RR )调度策略, 按照预设的轮叫顺序发送 FIFO中的请求信号的数据。 轮叫 调度策略又称循环调度策略,轮叫顺序又称循环顺序在其它的具体实施例中, 还可以根据实际情况, 采用其它的优先级策略, 只需在调度模块中进行预设 即可。 从而根据不同的优先级策略, 在向下游设备传输一个时钟周期的请求 信号时, 对同一时钟周期的多个请求信号进行优先级排序。
图 4为本发明实施例四的信号保序方法的流程图。 如图 4所示, 该方法包 括如下过程。
步骤 401 : 当接收到来自至少一个上游设备的请求信号的数据时, 为该 请求信号的数据附加用于指示当前时钟周期的标记, 向上述每个上游设备对 应的 FIFO存储器写入一个带有所述标记的所述请求信号的数据。
步骤 402:从上述 FIFO存储器中读取带有所述用于指示当前时钟周期的 标记的请求信号的数据, 并输送给下游设备。
在本步骤中, 上述下游设备具体可以为普通存储器。 具体地, 从 FIFO 存储器中读取数据时, 每次读取一种标记的全部请求信号, 并且各次读取操 作所采用的标记各不相同, 各次读取操作采用的标记是按照时钟周期的顺序 排列的。
上述步骤 401结合步骤 402, 在向 FIFO存储器中写入请求信号的数据 时, 根据当前时钟周期对请求信号的数据进行标记, 在不同的时钟周期采用 不同的标记, 在从 FIFO存储器中读取数据时, 按照时钟周期的顺序确定一 系列读取操作所采用的标记的数据, 每次读取一种标记的全部请求信号。 例 如, 在第一时钟周期, 有一个上游设备发出请求信号, 则向该上游设备对应 的 FIFO存储器中写入带有第一时钟周期标记的请求信号的数据, 在第二时 钟周期, 另外两个上游设备发出请求信号, 则向这两个上游设备对应的 FIFO 存储器中分别写入带有第二时钟周期标记的各自对应的请求信号的数据, 在 读取时, 先读取带有第一时钟周期标记的请求信号的数据, 发送给下游设备, 然后再读取带有第二时钟周期标记的请求信号的数据, 发送给下游设备。 从 而通过采用当前时钟周期对接收的请求信号进行标记, 保证了请求信号的时 间顺序。
在本发明实施例四中, 通过加入标记进行保序, 各个上游设备发出的请 求信号之间相互独立, 其中一个上游设备发出的请求信号不必根据其它上游 设备发出的请求信号的处理状态进行接收, 因此减小了各个设备之间的耦合 程度。
图 5为本发明实施例五的信号保序装置的结构示意图。 如图 5所示, 该信 号保序装置包括: 一个标记模块 51、 至少一个 FIFO存储器 52和一个调度 模块 53。
其中,标记模块 51用于当接收到来自至少一个上游设备的请求信号的数 据时, 为该请求信号的数据附加用于指示当前时钟周期的标记, 控制至少一 个 FIFO存储器 52写入带有上述标记的对应的请求信号的数据。
每个 FIFO存储器 52对应一个上游设备,用于写入对应上游设备的带有 上述标记的请求信号的数据。 调度模块 53, 用于从上述 FIFO存储器 52中读取带有上述标记的请求 信号的数据, 并输送给下游设备。 具体地, 调度模块 53从 FIFO存储器 52 中读取数据时,每次读取一种标记的全部请求信号, 并且调度模块 53的各次 读取操作所采用的标记各不相同,调度模块 53的各次读取操作采用的标记是 按照时钟周期的顺序排列的。
具体地, 具体地, 标记模块 51 内运行一个循环计数的计数器, 当接收到 请求信号时, 标记模块 51 将当前计数器的值与该请求信号的数据一起写入 FIFO存储器 52, 则在该 FIFO存储器 52的出口即可获取携带标记的请求信 号数据。 调度模块 53根据上述标记的值即可判断出对应的请求信号的顺序。
在向 FIFO存储器 52中写入请求信号的数据时, 标记模块 51根据当前 时钟周期对请求信号的数据进行标记, 在不同的时钟周期采用不同的标记, 在调度模块 53从 FIFO存储器中读取数据时,按照时钟周期的顺序确定一系 列读取操作所采用的标记的数据, 每次读取一种标记的全部请求信号。 例如, 在第一时钟周期,有一个上游设备发出请求信号, 则标记模块 51为向该上游 设备对应的 FIFO存储器 52中写入的请求信号的数据附加上第一时钟周期标 记, 在第二时钟周期, 另外两个上游设备发出请求信号, 则标记模块 51为向 这两个上游设备对应的 FIFO存储器 52中分别写入的请求信号的数据附加上 第二时钟周期标记。 调度模块 53在读取 FIFO存储器 52时, 先读取带有第 一时钟周期标记的请求信号的数据, 发送给下游设备, 然后再读取带有第二 时钟周期标记的请求信号的数据, 发送给下游设备。 从而通过采用当前时钟 周期对接收的请求信号进行标记, 保证了请求信号的时间顺序。
在本发明实施例五中, 各个上游设备发出的请求信号之间相互独立, 其 中一个上游设备发出的请求信号不必根据其它上游设备发出的请求信号的处 理状态进行接收, 因此减小了各个设备之间的耦合程度。
在上述本发明实施例一至本发明实施例五中, 当上述实施例中的信号保 序方法或装置应用于同一时钟域的情况下时, 上述方法或装置中的 FIFO存 储器的输入端和输出端对应同一个时钟域, 因此该 FIFO存储器可以为同步 FIFO 存储器, 也可以为异步先入先出 (Asynchronous First Input First Output, 简称 AFIFO )存储器; 当上述实施例中的信号保序方法或装置应用 于跨时钟域的情况下时, 上述方法或装置中的 FIFO存储器的输入端和输出 端对应不同的时钟域, 因此该 FIFO存储器为 AFIFO存储器。
需要说明的是: 对于前述的各方法实施例, 为了简单描述, 故将其都表 述为一系列的动作组合, 但是本领域技术人员应该知悉, 本发明并不受所描 述的动作顺序的限制, 因为依据本发明, 某些步骤可以采用其他顺序或者同 时进行。 其次, 本领域技术人员也应该知悉, 说明书中所描述的实施例均属 于优选实施例, 所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中, 对各个实施例的描述都各有侧重, 某个实施例中没有 详述的部分, 可以参见其他实施例的相关描述。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读 取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述 的存储介质包括: R0M、 RAM, 磁碟或者光盘、 寄存器阵列、 寄存器堆等各 种可以存储程序代码的介质, 其中, RAM包括 SRAM和 DRAM。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其 限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术 人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或 者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims

权 利 要求
1、 一种信号保序方法, 其特征在于, 包括:
当至少一个第一先入先出 FIFO存储器写入来自对应的至少一个第一上 游设备的请求信号的数据时, 在写入所述请求信号的数据的相同时钟周期, 向至少一个第二上游设备对应的至少一个第二 FIFO存储器写入无效数据; 从所述至少一个第一 FIFO存储器读取所述请求信号的数据并从所述至 少一个第二 FIFO存储器读取所述无效数据, 丟弃所述无效数据, 向下游设 备输送所述请求信号的数据。
2、根据权利要求 1所述的方法,其特征在于,所述当至少一个第一 FIFO 存储器写入来自对应的至少一个第一上游设备的请求信号的数据时, 在写入 所述请求信号的数据的相同时钟周期, 向至少一个第二上游设备对应的至少 一个第二 FIFO存储器写入无效数据包括:
所述至少一个第一上游设备发出至少一个请求信号;
每个所述第一上游设备的有效信号触发一个所述第一 FIFO存储器对应 的选择器为对应的所述第一 FIFO存储器选择一个所述请求信号的数据; 每个所述第二上游设备的无效信号触发一个所述第二 FIFO存储器对应 的选择器为对应的所述第二 FIFO存储器选择所述无效数据;
所述至少一个第一上游设备的有效信号和所述至少一个第二上游设备的 无效信号触发或门向所述至少一个第一 FIFO存储器和所述至少一个第二 FIFO存储器发送写有效控制信号。
3、 根据权利要求 1或 2所述的方法, 其特征在于,
所述无效数据为全 0数据或全 1数据。
4、根据权利要求 1或 2所述的方法, 其特征在于, 所述向下游设备输送 所述请求信号的数据包括:
按照预设的优先级策略向下游设备输送所述请求信号的数据。
5、 根据权利要求 1至 4中任意一项所述的方法, 其特征在于, 所述第一先入先出 FIFO存储器为第一异步先入先出 AFIF0存储器; 所述第二 FIFO存储器为第二 AFIF0存储器。
6、 一种信号保序方法, 其特征在于, 包括:
当接收到来自至少一个上游设备的请求信号的数据时, 为所述请求信号 的数据附加用于指示当前时钟周期的标记, 向每个所述上游设备对应的先入 先出 FIFO存储器写入一个带有所述标记的所述请求信号的数据;
从所述 FIFO存储器中读取带有所述用于指示当前时钟周期的标记的请 求信号的数据, 并输送给下游设备。
7、 根据权利要求 6所述的方法, 其特征在于,
所述先入先出 FIFO存储器为异步先入先出 AFIF0存储器。
8、 一种信号保序装置, 其特征在于, 包括:
控制模块, 用于控制至少一个第一先入先出 FIFO存储器写入来自对应 的至少一个第一上游设备的请求信号的数据, 并且控制至少一个第二 FIFO 存储器在写入所述请求信号的数据的相同时钟周期写入无效数据;
所述至少一个第一 FIFO存储器,每个第一 FIFO存储器对应一个第一上 游设备, 用于在控制模块的控制下写入对应的第一上游设备的请求信号的数 据;
所述至少一个第二 FIFO存储器,每个第二 FIFO存储器对应一个第二上 游设备, 用于在控制模块的控制下写入无效数据;
调度模块, 用于从所述至少一个第一 FIFO存储器读取所述请求信号的 数据并从所述至少一个第二 FIFO存储器读取所述无效数据, 丟弃所述无效 数据, 向下游设备输送所述请求信号的数据。
9、 根据权利要求 8所述的装置, 其特征在于, 所述控制模块包括: 至少一个第一选择器, 每个第一选择器对应一个所述第一 FIFO存储器 和一个所述第一上游设备, 用于根据对应的所述第一上游设备的有效信号的 触发, 为对应的所述第一 FIFO存储器选择所述请求信号的数据; 至少一个第二选择器, 每个第二选择器对应一个所述第二 FIFO存储器, 用于根据所述第二上游设备对应的无效信号的触发,为对应的所述第二 FIFO 存储器选择所述无效数据;
或门, 用于根据所述至少一个第一上游设备对应的有效信号和所述至少 一个第二上游设备对应的无效信号的触发, 向所述至少一个第一 FIFO存储 器和所述至少一个第二 FIFO存储器发送写有效控制信号。
10、 根据权利要求 8或 9所述的装置, 其特征在于,
所述无效数据为全 0数据或全 1数据。
11、 根据权利要求 8或 9所述的装置, 其特征在于,
所述调度模块具体用于按照预设的优先级策略向下游设备输送所述请求 信号的数据。
12、 根据权利要求 8至 11中任意一项所述的装置, 其特征在于, 所述第一先入先出 FIFO存储器为第一异步先入先出 AFIF0存储器; 所述第二 FIFO存储器为第二 AFIF0存储器。
13、 一种信号保序装置, 其特征在于, 包括:
标记模块, 用于当接收到来自至少一个上游设备的请求信号的数据时, 为所述请求信号的数据附加用于指示当前时钟周期的标记, 控制至少一个先 入先出 FIFO存储器写入对应的带有所述标记的所述请求信号的数据;
所述至少一个 FIFO存储器,每个 FIFO存储器对应一个上游设备, 用于 写入对应上游设备的带有所述用于指示当前时钟周期的标记的所述请求信号 的数据;
调度模块, 用于从所述 FIFO存储器中读取带有所述用于指示当前时钟 周期的标记的请求信号的数据, 并输送给下游设备。
14、 根据权利要求 13所述的装置, 其特征在于,
所述先入先出 FIFO存储器为异步先入先出 AFIF0存储器。
PCT/CN2011/079681 2011-09-15 2011-09-15 信号保序方法和装置 WO2012149742A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201180001916.3A CN102388359B (zh) 2011-09-15 2011-09-15 信号保序方法和装置
PCT/CN2011/079681 WO2012149742A1 (zh) 2011-09-15 2011-09-15 信号保序方法和装置
US14/143,101 US9122411B2 (en) 2011-09-15 2013-12-30 Signal order-preserving method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/079681 WO2012149742A1 (zh) 2011-09-15 2011-09-15 信号保序方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/143,101 Continuation US9122411B2 (en) 2011-09-15 2013-12-30 Signal order-preserving method and apparatus

Publications (1)

Publication Number Publication Date
WO2012149742A1 true WO2012149742A1 (zh) 2012-11-08

Family

ID=45826487

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/079681 WO2012149742A1 (zh) 2011-09-15 2011-09-15 信号保序方法和装置

Country Status (3)

Country Link
US (1) US9122411B2 (zh)
CN (1) CN102388359B (zh)
WO (1) WO2012149742A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118092815A (zh) * 2024-04-23 2024-05-28 沐曦集成电路(上海)有限公司 一种写操作的保序方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015536063A (ja) * 2012-09-13 2015-12-17 トムソン ライセンシングThomson Licensing ファースト−イン−ファースト−アウトトランスポート機構からのランダムアクセスメッセージ取り出しの方法
CN110704020B (zh) * 2019-09-29 2022-02-18 浪潮(北京)电子信息产业有限公司 一种跨时钟域数据包的完整性判断方法、系统及相关装置
CN111752525A (zh) * 2020-06-22 2020-10-09 深圳鲲云信息科技有限公司 一种模块间通信方法及系统
CN116049032B (zh) * 2023-03-30 2023-06-23 摩尔线程智能科技(北京)有限责任公司 基于光线追踪的数据调度方法、装置及设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138281A1 (en) * 2003-12-18 2005-06-23 Garney John I. Request processing order in a cache
US20070260614A1 (en) * 2006-05-02 2007-11-08 Sun Microsystems, Inc. Lock-free implementation of an ordered single-writer multiple-readers data structure
CN102117193A (zh) * 2010-01-04 2011-07-06 杭州华三通信技术有限公司 一种实现预读式fifo的方法和预读式fifo
US20110196999A1 (en) * 2002-02-06 2011-08-11 Juniper Networks, Inc. Systems and methods for order preserving data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246684B1 (en) * 1997-12-24 2001-06-12 Nortel Networks Limited Method and apparatus for re-ordering data packets in a network environment
US6144604A (en) * 1999-11-12 2000-11-07 Haller; Haggai Haim Simultaneous addressing using single-port RAMs
US6581111B1 (en) * 2000-06-02 2003-06-17 Advanced Micro Devices, Inc. Out-of-order probing in an in-order system
US7068603B2 (en) * 2001-07-06 2006-06-27 Juniper Networks, Inc. Cross-bar switch
US6611469B2 (en) * 2001-12-11 2003-08-26 Texas Instruments Incorporated Asynchronous FIFO memory having built-in self test logic
FR2915338A1 (fr) * 2007-04-17 2008-10-24 Canon Kk Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110196999A1 (en) * 2002-02-06 2011-08-11 Juniper Networks, Inc. Systems and methods for order preserving data
US20050138281A1 (en) * 2003-12-18 2005-06-23 Garney John I. Request processing order in a cache
US20070260614A1 (en) * 2006-05-02 2007-11-08 Sun Microsystems, Inc. Lock-free implementation of an ordered single-writer multiple-readers data structure
CN102117193A (zh) * 2010-01-04 2011-07-06 杭州华三通信技术有限公司 一种实现预读式fifo的方法和预读式fifo

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118092815A (zh) * 2024-04-23 2024-05-28 沐曦集成电路(上海)有限公司 一种写操作的保序方法

Also Published As

Publication number Publication date
US9122411B2 (en) 2015-09-01
CN102388359B (zh) 2014-01-01
US20140115201A1 (en) 2014-04-24
CN102388359A (zh) 2012-03-21

Similar Documents

Publication Publication Date Title
US20220231962A1 (en) System and method for facilitating data request management in a network interface controller (nic)
US8718065B2 (en) Transmission using multiple physical interface
CN105005546B (zh) 一种内置交点队列的异步axi总线结构
US8930593B2 (en) Method for setting parameters and determining latency in a chained device system
US8085801B2 (en) Resource arbitration
US8868672B2 (en) Server node interconnect devices and methods
CN106257434B (zh) 一种基于增强型外设互连协议总线的数据传输方法及装置
US20060031643A1 (en) Implementing FIFOs in shared memory using linked lists and interleaved linked lists
US8166227B2 (en) Apparatus for processing peripheral component interconnect express protocol
CN110661725A (zh) 用于对出口上的网络分组进行重排序的技术
US9491099B2 (en) Look-aside processor unit with internal and external access for multicore processors
US10419355B2 (en) Flow control of network device
US7447872B2 (en) Inter-chip processor control plane communication
WO2012149742A1 (zh) 信号保序方法和装置
CN111858413B (zh) Pcie交换芯片端口的数据调度方法及装置
CN112035898A (zh) 多节点多通道高速并行处理方法及系统
CN105579952B (zh) 利用伪停顿的高速通道上的emi抑制
JP2017527219A (ja) ネットワークオンチップトポロジー内のトンネリング
CN108768778B (zh) 一种网络时延计算方法、装置、设备及存储介质
US9817784B2 (en) Multi-port transmitter device for transmitting at least partly redundant data, an associated control system, an associated method and an associated computer program product
US9338219B2 (en) Direct push operations and gather operations
US8284790B1 (en) Packet switch with enqueue structure for odering packets
TW202236104A (zh) 整合計算元件之間的信息通訊
CN109802897B (zh) 一种数据传输方法及通信设备
US8995455B1 (en) Memory devices for network devices and associated methods

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180001916.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11864690

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11864690

Country of ref document: EP

Kind code of ref document: A1