KR100460994B1 - High-bandwidth I/O device with direct memory access and method thereof - Google Patents

High-bandwidth I/O device with direct memory access and method thereof Download PDF

Info

Publication number
KR100460994B1
KR100460994B1 KR10-2002-0082899A KR20020082899A KR100460994B1 KR 100460994 B1 KR100460994 B1 KR 100460994B1 KR 20020082899 A KR20020082899 A KR 20020082899A KR 100460994 B1 KR100460994 B1 KR 100460994B1
Authority
KR
South Korea
Prior art keywords
data
dma
fifo
request data
input
Prior art date
Application number
KR10-2002-0082899A
Other languages
Korean (ko)
Other versions
KR20040056297A (en
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 KR10-2002-0082899A priority Critical patent/KR100460994B1/en
Publication of KR20040056297A publication Critical patent/KR20040056297A/en
Application granted granted Critical
Publication of KR100460994B1 publication Critical patent/KR100460994B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Abstract

본 발명은 직접 메모리 액세스(DMA; Direct Memory Access) 기능을 구비한 광대역 입출력 장치 및 그 방법에 관한 것으로서, 네트워크 연결망을 통한 컴퓨터 시스템간의 데이터 송수신을 위한 DMA 명령어를 내부 마이크로 제어기 유닛(MCU)으로부터 입력받은 후, 이를 선입선출(FIFO) 메모리에 임시 저장해 두고, 이 선입선출 메모리에 저장되어 있는 DMA 명령어에 해당하는 데이터가 임시 데이터 저장 메모리에 준비되었는가를 감시하여, 임시 데이터 저장 메모리에 데이터가 준비되어 있다는 것이 확인되면, 자신이 속한 컴퓨터 시스템의 메모리에 직접 액세스함으로써 네트워크 연결망을 통하여 자신이 속한 컴퓨터 시스템과 다른 컴퓨터 시스템간의 데이터 송수신을 수행하도록 되어 있으며,BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a broadband input / output device having a direct memory access (DMA) function and a method thereof, wherein a DMA command for transmitting and receiving data between computer systems through a network connection is input from an internal microcontroller unit (MCU). After receiving it, it is temporarily stored in the first-in first-out (FIFO) memory, and the data corresponding to the DMA instruction stored in this first-in-first-out memory is monitored in the temporary data storage memory to prepare the data in the temporary data storage memory. When it is confirmed that the data is transmitted directly to the memory of the computer system to which it belongs, it is to perform the data transmission and reception between the computer system and the other computer system of its own through the network connection network,

이에 따라서, DMA 처리를 순서대로 일관성 있게 할 수 있고, 컴퓨터 시스템의 데이터 처리 시간지연을 막고 CPU를 효율적으로 사용할 수 있으며, 이로 인해 컴퓨터 시스템의 전체적인 성능이 향상된다.As a result, the DMA processing can be made in order, and the data processing time delay of the computer system can be prevented and the CPU can be efficiently used, thereby improving the overall performance of the computer system.

Description

직접 메모리 액세스 기능을 구비한 광대역 입출력 장치 및 그 방법 {High-bandwidth I/O device with direct memory access and method thereof}High-bandwidth I / O device with direct memory access function and method thereof

본 발명은 범용적인 PCI 등의 버스 구조를 가지고 있는 컴퓨터 시스템에 있어서, 인피니밴드(InfiniBand), 기가비트 이더넷(Gigabit-Ethernet) 등의 광대역 입출력에 사용되는 장치, 특히 장치 내부에 프로세서를 내장하고 있는 임베디드 시스템 형태로 되어 있는 장치를 개발할 때, 네트워크 연결망을 통한 컴퓨터 시스템들간의 광대역 데이터 송수신에 사용되는 광대역 입출력 장치에 관한 것이며, 보다 상세히는 직접 메모리 액세스(DMA; Direct Memory Access) 기능을 구비한 광대역 입출력 장치 및 그 방법에 관한 것이다.The present invention is a computer system having a general bus structure such as PCI, the device used for broadband input and output, such as InfiniBand, Gigabit-Ethernet, in particular embedded processor embedded in the device When developing a device in the form of a system, the present invention relates to a wideband I / O device used for wideband data transmission and reception between computer systems through a network connection network, and more particularly, to a wideband input / output device having a direct memory access (DMA) function. An apparatus and a method thereof are provided.

일반적인 컴퓨터 시스템에서 중앙처리장치(CPU; Central Process Unit)에서 메모리를 제어하지 않고 별도의 동작을 수행하고 있을 때, 네트워크 연결망을 통하여 다른 컴퓨터 시스템과의 데이터 송수신을 제어하는 광대역 입출력 장치와 기타 주변장치들이 메모리와 직접적인 데이터 송수신을 할 수 있도록 CPU 대신에 DMA 제어기가 시스템 버스를 관장하도록 하여 CPU와 별개의 동작이 동시에 이루어지도록 함으로써 컴퓨터 시스템의 성능을 높이도록 되어 있으며, 특히 데이터 전송량이 많은 주변장치를 가진 컴퓨터 시스템에 있어서 이러한 DMA 제어기는 필수사항이 되고 있다.In a typical computer system, when a central processing unit (CPU) performs a separate operation without controlling a memory, a broadband input / output device and other peripheral devices that control data transmission and reception with another computer system through a network connection network. It is designed to improve the performance of computer systems by allowing the DMA controller to manage the system bus instead of the CPU so that they can send and receive data directly to and from memory. In a computer system with such a DMA controller is becoming a necessity.

또한, PCI 버스 구조를 가지는 컴퓨터 시스템에 있어서 광대역 입출력 장치나 기타 주변장치들이 장치의 특성상 입출력이 많은 경우 DMA 제어기 역할을 장치 내부에 가지고 있는 경우도 있다.In addition, in a computer system having a PCI bus structure, broadband input / output devices or other peripheral devices may have a role of a DMA controller inside the device when the input / output device has a large amount of input / output.

도 1은 DMA 제어기를 구비한 종래의 컴퓨터 시스템을 도시한 구성도로서, CPU(10)와 복수의 메모리 영역(1∼n)으로 구분된 메모리(20), 다른 컴퓨터 시스템과의 데이터 송수신을 제어하는 광대역 입출력 장치(30), 복수의 주변장치(40∼42), 및 시스템버스(60)를 통하여 상기 광대역 입출력 장치(30)와 복수의 주변장치(40∼42)가 메모리(20)와 직접 데이터 송수신을 할 수 있도록 제어하는 DMA제어기(50)를 포함하고 있다.1 is a block diagram showing a conventional computer system having a DMA controller, which controls data transmission and reception with a CPU 10, a memory 20 divided into a plurality of memory areas 1 to n, and other computer systems. The broadband input / output device 30 and the plurality of peripheral devices 40 to 42 are directly connected to the memory 20 through the broadband input / output device 30, the plurality of peripheral devices 40 to 42, and the system bus 60. And a DMA controller 50 for controlling data transmission and reception.

도 1에 있어서, 상기 광대역 입출력 장치(50)와 주변장치들(40∼42)의 내부에 DMA 제어기가 없는 경우에는, 시스템버스(60)를 통하여 CPU(10)로부터 시스템버스(60) 관장 권한을 부여받은 DMA제어기(50)에 의해 상기 광대역 입출력 장치(50)가 자신이 속한 컴퓨터 시스템과 다른 컴퓨터 시스템과의 DMA 전송을 하고, 주변장치들(40~42)이 메모리(20)에 직접적인 데이터 전송을 지시하게 된다.In FIG. 1, when there is no DMA controller inside the broadband input / output device 50 and the peripheral devices 40 to 42, the authority of managing the system bus 60 from the CPU 10 through the system bus 60 is controlled. The broadband input / output device 50 performs DMA transfer between the computer system to which it belongs and another computer system by the DMA controller 50, and the peripheral devices 40 to 42 directly transmit data to the memory 20. Instruct the transmission.

이 경우, 상기 DMA 제어기(50)는 내부에 가지고 있는 버퍼 등의 장치를 이용하여 메모리(20)와 광대역 입출력장치(30) 및 주변장치들(40~42)간의 클럭 속도 차이 등을 보상하도록 되어 있다.In this case, the DMA controller 50 compensates the difference in clock speed between the memory 20, the wideband input / output device 30, and the peripheral devices 40 to 42 by using a buffer or the like. have.

한편, 도 1에 있어서, 상기 광대역 입출력 장치(30)의 내부에 DMA 제어기가존재하는 경우에는, 광대역 입출력 장치(30)가 직접 시스템버스(60)를 통하여 CPU(10)로부터 시스템버스(60) 관장 권한을 부여받아 메모리(20)에 직접 액세스하여 자신이 속한 컴퓨터 시스템과 다른 컴퓨터 시스템과의 DMA 전송을 하게 된다.In FIG. 1, when a DMA controller exists inside the wideband input / output device 30, the wideband input / output device 30 directly connects the system bus 60 from the CPU 10 via the system bus 60. The entitlement authority is directly accessed to the memory 20 to perform a DMA transfer between the computer system to which it belongs and another computer system.

이 경우에도 광대역 입출력 장치(30) 내부에 있는 DMA 제어기에는 버퍼 등의 장치를 포함하여 메모리(20)와 광대역 입출력 장치(30)간의 클럭 속도 차이 등을 보상하도록 되어야 한다.Even in this case, the DMA controller inside the wideband input / output device 30 should include a device such as a buffer to compensate for the difference in clock speed between the memory 20 and the wideband input / output device 30.

상기와 같은 종래의 컴퓨터 시스템에서는 광대역 입출력 장치(30)에서 메모리(20)의 다양한 메모리 영역의 데이터를 일괄적으로 요구할 경우에 해당 메모리 영역의 개수만큼 DMA 전송이 필요하므로, DMA 전송을 위해서는 시스템 버스(60)뿐만 아니라 광대역 입출력 장치(30)도 동시에 대기하고 있어야 하는 단점을 가지고 있다.In the conventional computer system as described above, when the broadband input / output device 30 requests data of various memory areas of the memory 20 collectively, DMA transfers are required as many as the corresponding memory areas. Not only 60, but also the wideband input / output device 30 has a disadvantage of waiting at the same time.

또한, 광대역 입출력 장치(30)에서 요구하는 데이터 형식과 시스템 버스(60)에서 제공하고 있는 데이터 형식이 다를 경우에는 이를 보상하기 위하여 DMA 전송이 발생할 때마다 데이터 형식 변환이 이루어져야 하는 단점이 있으며, 특히 광대역 입출력 장치(30)와 시스템 버스(60)간의 클럭 속도차이가 있을 경우에는 클럭의 변환을 위한 버퍼의 양을 예측하기가 힘든 문제점이 있다.In addition, when the data format required by the wideband input / output device 30 and the data format provided by the system bus 60 are different from each other, a data format conversion must be performed whenever a DMA transfer occurs. If there is a difference in clock speed between the wideband input / output device 30 and the system bus 60, it is difficult to predict the amount of buffer for clock conversion.

아울러, 종래의 DMA 제어기(50)는 DMA 전송을 지시하는 형태를 시스템 버스(60)에 정의되어 있는 방식을 이용하므로 이에 대한 시간 지연이 발생할 위험이 많다.In addition, since the conventional DMA controller 50 uses the method of instructing the DMA transfer to be defined in the system bus 60, there is a high risk of time delay.

따라서, 본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 본 발명의 목적은 네트워크 연결망을 통한 컴퓨터 시스템간의 데이터 송수신을 위한 DMA 명령어를 내부 마이크로 제어기 유닛(MCU; Micro Controller Unit)으로부터 입력받은 후, 이를 선입선출(FIFO; First-In-First-Out) 메모리에 임시 저장해 두고, 이 선입선출 메모리(이하, FIFO라 함)에 저장되어 있는 DMA 명령어에 해당하는 데이터가 임시 데이터 저장 메모리에 준비되었는가를 감시하여, 임시 데이터 저장 메모리에 데이터가 준비되어 있다는 것이 확인되면, 자신이 속한 컴퓨터 시스템의 메모리에 직접 액세스함으로써 네트워크 연결망을 통하여 자신이 속한 컴퓨터 시스템과 다른 컴퓨터 시스템간의 데이터 송수신을 수행하도록 된 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치 및 그 방법을 제공하는데 있다.Accordingly, an object of the present invention is to overcome the above-described problems, and an object of the present invention is to receive a DMA command for data transmission and reception between computer systems through a network connection network from an internal micro controller unit (MCU). Is it temporarily stored in FIFO (First-In-First-Out) memory, and is the data corresponding to the DMA instruction stored in this FIFO (hereinafter referred to as FIFO) ready in the temporary data storage memory? If it is confirmed that the data is prepared in the temporary data storage memory, it is possible to directly access the memory of the computer system to which it belongs, and to perform data transmission and reception between the computer system of the member and another computer system through the network connection network. Broadband I / O device with memory access function and its There is provided a method.

상기 본 발명의 목적을 달성하기 위한 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치는, 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 데이터 입출력을 위한 DMA 명령어와 입출력 요구 데이터를 수신하는 데이터 수신 처리기와; 상기 데이터 수신 처리기의 수신 DMA 명령어를 내부버스를 통하여 받아 분석하여 DMA 처리 순서를 지정하고, 입출력 요구 데이터를 새로운 크기의 데이터로 분리하여 분리된 데이터의 ID를 부여한 후, ID가 부여된 입력 요구 데이터들이 저장될 메모리 영역 주소를 지정하거나 ID가 부여된 출력 요구 데이터를 읽어올메모리 영역 주소를 지정하여 DMA 처리 명령어를 새롭게 생성하는 내부MCU; 상기 DMA 처리 명령어를 내부버스를 통하여 수신하여 DMA 명령어 FIFO에 순서대로 저장하는 내부버스 인터페이스; 상기 DMA 명령어 FIFO에 순서대로 저장된 DMA 처리 명령어 내용을 참조하여 수신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 입력 요구 데이터를 저장할 수 있는지 확인한 후 상기 데이터 수신 처리기가 수신한 입력 요구 데이터를 상기 수신 데이터 FIFO에 저장하도록 하고 입력 요구 데이터 저장 결과를 DMA 처리 결과 FIFO에 저장하며, 송신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 출력 요구 데이터를 저장할 수 있는지 확인한 후 그 결과를 상기 DMA 처리 결과 FIFO에 저장한 다음 상기 송신 데이터 FIFO에 출력 요구 데이터가 저장되었는가를 판별하여 출력 요구 데이터가 저장되었으면 출력 요구 데이터 송신 명령을 출력하는 DMA 주제어기; DMA 처리 결과 FIFO에 저장된 내용을 확인하여 상기 수신 데이터 FIFO에 저장된 입력 요구 데이터를 읽어 시스템버스를 통하여 해당 메모리 영역에 저장하거나, 상기 출력 요구 데이터를 상기 시스템버스를 통하여 해당 메모리 영역으로부터 읽어 상기 송신 데이터 FIFO에 저장하는 외부 버스 인터페이스; 및 상기 DMA 주제어기의 출력 요구 데이터 송신 명령이 입력되면 상기 송신 데이터 FIFO에 저장되어 있는 출력 요구 데이터를 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 송신하는 데이터 송신 처리기로 구성된다.A wideband input / output device having a direct memory access function for achieving the object of the present invention comprises: a data reception processor for receiving DMA commands and input / output request data for data input / output from another computer system connected through a network connection network; Receive and analyze the received DMA command of the data receiving processor through the internal bus to specify the DMA processing order, divide the input / output request data into new size data, give the separated data ID, and then input the request data with ID. An internal MCU for newly generating a DMA processing instruction by specifying a memory area address to which data are to be stored or a memory area address from which output request data assigned with ID is read; An internal bus interface for receiving the DMA processing command through an internal bus and storing the DMA processing command in order in a DMA command FIFO; After confirming that the input request data indicated by the DMA processing instruction can be stored in the received data FIFO by referring to the contents of the DMA processing instructions sequentially stored in the DMA command FIFO, the received data FIFO is inputted to the received request data received by the data receiving processor. Store the input request data storage result in the DMA processing result FIFO, check whether the output request data indicated by the DMA processing instruction can be stored in the transmission data FIFO, and store the result in the DMA processing result FIFO. A DMA master controller that determines whether output request data is stored in the transmission data FIFO and outputs an output request data transmission command if output request data is stored; Check the contents stored in the FIFO as a result of DMA processing, and read the input request data stored in the received data FIFO and store them in the corresponding memory area through the system bus, or read the output request data from the memory area through the system bus and transmit the data. An external bus interface for storing in a FIFO; And a data transmission processor for transmitting output request data stored in the transmission data FIFO from another computer system connected through a network connection network when an output request data transmission command of the DMA master controller is input.

상기 본 발명의 목적을 달성하기 위한 광대역 입출력 장치의 직접 메모리 액세스 방법은, 데이터 수신 처리기가 네트워크 연결망을 통하여 연결된 다른 컴퓨터시스템으로부터 데이터 입출력을 위한 DMA 명령어와 입출력 요구 데이터를 수신하는 단계와; 내부MCU가 상기 DMA 명령어를 분석하여 DMA 처리 명령어를 새롭게 생성하는 단계; 내부버스 인터페이스가 상기 DMA 처리 명령어를 DMA 명령어 FIFO에 순서대로 저장하는 단계; DMA 주제어기가 상기 DMA 처리 명령어 내용을 참조하여 수신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 입력 요구 데이터를 저장할 수 있는지 확인한 후 상기 데이터 수신 처리기가 수신한 입력 요구 데이터를 상기 수신 데이터 FIFO에 저장하도록 하고 입력 요구 데이터 저장 결과를 DMA 처리 결과 FIFO에 저장하는 단계; DMA 주제어기가 상기 DMA 처리 명령어 내용을 참조하여 송신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 출력 요구 데이터를 저장할 수 있는지 확인한 후 그 결과를 상기 DMA 처리 결과 FIFO에 저장하는 단계; 외부 버스 인터페이스가 DMA 처리 결과 FIFO에 저장된 내용을 확인하여 상기 수신 데이터 FIFO에 저장된 입력 요구 데이터를 읽어 시스템버스를 통하여 해당 메모리 영역에 저장하는 단계; 외부 버스 인터페이스가 DMA 처리 결과 FIFO에 저장된 내용을 확인하여 상기 출력 요구 데이터를 시스템버스를 통하여 해당 메모리 영역으로부터 읽어 송신 데이터 FIFO에 저장하는 단계; DMA 주제어기가 상기 송신 데이터 FIFO에 출력 요구 데이터가 저장되었는가를 판별하는 단계; 상기 송신 데이터 FIFO에 출력 요구 데이터가 저장되어 있으면 DMA 주제어기가 데이터 송신 처리기로 출력 요구 데이터 송신 명령을 출력하는 단계; 및 데이터 송신 처리기가 상기 DMA 주제어기의 출력 요구 데이터 송신 명령에 의해 상기 송신 데이터 FIFO에 저장되어 있는 출력 요구 데이터를 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 송신하는 단계로 이루어진다.In order to achieve the object of the present invention, a direct memory access method of a broadband input / output device includes: receiving, by a data reception processor, DMA commands and data for input / output request data from another computer system connected through a network connection network; An internal MCU analyzing the DMA command to generate a new DMA processing command; An internal bus interface sequentially storing the DMA processing instructions in a DMA instruction FIFO; After confirming that the DMA main controller can store the input request data indicated by the DMA processing instruction in the received data FIFO by referring to the contents of the DMA processing instruction, the data receiving processor stores the input request data received in the received data FIFO. Storing the input request data storage result in a DMA processing result FIFO; Checking whether a DMA main controller can store the output request data indicated by the DMA processing instruction in the transmission data FIFO by referring to the contents of the DMA processing instruction and storing the result in the DMA processing result FIFO; Checking, by the external bus interface, the contents stored in the DMA processing result FIFO, reading input request data stored in the received data FIFO, and storing the input request data in a corresponding memory area through a system bus; Identifying, by an external bus interface, the contents stored in the DMA processing result FIFO, reading the output request data from the corresponding memory area via a system bus, and storing the output request data in the transmission data FIFO; Determining, by a DMA main controller, whether output request data is stored in the transmission data FIFO; Outputting, by a DMA main controller, an output request data transmission command to a data transmission processor if output request data is stored in the transmission data FIFO; And a data transmission processor transmitting output request data stored in the transmission data FIFO from another computer system connected via a network connection network by an output request data transmission command of the DMA main controller.

도 1은 DMA 제어기를 구비한 종래의 컴퓨터 시스템을 도시한 구성도,1 is a block diagram showing a conventional computer system having a DMA controller;

도 2는 본 발명에 따른 DMA 기능을 구비한 광대역 입출력 장치를 도시한 구성도,2 is a block diagram illustrating a wideband input / output device having a DMA function according to the present invention;

도 3은 본 발명에 따른 DMA 명령어 구조를 도시한 구성도이다.3 is a block diagram illustrating a DMA command structure according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10: CPU 20: 메모리10: CPU 20: Memory

30: 광대역 입출력 장치 40,41,42: 주변장치30: wideband I / O devices 40, 41, 42: peripheral devices

50: DMA제어기 60: 시스템버스50: DMA controller 60: system bus

100: CPU 200: 메모리100: CPU 200: Memory

300: 시스템버스 400: 광대역 입출력 장치300: System Bus 400: Broadband I / O Device

410: 데이터 수신 처리기 420: 내부MCU410: data receiving processor 420: internal MCU

430: 내부버스 440: 내부버스 인터페이스430: internal bus 440: internal bus interface

450: DMA 명령어 FIFO 460: DMA 주제어기450: DMA instruction FIFO 460: DMA master controller

470: 수신 데이터 FIFO 480: DMA 처리 결과 FIFO470: Received data FIFO 480: DMA processing result FIFO

490: 송신 데이터 FIFO 491: 외부 버스 인터페이스490: transmit data FIFO 491: external bus interface

492: 데이터 송신 처리기492: Data Send Processor

이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2를 참조하면, 본 발명에 따른 DMA 기능을 구비한 광대역 입출력 장치(400)는 원칩 형태로 제작되어 CPU(100)와 복수의 메모리 영역(1∼n)으로 구분된 메모리(200)를 포함하는 컴퓨터 시스템에 포함되고, 네트워크 연결망(도시하지 않음)을 통하여 다른 컴퓨터 시스템과의 데이터 송수신을 위하여 시스템버스(300)를 통하여 상기 메모리(200)에 직접 액세스한다.Referring to FIG. 2, the broadband input / output device 400 having a DMA function according to the present invention includes a memory 200 which is manufactured in a single chip form and is divided into a CPU 100 and a plurality of memory areas 1 to n. It is included in the computer system, and directly access the memory 200 through the system bus 300 for data transmission and reception with other computer system through a network connection network (not shown).

상기 데이터 수신 처리기(410)는 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 데이터 입출력을 위한 DMA 명령어와 입출력 요구 데이터를 수신한다.The data receiving processor 410 receives DMA commands and input / output request data for data input / output from another computer system connected through a network connection network.

내부MCU(420)는 내부버스(430)를 통하여 상기 데이터 수신 처리기(410)가 수신한 DMA 명령어를 분석하여 DMA 처리 순서를 지정하고, 입출력 요구 데이터가 있는 경우 이 입출력 요구 데이터를 새로운 크기의 데이터로 분리하여 분리된 데이터의 ID를 부여한 후, ID가 부여된 입력 요구 데이터들이 저장될 메모리 영역 주소를 지정하거나 ID가 부여된 출력 요구 데이터를 읽어올 메모리 영역 주소를 지정하여 DMA 처리 명령어를 새롭게 생성한다.The internal MCU 420 analyzes the DMA command received by the data receiving processor 410 through the internal bus 430 to specify the DMA processing order, and if there is input / output request data, the input / output request data has a new size of data. After creating a new DMA processing instruction by assigning the ID of the separated data by specifying the memory area address, the memory area address where ID input data is to be stored or the memory area address where ID output data is to be read. do.

상기 DMA 처리 명령어는 도 3에 도시된 바와 같이, DMA 처리 순서와 ID 및메모리 영역 주소를 나타내는 구조로 되어 있으며, 이에 따라서 ID의 개수만큼의 입출력 요구 데이터를 구별할 수 있을 뿐만 아니라, 동일한 ID를 가지고 있는 데이터에 대해서도 DMA 처리 순서 필드에서 표시할 수 있는 수만큼으로 분할되어 있는 메모리 영역(1∼n)에 대한 일괄 처리를 할 수 있다.As shown in FIG. 3, the DMA processing instruction has a structure indicating the DMA processing order and the ID and the memory area address. As a result, the I / O request data can be distinguished as many as the number of IDs, and the same ID can be identified. The data contained therein can also be collectively processed for the memory areas 1 to n divided by the number that can be displayed in the DMA processing order field.

내부버스 인터페이스(440)는 내부버스(430)를 통하여 상기 DMA 처리 명령어를 수신하여 DMA 명령어 FIFO(450)에 순서대로 저장한다.The internal bus interface 440 receives the DMA processing command through the internal bus 430 and stores the DMA processing command in the DMA command FIFO 450 in order.

상기 DMA 명령어 FIFO(450)는 n개의 메모리 영역으로 구성되어 있는 입출력 요구 데이터에 대한 각각의 DMA 처리 명령어를 저장할 수 있도록 그 깊이를 n으로 설정하는 것이 바람직하다.The DMA command FIFO 450 preferably sets the depth to n so as to store each DMA processing command for input / output request data including n memory areas.

DMA 주제어기(460)는 상기 DMA 명령어 FIFO(450)에 순서대로 저장된 DMA 처리 명령어 내용을 참조하여 수신 데이터 FIFO(470)에 DMA 처리 명령어에서 지시하고 있는 입력 요구 데이터를 저장할 수 있는지 확인한 후, 상기 데이터 수신 처리기(410)가 수신한 입력 요구 데이터를 상기 수신 데이터 FIFO(470)에 저장하도록 하고 입력 요구 데이터 저장 결과를 DMA 처리 결과 FIFO(480)에 저장한다.The DMA master controller 460 refers to the contents of the DMA processing instructions stored in the DMA command FIFO 450 in order to confirm that the input request data indicated by the DMA processing instruction can be stored in the received data FIFO 470. The data reception processor 410 stores the received input request data in the received data FIFO 470 and stores the input request data storage result in the DMA processing result FIFO 480.

상기 DMA 주제어기(460)는 상기 DMA 명령어 FIFO(450)에 순서대로 저장된 DMA 처리 명령어 내용을 참조하여 송신 데이터 FIFO(490)에 DMA 처리 명령어에서 지시하고 있는 출력 요구 데이터를 저장할 수 있는지 확인한 다음, 그 결과를 상기 DMA 처리 결과 FIFO(480)에 저장한 후 상기 송신 데이터 FIFO(490)에 출력 요구 데이터가 저장되었는가를 판별하여 출력 요구 데이터가 저장되었으면 출력 요구 데이터 송신 명령을 아래의 데이터 송신 처리기(492)로 출력한다.The DMA master controller 460 refers to the contents of the DMA processing instructions stored in the DMA command FIFO 450 in order to check whether the output request data indicated by the DMA processing instruction can be stored in the transmission data FIFO 490. After the result is stored in the DMA processing result FIFO 480, it is determined whether output request data is stored in the transmission data FIFO 490. If output request data is stored, an output request data transmission command is executed. 492).

외부 버스 인터페이스(491)는 DMA 처리 결과 FIFO(480)에 저장된 내용을 확인하여 상기 수신 데이터 FIFO(470)에 저장된 입력 요구 데이터를 읽어 상기 시스템버스(300)를 통하여 해당 메모리 영역(1∼n)에 저장하거나, 상기 출력 요구 데이터를 상기 시스템버스(300)를 통하여 해당 메모리 영역(1∼n)으로부터 읽어 상기 송신 데이터 FIFO(490)에 저장한다.The external bus interface 491 checks the contents stored in the FIFO 480 as a result of the DMA processing, reads input request data stored in the received data FIFO 470, and stores the corresponding memory area 1 through n through the system bus 300. The output request data is read from the memory areas 1 to n through the system bus 300 and stored in the transmission data FIFO 490.

상기 외부 버스 인터페이스(491)는 입력 요구 데이터를 메모리 영역(1∼n)에 저장하거나 출력 요구 데이터를 메모리 영역(1∼n)으로부터 읽을 때 컴퓨터 시스템의 시스템버스(300) 클럭과 광대역 입출력 장치(400)의 내부버스(430) 클럭의 차이를 자동으로 보상하도록 입출력 요구 데이터 송수신 클럭을 변환한다.The external bus interface 491 stores a system bus 300 clock and a wideband input / output device of a computer system when the input request data is stored in the memory areas 1 to n or the output request data is read from the memory areas 1 to n. The input / output request data transmission / reception clocks are converted to automatically compensate for the difference between the clocks of the internal bus 430 of 400.

데이터 송신 처리기(492)는 상기 DMA 주제어기(460)의 출력 요구 데이터 송신 명령이 입력되면 상기 송신 데이터 FIFO(490)에 저장되어 있는 출력 요구 데이터를 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 송신한다.The data transmission processor 492 transmits the output request data stored in the transmission data FIFO 490 from another computer system connected through a network connection network when the output request data transmission command of the DMA master controller 460 is input.

상기와 같이 구성되는 본 발명에 따른 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치는 다음과 같이 작동한다.The broadband input / output device having a direct memory access function according to the present invention configured as described above operates as follows.

네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 본 발명에 따른 광대역 입출력 장치(400)가 포함된 컴퓨터 시스템으로 데이터 입출력 요구가 입력되면, 상기 데이터 수신 처리기(410)가 데이터 입출력을 위한 DMA 명령어와 입출력 요구 데이터를 다른 컴퓨터 시스템으로부터 수신한 후, 상기 DMA 명령어를 내부버스(430)를 통하여 내부MCU(420)로 전달한다.When a data input / output request is input to a computer system including the broadband input / output device 400 according to the present invention from another computer system connected through a network connection network, the data receiving processor 410 receives DMA command and input / output request data for data input / output. After receiving from the other computer system, the DMA command is transmitted to the internal MCU 420 through the internal bus 430.

이에 따라서, 상기 내부MCU(420)는 데이터 수신 처리기(410)로부터 전달받은 DMA 명령어를 분석하여 DMA 처리 명령어를 새롭게 생성한다.Accordingly, the internal MCU 420 analyzes the DMA command received from the data receiving processor 410 to generate a new DMA processing command.

이때, 상기 내부MCU(420)는 상기 DMA 명령어를 분석하여 DMA 처리 순서를 지정하고, 입출력 요구 데이터를 새로운 크기의 데이터로 분리하여 분리된 데이터의 ID를 부여한 후, ID가 부여된 입력 요구 데이터들이 저장될 메모리 영역 주소를 지정하거나 ID가 부여된 출력 요구 데이터를 읽어올 메모리 영역 주소를 지정하여 DMA 처리 명령어를 새롭게 생성하여 내부버스 인터페이스(440)로 전달하며, 상기 DMA 처리 명령어는 도 3에 도시된 바와 같이, DMA 처리 순서와 ID 및 메모리 영역 주소를 나타내는 구조로 생성된다.At this time, the internal MCU 420 analyzes the DMA command to designate a DMA processing order, divides the input / output request data into data of a new size, assigns an ID of the separated data, and then inputs request data to which the ID is assigned. By specifying a memory area address to be stored or a memory area address to read output request data given with ID, a new DMA processing command is generated and transmitted to the internal bus interface 440. The DMA processing command is illustrated in FIG. As described above, a structure indicating the DMA processing order and the ID and memory area address is generated.

또한, 상기 내부MCU(420)에 의해 DMA 처리 순서와 ID 및 메모리 영역 주소를 나타내는 구조로 된 DMA 처리 명령어가 내부버스 인터페이스(440)로 전달되면, 상기 내부버스 인터페이스(440)는 이 DMA 처리 명령어를 DMA 명령어 FIFO(450)에 순서대로 저장한다.In addition, when the DMA processing instruction having a structure indicating the DMA processing order and ID and memory area address is transmitted to the internal bus interface 440 by the internal MCU 420, the internal bus interface 440 may execute the DMA processing instruction. Are stored in order in the DMA command FIFO 450.

상기와 같이 DMA 명령어 FIFO(450)에 DMA 처리 명령어들이 순서대로 저장되고 나면, 상기 DMA 주제어기(460)는 이 DMA 처리 명령어 내용을 참조하여 수신 데이터 FIFO(470)에 DMA 처리 명령어에서 지시하고 있는 입력 요구 데이터를 저장할 수 있는지 확인한 후, 저장 가능한 상태로 확인되면 상기 데이터 수신 처리기(410)가 수신한 입력 요구 데이터를 상기 수신 데이터 FIFO(470)에 저장하도록 하고 입력 요구 데이터 저장 결과를 DMA 처리 결과 FIFO(480)에 저장한다.After the DMA processing instructions are sequentially stored in the DMA command FIFO 450 as described above, the DMA master controller 460 instructs the received data FIFO 470 in the DMA processing command by referring to the contents of the DMA processing command. After confirming that the input request data can be stored, if it is confirmed that the data can be stored, the data reception processor 410 stores the received input request data in the received data FIFO 470, and stores the input request data storage result as a result of DMA processing. Store in FIFO 480.

이어서, 상기 DMA 주제어기(460)는 상기 DMA 처리 명령어 내용을 참조하여 송신 데이터 FIFO(490)에 DMA 처리 명령어에서 지시하고 있는 출력 요구 데이터를 저장할 수 있는지 확인한 후, 저장 가능한 상태로 확인되면 그 결과를 상기 DMA 처리 결과 FIFO(480)에 저장한다.Subsequently, the DMA master controller 460 checks whether the output request data indicated by the DMA processing instruction can be stored in the transmission data FIFO 490 by referring to the contents of the DMA processing instruction, and if it is confirmed that the data can be stored, the result Is stored in the DMA processing result FIFO 480.

상기와 같이 DMA 처리 결과 FIFO(480)에 입력 요구 데이터 저장 결과와 출력 요구 데이터 저장 가능 상태 결과가 저장되고 나면, 상기 외부 버스 인터페이스(491)는 DMA 처리 결과 FIFO(480)에 저장된 내용을 확인하여 상기 수신 데이터 FIFO(470)에 저장된 입력 요구 데이터를 읽어 시스템버스(300)를 통하여 메모리(200)의 해당 메모리 영역(1∼n)에 저장한다.After the input request data storage result and the output request data storage state result are stored in the DMA processing result FIFO 480 as described above, the external bus interface 491 checks the contents stored in the DMA processing result FIFO 480. The input request data stored in the received data FIFO 470 is read and stored in the memory areas 1 to n of the memory 200 through the system bus 300.

또한, 상기 외부 버스 인터페이스(491)는 DMA 처리 결과 FIFO(480)에 저장된 내용을 확인하여 상기 출력 요구 데이터를 시스템버스(300)를 통하여 메모리(200)의 해당 메모리 영역(1∼n)으로부터 읽어 송신 데이터 FIFO(490)에 저장한다.The external bus interface 491 also checks the contents stored in the FIFO 480 as a result of the DMA processing, and reads the output request data from the corresponding memory areas 1 to n of the memory 200 through the system bus 300. The transmission data is stored in the FIFO 490.

이때, 상기 DMA 주제어기(460)는 상기 송신 데이터 FIFO(490)에 출력 요구 데이터가 저장되었는가를 판별하며, 상기 송신 데이터 FIFO(490)에 출력 요구 데이터가 저장되어 있으면 데이터 송신 처리기(492)로 출력 요구 데이터 송신 명령을 출력하며, 이에 따라서 상기 데이터 송신 처리기(492)는 송신 데이터 FIFO(490)에 저장되어 있는 출력 요구 데이터를 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 송신한다.In this case, the DMA master controller 460 determines whether the output request data is stored in the transmission data FIFO 490. If the output request data is stored in the transmission data FIFO 490, the DMA main controller 460 sends the data to the data transmission processor 492. An output request data transmission command is output, whereby the data transmission processor 492 transmits output request data stored in the transmission data FIFO 490 from another computer system connected through a network connection network.

상술한 바와 같이 본 발명에 따른 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치는 송/수신 데이터 FIFO와 DMA 명령어 FIFO, DMA 처리결과 FIFO를 관리하는 DMA 주제어기의 DMA의 처리 순서 결정을 내부MCU에서 하게 됨으로써 별도의 DMA 처리 순서 결정 회로가 필요하지 않으며, DMA 처리를 DMA 명령어 FIFO에 저장한 순서대로 일관성 있게 할 수 있다.As described above, the broadband I / O device having the direct memory access function according to the present invention allows the internal MCU to determine the processing order of the DMA of the DMA main controller managing the transmit / receive data FIFO, the DMA command FIFO, and the DMA processing result FIFO. This eliminates the need for a separate DMA processing order determining circuit, and allows DMA processing to be consistent in the order in which it is stored in the DMA command FIFO.

본 발명에 따른 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치는 외부 버스 인터페이스가 컴퓨터 시스템의 클럭과 광대역 입출력 장치의 클럭 차이를 자동으로 보상하기 위하여 입출력 요구 데이터 송수신 클럭을 변환해주므로, 이에 대한 내부MCU와 컴퓨터 시스템의 CPU의 동작이 필요치 않아서 데이터 처리 시간지연을 막고 전체적으로 성능이 향상되는 효과를 기대할 수 있다.In the broadband I / O device having the direct memory access function according to the present invention, since the external bus interface automatically converts the I / O request data transmission / reception clock to compensate for the clock difference between the clock of the computer system and the broadband I / O device, the internal MCU for this is And since the operation of the CPU of the computer system is not necessary, it is possible to prevent the data processing time delay and improve the overall performance.

본 발명에 따른 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치는 DAM 명령어 구조가 여러 개의 메모리 영역으로 구성되어 있는 송/수신 데이터를 일괄적으로 처리할 수 있도록 되어 있기 때문에, 메모리 영역 각각마다 DMA 순서 결정 등의 복잡한 동작을 필요로 하지 않아서, 내부MCU와 컴퓨터 시스템의 CPU를 효율적으로 사용할 수 있도록 해 주는 장점이 있다.In the broadband input / output device having the direct memory access function according to the present invention, since the DAM instruction structure can process the transmit / receive data composed of several memory areas, the DMA order is determined for each memory area. Since it does not require complicated operations, the CPU of the internal MCU and the computer system can be efficiently used.

이상에서 설명한 것은 본 발명에 따른 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치 및 그 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is only one embodiment for implementing a broadband input / output device having a direct memory access function and a method thereof according to the present invention, and the present invention is not limited to the above-described embodiment, and the claims Without departing from the gist of the present invention claimed in the scope, anyone of ordinary skill in the art will have the technical spirit of the present invention to the extent that various modifications can be made.

Claims (6)

네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 데이터 입출력을 위한 DMA 명령어와 입출력 요구 데이터를 수신하는 데이터 수신 처리기와;A data receiving processor for receiving DMA commands and input / output request data for data input / output from another computer system connected through a network connection network; 상기 데이터 수신 처리기의 수신 DMA 명령어를 내부버스를 통하여 받아 분석하여 DMA 처리 순서를 지정하고, 입출력 요구 데이터를 새로운 크기의 데이터로 분리하여 분리된 데이터의 ID를 부여한 후, ID가 부여된 입력 요구 데이터들이 저장될 메모리 영역 주소를 지정하거나 ID가 부여된 출력 요구 데이터를 읽어올 메모리 영역 주소를 지정하여 DMA 처리 명령어를 새롭게 생성하는 내부MCU;Receive and analyze the received DMA command of the data receiving processor through the internal bus to specify the DMA processing order, divide the input / output request data into new size data, give the separated data ID, and then input the request data with ID. An internal MCU for newly generating a DMA processing instruction by specifying a memory area address to which data are to be stored or a memory area address to read output request data to which an ID is assigned; 상기 DMA 처리 명령어를 내부버스를 통하여 수신하여 DMA 명령어 FIFO에 순서대로 저장하는 내부버스 인터페이스;An internal bus interface for receiving the DMA processing command through an internal bus and storing the DMA processing command in order in a DMA command FIFO; 상기 DMA 명령어 FIFO에 순서대로 저장된 DMA 처리 명령어 내용을 참조하여 수신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 입력 요구 데이터를 저장할 수 있는지 확인한 후 상기 데이터 수신 처리기가 수신한 입력 요구 데이터를 상기 수신 데이터 FIFO에 저장하도록 하고 입력 요구 데이터 저장 결과를 DMA 처리 결과 FIFO에 저장하며, 송신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 출력 요구 데이터를 저장할 수 있는지 확인한 후 그 결과를 상기 DMA 처리 결과 FIFO에 저장한 다음 상기 송신 데이터 FIFO에 출력 요구 데이터가 저장되었는가를 판별하여 출력 요구 데이터가 저장되었으면 출력 요구 데이터 송신 명령을 출력하는 DMA 주제어기;After confirming that the input request data indicated by the DMA processing instruction can be stored in the received data FIFO by referring to the contents of the DMA processing instructions sequentially stored in the DMA command FIFO, the received data FIFO is inputted to the received request data received by the data receiving processor. Store the input request data storage result in the DMA processing result FIFO, check whether the output request data indicated by the DMA processing instruction can be stored in the transmission data FIFO, and store the result in the DMA processing result FIFO. A DMA master controller that determines whether output request data is stored in the transmission data FIFO and outputs an output request data transmission command if output request data is stored; DMA 처리 결과 FIFO에 저장된 내용을 확인하여 상기 수신 데이터 FIFO에 저장된 입력 요구 데이터를 읽어 시스템버스를 통하여 해당 메모리 영역에 저장하거나, 상기 출력 요구 데이터를 상기 시스템버스를 통하여 해당 메모리 영역으로부터 읽어 상기 송신 데이터 FIFO에 저장하는 외부 버스 인터페이스; 및Check the contents stored in the FIFO as a result of DMA processing, and read the input request data stored in the received data FIFO and store them in the corresponding memory area through the system bus, or read the output request data from the memory area through the system bus and transmit the data. An external bus interface for storing in a FIFO; And 상기 DMA 주제어기의 출력 요구 데이터 송신 명령이 입력되면 상기 송신 데이터 FIFO에 저장되어 있는 출력 요구 데이터를 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 송신하는 데이터 송신 처리기A data transmission processor for transmitting output request data stored in the transmission data FIFO from another computer system connected through a network connection network when an output request data transmission command of the DMA main controller is inputted. 로 구성되는 것을 특징으로 하는 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치.Broadband input and output device with a direct memory access function, characterized in that consisting of. 제 1 항에 있어서, 상기 내부MCU는The method of claim 1, wherein the internal MCU is DMA 처리 순서와 ID 및 메모리 영역 주소를 나타내는 구조로 DMA 처리 명령어를 생성하는 것을 특징으로 하는 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치.A broadband input / output device having a direct memory access function, characterized by generating a DMA processing instruction in a structure representing a DMA processing sequence and an ID and a memory area address. 제 1 항에 있어서, 상기 DMA 명령어 FIFO는The method of claim 1, wherein the DMA command FIFO is n개의 메모리 영역으로 구성되어 있는 입출력 요구 데이터에 대한 각각의 DMA 처리 명령어를 저장할 수 있도록 그 깊이를 n으로 설정하는 것을 특징으로 하는 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치.and a depth thereof is set to n so that each DMA processing instruction for input / output request data consisting of n memory areas can be stored. 제 1 항에 있어서, 상기 외부 버스 인터페이스는The system of claim 1, wherein the external bus interface is 입력 요구 데이터를 메모리 영역에 저장하거나 출력 요구 데이터를 메모리 영역으로부터 읽을 때 컴퓨터 시스템의 시스템버스 클럭과 광대역 입출력 장치의 내부버스 클럭의 차이를 자동으로 보상하도록 입출력 요구 데이터 송수신 클럭을 변환하는 것을 특징으로 하는 직접 메모리 액세스 기능을 구비한 광대역 입출력 장치.When the input request data is stored in the memory area or the output request data is read from the memory area, the input / output request data transmission / reception clocks are converted to automatically compensate for the difference between the system bus clock of the computer system and the internal bus clock of the wideband I / O device. A wideband input / output device having a direct memory access function. 데이터 수신 처리기가 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 데이터 입출력을 위한 DMA 명령어와 입출력 요구 데이터를 수신하는 단계와;Receiving, by a data receiving processor, DMA commands for inputting / outputting data and input / output request data from another computer system connected through a network; 내부MCU가 상기 DMA 명령어를 분석하여 DMA 처리 명령어를 새롭게 생성하는 단계;An internal MCU analyzing the DMA command to generate a new DMA processing command; 내부버스 인터페이스가 상기 DMA 처리 명령어를 DMA 명령어 FIFO에 순서대로 저장하는 단계;An internal bus interface sequentially storing the DMA processing instructions in a DMA instruction FIFO; DMA 주제어기가 상기 DMA 처리 명령어 내용을 참조하여 수신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 입력 요구 데이터를 저장할 수 있는지 확인한후 상기 데이터 수신 처리기가 수신한 입력 요구 데이터를 상기 수신 데이터 FIFO에 저장하도록 하고 입력 요구 데이터 저장 결과를 DMA 처리 결과 FIFO에 저장하는 단계;After confirming that the DMA main controller can store the input request data indicated by the DMA processing instruction in the received data FIFO by referring to the contents of the DMA processing instruction, the data receiving processor stores the input request data received in the received data FIFO. Storing the input request data storage result in a DMA processing result FIFO; DMA 주제어기가 상기 DMA 처리 명령어 내용을 참조하여 송신 데이터 FIFO에 DMA 처리 명령어에서 지시하고 있는 출력 요구 데이터를 저장할 수 있는지 확인한 후 그 결과를 상기 DMA 처리 결과 FIFO에 저장하는 단계;Checking whether a DMA main controller can store the output request data indicated by the DMA processing instruction in the transmission data FIFO by referring to the contents of the DMA processing instruction and storing the result in the DMA processing result FIFO; 외부 버스 인터페이스가 DMA 처리 결과 FIFO에 저장된 내용을 확인하여 상기 수신 데이터 FIFO에 저장된 입력 요구 데이터를 읽어 시스템버스를 통하여 해당 메모리 영역에 저장하는 단계;Checking, by the external bus interface, the contents stored in the DMA processing result FIFO, reading input request data stored in the received data FIFO, and storing the input request data in a corresponding memory area through a system bus; 외부 버스 인터페이스가 DMA 처리 결과 FIFO에 저장된 내용을 확인하여 상기 출력 요구 데이터를 시스템버스를 통하여 해당 메모리 영역으로부터 읽어 송신 데이터 FIFO에 저장하는 단계;Identifying, by an external bus interface, the contents stored in the DMA processing result FIFO, reading the output request data from the corresponding memory area via a system bus, and storing the output request data in the transmission data FIFO; DMA 주제어기가 상기 송신 데이터 FIFO에 출력 요구 데이터가 저장되었는가를 판별하는 단계;Determining, by a DMA main controller, whether output request data is stored in the transmission data FIFO; 상기 송신 데이터 FIFO에 출력 요구 데이터가 저장되어 있으면 DMA 주제어기가 데이터 송신 처리기로 출력 요구 데이터 송신 명령을 출력하는 단계; 및Outputting, by a DMA main controller, an output request data transmission command to a data transmission processor if output request data is stored in the transmission data FIFO; And 데이터 송신 처리기가 상기 DMA 주제어기의 출력 요구 데이터 송신 명령에 의해 상기 송신 데이터 FIFO에 저장되어 있는 출력 요구 데이터를 네트워크 연결망을 통하여 연결된 다른 컴퓨터 시스템으로부터 송신하는 단계Transmitting, by a data transmission processor, output request data stored in the transmission data FIFO from another computer system connected via a network connection network by an output request data transmission command of the DMA master controller; 로 이루어지는 것을 특징으로 하는 광대역 입출력 장치의 직접 메모리 액세스 방법.Direct memory access method of a wideband input / output device, characterized in that consisting of. 제 5 항에 있어서, 상기 내부MCU가 상기 DMA 명령어를 분석하여 DMA 처리 명령어를 새롭게 생성하는 단계에서는The method of claim 5, wherein the internal MCU analyzes the DMA command to generate a new DMA processing command. 상기 데이터 수신 처리기의 수신 DMA 명령어를 내부버스를 통하여 받아 분석하여 DMA 처리 순서를 지정하고, 입출력 요구 데이터를 새로운 크기의 데이터로 분리하여 분리된 데이터의 ID를 부여한 후, ID가 부여된 입력 요구 데이터들이 저장될 메모리 영역 주소를 지정하거나 ID가 부여된 출력 요구 데이터를 읽어올 메모리 영역 주소를 지정하여 DMA 처리 명령어를 새롭게 생성하는 것을 특징으로 하는 광대역 입출력 장치의 직접 메모리 액세스 방법.Receive and analyze the received DMA command of the data receiving processor through the internal bus to specify the DMA processing order, divide the input / output request data into new size data, give the separated data ID, and then input the request data with ID. Direct memory access method of a wideband input / output device, characterized in that a new DMA processing instruction is generated by specifying a memory area address to which data is stored or a memory area address from which output request data given an ID is read.
KR10-2002-0082899A 2002-12-23 2002-12-23 High-bandwidth I/O device with direct memory access and method thereof KR100460994B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082899A KR100460994B1 (en) 2002-12-23 2002-12-23 High-bandwidth I/O device with direct memory access and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082899A KR100460994B1 (en) 2002-12-23 2002-12-23 High-bandwidth I/O device with direct memory access and method thereof

Publications (2)

Publication Number Publication Date
KR20040056297A KR20040056297A (en) 2004-06-30
KR100460994B1 true KR100460994B1 (en) 2004-12-09

Family

ID=37348694

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0082899A KR100460994B1 (en) 2002-12-23 2002-12-23 High-bandwidth I/O device with direct memory access and method thereof

Country Status (1)

Country Link
KR (1) KR100460994B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101116613B1 (en) * 2006-12-29 2012-03-07 삼성전자주식회사 Apparatus and method for memory access control
US8650335B2 (en) * 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions

Also Published As

Publication number Publication date
KR20040056297A (en) 2004-06-30

Similar Documents

Publication Publication Date Title
CN106874224B (en) Multi-line SPI-Flash controller capable of automatically carrying and adapting to device
US5063494A (en) Programmable data communications controller
EP1217602A2 (en) Updating image frames in a display device comprising a frame buffer
US7644207B2 (en) High speed bus for isolated data acquisition applications
US6889266B1 (en) Method for delivering packet boundary or other metadata to and from a device using direct memory controller
KR20210033996A (en) Integrated address space for multiple hardware accelerators using dedicated low-latency links
JP4761487B2 (en) Bus architecture and information processing apparatus using the same
CN111149097B (en) Master chip, slave chip and DMA transmission system between chips
JPH11126182A (en) Device and method for communications between computer buses
US20060184708A1 (en) Host controller device and method
KR100460994B1 (en) High-bandwidth I/O device with direct memory access and method thereof
US20170308487A1 (en) Data transfer control system, data transfer control method, and program storage medium
JP2008502977A (en) Interrupt method for bus controller
JPH1040215A (en) Pci bus system
CN109992560B (en) Communication method and communication system
US6665752B1 (en) Interrupt driven interface coupling a programmable media access controller and a process controller
KR100591243B1 (en) On-chip serialized peripheral bus system and operating method thereof
KR20060112349A (en) Bus system and bus data processing method for system on chip
EP2800003B1 (en) Method and device for realizing end-to-end hardware message passing
US10529396B2 (en) Preinstall of partial store cache lines
US20230106923A1 (en) Storage system
KR101116613B1 (en) Apparatus and method for memory access control
KR100306281B1 (en) Method for multi-dsp processing service in vms
KR100737904B1 (en) interface device between master/slave devices and method thereof
JP6138482B2 (en) Embedded system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081202

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee