KR20090042969A - 다이렉트 메모리 액세스 컨트롤러 - Google Patents

다이렉트 메모리 액세스 컨트롤러 Download PDF

Info

Publication number
KR20090042969A
KR20090042969A KR1020097005408A KR20097005408A KR20090042969A KR 20090042969 A KR20090042969 A KR 20090042969A KR 1020097005408 A KR1020097005408 A KR 1020097005408A KR 20097005408 A KR20097005408 A KR 20097005408A KR 20090042969 A KR20090042969 A KR 20090042969A
Authority
KR
South Korea
Prior art keywords
data
register
pattern
comparator
address
Prior art date
Application number
KR1020097005408A
Other languages
English (en)
Other versions
KR101158780B1 (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 KR20090042969A publication Critical patent/KR20090042969A/ko
Application granted granted Critical
Publication of KR101158780B1 publication Critical patent/KR101158780B1/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/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

다이렉트 메모리 액세스 컨트롤러는 데이터를 소스에서 목적지 어드레스로 전달하는 데이터 레지스터, 패턴 레지스터, 데이터 레지스터 및 패턴 레지스터와 연결된 데이터 비교기, 및 비교기와 연결되고 이 비교기가 데이터 레지스터 및 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함할 수 있다.

Description

다이렉트 메모리 액세스 컨트롤러{DIRECT MEMORY ACCESS CONTROLLER}
본 발명은 다이렉트 메모리 액세스 컨트롤러에 관한 것이다.
DMA(direct memory access) 컨트롤러는 전형적으로 마이크로프로세서 시스템, 집적된 마이크로컨트롤러 등에 이용된다. DMA 컨트롤러는 컴퓨터 시스템의 중앙처리장치와 무관하게 데이터를 메모리에서 주변장치로 주변장치에서 메모리로 전달하는데 이용된다. 이 때문에, DMA 컨트롤러는 제한된 능력을 갖는 제2 프로그래머블 처리장치로서 보여질 수 있다. 일반적으로, DMA 컨트롤러는 특정량의 데이터를 소스 위치에서 목적지 위치로 전달하도록 지시를 받는다. 소스는 메모리, 예를 들어 마이크로컨트롤러의 데이터 메모리, 주변장치의 메모리 내일 수도 있으며, 또는 주변장치(예를 들면, 아날로그-디지털 변환기, 포트, 캡쳐 비교장치 등)에 의해 생성되거나 주변장치 내에 액세스가능한 데이터일 수 있다. 목적지는 메모리내일 수 있으며, 따라서 컴퓨터 시스템 또는 마이크로컨트롤러의 메모리 디바이스내에서의 고속 전달을 가능하게 한다. 하지만, 목적지는 주변장치, 예를 들어 디지털-아날로그 변환기, 포트 등일 수 있다. 데이터를 소스에서 목적지로 전달하기 위해, DMA 컨트롤러는 개개의 소스 및 목적지 어드레스를 수신하여야 한다. 또한, 각 전달 길이는 지정되어야 한다. 이 때문에, DMA 컨트롤러는 전달 데이터의 길이 또는 전달될 데이터의 시작 및 종료 어드레스를 수신할 필요가 있다. 따라서, 보다 유연한 DMA 컨트롤러에 대한 필요성이 있다.
일실시예로, 다이렉트 메모리 액세스 컨트롤러는, 소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터; 패턴 레지스터; 상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기; 및 상기 데이터 비교기와 연결되어, 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함할 수 있다.
다른 실시예로, 마이크로컨트롤러는, 중앙처리장치; 상기 중앙처리장치와 연결된 버스; 상기 버스와 연결된 메모리; 상기 버스와 연결된 주변장치; 및 상기 버스와 연결되고, 소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터와, 패턴 레지스터와, 상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기와, 상기 데이터 비교기와 연결되어, 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함하는 다이렉트 메모리 액세스 컨트롤러를 포함할 수 있다.
또 하나의 실시예로, 마이크로컨트롤러는 중앙처리장치; 상기 중앙처리장치와 연결된 제1 버스; 상기 제1 버스와 연결된 주변장치; 상기 중앙처리장치와 연결된 제2 버스; 상기 제2 버스와 연결된 메모리; 및 상기 제1 버스 및 상기 제2 버스와 연결되고, 소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터와, 패턴 레지스터와, 상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기와, 상기 데이터 비교기와 연결되고 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함하는 다이렉트 메모리 액세스 컨트롤러를 포함할 수 있다.
또 하나의 실시예로, 다이렉트 메모리 액세스 컨트롤러에 의해 소스에서 목적지로 복수의 데이터를 전달하는 방법으로서, a) 패턴 검출이 이용되는 지를 판단하는 단계; b) 소스 어드레스 및 목적지 어드레스를 위한 시작 어드레스들을 저장하는 단계; c) 패턴 검출이 사용되면, 패턴을 저장하고, 패턴검출이 사용되지 않으면 전달 길이를 저장하는 단계; d) 상기 소스 어드레스로부터 데이터를 읽는 단계; e) 상기 목적지 어드레스에 데이터를 저장하는 단계; f) 패턴 검출이 사용되면, 상기 데이터를 상기 패턴과 비교하고 매치시 상기 전달을 종료하는 단계; g) 상기 소스 어드레스 및 상기 목적지 어드레스를 증분시키는 단계; h) 패턴검출이 사용되지 않으면, 상기 전달 길이가 도달된 경우 상기 전달을 종료하는 단계; 및 i) 단계 d) - h)를 반복하는 단계를 포함할 수 있다.
본 발명의 다른 기술적인 장점은 다음의 도면, 설명, 및 청구범위로부터 이 기술분야의 당업자는 쉽게 이해할 수 있다. 본 발명의 다양한 실시예는 설명한 장점의 부분으로만 얻는다. 하나의 장점이 실시예에 결정적이지는 않다.
동일한 부호는 동일한 구성요소를 나타내는 첨부한 도면과 관련한 다음 설명 을 참조하면 본 발명과 그 장점을 보다 완전히 이해할 수 있다.
도 1은 예를 들면 마이크로컨트롤러와 같은 컴퓨터 시스템내의 전형적인 DMA 컨트롤러를 나타낸 블록도이다.
도 2는 제1 실시예의 DMA 컨트롤러의 상세를 나타낸 블록도이다.
도 3은 제2 실시예의 DMA 컨트롤러의 상세를 나타낸 블록도이다.
도 4는 제3 실시예의 DMA 컨트롤러의 상세를 나타낸 블록도이다.
도 5는 DMA 컨트롤러를 위한 초기화 루틴의 흐름도이다.
도 6은 DMA 컨트롤러의 전달 루틴의 흐름도이다.
상기한 바와 같이, 일실시예로, 다이렉트 메모리 액세스 컨트롤러는, 소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터; 패턴 레지스터; 상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기; 및 상기 데이터 비교기와 연결되어, 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함할 수 있다.
다이렉트 메모리 액세스 컨트롤러는 소스 어드레스 또는 목적지 어드레스를 소정의 종료 어드레스와 비교하는 어드레스 비교기를 더 포함할 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 데이터 비교기 및 상기 어드레스 비교기의 출력 신호들로부터 전달 신호 종료를 생성하는 로직 수단을 더 포함할 수 있다. 상기 패턴 레지스터는 복수의 데이터 세그먼트를 포함하고, 상기 데이터 비교기는 선택된 세 그먼트를 상기 데이터 레지스터와 비교하도록 제어될 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 데이터 레지스터와 연결된 복수의 비교기를 더 포함할 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 패턴 레지스터 및 상기 데이터 레지스터와 연결된 멀티플렉서를 더 포함할 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 멀티플렉서를 제어하는 제어유닛을 더 포함할 수 있다.
상기한 바와 같이, 다른 실시예로, 마이크로컨트롤러는 중앙처리장치; 상기 중앙처리장치와 연결된 버스; 상기 버스와 연결된 메모리; 상기 버스와 연결된 주변장치; 및 상기 버스와 연결되고, 소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터와, 패턴 레지스터와, 상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기와, 상기 데이터 비교기와 연결되어, 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함하는 다이렉트 메모리 액세스 컨트롤러를 포함할 수 있다.
상기한 다이렉트 메모리 액세스 컨트롤러는 소스 어드레스 또는 목적지 어드레스를 소정의 종료 어드레스와 비교하는 어드레스 비교기를 더 포함할 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 데이터 비교기 및 상기 어드레스 비교기의 출력 신호들로부터 전달 신호 종료를 생성하는 로직 수단을 더 포함할 수 있다. 상기 패턴 레지스터는 복수의 데이터 세그먼트를 포함하고, 상기 데이터 비교기는 선택된 세그먼트를 상기 데이터 레지스터와 비교하도록 제어될 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 데이터 레지스터와 연결된 복수의 비교기를 더 포 함할 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 패턴 레지스터 및 상기 데이터 레지스터와 연결된 멀티플렉서를 더 포함할 수 있다. 다이렉트 메모리 액세스 컨트롤러는 상기 멀티플렉서를 제어하는 제어유닛을 더 포함할 수 있다.
상기한 바와 같이, 다른 실시예로, 다이렉트 메모리 액세스 컨트롤러에 의해 소스에서 목적지로 복수의 데이터를 전달하는 방법으로서, a) 패턴 검출이 이용되는 지를 판단하는 단계; b) 소스 어드레스 및 목적지 어드레스를 위한 시작 어드레스들을 저장하는 단계; c) 패턴 검출이 사용되면, 패턴을 저장하고, 패턴 검출이 사용되지 않으면 전달 길이를 저장하는 단계; d) 상기 소스 어드레스로부터 데이터를 읽는 단계; e) 상기 목적지 어드레스에 데이터를 저장하는 단계; f) 패턴 검출이 사용되면, 상기 데이터를 상기 패턴과 비교하고 매치시 상기 전달을 종료하는 단계; g) 상기 소스 어드레스 및 상기 목적지 어드레스를 증분시키는 단계; h) 패턴검출이 사용되지 않으면, 상기 전달 길이가 도달된 경우 상기 전달을 종료하는 단계; 및 i) 단계 d) - h)를 반복하는 단계를 포함할 수 있다.
이러한 방법은 패턴 검출이 이용되는 경우라도 단계 h)를 이용하는 단계를 더 포함할 수 있다. 복수의 데이터는 복수의 데이터 패턴과 비교되고 상기 복수의 데이터가 상기 복수의 데이터 패턴과 매치하는 경우에만 상기 전달이 종료된다. 상기 복수의 데이터 패턴은 순차적인 데이터 패턴이다. 상기 순차적인 데이터 패턴은 연속 데이터의 시퀀스를 포함할 수 있다.
이하, 본 발명의 실시예를 도면을 참조하여 상세히 설명한다. 도 1은 마이크로컨트롤러와 같은 컴퓨터 시스템내의 DMA 컨트롤러의 전형적인 실시예를 나타낸 다. 컴퓨터 시스템(100)(예를 들면, 마이크로컨트롤러)는 일반적으로 하나 이상의 버스 시스템에 연결된 중앙처리장치(CPU)(110)를 포함한다. 도 1에서, 예시적인 메인 버스(140)가 도시되어 있다. 이 버스(140)를 통해 CPU(110)는 복수의 주변장치(180a…180n)(예를 들면, I/O 포트, 메모리, A/D 및 D/A 변환기, 타이머, 펄스폭 변조기 등)과 통신할 수 있다. 또한, 전용 메모리 버스(160)는 CPU(110)를 메인 메모리(120)와 연결시킬 수 있다. DMA 컨트롤러는 참조부호 130으로 도시된다. 이 DMA 컨트롤러(130)는 이 버스(140)와 연결된 디바이스 사이의 데이터 전달을 허용하기 위해 메인 버스(140)와 연결된다. 또한, DMA 유닛은 추가 버스(170)를 통해 메인 메모리(120)와 연결될 수 있다. 또한, DMA 컨트롤러(130)는 CPU(110)로부터 복수의 제어 신호(150)를 수신할 수 있다. 이러한 시스템은 디바이스(180a…180n)과 메모리(120) 사이에서 또는 메모리(120)내에서 뿐만 아니라 버스(140)와 연결된 모든 디바이스(180a…180n) 사이에서도 CPU(110) 없이 DMA 컨트롤러에 의한 데이터 전달이 가능하도록 한다. CPU(110)는 일반적으로 DMA 컨트롤러(130)를 초기화하는 것이 요구된다. 일단 DMA 컨트롤러(130)가 프로그램되면, CPU(110)의 도움없이 적절한 데이터 전달이 수행된다. 그래서, CPU(110)는 다른 태스크를 수행하는데 자유롭다.
도 2는 DMA 컨트롤러의 상세를 나타낸다. 일실시예에 따르면, DMA 컨트롤러(130)는 수신 버스(270)와 송신 버스(280)로 연결된 적어도 데이터 레지스터 또는 래치(210) 및 관련 어드레스 레지스터 또는 래치(240)를 포함한다. 도 2는 수신 버스(270)와 송신 버스(280)가 도 1에 도시한 버스(140)와 같이 동일할 수 있다는 것을 점선으로 나타낸다. 하지만, 다른 실시예로, DMA 컨트롤러(130)는 서로다른 두 버스 사이를 통신하도록 구성될 수 있다. 이러한 실시예로, 수신 버스(270)는 예를 들면 도 1에 도시한 버스(140)일 수 있고 송신 버스(280)는 도 1에 도시한 버스(170)일 수 있다. 어드레스 및 데이터를 위한 레지스터 또는 래치(210 및 240)는 이들 버스와 연결된다. 대안적으로, 송신 및 수신을 위한 별도의 레지스터가 제공될 수 있다. 도 2에 도시한 별도의 어드레스 레지스터(240a 및 240b)는 소스 및 목적지 어드레스가 일반적으로 서로 다른 경우에 유용하다. 데이터 레지스터(210) 및 송신 및/또는 수신 레지스터(240a,240b)는 데이터 또는 어드레스에서 매치를 판단하기 위해 비교기와 연결될 수 있다.
DMA 데이터 전달동안, DMA 컨트롤러(130)는 소스 시작 어드레스에서 시작하고 소스 엔드 어드레스에서 종료되는 특정량의 데이터를 역시 목적지 시작 어드레스에서 시작하고 목적지 엔드 어드레스에서 종료되는 목적지로 전달하도록 프로그램될 수 있다. 이 때문에, 예를 들면, 레지스터(240a)에는 소스 시작 어드레스가 로딩되고 레지스터(240b)에는 목적지 시작 어드레스가 로딩될 수 있다. DMA 컨트롤러(130)는 전달될 데이터 블록의 길이 또는 소스 엔드 어드레스를 수신한다. 소스 엔드 어드레스가 사용되면, 이 어드레스는 비교기(250)와 연결된 대응하는 레지스터(240c)에 로딩된다. 대안적으로, 목적지 엔드 어드레스 또는 상기한 바와 같이, 데이터 블록의 길이는 전달 종료를 판단하는데 이용될 수 있다. 이러한 예시적인 초기화가 수행되면, 적절한 데이터 전달이 일어난다.
다음에, 단일 버스(140)를 이용하는 전달이 설명된다. DMA 컨트롤러(130)는 레지스터(240a)에 저장된 제1 어드레스인 소스 시작 어드레스를 버스(140)에 부여한다. 이 어드레스는 버스(140)와 연결된 메모리 등의 디바이스내에 있을 수 있다. 그리고, 관련 데이터는 데이터 레지스터(210)로 전달된다. 다음 단계에서, 레지스터(240a)는 버스(140)로부터 분리되고 레지스터(240b)는 버스(140)와 연결된다. 대안적으로, 단 하나의 어드레스 레지스터가 이용되면, 이 어드레스 레지스터에는 목적지 시작 어드레스가 로딩된다. 따라서, 목적지 어드레스는 버스(140)와 연결된 메모리 등의 디바이스와 같은 각 목적지를 어드레싱하는 버스(140)에 부여된다. 그리고, 레지스터(210)에 저장된 데이터는 이 목적지 어드레스로 전달된다. 그리고, 소스 어드레스 레지스터(240a) 및 목적지 어드레스 레지스터(240b)는 증분되고 이 프로세스는 소스 어드레스 레지스터(240a)가 소스 엔드 어드레스를 포함할 때까지 반복된다. 이 전달 종료는 예를 들면 어드레스 레지스터(240a)와 레지스터(240c)의 컨텐츠를 비교하는 비교기(250)에 의해 검출될 수 있다.
또한, DMA 컨트롤러(130)는 소정 데이터 바이트와 같은 소정 패턴이 수신되면 전달을 정지하는 조건부 전달을 가능하게 한다. 이를 위해, DMA 컨트롤러(130)는 패턴 레지스터(210b)를 더 포함한다. 초기화시, 이 레지스터(210b)에는 특정 바이트와 같은 패턴이 로딩된다. 비교기(220)가 레지스터(210a)와 패턴 레지스터(210b)내의 로딩된 데이터 사이의 매치를 검출하면, 전달 종료에 도달하였다는 것을 DMA 컨트롤러(130)에 알리는 각 신호(230)가 생성된다. 끝없는 전달을 방지하기 위해, 어드레스 비교기(250)는 더욱이 최대 전송의 범위를 한정하는데 사용될 수 있다.
따라서, 이러한 실시예에 따른 DMA 컨트롤러는 일반적으로 두가지 서로다른 타입의 거래를 가능하게 한다. 제1 거래는 정의된 데이터 블록이 DMA 컨트롤러에 의해 전달될 수 있도록 하는 고정 길이 전달로서 정의된다. 제2 거래는 오픈 길이를 가지며 그 길이는 특정 패턴에 의해 정의된다. 예를 들면, 전달의 종료는 특정 심볼에 의해 정의될 수 있다. 또한, 다른 실시예로, 심볼의 시퀀스는 전달의 종료를 정의할 수 있다. 따라서, 전달 종료의 보다 유연한 정의가 가능하다. 예를 들면, 단일 바이트 대신에 CR(carriage return) LF(line feed) 시퀀스와 같은 두 바이트의 시퀀스가 사용될 수 있다. 이 때문에, 대응하는 시퀀스로 프로그램된 복수의 레지스터가 제공될 수 있다. 제2 거래 타입은 무한한 전달 루프를 회피하기 위해 최대 전달 길이로 강화되고 따라서 추가 보안성을 제공할 수 있다.
도 3은 다른 실시예의 DMA 컨트롤러(130)의 특정 레지스터를 나타낸다. 이 실시예에서, 소스 레지스터(310)와 목적지 어드레스 레지스터(320)가 제공된다. 또한, 길이/최대 길이 레지스터(330)는 엔드 어드레스 검출 EndAddr을 생성할 수 있는 비교기(380)와 연결된다. 또한 비교기(380)는 카운터(370)와도 연결된다. 패턴 레지스터(340)는 타당한 데이터 Din 및 Dout를 수신 및 송신하는 데이터 레지스터(360)와 연결된 다른 비교기(350)와 연결된다. 비교기(350)는 전달 신호 종료 EofTrans를 만들 수 있는 신호 매치를 생성한다. 다중 패턴 레지스터(340) 및 관련 비교기들은 점선을 이용하여 각 구성요소로 나타낸 바와 같이 제공될 수 있다. 레지스터와 비교기 사이의 각 로직은 서로다른 타입의 전달을 허용하기 위해 제공될 수 있다. 예로서, 도 3은 비교기(380)로부터 신호 EndAddr을 수신하는 제1 제어가능 구동기(385)를 나타낸다. 구동기(385)의 출력은 OR 게이트(390)의 제1 입력과 연결된다. 제2 제어가능 인버터(355)는 비교기(350)로부터 신호 매치를 수신한다. 구동기(355)의 출력은 OR 게이트(390)의 제2 입력과 연결된다. 따라서, OR 게이트(90)의 출력은 전달신호 종료 EofTrans를 제공한다.
제1 모드에서, 구동기(355)는 OR 게이트(390)의 제2 입력에 일정한 로직 로우 신호를 생성하는 비교기(350)를 OR 게이트(390)로부터 분리하도록 제어되고 구동기(385)는 비교기(380)를 OR 게이트(390)와 연결하도록 제어된다. 레지스터(310 및 320)는 대응되는 소스 시작 어드레스 및 목적지 시작 어드레스로 로딩된다. 레지스터(330)에는 송신될 데이터 블록의 길이가 로딩되고 카운터(370)는 제로로 리셋된다. 그리고, 데이터 전달이 시작될 수 있다. 이를 위해, 레지스터(310)에 의해 어드레싱된 데이터는 레지스터(360)에 로딩되고 레지스터(320)에 포함된 어드레스에 기록된다. 그리고, 레지스터(310 및 320)는 전달된 데이터의 사이즈만큼 증분된다. 예를 들면, 데이터 레지스터가 바이트 와이드 레지스터이면, 레지스터(310 및 320)는 1 만큼 증분된다. 데이터 레지스터가 16 비트 레지스터이면, 레지스터(310 및 320)는 2 만큼 증분된다. 카운터(370)가 그것에 알맞게 증분된다. 비교기(380)는 카운터(370)의 카운터값과 레지스터(330)를 비교한다. 데이터 전달은 카운터 값이 레지스터(330)의 컨텐츠와 매치할 때까지 반복된다. 이러한 매치가 도달되면, EndAddr 신호는 로직 하이가 되고 Or 게이트(390)의 출력은 전달 종료 EofTrans를 나타내는 하이가 될 것이다. 그 결과, DMA 컨트롤러는 정지된다.
제2 모드에서, 구동기(385)는 OR 게이트(390)의 제1 입력에서 일정한 로직 로우 신호를 생성하는 비교기(380)를 OR 게이트(390)로부터 분리하도록 제어되고, 구동기(355)는 비교기(350)를 OR 게이트(390)와 연결하도록 제어된다. 이 모드에서, 소스 및 목적지 레지스터(310 및 320)에는 다시 대응하는 시작 어드레스가 로딩된다. 또한, 패턴 레지스터(340)에는 소정의 패턴이 로딩된다. 다시, DMA 전달이 시작되고 소스 레지스터와 관련된 제1 데이터는 데이터 레지스터(360)에 로딩되고 패턴 레지스터(340)와 비교된다. 매치가 일어나면, 비교기(350)는 그 출력에 하이 신호를 생성하고 이것에 의해 OR 게이트(390)의 출력에 전달 종료를 나타내는 하이 신호가 출력된다. 그렇지 않으면, 레지스터(310 및 320)는 증분되고 전달된 데이터와 패턴 레지스터(340) 사이에서 매치가 일어날 때까지 전달이 지속된다.
제3 모드에서, 두 비교기(350 및 380)를 OR 게이트(390)와 연결하는 두 구동기(355 및 385)가 활성화된다. 이 모드에서, 레지스터(310 및 320)는 다시 대응하는 시작 어드레스들로 로딩된다. 또한, 최대 길이값은 레지스터(330)에 로딩되고 패턴은 레지스터(340)에 로딩된다. 데이터 전달은 상기한 바와 같이 일어난다. 하지만, 전달 종료는 비교기(350 또는 380)에 의해 생성된다. 정상 전달동안, 비교기(350)는 전달된 데이터와 패턴 레지스터(340) 사이의 매치에 의해 전달 종료를 검출할 것이다. 하지만, 에러 또는 오작동으로 인해 이 데이터가 일어나지 않으면, 비교기(380)는 최대 길이의 데이터 전달이 도달되면 전달을 종료할 것이다.
도 4는 다른 실시예의 패턴 레지스터를 나타낸다. 이 실시예에서 패턴 레지스터(410)는 32 비트 폭을 가지며, 따라서 4 바이트(410a…410d)로 구성된다. 각 바이트(410a…410d)는 32개의 입력과 8개의 출력을 갖는 4:1 멀티플렉서(420)와 연결된다. 멀티플렉서(420)의 출력라인은 8 비트를 데이터 레지스터(도시안함)의 컨텐츠와 비교하는 비교기(430)와 연결된다. 제어 유닛(440)은 멀티플렉서(420)를 제어하기 위해 제공된다. 이 실시예는 데이터 시퀀스의 비교를 가능하게 한다. 제1 모드에서, 패턴 레지스터(410)에는 소정의 32 비트 패턴이 로딩된다. 데이터 전달의 시작에서, 멀티플렉서는 레지스터(410)의 제1 바이트(410a)를 비교기(430)와 연결하도록 제어된다. 전달된 데이터 바이트와의 매치가 일어나면, 비교기는 이러한 매치를 제어유닛(440)에 알린다. 제어 유닛(440)은 제2 바이트(410b)를 비교기(430)와 연결하도록 멀티플렉서(420)를 스위칭한다. 다음 데이터 바이트를 전달하면 DMA 컨트롤러는 제2 바이트(410b)를 매치하고 제어 유닛은 다음 바이트와 바이트(410c)와의 비교가 가능하도록 다시 멀티플렉서를 스위칭한다. 4개의 시퀀셜 바이트가 레지스터(410)의 컨텐츠와 매칭되는 경우에만 전달 신호의 종료가 생성된다. 마지막 바이트(410d)가 비교되기 전에 미스가 일어나면, 멀티플렉서(420)는 새로운 시퀀스 비교를 시작하기 위해 제1 바이트(410a)로 리셋된다. 이 유닛은 모든 길이의 패턴 시퀀스가 가능하도록 프로그램될 수 있다. 이 실시예에서, 예를 들면, 1 바이트 시퀀스, 2 바이트 시퀀스, 3 바이트 시퀀스 또는 4 바이트 시퀀스가 이용될 수 있다. 패턴 레지스터의 사이즈에 따라 모든 시퀀스 길이가 구현될 수 있다.
제2 모드에서, 시퀀스는 연속적인 순서로 일어나지 않는다. 예를 들면, 어떤 개수의 중간 바이트들이 가능하다. 따라서, 멀티플렉서(420)는 다음 바이트에서 미스매치가 일어나면 제1 바이트(410a)로 리셋되지 않는다. 따라서, 패턴 레지스터가 예를 들면 "0x64A8"로 프로그램되면, "Ox68840AABC8"(밑줄친 바이트는 매치를 나타냄)의 시퀀스는 전달 신호의 종료를 트리거한다. 다른 실시예라면, 복수의 비교기 및 다중 바이트 레지스터는 비시퀀셜 매치가 가능하도록 이용될 수 있다. 따라서, 전달 신호의 종료는 패턴내의 모든 바이트가 순서가 뒤바뀌더라도 일어나면 생성될 수 있다. 복수의 비교기 대신에, 도 4에 도시한 구성은 데이터 사이클당 모든 4 데이터 바이트(410a…410d)를 통해 순차적으로 스위칭함으로써 각 바이트(410a…410d)를 전달된 각 데이터와 비교하는 데 사용될 수 있다. 제어 유닛은 각 데이터 세그먼트(410a…410d)에 대한 대응되는 비트들을 설정할 수 있다. 모든 비트가 설정되면, 전달 신호의 종료가 생성될 수 있다. 다른 가능한 비교 조합이 구현될 수 있다.
도 5는 DMA 컨트롤러를 위한 초기화 루틴의 실시예의 흐름도이다. 단계(510)에서 패턴모드가 사용되는 지의 판정이 이루어진다. '아니오'이면, 루틴은 소스 및 목적지 어드레스가 저장되는 단계(520)로 브랜치된다. 다음 단계(530)에서, 전달 길이는 종료 어드레스 또는 블록 길이에 의해 판단되고 루틴은 종료된다. 패턴 모드가 이용되면, 루틴은 소스 및 목적지가 설정된 단계(540)로 간다. 그리고, 단계(550)에서 선택적으로 최대 길이의 전달이 설정되고, 단계(560)에서 데이터 종료 패턴값이 저장된다. 단계(570)에서 패턴 모드가 설정되고 초기화 루틴이 종료된다.
도 6은 도 5에 도시한 초기화 루틴에 잇따르는 DMA 전달 루틴의 실시예의 흐름도를 나타낸다. 루틴은 시작 어드레스하의 소스 데이터가 읽혀지는 단계(610)에서 시작한다. 단계(620)에서, 이 데이터는 목적지 어드레스에 기록된다. 단계(630) 에서, 패턴 매칭 모드가 설정되었는지가 체크된다. '아니오'이면, 소스 어드레스 및 목적지 어드레스는 증분되고, 단계(660)에서 데이터 길이값이 감분된다. 단계(670)에서, 데이터 길이값이 0인지가 체크된다. '예'이면, 전달은 종료되고, '아니오'이면 루틴은 단계(610)으로 돌아간다. 패턴 모드가 설정되면, 루틴은 단계(630)에서 데이터가 패턴과 매치되는지가 체크되는 단계(650)으로 브랜치된다. 매치가 일어나면, 전달은 종료된다. 그렇지 않으면, 루틴은 상기한 바와 같이 단계(640)을 이용하여 지속된다.
따라서, 본 발명은 목적을 달성하였고 상술한 장점 뿐만 아니라 거기에 속한 장점도 얻을 수 있다. 본 발명이 특정 실시예를 참조하여 특별히 도시되고 설명되었지만, 이러한 참조는 본 발명을 한정하지 않고, 그러한 한정을 의미하지도 않는다. 본 발명은 이 기술분야의 당업자에 의해 형태와 기능에 있어서 수정물, 대체물, 및 등가물이 고려될 수 있다. 본 발명의 실시예는 단지 예로서, 본 발명의 범위를 한정하지 않는다. 결론적으로, 본 발명은 모든 측면에 있어 균등물의 완전한 인식범위를 제공하는 첨부한 청구항의 정신과 범위에 의해서만 제한되어야 한다.

Claims (20)

  1. 다이렉트 메모리 액세스 컨트롤러로서,
    소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터;
    패턴 레지스터;
    상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기; 및
    상기 데이터 비교기와 연결되어, 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함하는 것을 특징으로 하는 다이렉트 메모리 액세스 컨트롤러.
  2. 제1항에 있어서,
    소스 어드레스 또는 목적지 어드레스를 소정의 종료 어드레스와 비교하는 어드레스 비교기를 더 포함하는 것을 특징으로 하는 다이렉트 메모리 액세스 컨트롤러.
  3. 제2항에 있어서,
    상기 데이터 비교기 및 상기 어드레스 비교기의 출력 신호들로부터 전달 신호 종료를 생성하는 로직 수단을 더 포함하는 것을 특징으로 하는 다이렉트 메모리 액세스 컨트롤러.
  4. 제1항에 있어서,
    상기 패턴 레지스터는 복수의 데이터 세그먼트를 포함하고, 상기 데이터 비교기는 선택된 세그먼트를 상기 데이터 레지스터와 비교하도록 제어되는 것을 특징으로 하는 다이렉트 메모리 액세스 컨트롤러.
  5. 제1항에 있어서,
    상기 데이터 레지스터와 연결된 복수의 비교기를 더 포함하는 것을 특징으로 하는 다이렉트 메모리 액세스 컨트롤러.
  6. 제4항에 있어서,
    상기 패턴 레지스터 및 상기 데이터 레지스터와 연결된 멀티플렉서를 더 포함하는 것을 특징으로 하는 다이렉트 메모리 액세스 컨트롤러.
  7. 제6항에 있어서,
    상기 멀티플렉서를 제어하는 제어유닛을 더 포함하는 것을 특징으로 하는 다이렉트 메모리 액세스 컨트롤러.
  8. 중앙처리장치;
    상기 중앙처리장치와 연결된 버스;
    상기 버스와 연결된 메모리;
    상기 버스와 연결된 주변장치; 및
    상기 버스와 연결되고,
    소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터,
    패턴 레지스터,
    상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기, 및
    상기 데이터 비교기와 연결되어, 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함하는
    다이렉트 메모리 액세스 컨트롤러를 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  9. 제8항에 있어서,
    소스 어드레스 또는 목적지 어드레스를 소정의 종료 어드레스와 비교하는 어드레스 비교기를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  10. 제9항에 있어서,
    상기 데이터 비교기 및 상기 어드레스 비교기의 출력 신호들로부터 전달 신호 종료를 생성하는 로직 수단을 더 포함하는 것을 특징으로 하는 마이크로컨트롤 러.
  11. 제8항에 있어서,
    상기 패턴 레지스터는 복수의 데이터 세그먼트를 포함하고, 상기 데이터 비교기는 선택된 세그먼트를 상기 데이터 레지스터와 비교하도록 제어되는 것을 특징으로 하는 마이크로컨트롤러.
  12. 제8항에 있어서,
    상기 데이터 레지스터와 연결된 복수의 비교기를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  13. 제11항에 있어서,
    상기 패턴 레지스터 및 상기 데이터 레지스터와 연결된 멀티플렉서를 더 포것을 특징으로 하는 마이크로컨트롤러.
  14. 제13항에 있어서,
    상기 멀티플렉서를 제어하는 제어유닛을 더 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  15. 중앙처리장치;
    상기 중앙처리장치와 연결된 제1 버스;
    상기 제1 버스와 연결된 주변장치;
    상기 중앙처리장치와 연결된 제2 버스;
    상기 제2 버스와 연결된 메모리; 및
    상기 제1 버스 및 상기 제2 버스와 연결되고,
    소스 어드레스에서 목적지 어드레스로 데이터를 전달하는 데이터 레지스터,
    패턴 레지스터,
    상기 데이터 레지스터 및 상기 패턴 레지스터와 연결된 데이터 비교기, 및
    상기 데이터 비교기와 연결되고 상기 데이터 비교기가 상기 데이터 레지스터 및 상기 패턴 레지스터의 매치를 검출하면 데이터 전달을 정지하도록 동작가능한 제어유닛을 포함하는
    다이렉트 메모리 액세스 컨트롤러를 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  16. 다이렉트 메모리 액세스 컨트롤러에 의해 소스에서 목적지로 복수의 데이터를 전달하는 방법으로서,
    a) 패턴 검출이 이용되는 지를 판단하는 단계;
    b) 소스 어드레스 및 목적지 어드레스를 위한 시작 어드레스들을 저장하는 단계;
    c) 패턴 검출이 사용되면, 패턴을 저장하고, 패턴 검출이 사용되지 않으면 전달 길이를 저장하는 단계;
    d) 상기 소스 어드레스로부터 데이터를 읽는 단계;
    e) 상기 목적지 어드레스에 데이터를 저장하는 단계;
    f) 패턴 검출이 사용되면, 상기 데이터를 상기 패턴과 비교하고 매치시 상기 전달을 종료하는 단계;
    g) 상기 소스 어드레스 및 상기 목적지 어드레스를 증분시키는 단계;
    h) 패턴검출이 사용되지 않으면, 상기 전달 길이가 도달된 경우 상기 전달을 종료하는 단계; 및
    i) 단계 d) - h)를 반복하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서,
    패턴 검출이 이용되는 경우라도 단계 h)를 이용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 제16항에 있어서,
    복수의 데이터는 복수의 데이터 패턴과 비교되고 상기 복수의 데이터가 상기 복수의 데이터 패턴과 매치하는 경우에만 상기 전달이 종료되는 것을 특징으로 하는 방법.
  19. 제18항에 있어서,
    상기 복수의 데이터 패턴은 순차적인 데이터 패턴인 것을 특징으로 하는 방법.
  20. 제19항에 있어서,
    상기 순차적인 데이터 패턴은 연속 데이터의 시퀀스를 포함하는 것을 특징으로 하는 방법.
KR1020097005408A 2006-08-24 2007-08-16 다이렉트 메모리 액세스 컨트롤러 및 마이크로컨트롤러 KR101158780B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/466,915 2006-08-24
US11/466,915 US7721018B2 (en) 2006-08-24 2006-08-24 Direct memory access controller with flow control
PCT/US2007/076103 WO2008024670A2 (en) 2006-08-24 2007-08-16 Direct memory access controller

Publications (2)

Publication Number Publication Date
KR20090042969A true KR20090042969A (ko) 2009-05-04
KR101158780B1 KR101158780B1 (ko) 2012-06-22

Family

ID=39107543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097005408A KR101158780B1 (ko) 2006-08-24 2007-08-16 다이렉트 메모리 액세스 컨트롤러 및 마이크로컨트롤러

Country Status (5)

Country Link
US (1) US7721018B2 (ko)
EP (1) EP2095245B1 (ko)
KR (1) KR101158780B1 (ko)
CN (1) CN101506785B (ko)
WO (1) WO2008024670A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110062555A (ko) * 2009-12-03 2011-06-10 삼성전자주식회사 직접 메모리 액세스 컨트롤러 및 직접 메모리 액세스 컨트롤러의 동작 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934025B2 (en) * 2007-01-24 2011-04-26 Qualcomm Incorporated Content terminated DMA
DE102007029833B4 (de) * 2007-06-28 2019-03-28 Texas Instruments Deutschland Gmbh Mikrocontroller mit Datenmodifikationsmodul und System umfassend ein Datenmodifikationsmodul
US8184503B2 (en) * 2009-05-18 2012-05-22 Magnetrol International, Incorporated Process measurement instrument with target rejection
US8635412B1 (en) * 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
CN103119573A (zh) * 2010-09-21 2013-05-22 三菱电机株式会社 Dma控制器以及数据读出装置
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9665371B2 (en) 2011-11-30 2017-05-30 Intel Corporation Providing vector horizontal compare functionality within a vector register
US10318291B2 (en) 2011-11-30 2019-06-11 Intel Corporation Providing vector horizontal compare functionality within a vector register
DE112013001213T5 (de) * 2012-02-29 2014-12-04 Mitsubishi Electric Corporation Datentransfereinrichtung, Datentransferverfahren und Datentransferprogramm
US9569384B2 (en) * 2013-03-14 2017-02-14 Infineon Technologies Ag Conditional links for direct memory access controllers
DE102013218305A1 (de) * 2013-08-30 2015-03-05 Dr. Johannes Heidenhain Gmbh Verfahren und Vorrichtung zum Synchronisieren einer Steuereinheit und mindestens einer zugeordneten Peripherieeinheit
FR3084179A1 (fr) * 2018-07-19 2020-01-24 Stmicroelectronics (Grenoble 2) Sas Acces direct en memoire

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161719A (en) * 1977-10-04 1979-07-17 Ncr Corporation System for controlling synchronization in a digital communication system
JPS5999525A (ja) * 1982-11-30 1984-06-08 Toshiba Corp Dma転送制御方式
JP2559394B2 (ja) * 1987-02-16 1996-12-04 株式会社日立製作所 通信制御装置
JP2745521B2 (ja) * 1988-02-23 1998-04-28 株式会社日立製作所 フレーム送信方法
CA2022073A1 (en) * 1989-10-11 1991-04-12 Arthur Jacob Heimsoth Apparatus and method for receiving serial communication status data with a dma controller
JPH04271445A (ja) 1990-08-02 1992-09-28 Internatl Business Mach Corp <Ibm> メモリ・テスト装置
JPH0496163A (ja) 1990-08-08 1992-03-27 Nec Corp Dmaコントローラ
US5721954A (en) * 1992-04-13 1998-02-24 At&T Global Information Solutions Company Intelligent SCSI-2/DMA processor
US5463762A (en) * 1993-12-30 1995-10-31 Unisys Corporation I/O subsystem with header and error detection code generation and checking
JPH07262152A (ja) * 1994-03-24 1995-10-13 Hitachi Ltd コンピュータシステム
US6081852A (en) * 1996-04-26 2000-06-27 Texas Instruments Incorporated Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
JP3181515B2 (ja) * 1996-09-11 2001-07-03 株式会社沖データ データ転送方法及びその方法を用いたデータ転送装置
US5974480A (en) * 1996-10-18 1999-10-26 Samsung Electronics Co., Ltd. DMA controller which receives size data for each DMA channel
US6092116A (en) * 1996-12-11 2000-07-18 Lsi Logic Corporation DMA controller with response message and receive frame action tables
JPH10334037A (ja) * 1997-05-30 1998-12-18 Sanyo Electric Co Ltd 通信dma装置
US6185620B1 (en) * 1998-04-03 2001-02-06 Lsi Logic Corporation Single chip protocol engine and data formatter apparatus for off chip host memory to local memory transfer and conversion
JP2000099452A (ja) * 1998-09-21 2000-04-07 Seiko Epson Corp Dma制御装置
JP3765931B2 (ja) * 1998-10-15 2006-04-12 富士通株式会社 バッファ制御方法及びバッファ制御装置
US6775693B1 (en) * 2000-03-30 2004-08-10 Baydel Limited Network DMA method
US20020027985A1 (en) * 2000-06-12 2002-03-07 Farrokh Rashid-Farrokhi Parallel processing for multiple-input, multiple-output, DSL systems
US20040015617A1 (en) * 2001-01-25 2004-01-22 Sangha Onkar S. Flexible network interfaces and flexible data clocking
JP2002342262A (ja) * 2001-05-11 2002-11-29 Fujitsu Ltd ダイレクトメモリアクセス制御装置およびダイレクトメモリアクセス制御方法
JP3900863B2 (ja) 2001-06-28 2007-04-04 シャープ株式会社 データ転送制御装置、半導体記憶装置および情報機器
US20030079118A1 (en) * 2001-10-19 2003-04-24 Felix Chow Bit synchronous engine and method
KR20050045201A (ko) * 2003-11-10 2005-05-17 삼성전자주식회사 직접 메모리 액세스 전송종료 방법 및 장치
US8185600B2 (en) * 2003-12-29 2012-05-22 Broadcom Corporation Programming system and method for a video network
JP4668645B2 (ja) * 2005-02-24 2011-04-13 パナソニック株式会社 Dmaコントローラ及びデータ転送制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110062555A (ko) * 2009-12-03 2011-06-10 삼성전자주식회사 직접 메모리 액세스 컨트롤러 및 직접 메모리 액세스 컨트롤러의 동작 방법

Also Published As

Publication number Publication date
EP2095245B1 (en) 2016-12-21
WO2008024670A3 (en) 2008-05-29
EP2095245A2 (en) 2009-09-02
CN101506785B (zh) 2012-04-25
US20080126662A1 (en) 2008-05-29
WO2008024670A2 (en) 2008-02-28
US7721018B2 (en) 2010-05-18
KR101158780B1 (ko) 2012-06-22
CN101506785A (zh) 2009-08-12

Similar Documents

Publication Publication Date Title
KR101158780B1 (ko) 다이렉트 메모리 액세스 컨트롤러 및 마이크로컨트롤러
EP2021896B1 (en) Method of inter-integrated circuit addressing and devices for performing the same
US8122202B2 (en) Reduced pin count interface
US5812881A (en) Handshake minimizing serial to parallel bus interface in a data processing system
EP0412666A2 (en) A read/write memory
US8145805B2 (en) Method for re-sequencing commands and data between a master and target devices utilizing parallel processing
CA2277134A1 (en) `o- and memory bus system for dfps as units with two- or multi-dimensionally programmable cell architectures
US10409749B2 (en) Semiconductor device and system provided with a communication interface
US5828891A (en) Multilevel interrupt device
US6530005B2 (en) Circuit arrangement and method for creating and retrieving patch data from memory
US5581790A (en) Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels
EP0328450B1 (en) Direct memory access controller
KR20080012233A (ko) 버스트 메모리 액세스를 제어하는 메모리 인터페이스, 및그를 제어하는 방법
US5922055A (en) Method for determining a type of a serial EEPROM and plug and play controller
US7587533B2 (en) Digital programming interface between a baseband processor and an integrated radio-frequency module
WO2008076691A2 (en) Direct memory access controller with error check
CN116560902A (zh) 处理系统、相关集成电路和方法
EP1376373B1 (en) Arrangement having a first device and a second device connected via a cross bar switch
US5313610A (en) Direct memory access control device for use with a single n-bit bus with MOF the n-bits reserved for control signals and (n-m) bits reserved for data addresses
EP4224321B1 (en) A processing system, related integrated circuit and method
KR20040086546A (ko) 버스를 통한 데이터 전송을 제어하는 방법, 시스템 및 컴퓨터 시스템
US7209252B2 (en) Memory module, printer assembly, and method for storing printer code
JP4201375B2 (ja) データ転送装置
EP4109184A1 (en) Control device
JPH10207834A (ja) シリアル入出力回路

Legal Events

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

Payment date: 20150527

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170531

Year of fee payment: 6