KR20040034747A - 다이나믹 직접 메모리 액세스 제어 장치 및 방법 - Google Patents

다이나믹 직접 메모리 액세스 제어 장치 및 방법 Download PDF

Info

Publication number
KR20040034747A
KR20040034747A KR1020020062786A KR20020062786A KR20040034747A KR 20040034747 A KR20040034747 A KR 20040034747A KR 1020020062786 A KR1020020062786 A KR 1020020062786A KR 20020062786 A KR20020062786 A KR 20020062786A KR 20040034747 A KR20040034747 A KR 20040034747A
Authority
KR
South Korea
Prior art keywords
bus
memory access
direct memory
idle
dma
Prior art date
Application number
KR1020020062786A
Other languages
English (en)
Inventor
구강모
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020020062786A priority Critical patent/KR20040034747A/ko
Publication of KR20040034747A publication Critical patent/KR20040034747A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 이중화 시스템의 직접 메모리 액세스 제어 장치에 있어서, 특히 직접 메모리 액세스 제어 동작을 중앙 처리부가 버스를 사용하지 않는 시간을 감지하여 중앙 처리부의 부하에 영향을 주지 않고 직접 메모리 액세스 동작을 수행할 수 있도록 한 것이다.
본 발명에 따른 다이나믹 직접 메모리 액세스 제어 장치는, 중앙 처리부와 프로세서 버스를 공유하고 자신측 및 타측 메모리를 액세스하는 직접 메모리 액세스 제어부와; 상기 직접 메모리 액세스 제어부 내부에, 매 오퍼레이션마다 상기 중앙 처리부가 상기 프로세서 버스를 사용하고 있는지를 감지하고 설정된 기준값과 비교하는 유휴 버스 클럭 감지기와, 상기 유휴 버스클럭 감지기에 의해 감지된 버스 클럭 개수가 설정된 기준값 이상이면 직접 메모리 액세스 동작을 수행하는 직접 메모리 액세스 제어기를 포함하는 것을 특징으로 한다.

Description

다이나믹 직접 메모리 액세스 제어 장치 및 방법{Apparatus and method for dynamic direct memory access control}
본 발명은 이중화 시스템의 직접 메모리 액세스 제어 장치에 있어서, 특히 중앙 처리부의 버스 유휴 시간에 직접 메모리를 액세스할 수 있는 것으로, 중앙 처리부의 부하에 영향을 주지 않고 직접 동작을 함으로써, 직접 메모리 액세스를 하는 경우에도 중앙 처리부의 성능을 저하시키지 않도록 한 다이나믹 직접 메모리 액세스 제어 장치 및 방법에 관한 것이다.
직접 메모리 액세스(DMA: Direct Memory Access)는 부착된 주변장치(하드디스크 드라이브 등)로부터 컴퓨터 마더보드 상의 메모리로 데이터를 직접 보낼 수 있는 몇몇 컴퓨터의 버스의 기능이다. 이때, 마이크로프로세서(CPU)는 데이터 전송에 관여하지 않으므로, 전체적인 컴퓨터 성능이 높아진다.
도 1은 종래 직접 메모리 액세스 제어 장치의 구성도이다.
도 1을 참조하면, 중앙 처리부(110)와 DMA 제어부(120)가 동일 버스(140)를 사용하여 메모리(130)를 액세스하며, DMA 제어부(120)에 의해 타측 메모리(130)와 이중화되어 있는 구조이다.
이러한 구조에서는 중앙 처리부(110)와 DMA 제어부(120)가 같은 프로세서 버스(140)를 사용하기 때문에, 메모리(130)에 리드/라이트 동작을 수행하게 된다. 그리고 DMA 제어부(120)는 자신측 메모리(130)에 저장된 데이터를 타측 메모리(150)에 저장을 수행함으로써, 이중화 동작이 가능케한다.
그러나, 같은 프로세서 버스를 사용하는 중앙 처리부(110)와 DMA 제어부(120)는 둘 중 어느 한쪽의 성능을 높이면 나머지 한쪽은 그 만큼 성능이 낮아질 우려가 있다. 여기서 성능이라함은 단위 시간 내에 버스 점유율을 의미한다.
어플리케이션에 따라서 CPU(Central Processor Unit) 성능을 중요시할 때도 있고, 반대로 DMA 성능을 중요시하는 경우도 있다.
어플리케이션(Application)에 따라 성능을 조절하기 위한 기능으로서, DMA제어부(120) 내에 단순히 DMA 동작시 버스 점유율을 조절할 수 있는 레지스터(register)가 있다. 즉, 이 기능은 중앙 처리부(110)가 버스를 사용하든 사용하지 않든, 여기에 전혀 영향을 받지 않고 단순하게 DMA 동작과 그 다음 DMA 동작 사이의 간격을 조절하는 것이다.
그러나, 중앙 처리부(110)의 성능이 요구되는 어플리케이션에서 DMA 동작의 간격을 넓힘으로써, 중앙 처리부(110)가 버스를 보다 많이 점유할 수 있게 하지만, DMA 성능은 저하되게 된다.
또한 중앙 처리부(110)가 버스를 주기적으로 사용하는 것이 아니라, 때로는 빈번하게 사용하고 때로는 오랜 시간 동안 사용하지 않을 때가 있으므로, 중앙 처리부(110)가 버스를 빈번하게 사용할 때 DMA 동작이 중간에 들어오게 되면 그 만큼 중앙 처리부(110)의 성능이 저하되는 문제가 있다.
본 발명은 상기한 문제를 해결하기 위해 안출된 것으로서, 중앙 처리부에서 프로세서 버스를 사용하지 않는 것을 감지하고 감지된 시간이 일정 이상일 때 DMA 동작을 수행할 수 있도록 한 다이나믹 직접 메모리 액세스 제어장치 및 방법을 제공함에 그 목적이 있다.
다른 특징은 중앙 처리부에서의 버스 비 점유시 유휴되는 버스 클럭의 개수를 감지하여 일정 이상의 클럭 개수가 감지되면 DMA 제어 동작을 수행할 수 있도록 한 다이나믹 직접 메모리 액세스 제어 장치 및 방법을 제공함에 그 목적이 있다.
도 1은 종래 직접 메모리 액세스 제어 장치를 나타낸 구성도.
도 2는 본 발명 실시 예에 따른 다이나믹 직접 메모리 액세스 제어장치를 나타낸 구성도.
도 3은 본 발명에 따른 다이나믹 직접 메모리 액세스 제어 방법을 나타낸 흐름도.
<도면의 주요부분에 대한 부호의 설명>
210...중앙 처리부220...DMA 제어부
230,250...메모리221...유휴 버스 클럭 감지기
222...DMA 제어기
상기한 목적 달성을 위한 본 발명에 따른 다이나믹 직접 메모리 액세스 제어 장치는,
중앙 처리부와 프로세서 버스를 공유하고 자신측 및 타측 메모리를 액세스하는 직접 메모리 액세스 제어부와;
상기 직접 메모리 액세스 제어부 내부에, 매 오퍼레이션마다 상기 중앙 처리부가 상기 프로세서 버스를 사용하고 있는지를 감지하고 설정된 기준값과 비교하는 유휴 버스 클럭 감지기와, 상기 유휴 버스클럭 감지기에 의해 감지된 버스 클럭 개수가 설정된 기준값 이상이면 직접 메모리 액세스 동작을 수행하는 직접 메모리 액세스 제어기를 포함하는 것을 특징으로 한다.
본 발명에 따른 다이나믹 직접 메모리 액세스 제어방법은,
매 오퍼레이션마다 중앙 처리부가 프로세서 버스를 사용하고 있는지 유휴 버스 클럭을 감지하는 클럭감지단계;
상기 감지된 유휴 버스 클럭 개수와 설정된 기준값 이상이 될 때까지 상기 유휴 버스 클럭을 감지하는 비교단계;
상기 비교결과 버스 유휴 클럭 개수가 설정된 기준값 이상이면 직접 메모리 액세스 동작을 수행하는 DMA 동작단계;
직접 메모리 액세스한 어드레스가 마지막 어드레스까지 액세스를 수행하는 단계를 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 설명하면 다음과 같다.
도 2는 본 발명에 따른 다이나믹 직접 메모리 액세스 제어장치를 나타낸 구성도이다.
도 2를 참조하면, 프로세서 버스(240)를 중앙 처리부(CPU,210)와 DMA 제어부(220)에서 공유하여 메모리(230)로의 리드 및 라이트 동작을 수행하며, DMA 제어부(220)의 동작시 자신측 메모리(230)의 데이터를 읽어서 타측 메모리(240)로의 옮겨서 이중화 동작이 가능케 한다.
여기서, 상기 DMA 제어부(220)는 프로세서 버스의 유휴 상태 여부를 감지하여 일정 이상 유휴 상태일 경우 DMA 제어기(222)에 알려주는 유휴 버스 클럭 감지기(221)와, 유휴 버스 클럭 감지기(221)에 의해 프로세서 버스의 유휴 상태일 때 DMA 동작을 수행하는 DMA 제어기(222)를 포함하는 구성이다.
상기와 같은 본 발명에 따른 다이나믹 직접 메모리 액세스 제어 장치 및 방법에 대하여 첨부된 도 2 및 도 3을 참조하여 설명하면 다음과 같다.
도 2를 참조하면, 중앙 처리부(CPU,210)와 DMA 제어부(220)는 프로세서 버스(240)를 공유하여 메모리(230)로의 리드 및 라이트 동작을 수행하며, DMA 제어부(220)는 중앙 처리부(210)에서 프로세서 버스를 사용하지 않는 즉, 유휴 상태일 때 직접 메모리 액세스 동작을 수행하여 자신측 메모리(230)의 데이터를 읽어서 타측 메모리(240)로의 옮겨서 이중화 동작이 가능케 한다.
상기 DMA 제어부(220)는 유휴 버스클럭 감지기(221)와 DMA 제어기(222)로 구성되며, 유휴 버스클럭 감지기(221)는 프로세서 버스의 비지 또는 아이들 신호에 의해 유휴되는 버스 클럭(clock)을 감지하고 감지된 결과를 카운트 증가시킨다.
이때 감지된 유휴 버스 클럭의 개수가 설정된 기준값 이상일 경우 DMA 제어기(222)의 버스 유휴 상태를 알린다. 여기서, 상기 유휴 버스 클럭 감지기(221)는 프로세서 버스가 아이들 상태 이후 얼마동안 대기하고 그 후에 DAM 동작을 시작할 것인가를 설정할 수 있는 레지스터를 포함하고 있다.
그러면 DMA 제어기(222)는 유휴 버스 클럭 감지기(221)에 의해 프로세서 버스의 유휴 상태를 인식하여 DMA 동작을 수행하여, 할당된 메모리(230)의 어드레스를 읽어서 타측 메모리(250)로 데이터를 전달하게 된다.
다시 말하면, DMA 제어부(220) 내부의 유휴 버스 클럭 감지기(210)는 매 오퍼레이션 마다 중앙 처리부(210)가 프로세서 버스(240)를 점유하고 있는지를 유휴되는 버스 클럭의 개수를 감지하고, 감지한 결과 프로세서 버스(240)를 점유하지 않는 것으로 판단되면, 다시 재 감지하게 된다.
이때, 감지한 결과 중앙 처리부(210)가 프로세서 버스(240)를 연속하여 설정된 기준 값 이상의 개수만큼 버스 클럭을 점유하지 않는다면 유휴 버스 클럭 감지기(221)는 DMA 제어기(222)에 중앙 처리부(240)에서 프로세서 버스를 사용하지 않는다는 것을 알려주게 되며, DMA 제어기(222)는 직접 메모리 액세스 동작을 수행하여, 프로세서 버스를 이용하여 메모리(230)로의 접근을 시도한다.
즉, 특정 유휴 클럭 개수(시간) 만큼 버스 유휴 시간이더라도 중앙 처리부(210)가 언제 다시 프로세서 버스를 사용할 수도 있기 때문에, 설정된 기준 값을 정해서 결정하게 되며, 또 중앙 처리부(210)에서 프로세서 버스를 이용하는데 지연되지 않도록 한다.
도 3은 본 발명에 따른 다이나믹 직접 메모리 액세스 제어 방법을 나타낸흐름도이다.
도 3을 참조하면, 매 오퍼레이션 마다 중앙 처리부가 프로세서 버스를 사용하고 있는지를 유휴 버스 클럭으로 감지하고(S201), 감지한 결과 프로세서 버스를 사용하고 있지 않으면 감지된 유휴 버스 클럭 개수의 카운트를 증가시키고, 상기 감지된 프로세서 버스 클럭의 비 점유 횟수가 설정된 기준 값과 비교한다(S202).
이때 비 점유 클럭의 감지 개수가 설정된 기준값 보다 작으면 계속 프로세서 버스의 비 점유 여부를 감지하고(S201), 기준 값 이상이면 중앙 처리부가 프로세서 버스를 사용하고 있는 않는다는 것이므로 DMA 제어기에 알려준다.
DMA 제어기는 버스를 사용하지 않고 있는 버스 점유 시간 동안 동작하여(S203), 프로세서 버스를 점유하여 메모리로의 접근과 타측 메모리로의 액세스를 수행함으로써, 이중화 동작이 가능케한다.
여기서, DMA 제어기는 할당된 메모리(230)의 어드레스가 마지막 어드레스인가를 확인한 후, 마지막 어드레스까지 읽지 않았으면 버스 유휴 여부를 감지하는 단계(S201)를 진행하면서 마지막 어드레스까지 메모리를 액세스하게 된다(S204). 이는 DMA 제어기 내부의 레지스터에서 소스 어드레스, 목적지 어드레스와 사이즈로 구성하고, 소스 어드레스부터 일정 사이즈만큼을 더한 데이터를 목적지 어드레스로 복사하여 전달해 준다.
상술한 바와 같이, 중앙 처리부가 빈번하게 프로세서 버스를 사용하고 있을 때에는 직접메모리 액세스를 하지 않고 대기하며, 중앙 처리부가 버스를 사용하지 않고 있는 버스 유휴 시간에만 직접 메모리 액세스를 수행함으로써, 프로세서 버스를 보다 효율적으로 사용할 수 있다.
실시 예로서, 이동통신 시스템(IMT-2000, WLL, IS-95C, 1xEV-Do) 내의 기지국 또는 기지국 제어기 내의 이중화된 프로세서 보드에 상기 다이나믹 직접 메모리 액세스 제어 장치를 적용할 수도 있다.
상술한 바와 같이 본 발명에 따른 다이나믹 직접 메모리 액세스 제어장치 및 방법에 의하면, 중앙 처리부의 버스 사용 여부를 유휴 버스 클럭으로 감지하여 버스를 일정 클럭 이상 사용하고 있는 않을 때 DMA 제어 동작을 수행할 수 있도록 함으로써, 버스 사용 효율을 높을 수 있으며, 또한 중앙 처리부에서도 기존 보다 버스를 쉽게 점유할 수 있고, DMA 성능을 향상시켜 줄 수 있는 효과가 있다.

Claims (3)

  1. 이중화를 위한 직접 메모리 액세스 장치에 있어서,
    중앙 처리부와 프로세서 버스를 공유하고 자신측 및 타측 메모리를 액세스하는 직접 메모리 액세스 제어부와;
    상기 직접 메모리 액세스 제어부 내부에, 매 오퍼레이션마다 상기 중앙 처리부의 프로세서 버스 사용 여부를 감지하고 설정된 기준값과 비교하는 유휴 버스 클럭 감지기와, 상기 유휴 버스 클럭 감지기에 의해 감지된 버스 클럭 개수가 설정된 기준값 이상이면 직접 메모리 액세스 동작을 수행하는 직접 메모리 액세스 제어기를 포함하는 것을 특징으로 하는 다이나믹 직접 메모리 액세스 제어장치.
  2. 제 1항에 있어서,
    상기 유휴 버스 클럭 감지기는 유휴 되는 버스 클럭을 감지하고 그 유휴 버스 클럭의 개수를 설정된 기준값 만큼 카운트하는 것을 특징으로 하는 다이나믹 직접 메모리 액세스 제어장치.
  3. 이중화를 위한 직접 메모리 액세스 방법에 있어서,
    매 오퍼레이션마다 중앙 처리부가 프로세서 버스를 사용하고 있는지 유휴 버스 클럭을 감지하는 클럭감지단계;
    상기 감지된 유휴 버스 클럭 개수와 설정된 기준값 이상이 될 때까지 상기유휴 버스 클럭을 감지하는 비교단계;
    상기 비교결과 버스 유휴 클럭 개수가 설정된 기준값 이상이면 직접 메모리 액세스 동작을 수행하는 DMA 동작단계;
    직접 메모리 액세스한 어드레스가 마지막 어드레스까지 액세스를 수행하는 단계를 포함하는 것을 특징으로 하는 다이나믹 직접 메모리 액세스 제어방법.
KR1020020062786A 2002-10-15 2002-10-15 다이나믹 직접 메모리 액세스 제어 장치 및 방법 KR20040034747A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020062786A KR20040034747A (ko) 2002-10-15 2002-10-15 다이나믹 직접 메모리 액세스 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020062786A KR20040034747A (ko) 2002-10-15 2002-10-15 다이나믹 직접 메모리 액세스 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20040034747A true KR20040034747A (ko) 2004-04-29

Family

ID=37333760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020062786A KR20040034747A (ko) 2002-10-15 2002-10-15 다이나믹 직접 메모리 액세스 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20040034747A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746364B1 (ko) * 2006-07-28 2007-08-06 엠텍비젼 주식회사 메모리 공유 방법 및 장치
US10255079B2 (en) 2016-07-01 2019-04-09 Samsung Electronics Co., Ltd. Integrated circuit device including wake-up control circuit and electronic device including the same
CN114900390A (zh) * 2022-03-28 2022-08-12 深圳市元征科技股份有限公司 数据传输方法、装置、电子设备及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746364B1 (ko) * 2006-07-28 2007-08-06 엠텍비젼 주식회사 메모리 공유 방법 및 장치
WO2008013430A1 (en) * 2006-07-28 2008-01-31 Mtekvision Co., Ltd. Method and apparatus for sharing memory
US10255079B2 (en) 2016-07-01 2019-04-09 Samsung Electronics Co., Ltd. Integrated circuit device including wake-up control circuit and electronic device including the same
US10678556B2 (en) 2016-07-01 2020-06-09 Samsung Electronics Co., Ltd. Integrated circuit device including wake-up control circuit and electronic device including the same
CN114900390A (zh) * 2022-03-28 2022-08-12 深圳市元征科技股份有限公司 数据传输方法、装置、电子设备及存储介质
CN114900390B (zh) * 2022-03-28 2024-05-14 深圳市元征科技股份有限公司 数据传输方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US10983924B2 (en) Information processing device and processor
US6675253B1 (en) Dynamic routing of data across multiple data paths from a source controller to a destination controller
US5941964A (en) Bridge buffer management by bridge interception of synchronization events
US20050289317A1 (en) Method and related apparatus for accessing memory
US6356963B1 (en) Long latency interrupt handling and input/output write posting
US5619706A (en) Method and apparatus for switching between interrupt delivery mechanisms within a multi-processor system
US6807590B1 (en) Disconnecting a device on a cache line boundary in response to a write command
JP2008009817A (ja) 半導体装置及びデータ転送方法
JP2007508607A (ja) 複数のプロセッサと1つのメモリシステムを有するシステムのためのメモリインタフェース
US6473814B1 (en) System for optimally tuning a burst length by setting a maximum burst length based on a latency timer value and adjusting the maximum burst length based on a cache line size
US5933613A (en) Computer system and inter-bus control circuit
KR100633853B1 (ko) 디스크 드라이브 인터페이스들 사이에 인터럽트를공유하기 위한 방법 및 장치
US6754780B1 (en) Providing data in response to a read command that maintains cache line alignment
KR20040034747A (ko) 다이나믹 직접 메모리 액세스 제어 장치 및 방법
US5761461A (en) Method and system for preventing peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data processing system
US5867676A (en) Reset circuit for a peripheral component interconnect bus
US5548797A (en) Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal
US11860804B2 (en) Direct memory access (DMA) controller, electronic device using the DMA controller and method of operating the DMA controller
JP2010049718A (ja) 半導体装置
JP2007108858A (ja) ピン共有装置およびピン共有方法
KR100377340B1 (ko) 교환기의 프로토콜 정합장치
JP2001005632A (ja) Lcdコントロール回路
CN115687196A (zh) 用于对多通道存储器进行控制的方法和装置
JP3206013B2 (ja) ダイレクト・メモリ・アクセス転送制御装置
KR100604569B1 (ko) 멀티 프로세서간 데이터 통신장치와 그 장치를 포함하는이동 통신 단말기

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination