KR20020052045A - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
KR20020052045A
KR20020052045A KR1020000081223A KR20000081223A KR20020052045A KR 20020052045 A KR20020052045 A KR 20020052045A KR 1020000081223 A KR1020000081223 A KR 1020000081223A KR 20000081223 A KR20000081223 A KR 20000081223A KR 20020052045 A KR20020052045 A KR 20020052045A
Authority
KR
South Korea
Prior art keywords
logic
data
cpu
storage units
fifo
Prior art date
Application number
KR1020000081223A
Other languages
Korean (ko)
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 KR1020000081223A priority Critical patent/KR20020052045A/en
Publication of KR20020052045A publication Critical patent/KR20020052045A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • G06F7/785Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

PURPOSE: A data processor is provided to improve the receiving processing speed of a CPU by using the full data line of the CPU. CONSTITUTION: The data processor is for data transmission and reception between the nodes(300,400) having the CPU(302). The frames sequentially provided from a specific node are stored sequentially in many storage units. The CPU processes the frames stored in the storage units by reading simultaneously. A packet control logic(328) provides the write clocks to the storage units. The packet control logic includes the first logic to count the clocks indicating the frame transmission, the second logic to generate signals corresponding the frames with the storage units, the third logic to output the signals of the second logic by delaying, and the fourth logic to output write clocks for the storage units by AND-gating the outputs of the second and third logics. The packet control logic generates signals indicating a frame transmission terminating point and dummy data through the signals. The dummy data are stored in the rest storage units.

Description

데이터 처리장치{DATA PROCESSING DEVICE}DATA PROCESSING DEVICE}

본 발명은 중앙처리장치(이하 CPU라 칭함)를 구비하는 노드들간의 데이터 송수신 기술에 관한 것으로, 특히 노드와 노드가 송수신할 수 있는 데이터보다 CPU가처리할 수 있는 데이터가 더 많을 경우에 데이터를 효과적으로 처리할 수 있도록 하는 데이터 처리장치에 관한 것이다.The present invention relates to data transmission and reception technology between nodes having a central processing unit (hereinafter referred to as a CPU), and in particular, when there is more data that a CPU can process than data that can be transmitted and received by a node and a node. The present invention relates to a data processing apparatus capable of effectively processing.

CPU를 구비하는 노드들간의 데이터 송수신은 데이터의 효율성을 높이기 위해 여러개의 데이터를 묶어 하나의 프레임(frame)으로 송수신한다. 상기 데이터 송수신 방법으로는 프레임에 시작과 끝을 나타내는 신호 및 핸드쉐이크(handshake) 신호를 부가하여 송수신하는 것이나, 프레임에 저장되는 데이터의 사이즈를 고정시켜 송수신하는 것 등이 있다.In order to improve data efficiency, data transmission and reception between nodes having a CPU are bundled and transmitted in a single frame. The data transmission / reception method includes adding and receiving signals indicating a start and an end to a frame and a handshake signal, or transmitting and receiving a fixed size of data stored in the frame.

통상 CPU가 한 사이클(cycle)에 처리할 수 있는 데이터의 바이트수는 노드와 노드 사이에 1번 송수신되는 데이터의 바이트수보다 많다. 그러나 상기 CPU가 한 사이클에 처리할 수 있는 데이터의 바이트수는 두 노드사이의 대역폭, 즉 바이트수에 의존하므로 CPU는 데이터를 효율적으로 처리할 수 없었다. 즉 32비트 데이터 라인을 가지고 있는 CPU는 8비트로 수신되는 데이터에 대해서는 1사이클마다 1바이트씩 처리하고, 16비트로 수신되는 데이터에 대해서는 1사이클마다 2바이트씩 처리한다. 최적의 경우에 상기 CPU는 1사이클마다 4바이트씩 처리할 수 있도록 하는 것이나, 이를 위한 백보드를 구성하려면 물리적으로 많은 신호를 요구하며, 프레임이 4의 배수로 보내지므로 길이정보가 프레임내에 포함되어야만 한다. 또한 통상적으로 CPU는 스파이크성 데이터를 위한 버퍼링을 위하여 메모리를 구비한다.In general, the number of bytes of data that the CPU can process in one cycle is larger than the number of bytes of data transmitted and received once between the nodes. However, since the number of bytes of data that the CPU can process in one cycle depends on the bandwidth between the two nodes, that is, the number of bytes, the CPU could not process the data efficiently. In other words, a CPU having a 32-bit data line processes one byte per cycle for data received in eight bits and two bytes per cycle for data received in 16 bits. In the best case, the CPU is able to process 4 bytes per cycle, but configuring a backboard for this requires a lot of physical signals, and since the frame is sent in multiples of 4, the length information must be included in the frame. CPUs also typically have a memory for buffering for spike data.

이제 종래의 데이터 송수신방법을 제1도를 참조하여 설명한다. 제1노드(100) 및 제2노드(200)는 CPU를 구비하는 노드이다. 상기 양 노드(100,200)간의 데이터 송수신 기능은 동일하므로, 상기 제1노드(100)에서의 데이터 송수신 기능만을 상세히 설명한다. 데이터의 송신시 상기 CPU(102)는 데이터 송신 시작시점을 나타내는 START_FLAG를 패킷제어로직(112)을 통해 대상 노드에 송신한다. 이후 대상 노드와의 규정된 대역폭에 대응되는 데이터를 프레임으로 구성하여, 버퍼(106) 및 FIFO부(108), 버퍼(110)를 통해 대상 노드로 송신한다. 상기 CPU(102)는 데이터를 송신하는 동안에는 데이터가 존재한다는 의미의 PRWR 신호를 출력한다. 그리고 상기 CPU(102)는 마지막 데이터를 전송할 때에는 종료시점을 나타내는 END_FLAG를 대상 노드에 제공한다.A conventional data transmission / reception method will now be described with reference to FIG. The first node 100 and the second node 200 are nodes having a CPU. Since the data transmission / reception functions of the two nodes 100 and 200 are the same, only the data transmission / reception function of the first node 100 will be described in detail. When transmitting data, the CPU 102 transmits a START_FLAG indicating the data transmission start time to the target node through the packet control logic 112. Thereafter, data corresponding to the prescribed bandwidth with the target node is configured into a frame and transmitted to the target node through the buffer 106, the FIFO unit 108, and the buffer 110. The CPU 102 outputs a PRWR signal indicating that data exists while transmitting data. When the last data is transmitted, the CPU 102 provides the target node with an END_FLAG indicating an end point.

그리고 수신되는 데이터는 버퍼(114)를 통해 FIFO부(112)에 순차적으로 저장된다. 상기 제어부(102)는 상기 순차적으로 저장된 데이터를 리드하여 처리한다.The received data is sequentially stored in the FIFO unit 112 through the buffer 114. The controller 102 reads and processes the sequentially stored data.

상술한 바와 같이 CPU를 구비하는 노드와 노드간의 데이터 송수신의 효율을 높이기 위해, 종래에는 여러개의 데이터를 묶어 하나의 프레임으로 구성하여 송수신하였다. 그러나 CPU가 1사이클에 처리할 수 있는 데이터의 바이트수가 상기 노드와 노드사이에 1번 송수신하는 데이터 바이트수보다 많은 경우 CPU가 1사이클에 처리할 수 있는 데이터의 수는 두 노드 사이의 대역폭에 의존하게 된다. 그러므로 32비트 데이터 라인(4BYTES)을 갖고 있는 CPU는 8비트로 수신되는 패킷 데이터를 1사이클 수행시 1바이트를 읽어오게 되고, 16비트로 수신되는 데이터를 1사이클 수행시 2바이트를 읽어오게 되어 더 많은 데이터 처리를 요하는 경우 CPU의 풀 데이터 라인(full data line)을 사용하지 못하는 문제점이 있다. 이와같은 경우 CPU가 더욱 빠른 IC를 선택한다든지, 이와같은 보드를 하나 더 장착하여야 하는 문제점이 있었다.As described above, in order to increase the efficiency of data transmission and reception between a node having a CPU and a node, a plurality of pieces of data are bundled and transmitted in a single frame. However, if the number of bytes of data that the CPU can process in one cycle is greater than the number of bytes of data transmitted and received between the node and the node once, the number of data that the CPU can process in one cycle depends on the bandwidth between the two nodes. Done. Therefore, a CPU with a 32-bit data line (4BYTES) reads one byte for one cycle of packet data received in eight bits and two bytes for one cycle of data received in eight bits. If processing is required, there is a problem in that the full data line of the CPU cannot be used. In this case, there was a problem that the CPU selects a faster IC or requires one more board.

따라서 본 발명의 목적은 이상에서 언급한 종래 기술의 문제점을 해결하기 위한 것으로, CPU의 풀 데이터 라인을 사용할 수 있도록 하여 CPU의 수신처리속도를 개선시킬 수 있는 데이터 처리장치를 제공함에 있다.Accordingly, an object of the present invention is to solve the above-mentioned problems of the related art, and to provide a data processing apparatus capable of improving the CPU's reception processing speed by enabling the full data line of the CPU.

도 1은 종래의 데이터 처리장치의 구성도.1 is a block diagram of a conventional data processing apparatus.

도 2는 본 발명의 바람직한 실시예에 따른 데이터 처리장치의 구성도.2 is a block diagram of a data processing apparatus according to a preferred embodiment of the present invention.

도 3은 데이터 라이트 클럭 생성을 위한 로직의 구성도.3 is a block diagram of logic for generating a data write clock.

도 4는 도 3의 타이밍도.4 is a timing diagram of FIG. 3.

도 5는 더미데이터 생성을 위한 로직의 구성도.5 is a block diagram of logic for generating dummy data.

도 6은 도 5의 타이밍도.6 is a timing diagram of FIG. 5.

<도면의 중요 부분에 대한 부호의 설명><Explanation of symbols for important parts of the drawing>

300, 400 : 노드300, 400: nodes

302 : CPU302: CPU

314, 320: FIFO부314, 320: FIFO section

322 : 버퍼322: buffer

이상과 같은 목적을 달성하기 위한 본 발명은 어느 한 노드로부터의 순차적으로 제공되는 프레임을 순차적으로 저장하는 다수의 저장부와, 상기 다수의 저장부에 저장된 프레임을 동시에 리드하여 처리하는 CPU와, 다수의 저장부에 라이트 클럭을 제공하는 패킷제어로직을 구비하는 것을 특징으로 한다.The present invention for achieving the above object is a plurality of storage unit for sequentially storing the frames sequentially provided from any one node, a CPU for simultaneously reading and processing the frames stored in the plurality of storage units, and And a packet control logic for providing a write clock to a storage unit of the controller.

이하에서, 첨부된 도면을 참조하여 본 발명의 구성 및 동작을 설명한다.Hereinafter, with reference to the accompanying drawings will be described the configuration and operation of the present invention.

이하 노드와 노드가 백 보드(BACK BOARD)를 통해 1바이트의 데이터를 송수신하는 장치에 적용가능한 본 발명의 바람직한 실시예를 설명한다. 특히 상기 노드는 4바이트의 데이터를 처리할 수 있는 CPU를 구비한다.Hereinafter, a preferred embodiment of the present invention, which is applicable to a node and a device for transmitting and receiving 1 byte of data through a back board, will be described. In particular, the node has a CPU capable of processing 4 bytes of data.

상기 실시예는 상기 백보드를 통해 8비트로 수신되는 데이터를 4개의 독립된 FIFO부에 순차적으로 저장한후, CPU가 그 4개의 독립된 FIFO부에 저장된 데이터를 동시에 읽어 처리할 수 있게 한다. 이에따라 CPU는 1사이클에 4바이트의 데이터를 처리할 수 있다.The embodiment sequentially stores data received in 8 bits through the backboard in four independent FIFO units, and allows the CPU to simultaneously read and process data stored in the four independent FIFO units. As a result, the CPU can process 4 bytes of data in one cycle.

이러한 본 발명의 바람직한 실시예에 따른 데이터 처리장치를 도 2를 참조하여 설명한다.A data processing apparatus according to a preferred embodiment of the present invention will be described with reference to FIG.

제1노드(300) 및 제2노드(400)는 CPU를 구비한다. 상기 양 노드(300,400)간의 데이터 송수신 기능은 동일하므로, 상기 제1노드(300)에서의 데이터 송수신 기능만을 상세히 설명한다.The first node 300 and the second node 400 have a CPU. Since the data transmission / reception functions of the two nodes 300 and 400 are the same, only the data transmission / reception function of the first node 300 will be described in detail.

상기 제1노드(300)는 백 보드를 통해 수신되는 8비트의 데이터를 순차적으로 저장하는 제1내지 제4FIFO부(314 내지 320)를 구비한다. 상기 제1내지 제4FIFO부(314 내지 320)에 저장되는 데이터의 순서를 다시 한번 설명하면, 첫 번째 데이터는 제1FIFO부(314)에 저장되고, 두 번째 데이터는 제2FIFO부(316)에 저장되고, 세 번째 데이터는 제3FIFO부(318)에 저장되고, 네 번째 데이터는 제4FIFO부(320)에 저장되며, 다섯 번째 데이터는 다시 제1FIFO부(314)에 저장된다. 상기 제1노드(300)의 CPU(302)는 상기 제1 내지 제4FIFO부(314 내지 320)에 저장된 데이터를 동시에 리드함으로써, 4바이트의 데이터를 처리할 수 있다. 상기 제1노드(300)는 백보드와 제1 내지 제4FIFO부(314 내지 320)간의 버퍼링을 위한 버퍼(322)를 구비하며, CPU(302)와 제1 내지 제4FIFO부(314 내지 320)간의 버퍼링을 위한 제1 내지 제4BI 버퍼(306 내지 312)를 구비한다. 상기 제4BI 버퍼(312)는 CPU(302)가 송신하고자 하는 8비트의 데이터를 제5FIFO부(324)에 제공하며, 그 데이터는 백보드를 통해 대상 노드로 송신된다. 상기 노드(300)는 상기 제5FIFO부(324)와 백보드간의 버퍼링을 위한 버퍼(326)를 구비한다.The first node 300 includes first to fourth FIFO units 314 to 320 that sequentially store 8-bit data received through the back board. Referring again to the order of the data stored in the first to fourth FIFO unit (314 to 320), the first data is stored in the first FIFO unit 314, the second data is stored in the second FIFO unit 316 The third data is stored in the third FIFO unit 318, the fourth data is stored in the fourth FIFO unit 320, and the fifth data is stored in the first FIFO unit 314. The CPU 302 of the first node 300 simultaneously processes data of 4 bytes by reading data stored in the first to fourth FIFO units 314 to 320. The first node 300 includes a buffer 322 for buffering between the backboard and the first to fourth FIFO units 314 to 320, and between the CPU 302 and the first to fourth FIFO units 314 to 320. First to fourth BI buffers 306 to 312 for buffering. The fourth BI buffer 312 provides eight bits of data to be transmitted by the CPU 302 to the fifth FIFO unit 324, and the data is transmitted to the target node through the backboard. The node 300 includes a buffer 326 for buffering between the fifth FIFO unit 324 and the backboard.

패킷제어로직(328)은 통상의 패킷 제어를 담당함과 아울러, 본 발명의 바람직한 실시예에 따라 제1 내지 제4FIFO부(314 내지 320)에 데이터를 라이트하기 위한 클럭을 발생함과 아울러 더미 데이터를 제2 내지 제4FIFO부(316 내지 320)에 제공하기도 한다.The packet control logic 328 is responsible for normal packet control, generates a clock for writing data to the first to fourth FIFO units 314 to 320, and also dummy data according to a preferred embodiment of the present invention. May be provided to the second to fourth FIFO units 316 to 320.

상기 패킷제어로직(328)의 동작을 좀더 상세히 설명하면, 상기 패킷제어로직(328)은 패킷수신시 시작시점을 나타내는 START_FLAG와 종료시점을 나타내는 END_FLAG와 데이터가 패킷버스 데이터 라인에 올려져 있다고 알려주는 PRWR을 이용하여 제1 내지 제4FIFO부(314 내지 320)에 백보드를 통해 입력되는 1바이트의 데이터를 순차적으로 라이트하기 위한 라이트 클럭을 발생한다.When the operation of the packet control logic 328 is described in more detail, the packet control logic 328 indicates that the START_FLAG representing the start point and the END_FLAG representing the end point and the data are loaded on the packet bus data line. A write clock for sequentially writing one byte of data input through the backboard to the first to fourth FIFO units 314 to 320 is generated using the PRWR.

이를 위한 라이트 클럭 발생로직의 구성도를 도시한 도 3을 참조하면,Referring to Figure 3 showing the configuration of the write clock generation logic for this,

제1로직(500)은 PRWR를 클럭으로 카운트하여 카운트값을 출력함과 아울러 START_FLAG가 입력될 때마다 리셋된다. 상기 제1로직(500)의 출력은 제2로직(502)에 제공된다. 상기 제2로직(502)은 상기 카운트값을 분석하여 제1 내지 제4FIFO부(314 내지 320)에 대응되는 신호들을 출력하여 제3로직(504) 및 제4로직(506)에 제공한다. 상기 출력이 도 4에 도시한 FSM0, FSM1, FSM2, FSM3이다. 상기 제3로직(504)은 상기 FSM0, FSM1, FSM2, FSM3을 반전된 PRWR에 동기하여 출력한다. 이 출력이 도 4에 도시한 Q0_OUT, Q1_OUT, Q2_OUT, Q3_OUT이며, 이는 제4로직(506)에 입력된다. 상기 제4로직(506)은 FSM0, FSM1, FSM2, FSM3과 Q0_OUT, Q1_OUT, Q2_OUT, Q3_OUT를 각각 앤드게이팅하여 제1 내지 제4FIFO부(314 내지 320)에 제공하기 위한 라이트클럭을 생성하여 출력한다. 이 라이트 클럭이 제4도에 도시한 FSM0 & Q0_OUT, FSM1 & Q1_OUT, FSM2 & Q2_OUT, FSM3 & Q3_OUT이다.The first logic 500 counts PRWR as a clock to output a count value and is reset every time START_FLAG is input. The output of the first logic 500 is provided to the second logic 502. The second logic 502 analyzes the count value and outputs the signals corresponding to the first to fourth FIFO units 314 to 320 to provide to the third logic 504 and the fourth logic 506. The outputs are FSM0, FSM1, FSM2, and FSM3 shown in FIG. The third logic 504 outputs the FSM0, FSM1, FSM2, and FSM3 in synchronization with the inverted PRWR. These outputs are Q0_OUT, Q1_OUT, Q2_OUT and Q3_OUT shown in FIG. 4, which are input to the fourth logic 506. The fourth logic 506 generates and outputs a light clock for providing the FSM0, FSM1, FSM2, FSM3 and Q0_OUT, Q1_OUT, Q2_OUT, and Q3_OUT to the first to fourth FIFO units 314 to 320, respectively. . These write clocks are FSM0 & Q0_OUT, FSM1 & Q1_OUT, FSM2 & Q2_OUT, FSM3 & Q3_OUT shown in FIG.

그리고 순간대역폭이 1바이트인 프레임의 경우에는 CPU(302)가 데이터를 리드할때에 프레임이 4바이트로 나누어지지 않게 된다. 이런 경우에 CPU(302)는 END_FLAG에 연동하여 제1 내지 제4FIFO부(314 내지 320)에 라이트된 데이터를 읽으므로, 패킷제어로직(328)이 상기 END_FLAG에 연동하여 더미 데이터를 잔여 FIFO에 라이트한다.In the case of a frame having an instantaneous bandwidth of 1 byte, the frame is not divided into 4 bytes when the CPU 302 reads data. In this case, since the CPU 302 reads the data written to the first to fourth FIFO units 314 to 320 in association with the END_FLAG, the packet control logic 328 writes the dummy data to the remaining FIFO in conjunction with the END_FLAG. do.

상기 패킷제어로직(328)은 프레임의 데이터 바이트수가 4로 나누어지는 경우에는 더미데이터를 라이트할 필요가 없으나, 그이외의 경우에는 더미데이터를 라이트하여야 한다.The packet control logic 328 does not need to write the dummy data when the number of data bytes of the frame is divided by four, but otherwise the dummy data should be written.

이를 위한 더미데이터 라이트 로직을 도 5를 참조하여 설명한다.Dummy data write logic for this purpose will be described with reference to FIG. 5.

제5로직(600)은 마지막 데이터가 수신될 때에 더미데이터를 생성하며, END_FLAG와 라이트클럭을 엔드 게이팅하여 참조 신호를 생성한다. 즉, 제5로직(600)은 END_FLAG가 나타난 시점을 가르키는 신호를 발생하여 제6로직(602)에 제공한다. 상기 제5로직(600)의 출력은 도 4에 도시한 QX_WRITE_1, QX_WRITE_2, QX_WRITE_3, QY_WRITE_2, QY_WRITE_3, QZ_WRITE_3이다. 상기 제6로직은 상기 참조신호를 통해 잔여 FIFO부가 3개이면 3개의 더미데이터 X_1,Y_1,Z_1을 생성하고, 상기 잔여 FIFO부가 2개이면 2개의 더미데이터 X_1,Y_1을 생성하고, 상기 잔여 FIFO부가 1개이면 1개의 더미데이터 X_1을 생성한다. 이렇게 생성된 더미데이터는 라이트 클럭에 따라 해당 FIFO부에 라이트된다.The fifth logic 600 generates dummy data when the last data is received, and generates a reference signal by end gating END_FLAG and the light clock. That is, the fifth logic 600 generates a signal indicating a time point at which END_FLAG appears and provides it to the sixth logic 602. The output of the fifth logic 600 is QX_WRITE_1, QX_WRITE_2, QX_WRITE_3, QY_WRITE_2, QY_WRITE_3, and QZ_WRITE_3 shown in FIG. The sixth logic generates three dummy data X_1, Y_1, and Z_1 when there are three remaining FIFO parts through the reference signal, and generates two dummy data X_1 and Y_1 when the remaining FIFO parts are two, and the remaining FIFO. If the number is one, one dummy data X_1 is generated. The dummy data thus generated is written to the corresponding FIFO unit according to the write clock.

그리고 제7로직(604)은 상기 더미데이터와 라이트 클럭을 오아 게이팅한 값과 START_FLAG를 앤드게이팅하여 도 4의 PRXWR0, PRXWR1, PRXWR2, PRXWR3을 생성하여 제8로직(606)에 제공한다. 상기 제8로직(606)은 상기 PRXWR0, PRXWR1, PRXWR2, PRXWR3을 반전하여 도 6에 도시한 PRXWR_0, PRXWR_1, PRXWR_2, PRXWR_3을 생성한다.The seventh logic 604 generates and provides the PRXWR0, PRXWR1, PRXWR2, and PRXWR3 of FIG. 4 to the eighth logic 606 by AND-gating the dummy data and the write clock by gating the value and START_FLAG. The eighth logic 606 inverts the PRXWR0, PRXWR1, PRXWR2, and PRXWR3 to generate PRXWR_0, PRXWR_1, PRXWR_2, and PRXWR_3 shown in FIG.

상기 로직들의 기능을 표시하면 다음과 같다. 여기서, !는 낫 게이트(NOT GATE)를 의미하며, &는 엔드 게이트(AND GATE)를 의미하며, #는 오아 게이트(OR GATE)를 의미한다.The functions of the logics are as follows. Here,! Means NOT GATE, & means end gate (AND GATE), and # means OR GATE.

제1로직: COUNTER([FQ4..FQ7],[FQ0..FQ3],VCC,PRWR,PTCLK,VCC,!START_FLAG);First logic: COUNTER ([FQ4..FQ7], [FQ0..FQ3], VCC, PRWR, PTCLK, VCC,! START_FLAG);

제2로직: FSM0=!FQ0&!FQ1 ; FSM1=FQ0&!FQ1 ; FSM2=!FQ0&FQ1 ; FSM3=FQ0&FQ1;Second logic: FSM0 =! FQ0 &! FQ1; FSM1 = FQ0 &! FQ1; FSM2 =! FQ0 &FQ1; FSM3 = FQ0 &FQ1;

제3로직: FD21(Q0_OUT,FSM0,!PRWR.PTCLK,!STATRT_FLAG);Third logic: FD21 (Q0_OUT, FSM0,! PRWR.PTCLK,! STATRT_FLAG);

FD21(Q1_OUT,FSM1,!PRWR.PTCLK,!STATRT_FLAG);FD21 (Q1_OUT, FSM1,! PRWR.PTCLK,! STATRT_FLAG);

FD21(Q2_OUT,FSM2,!PRWR.PTCLK,!STATRT_FLAG);FD21 (Q2_OUT, FSM2,! PRWR.PTCLK,! STATRT_FLAG);

FD21(Q3_OUT,FSM3,!PRWR.PTCLK,!STATRT_FLAG);FD21 (Q3_OUT, FSM3,! PRWR.PTCLK,! STATRT_FLAG);

제4로직: FIFO_0=FSM0&Q0_OUT, FIFO_1=FSM1&Q1_OUT,4th logic: FIFO_0 = FSM0 & Q0_OUT, FIFO_1 = FSM1 & Q1_OUT,

FIFO_2=FSM2&Q2_OUT, FIFO_3=FSM3&Q3_OUTFIFO_2 = FSM2 & Q2_OUT, FIFO_3 = FSM3 & Q3_OUT

제5로직: QX_WRITE_1=FIFO_0&END_FLAG;Fifth logic: QX_WRITE_1 = FIFO_0 &END_FLAG;

QX_WRITE_2=FIFO_0&END_FLAG;QX_WRITE_2 = FIFO_0 &END_FLAG;

QX_WRITE_3=FIFO_0&END_FLAG;QX_WRITE_3 = FIFO_0 &END_FLAG;

QY_WRITE_2=FIFO_1&END_FLAG;QY_WRITE_2 = FIFO_1 &END_FLAG;

QY_WRITE_3=FIFO_1&END_FLAG;QY_WRITE_3 = FIFO_1 &END_FLAG;

QZ_WRITE_3=FIFO_2&END_FLAG;QZ_WRITE_3 = FIFO_2 &END_FLAG;

제6로직: X_1=QX_WRITE_1;Sixth logic: X_1 = QX_WRITE_1;

Y_2=(QX_WRITE_2#QY_WRITE_2);Y_2 = (QX_WRITE_2 # QY_WRITE_2);

Z_3=(QX_WRITE_3#QY-WRITE_3#QZ_WRITE_3);Z_3 = (QX_WRITE_3 # QY-WRITE_3 # QZ_WRITE_3);

제7로직: PRXWR0 =((FIFO_0)&START_FLAG);Seventh logic: PRXWR0 = ((FIFO_0) &START_FLAG);

PRXWR1 =((FIFO_1#X_1)&START_FLAG);PRXWR1 = ((FIFO_1 # X_1) &START_FLAG);

PRXWR2 =((FIFO_2#Y_2)&START_FLAG);PRXWR2 = ((FIFO_2 # Y_2) &START_FLAG);

PRXWR3 =((FIFO_3#Z_3)&START_FLAG);PRXWR3 = ((FIFO_3 # Z_3) &START_FLAG);

제8로직: PRXWR_0 =!((FIFO_0)&START_FLAG);Eighth logic: PRXWR_0 =! ((FIFO_0) &START_FLAG);

PRXWR_1 =!((FIFO_1#X_1)&START_FLAG);PRXWR_1 =! ((FIFO_1 # X_1) &START_FLAG);

PRXWR_2 =!((FIFO_2#Y_2)&START_FLAG);PRXWR_2 =! ((FIFO_2 # Y_2) &START_FLAG);

PRXWR_3 =!((FIFO_3#Z_3)&START_FLAG);PRXWR_3 =! ((FIFO_3 # Z_3) &START_FLAG);

이상에서 설명한 본 발명에 따른 데이터 처리장치는 다음과 같은 효과를 제공한다.The data processing apparatus according to the present invention described above provides the following effects.

노드와 노드사이에 CPU의 풀 데이터 라인을 사용할 수 있게 하여 CPU의 수신처리 속도를 개선할 수 있다. 이에따라 CPU 속도가 더욱 빠른 비싼 IC를 사용하지 않아도 되므로, 비용을 절감할 수 있다. 또한 시스템 구성시 동일한 보드를 더 구비하지 않아도 되므로 비용을 절감할 수 있으며, 시스템도 간소하게 설명할 수 있게 된다.The CPU's full data line can be used between nodes, improving the CPU's receive processing speed. This saves money by eliminating expensive ICs with faster CPU speeds. In addition, cost savings can be achieved by eliminating the need for additional identical boards in the system configuration, and the system can be described simply.

Claims (3)

CPU를 구비하는 노드와 노드사이의 데이터 송수신을 위한 데이터 처리장치에 있어서,In the data processing device for transmitting and receiving data between the node and the node having a CPU, 어느 한 노드로부터의 순차적으로 제공되는 프레임을 순차적으로 저장하는 다수의 저장부와,A plurality of storage units sequentially storing frames sequentially provided from any one node; 상기 다수의 저장부에 저장된 프레임을 동시에 리드하여 처리하는 CPU와,A CPU which simultaneously reads and processes the frames stored in the plurality of storage units; 다수의 저장부에 라이트 클럭을 제공하는 패킷제어로직을 구비하는 것을 특징으로 하는 데이터 처리장치.And a packet control logic for providing a write clock to a plurality of storage units. 제1항에 있어서, 상기 패킷제어로직이,The method of claim 1, wherein the packet control logic, 프레임 송신중임을 나타내는 클럭을 카운트하는 제1로직과,A first logic for counting a clock indicating that a frame is being transmitted, 상기 제1로직의 카운트값을 이용하여 상기 순차적으로 제공되는 프레임과 상기 다수의 저장부를 각각 대응시키는 신호들을 발생하는 제2로직과,A second logic for generating signals corresponding to the sequentially provided frames and the plurality of storage units by using the count value of the first logic; 상기 제2로직의 신호들을 지연하여 출력하는 제3로직과,A third logic for delaying and outputting the signals of the second logic; 상기 제3로직의 출력들과 상기 제2로직의 출력들을 엔드게이팅하여 상기 다수의 저장부에 대한 라이트 클럭들을 출력하는 제4로직으로 구성되는 라이트 클럭 생성을 위한 로직을 구비함을 특징으로 하는 데이터 처리장치.And a logic for generating a write clock comprising a fourth logic for outputting write clocks to the plurality of storage units by end-gating the outputs of the third logic and the outputs of the second logic. Processing unit. 제1항에 있어서, 상기 패킷제어로직이,The method of claim 1, wherein the packet control logic, 라이트 클럭들과 프레임 송신종료를 나타내는 신호를 제공받아, 상기 프레임 송신종료시점을 나타내는 신호들을 발생하고, 그 신호들을 통해 더미데이터를 생성하여 잔여 저장부에 더미데이터를 저장하는 기능을 더 구비함을 특징으로 하는 데이터 처리장치.And receiving the signals indicating the write clocks and the end of frame transmission, generating signals indicating the end of frame transmission, generating dummy data through the signals, and storing dummy data in the remaining storage unit. Characterized in that the data processing device.
KR1020000081223A 2000-12-23 2000-12-23 Data processing device KR20020052045A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000081223A KR20020052045A (en) 2000-12-23 2000-12-23 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000081223A KR20020052045A (en) 2000-12-23 2000-12-23 Data processing device

Publications (1)

Publication Number Publication Date
KR20020052045A true KR20020052045A (en) 2002-07-02

Family

ID=27685354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000081223A KR20020052045A (en) 2000-12-23 2000-12-23 Data processing device

Country Status (1)

Country Link
KR (1) KR20020052045A (en)

Similar Documents

Publication Publication Date Title
KR910010315A (en) 2-way data transfer device
KR20040010756A (en) First-in, first-out memory system and method thereof
JP2005025765A (en) Memory system having data inversion, and data inversion method for memory system
US7549074B2 (en) Content deskewing for multichannel synchronization
US10680963B2 (en) Circuit and method for credit-based flow control
CN111399802B (en) Multi-power-domain multi-clock-domain first-in first-out queue, integrated circuit chip and computer equipment
KR20020052045A (en) Data processing device
US6510483B1 (en) Circuit, architecture and method for reading an address counter and/or matching a bus width through one or more synchronous ports
US6486704B1 (en) Programmable burst FIFO
US6430198B1 (en) Apparatus and method of reducing packet length count processing
US6489805B1 (en) Circuits, architectures, and methods for generating a periodic signal in a memory
JP4060270B2 (en) Apparatus and method for delaying video line data between transmitter and receiver
JP2973941B2 (en) Asynchronous FIFO buffer device
KR0181485B1 (en) Data-buffering device for data telecommunication
CN107544618B (en) Pointer synchronization circuit and method, message exchange device and method
JP2000276435A (en) Method and device for data transfer
KR200158764Y1 (en) Synchronous serial input device
KR960015590B1 (en) High speed data memory apparatus
KR100557561B1 (en) First in First out storage device
KR100197410B1 (en) Circuit for generating acknowledge signal in switching system
KR920000401B1 (en) Data buffering circuit
CN117311662A (en) Data clearing system and method
KR100232494B1 (en) Apparatus for converting bit width
KR0135372B1 (en) Parallel down-loading apparatus using a computer
KR19990011456A (en) Peel Status Check Circuit and FIFO Memory Using the Same

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination