US20060171413A1 - Data processing system and data interfacing method thereof - Google Patents
Data processing system and data interfacing method thereof Download PDFInfo
- Publication number
- US20060171413A1 US20060171413A1 US11/340,706 US34070606A US2006171413A1 US 20060171413 A1 US20060171413 A1 US 20060171413A1 US 34070606 A US34070606 A US 34070606A US 2006171413 A1 US2006171413 A1 US 2006171413A1
- Authority
- US
- United States
- Prior art keywords
- data
- data processing
- packet
- fifo
- processing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
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/38—Information transfer, e.g. on bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
Definitions
- Example embodiments of the present invention relate to a data processing system capable of operating in a synchronous mode and an asynchronous mode by processing data and control information as a data packet and a data processing method for receiving and transferring data.
- the computer system may include a central processing unit (CPU) that performs various operations and controls important system operations, and a plurality of sub-systems, e.g., a plurality of data processing systems, that may perform core functions associated with the CPU.
- CPU central processing unit
- sub-systems e.g., a plurality of data processing systems
- Each of the data processing systems may be coupled to each other with a point-to-point connection or a data bus. These data processing systems perform data packet transfers through the point to-point connection or the data bus. Further, these data processing systems may employ a first in first out (FIFO) method for data processes associated between the data processing systems at least partially because the FIFO method may be advantageous for performance evaluation, and may describe data flow between the data processing systems in view of a top layer.
- FIFO first in first out
- FIG. 1 is a schematic diagram illustrating an example of a conventional data processing systems coupled according to a point-to-point configuration.
- a first data processing system 10 may include a first FIFO 11 , 21 and 31 for data inputs and a second FIFO for 12 , 22 and 32 data outputs, respectively.
- the three data processing systems 10 , 20 and 30 in FIG. 1 are coupled in a point-to-point configuration.
- a first FIFO 11 for data inputs of a first data processing system 10 may be coupled to a second FIFO 22 for data outputs of a second data processing system 20 and may be coupled to a second FIFO 32 for data outputs of a third data processing system 30 .
- a first FIFO 21 for data inputs of the second data processing system 20 may be coupled to a second FIFO 12 for data outputs of the first data processing system 10 , and may be coupled to the second FIFO 32 for data outputs of the third data processing system 30 .
- a first FIFO 31 for data inputs of the third data processing system 30 may be coupled to the second FIFO 12 for data outputs of the first data processing system 10 , and may be coupled to the second FIFO 22 for data outputs of the second data processing system 20 .
- Each of the first FIFOs 11 , 21 and 31 for data inputs may be directly coupled to each of the second FIFOs 12 , 22 and 32 for data outputs.
- providing connection lines between the FIFOs and/or data processing systems increases in complexity as the number FIFOs and/or data processing systems increase. This is one disadvantage of the conventional point-to-point configuration as described above.
- data processing systems coupled in a conventional point-to-point configuration require a data arbitration process to determine a source of a received and/or input data packet.
- FIG. 2 is a block diagram illustrating conventional data processing systems coupled in a data bus configuration.
- a first data processing system 40 may be coupled to one another through a data bus 70 .
- a second data processing system 50 may be coupled to one another through a data bus 70 .
- a third data processing system 60 may be coupled to one another through a data bus 70 .
- connection lines between three data processing systems shown in FIG. 2 are less complex.
- a data arbitration process required for the three data processing systems 10 , 20 and 30 in FIG. 1 may not required for the three data processing systems 40 , 50 and 60 shown in FIG. 2 because a bus master may be equipped in one of the three data processing systems 40 , 50 and 60 .
- a data bus architecture as shown in FIG. 2 is implemented for most conventional computer systems.
- data processing systems 40 , 50 and 60 may include interface logic to interface with a data bus 70 .
- interface logic may be mixed with data processing logic for a core function of data processing systems 40 , 50 and 60 , it may be difficult to perform error detection, maintenance, and/or reuse of the logic.
- an interface logic module may be configured separately from a core function of data processing systems 40 , 50 and 60 .
- FIG. 3 is a block diagram illustrating a structure of a conventional data processing system shown in FIG. 2 .
- a conventional data processing system may include a data processing module 42 for performing a core data processing function, and a data interface module 44 for interfacing the data processing module 42 with a data bus 70 .
- a data interface module 44 may include an interface control logic 45 , a write FIFO 46 and a read FIFO 47 .
- An interface control logic 45 may interface control data for data transfer between a data processing module 42 and/or a data bus 70 .
- a write FIFO 46 may load data provided from a data processing module 42 and may output the loaded data using a FIFO method in response to a request from a data bus 70 .
- a read FIFO 47 may load data provided from a data bus 70 and may output the loaded data using a FIFO method in response to a request from a data processing module 42 .
- Control data may include command data and/or state data that is associated with controls during data processing.
- Actual data may include target data and address data except the control data.
- an interface between a data processing module 42 and an interface control logic 45 is not standardized at least in part because control data is not standardized in a conventional data processing system 40 .
- an operating speed of a data processing module 42 may depend on an operating speed of a data bus 70 .
- a read FIFO 46 and/or a write FIFO 47 may perform a clock conversion, but an interface control logic 45 may not perform clock conversion due to a complex circuit structure of the interface control logic 45 .
- a data interface module 44 may use a clock CLK identical with a clock CLK of a data bus 70 due to structural features of the data interface module 44 , and an operating speed of the data processing module 42 is downwardly adjusted to match the operating speed of the data interface module 44 .
- a data processing system 40 may not achieve full performance due at least in part to a downward adjustment of the operating speed of the data processing module 42 .
- a conventional data interface module 44 may be suitable for a synchronous interface, but is not suitable for an asynchronous interface.
- an extra device may be employed to support an asynchronous interface.
- a bus wrapper may be added to a conventional data system for supporting an asynchronous interface between an output end of a data processing system 40 and a data bus 70 .
- there is excessive interface overhead in a bus wrapper because an interface protocol of a data processing system 40 is, in most cases, different from an interface protocol of a data bus 70 , the bus wrapper simultaneously handles clock interfaces and protocol interfaces. Thus, a ratio of the overhead occurring in the bus wrapper may be increased.
- Example embodiments of the present invention provides a data processing system capable of processing both standardized actual data and control data for transferring the standardized actual data, and capable of supporting an asynchronous interface and a synchronous interface.
- Example embodiments of the present invention also provide a data interfacing method capable of efficiently performing associative operations between a data processing system and a data bus.
- the data processing system may include a data processing module configured to perform a data processing function and interface with other data processing systems using data packets having a first protocol format including actual data and control data for data transfer; and a data interface module coupled to a data bus and the data processing module, the data interface module configured to convert data packets having the first protocol format to data packets having a second protocol format, to output the data packets having the second protocol format to the data bus, to convert data packets having the second protocol format to data packets having the first protocol format, and to transfer the data packets having the first protocol format to the data processing module.
- An example embodiment of the present invention provides a data processing system include a data processing module and a data interface module.
- the data interface module may include a write FIFO configured to sequentially store the data packets having the first protocol format received from the data processing module and to retrieve the stored data packets based on a first in first out (FIFO) method; a protocol interface coupled to the data bus, the protocol interface configured to convert data packets having the first protocol format into data packets having the second protocol format and to transfer the data packets having the second protocol format to the data bus, the protocol interface is further configured to convert data packets having the second protocol format received from the data bus into data packets having the first protocol format; and a read FIFO configured to sequentially store the data packets having the first protocol format received from the protocol interface and to retrieve the stored data packets based on the FIFO method to provide the retrieved data packets to the data processing module.
- FIFO first in first out
- data packets having a first protocol format may include a packet head section where the control data are stored; and a data section where the actual data are stored.
- the packet head section may includes at least one of a packet length data section that represents a length of the data packet, a valid bit data section that represents a number of the valid data of the data packet, an access unit data section that represents an access unit of the data packet, an address modification data section that represents whether an address data where the data packet is stored is modified or not, a packet type data section that represents a format of the data packet and a packet identification (ID) section that represents an identification of the packet.
- ID packet identification
- An example embodiment of the present invention provides a data interfacing method in a transmission mode.
- the data interfacing method may include outputting data packets having a first protocol format synchronized to a first clock, each of the data packets having the first protocol format including actual data and control data used for transferring the actual data; sequentially storing the outputted data packets having the first protocol format based on the first clock; retrieving the stored data packets based on a FIFO method under synchronization of a second clock; converting the retrieved data packets having the first protocol format into a data packets having a second protocol format; and transferring the converted data packets to a data bus under synchronization of the second clock.
- An example embodiment of the present invention provides a data interfacing method in a reception mode.
- the data interfacing method may include converting data packets having a second protocol format into data packets having a first protocol format; outputting the data packets having the first protocol format under synchronization of a second clock that is an operating clock of the data bus; and sequentially storing the outputted data packets having the first protocol format under synchronization of the second clock; and retrieving the stored data packets under synchronization of a first clock.
- FIG. 1 is a schematic diagram illustrating conventional data processing systems coupled in a point-to-point configuration
- FIG. 2 is a block diagram illustrating conventional data processing systems coupled in a data bus configuration
- FIG. 3 is a block diagram illustrating a structure of a conventional data processing system
- FIG. 4 is a block diagram illustrating a structure of a data processing system according to an example embodiment of the present invention.
- FIG. 5 is a schematic diagram illustrating a data packet structure used between a data processing module, FIFOs and a protocol interface shown in FIG. 4 in accordance with an example embodiment of the present invention
- FIG. 6 is a schematic diagram illustrating a configuration of a packet head section of a data packet shown in FIG. 5 in accordance with an example embodiment of the present invention
- FIG. 7 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from a data processing module and stored in a write FIFO;
- FIG. 8 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in a write FIFO and transferred to a protocol interface;
- FIG. 9 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in a protocol interface and converted to output a converted data packet to a bus interface;
- FIG. 10 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from a protocol interface and stored in a read FIFO;
- FIG. 11 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in a read FIFO transferred to a data processing module;
- FIG. 12 is a block diagram illustrating a data processing system according to an example embodiment of the present invention.
- first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present invention.
- the term “and/or” includes any and all combinations of one or more of the associated listed items. It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present.
- FIG. 4 is a block diagram illustrating a structure of a data processing system 100 capable of supporting an asynchronous interface according to an example embodiment of the present invention.
- a data processing system 100 may include a data processing module 110 and a data interface module 120 .
- a data interface module 120 may include a write FIFO 121 , a read FIFO 123 and a protocol interface 122 .
- a data processing module 110 may perform a core data processing function, may transfer data packets to a write FIFO 121 and may receive data packets from a read FIFO 123 through a data bus 200 to perform associative operations with another data processing system 300 coupled to the data bus 200 .
- the core data processing function refers to primary data processing performed by a data processing system 100 .
- a core function of an MPEG processing system may refer to a function for processing MPEG data.
- a write FIFO 121 may sequentially store data packets received from a data processing module 110 and may output the stored data packets to a protocol interface 122 based on a FIFO method.
- a write FIFO 121 may correspond to an asynchronous FIFO. That is, the write FIFO 121 may be synchronized to a first clock that corresponds to an operating clock of a data processing module 110 during a data packet input mode, and the write FIFO 121 may be synchronized to a second clock that corresponds to an operating clock of a data bus 200 and a protocol interface 122 during a data packet output mode.
- a read FIFO 123 may sequentially store data packets received from a protocol interface 122 and may output the stored data packets to a data processing module 110 based on a FIFO method.
- a read FIFO 123 may correspond to a synchronous FIFO. That is, the read FIFO 123 may be synchronized to a second clock that corresponds to an operating clock of a data bus 200 and a protocol interface 122 during a data packet input mode, and the read FIFO 123 may be synchronized to a first clock that corresponds to the operating clock of a data processing module 110 during a data packet output mode.
- a protocol interface 122 may be coupled to a data bus 200 , may convert a data packet having a first protocol format outputted from a write FIFO 121 to a data packet having a second protocol format suitable for a data bus 200 and may transfer the converted data packet having the second protocol format.
- a protocol interface 122 may convert a data packet having a second protocol format transferred from a data bus 200 to a data packet having a first protocol format, and may output the converted data packet having the first protocol format to a read FIFO 123 .
- a protocol interface 122 receives data packets having the first protocol format outputted from a write FIFO 121 , the protocol interface 122 converts the data packet having the first protocol format into a data packet interface, and transfers the data packet interface to the read FIFO 123 .
- a data bus 200 may correspond to a standard interface bus, and a protocol interface 122 may ensure protocol compatibility between a data processing system 100 and the standard interface bus 200 .
- compatibility of a data processing system 100 with a data bus 200 may be improved by employing a protocol interface 122 .
- Data packets according to an example embodiment of the present invention may include real data and control data for data transfer.
- FIG. 5 is a schematic diagram illustrating a data packet structure according to an example embodiment of the present invention that may be used between a data processing module 110 , a write FIFO 121 , a read FIFO 123 and a protocol interface 122 as shown in FIG. 4 .
- a data packet 400 may include a packet head (PHEAD) section 410 having 32-bit control data, and a data section 420 having 32-bit real data, for example.
- PHEAD packet head
- a data packet 400 according to an example embodiment of the present invention may include a plurality of the data sections 420 having a 32-bit space.
- FIG. 6 is a schematic diagram illustrating an example configuration of a packet head section 410 of a data packet 400 shown in FIG. 5 according to an example embodiment of the present invention.
- sub-sections constituting a packet head section 410 may include one or more of the following.
- a packet length data section 411 that may store packet length data and may occupy a first bit to a sixteenth bit [15:0] of the packet head section 410 . Sixteen bits among a total of thirty-two bits constituting a packet head section 410 may be allocated for a packet length data section 411 of a packet head section 410 , for example.
- a valid bit data section 412 that may store a number of valid bits among a last word of 32-bit data stream 420 , and may occupy a seventeenth bit to a twenty-first bit [20:16]. Five bits may be allocated for the valid bit data section 412 of the packet head section 410 , for example.
- An access unit data section 413 that may store data representing a corresponding access unit and may occupy from a twenty-second bit to a twenty-third bit [22:21]. Two bits may be allocated for the access unit data section 413 of the packet head section 410 , for example. Further, an access unit may include a byte, a half word, and a word.
- An address modification data section 414 that may store data representing whether a predetermined address is modified or not, and may occupy a twenty-fourth. bit [23]. One bit may be allocated for the address modification data section 414 . For example, data representing whether the predetermined address is modified or not, may include either “no change” or “incremental change in address”.
- a packet type data section 415 that may store data representing a packet format and may occupy a twenty-fifth bit to a twenty-eighth bit [27:24]. Four bits may be allocated for the packet type data section 415 , for example. Further, data representing the packet format may include either “read/write” or “critical access”.
- a packet identification data section 416 that may store data representing a packet ID and may occupy from a twenty-ninth bit to a thirty-second bit [31:28]. Four bits may be allocated for the packet ID data section 416 , for example. Further, the packet ID data section 416 may be used as an extension field.
- a packet structure according to an example embodiment of the present invention may be configured as follows.
- a data packet 400 for a single write operation which is performed at the address “0x0010 — 8000” with the data “0x1234 — 5678”, may the following configuration:
- a data packet 400 for burst write operations which are performed at the address “0x0010 — 8000” with the data “0x1234 — 5678” and at the address “0x0010 — 8004” with the data “0xaaaa_bbbb”, may have the following configuration:
- a data packet 400 may include a packet head section 410 , which may store control data in each of the sections 411 through 416 and a data section 420 , which may store actual data to be written and the data address.
- control data and real data may be transferred as a standardized data packet 400 between a write FIFO 121 and a read FIFO 123 according to an example embodiment of the present invention
- an asynchronous interface of the write FIFO 121 and the read FIFO 123 is possible. Further, function boundaries between logics may be apparent and thus, reusability of each logic may be improved.
- FIG. 7 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from a data processing module 110 shown in FIG. 4 , and may be stored in a write FIFO 121 .
- the following signals are shown in addition to a first clock signal.
- a write FIFO enqueue signal may be used for enabling a data packet to be stored in a write FIFO 121 .
- a write FIFO enqueue signal is at a high level (e.g., an active level)
- contents of a data packet may be stored in a write FIFO 121 .
- the packet data signal may represent contents of a data packet. As shown in FIG. 7 , the packet data may include burst write operations, which are performed at the address “0x0010 — 8000” with the data “0x1234 — 5678” and at the address “0x0010 — 8004” with the data “0xaaaa_bbbb”.
- the data packet signal illustrated in FIG. 7 includes PHEAD, D 0 , D 1 and D 2 , wherein D 0 represents an address, D 1 represents first data DATA 1 (“0x1234 — 5678”) and D 2 represents second data DATA 2 (“0xaaaa_bbbb”).
- the data packet start signal may represent a start of a data packet.
- a write FIFO full signal may be activated if a write FIFO 121 is full. For example, if a write FIFO full signal is at an active level, a write FIFO enqueue signal may not be permitted to become the active level. That is, a data packet cannot be stored in the write FIFO 121 if the write FIFO full signal is at the active level.
- a write FIFO full signal is at a low level (e.g., a non-active level) and a data packet is transferred from a data processing module 110 , the write FIFO enqueue signal experiences a state transition from a non-active level to the active level.
- a packet data including PHEAD, ADDR, DATA 0 are sequentially stored in the write FIFO 121 .
- the data packet start signal experiences a state transition from the non-active level to the active level.
- a data packet start signal may be used for initializing a finite state machine FSM (not shown) corresponding to each data packet. Further, if there are process errors on a previously inputted data packet, even though the current FSM remains at an undesired state, the present inputted data packet may be processed normally using the data packet start signal. Meanwhile, after DATA 0 is stored in a write FIFO 121 , when the write FIFO 121 is full, the write FIFO full signal experiences a state transition from the non-active level to the active level and an input process of the data packet is suspended.
- the write FIFO enqueue signal experiences a state transition from the non-active level to the active level thereby DATA 1 of the packet data is inputted to the write FIFO 121 .
- a data packet transferred from a data processing module 110 may be stored in a write FIFO 121 .
- all of the signals may be synchronized to a first clock, which may be substantially identical with the operating clock of a data processing module 110 .
- FIG. 8 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in a write FIFO 121 and may be transferred to a protocol interface 122 , after the method shown in FIG. 7 is completed.
- FIG. 8 the following signals are shown in addition to the second clock signal.
- a write FIFO dequeue signal may be used for enabling a data packet to be retrieved from a write FIFO 121 . For example, if a write FIFO dequeue signal is at an active level, contents of a data packet may be retrieved from a write FIFO 121 .
- the packet data signal may represent contents of a data packet. Similar to the packet data shown in FIG. 7 , the packet data of FIG. 8 may include burst write operations, which may be performed at an address “0x0010 — 8000” with data “0x1234 — 5678” and at an address “0x0010 — 8004” with data “0xaaaa_bbbb”.
- the data packet shown in FIG. 8 includes PHEAD, D 0 , D 1 and D 2 , wherein D 0 represents an address, D 1 represents first data DATA 1 (“0x1234 — 5678”) and D 2 represents second data DATA 2 (“0xaaaa_bbbb”).
- the data packet start signal may represent a start of a data packet.
- a write FIFO empty signal may be activated if a write FIFO 121 is empty. For example, if a write FIFO empty signal is at an active level, a write FIFO enqueue signal may not be permitted to become the active level since it is not possible to retrieve a data packet from a write FIFO 121 .
- a write FIFO empty signal is at a non-active level and a retrieve request for data packet is received from a protocol interface 122
- a write FIFO dequeue signal experiences a state transition from the non-active level to an active level and packet data including PHEAD, ADDR, DATA 0 and DATA 1 may be sequentially retrieved from the write FIFO 121 .
- a data packet start signal experiences a state transition from the non-active level to the active level.
- a data packet start signal may be used for performing data processing normally on a current inputted data packet even though a current FSM remains at an undesired state.
- data packets retrieved from a write FIFO 121 may be transferred to a protocol interface 122 .
- all of the signals may be synchronized to a second clock, which may be substantially identical with an operating clock of a protocol interface 122 .
- FIG. 9 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet that may be stored in a protocol interface may be converted.
- the converted data packet may be output to a bus interface, after the method shown in FIG. 8 is completed.
- a data packet DATA 0 which may be stored in a corresponding address ADDR
- a data packet DATA 1 which may be stored in a corresponding address (ADDR+4)
- a transaction signal may be activated (e.g., in a non-idle state).
- All of the signals shown in FIG. 9 may be synchronized to a second clock, which may be substantially identical with an operating clock of a protocol interface 122 and a data bus 200 .
- FIG. 10 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from a protocol interface 122 shown in FIG. 4 and may be stored in a read FIFO 123 .
- the following signals are shown in addition to a second clock signal.
- a read FIFO enqueue signal may be used for enabling a data packet to be stored in a read FIFO 123 .
- a read FIFO enqueue signal is at a high level (e.g., an active level)
- contents of a data packet may be stored in a read FIFO 123 .
- the packet data signal may represent contents of a data packet.
- a packet data signal may include burst write operations, which may be performed at an address “0x0010 — 8000” with a data “0x1234 — 5678” and at an address “0x0010 — 8004” with a data “0xaaaa_bbbb”.
- the data packet signal shown in FIG. 10 includes PHEAD, D 0 , D 1 and D 2 , wherein D 0 represents an address, D 1 represents first data DATA 1 (“0x1234 — 5678”) and D 2 represents second data DATA 2 (“0xaaaa_bbbb”).
- the data packet start signal may represent a start of a data packet.
- the read FIFO full signal may be activated when a read FIFO 123 is full. For example, if the read FIFO full signal is at an active level, a read FIFO enqueue signal is not permitted to become an active level. That is, a data packet cannot be stored in the read FIFO 123 if the read FIFO full signal is at the active level.
- a read FIFO full signal is at a low level (e.g., non-active level) and a data packet may be transferred from a protocol interface 122 , the read FIFO enqueue signal experiences a state transition from a non-active level to the active level.
- a packet data including PHEAD, ADDR, DATA 0 are sequentially stored in the read FIFO 123 .
- the data packet start signal experiences a state transition from the non-active level to the active level.
- a data packet start signal may be used for performing the data processing on a current inputted data packet normally even though a current FSM may remain an undesired state.
- DATA 0 is stored in a read FIFO 123
- the read FIFO full signal experiences the state transition from the non-active level to the active level and an input process of the data packet is suspended.
- the read FIFO enqueue signal experiences a state transition from the non-active level to the active level and DATA 1 of the packet data is inputted to the read FIFO 123 .
- a data packet transferred from a protocol interface 122 may stored in a read FIFO 123 .
- all of the signals may be synchronized to a second clock, which may be substantially identical with an operating clock of a protocol interface 122 .
- FIG. 11 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet that may be stored in a read FIFO 123 may be transferred to a data processing module 110 , after the method shown in FIG. 10 is completed.
- the following signals are shown in addition to the first clock signal.
- a read FIFO dequeue signal may be used for enabling a data packet to be retrieved from a read FIFO 123 . For example, if the read FIFO dequeue signal is at an active level, contents of a data packet may be retrieved from a read FIFO 123 .
- the packet data signal may represent contents of a data packet. Similar to the packet data signal shown in FIG. 11 , the packet data of FIG. 8 may include burst write operations, which may be performed at an address “0x0010 — 8000” with data “0x1234 — 5678” and at an address “0x0010 — 8004” with data “0xaaaa_bbbb”.
- the data packet signal shown in FIG. 11 includes PHEAD, D 0 , D 1 and D 2 , wherein D 0 represents an address, D 1 represents first data DATA 1 (“0x1234 — 5678”) and D 2 represents second data DATA 2 (“0xaaaa_bbbb”).
- the data packet start signal may represent a start of a data packet.
- a read FIFO empty signal may activate if a read FIFO 123 is empty. For example, if the read FIFO empty signal is at an active level, the read FIFO dequeue signal may not be permitted to become the active level because it is not possible to retrieve a data packet from the read FIFO 123 .
- a read FIFO empty signal is at a non-active level, and if a retrieve request for a data packet is received from a data processing module 110 , the read FIFO dequeue signal experiences a state transition from the non-active level to the active level. Accordingly, the packet data including PHEAD, ADDR, DATA 0 and DATA 1 may be sequentially retrieved from the read FIFO 123 . Further, the data packet start signal experiences a state transition from the non-active level to the active level.
- a data packet start signal may be used for performing the data processing on a current inputted data packet normally even though a current FSM may remains at an undesired state.
- data packets retrieved from a read FIFO 123 may be transferred to a data processing module 110 .
- all of the signals may be synchronized to a first clock, which may be substantially identical with an operating clock of the data processing module 110 .
- a data processing system 100 a data processing module 110 , a write FIFO 121 , a read FIFO 123 and a protocol interface 122 perform associative operations using a common standardized data packet. Accordingly, each function between the data processing module 110 , the write FIFO 121 , the protocol interface 122 and the read FIFO 123 included in the data processing system 100 may be separate from one another, thereby improving compatibility and reusability when replacement and maintenance of the above components of the data processing system 100 are desired and/or required.
- an asynchronous write FIFO 121 and an asynchronous read FIFO 123 may use a substantially identical clock, the performance of a data processing module 110 may be independent from the performance of a data bus 200 .
- a data processing module 110 and a data bus 200 may operate with a different operating clock.
- a data processing module 610 and a data bus 200 may share an operating clock.
- a data processing system 600 may include a data processing module 610 and a data interface module 620 .
- a data interface module 620 may include a write FIFO 621 , a read FIFO 623 and a protocol interface 622 .
- the write FIFO 621 and the read FIFO 623 shown in FIG. 12 are synchronous FIFOs. Accordingly, the data interface module 610 , the write FIFO 621 , the read FIFO 623 , the protocol interface 622 and the data bus 200 may all operate with a common third clock.
- an asynchronous interface and/or a synchronous interface may be selectively performed by alternating between an asynchronous FIFO and a synchronous FIFO.
- a data processing system may deal with a standardized data packet, which may include actual data and control data used for transferring the actual data. Therefore, a data processing system may have a simpler configuration in comparison with that of the conventional data processing system.
- each function of components for example, a data processing module, a read FIFO, a write FIFO and a protocol interface module
- each function of components is separate from one another, thereby improving reusability and compatibility of the components of the data processing system.
- a data processing system may implement both a synchronous interface and an asynchronous interface by alternating a FIFO. Accordingly, the data processing system may provide an improved and/or optimized network service by improving performance of a data processing module regardless of performance of a data bus.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
Description
- This application claims the benefit of priority to Korean Patent Application No. 2005-10064 filed on Feb. 3, 2005 in the Korean Intellectual Property Office, the entire contents of which are hereby incorporated by reference.
- 1. Field of the Invention
- Example embodiments of the present invention relate to a data processing system capable of operating in a synchronous mode and an asynchronous mode by processing data and control information as a data packet and a data processing method for receiving and transferring data.
- 2. Description of the Related Art
- Recently, there have been developments in processes and systems for providing efficient network services between digital devices such as computer terminals, peripheral devices, communication devices and mobile communication systems.
- These digital devices may include a computer system for data processing. The computer system may include a central processing unit (CPU) that performs various operations and controls important system operations, and a plurality of sub-systems, e.g., a plurality of data processing systems, that may perform core functions associated with the CPU.
- Each of the data processing systems may be coupled to each other with a point-to-point connection or a data bus. These data processing systems perform data packet transfers through the point to-point connection or the data bus. Further, these data processing systems may employ a first in first out (FIFO) method for data processes associated between the data processing systems at least partially because the FIFO method may be advantageous for performance evaluation, and may describe data flow between the data processing systems in view of a top layer.
-
FIG. 1 is a schematic diagram illustrating an example of a conventional data processing systems coupled according to a point-to-point configuration. - As shown in
FIG. 1 , a firstdata processing system 10, a seconddata processing system 20 and a thirddata processing system 30 may include afirst FIFO data processing systems FIG. 1 are coupled in a point-to-point configuration. - A
first FIFO 11 for data inputs of a firstdata processing system 10 may be coupled to asecond FIFO 22 for data outputs of a seconddata processing system 20 and may be coupled to asecond FIFO 32 for data outputs of a thirddata processing system 30. - A
first FIFO 21 for data inputs of the seconddata processing system 20 may be coupled to asecond FIFO 12 for data outputs of the firstdata processing system 10, and may be coupled to thesecond FIFO 32 for data outputs of the thirddata processing system 30. - A
first FIFO 31 for data inputs of the thirddata processing system 30 may be coupled to thesecond FIFO 12 for data outputs of the firstdata processing system 10, and may be coupled to thesecond FIFO 22 for data outputs of the seconddata processing system 20. - Each of the
first FIFOs second FIFOs -
FIG. 2 is a block diagram illustrating conventional data processing systems coupled in a data bus configuration. - As shown in
FIG. 2 , a firstdata processing system 40, a seconddata processing system 50, and a thirddata processing system 60 may be coupled to one another through adata bus 70. - As compared with a conventional point-to-point configuration, the connection lines between three data processing systems shown in
FIG. 2 are less complex. - Still further, a data arbitration process required for the three
data processing systems FIG. 1 may not required for the threedata processing systems FIG. 2 because a bus master may be equipped in one of the threedata processing systems FIG. 2 is implemented for most conventional computer systems. - Conventionally,
data processing systems data bus 70. However, if interface logic is mixed with data processing logic for a core function ofdata processing systems data processing systems -
FIG. 3 is a block diagram illustrating a structure of a conventional data processing system shown inFIG. 2 . - Referring to
FIG. 3 , a conventional data processing system may include adata processing module 42 for performing a core data processing function, and adata interface module 44 for interfacing thedata processing module 42 with adata bus 70. - A
data interface module 44 may include aninterface control logic 45, a write FIFO 46 and a read FIFO 47. Aninterface control logic 45 may interface control data for data transfer between adata processing module 42 and/or adata bus 70. Awrite FIFO 46 may load data provided from adata processing module 42 and may output the loaded data using a FIFO method in response to a request from adata bus 70. A readFIFO 47 may load data provided from adata bus 70 and may output the loaded data using a FIFO method in response to a request from adata processing module 42. - Control data may include command data and/or state data that is associated with controls during data processing. Actual data may include target data and address data except the control data.
- Conventionally, an interface between a
data processing module 42 and aninterface control logic 45 is not standardized at least in part because control data is not standardized in a conventionaldata processing system 40. - As logic compatibility is decreased, reusability is decreased and maintenance may become difficult.
- Due at least in part to the above-described deficiencies in a conventional system of connecting a plurality of data processing systems as shown in
FIG. 2 , an operating speed of adata processing module 42 may depend on an operating speed of adata bus 70. A readFIFO 46 and/or awrite FIFO 47 may perform a clock conversion, but aninterface control logic 45 may not perform clock conversion due to a complex circuit structure of theinterface control logic 45. - Accordingly, a
data interface module 44 may use a clock CLK identical with a clock CLK of adata bus 70 due to structural features of thedata interface module 44, and an operating speed of thedata processing module 42 is downwardly adjusted to match the operating speed of thedata interface module 44. - Accordingly, despite high performance capabilities of a
data processing module 42, adata processing system 40 may not achieve full performance due at least in part to a downward adjustment of the operating speed of thedata processing module 42. - A conventional
data interface module 44 may be suitable for a synchronous interface, but is not suitable for an asynchronous interface. - Conventionally, when an operating speed of a
data processing module 42 is different from an operating speed of adata bus 70, an extra device may be employed to support an asynchronous interface. For example, a bus wrapper may be added to a conventional data system for supporting an asynchronous interface between an output end of adata processing system 40 and adata bus 70. However, there is excessive interface overhead in a bus wrapper. In other words, because an interface protocol of adata processing system 40 is, in most cases, different from an interface protocol of adata bus 70, the bus wrapper simultaneously handles clock interfaces and protocol interfaces. Thus, a ratio of the overhead occurring in the bus wrapper may be increased. - Example embodiments of the present invention provides a data processing system capable of processing both standardized actual data and control data for transferring the standardized actual data, and capable of supporting an asynchronous interface and a synchronous interface.
- Example embodiments of the present invention also provide a data interfacing method capable of efficiently performing associative operations between a data processing system and a data bus.
- An example embodiment of the present invention provides a data processing system. The data processing system may include a data processing module configured to perform a data processing function and interface with other data processing systems using data packets having a first protocol format including actual data and control data for data transfer; and a data interface module coupled to a data bus and the data processing module, the data interface module configured to convert data packets having the first protocol format to data packets having a second protocol format, to output the data packets having the second protocol format to the data bus, to convert data packets having the second protocol format to data packets having the first protocol format, and to transfer the data packets having the first protocol format to the data processing module.
- An example embodiment of the present invention provides a data processing system include a data processing module and a data interface module. The data interface module may include a write FIFO configured to sequentially store the data packets having the first protocol format received from the data processing module and to retrieve the stored data packets based on a first in first out (FIFO) method; a protocol interface coupled to the data bus, the protocol interface configured to convert data packets having the first protocol format into data packets having the second protocol format and to transfer the data packets having the second protocol format to the data bus, the protocol interface is further configured to convert data packets having the second protocol format received from the data bus into data packets having the first protocol format; and a read FIFO configured to sequentially store the data packets having the first protocol format received from the protocol interface and to retrieve the stored data packets based on the FIFO method to provide the retrieved data packets to the data processing module.
- According to an example embodiment of the present invention, data packets having a first protocol format may include a packet head section where the control data are stored; and a data section where the actual data are stored. The packet head section may includes at least one of a packet length data section that represents a length of the data packet, a valid bit data section that represents a number of the valid data of the data packet, an access unit data section that represents an access unit of the data packet, an address modification data section that represents whether an address data where the data packet is stored is modified or not, a packet type data section that represents a format of the data packet and a packet identification (ID) section that represents an identification of the packet.
- An example embodiment of the present invention provides a data interfacing method in a transmission mode. The data interfacing method may include outputting data packets having a first protocol format synchronized to a first clock, each of the data packets having the first protocol format including actual data and control data used for transferring the actual data; sequentially storing the outputted data packets having the first protocol format based on the first clock; retrieving the stored data packets based on a FIFO method under synchronization of a second clock; converting the retrieved data packets having the first protocol format into a data packets having a second protocol format; and transferring the converted data packets to a data bus under synchronization of the second clock.
- An example embodiment of the present invention provides a data interfacing method in a reception mode. The data interfacing method may include converting data packets having a second protocol format into data packets having a first protocol format; outputting the data packets having the first protocol format under synchronization of a second clock that is an operating clock of the data bus; and sequentially storing the outputted data packets having the first protocol format under synchronization of the second clock; and retrieving the stored data packets under synchronization of a first clock.
- The above and other features and advantages of the present invention will become more apparent when described in detailed example embodiments thereof with reference to the attached drawings in which:
-
FIG. 1 is a schematic diagram illustrating conventional data processing systems coupled in a point-to-point configuration; -
FIG. 2 is a block diagram illustrating conventional data processing systems coupled in a data bus configuration; -
FIG. 3 is a block diagram illustrating a structure of a conventional data processing system; -
FIG. 4 is a block diagram illustrating a structure of a data processing system according to an example embodiment of the present invention; -
FIG. 5 is a schematic diagram illustrating a data packet structure used between a data processing module, FIFOs and a protocol interface shown inFIG. 4 in accordance with an example embodiment of the present invention; -
FIG. 6 is a schematic diagram illustrating a configuration of a packet head section of a data packet shown inFIG. 5 in accordance with an example embodiment of the present invention; -
FIG. 7 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from a data processing module and stored in a write FIFO; -
FIG. 8 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in a write FIFO and transferred to a protocol interface; -
FIG. 9 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in a protocol interface and converted to output a converted data packet to a bus interface; -
FIG. 10 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from a protocol interface and stored in a read FIFO; -
FIG. 11 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in a read FIFO transferred to a data processing module; and -
FIG. 12 is a block diagram illustrating a data processing system according to an example embodiment of the present invention. - Detailed example embodiments of the present invention are described herein. However, specific structural and/or functional details disclosed herein are merely representative for purposes of describing example embodiments of the present invention. This invention may, however, be embodied in many alternate forms and should not be construed as limited to the example embodiments of the present invention set forth herein.
- Accordingly, while the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like numbers refer to like elements throughout the description of the figures.
- It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present invention. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (i.e., “between” versus “directly between”, “adjacent” versus “directly adjacent”, etc.).
- The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising”, “includes” and/or “including”, when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
- Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
-
FIG. 4 is a block diagram illustrating a structure of adata processing system 100 capable of supporting an asynchronous interface according to an example embodiment of the present invention. - Referring to
FIG. 4 , adata processing system 100 may include adata processing module 110 and adata interface module 120. - A
data interface module 120 may include awrite FIFO 121, aread FIFO 123 and aprotocol interface 122. - A
data processing module 110 may perform a core data processing function, may transfer data packets to awrite FIFO 121 and may receive data packets from aread FIFO 123 through adata bus 200 to perform associative operations with anotherdata processing system 300 coupled to thedata bus 200. - The core data processing function refers to primary data processing performed by a
data processing system 100. For example, a core function of an MPEG processing system may refer to a function for processing MPEG data. - A
write FIFO 121 may sequentially store data packets received from adata processing module 110 and may output the stored data packets to aprotocol interface 122 based on a FIFO method. - A
write FIFO 121 may correspond to an asynchronous FIFO. That is, thewrite FIFO 121 may be synchronized to a first clock that corresponds to an operating clock of adata processing module 110 during a data packet input mode, and thewrite FIFO 121 may be synchronized to a second clock that corresponds to an operating clock of adata bus 200 and aprotocol interface 122 during a data packet output mode. - A
read FIFO 123 may sequentially store data packets received from aprotocol interface 122 and may output the stored data packets to adata processing module 110 based on a FIFO method. - A
read FIFO 123 may correspond to a synchronous FIFO. That is, theread FIFO 123 may be synchronized to a second clock that corresponds to an operating clock of adata bus 200 and aprotocol interface 122 during a data packet input mode, and theread FIFO 123 may be synchronized to a first clock that corresponds to the operating clock of adata processing module 110 during a data packet output mode. - A
protocol interface 122 may be coupled to adata bus 200, may convert a data packet having a first protocol format outputted from awrite FIFO 121 to a data packet having a second protocol format suitable for adata bus 200 and may transfer the converted data packet having the second protocol format. - Further, a
protocol interface 122 may convert a data packet having a second protocol format transferred from adata bus 200 to a data packet having a first protocol format, and may output the converted data packet having the first protocol format to aread FIFO 123. - For example, if a
protocol interface 122 receives data packets having the first protocol format outputted from awrite FIFO 121, theprotocol interface 122 converts the data packet having the first protocol format into a data packet interface, and transfers the data packet interface to theread FIFO 123. - A
data bus 200 may correspond to a standard interface bus, and aprotocol interface 122 may ensure protocol compatibility between adata processing system 100 and thestandard interface bus 200. - According to an example embodiment of the present invention, compatibility of a
data processing system 100 with adata bus 200 may be improved by employing aprotocol interface 122. - A data packet that may be transferred from a
data processing module 110 and may be stored in awrite FIFO 121, may then be transferred to aprotocol interface 122. Further, a data packet that may be transferred from aprotocol interface 122 and may be stored in aread FIFO 123, may then be transferred to adata processing module 100. Data packets according to an example embodiment of the present invention may include real data and control data for data transfer. -
FIG. 5 is a schematic diagram illustrating a data packet structure according to an example embodiment of the present invention that may be used between adata processing module 110, awrite FIFO 121, aread FIFO 123 and aprotocol interface 122 as shown inFIG. 4 . - Referring to
FIG. 5 , adata packet 400 may include a packet head (PHEAD)section 410 having 32-bit control data, and adata section 420 having 32-bit real data, for example. - A
data packet 400 according to an example embodiment of the present invention may include a plurality of thedata sections 420 having a 32-bit space. -
FIG. 6 is a schematic diagram illustrating an example configuration of apacket head section 410 of adata packet 400 shown inFIG. 5 according to an example embodiment of the present invention. - Referring to
FIG. 6 , sub-sections constituting apacket head section 410 may include one or more of the following. - 1. A packet
length data section 411 that may store packet length data and may occupy a first bit to a sixteenth bit [15:0] of thepacket head section 410. Sixteen bits among a total of thirty-two bits constituting apacket head section 410 may be allocated for a packetlength data section 411 of apacket head section 410, for example. - 2. A valid
bit data section 412 that may store a number of valid bits among a last word of 32-bit data stream 420, and may occupy a seventeenth bit to a twenty-first bit [20:16]. Five bits may be allocated for the validbit data section 412 of thepacket head section 410, for example. - 3. An access
unit data section 413 that may store data representing a corresponding access unit and may occupy from a twenty-second bit to a twenty-third bit [22:21]. Two bits may be allocated for the accessunit data section 413 of thepacket head section 410, for example. Further, an access unit may include a byte, a half word, and a word. - 4. An address
modification data section 414 that may store data representing whether a predetermined address is modified or not, and may occupy a twenty-fourth. bit [23]. One bit may be allocated for the addressmodification data section 414. For example, data representing whether the predetermined address is modified or not, may include either “no change” or “incremental change in address”. - 5. A packet
type data section 415 that may store data representing a packet format and may occupy a twenty-fifth bit to a twenty-eighth bit [27:24]. Four bits may be allocated for the packettype data section 415, for example. Further, data representing the packet format may include either “read/write” or “critical access”. - 6. A packet
identification data section 416 that may store data representing a packet ID and may occupy from a twenty-ninth bit to a thirty-second bit [31:28]. Four bits may be allocated for the packetID data section 416, for example. Further, the packetID data section 416 may be used as an extension field. - A packet structure according to an example embodiment of the present invention may be configured as follows.
- For example, a
data packet 400 for a single write operation, which is performed at the address “0x0010—8000” with the data “0x1234—5678”, may the following configuration: - PHEAD 410: 411 (length=2), 412 (valid 32 bits), 413 (word), 414 (no change in address), 415 (write) and 416 (null)
-
- D0 (DATA0): 0x0010—8000 (representing an address)
- D1 (DATA1): 0x1234—5678 (representing data to be written).
- As a second example, a
data packet 400 for burst write operations, which are performed at the address “0x0010—8000” with the data “0x1234—5678” and at the address “0x0010—8004” with the data “0xaaaa_bbbb”, may have the following configuration: - PHEAD 410: 411 (length=3), 412 (valid 32 bits), 413 (word), 414 (increment in address), 415 (write) and 416 (null)
-
- D0 (DATA0): 0x0010—8000 (representing an address)
- D1 (DATA1): 0x1234—5678 (representing a first data to be written)
- D2 (DATA2): 0xaaaa_bbbb (representing a second data to be written).
The ‘increment in address’ of the addressmodification data section 414 according to this example uses an increment value four bits as a default value; thus, the first data “0x1234—5678” is written to the first address “0x0010—8000”, and the second data “0xaaaa_bbbb” is written to the second address “0x0010—8004” where the default increment value four bits is applied.
- According to an example embodiment of the present invention, a
data packet 400 may include apacket head section 410, which may store control data in each of thesections 411 through 416 and adata section 420, which may store actual data to be written and the data address. - It should be noted that the above described data packet and/or data packet sections are described with respect to an example embodiment of the present invention and is not meant to be limiting.
- Because both control data and real data may be transferred as a
standardized data packet 400 between awrite FIFO 121 and aread FIFO 123 according to an example embodiment of the present invention, an asynchronous interface of thewrite FIFO 121 and theread FIFO 123 is possible. Further, function boundaries between logics may be apparent and thus, reusability of each logic may be improved. -
FIG. 7 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from adata processing module 110 shown inFIG. 4 , and may be stored in awrite FIFO 121. InFIG. 7 , the following signals are shown in addition to a first clock signal. - 1. A write FIFO enqueue signal. The write FIFO enqueue signal may be used for enabling a data packet to be stored in a
write FIFO 121. For example, if a write FIFO enqueue signal is at a high level (e.g., an active level), contents of a data packet may be stored in awrite FIFO 121. - 2. A packet data signal. The packet data signal may represent contents of a data packet. As shown in
FIG. 7 , the packet data may include burst write operations, which are performed at the address “0x0010—8000” with the data “0x1234—5678” and at the address “0x0010—8004” with the data “0xaaaa_bbbb”. The data packet signal illustrated inFIG. 7 includes PHEAD, D0, D1 and D2, wherein D0 represents an address, D1 represents first data DATA1 (“0x1234—5678”) and D2 represents second data DATA2 (“0xaaaa_bbbb”). - 3. A data packet start signal. The data packet start signal may represent a start of a data packet.
- 4. A write FIFO full signal. The write FIFO full signal may be activated if a
write FIFO 121 is full. For example, if a write FIFO full signal is at an active level, a write FIFO enqueue signal may not be permitted to become the active level. That is, a data packet cannot be stored in thewrite FIFO 121 if the write FIFO full signal is at the active level. - Referring to the example timing diagram in
FIG. 7 , while there is remaining storage space in awrite FIFO 121, a write FIFO full signal is at a low level (e.g., a non-active level) and a data packet is transferred from adata processing module 110, the write FIFO enqueue signal experiences a state transition from a non-active level to the active level. As a result, a packet data including PHEAD, ADDR, DATA0 are sequentially stored in thewrite FIFO 121. Further, the data packet start signal experiences a state transition from the non-active level to the active level. - According to an example embodiment of the present invention, a data packet start signal may be used for initializing a finite state machine FSM (not shown) corresponding to each data packet. Further, if there are process errors on a previously inputted data packet, even though the current FSM remains at an undesired state, the present inputted data packet may be processed normally using the data packet start signal. Meanwhile, after DATA0 is stored in a
write FIFO 121, when thewrite FIFO 121 is full, the write FIFO full signal experiences a state transition from the non-active level to the active level and an input process of the data packet is suspended. After a time period, when thewrite FIFO 121 is released from the full state, the write FIFO enqueue signal experiences a state transition from the non-active level to the active level thereby DATA1 of the packet data is inputted to thewrite FIFO 121. - According to the above-described operations of an example embodiment of the present invention, a data packet transferred from a
data processing module 110 may be stored in awrite FIFO 121. - As shown in the example timing diagram of
FIG. 7 , all of the signals may be synchronized to a first clock, which may be substantially identical with the operating clock of adata processing module 110. -
FIG. 8 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be stored in awrite FIFO 121 and may be transferred to aprotocol interface 122, after the method shown inFIG. 7 is completed. - In
FIG. 8 , the following signals are shown in addition to the second clock signal. - 1. A write FIFO dequeue signal. The write FIFO dequeue signal may be used for enabling a data packet to be retrieved from a
write FIFO 121. For example, if a write FIFO dequeue signal is at an active level, contents of a data packet may be retrieved from awrite FIFO 121. - 2. A packet data signal. The packet data signal may represent contents of a data packet. Similar to the packet data shown in
FIG. 7 , the packet data ofFIG. 8 may include burst write operations, which may be performed at an address “0x0010—8000” with data “0x1234—5678” and at an address “0x0010—8004” with data “0xaaaa_bbbb”. The data packet shown inFIG. 8 includes PHEAD, D0, D1 and D2, wherein D0 represents an address, D1 represents first data DATA1 (“0x1234—5678”) and D2 represents second data DATA2 (“0xaaaa_bbbb”). - 3. A data packet start signal. The data packet start signal may represent a start of a data packet.
- 4. A write FIFO empty signal. The write FIFO empty signal may be activated if a
write FIFO 121 is empty. For example, if a write FIFO empty signal is at an active level, a write FIFO enqueue signal may not be permitted to become the active level since it is not possible to retrieve a data packet from awrite FIFO 121. - Referring to the example timing diagram in
FIG. 8 , while there are stored data packets in awrite FIFO 121, a write FIFO empty signal is at a non-active level and a retrieve request for data packet is received from aprotocol interface 122, a write FIFO dequeue signal experiences a state transition from the non-active level to an active level and packet data including PHEAD, ADDR, DATA0 and DATA1 may be sequentially retrieved from thewrite FIFO 121. Further, a data packet start signal experiences a state transition from the non-active level to the active level. - As mentioned above, a data packet start signal may be used for performing data processing normally on a current inputted data packet even though a current FSM remains at an undesired state.
- According to the above-described operations of an example embodiment of the present invention, data packets retrieved from a
write FIFO 121 may be transferred to aprotocol interface 122. - As shown in the example timing diagram of
FIG. 8 , all of the signals may be synchronized to a second clock, which may be substantially identical with an operating clock of aprotocol interface 122. -
FIG. 9 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet that may be stored in a protocol interface may be converted. The converted data packet may be output to a bus interface, after the method shown inFIG. 8 is completed. - Referring to
FIG. 9 , a data packet DATA0, which may be stored in a corresponding address ADDR, and a data packet DATA1, which may be stored in a corresponding address (ADDR+4), may be outputted from aprotocol interface 122 to adata bus 200. When a transaction between aprotocol interface 122 and adata bus 200 occurs, a transaction signal may be activated (e.g., in a non-idle state). - All of the signals shown in
FIG. 9 may be synchronized to a second clock, which may be substantially identical with an operating clock of aprotocol interface 122 and adata bus 200. -
FIG. 10 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet may be transferred from aprotocol interface 122 shown inFIG. 4 and may be stored in aread FIFO 123. InFIG. 10 , the following signals are shown in addition to a second clock signal. - 1. A read FIFO enqueue signal. The read FIFO enqueue signal may be used for enabling a data packet to be stored in a
read FIFO 123. For example, if a read FIFO enqueue signal is at a high level (e.g., an active level), contents of a data packet may be stored in aread FIFO 123. - 2. A packet data signal. The packet data signal may represent contents of a data packet. As shown in
FIG. 10 , a packet data signal may include burst write operations, which may be performed at an address “0x0010—8000” with a data “0x1234—5678” and at an address “0x0010—8004” with a data “0xaaaa_bbbb”. The data packet signal shown inFIG. 10 includes PHEAD, D0, D1 and D2, wherein D0 represents an address, D1 represents first data DATA1 (“0x1234—5678”) and D2 represents second data DATA2 (“0xaaaa_bbbb”). - 3. A data packet start signal. The data packet start signal may represent a start of a data packet.
- 4. A read FIFO full signal. The read FIFO full signal may be activated when a
read FIFO 123 is full. For example, if the read FIFO full signal is at an active level, a read FIFO enqueue signal is not permitted to become an active level. That is, a data packet cannot be stored in theread FIFO 123 if the read FIFO full signal is at the active level. - Referring to the example timing diagram in
FIG. 10 , while there is remaining storage space in aread FIFO 123, a read FIFO full signal is at a low level (e.g., non-active level) and a data packet may be transferred from aprotocol interface 122, the read FIFO enqueue signal experiences a state transition from a non-active level to the active level. As a result, a packet data including PHEAD, ADDR, DATA0 are sequentially stored in theread FIFO 123. Further, the data packet start signal experiences a state transition from the non-active level to the active level. - According to an example embodiment of the present invention, a data packet start signal may be used for performing the data processing on a current inputted data packet normally even though a current FSM may remain an undesired state. Meanwhile, after DATA0 is stored in a
read FIFO 123, when theread FIFO 123 is full, the read FIFO full signal experiences the state transition from the non-active level to the active level and an input process of the data packet is suspended. After a time period, when theread FIFO 123 is released from the full state, the read FIFO enqueue signal experiences a state transition from the non-active level to the active level and DATA1 of the packet data is inputted to theread FIFO 123. - According to the above-described operations of an example embodiment of the present invention, a data packet transferred from a
protocol interface 122 may stored in aread FIFO 123. - As shown in the example timing diagram of
FIG. 10 , all of the signals may be synchronized to a second clock, which may be substantially identical with an operating clock of aprotocol interface 122. -
FIG. 11 is an example timing diagram for explaining a method according to an example embodiment of the present invention in which a data packet that may be stored in aread FIFO 123 may be transferred to adata processing module 110, after the method shown inFIG. 10 is completed. InFIG. 11 , the following signals are shown in addition to the first clock signal. - 1. A read FIFO dequeue signal. The read FIFO dequeue signal may be used for enabling a data packet to be retrieved from a
read FIFO 123. For example, if the read FIFO dequeue signal is at an active level, contents of a data packet may be retrieved from aread FIFO 123. - 2. A packet data signal. The packet data signal may represent contents of a data packet. Similar to the packet data signal shown in
FIG. 11 , the packet data ofFIG. 8 may include burst write operations, which may be performed at an address “0x0010—8000” with data “0x1234—5678” and at an address “0x0010—8004” with data “0xaaaa_bbbb”. The data packet signal shown inFIG. 11 includes PHEAD, D0, D1 and D2, wherein D0 represents an address, D1 represents first data DATA1 (“0x1234—5678”) and D2 represents second data DATA2 (“0xaaaa_bbbb”). - 3. A Data packet start signal. The data packet start signal may represent a start of a data packet.
- 4. A read FIFO empty signal. The read FIFO empty signal may activate if a
read FIFO 123 is empty. For example, if the read FIFO empty signal is at an active level, the read FIFO dequeue signal may not be permitted to become the active level because it is not possible to retrieve a data packet from theread FIFO 123. - Referring to the example timing diagram in
FIG. 11 , while there are stored data packets in aread FIFO 123, a read FIFO empty signal is at a non-active level, and if a retrieve request for a data packet is received from adata processing module 110, the read FIFO dequeue signal experiences a state transition from the non-active level to the active level. Accordingly, the packet data including PHEAD, ADDR, DATA0 and DATA1 may be sequentially retrieved from theread FIFO 123. Further, the data packet start signal experiences a state transition from the non-active level to the active level. - According to an example embodiment of the present invention, a data packet start signal may be used for performing the data processing on a current inputted data packet normally even though a current FSM may remains at an undesired state.
- According to the above-described operations of an example embodiment of the present invention, data packets retrieved from a
read FIFO 123 may be transferred to adata processing module 110. - As shown in the example timing diagram of
FIG. 11 , all of the signals may be synchronized to a first clock, which may be substantially identical with an operating clock of thedata processing module 110. - According to an example embodiment of the present invention, a
data processing system 100, adata processing module 110, awrite FIFO 121, aread FIFO 123 and aprotocol interface 122 perform associative operations using a common standardized data packet. Accordingly, each function between thedata processing module 110, thewrite FIFO 121, theprotocol interface 122 and the read FIFO123 included in thedata processing system 100 may be separate from one another, thereby improving compatibility and reusability when replacement and maintenance of the above components of thedata processing system 100 are desired and/or required. - Further, according to an example embodiment of the present invention, because an
asynchronous write FIFO 121 and anasynchronous read FIFO 123 may use a substantially identical clock, the performance of adata processing module 110 may be independent from the performance of adata bus 200. - In an example embodiment of the present invention as shown in
FIG. 4 , adata processing module 110 and adata bus 200 may operate with a different operating clock. However, according to an example embodiment of the present invention as shown inFIG. 12 , adata processing module 610 and adata bus 200 may share an operating clock. - Referring to
FIG. 12 , adata processing system 600 may include adata processing module 610 and adata interface module 620. - A
data interface module 620 may include awrite FIFO 621, aread FIFO 623 and aprotocol interface 622. Thewrite FIFO 621 and theread FIFO 623 shown inFIG. 12 are synchronous FIFOs. Accordingly, thedata interface module 610, thewrite FIFO 621, theread FIFO 623, theprotocol interface 622 and thedata bus 200 may all operate with a common third clock. - According to an example embodiment of the present invention, an asynchronous interface and/or a synchronous interface may be selectively performed by alternating between an asynchronous FIFO and a synchronous FIFO.
- According to example embodiments of the present invention, a data processing system may deal with a standardized data packet, which may include actual data and control data used for transferring the actual data. Therefore, a data processing system may have a simpler configuration in comparison with that of the conventional data processing system.
- Further, according to example embodiments of the present invention, each function of components (for example, a data processing module, a read FIFO, a write FIFO and a protocol interface module) included in a data processing system is separate from one another, thereby improving reusability and compatibility of the components of the data processing system.
- According to example embodiments of the present invention, a data processing system may implement both a synchronous interface and an asynchronous interface by alternating a FIFO. Accordingly, the data processing system may provide an improved and/or optimized network service by improving performance of a data processing module regardless of performance of a data bus.
- While the example embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations may be made herein without departing from the scope of the invention.
Claims (32)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2005-10064 | 2005-02-03 | ||
KR1020050010064A KR100597468B1 (en) | 2005-02-03 | 2005-02-03 | Data processing system and data interface method for transmission and reception mode |
Publications (2)
Publication Number | Publication Date |
---|---|
US20060171413A1 true US20060171413A1 (en) | 2006-08-03 |
US7558285B2 US7558285B2 (en) | 2009-07-07 |
Family
ID=36756494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/340,706 Active 2027-11-12 US7558285B2 (en) | 2005-02-03 | 2006-01-27 | Data processing system and data interfacing method thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US7558285B2 (en) |
KR (1) | KR100597468B1 (en) |
CN (1) | CN1819554B (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090063736A1 (en) * | 2007-08-31 | 2009-03-05 | Apple Inc. | Low power digital interface |
CN102404339A (en) * | 2011-12-16 | 2012-04-04 | 山石网科通信技术(北京)有限公司 | Fire wall system and data processing method based on fire wall system |
US20140301384A1 (en) * | 2013-04-05 | 2014-10-09 | Honeywell International Inc. | Integrated avionics systems and methods |
US10269000B2 (en) * | 2010-09-07 | 2019-04-23 | Revel Systems, Inc. | Point of sale system |
CN111339003A (en) * | 2020-01-08 | 2020-06-26 | 中国船舶重工集团公司第七二四研究所 | General multichannel data sending system and method based on FPGA |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253916B (en) * | 2010-05-21 | 2013-09-18 | 淮阴工学院 | Double-end double-channel first in first out (FIFO) for synchronous-to-asynchronous conversion |
CN102339258B (en) * | 2010-07-16 | 2015-07-22 | 瑞昱半导体股份有限公司 | Control device and data transmitting system and method applying same |
JP5527830B2 (en) * | 2012-08-30 | 2014-06-25 | Necインフロンティア株式会社 | Interface device between main devices, main device system including the same, and interface method between main devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7250797B1 (en) * | 2001-03-30 | 2007-07-31 | Agere Systems Inc. | Event edge synchronization system and method of operation thereof |
US7366803B1 (en) * | 2005-02-23 | 2008-04-29 | Xilinx, Inc. | Integrated circuit for buffering data by removing idle blocks to create a modified data stream when memory device is not near empty |
US7366938B2 (en) * | 2004-07-05 | 2008-04-29 | Stmicroelectronics Limited | Reset in a system-on-chip circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10254811A (en) | 1997-03-12 | 1998-09-25 | Sony Corp | Electronic equipment controller and its method |
KR100258866B1 (en) | 1997-12-16 | 2000-06-15 | 김영환 | Bridge circuit of pci bus |
US6304936B1 (en) | 1998-10-30 | 2001-10-16 | Hewlett-Packard Company | One-to-many bus bridge using independently and simultaneously selectable logical FIFOS |
DE10147148A1 (en) * | 2001-09-25 | 2003-04-24 | Siemens Ag | Network gateway device and communication system for real-time communication connections |
KR100476895B1 (en) | 2002-05-21 | 2005-03-18 | 삼성전자주식회사 | Interface device having variable data transfer mode and operating method thereof |
CN1549520A (en) * | 2003-05-10 | 2004-11-24 | 贵州以太科技信息产业有限责任公司 | Universal simplified gateway equipment realizing method in intelligent domestic system |
-
2005
- 2005-02-03 KR KR1020050010064A patent/KR100597468B1/en active IP Right Grant
-
2006
- 2006-01-27 US US11/340,706 patent/US7558285B2/en active Active
- 2006-02-05 CN CN2006100089468A patent/CN1819554B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7250797B1 (en) * | 2001-03-30 | 2007-07-31 | Agere Systems Inc. | Event edge synchronization system and method of operation thereof |
US7366938B2 (en) * | 2004-07-05 | 2008-04-29 | Stmicroelectronics Limited | Reset in a system-on-chip circuit |
US7366803B1 (en) * | 2005-02-23 | 2008-04-29 | Xilinx, Inc. | Integrated circuit for buffering data by removing idle blocks to create a modified data stream when memory device is not near empty |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090063736A1 (en) * | 2007-08-31 | 2009-03-05 | Apple Inc. | Low power digital interface |
US8510485B2 (en) * | 2007-08-31 | 2013-08-13 | Apple Inc. | Low power digital interface |
US10269000B2 (en) * | 2010-09-07 | 2019-04-23 | Revel Systems, Inc. | Point of sale system |
CN102404339A (en) * | 2011-12-16 | 2012-04-04 | 山石网科通信技术(北京)有限公司 | Fire wall system and data processing method based on fire wall system |
US20140301384A1 (en) * | 2013-04-05 | 2014-10-09 | Honeywell International Inc. | Integrated avionics systems and methods |
US9706508B2 (en) * | 2013-04-05 | 2017-07-11 | Honeywell International Inc. | Integrated avionics systems and methods |
CN111339003A (en) * | 2020-01-08 | 2020-06-26 | 中国船舶重工集团公司第七二四研究所 | General multichannel data sending system and method based on FPGA |
Also Published As
Publication number | Publication date |
---|---|
KR100597468B1 (en) | 2006-07-05 |
CN1819554B (en) | 2011-04-06 |
US7558285B2 (en) | 2009-07-07 |
CN1819554A (en) | 2006-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7558285B2 (en) | Data processing system and data interfacing method thereof | |
US8364873B2 (en) | Data transmission system and a programmable SPI controller | |
US7363396B2 (en) | Supercharge message exchanger | |
US8165120B2 (en) | Buffering architecture for packet injection and extraction in on-chip networks | |
US20090177805A1 (en) | Dual port serial advanced technology attachment (sata ) disk drive | |
JP3992100B2 (en) | Network to increase transmission link layer core speed | |
JP2001142842A (en) | Dma handshake protocol | |
US6857028B1 (en) | Data transfer control device and electronic equipment | |
US20030229734A1 (en) | FIFO scheduling time sharing | |
KR20120040535A (en) | Bus system and operating method thereof | |
US6925519B2 (en) | Automatic translation from SCSI command protocol to ATA command protocol | |
WO2009000794A1 (en) | Data modification module in a microcontroller | |
US6263393B1 (en) | Bus switch for realizing bus transactions across two or more buses | |
GB2394323A (en) | High-throughput UART interfaces | |
US6473818B1 (en) | Apparatus and method in a network interface device for asynchronously generating SRAM full and empty flags using coded read and write pointer values | |
CN104050111A (en) | Accessing different types of memory by respective commands with different timing requirements | |
US6477177B1 (en) | Multiple device access to serial data stream | |
US8000322B2 (en) | Crossbar switch debugging | |
US20030046458A1 (en) | Data transfer equipment and aligner included in data transfer equipment | |
US7107381B2 (en) | Flexible data transfer to and from external device of system-on-chip | |
JP2000115199A (en) | Switch device | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
US20060020721A1 (en) | Configurable ping-pong buffers for USB buffer descriptor tables | |
US6314485B1 (en) | Automatic status register | |
CN112231261A (en) | ID number compression device for AXI bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KIM, BYOUNG-WOON;REEL/FRAME:017516/0068 Effective date: 20060106 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |