KR20030022493A - 통신 시스템의 메모리 억세스 장치 - Google Patents

통신 시스템의 메모리 억세스 장치 Download PDF

Info

Publication number
KR20030022493A
KR20030022493A KR1020010055605A KR20010055605A KR20030022493A KR 20030022493 A KR20030022493 A KR 20030022493A KR 1020010055605 A KR1020010055605 A KR 1020010055605A KR 20010055605 A KR20010055605 A KR 20010055605A KR 20030022493 A KR20030022493 A KR 20030022493A
Authority
KR
South Korea
Prior art keywords
memory
cpu
access
dma
bus
Prior art date
Application number
KR1020010055605A
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 KR1020010055605A priority Critical patent/KR20030022493A/ko
Publication of KR20030022493A publication Critical patent/KR20030022493A/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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가 메모리 억세스를 수행하는 동안에도 CPU가 기다리지 않고 다른 작업을 수행할 수 있도록 한 통신 시스템의 메모리 억세스 장치에 관한 것으로, 시스템 동작에 필요한 응용 프로그램 및 관련 데이터를 저장하는 메모리와, 전반적인 시스템 동작을 제어하는 CPU와, 해당 메모리의 억세스를 수행하는 DMA를 구비하는 통신 시스템의 메모리 억세스 장치에 있어서, 상기 DMA로부터 인가되는 억세스 요구 신호에 따라 응답 신호를 생성시켜 상기 DMA에게 버스를 사용할 수 있는 권한을 부여해 주거나, 버퍼 인에이블 제어 신호를 생성시킴과 동시에 DMA 억세스 완료 신호를 생성시켜 상기 CPU에 인가하는 억세스 제어부와; 상기 억세스 제어부로부터 인가되는 버퍼 인에이블 제어 신호에 따라 상기 CPU가 버스를 사용할 수 있도록 해 주는 버퍼를 포함하여 이루어진 것을 특징으로 한다.

Description

통신 시스템의 메모리 억세스 장치 {Apparatus for Accessing a Memory in the Communication System}
본 발명은 통신 시스템의 메모리 억세스 장치에 관한 것으로, 특히 DMA가 메모리 억세스를 수행하는 동안에도 CPU가 기다리지 않고 다른 작업을 수행할 수 있도록 한 통신 시스템의 메모리 억세스 장치에 관한 것이다.
일반적으로, 통신 시스템에서 메모리 억세스를 위한 구성은 도 1에 도시된 바와 같이, 크게 시스템 동작에 필요한 응용 프로그램 및 관련 데이터를 저장하고 있는 메모리(13)와, 전반적인 시스템 동작을 제어하고 해당 메모리(13)를 억세스할 수 있는 권한을 제어하는 CPU(11)와, 해당 CPU(11)의 제어에 따라 해당 메모리(13)의 억세스를 수행하는 DMA(12)를 포함하여 이루어져 있는데, 해당 메모리(13)에 연결되어 있는 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)는 해당 CPU(11)와 DMA(12)에 공유되어 이루어져 있다.
상술한 바와 같이 구성된 통신 시스템에서의 메모리 억세스에 대한 동작을 간략하게 살펴보면 다음과 같다.
우선, DMA(12)에서 메모리(13)를 억세스하고자 하는 경우에 억세스 요구 신호(req_s)를 생성시켜 CPU(11)로 인가하면, 해당 CPU(11)에서는 해당 DMA(12)로부터 인가되는 억세스 요구 신호(req_s)에 대응하는 응답 신호(ack_s)를 생성시켜 해당 DMA(12)로 인가해 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 사용할 수 있는 권한을 준다.
이에, 상기 DMA(12)는 상기 CPU(11)로부터 응답 신호(ack_s)를 수신받아 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 통해 상기 메모리(13)를 억세스한다.
그리고, 상기 CPU(11)는 상기 DMA(12)와 동일한 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 사용하고 있기 때문에, 상기 DMA(12)가 해당 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 점령하여 상기 메모리(13)를 억세스하는 경우, 상기 CPU(11)는 개방된 상태로 있는 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 통해 에러가 발생할 수 있으므로, 상기 DMA(12)의 억세스 동작 수행이 종료될 때까지 다른 작업을 수행하지 못하고 대기해야 한다.
즉, 일반적인 통신 시스템에서 CPU와 DMA가 동일한 어드레스 버스와 데이터 버스를 사용하고 있으므로, DMA가 메모리를 억세스하고 있는 경우에 CPU는 항상 대기 상태로 있어야 함으로 CPU의 성능을 저하시키는 단점이 있었다.
전술한 바와 같은 단점을 해결하기 위한 것으로, 본 발명은 통신 시스템에서 CPU의 메모리 억세스 장치에 있어서 DMA가 메모리 억세스를 수행하는 동안에도 CPU에서 다른 작업을 수행할 수 있도록 함으로써, CPU 성능 향상에 기여하고자 하는데, 그 목적이 있다.
또한, 본 발명은 통신 시스템의 메모리 억세스 장치에 있어서, CPU와 DMA가 공유하고 있는 버스를 버퍼를 통하여 분리함으로써, DMA가 메모리를 억세스하고 있는 동안에도 CPU에서 다른 작업을 수행할 수 있도록 하는데, 그 목적이 있다.
도 1은 일반적인 통신 시스템에서 메모리 억세스(Memory Access)를 위한 구성을 간략하게 나타낸 블록도.
도 2는 본 발명의 실시 예에 따른 통신 시스템의 메모리 억세스 장치를 나타낸 구성 블록도.
도 3은 도 2에 있어 CPU(Central Processing Unit)에서 메모리를 판독하는 동작을 나타낸 타이밍도.
도 4는 도 2에 있어 CPU에서 메모리에 기록하는 동작을 나타낸 타이밍도.
* 도면의 주요 부분에 대한 부호의 설명 *
21 : CPU 22 : DMA(Direct Memory Access)
23 : 메모리 24 : 버퍼(Buffer)
25 : 억세스 제어부(Access Controller)
상술한 바와 같은 목적을 달성하기 위한 본 발명은 시스템 동작에 필요한 응용 프로그램 및 관련 데이터를 저장하는 메모리와, 전반적인 시스템 동작을 제어하는 CPU와, 해당 메모리의 억세스를 수행하는 DMA를 구비하는 통신 시스템의 메모리 억세스 장치에 있어서, 상기 DMA로부터 인가되는 억세스 요구 신호에 따라 응답 신호를 생성시켜 상기 DMA에게 버스를 사용할 수 있는 권한을 부여해 주거나, 버퍼 인에이블 제어 신호를 생성시킴과 동시에 DMA 억세스 완료 신호를 생성시켜 상기 CPU에 인가하는 억세스 제어부와; 상기 억세스 제어부로부터 인가되는 버퍼 인에이블 제어 신호에 따라 상기 CPU가 버스를 사용할 수 있도록 해 주는 버퍼를 포함하여 이루어진 것을 특징으로 한다.
바람직하게는, 상기 CPU는 상기 억세스 제어부로부터 수신되는 DMA 억세스 완료 신호에 따라 상기 버퍼를 통해 버스를 점령하여 상기 메모리를 억세스하는 것을 특징으로 한다.
또한 바람직하게는, 상기 버퍼는 상기 CPU와 상기 메모리 사이에 설치되며, 상기 억세스 제어부로부터 인가되는 버퍼 인에이블 제어 신호에 의해 디스에이블 상태로 전환된 경우에 상기 메모리 측과 연결되어 있는 버스를 단절시켜 상기 CPU가 상기 메모리를 억세스할 수 없도록 하는 것을 특징으로 한다. 이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명의 실시 예에 따른 통신 시스템의 메모리 억세스 장치는 도 2에 도시된 바와 같이, CPU(21)와, DMA(22)와, 메모리(23)와, 버퍼(24)와, 억세스 제어부(25)를 포함하여 이루어진다.
상기 CPU(21)는 전반적인 시스템 동작을 제어하는데, 상기 억세스 제어부(25)로부터 수신되는 DMA 억세스 완료 신호(dad_s)에 따라 상기 버퍼(24)를 통해 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 점령하여 상기 메모리(23)를 억세스하도록 한다.
상기 DMA(22)는 상기 메모리(23)의 억세스를 수행하는데, 상기 메모리(23)를 억세스하고자 하는 경우에 억세스 요구 신호(req_s)를 생성시켜 상기 억세스 제어부(25)로 인가하며, 상기 억세스 제어부(25)로부터 응답 신호(ack_s)를 수신받아 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 통해 상기 메모리(23)를 억세스하도록 한다.
상기 메모리(23)는 시스템 동작에 필요한 응용 프로그램 및 관련 데이터를 저장하는 역할을 수행한다.
상기 버퍼(24)는 상기 CPU(21)와, 상기 DMA(22) 및 메모리(23) 사이에 설치되어 있는데, 상기 억세스 제어부(25)로부터 버퍼 인에이블 제어 신호(bec_s)를 수신받아 인에이블되어 상기 CPU(21)에게 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 사용할 수 있는 권한을 부여해 주도록 한다.
상기 억세스 제어부(25)는 상기 DMA(22)로부터 인가되는 억세스 요구신호(req_s)에 따라 응답 신호(ack_s)를 생성시켜 상기 DMA(22)로 인가해 상기 DMA(22)에게 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 사용할 수 있는 권한을 부여해 주거나, 버퍼 인에이블 제어 신호(bec_s)를 생성시켜 상기 버퍼(24)로 인가함과 동시에 DMA 억세스 완료 신호(dad_s)를 생성시켜 상기 CPU(21)에 인가해 준다.
본 발명의 실시 예에 따른 통신 시스템의 메모리 억세스 장치의 동작을 살펴보면 다음과 같다.
우선, DMA(22)에서 메모리(23)를 억세스하고자 하는 경우에 억세스 요구 신호(req_s)를 생성시켜 억세스 제어부(25)로 인가하면, 해당 억세스 제어부(25)에서는 해당 DMA(22)로부터 인가되는 억세스 요구 신호(req_s)에 대응하는 응답 신호(ack_s)를 생성시켜 해당 DMA(22)로 인가해 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 사용할 수 있는 권한을 준다.
이에, 상기 DMA(22)는 상기 억세스 제어부(25)로부터 응답 신호(ack_s)를 수신받아 디코딩(Decoding)을 통해 칩 선택 신호(cs) 및 기록/판독 신호(rd//wr)를 만들어 상기 메모리(23)에 전달하여 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 통해 상기 메모리(23)를 억세스한다.
이 때, 상기 CPU(21)는 버퍼(24)에 의해 메모리(23) 측과 연결되어 있는 어드레스 버스(A_Bus) 및 데이터 버스(D_Bus)와는 단절되어 있으므로, 별 영향을 받지 않고 다른 작업을 수행할 수 있게 된다.
그리고, 도 3 및 도 4에 도시된 바와 같은 타이밍도를 참고하여 간략하게 설명하면, 상기 CPU(21)에서 CPU 칩 선택 신호(cpu_cs) 및 CPU 기록/판독 신호(cpu_rd//wr)를 액티브(Active) 상태로 상기 버퍼(24)에 인가하여도 상기 억세스 제어부(25)로부터 '로우(Low)' 레벨 액티브인 DMA 억세스 완료 신호(dad_s)를 수신하지 못 하면, 상기 CPU(21)는 상기 메모리(23)를 억세스할 수 없다.
그 이유는 상기 버퍼(24)가 디스에이블(Disable) 상태로 있어 상기 CPU(21)로부터 CPU 칩 선택 신호(cpu_cs) 및 CPU 기록/판독 신호(cpu_rd//wr)를 인가받아도 상기 메모리(23) 측으로 칩 선택 신호(cs) 및 기록/판독 신호(rd//wr)를 전달할 수 없으므로, 상기 CPU(21)가 상기 메모리(23) 측과 연결되어 있는 어드레스 버스(A_Bus) 및 데이터 버스(D_Bus)를 사용할 수 없기 때문이다.
그런데, 만약 상기 DMA(22)로부터 인가되는 억세스 요구 신호(req_s)가 없으면, 상기 억세스 제어부(25)에서는 상기 DMA(22)로부터 인가되는 억세스 요구 신호(req_s)가 없음을 감지하여 버퍼 인에이블 제어 신호(bec_s)를 생성시켜 상기 버퍼(24)로 인가하며, 이와 동시에 DMA 억세스 완료 신호(dad_s)를 생성시켜 상기 CPU(21)에 인가해 준다.
이에 따라, 상기 버퍼(24)는 상기 억세스 제어부(25)로부터 버퍼 인에이블 제어 신호(bec_s)를 수신받아 인에이블되어 상기 CPU(21)에게 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 사용할 수 있도록 해 준다.
그러면, 상기 CPU(21)는 상기 억세스 제어부(25)로부터 수신되는 DMA 억세스 완료 신호(dad_s)에 따라 상기 버퍼(24)를 통해 어드레스 버스(A_Bus)와 데이터 버스(D_Bus)를 점령하여 상기 메모리(23)를 억세스하도록 한다.
이 때, 상기 CPU(21)에서 상기 메모리(23)를 판독하거나 기록하는 동작을 도 3 및 도 4에 도시된 바와 같은 타이밍도를 참고하여 간략하게 설명하면, 상기 억세스 제어부(25)에서 '로우' 레벨 액티브인 버퍼 인에이블 제어 신호(bec_s)를 생성시켜 상기 버퍼(24)로 인가하여 상기 버퍼(24)를 인에이블 상태로 전환시켜 줌과 동시에 '로우' 레벨 액티브인 DMA 억세스 완료 신호(dad_s)를 생성시켜 상기 CPU(21)에 인가해 준다.
이에 따라, 상기 CPU(21)는 상기 억세스 제어부(25)로부터 '로우' 레벨 액티브인 DMA 억세스 완료 신호(dad_s)를 수신받은 후, '로우' 레벨의 CPU 칩 선택 신호(cpu_cs) 및 '하이(High)' 레벨의 CPU 기록/판독 신호(cpu_rd//wr)를 상기 버퍼(24)에 인가하고 상기 버퍼(24)에서는 '로우' 레벨의 칩 선택 신호(cs) 및 '하이' 레벨의 기록/판독 신호(rd//wr)를 상기 메모리(23)에 인가하여 상기 메모리(23)로부터 데이터를 판독하거나, '로우' 레벨의 CPU 칩 선택 신호(cpu_cs) 및 '로우' 레벨의 CPU 기록/판독 신호(cpu_rd//wr)를 상기 버퍼(24)에 인가하고 상기 버퍼(24)에서는 '로우' 레벨의 칩 선택 신호(cs) 및 '로우' 레벨의 기록/판독 신호(rd//wr)를 상기 메모리(23)에 인가하여 상기 메모리(23)로부터 데이터를 기록해 준다.
이상과 같이, 본 발명에 의해 통신 시스템의 메모리 억세스 장치에 있어서,CPU와 DMA가 공유하고 있는 버스를 버퍼를 통하여 분리함으로써, DMA가 메모리를 억세스하고 있는 동안에도 CPU로 하여금 다른 작업을 수행할 수 있도록 하여 CPU의 성능 향을 기대할 수 있다.

Claims (3)

  1. 시스템 동작에 필요한 응용 프로그램 및 관련 데이터를 저장하는 메모리와, 전반적인 시스템 동작을 제어하는 CPU와, 해당 메모리의 억세스를 수행하는 DMA를 구비하는 통신 시스템의 메모리 억세스 장치에 있어서,
    상기 DMA로부터 인가되는 억세스 요구 신호에 따라 응답 신호를 생성시켜 상기 DMA에게 버스를 사용할 수 있는 권한을 부여해 주거나, 버퍼 인에이블 제어 신호를 생성시킴과 동시에 DMA 억세스 완료 신호를 생성시켜 상기 CPU에 인가하는 억세스 제어부와;
    상기 억세스 제어부로부터 인가되는 버퍼 인에이블 제어 신호에 따라 상기 CPU가 버스를 사용할 수 있도록 해 주는 버퍼를 포함하여 이루어진 것을 특징으로 하는 통신 시스템의 메모리 억세스 장치.
  2. 제1항에 있어서,
    상기 CPU는 상기 억세스 제어부로부터 수신되는 DMA 억세스 완료 신호에 따라 상기 버퍼를 통해 버스를 점령하여 상기 메모리를 억세스하는 것을 특징으로 하는 통신 시스템의 메모리 억세스 장치.
  3. 제1항에 있어서,
    상기 버퍼는 상기 CPU와 상기 메모리 사이에 설치되며, 상기 억세스 제어부로부터 인가되는 버퍼 인에이블 제어 신호에 의해 디스에이블 상태로 전환된 경우에 상기 메모리 측과 연결되어 있는 버스를 단절시켜 상기 CPU가 상기 메모리를 억세스할 수 없도록 하는 것을 특징으로 하는 통신 시스템의 메모리 억세스 장치.
KR1020010055605A 2001-09-10 2001-09-10 통신 시스템의 메모리 억세스 장치 KR20030022493A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010055605A KR20030022493A (ko) 2001-09-10 2001-09-10 통신 시스템의 메모리 억세스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010055605A KR20030022493A (ko) 2001-09-10 2001-09-10 통신 시스템의 메모리 억세스 장치

Publications (1)

Publication Number Publication Date
KR20030022493A true KR20030022493A (ko) 2003-03-17

Family

ID=27723336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010055605A KR20030022493A (ko) 2001-09-10 2001-09-10 통신 시스템의 메모리 억세스 장치

Country Status (1)

Country Link
KR (1) KR20030022493A (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144990A (ja) * 1989-10-31 1991-06-20 Toshiba Corp メモリ装置
JPH05120201A (ja) * 1991-10-24 1993-05-18 Canon Inc データ処理装置
JPH09282228A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd 主記憶制御装置
JPH1063609A (ja) * 1996-08-14 1998-03-06 Meidensha Corp ダイレクト・メモリ・アクセス調停方式
KR20000039885A (ko) * 1998-12-16 2000-07-05 서평원 교환기의 프로토콜 정합장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144990A (ja) * 1989-10-31 1991-06-20 Toshiba Corp メモリ装置
JPH05120201A (ja) * 1991-10-24 1993-05-18 Canon Inc データ処理装置
JPH09282228A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd 主記憶制御装置
JPH1063609A (ja) * 1996-08-14 1998-03-06 Meidensha Corp ダイレクト・メモリ・アクセス調停方式
KR20000039885A (ko) * 1998-12-16 2000-07-05 서평원 교환기의 프로토콜 정합장치

Similar Documents

Publication Publication Date Title
KR101558482B1 (ko) 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬
JP2007508607A (ja) 複数のプロセッサと1つのメモリシステムを有するシステムのためのメモリインタフェース
KR20070122228A (ko) 외부 디바이스 액세스 장치
US5761727A (en) Control apparatus for a memory architecture using dedicated and shared memory segments
KR20030022493A (ko) 통신 시스템의 메모리 억세스 장치
KR100874169B1 (ko) 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법
KR20040045446A (ko) 버스트 모드를 지원하는 외부 메모리가 있는 인터페이싱프로세서
KR20000026338A (ko) Arm 중앙처리장치를 내장한 마이크로 컨트롤러의 버스제어방법
JP2837698B2 (ja) ダイレクト・メモリ・アクセス制御装置
JP2591785B2 (ja) コンピュータ装置
JPH0635747A (ja) デバッグ支援装置
KR100604569B1 (ko) 멀티 프로세서간 데이터 통신장치와 그 장치를 포함하는이동 통신 단말기
KR20020078683A (ko) 저장매체의 액세스 제어장치
KR20000001614U (ko) 병렬포트에서의 dma채널 자동 변경장치
KR19990031220A (ko) 브이.엠.이 버스 시스템에서 브이.엠.이 버스 제어장치
JPH02133856A (ja) データ転送装置
JPH064469A (ja) 入出力装置制御方式
JP2004280677A (ja) バス制御装置及びそのデータアクセス制御方法
JPH0322073A (ja) データ転送制御装置
JPH0256693B2 (ko)
JPS62187956A (ja) Dma制御方式
JP2000322376A (ja) バスインターフェース変換回路
JPH06214941A (ja) Dma制御回路
JPH05298248A (ja) データ転送制御方式
JP2003186626A (ja) 記憶装置の制御方法およびこの方法に用いる記憶装置、ディスクアレイ装置、及びディスクコントローラ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application