KR100400851B1 - 화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치 - Google Patents

화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치 Download PDF

Info

Publication number
KR100400851B1
KR100400851B1 KR10-2001-0040076A KR20010040076A KR100400851B1 KR 100400851 B1 KR100400851 B1 KR 100400851B1 KR 20010040076 A KR20010040076 A KR 20010040076A KR 100400851 B1 KR100400851 B1 KR 100400851B1
Authority
KR
South Korea
Prior art keywords
bus
data
signal
request signal
cpu
Prior art date
Application number
KR10-2001-0040076A
Other languages
English (en)
Other versions
KR20020003831A (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 KR20020003831A publication Critical patent/KR20020003831A/ko
Application granted granted Critical
Publication of KR100400851B1 publication Critical patent/KR100400851B1/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • H04N1/32571Details of system components
    • H04N1/32587Controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • H04N1/32598Bus based systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2101/00Still video cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

데이터처리 시스템은, 단일 시스템버스에 접속된 적어도 1개의 기능모듈; 상기 적어도 1개의 기능모듈로부터 출력된 데이터전송 요구신호를 기초로 제1 버스사용권 요구신호를 출력하는 데이터전송 제어부; 제2 버스사용권 요구신호를 출력하는 시스템버스에 접속된 중앙처리장치; 상기 제1 및 제2 버스사용권 요구신호를 기초로, 데이터전송 제어부와 중앙처리장치중 어느 것이 시스템버스의 사용권을 할당받는지를 결정하기 위한 경합제어부; 상기 적어도 1개의 기능모듈에 의해 연속적으로 전송될 수 있는 제1 데이터량을 설정하는 부분; 상기 적어도 1개의 기능모듈에 의한 데이터전송이 완료된 후, 적어도 1 클록 사이클 동안 경합제어부에 대한 상기 제1 버스사용권 요구신호의 출력을 중단하는 부분; 및 상기 제1 버스사용권 요구신호가 출력중인 기간 동안 데이터전송 제어부가 중앙처리장치보다 우선순위를 갖는 방식으로 데이터전송 제어부와 중앙처리장치중 하나에 시스템버스의 사용을 허가하는 부분을 포함한다.

Description

화상처리 시스템 및 이를 이용한 반도체장치와 디지털 스틸 카메라장치 {IMAGE PROCESSING SYSTEM, AND SEMICONDUCTOR DEVICE AND DIGITAL STILL CAMERA APPARATUS USING IMAGE PROCESSING SYSTEM}
본 발명은 단일 데이터버스를 통해 화상, 문자 등과 같은 다량의 데이터를 전송하기 위한 버스제어 기능을 갖는 화상처리 시스템에 관한 것이다.
일본국 특허공개공보 제99-120123호는 다이렉트 메모리 액세스(Direct Memory Access)(DMA)를 기초로 데이터를 전송하는 기능모듈 및 CPU에 의해 1개의 공통버스가 공유되는 시스템에서 버스를 제어하는 방법을 개시한다. 도13은 상기 버스제어 방법을 사용하는 버스제어 시스템(2000)을 나타내는 블록도이다. 도14는 도13에 도시된 시스템으로부터 출력되는 신호를 나타내는 타이밍도이다. 버스를 제어하는 도13의 시스템은: 상기 버스제어 시스템(2000)이 버스사용의 허락을 위한 요구(request)(이하, "버스사용권 요구"라 호칭함)를 출력할 때까지 다이렉트 메모리 액세스 콘트롤러(DMAC: 도시 안됨) 또는 CPU(도시 안됨)가 버스사용권 요구를 출력한 후 소비된 최소시간이 상기 다이렉트 메모리 액세스 콘트롤러 및 CPU 각각에 대해 설정되는 버스사용권 요구 최소시간설정 레지스터(110); CPU의 클록(CPUCLK)을 기초로 동작하는 카운터(111); DMA 전송시간을 설정하는 DMA시간설정 레지스터(114); 및 데이터전송 사이클 신호의 종료(RDY)를 가리키는 신호를 기초로 동작하는 카운터(115)를 포함한다.
상기 버스사용권 요구 최소시간설정 레지스터(110)는 버스사용권이 요구될 때까지 소비되는 최소시간의 설정치를 가리키는 신호를 카운터(111)에 출력한다. 상기 카운터(111)는 CPUCLK의 사이클 수를 카운트한다. 상기 카운트된 수치가 상기 버스사용권 요구 최소시간설정 레지스터(110)로부터 출력된 신호에 의해 가리켜진 설정치에 도달할 때, 상기 카운터(111)는 하이레벨 신호를 HOLD요구 마스크(112)에 출력한다. 상기 HOLD요구 마스크(112)는 상기 카운터(111)로부터의 출력신호를 수신한다. 상기 출력신호가 로우레벨에 있을 때, 상기 HOLD요구 마스크(112)는 버스를 사용하는 DMA전송동작이 완료된 후 소정 시간동안 AND게이트(113)를 오프시키는 신호를 AND게이트(113)에 출력한다. 상기 구성에 의해 DMA전송동작이 완료된 후 버스사용권 요구신호(HOLD)가 출력되는 것이 방지된다.
한편, DMA시간설정 레지스터(114)는 DMA전송시간의 설정치(즉, "버스 사이클 값")를 가리키는 신호를 카운터(115)에 출력한다. 상기 카운터(115)는 버스사이클의 종료를 가리키는 RDY 신호를 카운트한다. 상기 카운트된 수치가 DMA시간설정 레지스터(114)로부터 출력된 신호에 의해 가리켜진 설정치에 도달할 때, 즉 상기 카운트된 수치가 버스 사이클 값에 도달할 때, 상기 카운터(115)는 하이레벨 신호를 플립플롭회로(116)의 리셋단자(R)에 하이레벨 신호를 출력한다. 상기 플립플롭 회로(116)의 세트단자(S)는 HOLD ON 상태신호를 수신한다. AND게이트(113)는 플립플롭회로(116)로부터의 출력신호와 HOLD요구 마스크(112)로부터의 출력신호를 논리적으로 합성하여 버스사용권 요구신호(HOLD)를 출력한다.
따라서, 버스사용권 요구 최소시간설정 레지스터(110)와 DMA시간설정 레지스터(114)에서 설정된 설정치들과 후속 카운터(111,115)에서 각각 카운트된 값들의 비교 결과를 근거로, 버스제어 시스템(2000)은 2개의 서로 다른 모드: 시스템(2000)이 AND게이트(113)로부터의 버스사용권 요구신호(HOLD)로서, 내부의 버스 요구신호인 HOLD ON 상태신호를 출력하는 모드; 및 상기 버스사용권 요구신호(HOLD)가 소정 기간동안 HOLD요구 마스크(112)에 의해 마스크되는 모드 사이의 동작을 절환한다. 그 후, 각각의 CPU 및 DMAC는 버스사용권 요구 최소시간설정 레지스터(110)와 DMA시간설정 레지스터(114)에서 설정된 이전 설정치의 비교 결과를 근거로 버스사용권 요구 최소시간설정 레지스터(110)와 DMA시간설정 레지스터(114)의 설정치를 변경한다. 상기 구성으로, 도14에 도시된 바와 같이, 각각의 CPU 및 DMAC는: 상기 CPU 또는 DMAC가 버스사용권을 얻은 후 데이터전송용 버스를 사용할 수 있는 최대 시간인 DMA전송시간(A); 및 DMA전송동작이 완료된 후 버스사용권이 요구될 때까지 소비된 최소시간인 버스사용권 요구 최소시간(B)을 설정한다. 상기 시간 (A) 및 (B)를 조정함으로써, CPU와 DMAC간의 버스 점유비는 적절히 조정된다. 상기 예에서, 버스사용권 요구 최소시간(B)에 대응하는 값은 버스사용권 요구 최소시간설정 레지스터(110)에서 설정되며, DMA전송시간(A)에 대응하는 값은 DMA시간설정 레지스터(114)에서 설정된다. 도14에 도시된 타이밍도에서, 상기 DMA전송시간(A) 동안, DMAC가 버스사용권 요구신호(HOLD)의 전송을 개시하고 버스사용권 허가신호(HOLDACK)가 상기 DMAC로 리턴된 후, 버스제어 시스템(2000)은 신호(HOLD)를 계속 전송하며, 이로써 버스사용권을 계속하여 요구한다. 상기 DMA전송시간(A)이 경과한 후, 요구신호는 HOLD요구 마스크(112)에 의해 마스크된다. 그 후, 버스사용권 요구 최소시간(B)이 경과한 후, 상기 마스크는 다시 불활성되고, 따라서 버스제어 시스템(2000)은 버스사용권의 요구를 재개한다.
상기 버스제어 시스템(2000)은 각각의 CPU 및 DMAC에 제공되며, 각각의 CPU 및 DMAC에 대해 레지스터들에서 설정된 값들이 조정되고, 이로써 CPU와 DMAC중의 버스점유비가 조정된다.
상기 버스제어 방법에서, 각각의 CPU 및 DMAC가 버스사용권 요구를 출력하지 않는 마스크 기간이 제공된다. 상기 마스크 기간의 길이를 조정함으로써, 각각의 CPU 및 DMAC가 버스를 사용하는 횟수(버스 점유비)가 조정된다. 상기 구성에서, CPU와 DMAC중 어느 것도 버스를 사용할 수 없는 기간은 상기 버스가 점유되지 않고 있을 경우에도 발생한다. 도14를 참조하면, 버스사용권 요구가 마스크되어 출력되지 않는 버스사용권 요구 최소시간(B) 동안 공통 버스에 접속된 다른 DMAC 및/또는 CPU는 버스사용권 요구의 인터럽트(interruption)를 검출한다. 상기 검출동작은 충분히 긴 시간을 요구하고, 또한 다른 DMAC 및/또는 CPU가 버스의 사용허가를 얻을 때까지 검출동작이 완료된 후에도 충분히 긴 시간이 요구된다. 또한, 상기 시간(A) 및 (B)가 일단 설정되면, 이들은 다음 변경이 있을 때까지 유효하다. 따라서, 1개의 DMAC만(또는 CPU 단독) 데이터전송을 위해 버스를 점유할 때에도, 상기 DMAC(또는 CPU)는 버스사용권 요구 최소시간(B) 동안 버스를 사용할 수 없다.
전술한 바와 같이, DMA시간설정 레지스터(114)에서 설정된 시간 (DMA전송시간(A))은 CPU 또는 DMAC가 데이터전송 동안 계속적으로 버스를 점유할 수 있는 최소 시간이다. 그러나, 일부의 버스경합 방법에서, 버스사용권이 보다 높은 우선순위를 갖는 CPU 또는 DMAC에 의해 요구될 때, 버스사용권은 상기 CPU 또는 DMAC로 넘어간다. 예컨대, CPU 또는 DMAC가 데이터를 SDRAM 등, 즉 액세스의 초기에는 짧은 오버헤드 시간을 요구하지만 동일 페이지내의 어드레스에 대한 이후의 액세스시에는 오버헤드 시간을 전혀 요구하지 않는 장치에 전송할 때, 상기 버스사용권이 상기 CPU 또는 DMAC들 중 하나로부터 전술한 DMA전송시간(A) 동안 다른 것으로 넘겨질 때, 액세스 횟수(데이터 전송동작의 횟수)는 상기 버스사용권이 양도되는 횟수만큼 증가되며, 따라서 전체 오버헤드 시간이 증가된다. 그 결과, 데이터 전송 효율은 증가된 총 오버헤드 시간만큼 감소된다.
따라서, 종래의 버스제어방법이 공통 버스의 최대 효율을 달성하는 것은 불가능하며, 따라서 고속의 화상처리를 위해 DMA전송방법을 기초로 고속의 화상처리를 행하는 기능모듈을 포함하는 시스템에는 부적합하다.
도12는 종래의 버스제어방법에 따른 고속의 화상처리시스템(S3)을 나타내는블록도이다. 상기 화상처리 시스템(S3)은: DMA전송방법을 기초로 데이터를 전송하는 DMAC(100); 프로그램 명령어 및 시스템제어용 데이터를 전송하는 CPU i/f(102); 데이터 전송을 각각 요구하는 기능모듈(105,106,107); 및 DMAC(100) 및 CPU i/f(102)로부터의 버스사용권 요구에 응답하여 버스사용권을 선택적으로 할당하기 위한 경합제어부(101)를 포함한다.
CPU 프로그램 등과 같은 외부메모리(109)에 저장된 데이터를 독출할 때, CPU i/f(102)는 시스템버스(B1)용 외부접속단자(단자(B3)), 외부메모리 제어부(104) 및 시스템버스(B1)를 통해서는 외부메모리(109)로부터의 데이터를 독출하지만, 화상데이터 전용버스(B2)(이하, "화상데이터버스(B2)")를 통해서는 독출하지 않는다. 상기 CPU i/f(102)는 외부메모리(108)에 저장된 화상데이터로의 접근을 시도할 때만 버스사용권 요구신호(CPBREQ)를 경합제어부(101)에 전송한다.
기능모듈(105,106,107)은 데이터전송 요구신호(DREQ-A,DREQ-B,DREQ-C)를 DMAC(100)에 각각 출력한다. DMAC(100)는 기능모듈(105,106,107)중 데이터전송의 우선순위를 결정할 데이터전송 요구신호(DREQ-A,DREQ-B,DREQ-C)를 수신하여, 버스사용권 요구신호(DMBREQ)를 경합제어부(101)에 전송한다.
DMAC(100)로부터의 버스사용권 요구신호(DMBREQ) 및 CPU i/f(102)로부터의 버스사용권 요구신호(CPBREQ)에 응답하여, 경합제어부(101)는 DMAC(100) 또는 CPU i/f(102)에 화상데이터버스(B2) 사용 허가신호를 선택적으로 출력하고, 이로써 DMAC(100)와 CPU i/f(102)간의 버스 점유비를 조절한다. 예컨대, DMAC(100)가 화상데이터버스(B2)의 사용권을 할당받을 때, 화상데이터는 화상데이터버스 (B2) (단자(B4)), 외부메모리 제어부(103) 및 화상데이터버스(B2)를 위한 외부접속단자를 통해 미리 결정된 우선순위에 따라 임의의 기능모듈(105,106,107)로 전송된다.
기능모듈(105,106,107) 또는 CPU i/f(102)에 의해 처리된 데이터는 전술한 절차와 유사한 버스제어 절차에 따라 외부메모리(108)에 기입된다.
전술한 바와 같이, 종래의 버스제어방법을 기초로 고속의 화상처리 시스템을 달성하기 위해서는, 2개의 데이터버스(화상데이터버스(B2) 및 시스템버스(B1))를 포함하는 화상처리시스템(S3)을 구성하여 2개의 전용 외부메모리(108,109)를 화상데이터버스(B2) 및 시스템버스(B1)에 각각 접속할 필요가 있다. 따라서, 예컨대 화상처리 시스템(S3)이 고밀도 집적(LSI) 기술을 기초로 실현될 때, 시스템(S3)과 메모리(108,109)간에는 2개의 접속선이 요구된다. 이는 패키지 크기에 영향을 주고, I/O 버퍼에서 소비되는 전력량을 증가시킨다.
본 발명의 일 특징에 따르면, 데이터처리 시스템은, 단일 시스템버스에 접속된 적어도 1개의 기능모듈; 상기 적어도 1개의 기능모듈로부터 출력된 데이터전송 요구신호를 기초로 제1 버스사용권 요구신호를 출력하는 데이터전송 제어부; 제2 버스사용권 요구신호를 출력하는 시스템버스에 접속된 중앙처리장치; 상기 제1 및 제2 버스사용권 요구신호를 기초로, 데이터전송 제어부와 중앙처리장치중 어느 것이 시스템버스의 사용권을 할당받는지를 결정하기 위한 경합제어부; 상기 적어도 1개의 기능모듈에 의해 연속적으로 전송될 수 있는 제1 데이터량을 설정하는 부분; 상기 적어도 1개의 기능모듈에 의한 데이터전송이 완료된 후, 적어도 1 클록 사이클 동안 경합제어부에 대한 제1 버스사용권 요구신호의 출력을 중단하는 부분; 및 상기 제1 버스사용권 요구신호가 출력중인 기간 동안 데이터전송 제어부가 중앙처리장치보다 우선순위를 갖는 방식으로 데이터전송 제어부와 중앙처리장치중 하나에 시스템버스의 사용권을 할당하는 부분을 포함한다.
본 발명의 일 실시예에서, 상기 적어도 1개의 기능모듈은 복수의 기능모듈이며; 상기 복수의 기능모듈중 중앙처리장치보다 상위의 시스템버스 사용권 우선순위를 갖는 기능모듈이 데이터전송 요구신호를 출력하고 있는 경우, 경합제어부로의 제1 버스사용권 요구신호의 출력은 상기 복수의 기능모듈중 하나에 의한 데이터전송이 완료된 후에도 중단되지 않는다.
본 발명의 다른 실시예에서, 상기 적어도 1개의 기능모듈에 의한 데이터전송이 완료된 다음, 상기 경합제어부로의 상기 제1 버스사용권 요구신호의 출력이 적어도 1 클록 사이클동안 중단된 후, 상기 경합제어부로의 상기 제1 버스사용권 요구신호의 출력이 또 다른 1이상의 클록주기 동안 더 중단되는 경우, 상기 시스템버스의 사용권은 상기 제2 버스사용권 요구신호를 근거로 중앙처리장치에 할당된다.
본 발명의 또 다른 실시예에서, 데이터처리 시스템은 중앙처리정치에 의해 연속적으로 전송될 수 있는 제2 데이터량을 설정하는 부분을 더 포함하며, 상기 제2 데이터량이 소정의 양과 일치하지 않는 경우, 상기 중앙처리장치는 데이터전송 제어부가 상기 중앙처리장치에 의한 데이터전송기간 동안 시스템버스 사용권을 요구하고 있을 때에도 데이터전송을 계속 행한다.
본 발명의 다른 특징에 의하면, 반도체장치는 제1 청구항의 데이터처리 시스템을 포함한다.
본 발명의 또 다른 특징에 의하면, 디지털 카메라 장치는 제5 청구항의 반도체장치를 포함한다.
본 발명의 또 다른 특징에 의하면, 반도체장치는 제2 청구항의 데이터처리 시스템을 포함한다.
본 발명의 또 다른 특징에 의하면, 디지털 카메라 장치는 제7 청구항의 반도체장치를 포함한다.
본 발명의 또 다른 특징에 의하면, 반도체장치는 제3 청구항의 데이터처리 시스템을 포함한다.
본 발명의 또 다른 특징에 의하면, 디지털 카메라 장치는 제9 청구항의 반도체장치를 포함한다.
본 발명의 또 다른 특징에 의하면, 반도체장치는 제4 청구항의 데이터처리 시스템을 포함한다.
본 발명의 또 다른 특징에 의하면, 디지털 카메라 장치는 제11 청구항의 반도체장치를 포함한다.
따라서, 여기에 기술된 본 발명은 (1) 그 크기 및 소비전력은 줄이면서 데이터버스의 최대 전송 효율을 달성할 수 있는 화상처리 시스템을 제공하며, (2) 상기 화상처리 시스템을 이용하는 디지털 스틸 카메라장치를 제공하는 장점이 있다.
본 발명의 상기 및 다른 특징들은 첨부도면을 참조하여 기술된 이하 상세한 설명으로부터 당업자에게 자명하게 될 것이다.
도1은 본 발명의 일 실시예에 따른 화상처리 시스템의 블록도이다.
도2는 본 발명에 따라 도1에 도시된 화상처리 시스템(S1)에 있는 DMAC(1)의 일례를 나타낸다.
도3은 본 발명에 따라 도1에 도시된 화상처리 시스템(S1)에 있는 CPU i/f(8)의 일례를 나타낸다.
도4는 본 발명에 따라 도1에 도시된 화상처리 시스템(S1)에 있는 경합제어부(6)의 구성을 나타낸다.
도5는 상태제어부(41) 동작의 일례를 나타낸다.
도6은 데이터전송 요구가 CPU(35)에 의해 출력되지 않는 경우의 버스제어에 대한 타이밍도이다.
도7은 DMA 우선순위 채널설정 레지스터(2)에서 채널의 우선순위가 설정되는 경우의 버스제어에 대한 타이밍도이다.
도8은 DMA 우선순위설정 레지스터(7)에서 CPU(35)에 대한 DMAC(1)의 우선순위가 설정되는 경우의 버스제어에 대한 타이밍도이다.
도9는 연속데이터 전송수설정 레지스터(9)에서 CPU(35)에 의해 연속적으로 전송될 수 있는 데이터량이 설정되는 경우의 버스제어에 대한 타이밍도이다.
도10은 본 발명에 따른 화상처리 시스템을 포함하는 반도체장치(S2)를 도시한다.
도11은 본 발명에 따른 디지털 스틸 카메라장치(1000)를 도시한다.
도12는 종래의 버스제어 방법에 의한 고속 화상처리 시스템(S3)을 나타내는 블록도이다.
도13은 종래의 버스제어 시스템(2000)을 나타내는 블록도이다.
도14는 종래의 버스제어 시스템(2000)으로부터의 출력신호를 나타내는 타이밍도이다.
이하, 도면을 참조하여 본 발명의 실시예를 설명한다.
도1은 본 발명의 일 실시예에 따른 화상처리 시스템(S1)의 블록도이다. 상기 화상처리 시스템(1)은, DMA전송방법을 기초로 데이터를 전송하는 DMAC(1); 시스템 제어용 프로그램 명령어와 제어용 데이터를 전송하는 CPU i/f; 데이터 전송을 각각 요구하는 기능모듈(11,12,13); 및 DMAC(1)와 CPU i/f(8)로부터의 버스사용권 요구에 응답하여 버스사용권을 선택적으로 할당하기 위한 경합제어부(6)를 포함한다. 상기 예에서, 경합제어부(6)는 CPU i/f(8)로부터의 요구보다 DMAC(1)로부터의 요구에 상위의 우선순위를 부여한다. 또한, 상기 화상처리 시스템(S1)은 화상데이터와 CPU 프로그램 등과 같은 데이터 모두를 전송하기 위해 사용되는 단일 시스템버스(B1)를 포함한다.
기능모듈(11,12,13)은 데이터전송 요구신호(DREQ-A,DREQ-B,DREQ-C)를 외부메모리(14)에 저장된 화상데이터 독출을 위해 DMAC(1)에 각각 출력한다. 상기 DMAC(1)는 우선순위결정 유지회로(3)에서 데이터전송 요구신호(DREQ-A, DREQ-B, DREQ-C)를 수신하여 기능모듈(11,12,13)중 데이터전송을 위한 우선순위를 결정하여 버스사용권 요구신호(DMBREQ)를 경합제어부(6)에 출력한다.
한편, CPU i/f(8)는 프로그램을 실행하고 시스템(S1) 및 이에 사용되는 데이터를 제어하기 위한 명령어들을 전송하기 위해 버스사용권 요구신호(CPBREQ)를 경합제어부(6)에 출력한다.
경합제어부(6)는 DMA 우선순위설정 레지스터(7)를 갖는다. 상기 예에서,DMAC(1) 및 CPU i/f(8) 각각으로부터의 버스사용권 요구신호(DMBREQ,CPBREQ)에 응답하여, 경합제어부(6)는 DMAC(1)로부터의 요구가 CPU i/f(8)로부터의 요구보다 상위의 우선순위를 갖는 방식으로 상기 DMAC(1) 또는 CPU i/f(8)에 시스템버스(B1) 사용권(버스사용 허가신호)을 선택적으로 할당하며, 이로써 상기 DMAC(1)와 CPU i/f(8)간의 버스 점유비를 조정한다.
DMAC(1)가 버스사용 허가신호를 수신할 때, 화상데이터는 외부메모리(14)로부터, 시스템버스용 외부접속단자(단자(B3)), 외부메모리 제어부(10), 및 시스템버스(B1)를 통해, 데이터전송을 요구하는 기능모듈(11,12,13)중 어느 하나에 전송된다.
한편, CPU i/f(8)가 버스사용 허가신호를 수신할 때, 프로그램을 실행할 명령어 및 이에 사용될 데이터는 시스템버스용 외부접속단자(단자(B3)), 외부메모리 제어부(10) 및 시스템버스(B1)를 통해 외부메모리(14)로부터 CPU i/f(8)로 독출된다.
상기 기능모듈(11,12,13) 중 어느 하나 또는 CPU i/f(8)에서 처리된 데이터는 동일 라우트(route)를 통해 리턴되어 외부메모리(14)에 기입된다.
도2는 화상처리 시스템(S1)에서의 DMAC(1)의 일례를 나타낸다. 도1 및 2에서 나타낸 예에서, 화상처리 시스템(S1)은 화상처리(화상처리 A, 화상처리 B, 및 화상처리 C)를 행하기 위해 DMA 데이터 전송방법을 근거로 연속적인 데이터 전송을 각각 요구하는 3개의 기능모듈(11,12,13)을 포함한다. 그러나, 본 발명에 따르면, 기능모듈의 수는 3개에 한정되지 않으며, 1개, 2개 또는 4개 이상일 수 있다.
도2에 도시된 DMAC(1)는 DMAC(1)의 데이터전송이 CPU i/f의 데이터전송 이전에 행해지도록 기능모듈(11,12,13)에 접속된 채널들의 우선순위가 설정되는 DMA채널 우선순위설정 레지스터(2); 기능모듈(11,12,13)에 접속된 각각의 채널을 통해 기능모듈(11,12,13)로부터 수신된 데이터전송 요구의 우선순위를 결정하기 위한 우선순위결정 유지회로(3); 하나의 데이터전송 동작 동안 각각의 기능모듈(11,12,13)에 의해 연속적으로 전송될 수 있는 데이터량이 설정되는 연속데이터 전송수설정 레지스터; 및 1 클록주기 동안 DMAC(1)로부터 경합제어부(6)로 버스사용권 요구신호의 공급을 중단시키기 위한 요구중단부(5)를 포함한다.
상기 연속데이터 전송수설정 레지스터(4)는 채널A 연속데이터 전송수설정 레지스터(4a), 채널B 연속데이터 전송수설정 레지스터(4b), 및 채널C 연속데이터 전송수설정 레지스터(4c)를 포함한다. 상기 연속데이터 전송수설정 레지스터(4)에서, 단일 데이터전송 동작 동안 각각의 기능모듈(11,12,13)에 의해 연속적으로 전송될 수 있는 데이터량(각각의 기능모듈(11,12,13)이 단일 데이터전송 동작 동안 기준 데이터량을 연속적으로 전송할 수 있는 횟수)이 설정된다. 상기 예에서, 요구중단부(5)는 1클록 사이클 동안 DMAC(1)로부터 경합제어부(6)로의 버스사용권 요구신호의 공급을 중단시키는 것이 바람직하다. 그러나, 본 발명에 따르면, 요구중단부(5)는 1클록 사이클보다 긴 기간 동안 상기 버스사용권 요구신호의 공급을 중단해도 좋다.
우선순위결정 유지회로(3)는 DMA전송방법을 기초로 연속데이터 전송을 각각 요구하는 3개의 기능모듈(11,12,13)로부터 데이터전송 요구신호(DREQ-A, DREQ-B,DREQ-C)를 수신한다. DMAC(1)가 시스템버스(B1)(도1)의 사용을 허가받지 못한 때, 또는 데이터전송을 허가받은 기능모듈이 DMAC(1)을 3개의 기능모듈(11,12,13)에 각각 접속하는 채널을 변경시킴으로써 변경될 때, 상기 우선순위결정 유지회로(3)는 최고의 우선순위를 갖는 기능모듈에 접속된 채널에 따른 출력 신호를 하이레벨로 인입하고 상기 출력신호를 하이레벨에 유지한다. 상기 우선순위결정 유지회로(3)는 출력신호(SELCH-A,SELCH-B,SELCH-C)를 AND게이트(21,22,23)에 각각 공급한다. 상기 AND게이트(21,22,23)는 출력신호(SELCH-A,SELCH-B,SELCH-C)를 데이터전송 요구신호 (DREQ-A,DREQ-B,DREQ-C)에 각각 논리적으로 합성한다. OR게이트(24)는 상기 AND게이트(21,22,23)로부터의 출력펄스를 논리적으로 합성하여 합성된 신호를 하강에지 검출 1클록 로우펄스 생성부(25)에 출력한다. 한편, OR게이트(20)는 데이터전송 요구신호(DREQ-A,DREQ-B,DREQ-C)를 논리적으로 합성한다. AND게이트(26)는 상기 OR게이트(20)의 출력과 하강에지 검출 1클록 로우펄스 생성부(25)를 논리곱하여 신호(SMREQ)를 생성한다.
상기와 같이 생성된 신호(SMREQ)가 존재할 때, AND게이트(27)는, 현재 데이터전송 허가를 갖고 있는 기능모듈에 의해 요구된 데이터량이 전송된 때, 다른 기능모듈중 어느 하나가 데이터전송 요구신호를 출력하고 있는 때에도 1클록 사이클 동안만 로우레벨 펄스신호를 출력한다. 그 결과, DMAC(1)의 출력인 OR게이트(19)로부터의 버스사용권 요구신호(DMBREQ)의 출력이 인터럽트된다.
또한, 우선순위결정 유지회로(3)는 상기 결정된 데이터전송의 우선순위를 근거로 신호(SELCH-A,SELCH-B,SELCH-C)를 셀렉터(32)에 출력한다. 이들 신호(SELCH-A,SELCH-B,SELCH-C)를 근거로, 셀렉터(32)는 출력신호(DMTRN)로서 선택된 채널에 대응하는 연속데이터 전송수설정 레지스터(4)에 저장된 데이터를 후속단의 비교기(34)에 공급한다.
한편, 카운터(33)는 시스템버스(B1)를 사용하여 DMAC(1)에 의해 전송된 데이터량을 카운트하고(즉, 카운터(33)는 소정의 데이터량이 전송될 때마다 1씩 증가한다) 출력신호(DMCNT)로서의 상기 카운트 결과를 비교기(34)에 공급한다. 상기 카운터(33)로부터의 출력신호(DMCNT)가 셀렉터(32)로부터의 출력신호(DMTRN)와 일치할 때, 비교기(34)는 EQU 신호를 1클록 로우펄스 생성기(28)에 전송한다. 상기 EQU신호에 응답하여, 상기 1클록 로우펄스 생성기(28)는 1클록 동안 로우레벨에 있는 펄스신호를 출력한다. 상기 펄스신호는 상기 데이터전송 요구신호(DREQ-A, DREQ-B, DREQ-C)로부터 생성된 신호(SMREQ)와 AND게이트(27)에 의해 내부 요구신호(DMREQ)로 논리적으로 합성된다. 상기 내부 요구신호(DMREQ)는, 우선순위결정 유지회로(3)에 의해 선택된 채널을 통한 데이터전송이 완료된 때 또는 연속데이터 전송수설정 레지스터(4)에서 설정된 데이터량이 전송된 때로부터 1클록 사이클 동안 DMAC(1)로부터 버스사용권 요구신호(DMBREQ)의 공급을 인터럽트한다.
또한, 각각의 채널을 통해 기능모듈(11,12,13)로부터 공급된 데이터전송 요구신호(DREQ-A, DREQ-B, DREQ-C)는 AND게이트(15,16,17)에 의해 DMA우선순위 채널설정 레지스터(2)로부터의 출력신호(CH-APRIV, CH-BPRIV, CH-CPRIV)에 각각 논리적으로 합성된다. AND게이트(15,16,17)로부터의 출력신호는 OR게이트(18)에 의해 신호(SEQ)로 논리적으로 합성된다. 상기 신호(SEQ)는 요구중단부(5)에 의해 생성된내부 요구신호(DMREQ)와 OR게이트(19)에 의해 논리적으로 합성되며, 상기 합성결과 얻어진 신호는 버스사용권 요구신호(DMBREQ)로서 경합제어부(6)에 출력된다.
전술한 바와 같이, 버스사용권 요구신호(DMBREQ)의 공급은 우선순위결정 유지회로(3)에 의해 선택된 채널을 통한 데이터전송이 완료된 때 또는 연속데이터 전송수설정 레지스터(4)에 설정된 데이터량이 전송된 때로부터 1클록 사이클 동안 중단된다. 그러나, DMA 우선순위 채널설정 레지스터(2)에서 설정된 우선채널에 대한 데이터전송 요구가 출력중인 때, 버스사용권 요구신호(DMBREQ)는 인터럽트되지 않고 경합제어부(6)로 공급된다.
데이터전송 요구신호가 출력중인 때, 우선순위결정 유지회로(3)로부터의 출력신호(SELCH-A, SELCH-B, SELCH-C)에 응답하여, DACK 생성부(31)는, DMAC(1)가 외부메모리(14)를 액세스하기 위해 시스템버스(B1) 사용권 획득했음을 가리키는 스트로브(strobe) 신호(DMSTRB); 시스템버스(B1)를 사용하여 데이터전송이 행해질 수 있음을 각각 가리키는 신호(DACK-A, DACK-B, DACK-C); 및 전송된 데이터량을 카운트하는 카운터(33)에 공급된 카운트 인에이블 신호(CE)를 생성한다.
도3은 본 발명에 따라 도1에 도시된 화상처리 시스템(S1)에 있는 CPU i/f(8)의 구조를 도시한다. 상기 CPU i/f(8)는 연속데이터 전송수설정 레지스터(9), 다운카운터(37), 및 카운트 인에이블 생성부(40)를 포함한다. 연속데이터 전송수설정 레지스터(9)에서, CPU(35)에 의해 연속적으로 전송될 수 있는 데이터량(기준 데이터량이 CPU(35)에 의해 연속적으로 전송될 수 있는 횟수)이 설정된다.
외부메모리(14)에 대한 액세스 시작시, CPU(35)는 액세스 요구신호(CPBREQ)를 하이레벨로 인입한다. 상기 CPU(35)가 액세스 시작후 외부메모리(14)의 연속적인 어드레스를 액세스할 때, 상기 CPU(35)는 액세스 요구신호(CPBREQ)를 하이레벨로 유지한다. CPU(35)가 액세스 요구신호를 직접 출력하도록 구성되지 않을 때, 액세스 요구신호를 출력하기 위해 CPU(35)의 외부에 부속 회로가 제공될 수 있다.
CPU(35)로부터의 액세스 요구신호(CPBREQ)는 버스사용권 요구신호로서 경합제어부(6)에 출력된다. 한편, 액세스 요구신호(CPBREQ)는 CPU(35)용으로 출력된 버스사용 허가신호(CPGNTD)와 AND게이트(36)에 의해 논리적으로 합성되어 부하신호로 출력되며, 상기 부하신호는 다운카운터(37)로 출력된다. CPU(35)가 시스템버스 (B1)(도1)의 사용권을 요구하지 않고 있을 때, 상기 다운카운터(37)는 연속데이터 전송수설정 레지스터(9)의 내용을 가리키는 CPTRN 신호를 수신한다. 다운카운터(37)의 ZERO 단자로부터 출력된 신호(CPCNT)는 인버터(38)에 의해 반전된다. 상기 반전된 신호(CPCNT)는 버스사용 허가신호(CPGNTD)와 AND게이트(39)에 의해 논리적으로 합성되어 LOCK 신호로 된다. CPU(35)가 시스템버스(B1)의 사용을 허가받아 데이터 전송을 개시할 때, 상기 다운카운터(37)는 CPU(35)에 의해 연속적으로 전송된 데이터량을 카운트하며(즉, 카운터(37)는 소정량의 데이터가 전송될 때마다 1씩 감소한다) 상기 카운트된 값이 0에 도달할 때까지 LOCK 신호를 계속하여 출력한다.
카운트 인에이블 생성부(40)는 액세스 요구신호(CPBREQ), 버스사용 허가신호(CPGNTD) 및 WAIT 신호를 수신한다. 데이터전송 요구가 CPU(35)로부터 출력중이고 CPU(35)가 버스사용권을 할당받은 때, 카운트 인에이블 생성부(40)는, 상기 CPU(35)가 외부메모리(14)에 액세스하기 위해 시스템버스(B1) 사용권을 얻었음을 가리키는 스트로브 신호(CPSTRB), 및 상기 CPU(35)에 의해 연속적으로 전송된 데이터량을 카운트하는 다운카운터(37)로 전송될 카운트 인에이블 신호(CE)를 생성한다.
도4는 본 발명의 화상처리 시스템(S1)에 있는 경합제어부(6)의 구성을 도시한다. 상기 경합제어부(6)는 DMA우선순위 설정 레지스터, 2이상의 클록동안 로우레벨 클록을 검출하는 디텍터(42), 및 상태제어부(41)를 포함한다. 상기 상태제어부 (41)는, CPU i/f(8)로부터의 버스사용권 요구신호(CPBREQ); DMAC(1)로부터의 버스사용권 요구(DMBREQ); 버스사용권 요구신호(DMBREQ)가 시스템버스 클록(BCLK)의 2클록 사이클 동안 중단될 때(즉, 로우레벨에 있을 때) 하이레벨로 인입되는 신호(DMBREQ2P); 시스템버스(B1)(도1)를 사용하여 현재 행해진 데이터 전송동작이 시스템버스 클록(BCLK)의 다음 사이클까지 완료되지 않을 때 하이레벨에 있도록 액세스중인 기능모듈에 의해 출력되는 신호(WAIT); DMAC(1)에 의한 DMA 데이터전송이 CPU i/f의 데이터전송에 우선함을 가리키는 신호(DMPRIV); 및 CPU(35)가 시스템버스(B1)를 연속적으로 사용함을 가리키는 신호(LOCK)를 수신한다.
상기 신호들의 상태를 기초로, 상태제어부(41)는 DMAC(1) 및 CPU i/f중 어느 것이 시스템버스(B1) 사용권을 할당받는지를 결정한다. 다음으로, 상기 결정을 근거로, 상태제어부(41)는 신호(DMGNT,DMGNTD)를 출력한다. 상기 신호(DMGNT)는, 현재 행해진 데이터전송이 완료되고 상태제어부(41)가 DMAC(1)에 시스템버스(B1)의사용권을 할당할 때 하이레벨로 상승한다. 신호(DMGNT)가 하이레벨에 있는 기간 동안, 현재 행해진 데이터전송이 완료될 때 신호(DMGNTD)가 하이레벨로 상승할 경우, 상기 신호(DMGNTD)의 천이는 시스템버스(B1)의 사용권이 DMAC(1)에 실제로 할당되었음을 가리킨다.
신호(CPGNT,CPGNTD)는 인버터(43,44)로 신호(DMGNT,DMGNTD)를 반전함으로써 각각 얻어진다. 신호(CPGNT,CPGNTD)는 CPU(35)로부터의 버스사용권 요구에 응답하여 응답신호로서 출력된다. 신호(CPGNT)는 현재 행해진 데이터전송이 완료된 후 상태제어부(41)가 시스템버스(B1) 사용권을 할당할 때 하이레벨로 상승한다. 신호(CPGNT)가 하이레벨에 있는 기간 동안, 현재 행해진 데이터전송이 완료된 때 신호(CPGNTD)가 하이레벨로 상승할 경우, 상기 신호(CPGNTD)의 천이는 시스템버스 (B1)의 사용권이 CPU(35)에 실제로 할당되었음을 가리킨다.
도5는 전술한 로직을 실현하는 상태제어부(41) 동작의 일례를 나타낸다. 상기 상태천이 동작은 4개의 동작 상태, DMA상태(45), NEXCPU상태(46), CPU상태(47) 및 NEXDMA상태(48)를 포함한다. 상태제어부(41)는 천이 조건(1-4)에 따라 동작상태를 변경한다. 또한, 각각의 동작상태에 대한 신호(DMGNT,DMGNTD)의 출력레벨은 도5의 "상태 정의"부에 도시된다. 상태제어부(41)는 현재 동작상태로부터 다음 동작상태로의 천이 조건이 만족되는 동안 시스템버스 클록(BCLK)이 로우레벨로 떨어질 때만 현재 동작상태로부터 다음 동작상태로 천이한다. 상기 조건이 만족되지 않으면, 상태제어부(41)는 현재의 동작상태를 유지한다. 그러나, 시스템(S1)이 초기화되면, 상태제어부(41)는 현재 어떤 상태에 있는지를 불문하고 무조건 DMA상태(45)로 천이한다.
이하, 시스템(S1)이 초기화된 직후 상태제어부(41)의 DMA상태(45)로부터의 전형적인 천이를 설명한다.
DMA상태(45)에서, DMAC(1)는 시스템버스(B1) 사용권을 가지며 현재의 데이터 천이동작이 완료된 후에도 버스사용허가 상태를 유지한다. 버스사용권 요구신호가 CPU(35)에 의해 출력될 때, 신호(CPBREQ)는 하이레벨로 상승한다. 신호(DMBREQ)가 로우레벨에 있을 때, 즉 버스사용권 요구신호가 DMAC(1)에 의해 출력되지 않을 때, 또한 신호(DMPRIV)가 로우레벨에 있을 때, 즉 CPU i/f(8)에 대한 DMAC(1)의 우선순위가 DMA우선순위설정 레지스터(7)에서 설정되지 않을 때(천이조건 1), 상태제어부(41)는 NEXCPU상태(46)로 천이한다.
CPU i/f(8)에 대한 DMAC(1)의 우선순위가 DMA우선순위설정 레지스터(7)에서 설정되는 경우(즉, 신호(DMPRIV)가 하이레벨에 있을 때)에는, 신호(CPBREQ)가 하이레벨에 있고 신호(DMBREQ)가 시스템버스 클록(BCLK)의 2이상 클록사이클 동안 로우레벨에 있을 때에만, 즉 신호(DMBREQ2P)가 하이레벨에 있을 때에만, 상태제어부(41)는 NEXCPU상태(46)로 천이한다.
여기서, "2이상 클록사이클"이란 DMAC(1)로부터 경합제어부(6)로의 버스사용 허가신호의 전송이 1클록사이클 동안 요구중단부(5)에 의해 중단된 후, 다른 1이상의 클록사이클 동안 DMAC(1)로부터의 버스사용권 요구신호가 더 중단됨을 의미한다.
NEXCPU상태(46)에서, DMAC(1)가 버스사용권을 갖는 동안 현재의 데이터전송이 완료된 때(즉, 신호(WAIT)가 로우레벨로 하강할 때), 상태제어부(41)는 DMAC(1)로부터 CPU(35)로 버스사용권을 이동시킨다. 즉, 현재의 데이터 전송동작의 완료는 로우레벨로의 신호(WAIT)의 천이에 의해 검출되고, 따라서 상태제어부(41)는 CPU상태(47)로 천이한다(천이조건 2).
CPU상태(47)에서, CPU(35)는 시스템버스(B1)를 사용하는 허가(버스사용권)를 받으며, 현재의 데이터 전송동작이 완료된 후에도 상기 버스사용권을 유지한다. 버스사용권 요구가 DMAC(1)에 의해 출력될 때, 상태제어부(41)는 NEXDMA상태(48)로 천이한다(천이조건 3).
NEXDMA상태(48)에서, CPU(35)는 버스사용권을 갖는다. 현재의 데이터 전송동작이 완료된 때(신호(WAIT)는 로우레벨로 하강한다), 상기 버스사용권은 DMAC(1)로 이동한다. 즉, NEXDMA상태(48)에서, 현재 데이터전송 동작의 완료는 신호(WAIT)의 로우레벨로의 천이에 의해 검출되고, 따라서 상태제어부(41)는 DMA상태(45)로 천이한다. CPU(35)에 의한 연속적인 데이터전송 동안 LOCK신호는 하이레벨에 있으며, 상태제어부(41)는, 상기 LOCK신호가 취소되거나(즉, LOCK신호가 로우레벨로 하강하거나) CPU(35)가 버스사용권 요구를 취소하지 않는 한 DMA상태(45)로 천이하지 않는다(천이조건 4).
도6은, 데이터전송 요구가 CPU(35)에 의해 출력되지 않는 경우의 버스제어에 대한 타이밍도이다. 본 발명에 따른 화상처리 시스템(S1)에 있는 DMAC(1)의 기본동작은 도1 및 2와 관련된 도6을 참조하여 설명한다. 동작조건은 추후 기술한다.
도6에서, 스트로브 신호(DMSTRB)는 DMAC(1)가 버스사용권을 가지며 시스템버스(B1)(도1)를 통해 외부메모리에 액세스함을 가리킨다. 스트로브 신호(DMSTRB)가 시스템버스 클록(BCLK)의 하강에지에서 하이레벨에 있으면, 지정된 기능모듈은 데이터전송을 준비한다. 데이터전송의 준비가 완료된 후, 신호(WAIT)는 시스템버스 클록(BCLK)의 하강에지에서 로우레벨로 인입되며, 이로써 상기 표시된 기능모듈에 의한 1회의 데이터 전송동작이 종료된다. 상기 기능모듈은 시스템버스 클록(BCLK)의 하강에지와 동기하여 데이터전송을 행한다.
<동작 조건>
. CPU(35)는 버스사용권을 요구하고 있지 않다.
. 대응하는 각각의 채널을 통해 기능모듈들로부터 공급된 데이터전송 요구신호(DREQ-A,DREQ-B,DREQ-C)중, 신호(DREQ-A)는 최고의 우선순위를 가지며, 신호(DREQ-C)는 최하의 우선순위를 갖는다.
. 채널중 우선순위는 DMA우선순위 채널설정 레지스터(2)에서 설정되지 않는다.
. 채널A 연속데이터 전송수설정 레지스터(4a)에서 "5"가 설정된다. (상기 설정으로, 소정의 기준 데이터량의 6배인 데이터량이 기능모듈A(11)에 의해 연속적으로 전송된다.
. 채널B 연속데이터 전송수설정 레지스터(4b)에서 "4"가 설정된다. (상기 설정으로, 소정의 기준 데이터량의 5배인 데이터량이 기능모듈B(12)에 의해 연속적으로 전송된다.
. 채널C 연속데이터 전송수설정 레지스터(4c)에서 "3"이 설정된다. (상기 설정으로, 소정의 기준 데이터량의 4배인 데이터량이 기능모듈 C(11)에 의해 연속적으로 전송된다.
. 채널A에 접속된 기능모듈(11)은 소정의 기준 데이터량의 3배인 데이터량의 연속적인 전송을 시도한다.
. 채널B에 접속된 기능모듈(12)은 소정의 기준 데이터량의 8배인 데이터량의 연속적인 전송을 시도한다.
. 채널C에 접속된 기능모듈(13)은 소정의 기준 데이터량의 4배인 데이터량의 연속적인 전송을 시도한다.
채널B에 접속된 기능모듈B(12)는 데이터전송 요구신호(DREQ-B)를 출력하는 것으로 가정한다. 신호(DREQ-B)가 출력될 때, 다른 채널을 통해서는 요구가 출력되지 않는다. 따라서, 최고의 우선순위가 채널B에 할당된다. 따라서, 우선순위결정 유지회로(3)로부터 출력된 신호(SELCH-B)는 하이레벨로 인입되며, 채널B 연속데이터 전송수설정 레지스터(4B)가 선택되고, 레지스터(4b)에서 설정된 값 "4"를 가리키는 신호(DMTRN)가 셀렉터(32)로부터 비교기(34)로 출력된다. 한편, 데이터전송 요구신호(DREQ-B)의 출력에 응답하여, DMAC(1)는 버스사용권 요구신호(DMBREQ)를 출력한다. 도6에서, CPU(35)는 액세스(즉, 버스사용허가)를 요구하지 않는다. 따라서, 시스템버스 클록(BCLK)의 다음 하강에지에서, DMAC(1)가 버스사용권을 가짐을 가리키는 신호(DMGNT)는 현재 데이터전송 동작이 완료된 후 하이레벨로 상승한다.그 후, 시스템버스 클록(BCLK)의 다음 하강에지에서, 버스사용권이 DMAC(1)에 실제로 할당된 것임을 가리키는 신호(DMGNTD)는 하이레벨로 상승한다. 다음으로, 상기 DMAC(1)는 DMAC(1)가 시스템버스(B1) 사용권을 가짐을 가리키는(즉, 상기 예에서, 기능모듈B(12)가 외부메모리(14)에 액세스할 수 있음을 가리킴) 스트로브 신호(DMSTRB)를 하이레벨로 인입하며, 기능모듈B(12)는 시스템버스(B1)를 통해 데이터전송을 행한다.
한편, 우선순위결정 유지회로(3)의 내용을 갱신하기 위한 인에이블신호 (LATENB)는, DMAC1에 버스사용이 허가된 시간(A)에 디스에이블 되며(즉, 로우레벨로 하강함), 상기 우선순위결정 유지회로(3)의 내용은 버스사용권이 채널B를 통해 기능모듈B(12)에 할당되도록 고정된다. 그 후, 데이터전송 요구신호가 우선순위가 높은 채널A를 통해 출력되더라도(즉, 기능모듈A(11)로부터 출력됨), 우선순위결정 유지회로(3)의 출력은 일정하게 유지된다.
상기와 같이, 데이터전송은 시작된다. 데이터전송시, 카운터(33)(도2)는 시스템버스 클록(BCLK)의 하강에지에서 시스템버스(B1)(도1)를 통해 연속적으로 전송된 데이터량을 카운트한다(전술한 바와 같이, 카운터(33)는 소정의 데이터량이 전송될 때마다 1씩 증가한다). 카운터(33)는 카운트된 수치를 가리키는 신호(DMCNT)를 비교기(34)에 출력한다. 비교기(34)에서, 상기 카운트된 수치가 셀렉터(32)로부터 출력된 신호(DMTRN)의 값, "4"와 같으면, 비교기(34)로부터 출력된 EQU신호는 하이레벨로 상승한다. 상기 EQU신호의 하이레벨로의 천이 결과로, AND게이트(27)로부터 출력된 요구신호(DMREQ)는 1클록 사이클 동안 로우레벨에 있다. 그러나, 버스사용권 요구는 CPU(35)에 의해 출력되고 있지 않으므로, DMAC(1)는 여전히 버스사용권을 보유한다.
1클록 사이클 동안 로우레벨에 있는 내부 요구신호(DMREQ)의 결과로서, 우선순위결정 유지회로(3)에 공급된 인에이블 신호(LATENB)는 1클록 사이클 동안 인에이블된다. 따라서, 우선순위결정 유지회로(3)의 내용은 현재 버스사용권을 요구하고 있는 기능모듈중 최고의 우선순위를 갖는 기능모듈에 버스사용권이 주어지도록 고정된다. 도6에서 나타낸 예에서, 우선순위결정 유지회로(3)의 내용은 버스사용권이 기능모듈A(11)에 주어지도록 시간(B)에서 고정되며, 상기 우선순위결정 유지회로(3)로부터의 출력신호(SELCH-A)는 하이레벨로 상승한다. 그 결과, 채널A 연속데이터 전송수설정 레지스터(4a)가 선택되며, 셀렉터(32)로부터의 출력신호(DMTRN)는 레지스터(4a)에서 설정된 "5"를 가리킨다. DMAC(1)는 기능모듈A(11)에 의한 데이터전송을 개시하기 위해 스트로브 신호(DMSTRB)를 다시 출력한다. 전송된 데이터량은 기능모듈B(12)에 의한 데이터전송에 대해 기술된 바와 같이 카운트된다. 기능모듈A(11)에 의한 데이터전송의 경우, 모든 요구된 데이터량은 3의 카운트에 의해서만 전송될 수 있으며, 데이터전송이 완료된 때, 데이터전송 요구신호(DREQ-A)는 디스에이블된다(즉, 로우레벨로 하강한다). 신호(DREQ-A)의 디스에이블 결과, AND게이트(27)로부터 출력된 내부 요구신호(DMREQ)는 1클록 사이클 동안 로우레벨에 있으며, 우선순위결정 유지회로(3)의 내용을 갱신하기 위해 우선순위결정 유지회로(3)에 공급된 인에이블 신호(LATENB)는 1클록 사이클 동안 인에이블된다. 다음, 우선순위는 채널B를 통해 기능모듈B(12)에 버스사용권이 다시 주어지도록시간(C)에서 갱신된다.
한편, 기능모듈C(13)는 채널C를 통해 데이터전송 요구신호(DREQ-C)를 출력한다. 그러나, 기능모듈B(12)가 보다 높은 우선순위를 가지므로, 기능모듈B(12)로부터의 데이터전송 요구가 기능모듈C(13)로부터의 데이터전송 요구에 앞서 처리된다. 이와 같이, 기능모듈B(12)는 시스템버스(B1)를 사용하여 데이터전송을 개시한다. 기능모듈B(12)에 의해 초기에 요구되어 전송될 데이터량은 카운터(33)의 3(8-5=3)카운트에 대응하는 데이터량, 즉 소정의 기준 데이터량의 3배를 전송함으로써 완전히 전송된다. 따라서, 카운터(33)가 3을 카운트할 때, 데이터전송 요구신호(DREQ-B)는 디스에이블된다(즉, 로우레벨로 하강한다). 그 결과, 전술한 바와 같이, 우선순위결정 유지회로(3)의 내용은 버스사용권이 기능모듈C(13)에 주어지도록 시간(D)에 고정되며, 기능모듈C(13)에 의한 데이터전송이 개시된다. 전술한 바와 같이, 상기 예에서, 기능모듈C(13)는 소정의 기준 데이터량의 4배인 데이터량을 연속적으로 전송하려고 시도하며, 채널C 연속데이터 전송수설정 레지스터(4c)에서의 설정에 따라, 소정의 기준 데이터량의 4배인 데이터량이 기능모듈C(13)에 의해 연속적으로 전송될 수 있다. 따라서, 기능모듈C(13)에 의한 데이터전송은 소정의 기준 데이터량의 4배인 데이터량을 연속적으로 전송함으로써 완료된다.
도7은 채널의 우선순위가 DMA우선순위 채널설정 레지스터(2)에서 설정되는 경우의 버스제어에 대한 타이밍도이다. 도7에 나타낸 예에서, 도6에서 나타낸 예에서 정한 2개의 조건을 수정하면 다음과 같다:
. CPU(35)는 버스사용권을 끊임없이 요구한다(연속데이터 전송수설정 레지스터(9)에서 설정된 값은 "0"이다. LOCK신호는 디스에이블로 유지된다).
. 채널의 우선순위는 채널A(즉, 기능모듈A(11))가 다른 채널에 비해 보다 높은 우선순위를 갖도록 DMA우선순위 채널설정 레지스터(2)에서 설정된다.
상기 조건에 근거한 도7의 타이밍도는, CPU(35)가 버스사용권을 끊임없이 요구하므로 버스사용권 요구신호가 인터럽트된다는 점에서 도6의 타이밍도와 다르며, 그 결과, 버스사용권은 DMAC(1)로부터 CPU(35)로 이동한다. 도7에 도시된 바와 같이, 버스사용권은 시간(E,F,G)에서 DMAC(1)로부터 CPU(35)로 이동한다. 예컨대, 시간(E) 직후, DMAC(1)의 버스사용권 요구신호인 신호(DMBREQ)는 1클록 사이클 동안 로우레벨에 있다. 반면, 신호(DMBREQ)가 1클록 사이클 동안 로우레벨에 있는 기간 동안, CPU(35)의 버스사용권 요구신호인 신호(CPBREQ)는 하이레벨에 있다. 그 결과, 경합제어부(6)의 상태제어부(41)는 NEXCPU상태(46)로 천이한 후 CPU상태(47)로 천이한다. 따라서, 버스사용권은 CPU(35)에 주어지며, 상기 CPU(35)는 스트로브 신호(CPSTRB)를 하이레벨로 인입한 후, 시스템버스(B1)를 사용하여 데이터전송을 행한다.
그러나, 상태제어부(41)는, DMAC(1)의 버스사용권 요구신호인 신호(DMBREQ)가 1클록 사이클 동안에만 디스에이블된(즉 로우레벨) 후 다시 인에이블되므로 NEXCPU상태(46)로부터 CPU상태(47)로의 천이 직후 NEXDMA상태(48)로 천이한다. 이 때, 전술한 바와 같이, 연속데이터 전송수설정 레지스터(9)에서 설정된 값은 "0"이며, LOCK신호는 디스에이블로 유지된다. 따라서, 상태제어부(41)는 다시 시스템버스 클록(BCLK)의 다음 하강에지에서 DMA상태(45)로 천이한다. 시간(F)에서와 그 이후에도, 동작은 상기와 같은 방식으로 진행된다. 그러나, 시간(G)에서, 즉 버스사용권이 CPU(35)에 주어질 때, CPU(35)는 버스사용권을 요구하지 않는다. 따라서, CPU(35)는 시스템버스(B1)를 계속 사용한다.
그러나, 시간 (B)에서, 버스사용권은 CPU(35)에 주어지지 않지만, DMAC(1)는 시스템버스(B1)를 계속 사용한다. 이는 채널A(즉, 기능모듈A(11))가 CPU(35)보다 상위의 우선순위를 갖도록 DMA우선순위 채널설정 레지스터(2)에서 채널의 우선순위가 설정되기 때문이다. 즉, 레지스터(2)에서의 상기 설정으로, 데이터전송 요구신호가 상기 우선채널A를 통해 출력되고 있음을 가리키는 신호(SEQ)가 출력되며, 따라서 경합제어부(6)로 전송된 신호(DMBREQ)는 DMAC(1)에서의 내부 요구신호(DMREQ)가 1클록 사이클 동안 디스에이블될 경우에도 인터럽트되지 않으며, DMA우선순위 채널설정 레지스터(2)에서 설정된 채널의 우선순위는 변경된다.
도8은 CPU(35)에 대한 DMAC(1)의 우선순위가 DMA우선순위설정 레지스터(7)에서 설정되는 경우의 버스제어에 대한 타이밍도이다. 상기 예에서의 동작조건은 다음과 같다:
. CPU(35)는 버스사용권을 끊임없이 요구한다(연속데이터 전송수설정 레지스터(9)에서 설정된 값은 "0"이다. LOCK신호는 디스에이블로 유지된다).
. 상기 CPU(35)에 대한 DMAC(1)의 우선순위는 DMA우선순위설정 레지스터(7)에서 설정된다. 즉, 신호(DMPRIV)는 하이레벨에 있다.
도8을 참조하면, 먼저 DMAC(1)은 버스사용권 요구신호(DMBREQ)를 출력함과동시에 상기 버스사용권을 할당받는다(신호(DMGNTD)는 하이레벨에 있다). 그 후, 상기 DMAC(1)는 스트로브 신호(DMSTRB)를 출력하고 시스템버스(B1)(도1)를 사용하여 데이터전송을 개시한다. 시간 (A) 직전에, 상기 DMAC(1)는 버스사용권 요구신호(DMBREQ)를 디스에이블한다. 그러나, 1클록 사이클 후, 즉 시간 (A)에서, 상기 DMAC(1)는 신호(DMBREQ)를 다시 인에이블하고 버스사용권을 요구한다. 한편, 신호(DMPRIV)는 CPU(35)에 대한 DMAC(1)의 우선순위가 DMA우선순위설정 레지스터(7)에서 설정되므로 하이레벨에 있다. 따라서, 버스사용권 요구신호 (DMBREQ)는 1클록 사이클 동안에만 로우레벨에 있다. 그러나, 신호(DMBREQ2P)는 로우레벨에 있으므로, 상태제어부(41)의 동작상태의 천이는 발생하지 않으며, 따라서 상기 DMAC(1)는 시스템버스(B1)를 계속 점유한다.
시간 (B) 직전에, 버스사용권 요구신호(DMBREQ)는 2클록 사이클 동안 디스에이블되며(즉, 로우레벨), 버스사용권 요구신호(DMBREQ2P)는 1클록 사이클 동안 로우레벨에 있다. 그 결과, 경합제어부(6)의 상태제어부(41)는 NEXCPU상태(46)를 통해 DMA상태(45)로부터 CPU상태(47)로 천이한다. 따라서, 버스사용권은 CPU(35)로 이동하며, CPU(35)는 시스템버스(B1)를 사용하여 데이터전송을 행한다.
CPU(35)가 기준 데이터량을 1회 전송한 후, LOCK신호는 디스에이블되므로 버스사용권은 DMAC(1)로 복귀된다. 버스사용권 요구신호(DMBREQ)는 복수의 기능모듈이 DMAC(1)의 데이터전송을 요구하고 있는 한 2이상의 클록 사이클 동안 결코 디스에이블(로우레벨)되지 않는다. 따라서, CPU(35)는 기능모듈로부터 출력된 데이터전송 요구가 대기상태에 있지 않을 때에만 시스템버스(B1)를 사용할 수 있다.
도9는 CPU(35)에 의해 연속적으로 전송될 수 있는 데이터량이 연속데이터 전송수설정 레지스터(9)에서 설정되는 경우의 버스제어에 대한 타이밍도이다. 도9에 나타낸 예에서, 값 "2"가 연속데이터 전송수설정 레지스터(9)에서 "0" 대신 설정되며, CPU(35)가 3("2" 플러스 1) 클록 사이클 동안 연속적으로 데이터를 전송하는 동안 버스사용권은 DMAC(1)로 전송되지 않는다. 그러나, DMAC(1)가 버스사용권 요구신호를 출력하지 않는 경우, CPU(35)가 버스사용권 요구를 계속 출력하는 한 연속데이터 전송수설정 레지스터(9)에서 설정된 값에 관계없이 CPU(35)는 데이터전송을 위해 시스템버스(B1)를 계속 사용할 수 있다.
도9를 참조하면, 먼저 DMAC(1)는 버스사용권 요구신호(DMBREQ)를 출력하며, 동시에 CPU(35)는 버스사용권 요구신호(CPBREQ)를 출력하고, 상기 DMAC(1)는 버스사용권을 갖는다(신호(DMGNTD)는 하이레벨에 있다). 다음, DMAC(1)는 스트로브 신호(DMSTRB)를 출력하며, 소정의 기능모듈은 시스템버스(B1)를 사용하여 데이터전송을 행한다. 시간 (A) 직전에, DMAC(1)는 신호(DMBREQ)를 디스에이블하며(즉, 신호(DMBREQ)를 로우레벨로 인입한다), 버스사용권은 CPU(35)로 이동한다. 버스사용권이 CPU(35)로 이동될 때, 즉 시간 (A)에서, 신호(DMBREQ)는 다시 인에이블되며, 따라서 경합제어부(6)의 상태제어부(41)는 NEXDMA상태(48)로 천이한다. 이 때, CPU(35)는 WAIT신호가 로우레벨에 있을지라도, 현재의 데이터전송 동작이 완료된 후에도 DMAC에 의한 버스사용권을 빼앗기지 않고 버스사용권을 유지한다. 이는 연속데이터 전송수설정 레지스터(9)로부터 출력된 신호(CPTRN)가 카운트 값 "2"를 가리키기 때문이며, 상기 값 "2"는 초기치로서 다운카운터(37)에서 설정된다. 그 결과, 신호(CPCNT)는 값 "2"를 가리키며, 따라서 LOCK 신호는 하이레벨에 있다. 상기 카운트 값은 CPU(35)가 소정의 기준 데이터량을 전송할 때마다 감소되며, 카운트 값이 0에 달할 때, LOCK 신호는 취소된다. 다음, 버스사용권은 CPU(35)로부터 DMAC(1)로 전송된다.
시간 (B) 이후, 버스사용권은 CPU(35)로 다시 전송되며, 상기 CPU(35)는 시스템버스(B1)를 사용하여 데이터전송을 행한다. 이 때, DMAC(1)는 버스사용권 요구신호를 출력하고 있지 않으므로, CPU(35)는 상기 CPU(35)가 버스사용권 요구를 계속 출력하는 한 연속데이터 전송수설정 레지스터(9)에서 설정된 값에 관계없이 데이터전송용 시스템버스(B1)를 계속 점유할 수 있다.
전술한 바와 같이, 본 발명의 화상처리 시스템은 시스템버스(B1)가 점유되지 않는 공백시간을 유발하지 않고 DMAC(1)와 CPU(35)간에 버스사용권의 할당을 이상적으로 제어할 수 있다. 동기식 DRAM 등과 같이, 연속적인 메모리 액세스의 초기시에만 오버헤드 시간을 요구하는 메모리가 끊임없이 액세스되는 시스템에서조차도 상기 공백시간은 발생되지 않는다.
본 발명에 따르면, 연속데이터 전송수설정 레지스터(4)는 시스템버스(B1)를 통해 DMAC(1)와 외부장치간에 연속적으로 전송될 수 있는 데이터량을 설정하기 위한 기능을 가질 수 있다.
도10은 본 발명에 따른 화상처리 시스템을 포함하는 반도체장치(S2)를 나타낸다. 상기 반도체장치(S2)는 기능모듈(11,12,12,49,50); DMAC(1); 경합제어부(6); 외부메모리 제어부(10); 및 시스템버스(B1)를 포함한다. 상기 구성요소들은 단일실리콘 칩으로 집적된다. 기능모듈(11,12,13)들은 각각 CCD신호처리, 화상출력 및 화상압축/신장을 행한다. 상기 반도체장치(S2)는 기능모듈(49,50) 및 외부접속단자 (P1,P2,P3,P4)를 제외하고는 도1에 도시된 화상처리 시스템(S1)과 동일한 기능을 갖는다.
반도체장치(S2)에서, 기능모듈(11,12,49,50)들은 각각 장치(S2) 외부와의 통신을 위해 외부접속단자(P1,P2,P3,P4)들을 갖는다. 기능모듈(11,12,13,49,50)은 화상처리를 위한 모듈(CCD신호처리(11), 화상출력(12) 및 화상압축/신장(13))과 데이터통신을 위한 모듈(49,50)을 포함한다. 또한, 반도체장치(S2)는 시스템버스(B1)용 외부접속단자(B3)를 통해서만 외부장치에 접속되므로, 1라인의 버스, 즉 시스템버스(B1)를 제공하기만 하면 된다. 따라서, 반도체장치(S2)의 크기 및 그 소비전력은 감소된다. 따라서, 그 크기 및 전력소비가 작은 단일 버스 시스템을 기초로 한 고속 화상처리장치가 실현된다.
구체적으로, 화상데이터 전용의 시스템버스 및 화상버스 각각이 32비트를 갖는 2라인 버스시스템에서, 외부메모리에 접속하기 위해서는 64개의 데이터신호 단자들이 요구된다. 반면, 본 발명에 따른 단일 버스를 기초로 한 반도체장치(S2)에서는 시스템버스(B1)외에 버스선이 요구되지 않는다. 따라서, 외부메모리와의 접속용으로 32개의 데이터신호 단자들을 제공하기만 하면 된다. 따라서, 반도체장치 (S2)는 보다 적은 수의 단자들을 요구하며, 따라서 그 크기가 감소된다. 또한, 각각의 단자들을 통해 외부 신호선들을 구동함으로써 소비되는 전력은 단자수의 감소로 줄어든다.
도11은 본 발명에 따른 디지털 스틸 카메라장치(1000)를 도시한다. 디지털 스틸 카메라장치(1000)는 도10에 도시된 반도체장치(S2)를 포함한다. 렌즈(51)를 사용하여 전하결합소자(CCD)(52)상에 형성된 화상은 외부 단자(P1)를 통해 반도체장치(S2)에서 화상데이터로서 입력되어 각종 화상처리가 행해진다. 반도체장치(S2)에서 처리된 화상데이터는 외부단자(P2)를 통해 표시장치(53)에 출력된다. 또한, 상기 처리된 화상데이터는 필요에 따라 외부장치(도시 안됨)로 출력되기 위해 외부단자(P3)를 통해 통신 드라이버/리시버(54)에 출력될 수 있다. 또한 외부장치로부터의 데이터는 통신 드라이버/리시버(54)에 의해 수신되어 외부단자(P3)를 통해 반도체장치(S2)로 입력될 수 있다. 상기 데이터는 적절한 화상처리를 거쳐 외부단자(P2)를 통해 화상데이터로서 표시장치(53)에 출력될 수 있다.
본 실시예에서, 외부단자(P4)를 통해 반도체장치(S2)에 접속된 시스템제어용 마이크로컴퓨터(56)는, 카메라장치(1000)의 동작에 요구되는 각종 스위치동작의 입력 및 LED 등과 같은 각종 인디케이터로의 데이터 입력을 제어한다. 반도체장치 (S2)에는 CPU가 제공된다. 시스템제어를 행하는 CPU용 프로그램 데이터나 표시장치(53)에 문자 등을 표시하기 위해 사용되는 문자 데이터 등을 저장하기 위해 사용되는 플래시 메모리(58), 및 CPU용 작업영역으로 사용되거나 또는 화상데이터 등을 저장하기 위해 사용되는 동기식 DRAM(59)은 시스템버스(B1)용으로 사용되는 외부접속단자(B3)에 접속된다.
도10에 도시된 반도체장치(S2)를 이용함으로써, 디지털 스틸 카메라와 같은, 고속으로 다량의 화상데이터를 처리하는데 요구되는 시스템은 단일 시스템 버스로달성될 수 있다. 또한, 단일 시스템버스 구조는 1개의 메모리 칩만을 요구하는 반면, 2중 버스구조는 적어도 2개의 메모리 칩(시스템버스용 1개와 화상전용 버스용 1개)을 요구한다. 따라서, 본 발명에 따르면, 즉 단일 시스템버스 구조로 구성요소의 수를 줄일 수 있으며, 따라서 구성요소의 설치면적 또한 줄일 수 있다. 그 결과, 장치의 크기는 줄어들며, 메모리칩 수의 감소로 인해 메모리칩으로 소비되는 전력 또한 줄일 수 있다. 또한, 메모리칩 수의 감소 결과로, 납땜 점의 수는 감소되며, 따라서 설치면상의 화상처리 시스템의 신뢰도는 개선된다.
전술한 바와 같이, 본 발명의 화상처리 시스템에서, DMAC는 연속데이터 전송수설정 레지스터와 요구중단부를 포함하며, 경합제어부는 DMA 우선순위설정 레지스터를 포함한다. 상기 구성에 의해, DMAC 또는 CPU에 버스사용권이 선택적으로 할당된다. 따라서, 단일 시스템버스에서도 모든 데이터전송은 효율적으로 행해질 수 있다.
또한, 본 발명의 반도체장치에서 화상데이터용 메모리와 CPU 작업영역용 메모리는 공통 메모리칩에 형성될 수 있다. 따라서, 화상처리 시스템에서 요구되는 메모리 수는 감소되며, 이에 따라 전체 화상처리 시스템에서 소비되는 전력도 감소된다.
또한, 본 발명에 따른 디지털 스틸 카메라장치에서 메모리의 수는 감소될 수 있다. 그 결과, 전체 장치에서 사용되는 부품수 및 인쇄기판의 크기를 줄일 수 있다. 따라서, 완제품의 비용을 삭감할 수 있음과 동시에, 부품설치의 신뢰성이 향상된다.
본 발명의 정신 및 범위를 벗어나지 않고 당업자는 본 발명을 용이하게 변경할 수 있다. 따라서, 첨부된 청구항의 범위는 발명의 상세한 설명에 기재된 내용에 한정되지 않으며, 넓게 해석되어야 한다.

Claims (12)

  1. 단일 시스템버스에 접속된 적어도 1개의 기능모듈;
    상기 적어도 1개의 기능모듈로부터 출력된 데이터전송 요구신호를 기초로 제1 버스사용권 요구신호를 출력하는 데이터전송 제어부;
    제2 버스사용권 요구신호를 출력하는 시스템버스에 접속된 중앙처리장치;
    상기 제1 및 제2 버스사용권 요구신호를 기초로, 데이터전송 제어부와 중앙처리장치중 어느 것이 시스템버스의 사용권을 할당받는지를 결정하기 위한 경합제어부;
    상기 적어도 1개의 기능모듈에 의해 연속적으로 전송될 수 있는 제1 데이터량을 설정하는 부분;
    상기 적어도 1개의 기능모듈에 의한 데이터전송이 완료된 후, 적어도 1 클록 사이클 동안 경합제어부에 대한 상기 제1 버스사용권 요구신호의 출력을 중단하는 부분; 및
    상기 제1 버스사용권 요구신호가 출력중인 기간 동안 데이터전송 제어부가 중앙처리장치보다 우선순위를 갖는 방식으로 데이터전송 제어부와 중앙처리장치중 하나에 시스템버스의 사용을 허가하는 부분을 포함하는, 데이터처리 시스템.
  2. 제1항에 있어서,
    상기 적어도 1개의 기능모듈은 복수의 기능모듈이며;
    상기 복수의 기능모듈중 중앙처리장치보다 상위의 시스템버스 사용허가 우선순위를 갖는 기능모듈이 데이터전송 요구신호를 출력하고 있는 경우, 경합제어부로의 상기 제1 버스사용권 요구신호의 출력은 상기 복수의 기능모듈중 하나에 의한 데이터전송이 완료된 후에도 중단되지 않는, 데이터처리 시스템.
  3. 제1항에 있어서,
    상기 적어도 1개의 기능모듈에 의한 데이터전송이 완료된 다음, 상기 경합제어부로의 상기 제1 버스사용권 요구신호의 출력이 적어도 1 클록 사이클동안 중단된 후, 상기 경합제어부로의 상기 제1 버스사용권 요구신호의 출력이 또 다른 1이상의 클록주기 동안 더 중단되는 경우, 상기 시스템버스의 사용권이 상기 제2 버스사용권 요구신호를 근거로 중앙처리장치에 할당되는, 데이터처리 시스템.
  4. 제1항에 있어서,
    중앙처리정치에 의해 연속적으로 전송될 수 있는 제2 데이터량을 설정하는 부분을 더 포함하며,
    상기 제2 데이터량이 소정의 양과 일치하지 않는 경우, 상기 중앙처리장치는 데이터전송 제어부가 상기 중앙처리장치에 의한 데이터전송기간 동안 시스템버스 사용권을 요구하고 있을 때에도 데이터전송을 계속 행하는, 데이터처리 시스템.
  5. 제1항의 데이터처리 시스템을 포함하는 반도체장치.
  6. 제5항의 반도체장치를 포함하는 디지털 카메라장치.
  7. 제2항의 데이터처리 시스템을 포함하는 반도체장치.
  8. 제7항의 반도체장치를 포함하는 디지털 카메라장치.
  9. 제3항의 데이터처리 시스템을 포함하는 반도체장치.
  10. 제9항의 반도체장치를 포함하는 디지털 카메라장치.
  11. 제4항의 데이터처리 시스템을 포함하는 반도체장치.
  12. 제11항의 반도체장치를 포함하는 디지털 카메라장치.
KR10-2001-0040076A 2000-07-05 2001-07-05 화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치 KR100400851B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000204416A JP2002024166A (ja) 2000-07-05 2000-07-05 画像処理システム並びにそれを用いた半導体装置およびディジタルスチルカメラ装置
JPJP-P-2000-00204416 2000-07-05

Publications (2)

Publication Number Publication Date
KR20020003831A KR20020003831A (ko) 2002-01-15
KR100400851B1 true KR100400851B1 (ko) 2003-10-08

Family

ID=18701681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0040076A KR100400851B1 (ko) 2000-07-05 2001-07-05 화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치

Country Status (4)

Country Link
US (1) US7007124B2 (ko)
JP (1) JP2002024166A (ko)
KR (1) KR100400851B1 (ko)
TW (1) TW530214B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3750462B2 (ja) * 2000-02-22 2006-03-01 コニカミノルタフォトイメージング株式会社 デジタルカメラおよび記録媒体
US7054966B2 (en) * 2004-06-14 2006-05-30 General Electric Company Data processing system
US7725633B2 (en) 2004-06-24 2010-05-25 Panasonic Corporation Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device
JP5085178B2 (ja) 2007-04-11 2012-11-28 ルネサスエレクトロニクス株式会社 Dmaコントローラおよびdma転送方法
CN101673252B (zh) * 2008-09-08 2012-05-23 安辰电脑股份有限公司 Dma系统
JP5648472B2 (ja) * 2010-12-24 2015-01-07 富士通セミコンダクター株式会社 半導体装置及び制御方法
FR3003055B1 (fr) * 2013-03-06 2015-04-03 Sagem Defense Securite Procede de controle de bande passante pour systeme sur puce
JP2015043170A (ja) * 2013-08-26 2015-03-05 株式会社東芝 インターフェース回路及びシステム
JP6263025B2 (ja) * 2013-12-25 2018-01-17 キヤノン株式会社 画像処理装置及びその制御方法
KR20210081636A (ko) * 2019-12-24 2021-07-02 에스케이하이닉스 주식회사 우선 순위 결정 회로 및 그 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06314249A (ja) * 1993-04-30 1994-11-08 Sony Corp データ転送装置
JPH06318184A (ja) * 1993-03-11 1994-11-15 Tokyo Electric Co Ltd バス調停装置
KR20000025263A (ko) * 1998-10-09 2000-05-06 김영환 버스 제어회로
JP2000155738A (ja) * 1998-11-19 2000-06-06 Ricoh Co Ltd データ処理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5627429A (en) 1979-08-09 1981-03-17 Toshiba Corp Bus control system
JPS6224348A (ja) 1985-07-24 1987-02-02 Fujitsu Ltd Dma処理方式
JPS6329867A (ja) 1986-07-23 1988-02-08 Nec Corp Dmaコントロ−ラ
JPS63261451A (ja) 1987-04-20 1988-10-28 Mitsubishi Electric Corp マルチポ−トメモリコントロ−ラ
JPH047773A (ja) 1990-04-26 1992-01-13 Nec Corp Dmaコントローラ
JP3619532B2 (ja) * 1993-11-08 2005-02-09 株式会社ルネサステクノロジ 半導体集積回路装置
JPH07248992A (ja) * 1994-03-10 1995-09-26 Mita Ind Co Ltd 画像データ転送制御装置
JPH08171528A (ja) 1994-12-19 1996-07-02 Ricoh Co Ltd データ処理装置
JPH11120123A (ja) 1997-10-20 1999-04-30 Fujitsu Ltd バス制御によるデータ転送装置
US6320573B1 (en) * 1998-10-30 2001-11-20 Eastman Kodak Company Driving a memory display in a camera
US20030142219A1 (en) * 1998-12-11 2003-07-31 Mcgarvey James E. Low noise clock generation circuit for a digital camera

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06318184A (ja) * 1993-03-11 1994-11-15 Tokyo Electric Co Ltd バス調停装置
JPH06314249A (ja) * 1993-04-30 1994-11-08 Sony Corp データ転送装置
KR20000025263A (ko) * 1998-10-09 2000-05-06 김영환 버스 제어회로
JP2000155738A (ja) * 1998-11-19 2000-06-06 Ricoh Co Ltd データ処理装置

Also Published As

Publication number Publication date
JP2002024166A (ja) 2002-01-25
US7007124B2 (en) 2006-02-28
US20020003574A1 (en) 2002-01-10
TW530214B (en) 2003-05-01
KR20020003831A (ko) 2002-01-15

Similar Documents

Publication Publication Date Title
US7472213B2 (en) Resource management device
US6151651A (en) Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
US5878279A (en) HDLC integrated circuit using internal arbitration to prioritize access to a shared internal bus amongst a plurality of devices
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US5297292A (en) Bus system wherein a bus-using request signal is issued in advance of a determination that a bus is to be used and is thereafter cancelled if the bus is not used
US20020161956A1 (en) Memory control device and LSI
US20070226391A1 (en) Data transfer control apparatus
KR100400851B1 (ko) 화상처리 시스템 및 이를 이용한 반도체장치와 디지털스틸 카메라장치
JP2003006143A (ja) バス共有化システムと装置及び方法
US7581049B2 (en) Bus controller
US20070067527A1 (en) Data transfer bus system connecting a plurality of bus masters
US6782433B2 (en) Data transfer apparatus
JP4090883B2 (ja) 異なるリソースアクセス方式を有するシステム統合エージェント
US20070260791A1 (en) Data processing device
JP2007172112A (ja) メモリコントローラ
US7080176B2 (en) Bus control device and information processing system
US6105082A (en) Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle
WO1997029432A1 (en) Apparatus for programmably defining the access latency
KR970005743B1 (ko) 데이타 전송 제어장치
US5968145A (en) System for selectively connecting CPU bus to DMAC bus when accessing device connected to DMAC bus is granted and DMA controller has right to access DMAC bus
JP2002269032A (ja) バスアービタ
KR100190184B1 (ko) 직렬버스를 통해 데이타를 송신하는 회로
US20030182478A1 (en) Direct memory access controller, direct memory access device, and request device
JP4190969B2 (ja) バスシステム及びambaにおけるバス調停システム
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device

Legal Events

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

Payment date: 20100910

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee