KR100245807B1 - 채널 태깅을 지니는 dma 컨트롤러 - Google Patents

채널 태깅을 지니는 dma 컨트롤러 Download PDF

Info

Publication number
KR100245807B1
KR100245807B1 KR1019970029388A KR19970029388A KR100245807B1 KR 100245807 B1 KR100245807 B1 KR 100245807B1 KR 1019970029388 A KR1019970029388 A KR 1019970029388A KR 19970029388 A KR19970029388 A KR 19970029388A KR 100245807 B1 KR100245807 B1 KR 100245807B1
Authority
KR
South Korea
Prior art keywords
dma
request
bus
channel
received
Prior art date
Application number
KR1019970029388A
Other languages
English (en)
Other versions
KR19980032195A (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 KR19980032195A publication Critical patent/KR19980032195A/ko
Application granted granted Critical
Publication of KR100245807B1 publication Critical patent/KR100245807B1/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

Abstract

DMA 컨트롤러는 DMA 채널로부터 DMA 요청을 수신하고, DMA 채널을 나타내는 코덱 ID는 물론 요청된 처리를 나타내는 처리요청 ID도 발생한다. 코덱 ID는 처리요청 ID와 연계되어 DMA 컨트롤러에 저장된다. DMA 컨트롤러는 버스의 제어를 확보하고 처리요청을 처리요청 ID와 함께 버스상에 출력한다. 그리고 나서 DMA 컨트롤러는 버스의 제어를 해제한다. 버스상의 디바이스는 응답시 처리요청 ID에 회신한다.(처리요청 ID는 응답에 "태그"된다.) DMA 컨트롤러는 회신된 처리요청 ID를 이용하여 그 처리요청 ID와 관련되어 DMA 컨트롤러에 저장된 코덱 ID를 찾는다. DMA 컨트롤러는 코덱 ID를 이용하여 그 응답을 해당 DMA 채널에 연계시킨다. 분할 처리가 포스티드 리드(posted read)인 경우 DMA 컨트롤러는 회신된 처리요청 ID를 이용하여 데이터를 DMA 요청을 발생한 DMA 채널에 제공한다.

Description

채널 태깅을 지니는 DMA 컨트롤러
본 발명은 DMA(direct memory access) 컨트롤러 회로에 관한 것이다.
포스티드 리드(posted read)라 일컫는 동작은 소정의 디지털 버스 상에서 수행된다. 포스티드 리드는 첫 번째 디바이스가 처리의 첫 과정으로 버스 상에서 두 번째 디바이스로부터 데이터를 요청하는(즉 판독을 알리는) 점에서 분할 버스 처리이다. 두 번째 디바이스가 데이터를 수신하고 요청된 데이터를 버스 상에 올리는 동안 첫 번째 디바이스가 버스를 점유하기보다는 버스를 풀어 둔다. 두 번째 디바이스에 데이터가 준비되면 두 번째 디바이스는 버스의 제어를 확보하고 처리의 두 번째 과정으로 데이터를 버스 상에서 첫 번째 디바이스에 공급한다.
도 1 은 프로세서(1), 메모리(2), 버스(3), DMA 컨트롤러(4), 비디오 인코더(5), 비디오 디스플레이(6), 오디오 인코더(7) 및 스피커(8) 등이 관련되는 멀티미디어 시스템의 일예를 나타낸다. 메모리(2)에 저장된 비디오 데이터는 비디오 디스플레이(6)에 보내고 메모리(2)에 저장된 오디오 데이터는 스피커(8)에 보내는 것이 바람직할 것이다. 버스(3) 상에서 메모리(2)로부터 데이터를 판독하기 위해 포스티드 리드 동작이 사용되면 해당 데이터를 비디오 인코더에 공급하고 해당 데이터를 오디오 인코더에 공급할 DMA 컨트롤러가 필요로 된다.
도 1 은 포스티드 리드 처리를 지원하는 DMA 컨트롤러가 요구되는 멀티미디어 시스템의 일 예시도.
도 2 는 본 발명에 따른 DMA 컨트롤러가 관련되는 개략적인 블록도.
도 3 은 도 2 의 DMA 컨트롤러 회로의 상세도.
도 4 는 본 발명의 일 실시예에 따른 방법을 나타내는 플로우차트.
도 5 는 6비트의 처리요청 ID 및 4비트의 요청자 ID와 관련되는 10비트의 처리요청 ID에 대한 예시도.
도 6 은 수신된 순서와는 다른 순서로 DMA 요청이 처리되는 DMA 컨트롤러 회로의 동작을 나타내는 개략적인 플로우차트.
* 도면의 주요 부분에 대한 부호 설명 *
11: 멀티미디어 코우 프로세서 집적회로
12: PCI(Peripheral Component Interconnect) 버스
13: 호스트 프로세서
14: SDRAM(synchronous dynamic RAM)
15, 16: I/O 디바이스21: 메모리 제어 유니트
22: PCI 인터페이스23: DMA 컨트롤러 회로
24: FBUS 조정부(arbiter)25: 판독버퍼
26: 인코더27: 제어 및 주소 발생회로
28: 제어 및 조정회로29: 프로세서/캐쉬 메모리
DMA 컨트롤러는 DMA 채널로부터 DMA 요청을 받고, DMA 채널을 나타내는 코덱 ID뿐아니라 요청된 처리를 나타내는 처리요청 ID를 발생한다. 코덱 ID는 처리요청 ID와 연계되어 DMA 컨트롤러에 저장된다. DMA 컨트롤러는 버스의 제어를 확보하고 처리요청 ID와 함께 처리요청을 버스상에 출력한다. DMA 컨트롤러는 버스의 제어를 중단한다. 버스상의 디바이스는 응답시 처리요청 ID를 회신한다.(처리요청 ID가 응답에 대해 태그됨) DMA 컨트롤러는 회신된 처리요청 ID를 이용하여 그 처리요청 ID와 연계되어 DMA 컨트롤러에 저장된 코덱 ID를 찾는다. DMA 컨트롤러는 코덱 ID를 이용하여 그 응답을 해당 DMA 채널에 연계시킨다. 분할 처리가 포스티드 리드인 경우 DMA 컨트롤러는 회신된 처리요청 ID를 이용하여 데이터를 DMA 요청을 발생한 DMA 채널에 공급한다.
한 실시예에서, DMA 컨트롤러에 다수의 처리요청 ID 및 코덱 ID 쌍이 동시에 저장되어 다수의 미결된 처리가 버스 상에서 동시에 알려질 수 있도록 한다. DMA 요청은 하나의 순서로 수신되나 관련된 처리는 다른 순서로 완료될 수 있다.
이하, 첨부한 도면을 참조로 하여 본 발명의 바람직한 실시예를 상술하며, 도면 전체를 통하여 동일한 부분에는 동일한 도면부호를 사용하기로 한다.
도 2 는 멀티미디어 코우 프로세서 집적회로(11), PCI(Peripheral Component Interconnect) 버스(12), 호스트 프로세서(13), SDRAM(synchronous dynamic random access memory)(14), 두 개의 I/O 디바이스(15)(16) 등을 포함하는 시스템의 개략적인 블록도이다. 집적회로(11)는 I/O 버스(18), FBUS(19) 등 두 개의 병렬 데이터 버스를 지닌다. FBUS(19)는 포스티드 리드 처리를 지원할 수 있는 고속의 분할 처리 버스이다. 처리 ID 버스(20)는 FBUS(19)의 일부로 간주된다.
FBUS(19)에 연결되는 다섯 개의 디바이스는 벡터 프로세서, RISC(reduced instruction set computer) 프로세서 및 캐쉬 메모리를 포함하는 프로세서/캐쉬 메모리(29), SDRAM(14)에 인터페이스하기 위한 메모리 제어 유니트(21), PCI 버스(12)에 인터페이스하기 위한 PCI 인터페이스(22), I/O 디바이스(15)(16)에 인터페이스하기 위한 DMA 컨트롤러 회로(23), 그리고 FBUS 조정부(arbiter)(24) 등이다. I/O 디바이스(15)는 예컨대 비디오 인코더 인터페이스, 비디오 인코더, 비디오 디스플레이를 포함할 수 있다. I/O 디바이스(16)는 예컨대 오디오 인코더 인터페이스, 오디오 인코더, 스피커를 포함할 수 있다. 비디오 인코더 인터페이스 및 오디오 인코더 인터페이스는 도시된 실시예에서 집적회로(11)의 일부이다. 비디오 및 오디오 인터페이스의 세부사항들에 대해서는 김호영을 출원인으로 하여 1996. 10. 18자로 출원된 "Video Interface And Overlay System And Process"와 "Full Duplex Serial Codec Interface With DMA Access"라는 발명의 명칭을 갖는 미합중국 특허출원 명세서들을 참조할 수 있다. FBUS 조정부의 세부사항들에 대해서는 Amjad Z. Qureshi 등을 출원인으로 하여 출원된 "Shared Bus System With Transaction And Destination ID"라는 발명의 명칭을 갖는 미합중국 특허출원 명세서(변리사 참조번호 M-4398)와 Amjad Z. Qureshi 등을 출원인으로 하여 출원된 "DMA controller Which Receives Size Data For Each DMA Channel"라는 발명의 명칭을 갖는 미합중국 특허출원 명세서를 참조할 수 있다. 상기 네개의 미합중국 특허출원 명세서들의 내용은 본 발명에서 참조로 인용된다.
도 3 은 도 2 의 DMA 컨트롤러 회로(23)의 상세도이다. DMA 컨트롤러 회로(23)는 판독버퍼(25), 인코더(26), 제어 및 주소 발생회로(27), 제어 및 조정회로(28)를 포함한다. 인코더(26)는 그 선택 입력단(32)이 제어되는 상태에 따라 복수의 입력단(29)을 2개소의 복수의 출력단(30)(31) 중 선택된 곳에 연결하는 점에서 다중비트 채널 인코더이다. DMA 채널은 두 가지가 있는 바, 병렬 데이터 버스(33)를 통하여 I/O 디바이스(15)에 이르는 DMA 채널 0과, 병렬 데이터 버스(34)를 통하여 I/O 디바이스(16)에 이르는 DMA 채널 1이다.
도 4 는 본 발명의 일 실시예에 따른 방법을 나타낸다. I/O 디바이스(15)가 SDRAM(14)(도 2)으로부터 데이터를 필요로 하면, DMA 컨트롤러 회로(23)는 DMA 요청선(36)을 통하여 DMA 채널 0에 연계된 DMA 요청을 받는다(단계 35). DMA 컨트롤러 회로(23)는 DMA 확인응답선(37)을 통하여 I/O 디바이스(15)에 DMA 확인응답을 회신하고, 처리에 관련되는 처리요청 ID를 발생한다(단계 38). 다른 실시예에서 DMA 컨트롤러 회로(23)의 6비트 카운터는 증분되어 새로운 6비트 처리요청 ID를 발생한다. DMA 요청에 대한 처리요청 ID는 코덱 ID와 함께 메모리(40)에 저장된다(단계 39). 코덱 ID는 DMA 채널 중 어느 것이 처리요청 ID와 연계되는지 나타낸다. 2개의 DMA 채널을 지니는 본 실시예에서는 1비트 코덱 ID이면 충분하다. "0"이라는 코덱 ID는 DMA 채널 "0"을 나타내도록 저장된다. I/O 디바이스(16)로부터 DMA 요청이 수신되었다면 코덱 ID는 "1"로 되어 그 요청이 해당 DMA 채널(즉 DMA 채널 "1")에 관련되는 것임을 나타낸다.
DMA 컨트롤러 회로(23)는 버스 요청선(41)(도 2) 상의 버스요청 신호 및 수신지 ID선(42) 상의 2비트 수신지 ID를 FBUS 조정부(24)에 보내어 FBUS(19)의 제어를 위한 조정을 한다. 2비트 수신지 ID는 DMA 컨트롤러 회로(23)가 데이터를 받기 원하는 FBUS(19) 상의 다른 디바이스를 나타낸다. FBUS 조정부(24)는 FBUS에 대한 제어를 요청하는 FBUS 상의 디바이스간에 중재한다. 본 실시예에서 DMA 컨트롤러 회로(23)가 FBUS에 대한 제어를 요청하는 유일한 디바이스라 가정한다. FBUS 조정부(24)는 DMA 컨트롤러 회로의 버스 승인선(43)을 통하여 버스승인 신호를 DMA 컨트롤러 회로(23)에 회신하고, 동시에 수신지 디바이스의 디바이스 선택선 DSEL(44) 상으로 선택신호를 보내어 수신지 디바이스를 선택한다. 본 실시예에서 수신지 디바이스는 MCU(21)이다. MCU(21)는 그러므로 DSEL선(44)을 통하여 선택된다.
일단 DMA 컨트롤러 회로(23)가 버스의 주인이 되면 DMA 컨트롤러 회로(23)는 FBUS(19) 상에서 원하는 주소로 판독요청을 발생하고 처리요청 ID를 처리ID 버스(20) 상으로 출력하여(단계 45), MCU(21)가 처리ID 버스(20)로부터 처리요청 ID를 래치하도록 한다. 그후 DMA 컨트롤러 회로(23)는 버스를 포기한다. 판독요청은 "포스티드"된다.
MCU(21)는 FBUS(19) 상의 주소에 의해 인식되는 데이터를 SDRAM(14)로부터 수신하고, 자신의 버스요청, 버스승인 및 수신지 ID선(46-48)을 이용하여 FBUS의 제어를 위한 조정을 한다. FBUS 조정부(24)가 FBUS의 제어를 MCU(21)에 부여하면 MCU(21)는 처리요청 ID를 처리 ID버스(20) 상에 회신할 뿐아니라 요청된 데이터를 FBUS 상에 회신한다. 그러므로 DMA 컨트롤러 회로(23)는 처리요청 ID와 함께 데이터를 수신한다.(단계 49) 판독버퍼(25)가 FIFO(first-in-first-out) 메모리인 경우 제어 및 주소 발생회로(27)는 데이터를 판독버퍼에 로드하기에 필요한만큼 25A선을 통하여 판독버퍼(25)의 기록 포인터를 증분한다.
도 5 는 버스(20) 상의 10비트 처리ID를 나타낸다. 처리ID는 4비트 요청자 ID 및 6비트 처리요청 ID를 포함한다. MCU(21)는 FBUS의 제어를 위해 조정할 때 수신지 ID선(데이터가 보내질 디바이스를 규명)에 보낼 값을 결정하기 위해 4비트 요청자 ID(판독을 알리는 디바이스를 규명함)를 이용한다.
그러면 DMA 컨트롤러 회로(23)는 수신된 처리요청 ID를 응답 레지스터(50)에 로드한다. 수신된 처리요청 ID는 메모리(40)에 저장된 처리요청 ID와 비교된다. 일치 상태가 발견되면 상응하는 처리요청 ID와 함께 메모리(40)에 저장된 코덱 ID가 사용되어 수신된 데이터가 제공될 DMA 채널을 선택한다. 본 실시예에서 코덱 ID는 "0"이어서 DMA 채널 "0"(버스 33)이 처리에 관련됨을 나타낸다. 그러므로 이러한 코덱 ID는 선택입력단(32)을 통하여 인코더(26)(도 3)를 제어하기 위해 사용되는데, 이와 같이 하여 FBUS(19)로부터 수신된 데이터가 DMA 채널 "0"(버스 33) 및 최초에 DMA 요청을 발생한 I/O 디바이스(15)에 제공된다.(단계 53) 제어 및 조정회로(28)는 코덱 요청선(60)을 통하여 I/O 디바이스(15)의 코덱 요청신호를 발생한다. I/O 디바이스(15)는 (다른 실시예에서는 I/O 디바이스(15) 내의 인코더 인터페이스가) 데이터를 수신할 준비가 완료되면 코덱 확인응답선(61)을 통하여 코덱 확인응답 신호를 제어 및 조정회로(28)에 회신한다. 제어 및 조정회로(28)는 판독버퍼(25)로부터 데이터를 판독하고 데이터를 DMA 채널 "0"(버스 33)과 I/O 디바이스(15)에 제공하기에 필요한만큼 51번선을 통하여 판독버퍼(25)의 판독 포인터를 증분한다. 일단 포스티드 리드 처리가 완료되면 사용된 처리요청 ID 및 코덱 ID는 메모리(40)에서 지워진다. 연속적인 FBUS 처리요청을 위한 FBUS 주소는 제어 및 주소 발생회로(27) 내의 주소발생 회로(도시 생략)에서 생성된다.
도 4 의 방법은 특정의 병렬버스(FBUS(19)), 특정의 버스조정 구조, 특정의 DMA 컨트롤러 회로 구성 및 특정의 I/O 디바이스 인터페이스에 관련하여 설명하였으나, 채널 태깅 방법은 그에 한정되지 않는다. 그 방법은 포스티드 처리요청 ID를 DMA 컨트롤러 회로에 저장하기 위한 특정의 구조에 한정되지 않고, 판독버퍼 및 인코더의 이용에도 한정되지 않는다. DMA 컨트롤러 회로는 두 개 이상의 DMA 채널을 지원할 수 있다. DMA 요청을 발생하는 DMA 채널간에 조정을 하도록 적절한 조정구조가 사용될 수도 있다. 고정 우선순위 구조 그리고/또는 라운드 로빈(Round Robin) 우선순위 구조가 사용될 수도 있다. 본 실시예는 포스티드 리드 동작에 관련되지만 발생된 채널 태깅은 포스티드 라이트(posted write) 동작에도 적용된다. DMA 컨트롤러는 판독버퍼 뿐아니라 기록버퍼도 포함할 수 있는 바, 이에 대해서는 문갑주 등을 출원인으로 하여 1996. 10. 18자로 출원된 "Simultaneous Data Transfer Through Read And Write Buffers Of DMA Controller"라는 발명의 명칭을 갖는 미합중국 특허출원 명세서를 참조할 수 있으며, 상기 미합중국 특허출원 명세서의 내용은 본 발명에서 참조로 인용된다.
도 6 은 DMA 컨트롤러 회로(23)의 작동을 나타내는 개략적인 플로우차트인 바, DMA 요청이 수신된 것과는 다른 순서로 처리된다. DMA 요청은 DMA 채널 "0"과 연계되어 수신되고(단계 54), 판독요청은 DMA 요청에 대해 발생된 처리 ID와 함께 발송되고(단계 55), DMA 요청은 DMA 채널 "1"과 연계되어 수신되고(단계 56), 판독요청은 두 번째 DMA 요청에 대해 발생된 처리요청 ID와 함께 발송된다(단계 57). 그러나 채널 "1"의 DMA 요청에 대한 데이터는 채널 "0"의 DMA 요청에 대한 데이터에 앞서 FBUS(19)로부터 회신된다. 채널 "1"에 대한 데이터와 함께 수신된 처리요청 ID는 인코더(26)를 제어하기 위해 사용되어 데이터가 채널 "1"로 공급되도록 한다(단계 58). 채널 "0"에 대한 데이터가 수신되면, 채널 "0"에 대한 데이터와 함께 수신된 처리요청 ID는 인코더(26)를 제어하기 위해 사용되어 데이터가 채널 "0"으로 공급되도록 한다(단계 59). 따라서 미처리된 동작에 대한 다중의 처리요청 ID 및 코덱 ID 쌍은 동시에 메모리(40)에 저장된다.
다른 실시예에서, 제어 및 조정회로(28)는 DMA 컨트롤러 회로(23)가 소정의 시간까지 그 DMA 요청을 처리할 수 없을 때 DMA 요청을 확인응답한다. 예컨대 FBUS를 사용할 수 없을 수도 있다. 그 경우 제어 및 조정회로(28)가 DMA 요청을 확인응답하고, 어느 DMA 채널이 코덱 FIFO(도시 생략) 내에 요청을 했는지 나타내는 정보를 저장한다. 그러한 다중의 DMA 요청에 대한 정보는 코덱 FIFO 내에 저장될 수 있다. 후에 그러한 DMA 요청에 대해 저장된 정보는 코덱 FIFO로부터 출력되고, FBUS 처리요청에 대한 FBUS 주소를 발생하는데 사용된다. 예컨대, 각 DMA 채널을 위한 DMA 컨트롤러 내에 별도의 현재 주소 레지스터가 있을 수 있다. 만일 저장된 정보가 DMA 요청이 특정의 DMA 채널로부터 온 것을 나타내면, 그 정보는 FBUS 주소가 인출되는 특정의 현재 주소 레지스터를 결정하는데 사용된다. 채널 태깅을 지원하는 DMA 컨트롤러의 구체적인 실시예에 대해서는 Amjad Z. Qureshi 등을 출원인으로 하여 1996. 10. 18자로 출원된 "DMA controller Which Receives Size Data For Each DMA Channel"라는 발명의 명칭을 갖는 미합중국 특허출원 명세서를 참조할 수 있으며, 상기 미합중국 특허출원 명세서의 내용은 본 발명에서 참조로 인용된다.
버스 상에서 메모리로부터 데이터를 판독하기 위해 포스티드 리드 동작이 사용되면 DMA 컨트롤러는 해당 데이터를 비디오 인코더에 공급하고 해당 데이터를 오디오 인코더에 공급한다.
본 발명을 특정의 바람직한 실시예에 관련하여 도시하고 설명하였지만, 본 발명이 그에 한정되는 것은 아니다. 처리요청 ID 및 코덱 ID 쌍은 DMA 컨트롤러 상의 메모리에 저장할 필요는 없다. 회신된 처리요청 ID가 처리와 관련된 DMA 채널을 규명하기 위해 사용되는 다른 기술도 적용 가능하다. 따라서, 이하의 특허청구의 범위에 의해 마련되는 본 발명의 정신이나 분야를 이탈하지 않는 한도내에서 본 발명이 다양하게 개조 및 변화될 수 있다는 것을 당 업계에서 통상의 지식을 가진 자는 용이하게 알 수 있다.

Claims (12)

  1. 제 1 DMA 채널 및 제 2 DMA 채널과 관련된 DMA 욕구를 서비스하기 위한 DMA요구를 서비스하기 위한 DMA제어방법에 있어서,
    상기 제1DMA채널 또는 상기 제 2DMA채널과 관련된 DMA요구를 수신하여 상기 DMA요구와 관련된 트랜잭션 ID를 발생하는 제 1단계와 상기 상기 트랜잭션 ID와 요구 사항을 승인 받은 버스 상에 출력하는 제3단계와, 상기 버스로부터 데이터와 상기 트랜잭션 ID를 수신하는 제4단계와, 상기 수신된 트랜잭션 ID와 상기 저장된 트랜잭션 ID를 이용하여 상기 수신되 데이터를 공급할 DMA채널을 결정하는 제5단계를 구비한 것을 특징으로 하는 DMA제어방법.
  2. 제 1 항에 있어서,
    상기 (c)단계는 수신된 상기 처리요청 ID를 저장된 상기 처리요청 ID와 비교하는 단계와, 수신된 상기 처리요청 ID가 저장된 상기 처리요청 ID와 일치하면 상기 제 1 DMA 채널에 상기 데이터를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 4 항에 있어서,
    (a)단계에서 저장된 상기 처리요청 ID는 상기 제 1 및 제 2 DMA 채널 중 어느 것에 상기 데이터를 제공하는지 나타내는 DMA 채널 ID비트와 함께 저장되는 것을 특징으로 하는 방법.
  4. DMA 채널과 관련되는 DMA 요청을 수신하고, 관련된 처리요청 ID를 발생하고, 상기 처리요청 ID를 저장하는 수단;
    상기 처리요청 ID를 버스상에 출력하고, 상기 버스로부터 수신된 데이터와 관련되어 상기 버스로부터 처리요청 ID를 수신하는 수단; 그리고
    수신된 상기 처리요청 ID가 저장된 상기 처리요청 ID와 일치하면 상기 수신된 데이터를 상기 DMA 채널에 제공하는 수단을 포함하여 이루어지는 것을 특징으로 하는 DMA 컨트롤러 회로.
  5. 제 8 항에 있어서,
    상기 버스로부터 수신된 상기 데이터를 저장하는 버퍼를 추가로 구비하는 것을 특징으로 하는 DMA 컨트롤러 회로.
  6. 제 8 항에 있어서,
    상기 제공하는 수단은 인코더인 것을 특징으로 하는 DMA 컨트롤러 회로.
  7. 제 8 항에 있어서,
    DMA 요청을 수신하는 상기 수단은 상기 DMA 요청의 수신에 응답하여 DMA 확인응답 신호를 상기 DMA 채널에 회신하는 것을 특징으로 하는 DMA 컨트롤러 회로.
  8. 제 11 항에 있어서,
    DMA 요청을 수신하는 상기 수단은 상기 DMA 채널에 요청신호를 출력하여 상기 데이터가 상기 DMA 채널에 전송되기에 유용함을 나타내고, DMA 요청을 수신하는 상기 수단은 상기 DMA 채널로부터 확인응답 신호를 수신하는 것을 특징으로 하는 DMA 컨트롤러 회로.
  9. 제 8 항에 있어서,
    상기 처리요청 ID를 저장하는 수단은 DMA 요청과 관련된 DMA 채널을 나타내는 정보를 처리요청 ID와 함께 저장하는 것을 특징으로 하는 DMA 컨트롤러 회로.
  10. 제 8 항에 있어서,
    상기 처리요청 ID를 저장하는 수단은 서로 다른 DMA 요청과 관련되는 복수의 처리요청 ID를 저장하는 것을 특징으로 하는 DMA 컨트롤러 회로.
  11. 제 8 항에 있어서,
    상기 처리요청 ID를 출력하는 수단은 어드레스도 발생하고 그 어드레스를 상기 처리요청 ID와 함께 상기 버스상에 출력하는 것을 특징으로 하는 DMA 컨트롤러 회로.
  12. 제 1 버스에 연결되는 입력과, 출력을 지니는 판독버퍼;
    상기 판독버퍼에 연결되는 입력과, 제 2 버스에 연결되는 제 1 출력과, 제 3 버스에 연결되는 제 2 출력과, 선택 입력을 지니는 인코더;
    상기 제 1 버스에 연결되는 어드레스 발생기; 그리고
    복수의 처리요청 ID 및 DMA 채널 ID 쌍을 저장하는 메모리를 포함하여 이루어지고,
    DMA 채널 ID는 처리요청 ID와 관련된 DMA 요청이 제 2 버스와 관련되어 DMA 컨트롤러 회로에 의해 수신되었는지 또는 제 3 버스와 관련되어 수신되었는지 나타내고, 처리요청 ID는 상기 제 1 버스로부터 상기 DMA 컨트롤러 회로에 수신되어 상기 메모리에 저장된 모든 처리요청 ID와 비교되고, 처리요청 ID가 수신된 처리요청 ID와 일치하는 처리요청 ID 및 DMA 채널 ID 쌍 중에서 DMA 채널 ID는 인코더의 선택 입력을 제어하는데 사용되는 것을 특징으로 하는 DMA 컨트롤러 회로.
KR1019970029388A 1996-10-18 1997-06-30 채널 태깅을 지니는 dma 컨트롤러 KR100245807B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/730,611 US5918070A (en) 1996-10-18 1996-10-18 DMA controller with channel tagging
US8/730,611 1996-10-18

Publications (2)

Publication Number Publication Date
KR19980032195A KR19980032195A (ko) 1998-07-25
KR100245807B1 true KR100245807B1 (ko) 2000-03-02

Family

ID=24936034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970029388A KR100245807B1 (ko) 1996-10-18 1997-06-30 채널 태깅을 지니는 dma 컨트롤러

Country Status (2)

Country Link
US (1) US5918070A (ko)
KR (1) KR100245807B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140128823A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 멀티-트랜잭션의 아토믹 라이트 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6662216B1 (en) * 1997-04-14 2003-12-09 International Business Machines Corporation Fixed bus tags for SMP buses
US6108721A (en) * 1998-06-29 2000-08-22 Hewlett-Packard Company Method and apparatus for ensuring data consistency between an i/o channel and a processor
US6813251B1 (en) * 1999-07-27 2004-11-02 Intel Corporation Split Transaction protocol for a bus system
US6442656B1 (en) * 1999-08-18 2002-08-27 Ati Technologies Srl Method and apparatus for interfacing memory with a bus
US7529799B2 (en) * 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
JP4245852B2 (ja) * 2002-03-19 2009-04-02 富士通マイクロエレクトロニクス株式会社 ダイレクトメモリアクセス装置
US7124231B1 (en) * 2002-06-14 2006-10-17 Cisco Technology, Inc. Split transaction reordering circuit
US6996654B2 (en) * 2003-05-09 2006-02-07 Hewlett-Packard Development Company, L.P. Systems and methods for generating multiple transaction identifiers to reduced latency in computer architecture
US7454551B2 (en) * 2004-05-26 2008-11-18 Synopsys, Inc. Reconstructing transaction order using clump tags
TWI258086B (en) * 2004-09-17 2006-07-11 Via Tech Inc Integrated PCI interface card
US7447810B2 (en) * 2004-10-28 2008-11-04 Intel Corporation Implementing bufferless Direct Memory Access (DMA) controllers using split transactions
US7734832B2 (en) * 2004-11-10 2010-06-08 Microsoft Corporation Method and system for structured programmed input/output transactions
US8079036B2 (en) * 2004-11-10 2011-12-13 Microsoft Corporation Method and system for structured DMA transactions
CN101515314A (zh) * 2009-03-26 2009-08-26 北京中星微电子有限公司 一种播放主控制器侧多媒体文件的方法及移动终端
US8943238B2 (en) * 2012-05-18 2015-01-27 Atmel Corporation Operations using direct memory access

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324534A (ja) * 1992-05-15 1993-12-07 Nec Corp Dma転送方式

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
ATE172038T1 (de) * 1992-06-05 1998-10-15 Compaq Computer Corp Plattenantriebsteuergerät mit nachschreibcachespeicher
US5586253A (en) * 1994-12-15 1996-12-17 Stratus Computer Method and apparatus for validating I/O addresses in a fault-tolerant computer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324534A (ja) * 1992-05-15 1993-12-07 Nec Corp Dma転送方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140128823A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 멀티-트랜잭션의 아토믹 라이트 방법
KR102094475B1 (ko) 2013-04-29 2020-03-27 삼성전자주식회사 멀티-트랜잭션의 아토믹 라이트 방법
US10642531B2 (en) 2013-04-29 2020-05-05 Samsung Electronics Co., Ltd. Atomic write method for multi-transaction

Also Published As

Publication number Publication date
KR19980032195A (ko) 1998-07-25
US5918070A (en) 1999-06-29

Similar Documents

Publication Publication Date Title
KR100245807B1 (ko) 채널 태깅을 지니는 dma 컨트롤러
US5982672A (en) Simultaneous data transfer through read and write buffers of a DMA controller
US6173349B1 (en) Shared bus system with transaction and destination ID
US20060004976A1 (en) Shared memory architecture
US5974480A (en) DMA controller which receives size data for each DMA channel
JPH03127147A (ja) 情報処理システム
US6763448B1 (en) Microcomputer and microcomputer system
US6766386B2 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
US6782433B2 (en) Data transfer apparatus
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
KR100218265B1 (ko) 우선 순위 요구 및 바이패스 버스
US6415365B1 (en) Write buffer for use in a data processing apparatus
US8180942B2 (en) Arbitration device and method
JPS60117327A (ja) ディスプレイ装置
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
US7363465B2 (en) Semiconductor device, microcomputer, and electronic equipment
JP2021077121A (ja) メモリコントローラ、メモリコントローラで実施される方法および装置
JPS6111876A (ja) デ−タ転送方式
KR100441996B1 (ko) 직접 메모리 액세스 제어기 및 제어 방법
EP0762293A2 (en) Control device for controlling a connection between an arithmetic processor and a main memory unit
JP2731768B2 (ja) メモリ制御装置
JPH08339353A (ja) マルチプロセッサ装置
US5790892A (en) Information handling system for modifying coherency response set to allow intervention of a read command so that the intervention is not allowed by the system memory
JP2806771B2 (ja) バス調停回路
JPH11203253A (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: 20121130

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee