KR100638603B1 - 직접 메모리 액세스 유닛 및 직접 메모리 액세스 유닛을 구비한 통신 시스템, 이동 무선 장비 및 데이터 처리 유닛 - Google Patents
직접 메모리 액세스 유닛 및 직접 메모리 액세스 유닛을 구비한 통신 시스템, 이동 무선 장비 및 데이터 처리 유닛 Download PDFInfo
- Publication number
- KR100638603B1 KR100638603B1 KR1019980031250A KR19980031250A KR100638603B1 KR 100638603 B1 KR100638603 B1 KR 100638603B1 KR 1019980031250 A KR1019980031250 A KR 1019980031250A KR 19980031250 A KR19980031250 A KR 19980031250A KR 100638603 B1 KR100638603 B1 KR 100638603B1
- Authority
- KR
- South Korea
- Prior art keywords
- dma
- unit
- microprocessor
- control signal
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Bus Control (AREA)
Abstract
본 발명은, 직접 메모리 액세스(DMA;Direct Memory Access) 유닛을 경유하여 제어선에 의해 마이크로프로세서에 연결된 직렬 인터페이스를 경유하여 버스와 하나 이상 연결된 데이터 처리 장치 사이에서 데이터를 교환하기 위한 통신 시스템에 관한 것이다. 제어 마이크로프로세서가 경미하게 로딩된 동안에, DMA 유닛을 이용하여 버스 및 직렬 인터페이스 사이에서 효과적인 데이터 교환을 이루기 위해서, 인터럽트 모드를 나타내는 활성 상태 동안에 DMA 유닛은 제어선에 의해 마이크로프로세서로 인터페이스 제어 신호를 전달하기 위해 제공되고, DMA 모드를 나타내는 비활성 상태 동안에 DMA 유닛은 인터페이스 제어 신호로부터 하나 이상의 DMA 제어 신호를 형성하기 위해 제공되며, 제어선을 이용하여 형성된 DMA 제어 신호를 마이크로프로세서로 전달하기 위해 제공된다. 인터럽트 모드와 DMA 모드 둘 다에서 데이터 교환을 위해 직렬 인터페이스를 이용하기 위하여, 제어선은 DMA 유닛을 통해서 DMA 유닛에 의해 루프를 형성한다. DMA 모드에서, DMA 유닛은 제어선을 끼워넣고, 인터페이스 제어 신호를 변경시킨다. 인터럽트 모드에 직접적으로 전달된 제어 신호는 해석되고, 마이크로프로세서 대신에 적용되어진 DMA 신호에 할당된다.
Description
본 발명은, DMA 유닛을 경유하여 제어선(control line)에 의해 마이크로프로세서에 연결된 직렬 인터페이스(interface)를 경유하여, 버스 및 하나 이상 연결된 데이터 처리 장치 사이에서 데이터를 교환하기 위한 통신 시스템에 관한 것이다.
게다가, 본 발명은 통신 시스템을 포함하는 이동 무선 장비 및 데이터 처리 장치(개인용 컴퓨터와 같은) 둘 다에 대한 DMA 유닛에 관한 것이다.
유럽 특허(EP 제 422776호)로부터 직렬 데이터 교환을 위한, 마이크로프로세서, 메모리, DMA 유닛(DMAC, Direct Memory Access Control unit), 및 직렬 인터페이스(SCC, Serial Communication Control)를 포함하는 통신 시스템을 공지한다. 이러한 기능 블록은 도 3에 도시된 것과 같이, 데이터 버스(칼럼 4, 6-26행 )에 의해 서로 연결된다. 결합된 서술(칼럼 8, 41행에서 칼럼 9, 12행까지)을 가진 도 3에서는 데이터(통신 라인(318))가 인터페이스(SCC)로부터 어떻게 수신되는지 서술된다. 결과적으로, DMAC의 제어하에, 데이터 패킷의 어드레스 지정 정보 및 메시지 내용은 데이터 버스(310)를 경유하여 메모리 내의 고정된 메모리 위치에 기록된다. 상기 단계에서(in this phase), 인터페이스(SCC)는 DMA 유닛(DMAC)을 경유하여 마이크로프로세서로 제어 신호를 제공하지 않는다. 동작의 점검 및 표준 동작(칼럼 8, 41-47행 참조)으로부터 일탈로 반작용할 가능성의 점검 없이, DMA 유닛(DMAC)은 인터페이스(SCC)에서 메모리로의 데이터 패킷의 전송을 제어한다. 일단 SCC가 라인(요청 라인(33))을 경유하여 요청(열 8, 행 51-57 참조)을 신호하면, 데이터 버스를 경유하여 DMAC는, 데이터 패킷의 끝에서만 점검에 대해 요청하기 위해서 HOLD 신호를 마이크로프로세서로 공급한다.
상기 기술된 통신 시스템이 인터페이스에서 마이크로프로세서로의 어떤 제어선도 구비하지 않기 때문에, 이 직렬 인터페이스는 기존의 인터럽트(interrupt) 모드에서 동작될 수 없다. 결과적으로, 데이터 교환은, 항상 DMA 모드에서 발생하고, DMA 유닛은 메모리로의 전송을 제어한다. 게다가, 에러 없는 동작으로부터 일탈이 있을 때에, 특히 중요한 소프트웨어 사용이 보정 측정을 위해 필요하도록, 인터페이스는 제어 신호 없이, 데이터 교환(수신/전송 및 저장)의 정확한 점검을 실행할 수 없다. 인터럽트 모드에서, 인터페이스는 직접적으로 인터럽트 신호를 전송함으로써 데이터의 교환을 마이크로프로세서에 통지한다. 그러나, 데이터 교환을 제어하는 기존의 방법은 상당히 많은 마이크로프로세서 부하를 포함하고, 결과적으로, 데이터 버스 상에서 이 방법은 다른 작업(예로서, 더 나은 인터페이스의 제어)을 이용할 수 있는 상당히 더 적은 용량을 제공할 수 있다. 그러나, 특정 데이터(예로서, 제어 데이터와 같이 작은 데이터의 시퀀스의 교환을 갖는)에 대해, 이 모드는, 저장하는 동안 직접 점검이 되지 않는 DMA 모드 보다 더 효과적이다.
본 발명의 목적은, 제어 마이크로프로세서가 작은 용량으로 로딩(load)되는 동안에, DMA 유닛에 의해 버스와 직렬 인터페이스 사이에서 효과적인 데이터의 교환을 보장하는 통신 시스템을 제공하는 것이다.
본 목적은, 인터럽트 모드를 나타내는 비활성 상태에서, 제어선에 의해 마이크로프로세서에 인터페이스 제어 신호를 전송하기 위해 제공된 DMA 유닛 및, DMA 모드를 나타내는 활성 상태에서, 인터페이스 제어 신호로부터 하나 이상의 DMA 제어 신호를 형성하기 위하여 제공되며, 형성된 DMA 제어 신호를 제어선에 의해 마이크로프로세서로 전송하기 위해 제공된 DMA 유닛을 얻는 것이다. 인터럽트 모드 및 DMA 모드 둘 다에서 데이터 교환을 위해 직렬 인터페이스를 사용하기 위하여, 제어 마이크로프로세서에 연결된 인터페이스에 의해서 제어선은 DMA 유닛을 통해서 DMA 유닛에 의해 루프를 형성한다. 많은 수의 데이터가 인터페이스를 경유해서 전송되어질 때에, 통신 시스템은 이 전송 동작을 인지하고, 소프트웨어-제어 방법으로 마이크로프로세서에 의해 DMA 유닛을 활성화할 수 있다. DMA 유닛은 제어선에 포함되고, 인터페이스 제어 신호를 변경시킨다. 인터럽트 모드에서 직접 전송된 제어 신호는, 대신 그때 마이크로 프로세서에 인가되는 DMA 제어 신호로 해석되고 할당된다. 이 할당은 스위칭 회로 혹은 어드레스 지정 가능한 메모리에 간단하게 인지될 수 있고, 따라서 다른 요구에 채택되어질 수 있다.
양호한 실시예에서, 마이크로프로세서에서 평가 유닛은 인터페이스의 제어선에 연결되고, 제어선에 할당된 인터럽트 벡터(vector)를 마이크로프로세서로 전달하기 위해 제공된다. 마이크로프로세서 내부에서, 다양한 제어 신호(예컨데, 통신 시스템의 다수의 인터페이스와 구성 요소로부터의 입/출력 요청)는 인터럽트 제어 유닛(ICU)에 의해 평가된다. 평가 유닛(ICU)은 각 제어선에 대해, 제어 신호(제어선상의 인터럽트)에 의해 어드레스 지정된 벡터인 인터럽트 벡터를 만든다. 인터럽트 벡터는, 마이크로프로세서가 개시하는 결합된 인터럽트 경로를 지적한다.
더 유익한 실시예에서, 활성 상태에서 DMA 유닛은 DMA 모드 인터럽트 벡터를 형성하기 위해 제공되고, 평가 유닛에서 인터페이스의 제어선에 DMA 모드 인터럽트 벡터를 할당하기 위해 제공된다. 인터페이스에 의한 제어 신호의 평가 외에, DMA 유닛은, 표준 인터럽트 벡터 대신에 DMA 모드에 사용된 DMA 모드 인터럽트 벡터를 또한 만든다. 본 발명에 따라서, 하나의 제어선이 두 개의 다른 인터럽트 소스(인터럽트 모드에서의 인터페이스 및 DMA모드에서 DMA 유닛)에 대해 사용되기 때문에, 제어선에 할당된 인터럽트 벡터는 인터럽트 소스를 구별할 수 있기 위해서 변화 가능해야만 한다. 본 방법에서, DMA 모드 인터럽트 벡터는 DMA 제어 신호(DMA 인터럽트)로 개시되는 다른 인터럽트 경로를 나타낸다. 이와 같이, DMA 제어 신호(예로서, DMA 유닛에서 버퍼 메모리의 점유 레벨, 에러 전송, 제거된 데이터 교환에 대한)는 적절한 인터럽트 경로를 트리거(trigger)할 수 있다.
본 발명의 보다 더 나은 실시예에서, 활성 상태에서 DMA 유닛은 인터럽트 벡터에서 DMA 비트를 설정하기 위해 제공되고, 비활성 상태에서 DMA 유닛은 인터럽트 벡터에서 DMA 비트를 리셋하기 위해 제공된다. DMA 모드 인터럽트 벡터의 형태는 놀라울 정도로 간단한 방법에서 인터럽트 벡터의 하나의 비트를 변경시킴으로써 이해될 수 있다. DMA 비트(값 '1')를 설정함으로써, 물리적으로 동일한 벡터는 제어선에 할당되기 위해 지속되어지는 반면에, 그러나 내용은 변경된 벡터가 새로운 인터럽트 경로를 지적하도록 명백한 방법으로 수정된다. DMA 비트가 DMA 유닛(값 '0')에 의해 리셋될 때, 표준 인터럽트 벡터는 다시 이용할 수 있다.
활성 상태에서 DMA 유닛에 교환될 데이터를 버퍼링하기 위한 선형 버퍼 및 링 버퍼를 제공하는 것은 특히 유익하다. 두 가지의 저장 방법은, 인터페이스로부터 혹은 인터페이스로 전송되는 데이터를 버퍼링하기 위해, DMA 유닛에의해 이용할 수 있게 된다. 선형 버퍼에서, 데이터가 메모리 위치에서 선형적으로 저장되기 때문에 특히 보다 더 작은 데이터 시퀀스(예로서, 간단한 메시지)가 버퍼링된다. 반대로, 링 버퍼의 꼭대기 한계가 도달될 때, 링 버퍼는 링-모양의 방식으로 편성되며, 즉, 메모리 어드레스가 메모리 어드레스의 개시 값으로 리셋된다. 이것은 적절한 크기를 가진 버퍼를 제공한다. 오버플로우(overflow) 혹은 공백을 피하기 위해, 마이크로프로세서는 점유 레벨에 대한 DMA 제어 신호를 수신한다. 이 링 버퍼는, 디스플레이를 나타내기 위한 그래픽(graphic) 데이터가 전송될 때와 같은 예에서 발생할 수 있는 큰 데이터 시퀀스에 대해 특히 적절하다.
본 발명의 더 유익한 실시예에서, 데이터 교환은, 데이터가 링 버퍼에서 버퍼링 될 때, 즉, 링 버퍼의 반만 찬 점유 레벨 및 가득찬 점유 레벨에 도달될 때에, 이 점유 레벨을 나타내는 각각의 DMA 제어 신호가 마이크로프로세서로 전송될 때라는 점에서, 다음의 각 점유 레벨이 선형 버퍼의 카운터 레지스터에서 기록된 후에 많은 데이터가 여전히 교환된다는 점에서, 그리고, 다음 점유 레벨이 도달될 때 상기 수의 데이터가 선형 버퍼에 저장된다는 점에서 최적화된다. 이와 같이, 큰 데이터 시퀀스는 마이크로프로세서를 로딩하지 않은 채 버퍼링될 수 있다. 기존의 버퍼링을 가진 마이크로프로세서는, 반만 찬 점유 레벨 및, 가득찬 점유 레벨에만 제어 신호에 의해서 공고되기 때문에, 적절한 방법으로 저장 동작을 멈출 수 있는 링 버퍼의 메모리 어드레스 지정을 할 수 있는 지는 항상 의문스럽다. 위에서 언급된 방법을 구비하여, DMA 유닛은 버퍼링을 자발적으로 감시할 수 있다. 링 버퍼의 가득찬(16 바이트의 예로서) 점유 레벨의 반만 찬(8 바이트의 예로서) 점유 레벨에 정확하게 도달하지 않는 데이터 시퀀스(18 바이트의 예로서)가 버퍼링될 때, 다음의 점유 레벨(이 예에서 2바이트인)을 초과하는 많은 데이터 시퀀스는 선형 버퍼의 카운터 레지스터에 기록된다. 첫째로 링 버퍼는 이 목적을 위한 용량을 위해 사용된다. 카운터 레지스터가 각 바이트에 대한 개체로서 감소되는 반면에, 다음 점유 레벨(여기서는 '가득찬')이 도달될 때, DMA 유닛은 카운터 레지스터에 저장된 많은 데이터를 선형 버퍼에 저장하게 한다. 마이크로프로세서는 데이터 교환의 끝에서(카운터 레지스터=0) DMA 제어 신호(DMA 인터럽트)에 의해서만 로딩된다.
본 발명의 이런 양상 및 다른 양상은 이후에 서술된 실시예를 참조함으로써 명백해질 것이고, 해명되어질 것이다.
도 1에서 통신 시스템(1)은 버스(6)에 모두 연결된, 마이크로프로세서(2), DMA 유닛(3), 복수의 직렬 인터페이스(4a, 4b, 및 4c), 및 버스 제어기(5)를 포함한다. 또한 실시예의 예에서 버스(6)에 연결된 메모리(7)는 통신 시스템(1) 외부에 배열된다. 인터페이스(4a-4c)는 제어선에 의해 DMA 유닛(3)에 부가로 연결된다. 게다가, 데이터 교환이 발생하는 통신 시스템(1) 외부에 있는 데이터 처리 장치(8)는 인터페이스(4a)에 연결된다. 예에서, 이런 데이터 처리 장치는 PC응용에 역시 이용되는 PCMCIA 포맷에서의 표준 메모리 판이다. 통신 시스템(1)은 하나의 칩에 편리하게 집적된다.
본 발명에 따른 DMA 유닛(3)에 의한 데이터 교환을 서술하기 위해서, 여기에 있는 본 기능 블록은 도 2에서 더 상세하게 도시된다. 버스(6)는 데이터 버스(61) 및 어드레스 버스(62)를 포함한다. DMA 유닛(3), 마이크로프로세서(2), 및 메모리(7)는 데이터 버스(61) 및 어드레스 버스(62)와 연결된다. 부가하여, 직렬 인터페이스(4a)는 데이터 버스(61)와 연결된다. 마이크로프로세서(2)로 할당된 평가 유닛(11)(인터럽트 제어 유닛 ICU)은, 인터럽트 벡터(9) 및 할당된 DMA 모드 인터럽트 벡터(10)가 보여진 복수의 인터럽트 벡터를 포함한다. DMA 유닛(3)을 경유하여 인터페이스(4a)에 의한 제어선이 마이크로프로세서(2)에 연결된 것이 더 보여진다. DMA 유닛(3)은 이용할 수 있는 선형 버퍼(15) 및 링 버퍼(16)를 나타낼 수 있다.
도 3은 더 상세한 인터럽트 벡터(9)의 구조를 보인다. 일반적으로 인터럽트 벡터(9)는 총 8 비트인 3 개의 필드를 포함하는데, 비트0 비트(LSB)에서 시작하는 제 1의 네 개 비트(12)가 인터럽트 소스(source)임을 나타낸다. 다음 비트인 비트 4는 DMA 비트(13)이고 비트 B5-B7(MSB)은 베이직(basic) 어드레스(14)를 서술한다. 베이직 어드레스(14)는 평가 유닛(11)에서 레지스터(도시되지 않음)에 의해 한정되고, 모든 인터럽트 소스에 대해 동일하다. 베이직 어드레스(14)는, 모든 인터럽트 소스에 대한 인터럽트 벡터(9)를 포함하는 복수의 벡터 표가 사용될 수 있게 한다. 결과적으로, 다양한 인터럽트 경로는 사용된 소프트웨어에 의해 적용될 수 있고, 이런 소프트웨어는 각각 레지스터의 벡터 표에 대한 값을 기록한다. 인터럽트 벡터(9)는 마이크로프로세서(2)의 중심에서 4로 곱해지고, 그 얻어진 값은 인터럽트 소스에 할당된 인터럽트 경로에 대한 개시 어드레스로서 사용된다. 명백한 개시 어드레스를 얻음으로서, 베이직 어드레스(14)는 0에서 64(24 * 4)까지의 인터럽트 벡터(9)가 포함되지 않음으로서 선택된다.
DMA 비트(13)는 DMA 유닛(3)에 의해 설정된다. 인터페이스 혹은 다른 인터럽트 소스가 DMA 모드에서 사용될 수 없거나 혹은 사용되지 않아야만 할 때, 결합된 인터럽트 벡터(9)에서 DMA 비트(13)는 설정되지 않는다. 그 때, 인터럽트 소스(제어 신호)로부터 각각의 요청 후에, 표준 인터럽트 루틴은 개시된다. DMA 모드에서 사용될 수 있는 인터럽트 소스에 대해, DMA 비트(13)는 표준 인터럽트 경로와 DMA 모드 인터럽트 경로 사이에서 차이를 형성한다.
데이터 교환이 인터럽트 모드에서 발생되었을 때, 인터페이스(4a)는 제어선에 의해 각각의 요청(인터럽트)을 마이크로프로세서(2)로 통보한다. 제어선은 비활성 상태에서 DMA 유닛을 통해서 DMA 유닛에 의해 루프를 형성하고, 인터페이스 제어 신호는 요청에 의해 변화되지 않는다. 제어 신호는 평가 유닛(11)(ICU)에 의해 수신되고, 평가되며, 인터럽트 소스로 할당된 인터럽트 벡터(9)가 마이크로프로세서(2)의 중심으로 전송된다. 결과로서, 개시는 인터럽트 모드에서 인터페이스(4a)를 경유하여 데이터 교환을 제어하는 인터럽트 경로로 이루어진다.
예로서, 교환되어질 데이터형을 기초로 하여, DMA 모드가 도시될 때, 마이크로프로세서(2)는, 활성 신호 A를 이용하여 DMA 모드를 나타내는 활성 상태로 DMA 유닛(3)을 설정한다. 인터페이스(4a)의 제어 신호는 마이크로프로세서(2)로 직접적으로 더 이상 전송되지 않지만, DMA 유닛(3)에서 데이터 교환을 요청함으로서 평가된다. "자유로운" 제어선은 DMA 제어 신호를 전송하기 위해 사용된다. 게다가, 활성상태에서, DMA 유닛(3)에 의해 이용할 수 있게 나타난 버퍼(15 및 16)는 DMA 모드에서 데이터 교환을 위해 사용된다. DMA 유닛(3)에서 버퍼(15 및 16)의 구조는 도 4에서 도시된다. 오리엔티드(oriented) 메시지와 트랜스퍼런트(transparent) 데이터 둘 다는 따라서 DMA 유닛(3)을 이용하여 최적의 방식으로 전송될 수 있다. 메시지에 관련된 데이터의 경우에서, 인터페이스(4a)로 혹은 인터페이스에서 전송될 5 바이트는 선형 버퍼(15)에서 버퍼링될 수 있다. 할당된 카운터 레지스터(17)는 각 저장된 바이트에 대해 단일체로 감소하고, 마이크로프로세서(2)에 "0"이 도달했을 때, 버퍼(15)가 가득찬다는 것을 통지한다. 교환은, 전송될 바이트의 설정 번호가 도달되고, 마이크로프로세서(2)가 DMA 제어 신호에 의하여 또한 통지되었을 때, 자동적으로 멈추어진다. 전송될 명백한 데이터는 선택할 수 있는 크기를 구비한 링 버퍼(16)에서 버퍼링된다. 저장 한계가 도달될 때, 메모리 어드레스는 개시 값을 다시 설정한다. 링 버퍼(16)의 오버플로우를 피하기 위해서, 마이크로프로세서(2)는 DMA 제어 신호에 의해 반만 찬 혹은 가득 찬 점유 레벨을 통지한다.
소프트웨어로서는 값비싼 마이크로프로세서(2)에 의한 링 버퍼(16)의 정확한 멈춤을 간략화하기 위해서, DMA 유닛(3)은 동기화를 대신한다. 특정 방법에서 링 버퍼(16)의 저장을 멈추기 위해서 "반만 찬" 혹은 "가득찬" 점유 레벨이 발생하지 않았을 때, 마이크로프로세서(2)는, 마이크로프로세서(2) 및 버스(6)의 더 많은 부하를 이끄는 링 버퍼(16)의 메모리 어드레스에 일반적으로 의문을 표시한다. 본 발명에 따른 DMA 유닛(3)은 선형 버퍼(15) 및 링 버퍼(16)의 조합에 의해 상당히 부하를 줄인다. 데이터의 수가 다음의 "반만 찬" 혹은 "가득찬" 점유 레벨이 도달된 후에도 여전히 전송되어질 때, 링 버퍼(16)에서 저장하는 동안 카운터 레지스터(17)에 기록되고, DMA 유닛(3)은, 이것 다음의 점유 레벨이 도달되었을 때, 선형 버퍼(15)로 즉시 돌린다. 마이크로프로세서(2)의 부하는 데이터 교환의 끝에서 DMA 모드 인터럽트(카운터 레지스터=0)로 감소된다.
DMA 유닛(3)은 다음 세 가지의 경우에서 또한 제어 신호를 평가함으로서, 회로 소자 및 인터페이스(4a)와 마이크로프로세서(2)의 동기화를 위한 비용을 감소한다. 데이터 교환이 개시되었을 때, DMA 유닛(3)에서 개시 인식이 제 1 데이터 워드의 전송을 인식하고, 이것이 DMA 모드 인터럽트를 경유하여 마이크로프로세서(2)에 알려질 때까지, 개시 마이크로프로세서(2)의 부하는 회피된다. 데이터를 교환하는 동안에 에러가 발생하면, 모든 카운터 및 포인터(pointer)(예로서, 버퍼(16)에서 현재 어드레스로의)는 그들의 값에서 고정된다. 결과로서, 데이터 교환에서 갱신된 시도가 있을 때, 매우 간단한 에러 처리는 가능해진다.
이와 같이, 인터페이스(4a)로부터 매 제어 신호(인터럽트)에 반작용할 필요가 없기 때문에, 마이크로프로세서(2)는 DMA 모드에서 로딩(load)되지 않지만, 데이터 교환의 제어는 DMA 유닛(3)에 의해 주로 인계된다. 동일한 제어선이 두 개의 인터럽트 소스(인터럽트 모드 및 DMA 모드에서 인터페이스(4a))에 대해 지금 사용되기 때문에, 위에서 서술된 바와 같이 마이크로프로세서(2)의 평가 유닛(11)에서 결합 인터럽트 벡터(9)는 오프셋을 가지고 갖추어진다. 결과로서, 활성 신호(A)는 DMA 유닛(3)을 DMA 비트(13)로 역시 설정되게 한다. 따라서, 모드에 따른, 두 개의 다른 인터럽트 경로는 인터럽트의 경우에서 개시된다.
도 1은 통신 시스템의 블록도.
도 2는 본 발명에 따른 직접 메모리 액세스(DMA;Direct Memory Access) 유닛과의 데이터 교환을 설명하기 위한 상세 블록도.
도 3은 마이크로프로세서에 대한 인터럽트 벡터의 비트-당-비트 구성도.
도 4는 DMA 유닛에 포함된 버퍼의 구성도.
<도면 주요 부분에 대한 부호의 설명>
1: 통신 시스템 2: 마이크로프로세서
3: DMA 유닛 4a, 4b, 4c: 복수 직렬 인터페이스
5: 버스 제어기 6: 버스
7: 메모리 8: 데이터 처리 장치
9: 인터럽트 벡터 10: DMA 모드 인터럽트 벡터
11: 평가 유닛(ICU) 15: 선형 버퍼
16: 링버퍼 61: 데이터 버스
62: 어드레스 버스
Claims (9)
- DMA 유닛(3) 및 마이크로프로세서(2)로의 직렬 인터페이스(4a-c)를 통해, 하나 이상의 연결된 데이터 처리 장치(8)와 버스(6) 사이에서 데이터를 교환하기 위한 통신 시스템(1)이되, 상기 직렬 인터페이스(4a-c)는 제어선을 이용해 DMA 유닛(3)을 통해 마이크로프로세서(2)에 연결되는, 통신 시스템(1)에 있어서,DMA 유닛(3)은 인터럽트 모드를 나타내는 비활성 상태와 DMA 모드를 나타내는 활성 상태로 전환될 수 있는 것을 특징으로 하되, 비활성 상태에서의 DMA 유닛(3)은 마이크로세서(2)로의 제어선 상에서 인터페이스 제어 신호의 변경되지 않은 전달을 위해 제공되고, 활성 상태에서의 DMA 유닛(3)은 인터페이스 제어 신호로부터 적어도 하나의 DMA 제어 신호를 형성하기 위해 그리고, 상기 형성된 DMA 제어 신호를 제어선을 통해 마이크로프로세서(2)로 공급하기 위해 제공되고,DMA 유닛(3)은 DMA 모드에서 데이터 교환을 위해 사용되는 선형 버퍼(15) 및 링 버퍼(16)를 포함하고, DAM 유닛(3)의 선형 버퍼(15)에서 버퍼링 될 때, 교환 작업의 종료를 나타내는 DMA 제어 신호는 데이터 교환의 종료시에 상기 마이크로프로세서(2)로 전달되며, 데이터가 상기 링 버퍼(16)에서 버퍼링될 때, 점유 레벨을 나타내는 각각의 DMA 제어 신호는, 상기 링 버퍼(16)의 반만 찬 점유 레벨 및 가득찬 점유 레벨이 도달될 때, 상기 마이크로프로세서(2)로 전달되는 것을 특징으로 하는 통신 시스템(1).
- 제 1항에 있어서, 상기 마이크로프로세서(2)의 평가 유닛(11)은 상기 인터페이스(4a)의 제어선과 연결되고, 상기 제어선에 할당된 인터럽트 벡터(9)를 상기 마이크로프로세서(2)로 전달하기 위해 제공되는 것을 특징으로 하는 통신 시스템(1).
- 제 2항에 있어서, 상기 DMA 유닛(3)은 활성 상태에서 DMA 모드 인터럽트 벡터(10)를 형성하기 위해 제공되고, 상기 평가 유닛(11)에서 상기 인터페이스(4a)의 제어선에 상기 DMA 모드 인터럽트 벡터(10)를 할당하기 위해 제공되는 것을 특징으로 통신 시스템(1).
- 제 3항에 있어서, 상기 DMA 유닛(3)은 상기 활성 상태에서 상기 인터럽트 벡터(9)의 DMA 비트(13)를 설정하기 위해 제공되고, 상기 비활성 상태에서 상기 인터럽트 벡터(9)의 상기 DMA 비트(13)를 리셋하기 위해 제공되는 것을 특징으로 하는 통신 시스템(1).
- 제 1항에 있어서, 각각의 다음 점유 레벨 후에 여전히 교환될 데이터 수가 상기 선형 버퍼(15)의 카운터 레지스터(17)에 기록되고, 상기 다음 점유 레벨이 도달될 때, 이 데이터 수가 선형 버퍼(15)에 저장되는 것을 특징으로 하는 통신 시스템(1).
- 제 1항에 있어서, 교환될 제 1 데이터를 인식하기 위한 개시 인식은 활성 상태에서 상기 DMA 유닛(3)으로 제공되고, 교환될 제 1 데이터가 인지될 때, 상기 DMA 유닛(3)은, 데이터 교환의 개시를 나타내는 DMA 제어 신호를 만들기 위해 제공되는 것을 특징으로 하는 통신 시스템(1).
- DMA 유닛(3)을 통해 제어선에 의해 마이크로프로세서(2)에 연결되는 직렬 인터페이스(4a)를 통해, 하나 이상 연결된 데이터 처리 장치(8)와 메모리(7) 사이에서 데이터를 교환하기 위한 DMA 유닛(3)에 있어서,상기 DMA 유닛(3)은 인터럽트 모드를 나타내는 비활성 상태와 DMA모드를 나타내는 활성 상태 사이에서 전환될 수 있는 것을 특징으로 하되, 비활성 상태에서의 DMA 유닛(3)은 마이크로세서(2)로의 제어선 상에서 인터페이스 제어 신호의 변경되지 않은 전달을 위해 제공되고, 활성 상태에서의 DMA 유닛(3)은 인터페이스 제어 신호로부터 적어도 하나의 DMA 제어 신호를 형성하기 위해 그리고, 상기 형성된 DMA 제어 신호를 제어선을 통해 마이크로프로세서(2)로 공급하기 위해 제공되고,DMA 유닛(3)은 DMA 모드에서 데이터 교환을 위해 사용되는 링 버퍼(16) 및 선형 버퍼(15)를 포함하고, DAM 유닛(3)의 선형 버퍼(15)에서 버퍼링 될 때, 교환 작업의 종료를 나타내는 DMA 제어 신호는 데이터 교환의 종료에서 상기 마이크로프로세서(2)로 전달되며, 데이터가 상기 링 버퍼(16)에서 버퍼링될 때, 점유 레벨을 나타내는 각각의 DMA 제어 신호는, 상기 링 버퍼(16)의 반만 찬 점유 레벨 및 가득찬 점유 레벨이 도달될 때, 상기 마이크로프로세서(2)로 전달되는 것을 특징으로 하는, DAM 유닛(3).
- DMA 유닛(3) 및 마이크로프로세서(2)로의 직렬 인터페이스(4a-c)를 통해, 하나 이상의 연결된 데이터 처리 장치(8)와 버스(6) 사이에서 데이터를 교환하기 위한 통신 시스템(1)을 포함하는 무선 이동 장비이되, 상기 직렬 인터페이스(4a-c)는 제어선을 이용해 DMA 유닛(3)을 통해 마이크로프로세서(2)에 연결되는, 무선 이동 장비에 있어서 ,DMA 유닛(3)은 인터럽트 모드를 나타내는 비활성 상태와 DMA 모드를 나타내는 활성 상태로 전환될 수 있는 것을 특징으로 하되, 비활성 상태에서의 DMA 유닛(3)은 마이크로세서(2)로의 제어선 상에서 인터페이스 제어 신호의 변경되지 않은 전달을 위해 제공되고, 활성 상태에서의 DMA 유닛(3)은 인터페이스 제어 신호로부터 적어도 하나의 DMA 제어 신호를 형성하기 위해 그리고, 상기 형성된 DMA 제어 신호를 제어선을 통해 마이크로프로세서(2)로 공급하기 위해 제공되고,DMA 유닛(3)은 DMA 모드에서 데이터 교환을 위해 사용되는 링 버퍼(16) 및 선형 버퍼(15)를 포함하고, DAM 유닛(3)의 선형 버퍼(15)에서 버퍼링 될 때, 교환 작업의 종료를 나타내는 DMA 제어 신호는 데이터 교환의 종료에서 상기 마이크로프로세서(2)로 전달되며, 데이터가 상기 링 버퍼(16)에서 버퍼링될 때, 점유 레벨을 나타내는 각각의 DMA 제어 신호는, 상기 링 버퍼(16)의 반만 찬 점유 레벨 및 가득찬 점유 레벨이 도달될 때, 상기 마이크로프로세서(2)로 전달되는 것을 특징으로 하는, 이동 무선 장비.
- DMA 유닛(3) 및 마이크로프로세서(2)로의 직렬 인터페이스(4a-c)를 통해, 하나 이상의 연결된 데이터 처리 장치(8)와 버스(6) 사이에서 데이터를 교환하기 위한 통신 시스템(1)을 포함하는 데이터 처리 유닛이되, 상기 직렬 인터페이스(4a-c)는 제어선을 이용해 DMA 유닛(3)을 통해 마이크로프로세서(2)에 연결되는, 데이터처리 유닛에 있어서,DMA 유닛(3)은 인터럽트 모드를 나타내는 비활성 상태와 DMA 모드를 나타내는 활성 상태로 전환될 수 있는 것을 특징으로 하되, 비활성 상태에서의 DMA 유닛(3)은 마이크로세서(2)로의 제어선 상에서 인터페이스 제어 신호의 변경되지 않은 전달을 위해 제공되고, 활성 상태에서의 DMA 유닛(3)은 인터페이스 제어 신호로부터 적어도 하나의 DMA 제어 신호를 형성하기 위해 그리고, 상기 형성된 DMA 제어 신호를 제어선을 통해 마이크로프로세서(2)로 공급하기 위해 제공되고,DMA 유닛(3)은 DMA 모드에서 데이터 교환을 위해 사용되는 링 버퍼(16) 및 선형 버퍼(15)를 포함하고, DAM 유닛(3)의 선형 버퍼(15)에서 버퍼링 될 때, 교환 작업의 종료를 나타내는 DMA 제어 신호는 데이터 교환의 종료에서 상기 마이크로프로세서(2)로 전달되며, 데이터가 상기 링 버퍼(16)에서 버퍼링될 때, 점유 레벨을 나타내는 각각의 DMA 제어 신호는, 상기 링 버퍼(16)의 반만 찬 점유 레벨 및 가득찬 점유 레벨이 도달될 때, 상기 마이크로프로세서(2)로 전달되는 것을 특징으로 하는, 데이터 처리 유닛.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19733527.6 | 1997-08-02 | ||
DE19733527A DE19733527A1 (de) | 1997-08-02 | 1997-08-02 | Kommunikationssystem mit einer DMA-Einheit |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990023278A KR19990023278A (ko) | 1999-03-25 |
KR100638603B1 true KR100638603B1 (ko) | 2006-12-22 |
Family
ID=7837843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980031250A KR100638603B1 (ko) | 1997-08-02 | 1998-07-31 | 직접 메모리 액세스 유닛 및 직접 메모리 액세스 유닛을 구비한 통신 시스템, 이동 무선 장비 및 데이터 처리 유닛 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6125410A (ko) |
EP (1) | EP0895165B1 (ko) |
JP (1) | JP4278203B2 (ko) |
KR (1) | KR100638603B1 (ko) |
DE (2) | DE19733527A1 (ko) |
TW (1) | TW396309B (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6853385B1 (en) | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
EP1145218B1 (en) * | 1998-11-09 | 2004-05-19 | Broadcom Corporation | Display system for blending graphics and video data |
US7446774B1 (en) | 1998-11-09 | 2008-11-04 | Broadcom Corporation | Video and graphics system with an integrated system bridge controller |
US6636222B1 (en) | 1999-11-09 | 2003-10-21 | Broadcom Corporation | Video and graphics system with an MPEG video decoder for concurrent multi-row decoding |
US6768774B1 (en) | 1998-11-09 | 2004-07-27 | Broadcom Corporation | Video and graphics system with video scaling |
US8913667B2 (en) | 1999-11-09 | 2014-12-16 | Broadcom Corporation | Video decoding system having a programmable variable-length decoder |
US9668011B2 (en) | 2001-02-05 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Single chip set-top box system |
US6711646B1 (en) * | 2000-10-20 | 2004-03-23 | Sun Microsystems, Inc. | Dual mode (registered/unbuffered) memory interface |
DE10056198A1 (de) * | 2000-11-13 | 2002-02-14 | Infineon Technologies Ag | Kommunikationssystem zum Austausch von Daten unter Verwendung eines zusätzlichen Prozessors |
KR100427169B1 (ko) * | 2002-05-10 | 2004-04-14 | 뮤텔테크놀러지 주식회사 | 통신 시스템 및 이 시스템의 데이터 전송 방법 |
US7667710B2 (en) * | 2003-04-25 | 2010-02-23 | Broadcom Corporation | Graphics display system with line buffer control scheme |
US7243178B2 (en) * | 2003-05-16 | 2007-07-10 | Intel Corporation | Enable/disable claiming of a DMA request interrupt |
US8063916B2 (en) | 2003-10-22 | 2011-11-22 | Broadcom Corporation | Graphics layer reduction for video composition |
KR100546403B1 (ko) * | 2004-02-19 | 2006-01-26 | 삼성전자주식회사 | 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러 |
KR101485246B1 (ko) * | 2013-06-26 | 2015-01-21 | 주식회사 엑스엘게임즈 | 확장 원형 버퍼 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5248440A (en) * | 1975-10-15 | 1977-04-18 | Toshiba Corp | Memory access control system |
US4837677A (en) * | 1985-06-14 | 1989-06-06 | International Business Machines Corporation | Multiple port service expansion adapter for a communications controller |
JPS62226257A (ja) * | 1986-03-27 | 1987-10-05 | Toshiba Corp | 演算処理装置 |
JP2539058B2 (ja) * | 1989-03-30 | 1996-10-02 | 三菱電機株式会社 | デ―タプロセッサ |
US5535417A (en) * | 1993-09-27 | 1996-07-09 | Hitachi America, Inc. | On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes |
-
1997
- 1997-08-02 DE DE19733527A patent/DE19733527A1/de not_active Withdrawn
-
1998
- 1998-05-20 TW TW087107822A patent/TW396309B/zh not_active IP Right Cessation
- 1998-06-25 US US09/104,492 patent/US6125410A/en not_active Expired - Lifetime
- 1998-07-27 DE DE59813040T patent/DE59813040D1/de not_active Expired - Lifetime
- 1998-07-27 EP EP98202507A patent/EP0895165B1/de not_active Expired - Lifetime
- 1998-07-31 KR KR1019980031250A patent/KR100638603B1/ko not_active IP Right Cessation
- 1998-07-31 JP JP21721898A patent/JP4278203B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW396309B (en) | 2000-07-01 |
JP4278203B2 (ja) | 2009-06-10 |
KR19990023278A (ko) | 1999-03-25 |
DE19733527A1 (de) | 1999-02-04 |
EP0895165A3 (de) | 2002-06-05 |
EP0895165A2 (de) | 1999-02-03 |
US6125410A (en) | 2000-09-26 |
EP0895165B1 (de) | 2005-09-07 |
JPH11110336A (ja) | 1999-04-23 |
DE59813040D1 (de) | 2005-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100638603B1 (ko) | 직접 메모리 액세스 유닛 및 직접 메모리 액세스 유닛을 구비한 통신 시스템, 이동 무선 장비 및 데이터 처리 유닛 | |
US5860119A (en) | Data-packet fifo buffer system with end-of-packet flags | |
KR0129000B1 (ko) | 개선된 데이터 통신 장치 및 데이터 문자 판독 및 전송 방법 | |
US4174536A (en) | Digital communications controller with firmware control | |
US7054986B2 (en) | Programmable CPU/interface buffer structure using dual port RAM | |
US5918028A (en) | Apparatus and method for smart host bus adapter for personal computer cards | |
US5151895A (en) | Terminal server architecture | |
EP0239937A2 (en) | Serial communications controller | |
US5978865A (en) | System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted | |
US7191262B2 (en) | High-throughput UART interfaces | |
US6526068B2 (en) | Interface control of communication between a control processor and a digital signal processor | |
US20130086286A1 (en) | Inter-processor communication apparatus and method | |
US7028111B2 (en) | Bus system and bus interface for connection to a bus | |
US5896549A (en) | System for selecting between internal and external DMA request where ASP generates internal request is determined by at least one bit position within configuration register | |
US20050144338A1 (en) | Data transfer apparatus | |
US20030101308A1 (en) | Bus system and bus interface for connection to a bus | |
US4418384A (en) | Communication subsystem with an automatic abort transmission upon transmit underrun | |
US4405979A (en) | Data processing system having apparatus in a communications subsystem for establishing byte synchronization | |
US7043589B2 (en) | Bus system and bus interface | |
KR20010053612A (ko) | 기억 장치 및 상기 기억 장치를 동작시키기 위한 방법 | |
US6131133A (en) | Data exchange interface that directly transmits control signals either to a microprocessor or a D.M.A. controller via a first and second control line respectively | |
KR970007257B1 (ko) | 패킷 전송 시스템과, 데이타 버스 및 전용 제어라인 모두를 활용하는 방법 | |
EP0446335B1 (en) | Packet/fast packet switch for voice and data | |
EP0289771A2 (en) | Dual microprocessor control system | |
KR100339200B1 (ko) | 동적 버퍼 핸들링을 이용한 메시지 처리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121015 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131007 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 9 |
|
EXPY | Expiration of term |