KR20150130385A - 데이터 전송 장치 및 데이터 전송 방법 - Google Patents

데이터 전송 장치 및 데이터 전송 방법 Download PDF

Info

Publication number
KR20150130385A
KR20150130385A KR1020157027827A KR20157027827A KR20150130385A KR 20150130385 A KR20150130385 A KR 20150130385A KR 1020157027827 A KR1020157027827 A KR 1020157027827A KR 20157027827 A KR20157027827 A KR 20157027827A KR 20150130385 A KR20150130385 A KR 20150130385A
Authority
KR
South Korea
Prior art keywords
descriptor information
descriptor
information
transmission
unit
Prior art date
Application number
KR1020157027827A
Other languages
English (en)
Other versions
KR101749850B1 (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 미쓰비시덴키 가부시키가이샤
Publication of KR20150130385A publication Critical patent/KR20150130385A/ko
Application granted granted Critical
Publication of KR101749850B1 publication Critical patent/KR101749850B1/ko

Links

Images

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Abstract

디스크립터 체인의 모두를 1회의 기동으로 전송할 수 없는 경우에 있어서, 데이터 전송을 고속으로 행하는 것을 목적으로 한다. DMA 제어 장치(100)에서는, 전송 기동 신호(16)가 어서트되면, 디스크립터 정보 제어부(120)가 디스크립터 정보 기억부(110)로부터 디스크립터 정보를 차례로 판독하고, 판독된 디스크립터 정보의 수가 전송 가능 프레임 수 17과 동일한 경우에는 후방 스킵 제어부(131)가 후방 스킵 지시(18)를 출력한다. 디스크립터 정보 제어부(120)는, 후방 스킵 지시(18)가 출력된 경우에는, 나머지의 상기 디스크립터 정보의 판독을 스킵한다.

Description

데이터 전송 장치 및 데이터 전송 방법{DATA TRANSFER DEVICE AND DATA TRANSFER METHOD}
본 발명은, 디스크립터 체인(descriptor chain)을 구성함으로써, 1회의 전송 기동으로 복수 프레임의 데이터를 전송하는 것이 가능한 DMA(Direct Memory Access) 제어 장치에 관한 것이다.
디스크립터 체인을 구성하여 DMA 전송을 행하는 경우, 레지스터 또는 메모리에 디스크립터 정보를 설정해 두고, 제어 회로가 디스크립터 정보를 판독하고, 판독한 디스크립터 정보에 따라서 DMA 전송을 실행하는 것이 일반적이다. 디스크립터 정보는, 전송원의 선두 어드레스, 전송 프레임 사이즈, 다음 디스크립터 번호(어드레스), 최종 디스크립터 플래그라고 하는 정보를 포함하고 있다.
DMA 전송을 행함에 있어, 1회의 기동으로 전송할 수 있는 프레임의 수에 제한이 있는 경우 등, 디스크립터 체인의 모두를 1회의 기동으로 전송할 수 없는 경우가 있다.
특허문헌 1에는, 디스크립터 정보 내에 DMA 전송을 행하는지 여부를 나타내는 1 bit의 값을 추가하고, 제어 회로는 판독한 값이 전송되지 않음을 나타내는 경우는, 해당 프레임의 전송을 행하지 않고 다음의 디스크립터 정보를 판독하는 동작으로 이행하는 것에 대하여 기재되어 있다.
일본 공개 특허 공보 제 1995-36806 호
특허문헌 1에 기재된 방법을 이용하여, 전송할 수 없는 프레임의 전송을 하지 않도록 설정하는 경우, 전송하지 않는 프레임에 대해서도 디스크립터 정보를 판독하지 않으면 안 된다. 그 때문에, 특히 전송하지 않는 프레임이 다수 있는 경우에 여분의 시간을 필요로 하게 되어 버린다.
본 발명은, 디스크립터 체인의 모두를 1회의 기동으로 전송할 수 없는 경우에 있어서, 데이터 전송을 고속으로 행하는 것을 목적으로 한다.
본 발명에 따른 데이터 전송 장치는,
데이터 전송의 제어 정보를 포함하는 디스크립터 정보를 기억하는 디스크립터 정보 기억부와,
전송 기동 신호가 어서트(assert)되면, 상기 디스크립터 정보 기억부에 의해서 기억된 디스크립터 정보를 차례로 판독하는 디스크립터 정보 판독부와,
상기 디스크립터 정보 판독부에 의해서 판독된 디스크립터 정보의 수를 카운트하여, 카운트한 수가 미리 정해진 전송 가능 프레임 수 이하인 동안은 상기 디스크립터 정보에 포함되는 제어 정보를 출력함과 아울러, 카운트한 수가 상기 전송 가능 프레임 수와 동일하게 된 경우에는 후방 스킵(backward skip) 지시를 출력하는 전송 판정부와,
상기 전송 판정부에 의해서 출력된 제어 정보에 따라, 데이터 전송하는 데이터 전송부
를 구비하되,
상기 디스크립터 정보 판독부는, 상기 전송 판정부에 의해서 후방 스킵 지시가 출력된 경우에는, 나머지의 상기 디스크립터 정보의 판독을 스킵하는 것을 특징으로 한다.
본 발명에 따른 데이터 전송 장치는, 전송 가능 프레임 수까지 프레임을 전송하면, 그 이후의 프레임의 디스크립터 정보를 판독하지 않고 스킵한다. 그 때문에, 불필요한 디스크립터 정보의 판독을 하지 않는 것만큼, 전송 시간을 단축할 수 있다.
도 1은 실시의 형태 1에 따른 DMA 제어 장치(100)의 기능을 나타내는 블럭도.
도 2는 실시의 형태 1에 따른 DMA 제어 장치(100)의 동작의 설명도.
도 3은 실시의 형태 2에 따른 DMA 제어 장치(100)의 기능을 나타내는 블럭도.
도 4는 실시의 형태 2에 따른 DMA 제어 장치(100)의 동작의 설명도.
도 5는 실시의 형태 3에 따른 DMA 제어 장치(100)의 기능을 나타내는 블럭도.
도 6은 실시의 형태 3에 따른 DMA 제어 장치(100)의 동작의 설명도.
도 7은 실시의 형태 4에 따른 DMA 제어 장치(100)의 동작의 설명도.
도 8은 실시의 형태 4에 따른 DMA 제어 장치(100)의 동작의 설명도.
도 9는 실시의 형태 4에 따른 DMA 제어 장치(100)의 동작의 설명도.
실시의 형태 1.
실시의 형태 1에서는, 전송 가능한 프레임 수만큼의 디스크립터 정보가 판독된 경우에는, 이후의 프레임의 디스크립터 정보를 판독하지 않고 스킵하는 DMA 제어 장치(100)에 대해 설명한다.
도 1은 실시의 형태 1에 따른 DMA 제어 장치(100)(데이터 전송 장치)의 기능을 나타내는 블럭도이다.
DMA 제어 장치(100)는, 디스크립터 정보 기억부(110), 디스크립터 정보 제어부(120)(디스크립터 정보 판독부), 전송 판정부(130), 데이터 전송부(140)를 구비한다. 또, 전송 판정부(130)는 후방 스킵 제어부(131)를 구비한다.
디스크립터 정보 기억부(110)는, 전송원의 선두 어드레스, 전송 프레임 사이즈, 다음 디스크립터 번호(어드레스), 전송 완료인지 여부를 나타내는 전송 완료 플래그, 최종 디스크립터 플래그 등을 포함하는 디스크립터 정보를 기억하는 메모리이다.
디스크립터 정보 제어부(120)는, 디스크립터 정보 기억부(110)에 대해서, 라이트 인에이블 신호(write enable)(11)와 기록 목적지(write destination) 어드레스(13)와 라이트 데이터(14)를, 기동시 또는 임의의 타이밍에 출력하고, 디스크립터 정보 기억부(110)에 디스크립터 정보를 기입한다.
또, 디스크립터 정보 제어부(120)는, 전송 기동 신호(16)가 어서트되면, 디스크립터 정보 기억부(110)에 대해서, 리드 인에이블(read enable) 신호(12)와 판독 목적지(read destination) 어드레스(13)를 출력하고, 디스크립터 정보 기억부(110)로부터 리드 데이터(15)로서 디스크립터 정보를 판독한다.
전송 판정부(130)는, 디스크립터 정보 제어부(120) 의해 판독된 리드 데이터(15) 내의 전송 완료 플래그에 근거하여, 프레임 전송을 행하는지 여부를 판정한다. 전송 판정부(130)는, 전송 완료 플래그가 0인 경우에는 프레임 전송을 행하는 것으로 판정하고, 데이터 전송부(140)에 대해서 전송 지시 신호(19)와 제어 정보(20)(선두 어드레스, 프레임 사이즈)를 출력한다. 한편, 전송 판정부(130)는, 전송 완료 플래그가 1인 경우에는 프레임 전송을 행하지 않는 것으로 판정하고, 전송 지시 신호(19)와 제어 정보(20)를 출력하지 않는다.
또, 전송 지시 신호(19)는 디스크립터 정보 기억부(110)에도 출력되고, 전송이 행해진 프레임에 대응하는 디스크립터 정보의 전송 완료 플래그를 0에서 1로 변화시킨다.
후방 스킵 제어부(131)는, 전송 기동 신호(16)가 어서트된 직후부터, 디스크립터 정보 제어부(120)에 의해서 판독된 디스크립터 정보 중, 전송 완료 플래그가 0인 디스크립터 정보의 수(즉, 전송되는 프레임의 수)를 카운트한다. 후방 스킵 제어부(131)는, 판독된 디스크립터 정보의 수가 CPU로부터 어서트된 전송 가능 프레임 수 17과 일치하면, 디스크립터 정보 제어부(120)에 대해서 후방 스킵 지시(18)를 어서트한다.
디스크립터 정보 제어부(120)는, 후방 스킵 지시(18)가 어서트되면, 다음회 이후의 디스크립터 정보 기억부(110)로부터의 판독을 스킵하고, 최종 디스크립터 정보를 판독한다.
도 2는 실시의 형태 1에 따른 DMA 제어 장치(100)의 동작의 설명도이다.
표 200은 디스크립터 정보 기억부(110)가 기억한 정보를 나타낸다.
각 디스크립터 정보에는, 디스크립터 번호를 할당되어 있고, 각 디스크립터 정보에는, 다음에 판독하는 디스크립터의 번호를 나타내는 다음 디스크립터 번호와, 전송원의 선두 어드레스와, 전송 사이즈와, 전송 완료 플래그가 포함되어 있다.
또, 다음 디스크립터 번호가 Last로 되어 있는 디스크립터 정보는, 최후에 판독되는 최종 디스크립터 정보이다. 여기에서는, 다음 디스크립터 번호가, 최종 디스크립터 정보를 나타내는 최종의 디스크립터 플래그를 겸하고 있다.
도 2에서는, 디스크립터 정보 기억부(110)에 저장 가능한 디스크립터의 수는 32개이다.
도 2에서는, 디스크립터 번호 2부터 전송이 개시되면, 디스크립터 번호 8까지 차례로 전송된다. 디스크립터 번호 8의 다음 디스크립터 번호는 23이므로, 디스크립터 번호 8의 다음에 디스크립터 번호 23이 전송된다. 디스크립터 번호 27까지 전송된 후, 디스크립터 번호 14가 전송된다. 디스크립터 번호 19까지 전송된 후, 최종 디스크립터 정보인 디스크립터 번호 31로 점프하여 종료한다. 여기까지가 디스크립터 번호 2부터 시작되는 디스크립터 체인의 일련의 동작이다.
배열 201은, 디스크립터 체인 순서로 디스크립터 번호를 배열한 것이다.
1회의 전송 기동으로 전송 가능한 프레임 수를 8로 제한한 것으로 한다. 이 경우, 디스크립터 정보 제어부(120)는, 화살표 202와 같이 디스크립터 번호 23까지 차례로 디스크립터 정보를 판독한다. 그리고, 전송 판정부(130)는, 판독된 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는, 제어 정보(142)에 따라 데이터 전송을 행한다.
디스크립터 번호 23의 디스크립터 정보가 판독되면, 판독된 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 후방 스킵 제어부(131)는 후방 스킵 지시(18)를 어서트한다. 그러면, 디스크립터 정보 제어부(120)는, 점선 203과 같이 이후의 판독을 최후 디스크립터 번호 31까지 스킵한다.
또, 전송이 행해진 프레임에 대응하는 디스크립터 정보의 전송 완료 플래그는 0에서 1로 변화하고, 다음회 이후의 기동에서는 전송이 행해지지 않는다.
여기에서는, 디스크립터 번호 31의 최종 디스크립터 정보는, 전송 프레임 수제한의 대상 외로 하고, 반드시 최후에 판독된다. 그러나, 반드시 이와 같이 되어 있을 필요는 없다.
이상과 같이, 실시의 형태 1에 따른 DMA 제어 장치(100)는, 전송 가능한 프레임 수만큼의 디스크립터 정보가 판독된 경우에는, 후방 스킵 지시(18)를 어서트 하고, 이후의 프레임의 디스크립터 정보를 판독하지 않고 스킵한다. 이것에 의해, 불필요한 판독 시간을 삭감할 수 있다.
실시의 형태 2.
실시의 형태 2에서는, 전회 기동시까지 전송한 프레임의 디스크립터 정보를 판독하지 않고 스킵하는 DMA 제어 장치(100)에 대해 설명한다.
도 3은, 실시의 형태 2에 따른 DMA 제어 장치(100)의 기능을 나타내는 블럭도이다.
도 3에 나타내는 DMA 제어 장치(100)는, 전송 판정부(130)가 후방 스킵 제어부(131)가 아니고, 전방 스킵 제어부(132)를 구비한 점이, 도 1에 나타내는 DMA 제어 장치(100)와 상이하다.
전방 스킵 제어부(132)는, 전송 기동 신호(16)가 어서트된 직후부터, 디스크립터 정보 제어부(120)에 의해서 판독된 디스크립터 정보의 수(즉, 전송되는 프레임의 수)를 카운트한다. 전방 스킵 제어부(132)는, 판독된 디스크립터 정보의 수가 CPU로부터 어서트된 전송 가능 프레임 수 17과 일치하면, 디스크립터 정보에 포함되는 다음 디스크립터 번호를, 다음회 기동시 선두 어드레스 21로서 디스크립터 정보 제어부(120)에 대해서 출력한다.
디스크립터 정보 제어부(120)는, 새롭게 전송 기동 신호(16)가 어서트된 경우, 다음회 기동시 선두 어드레스 21을 디스크립터 정보 기억부(110)의 판독 개시 어드레스로 한다.
도 4는 실시의 형태 2에 따른 DMA 제어 장치(100)의 동작의 설명도이다.
표 210은 디스크립터 정보 기억부(110)가 기억한 정보를 나타낸다. 도 4에 나타내는 표 210은, 전송 완료 플래그가 없는 점이, 도 2에 나타내는 표 200과 상이하다.
배열 211은, 디스크립터 체인 순서로 디스크립터 번호를 배열한 것이다.
1회의 전송 기동으로 전송 가능한 프레임 수를 8로 제한한 것으로 한다. 이 경우, 디스크립터 정보 제어부(120)는, 최종 디스크립터 번호 31까지 차례로 디스크립터 정보를 판독한다.
디스크립터 번호 23의 디스크립터 정보가 판독되면, 판독된 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전송 판정부(130)는, 디스크립터 번호 23의 디스크립터 정보까지, 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는 제어 정보(142)에 따라 데이터 전송을 행한다. 또, 전방 스킵 제어부(132)는, 디스크립터 번호 23의 디스크립터 정보에 포함되는 다음 디스크립터 번호 24를 다음회 기동시 선두 어드레스 21로서 출력한다.
2번째의 전송 기동에서는, 디스크립터 정보 제어부(120)는, 다음회 기동시 선두 어드레스 21에 따라, 점선 212와 같이 디스크립터 번호 23까지 디스크립터 정보의 판독을 스킵하고, 화살표 213과 같이 디스크립터 번호 24부터 판독을 개시한다. 디스크립터 정보 제어부(120)는, 화살표 213과 같이 디스크립터 번호 24부터 최종 디스크립터 정보인 디스크립터 번호 31까지 차례로 디스크립터 정보를 판독한다.
디스크립터 번호 17의 디스크립터 정보가 판독되면, 판독된 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전송 판정부(130)는, 디스크립터 번호 17의 디스크립터 정보까지, 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는 제어 정보(142)에 따라 데이터 전송을 행한다. 또, 전방 스킵 제어부(132)는, 디스크립터 번호 17의 디스크립터 정보에 포함되는 다음 디스크립터 번호 18을 다음회 기동시 선두 어드레스 21로서 출력한다.
이상과 같이, 실시의 형태 2에 따른 DMA 제어 장치(100)는, 전회 기동시까지 전송한 프레임의 디스크립터 정보를 판독하지 않고 스킵한다.
이것에 의해, 불필요한 판독 시간을 삭감할 수 있다.
실시의 형태 3.
실시의 형태 3에서는, 실시의 형태 1, 2의 양쪽의 기능을 갖는 DMA 제어 장치(100)에 대해 설명한다.
도 5는 실시의 형태 3에 따른 DMA 제어 장치(100)의 기능을 나타내는 블럭도이다.
도 5에 나타내는 DMA 제어 장치(100)는, 전송 판정부(130)가 후방 스킵 제어부(131)가 아니라, 전후방 스킵 제어부(133)를 구비한 점이, 도 1에 나타내는 DMA 제어 장치(100)와 상이하다.
전후방 스킵 제어부(133)는, 전송 기동 신호(16)가 어서트된 직후부터, 디스크립터 정보 제어부(120)에 의해서 판독된 디스크립터 정보의 수(즉, 전송되는 프레임의 수)를 카운트한다. 전후방 스킵 제어부(133)는, 판독된 디스크립터 정보의 수가 CPU로부터 어서트된 전송 가능 프레임 수 17과 일치하면, 디스크립터 정보 제어부(120)에 대해서 후방 스킵 지시(18)를 어서트한다. 또, 전후방 스킵 제어부(133)는, 판독한 디스크립터 정보의 수가 CPU로부터 어서트된 전송 가능 프레임 수 17과 일치하면, 디스크립터 정보에 포함되는 다음 디스크립터 번호를, 다음회 기동시 선두 어드레스 21로서 디스크립터 정보 제어부(120)에 대해서 출력한다.
디스크립터 정보 제어부(120)는, 후방 스킵 지시(18)가 어서트되면, 다음회 이후의 디스크립터 정보 기억부(110)로부터의 판독을 스킵하고, 최종 디스크립터 정보를 판독한다. 또, 디스크립터 정보 제어부(120)는, 새롭게 전송 기동 신호(16)가 어서트된 경우, 다음회 기동시 선두 어드레스 21을 디스크립터 정보 기억부(110)의 판독 개시 어드레스로 한다.
도 6은 실시의 형태 3에 따른 DMA 제어 장치(100)의 동작의 설명도이다.
표 220은 디스크립터 정보 기억부(110)가 기억한 정보를 나타낸다. 도 6에 나타내는 표 220은 도 4에 나타내는 표 210과 동일하다.
배열 221은 디스크립터 체인 순서로 디스크립터 번호를 배열한 것이다.
1회의 전송 기동으로 전송 가능한 프레임 수를 8로 제한한 것으로 한다. 이 경우, 디스크립터 정보 제어부(120)는, 디스크립터 번호 23까지 차례로 디스크립터 정보를 판독한다. 그리고, 전송 판정부(130)는, 판독된 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는, 제어 정보(142)에 따라 데이터 전송을 행한다.
디스크립터 번호 23의 디스크립터 정보가 판독되면, 판독된 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전후방 스킵 제어부(133)는, 후방 스킵 지시(18)를 어서트함과 아울러, 디스크립터 번호 23의 디스크립터 정보에 포함되는 다음 디스크립터 번호 24를 다음회 기동시 선두 어드레스 21로서 출력한다. 그러면, 디스크립터 정보 제어부(120)는, 이후의 판독을 최후의 디스크립터 번호 31까지 스킵한다.
2번째의 전송 기동에서는, 디스크립터 정보 제어부(120)는, 다음회 기동시 선두 어드레스 21에 따라, 점선 222와 같이 디스크립터 번호 23까지 디스크립터 정보의 판독을 스킵하고, 화살표 223과 같이 디스크립터 번호 24부터 판독을 개시한다. 디스크립터 정보 제어부(120)는, 화살표 223과 같이 디스크립터 번호 24부터 디스크립터 번호 17까지 차례로 디스크립터 정보를 판독한다. 그리고, 전송 판정부(130)는, 판독된 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는 제어 정보(142)에 따라 데이터 전송을 행한다.
디스크립터 번호 17의 디스크립터 정보가 판독되면, 판독된 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전후방 스킵 제어부(133)는, 후방 스킵 지시(18)를 어서트함과 아울러, 디스크립터 번호 17의 디스크립터 정보에 포함되는 다음 디스크립터 번호 18을 다음회 기동시 선두 어드레스 21로서 출력한다. 그러면, 디스크립터 정보 제어부(120)는, 점선 224와 같이 이후의 판독을 최후의 디스크립터 번호 31까지 스킵한다.
이상과 같이, 실시의 형태 3에 따른 DMA 제어 장치(100)는, 전송 가능한 프레임 수만큼의 디스크립터 정보가 판독된 경우에는, 후방 스킵 지시(18)를 어서트하고, 이후의 프레임의 디스크립터 정보를 판독하지 않고 스킵한다. 또, 실시의 형태 3에 따른 DMA 제어 장치(100)는, 전회 기동시까지 전송한 프레임의 디스크립터 정보를 판독하지 않고 스킵한다. 이것에 의해, 불필요한 판독 시간을 삭감할 수 있다.
실시의 형태 4.
실시의 형태 4에서는, 반드시 전송할 필요가 있는 종별의 프레임은 반드시 전송하고, 1회의 전송 기동으로 반드시 모든 프레임을 전송하지 않아도 좋은 종별의 프레임의 전송을 일부 스킵하는 DMA 제어 장치(100)에 대해 설명한다.
도 7은 실시의 형태 4에 따른 DMA 제어 장치(100)의 동작의 설명도이다. 도 7에서는, 도 1에 나타내는 실시의 형태 1에 따른 DMA 제어 장치(100)의 경우의 동작을 나타낸다.
표 230은 디스크립터 정보 기억부(110)가 기억한 정보를 나타낸다. 도 7에 나타내는 표 230은, 프레임 종별이 추가되어 있는 점이, 도 2에 나타내는 표 200과 상이하다.
여기에서는, 프레임 종별 β만이, 전송 가능 프레임 수 17에 의해서 1회의 전송 기동으로 전송하는 프레임 수에 제한이 걸리고, 그 이외의 종별의 프레임은 매회 전송하는 것으로 한다.
배열 231은 디스크립터 체인 순서로 디스크립터 번호를 배열한 것이다.
1회의 전송 기동으로 전송 가능한 프레임 수를 4로 제한한 것으로 한다. 이 경우, 화살표 232와 같이, 디스크립터 정보 제어부(120)는, 디스크립터 번호 2부터 디스크립터 번호 8까지 차례로 프레임 종별 α의 디스크립터 정보를 판독한다. 또, 화살표 233과 같이, 디스크립터 정보 제어부(120)는, 디스크립터 번호 23부터 디스크립터 번호 26까지 차례로 프레임 종별 β의 디스크립터 정보를 판독한다. 그리고, 전송 판정부(130)는, 판독된 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는 제어 정보(142)에 따라 데이터 전송을 행한다.
디스크립터 번호 26의 디스크립터 정보가 판독되면, 판독한 프레임 종별 β이고 전송 완료 플래그 0인 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 후방 스킵 제어부(131)는 후방 스킵 지시(18)를 어서트한다. 그러면, 디스크립터 정보 제어부(120)는, 점선 234와 같이 이후의 판독을 최후의 디스크립터 번호 31까지 스킵한다.
또, 전송이 행해진 프레임에 상당하는 디스크립터 정보의 전송 완료 플래그는 0에서 1로 변화하고, 다음회 이후의 기동에서는 프레임 전송을 행하지 않는다.
도 8은 실시의 형태 4에 따른 DMA 제어 장치(100)의 동작의 설명도이다. 도 8에서는, 도 3에 나타내는 실시의 형태 2에 따른 DMA 제어 장치(100)의 경우의 동작을 나타낸다.
표 240은 디스크립터 정보 기억부(110)가 기억한 정보를 나타낸다. 도 8에 나타내는 표 240은, 프레임 종별이 추가되어 있는 점이, 도 4에 나타내는 표 210과 상이하다.
여기에서는, 프레임 종별 β만이, 전송 가능 프레임 수 17에 의해서 1회의 전송 기동으로 전송하는 프레임 수에 제한이 걸리고, 그 이외의 종별의 프레임은 매회 전송하는 것으로 한다.
배열 241은 디스크립터 체인 순서로 디스크립터 번호를 배열한 것이다.
1회의 전송 기동으로 전송 가능한 프레임 수를 4로 제한한 것으로 한다. 이 경우, 디스크립터 정보 제어부(120)는, 최종 디스크립터 번호 31까지 차례로 디스크립터 정보를 판독한다.
디스크립터 번호 26의 디스크립터 정보가 판독되면, 판독한 프레임 종별 β의 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전송 판정부(130)는, 디스크립터 번호 26의 디스크립터 정보까지, 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는, 제어 정보(142)에 따라 데이터 전송을 행한다. 또, 전방 스킵 제어부(132)는, 디스크립터 번호 26의 디스크립터 정보에 포함되는 다음 디스크립터 번호 27을 다음회 기동시 선두 어드레스 21로서 출력한다.
2번째의 전송 기동에서는, 디스크립터 정보 제어부(120)는, 화살표 242와 같이, 디스크립터 번호 2에서 8까지 프레임 종별 α의 디스크립터 정보를 판독한다. 또, 디스크립터 정보 제어부(120)는, 다음회 기동시 선두 어드레스 21에 따라, 점선 243과 같이 디스크립터 번호 26까지 디스크립터 정보의 판독을 스킵하고, 화살표 244와 같이 디스크립터 번호 27부터 판독을 개시한다. 디스크립터 정보 제어부(120)는, 화살표 244와 같이 디스크립터 번호 27부터 최종 디스크립터 정보인 디스크립터 번호 31까지 차례로 디스크립터 정보를 판독한다.
디스크립터 번호 16의 디스크립터 정보가 판독되면, 판독한 프레임 종별 β의 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전송 판정부(130)는, 디스크립터 번호 16의 디스크립터 정보까지, 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는 제어 정보(142)에 따라 데이터 전송을 행한다. 또, 전방 스킵 제어부(132)는, 디스크립터 번호 16의 디스크립터 정보에 포함되는 다음 디스크립터 번호 17을 다음회 기동시 선두 어드레스 21로서 출력한다.
도 9는 실시의 형태 4에 따른 DMA 제어 장치(100)의 동작의 설명도이다. 도 9에서는, 도 5에 나타내는 실시의 형태 3에 따른 DMA 제어 장치(100)의 경우의 동작을 나타낸다.
표 250은 디스크립터 정보 기억부(110)가 기억한 정보를 나타낸다. 도 9에 나타내는 표 250은, 프레임 종별이 추가되어 있는 점이, 도 6에 나타내는 표 220과 상이하다.
여기에서는, 프레임 종별 β만이, 전송 가능 프레임 수 17에 의해서 1회의 전송 기동으로 전송하는 프레임 수에 제한이 걸리고, 그 이외의 종별의 프레임은 매회 전송하는 것으로 한다.
배열 251은 디스크립터 체인 순서로 디스크립터 번호를 배열한 것이다.
1회의 전송 기동으로 전송 가능한 프레임 수를 4로 제한한 것으로 한다. 이 경우, 디스크립터 정보 제어부(120)는, 디스크립터 번호 2부터 디스크립터 번호 8까지 차례로 프레임 종별 α의 디스크립터 정보를 판독한다. 또, 디스크립터 정보 제어부(120)는, 디스크립터 번호 23부터 디스크립터 번호 26까지 차례로 프레임 종별 β의 디스크립터 정보를 판독한다. 그리고, 전송 판정부(130)는, 판독된 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는 제어 정보(142)에 따라 데이터 전송을 행한다.
디스크립터 번호 26의 디스크립터 정보가 판독되면, 판독된 프레임 종별 β의 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전후방 스킵 제어부(133)는, 후방 스킵 지시(18)를 어서트함과 아울러, 디스크립터 번호 26의 디스크립터 정보에 포함되는 다음 디스크립터 번호 27을 다음회 기동시 선두 어드레스 21로서 출력한다. 그러면, 디스크립터 정보 제어부(120)는 이후의 판독을 최후의 디스크립터 번호 31까지 스킵한다.
2번째의 전송 기동에서는, 디스크립터 정보 제어부(120)는, 화살표 252와 같이, 디스크립터 번호 2에서 8까지 프레임 종별 α의 디스크립터 정보를 판독한다. 또, 디스크립터 정보 제어부(120)는, 다음회 기동시 선두 어드레스 21에 따라, 점선 253과 같이 디스크립터 번호 26까지 디스크립터 정보의 판독을 스킵하고, 화살표 254와 같이 디스크립터 번호 27부터 판독을 개시한다. 디스크립터 정보 제어부(120)는, 화살표 254와 같이 디스크립터 번호 27부터 디스크립터 번호 16까지 차례로 디스크립터 정보를 판독한다. 그리고, 전송 판정부(130)는, 판독된 디스크립터 정보에 포함되는 제어 정보(142)를 데이터 전송부(140)로 출력하고, 데이터 전송부(140)는 제어 정보(142)에 따라 데이터 전송을 행한다.
디스크립터 번호 16의 디스크립터 정보가 판독되면, 판독된 프레임 종별 β의 디스크립터 정보의 수와 전송 가능 프레임 수 17이 일치한다. 그 때문에, 전후방 스킵 제어부(133)는, 후방 스킵 지시(18)를 어서트함과 아울러, 디스크립터 번호 16의 디스크립터 정보에 포함되는 다음 디스크립터 번호 17을 다음회 기동시 선두 어드레스 21로서 출력한다. 그러면, 디스크립터 정보 제어부(120)는, 점선 255와 같이 이후의 판독을 최후의 디스크립터 번호 31까지 스킵한다.
이상과 같이, 실시의 형태 4에 따른 DMA 제어 장치(100)는, 반드시 전송할 필요가 있는 종별의 프레임은 전송하고, 1회의 전송 기동으로 반드시 모든 프레임을 전송하지 않아도 되는 종별의 프레임의 전송을 일부 스킵할 수 있다.
이상으로 설명한 상기 실시의 형태에 있어서의 「디스크립터 정보 제어부(120)」, 「전송 판정부(130)」, 「후방 스킵 제어부(131)」, 「전방 스킵 제어부(132)」, 「전후방 스킵 제어부(133)」, 「데이터 전송부(140)」의 각 「~부」는, 회로나 소프트웨어나 하드웨어로 구성된다. 그 때문에, 각 「~부」를, 「~회로」로 바꿔서 읽어도 좋다. 또, 각 「~부」를, 「~처리」, 「~프로그램」, 「~수단」, 「~순서」, 「~기능」, 「~장치」, 「~기기」로 바꿔서 읽어도 좋다.
각 「~부」가 소프트웨어로 구성되는 경우, 각 「~부」는 RAM(Random Access Memory) 등의 기억 장치에 기억되고, CPU(Central Processing Unit)나 연산 회로 등의 처리 장치에 의해서 판독되어 실행된다.
100 : DMA 제어 장치 110 : 디스크립터 정보 기억부
120 : 디스크립터 정보 제어부 130 : 전송 판정부
131 : 후방 스킵 제어부 132 : 전방 스킵 제어부
133 : 전후방 스킵 제어부 140 : 데이터 전송부

Claims (5)

  1. 데이터 전송의 제어 정보를 포함하는 디스크립터(descriptor) 정보를 기억하는 디스크립터 정보 기억부와,
    전송 기동 신호가 어서트(assert)되면, 상기 디스크립터 정보 기억부에 의해서 기억된 디스크립터 정보를 차례로 판독하는 디스크립터 정보 판독부와,
    상기 디스크립터 정보 판독부에 의해서 판독된 디스크립터 정보의 수를 카운트하고, 카운트한 수가 미리 정해진 전송 가능 프레임 수 이하인 동안은 상기 디스크립터 정보에 포함되는 제어 정보를 출력함과 아울러, 카운트한 수가 상기 전송 가능 프레임 수와 일치한 경우에는 후방 스킵(backward skip) 지시를 출력하는 전송 판정부와,
    상기 전송 판정부에 의해서 출력된 제어 정보에 따라, 데이터 전송하는 데이터 전송부
    를 구비하되,
    상기 디스크립터 정보 판독부는, 상기 전송 판정부에 의해서 후방 스킵 지시가 출력된 경우에는, 나머지의 상기 디스크립터 정보의 판독을 스킵하는
    것을 특징으로 하는 데이터 전송 장치.
  2. 제 1 항에 있어서,
    상기 디스크립터 정보 기억부는, 상기 디스크립터 정보마다, 전송 완료인지 여부를 나타내는 전송 완료 플래그를 기억하고,
    상기 전송 판정부는, 카운트한 수가 상기 전송 가능 프레임 수 이하인 동안에는, 상기 제어 정보를 출력함과 아울러, 그 제어 정보가 포함되어 있던 디스크립터 정보의 전송 완료 플래그를 전송 완료로 변경하는
    것을 특징으로 하는 데이터 전송 장치.
  3. 제 1 항에 있어서,
    상기 디스크립터 정보는, 다음으로 판독하는 디스크립터 정보의 식별자를 포함하고 있고,
    상기 전송 판정부는, 카운트한 수가 상기 전송 가능 프레임 수와 일치한 경우에는, 상기 후방 스킵 지시를 출력함과 아울러, 상기 전송 가능 프레임 수 번째에 판독된 디스크립터 정보에 포함되는 식별자를 출력하고,
    상기 디스크립터 정보 판독부는, 새롭게 전송 기동 신호가 어서트되면, 상기 전송 판정부에 의해서 출력된 식별자가 나타내는 디스크립터 정보부터 차례로 디스크립터 정보를 판독하는
    것을 특징으로 하는 데이터 전송 장치.
  4. 제 1 항에 있어서,
    상기 디스크립터 정보는 종별을 나타내는 종별 정보를 포함하고 있고,
    상기 전송 판정부는, 상기 디스크립터 정보 판독부가 판독한 디스크립터 정보 중, 일부의 종별의 디스크립터 정보의 수를 카운트하는
    것을 특징으로 하는 데이터 전송 장치.
  5. 처리 장치가, 전송 기동 신호가 어서트되면, 데이터 전송의 제어 정보를 포함하는 디스크립터 정보를 기억한 기억 장치로부터 디스크립터 정보를 차례로 판독하는 디스크립터 정보 판독 공정과,
    처리 장치가, 상기 디스크립터 정보 판독 공정에서 판독된 디스크립터 정보의 수를 카운트하여, 카운트한 수가 미리 정해진 전송 가능 프레임 수 이하인 동안에는 상기 디스크립터 정보에 포함되는 제어 정보를 출력함과 아울러, 카운트한 수가 상기 전송 가능 프레임 수와 일치한 경우에는 후방 스킵 지시를 출력하는 전송 판정 공정과,
    처리 장치가, 상기 전송 판정 공정에서 출력된 제어 정보에 따라, 데이터를 전송하는 데이터 전송 공정
    을 구비하되,
    상기 디스크립터 정보 판독 공정에서는, 상기 전송 판정 공정에서 후방 스킵 지시가 출력된 경우에는, 나머지의 상기 디스크립터 정보의 판독을 스킵하는
    것을 특징으로 하는 데이터 전송 방법.
KR1020157027827A 2013-04-10 2013-04-10 데이터 전송 장치 및 데이터 전송 방법 KR101749850B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/060833 WO2014167670A1 (ja) 2013-04-10 2013-04-10 データ転送装置及びデータ転送方法

Publications (2)

Publication Number Publication Date
KR20150130385A true KR20150130385A (ko) 2015-11-23
KR101749850B1 KR101749850B1 (ko) 2017-06-21

Family

ID=51689104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157027827A KR101749850B1 (ko) 2013-04-10 2013-04-10 데이터 전송 장치 및 데이터 전송 방법

Country Status (7)

Country Link
US (1) US9886411B2 (ko)
JP (1) JP6038292B2 (ko)
KR (1) KR101749850B1 (ko)
CN (1) CN105103145B (ko)
DE (1) DE112013006940B4 (ko)
TW (1) TWI537739B (ko)
WO (1) WO2014167670A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150122825A (ko) * 2014-04-23 2015-11-03 에스케이하이닉스 주식회사 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
JP6239078B1 (ja) * 2016-11-04 2017-11-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および読出し方法
TWI608359B (zh) * 2017-01-17 2017-12-11 關貿網路股份有限公司 資料傳輸系統及其方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04296960A (ja) * 1991-01-10 1992-10-21 Nec Corp Dma制御方式
US5367639A (en) 1991-12-30 1994-11-22 Sun Microsystems, Inc. Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
JPH0736806A (ja) 1993-07-15 1995-02-07 Nec Corp Dma方式
US6081848A (en) * 1998-08-14 2000-06-27 Intel Corporation Striping packets of data across multiple virtual channels
JP2001325209A (ja) * 2000-05-15 2001-11-22 Sharp Corp データ転送制御装置
JP2002278918A (ja) 2001-03-19 2002-09-27 Ricoh Co Ltd Dma装置
US7007101B1 (en) 2001-11-09 2006-02-28 Radisys Microware Communications Software Division, Inc. Routing and forwarding table management for network processor architectures
US7472205B2 (en) 2002-04-24 2008-12-30 Nec Corporation Communication control apparatus which has descriptor cache controller that builds list of descriptors
KR100528861B1 (ko) * 2003-03-04 2005-11-16 삼성전자주식회사 제어 패킷의 적응적 대역 할당을 위한 패킷 포워딩시스템의 제어 패킷 관리 장치 및 그의 제어 패킷 관리 방법
JP4373255B2 (ja) * 2004-03-23 2009-11-25 富士通株式会社 ダイレクトメモリアクセス制御装置および方法
US7424553B1 (en) * 2004-04-15 2008-09-09 Xilinx, Inc. Method and apparatus for communicating data between a network transceiver and memory circuitry
WO2006022067A1 (ja) * 2004-08-23 2006-03-02 Matsushita Electric Industrial Co., Ltd. 再生装置、再生方法、再生プログラム及び再生プログラムを記録したコンピュータ読み取り可能な記録媒体
US20060155895A1 (en) * 2004-12-10 2006-07-13 Fujitsu Limited Data transferring apparatus and data transferring method
CN101556564B (zh) * 2008-04-11 2011-08-24 联芯科技有限公司 数据接收/发送方法和装置
JP4706720B2 (ja) * 2008-05-15 2011-06-22 富士ゼロックス株式会社 Dma制御システム、印刷装置、および転送指示プログラム
CN100593161C (zh) * 2008-06-11 2010-03-03 南京磐能电力科技股份有限公司 一种点到多点数据分配dma控制器实现方法
CN101616099B (zh) * 2009-08-03 2011-11-09 杭州华三通信技术有限公司 硬件转发表刷新方法和装置以及路由设备
WO2011155096A1 (ja) 2010-06-11 2011-12-15 パナソニック株式会社 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム
JP2012014436A (ja) 2010-06-30 2012-01-19 Toshiba Corp ダイレクトメモリアクセス制御装置及び方法
JP2012073745A (ja) 2010-09-28 2012-04-12 Fujitsu Semiconductor Ltd Dmaシステム
JP5374543B2 (ja) * 2011-05-16 2013-12-25 シャープ株式会社 Dma制御装置、画像形成装置、および、dma制御方法
US8806112B2 (en) 2011-07-14 2014-08-12 Lsi Corporation Meta data handling within a flash media controller
KR20150122825A (ko) * 2014-04-23 2015-11-03 에스케이하이닉스 주식회사 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
EP3248592A1 (en) 2016-05-25 2017-11-29 EB IP Hybritabs B.V. Process for the preparation of drug delivery systems having a testosterone compound present in an outer layer or part, as well as such drug delivery systems

Also Published As

Publication number Publication date
CN105103145B (zh) 2018-02-16
US9886411B2 (en) 2018-02-06
US20150363351A1 (en) 2015-12-17
DE112013006940B4 (de) 2022-11-17
KR101749850B1 (ko) 2017-06-21
JP6038292B2 (ja) 2016-12-07
WO2014167670A1 (ja) 2014-10-16
CN105103145A (zh) 2015-11-25
DE112013006940T5 (de) 2016-01-07
JPWO2014167670A1 (ja) 2017-02-16
TWI537739B (zh) 2016-06-11
TW201439774A (zh) 2014-10-16

Similar Documents

Publication Publication Date Title
US20220114128A1 (en) Enabling Sync Header Suppression Latency Optimization In The Presence Of Retimers For Serial Interconnect
US9462091B2 (en) Information processing apparatus, communication method and storage medium
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
US10965934B2 (en) System on chip and integrated circuit for performing data loopback and mobile device including the same
KR101749850B1 (ko) 데이터 전송 장치 및 데이터 전송 방법
KR20160092007A (ko) 자율 메모리를 위한 방법 및 시스템
CN113138801B (zh) 命令分发装置、方法、芯片、计算机设备及存储介质
CN103441915A (zh) 信息处理装置及其操作方法
US9438525B2 (en) Scheduling module and method thereof
EP3803610B1 (en) Direct memory access controller
JP4212508B2 (ja) パケット生成装置
JP3972936B2 (ja) デジタルメッセージ伝送プロトコル
US20230099487A1 (en) Communication control device and method for controlling communication control device
JP2007087086A (ja) Dma転送システム
JP2010073113A (ja) データ転送装置及び半導体試験装置
US20180144713A1 (en) Display system
US8073992B2 (en) Data transfer device and data transfer method
JP2010067167A (ja) データ転送装置
JP2009277040A (ja) データ転送処理装置およびデータ転送処理方法
JP2008094011A (ja) バッファ共有dma回路及び印刷装置
US20070094432A1 (en) Request transmission mechanism and method thereof
KR20080012654A (ko) 멀티미디어 데이터 처리 장치 및 처리 방법
JP2011192135A (ja) データ受信システムおよび割り込み実行方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right