KR20180120578A - 전송장치, 제어장치, 전송방법 및 복합기 - Google Patents

전송장치, 제어장치, 전송방법 및 복합기 Download PDF

Info

Publication number
KR20180120578A
KR20180120578A KR1020180044180A KR20180044180A KR20180120578A KR 20180120578 A KR20180120578 A KR 20180120578A KR 1020180044180 A KR1020180044180 A KR 1020180044180A KR 20180044180 A KR20180044180 A KR 20180044180A KR 20180120578 A KR20180120578 A KR 20180120578A
Authority
KR
South Korea
Prior art keywords
unit
data
transfer
state
request
Prior art date
Application number
KR1020180044180A
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 캐논 가부시끼가이샤
Publication of KR20180120578A publication Critical patent/KR20180120578A/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • 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/00095Systems or arrangements for the transmission of the picture signal
    • 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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00915Assigning priority to, or interrupting, a particular operation
    • 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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00954Scheduling operations or managing resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0081Image reader
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0084Digital still camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0091Digital copier; digital 'photocopier'
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Facsimiles In General (AREA)
  • Bus Control (AREA)

Abstract

전송장치는 기억장치와 처리장치 사이에서 데이터를 각각 전송하도록 구성된 복수의 전송장치의 1개이다. 상기 기억장치와 상기 전송장치는 버스를 거쳐 접속된다. 상기 전송장치는, 상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하도록 구성된 발행부와, 전송되는 데이터를 해석하도록 구성된 해석부와, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 다른 전송장치로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하도록 구성된 전환부를 구비한다.

Description

전송장치, 제어장치, 전송방법 및 복합기{TRANSFER DEVICE, CONTROL DEVICE, TRANSFER METHOD, AND MULTIFUNCTION PERIPHERAL}
본 발명은, 전송장치, 제어장치, 전송방법 및 복합기에 관한 것이다.
스캔 기능과 프린트 기능을 가지는 복합기 등의 장치에서는, 카피 처리를 행할 때, 처리를 신속하게 완료하기 위해서 원고를 스캐너로 읽어내면서, 동시에 프린트가 행해진다. 이때, 스캔에 의해 얻어진 화상 데이터가 버스를 거쳐 DRAM에 격납되고, 수 라인의 스캔이 완료한 단계에서, DRAM에 격납된 화상 데이터가 판독되어 프린트가 실행되는 처리가 반복된다. 그렇지만, 스캐너에 의해 판독된 화상 데이터와, 프린트에 사용하는 화상 데이터의 전송은 공통의 버스를 거쳐 행해지기 때문에, 스캐너와 프린터가 동시에 동작하는 카피 처리에서는, 버스에 작용하는 대역부하가 커진다. 특히, 카피 처리시에 일시적으로 스캐너측의 버스 액세스가 집중했을 경우, 프린터측에서 프린트용의 데이터 전송이 지연된다. 스캔 동작에 필요한 버스 대역을 확보할 수 없게 되면, 데이터의 취득 실패에 의해 카피 처리가 정확하게 행해지지 않게 될 가능성이 있다. 데이터 공급이 지연되면, 프린트 헤드를 멈추지 않고 연속해서 동작시킬 수 없게 되어, 프린트가 정확하게 행해지지 않게 될 가능성이 있다.
이러한 상황을 감안하여, 버스를 거쳐 데이터 전송을 행하는 복수의 장치를 포함하는 시스템에 있어서, 각 장치에 필요한 속도에서 데이터를 공급하기 위한 다양한 기술이 개발되어 있다. 예를 들면, 일본국 특개 2014-107585호 공보에는, 스캔 처리와 프린트 처리가 병행하여 동작할 경우, 프린트 처리부의 버스 액세스를 허가하는 긴 기간을 설정함으로써, 프린트 엔진에의 데이터 전송이 지연되지 않도록 제어하는 기술이 개시되어 있다. 일본국 특개 2010-15275호 공보에는, 버스에 작용하는 대역의 부하를 정기적으로 감시하고, 버스 상의 대역부하가 일정량을 넘고 있으면, 데이터 전송량을 억제하는 기술이 개시되어 있다. 일본국 특개 2015-99477호 공보에는, 블록 단위로 데이터 전송을 행하는 DMAC에 있어서, 버퍼의 리드 및 라이트 동작의 전환을 시간적으로 분산시킴으로써, 버스 상에서의 데이터 전송의 집중을 억제하는 기술이 개시되어 있다. 일본국 특개 2002-366507호 공보에는, 복수 채널을 사용하는 DMA 전송을 제어하는 DMAC이 개시되어 있다. 이 DMAC은, 각 채널로부터의 전송 요구를 소정의 데이터 전송량으로 분할해서 이 요구를 실행함으로써, 특정한 채널이 버스를 점유하여, 다른 디바이스가 계속해서 대기해 버리는 상태를 회피한다.
그렇지만, 일본국 특개 2014-107585호 공보에 기재된 수법에서는, 버스의 사용이 허가되어 있는 기간에, 전송할 데이터를 항상 준비해 두지 않으면, 버스의 대역을 충분하게 활용할 수 없는 시간이 발생해 버린다. 일본국 특개 2010-15275호 공보에 기재된 수법에서는, 데이터 전송속도가 억제되는 타이밍을 예측하는 것이 어렵기 때문에, 스캔 처리와 프린트 처리와 같이 실시간의 동작이 요구되는 기기에 이 방법을 적용하는 것이 어렵다. 일본국 특개 2015-99477호 공보에 기재된 수법에서는, 실시간 동작에 필요한 속도에서 데이터 전송을 행할 수 있도록, 버퍼링 동작의 전환을 허용하기 위해 웨이트 사이클을 지정하고 있다. 그렇지만, 이 시스템은, 웨이트 사이클을 CPU로부터의 이벤트 신호에 의해 전환하도록 구성되어 있기 때문에, 데이터 전송속도의 전환에 시간이 걸려, 다음의 처리로 이행하기 전에 대기 시간이 필요하다. 일본국 특개 2002-366507호 공보에 기재된 수법에서는, DMA 전송시에 액세스처의 전송 속도에 따라 DMA 전송의 데이터량을 제어하고 있다. 그렇지만, 고속의 데이터 전송이 요구되는 프린트 처리의 설정값의 전송과 스캔 처리의 설정값의 전송시에도 DMA 전송이 분할해서 행해지기 때문에, 원치 않는 타이밍에서 전송 속도가 억제되어 버린다.
본 발명이 일면은, 병행하여 복수의 처리를 행할 때에, 간단한 제어에 의해 버스와 처리회로를 효율적으로 이용하면서, 각 처리를 행하는데 필요한 대역을 할당할 수 있는 구성을 제공한다.
본 발명이 일면은 이하의 구성을 구비한다.
기억장치와 처리장치 사이에서 데이터를 각각 전송하도록 구성된 복수의 전송장치의 1개의 전송장치로서, 상기 기억장치와 상기 전송장치는 버스를 거쳐 접속되고, 상기 전송장치는, 상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하도록 구성된 발행부와, 전송되는 데이터를 해석하도록 구성된 해석부와, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 다른 전송장치로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하도록 구성된 전환부를 구비한 전송장치.
본 발명이 또 다른 일면은 이하의 구성을 구비한다.
기억장치와 처리장치를 사용하여 행해지는 판독장치로부터 출력장치로의 데이터의 전송을 제어하는 제어장치로서, 상기 기억장치와 상기 제어장치는 버스를 거쳐 접속되고, 상기 제어장치는, 상기 버스를 거쳐 상기 출력장치에 데이터를 전송하기 위해서 발행된 코맨드를 해석하도록 구성된 해석부와, 발행된 일련의 코맨드 내의 데이터의 상태를, 상기 해석의 결과로서 얻어지는 데이터의 속성에 따라, 제1상태와, 상기 판독장치로부터의 데이터가 상기 제1상태보다도 전송되기 더 쉬운 제2상태 사이에서 전환하도록 구성된 전환부를 구비한 제어장치.
본 발명이 또 다른 일면은 이하의 구성을 구비한다.
기억장치와 처리장치 사이에서 데이터를 전송하도록 각각 구성된 복수의 전송장치의 1개의 전송장치의 제어방법으로서, 상기 기억장치와 상기 전송장치는 버스를 거쳐 접속되고, 상기 제어방법은, 상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하는 단계와, 전송되는 데이터를 해석하는 단계와, 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 다른 전송장치로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태의 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하는 단계를 포함하는 제어방법.
본 발명이 또 다른 일면은 이하의 구성을 구비한다.
스캐너와, 프린터와, 상기 스캐너와 상기 프린터를 제어하도록 구성된 제어부를 구비한 복합기로서, 상기 제어부는, 상기 스캐너 및 상기 프린터를 사용하여 행해진 카피 처리에서 사용되는 데이터를 기억하기 위한 기억장치와, 카피 처리에서 사용되는 데이터를 처리하도록 구성된 연산부와, 상기 제어부를 제어하도록 구성된 CPU와, 상기 기억장치, 상기 연산부와 상기 CPU가 접속된 버스와, 상기 버스에 신호를 전송하는 권리를 조정하도록 구성된 버스 조정부를 포함하고, 상기 연산부는, 상기 스캐너에 의해 스캔된 데이터를 처리하도록 구성된 제1처리부와, 상기 기억장치와 상기 제1처리부 사이에서 데이터를 전송하도록 구성된 제1전송부와, 상기 프린터에 의한 프린트에 적합하도록 데이터를 처리하도록 구성된 제2처리부와, 상기 기억장치와 상기 제2처리부 사이에서 데이터를 전송하도록 구성된 제2전송부와, 상기 제1전송부 및 상기 제2전송부와 접속되고, 상기 제1전송부 또는 상기 제2전송부로부터의 리퀘스트를 상기 버스를 거쳐 상기 버스 조정부에 송신하도록 구성된 전송 처리부를 포함하고, 상기 제1전송부로부터의 리퀘스트가 상기 제2전송부로부터의 리퀘스트와 경합하는 경우, 상기 전송 처리부는 이들 리퀘스트를 선입선출(First-in First-out) 순서로 처리하고, 상기 제1전송부는, 상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하도록 구성된 발행부와, 전송되는 데이터를 해석하도록 구성된 해석부와, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 상기 제2전송부로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하도록 구성된 전환부를 구비한 복합기.
본 발명이 또 다른 일면은 이하의 구성을 구비한다.
스캐너와, 프린터와, 상기 스캐너와 상기 프린터를 제어하도록 구성된 제어부를 구비한 복합기로서, 상기 제어부는, 상기 스캐너 및 상기 프린터를 사용하여 행해진 카피 처리에서 사용되는 데이터를 기억하기 위한 기억장치와, 카피 처리에서 사용되는 데이터를 처리하도록 구성된 연산부와, 상기 제어부를 제어하도록 구성된 CPU와, 상기 기억장치, 상기 연산부와 상기 CPU가 접속된 버스와, 상기 버스에 신호를 전송하는 권리를 조정하도록 구성된 버스 조정부를 포함하고, 상기 연산부는, 상기 스캐너에 의해 스캔된 데이터를 처리하도록 구성된 제1처리부와, 상기 기억장치와 상기 제1처리부 사이에서 데이터를 전송하도록 구성된 제1전송부와, 상기 프린터에 의한 프린트에 적합하도록 데이터를 처리하도록 구성된 제2처리부와, 상기 기억장치와 상기 제2처리부 사이에서 데이터를 전송하도록 구성된 제2전송부와, 상기 제1전송부 및 상기 제2전송부와 접속되고, 상기 제1전송부 또는 상기 제2전송부로부터의 리퀘스트를 상기 버스를 거쳐 상기 버스 조정부에 송신하도록 구성된 전송 처리부를 포함하고, 상기 제1전송부로부터의 리퀘스트가 상기 제2전송부로부터의 리퀘스트와 경합하는 경우, 상기 전송 처리부는 이들 리퀘스트를 선입선출(First-in First-out) 순서로 처리하고, 상기 제1전송부는, 상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하도록 구성된 발행부와, 전송되는 데이터를 해석하도록 구성된 해석부와, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 상기 제1전송부로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하도록 구성된 전환부를 구비한 복합기.
본 발명의 예시적인 일면에 따르면, 병행하여 복수의 처리를 행할 때에, 간단한 제어에 의해 버스와 처리회로를 효율적으로 이용하면서, 각 처리를 행하는데 필요한 대역을 할당할 수 있다.
본 발명의 또 다른 특징은 (첨부도면을 참조하여 주어지는) 이하의 실시형태의 상세한 설명으로부터 명백해질 것이다.
명세서에 포함되고 명세서의 일부를 구성하는 다음의 첨부도면은, 본 발명의 예시적인 실시형태, 특징 및 국면을 예시하며, 상세한 설명과 함께, 본 발명의 원리를 설명하는 역할을 한다.
도 1은, 제1의 실시형태에 따른 복합기의 구성 예를 나타낸 블록도이다.
도 2는, 스캔 처리를 행할 때 사용된 디스플레이 리스트의 일례를 나타낸 모식도이다.
도 3은, 도 1의 복합기가 카피 처리를 행할 때의 동작의 흐름의 일례를 나타낸 흐름도이다.
도 4a 내지 도 4c는, 버스 상의 데이터 전송을 나타내는 모식도이다.
도 5는, 도 1의 연산부의 기능 및 구성을 나타내는 블록도이다.
도 6은, 도 5의 제1입력측 전송부의 기능 및 구성을 나타내는 블록도이다.
도 7은, 전송 시퀀스의 제어를 설명하기 위한 도면이다.
도 8은, 동기제어를 설명하는 흐름도이다.
도 9a 및 도 도 9b는, 버퍼 체인지의 타이밍을 나타내는 모식도이다.
도 10은, 제2의 실시형태에 따른 제1입력측 전송부의 기능 및 구성을 나타내는 블록도이다.
도 11은, 제3의 실시형태에 따른 제1입력측 전송부의 기능 및 구성을 나타내는 블록도이다.
도 12는, 도 11의 DMA 분할부에 있어서의 분할 제어를 설명하는 흐름도이다.
도 13a 내지 도 13e는, DMA 전송 리퀘스트의 분할을 설명하기 위한 도면이다.
이하, 각 도면에 표시되는 동일 또는 동등한 구성요소, 부재, 처리에는, 동일한 부호를 붙이는 것으로 하고, 적당하게 중복한 설명은 생략한다. 또한 각 도면에 있어서 설명상 중요하지 않은 부재의 일부는 생략해서 표시한다.
실시형태에서는, 데이터의 전송장치에 있어서, 전송할 데이터의 속성과 내용에 따라, 고속으로 데이터 전송이 행해지는 고속 전송 모드와 데이터 전송 속도가 억제되는 억제 전송 모드가 자율적으로 전환된다. 이에 따라, CPU가 개재할 일이 없이, 적절한 타이밍에서 데이터 전송속도가 제어되기 때문에, 각 처리부가 데이터 전송할 때에 필요로 하는 버스의 대역을 확보할 수 있다.
제1의 실시형태
도 1은, 제1의 실시형태에 따른 복합기(100)의 구성 예를 나타낸 블럭도다. 복합기(100)는, 제어부(110)와, 스캐너(120)와, 프린터(130)를 구비한다. 스캐너(120)는 원고(121)를 읽어내어, 화상 데이터로 변환하는 광학장치다. 구체적으로는, 스캐너(120)는 원고(121)에 빛을 조사하고, 촬상소자에 의해 그 반사광을 수광해서 아날로그 데이터를 생성하고, A/D 변환함으로써 화상 데이터를 얻는다. 프린터(130)는 프린트 화상 데이터에 따라, 용지(131)에 대하여 잉크를 토출함으로써 용지(131) 위에 화상을 형성하는 프린트 장치다. 이때, 프린터(130)는 이러한 잉크젯 방식의 프린트 장치에 한정되지 않고, 전자사진 방식이나 그 밖의 프린트 방식을 사용한 프린트 장치이어도 된다.
제어부(110)는 스캐너(120)나 프린터(130)에 대한 동작의 지시와, 화상의 전송 및 화상처리를 행하는 제어장치다. 제어부(110)는, CPU(111)과, 메모리 콘트롤러(112)와, DRAM(113)과, 스캐너 I/F(114)와, 프린터 I/F(115)와, 연산부(116)를 포함한다. 이들 구성요소는 각각 버스(117)와 접속되어, 버스(117)를 거쳐 데이터의 교환을 행한다.
스캐너 I/F(114)는 스캐너(120)와 버스(117) 사이에 설치되고, 그들 사이의 인터페이스로서 기능한다. 프린터 I/F(115)는 프린터(130)와 버스(117) 사이에 설치되고, 그들 사이의 인터페이스로서 기능한다. CPU(111)은 복합기(100)를 제어하는 프로세서다. 버스(117)는 제어부(110)의 구성요소 사이에서 데이터를 전송할 때에 사용되는 신호전송로다. 버스(117) 위에서는 동시에 복수의 구성요소로부터 데이터를 전송할 수 없기 때문에, 버스(117) 위에서 데이터를 전송하는 구성요소는 메모리 콘트롤러(112)에 의해 제어된다.
메모리 콘트롤러(112)는, 제어부(110)의 구성요소에 대해서, 버스(117)에 신호를 전송하는 권리(버스의 사용권)를 조정하는 버스 조정부이다. 메모리 콘트롤러(112)는 버스(117) 위에서 행하는 데이터 전송의 리퀘스트를 관리한다. 메모리 콘트롤러(112)는, 각 구성요소로부터 보내진 리퀘스트를 수신하고, 순서대로 리퀘스트를 실행한다. 메모리 콘트롤러(112)는, 동시에 복수의 구성요소로부터 리퀘스트를 수신했을 경우, 우선순위가 가장 높은 순서로 리퀘스트를 실행한다.
DRAM(113)은 복합기(100)의 주기억장치다. DRAM(113)은, 스캔 및 프린트에 사용하는 화상 데이터, 연산부(116)의 설정값과, 디스플레이 리스트를 기억(유지)한다. 디스플레이 리스트는, 연산부(116)에 의해 어떤 처리를 해야 할지를 기재하는 코맨드 열을 나타내는 데이터다.
연산부(116)는 디스플레이 리스트에 의해 제어되어, 스캔 화상 및 프린트 화상에 대하여 화상처리를 행하는 장치다. 화상처리는 스캔 화상처리와 프린트 화상처리를 포함한다. 스캔 화상처리에서는, 스캐너(120)에 의해 읽어낸 화상 데이터에 대하여, 광학소자의 특성에 의해 벗어나버린 색조를 자연스러운 색으로 수정하는 감마(γ) 보정, 문자의 윤곽을 명확히 하기 위한 에지강조 등이 행해진다. 프린트 화상처리에서는, 프린트 대상의 화상 데이터에 대하여, 프린트가능한 CMYK 색공간으로 변환하는 색공간 변환, 잉크로 표현하는데 적절한 계조로 변환하는 감마(γ) 변환 등이 행해진다.
도 2는, 스캔 처리를 행하기 위한 디스플레이 리스트(150)의 일례를 나타낸 모식도다. 이하 디스플레이 리스트(150)에 위한 연산부(116)의 제어를 설명한다. 도 2는, 디스플레이 리스트(150)와, LUT(Look-Up Table) 데이터(151)와, 화상 데이터(152)가 DRAM(113)에 유지되어 있는 상태를 나타내고 있다. 디스플레이 리스트(150)는 위에서부터 순서대로 처리되므로, 최초에 연산부 설정 코맨드(153)가 실행된다. 연산부 설정 코맨드(153)에 따라, 후술하는 제1이벤트 제어부(211), 제1입력측 전송부(212) 및 제1출력측 전송부(213)에 대한 설정이 행해진다. 구체적으로는, 연산부 설정 코맨드(153)에 따라, DMA(Direct Memory Access) 전송시의 버스트 길이, CPU(111)에 송신하는 인터럽트의 종별, 화상 전송 코맨드(156)와 LUT 전송 코맨드(155)를 디코드했을 때에 전송되는 데이터의 어드레스와 데이터량 등에 대해 설정이 행해진다.
다음에, 스캔 화상처리부 설정 코맨드(154)가 실행되어, 후술하는 스캔 화상처리부(214)에 대하여, 처리 대상의 화상의 크기와 포맷의 설정이 행해진다. 그후, LUT 전송 코맨드(155)가 실행되어, DRAM(113)에 기억되어 있는 LUT 데이터가, 전술한 연산부 설정 코맨드(153)에 의해 행해진 설정에 따라 판독된다. LUT 데이터는, 스캔 화상처리부(214)에 대하여, 색공간 변환 등의 설정값을 비교적 많이 갖는 처리의 설정을 행하기 위한 것이다. 다음에, 화상 전송 코맨드(156)가 실행되어, 스캐너(120)에서 취득되고 DRAM(113)에 기억되어 있는 화상 데이터가, 전술한 연산부 설정 코맨드(153)에 의해 행해진 설정에 따라 판독된다. 각종 설정이 설정된 연산부(116)는, 판독된 화상 데이터에 대한 스캔 화상처리를 실행한다. 최후에, 종료 코맨드(157)가 실행되어, 연산부(116)가 CPU(111)에 대하여 인터럽트를 송신한다.
프린트 처리를 행하기 위해 사용되는 디스플레이 리스트는, 도 2에 도시되는 디스플레이 리스트(150)와 유사한 구성을 가진다.
도 3은, 도 1의 복합기(100)가 카피 처리를 행할 때의 동작의 흐름의 일례를 나타낸 흐름도다. 스텝 S330에서, 유저의 조작에 의해 카피 처리의 개시가 지시되면, CPU(111)은 카피 처리의 프로그램의 실행을 개시한다. 스텝 S331에서, CPU(111)은 스캐너 I/F(114)를 통해 스캐너(120)를 기동하고, 스텝 S332에서, 스캐너(120)는 스캔 처리 즉 원고의 읽어내기를 개시한다. 스캐너 I/F(114)는 스캐너(120)에서 읽어낸 화상 데이터를 DRAM(113)에 기록하도록 메모리 콘트롤러(112)에 대하여 전송 리퀘스트를 발행한다. 스텝 S333에서, 스캐너 I/F(114)는 이 전송 리퀘스트에 따라, 취득된 화상 데이터를 DRAM(113)에 기록한다. N 라인(N은 소정의 자연수)에 대응하는 스캐닝 데이터가 DRAM(113)에 기록되면(S334: Y), 스텝 S335에서 스캐너 I/F(114)는 CPU(111)에 대하여 인터럽트를 송신한다.
CPU(111)은 이 인터럽트를 받으면, 스캔 화상에 대한 처리를 실행하기 위해서, 스텝 S336에서 연산부(116)를 기동한다. 스텝 S337에서, 연산부(116)는 스캔용의 디스플레이 리스트에 따라 각종 설정을 행한다. 스텝 S338에서, 연산부(116)는 DRAM(113)로부터 스캔된 화상 데이터를 판독하고, 스텝 S339에서 스캔 화상처리를 행한다. 스텝 S340에서, 연산부(116)는, 처리후의 화상 데이터를 DRAM(113)에 다시 기록한다. 연산부(116)는, 처리한 데이터를 모두 DRAM(113)에 다시 기록한 후(S341: Y), 스텝 S342에서 CPU(111)에 대하여 인터럽트를 송신한다.
CPU(111)은 스캔 화상처리의 완료시에, 프린트 처리를 위한 제어를 개시한다. 스텝 S343에서, CPU(111)은 프린트용 화상 데이터의 생성을 행하기 위해서, 다시 연산부(116)를 기동한다. 스텝 S344에서, 연산부(116)는 프린트용의 디스플레이 리스트에 따라 각종 설정을 행한다. 연산부(116)는, 스텝 S345에서 DRAM(113)로부터 스캔 화상처리된 화상 데이터를 판독하고, 스텝 S346에서 프린트 화상처리를 행한다. 스텝 S347에서, 연산부(116)는, 처리후의 화상 데이터를 DRAM(113)에 다시 기록한다., 연산부(116)는, 처리한 데이터를 모두 DRAM(113)에 다시 기록한 후(S348: Y), 스텝 S349에서 CPU(111)에 대하여 인터럽트를 송신한다.
CPU(111)은 이 인터럽트를 받으면, 스텝 S350에서, 프린트를 행하기 위해서 프린터 I/F(115)를 통해 프린터(130)를 기동한다. 스텝 S351에서, 프린터 I/F(115)는 DRAM(113)으로부터 프린트 화상처리가 실행된 화상 데이터를 판독하고, 이 화상데이터를 프린터(130)에 송신한다. 스텝 S352에서, 프린터(130)는 수신한 화상 데이터를 사용해서 용지(131)에 대한 프린트를 행한다. 이상의 처리를 원고(121) 전체에 대하여 반복하여 행함으로써, 카피 처리가 완료한다.
상기한 카피 처리에 있어서는, 스캔 처리와 프린트 처리를 동시에 행할 수 있도록, 각 구성요소는 병행하여 동작하도록 제어된다. 예를 들면, 스캐너 I/F(114)가 인터럽트를 송신하고, CPU(111)이 연산부(116)를 기동하고 있는 동안에도, 스캐너(120)는 병행하여 원고(121)의 나머지를 계속해서 판독하고 있다(S353, S354). 그후, 연산부(116)에서 처리가 진행되고 있는 동안에도, 스캐너(120)에 의해 N 라인에 대응하는 데이터의 스캔을 완료하면, 스캐너 I/F(114)는 다시 인터럽트를 송신한다. 이렇게, 카피 처리에서는, 스캔 처리와 프린트 처리가 동시에 행해지기 때문에, 이와 같은 처리가 용지(131)에의 프린트 속도에 지연을 일으키지 않으면서 동작하는 것이 바람직하다. 또한, 프린터(130)에의 데이터 공급을 지연없이 행해지도록, 프린트 처리의 동작 속도보다도 스캔 처리의 동작 속도가 더 커지도록 설계된다.
그렇지만, 스캐너 I/F(114), 프린터 I/F(115), 연산부(116)가 병행하여 동작하는 동안, 스캐너측에서 대량의 라인을 계속해서 판독하는 경우 등과 같이, 스캐너가 일시적으로 대량의 데이터 전송을 발생시켜 버릴 경우가 생길 수 있다. 이 경우, 도 4a에 나타낸 것과 같이 일시적으로 버스(117)의 대역이 스캐너 처리로 인해 점유된다. 그 결과, 프린트를 행하기 위한 데이터를 프린터(130)에 공급하는데 필요한 버스(117)의 대역이 충분하지 않아, 프린트가 정확하게 행해지지 않게 되거나, 또는 프린트 처리가 지연될 가능성이 있다. 본실시형태에서는, 이 과제를 해결하는 구성을 연산부(116)에 설치하고 있다. 이하, 연산부(116)에 대해 설명한다.
도 5는, 도 1의 연산부(116)의 기능 및 구성을 나타내는 블럭도다. 연산부(116)는, DMA 전송 콘트롤러(201)와, 스캔 데이터 처리부(210)와, 프린트 데이터 처리부(220)를 포함한다. 스캔 데이터 처리부(210)는 DRAM(113)로부터 화상 데이터를 취득해서 스캔 화상처리를 행하고, DRAM(113)에 화상 데이터를 송신한다. 스캔 데이터 처리부(210)는, 제1이벤트 제어부(211)와, 제1입력측 전송부(212)와, 제1출력측 전송부(213)와, 스캔 화상처리부(214)를 가진다. 프린트 데이터 처리부(220)는 DRAM(113)로부터 화상 데이터를 취득해서 프린트 화상처리를 행하고, DRAM(113)에 화상 데이터를 송신한다. 프린트 데이터 처리부(220)는, 제2이벤트 제어부(221)과, 제2입력측 전송부(222)와, 제2출력측 전송부(223)와, 프린트 화상처리부(224)를 가진다.
DMA 전송 콘트롤러(201)는 복수의 포트로부터 DMA 전송 리퀘스트를 수신하고, DMA 전송 리퀘스트를 메모리 콘트롤러(112)에 송신하는 제어부다. 구체적으로는, DMA 전송 콘트롤러(201)는 제1입력측 전송부(212), 제1출력측 전송부(213), 제2입력측 전송부(222), 제2출력측 전송부(223)와 접속되고, 그 각각으로부터 DMA 전송 리퀘스트를 수신 가능하게 구성된다. DMA 전송 콘트롤러(201)는 버스(117)를 거쳐 DRAM(113)과 접속된다. DMA 전송 콘트롤러(201)는, DRAM(113)으로부터 수신한 데이터를, 이 데이터에 대응하는 DMA 전송 리퀘스트의 발행원에 송신한다. 또한, 복수의 포트로부터 DMA 전송 리퀘스트를 동시에 수신하는 경합이 발생했을 경우에는, DMA 전송 콘트롤러(201)는 그들 DMA 전송 리퀘스트를 태스크로서 큐에 넣고(queue), 선입선출 순서로 DMA 전송 리퀘스트를 처리한다. 경합은, 예를 들면, 제1입력측 전송부(212)로부터의 DMA 전송 리퀘스트와 제2입력측 전송부(222)로부터의 DMA 전송 리퀘스트가 동시에 DMA 전송 콘트롤러(201)에 의해 접수된 경우에 생긴다.
제1입력측 전송부(212)(제2입력측 전송부(222))는, DRAM(113)로부터 화상 데이터와 디스플레이 리스트를 취득하기 위한 DMA 전송 리퀘스트를 발행하고, 수신한 데이터를 스캔 화상처리부(214)(프린트 화상처리부(224))에 송신한다. 제1입력측 전송부(212)(제2입력측 전송부(222))는, 종료 코맨드의 실행시에, 제1이벤트 제어부(211)(제2이벤트 제어부(221))에 통지하여, 동작을 정지한다.
제1출력측 전송부(213)(제2출력측 전송부(223))은, 스캔 화상처리부(214)(프린트 화상처리부(224))로부터 처리된 화상 데이터와 디스플레이 리스트를 수신하고, 수신한 데이터를 DRAM(113)에 기록하기 위한 DMA 전송 리퀘스트를 발행한다. 제1출력측 전송부(213)(제2출력측 전송부(223))는, 종료 코맨드를 실행하면 제1이벤트 제어부(211)(제2이벤트 제어부(221))에 통지하여, 동작을 정지한다.
제1이벤트 제어부(211)(제2이벤트 제어부(221))는, 연산부(116)가 기동되었을 때에, 제1입력측 전송부(212)(제2입력측 전송부(222))와 제1출력측 전송부(213)(제2출력측 전송부(223))에 동작 개시의 지시를 발행한다. 제1이벤트 제어부(211)(제2이벤트 제어부(221))는, 제1입력측 전송부(212)(제2입력측 전송부(222)) 및 제1출력측 전송부(213)(제2출력측 전송부(223))의 양쪽으로부터 처리의 종료의 통지를 받으면, CPU(111)에 인터럽트를 발행한다. 그후, 제1이벤트 제어부(211)(제2이벤트 제어부(221))는 동작을 정지한다.
스캔 화상처리부(214)는 제1입력측 전송부(212)로부터 송신된 화상 데이터에 대하여 스캔 화상처리를 행하고, 제1출력측 전송부(213)에 처리된 화상 데이터를 송신한다. 프린트 화상처리부(224)는, 프린터(130)에 의한 프린트에 적합하도록 데이터를 처리한다. 구체적으로는, 프린트 화상처리부(224)는 제2입력측 전송부(222)로부터 송신된 화상 데이터에 대하여 프린트 화상처리를 행하고, 제2출력측 전송부(223)에 처리된 화상 데이터를 송신한다.
연산부(116)가 스캔 화상처리를 행할 때의 동작에 대해 설명한다. CPU(111)은 제1이벤트 제어부(211)에 대하여, 연산부(116)의 기동을 통지한다. 제1이벤트 제어부(211)는 제1입력측 전송부(212)에게 데이터의 전송을 개시하도록 지시하고, 제1출력측 전송부(213)에게 데이터의 수신을 대기하도록 지시한다. 제1입력측 전송부(212)는 데이터 전송 개시의 지시에 따라, DRAM(113)으로부터 디스플레이 리스트와 화상 데이터를 판독하기 위한 DMA 전송 리퀘스트를 발행하고, DMA 전송 리퀘스트를 DMA 전송 콘트롤러(201)에 송신한다. DMA 전송 콘트롤러(201)는 제1입력측 전송부(212)로부터 수신한 DMA 전송 리퀘스트에 따라 DRAM(113)으로부터 데이터를 판독하고, 판독한 데이터를 제1입력측 전송부(212)에 송신한다.
제1입력측 전송부(212)는 DMA 전송 콘트롤러(201)로부터 수신한 데이터를 스캔 화상처리부(214)에 전송하는 동시에, 수신한 데이터의 해석을 행하고, 종료 코맨드를 수신하면 제1이벤트 제어부(211)에 그 취지를 통지한다. 스캔 화상처리부(214)는, 제1입력측 전송부(212)로부터 전송되어 온 데이터에 대하여 스캔 화상처리를 행하고, 처리후의 데이터를 제1출력측 전송부(213)에 송신한다.
제1출력측 전송부(213)은 스캔 화상처리부(214)로부터 수신한 데이터를 DRAM(113)에 기록하기 위한 DMA 전송 리퀘스트를 발행하는 동시에, 수신한 데이터의 해석을 행하고, 종료 코맨드를 수신하면 제1이벤트 제어부(211)에 그 취지를 통지한다. DMA 전송 콘트롤러(201)는 제1출력측 전송부(213)로부터 수신한 DMA 전송 리퀘스트에 따라 DRAM(113)에 데이터의 쓰기를 행한다. 최후에, 제1이벤트 제어부(211)는, 제1입력측 전송부(212) 및 제1출력측 전송부(213)의 양쪽으로부터 종료의 통지를 받으면 스캔 화상처리를 종료하고, CPU(111)에 인터럽트를 송신한다. 이때, 일반적으로는 입력측의 전송 처리는 출력측의 전송 처리보다도 먼저 종료하므로, 제1이벤트 제어부(211)는 제1출력측 전송부(213)로부터 종료의 통지를 받으면 스캔 화상처리를 종료해도 된다. 연산부(116)가 프린트 화상처리에서 행하는 동작은 상기한 스캔 화상처리에서 행하는 동작과 유사하다.
도 6은, 도 5의 제1입력측 전송부(212)의 기능 및 구성을 나타내는 도면이다. 제1입력측 전송부(212)는, DMA 전송부(301)와, 버퍼 전송부(302)와, 코맨드 해석부(303)와, 동기 제어부(304)와, 버퍼부(308)를 가진다. 버퍼부(308)는, 버퍼 콘트롤러(305)와, 제1버퍼(306)와, 제2버퍼(307)를 가진다. 제1출력측 전송부(213), 제2입력측 전송부(222), 제2출력측 전송부(223)는 각각, 도 6에 도시되는 제1입력측 전송부(212)의 구성과 유사한 구성을 가진다.
DMA 전송부(301)는 동기 제어부(304)로부터의 지시에 따라 DMA 전송 콘트롤러(201)에 DMA 전송 리퀘스트를 발행한다. 제1입력측 전송부(212) 및 제2입력측 전송부(222)의 경우에는, DMA 전송 리퀘스트는 DRAM(113)으로부터 버퍼부(308)에 데이터를 전송하기 위한 리퀘스트다. 제1출력측 전송부(213) 및 제2출력측 전송부(223)의 경우에는, DMA 전송 리퀘스트는 버퍼부(308)로부터 DRAM(113)에 데이터를 전송하기 위한 리퀘스트다. DRAM(113)과 버퍼부(308) 사이에서의 데이터의 전송이 완료하면, DMA 전송 콘트롤러(201)는 그 취지를 DMA 전송부(301)에 통지한다. DMA 전송부(301)는, 이 통지를 받고 동기 제어부(304)에 데이터 전송의 완료를 통지한다.
버퍼 전송부(302)는 동기 제어부(304)로부터의 지시에 따라 버퍼부(308)에 액세스한다. 제1입력측 전송부(212), 제2입력측 전송부(222)의 경우에는, 버퍼 전송부(302)는 버퍼부(308)로부터 데이터를 판독하고, 코맨드 해석부(303)에 데이터를 송신한다. 제1출력측 전송부(213), 제2출력측 전송부(223)의 경우에는, 버퍼 전송부(302)는 코맨드 해석부(303)로부터 수신한 데이터를 버퍼부(308)에 기록한다. 버퍼부(308)와 코맨드 해석부(303) 사이에서의 데이터의 전송이 완료하면, 버퍼 전송부(302)는 동기 제어부(304)에 데이터 전송의 완료를 통지한다.
버퍼 콘트롤러(305)은, 데이터를 유지하는 제1버퍼(306), 제2버퍼(307)에의 기록과 그것들로부터의 판독을 제어하는 콘트롤러다. 버퍼부(308)에의 기록을 위한 액세스가 발생하면, 버퍼 콘트롤러(305)는 비어 있는 버퍼에 액세스한다. 버퍼부(308)로부터의 판독을 위한 액세스가 발생하면, 버퍼 콘트롤러(305)는 데이터가 모여 있는 버퍼에 액세스한다. 이들 동작은 기록을 위한 액세스와 판독을 위한 액세스가 동시에 발생했을 경우에는 병행하여 행해진다. 이에 따라, DMA 전송부(301)에 의해 행해진 액세스와 버퍼 전송부(302)에 의해 행해진 액세스는 병행하여 행해질 수 있다.
코맨드 해석부(303)는 버퍼 전송부(302)와 스캔 화상처리부(214)(제2입력측 전송부(222) 또는 제2출력측 전송부(223)의 경우에는 버퍼 전송부(302)와 프린트 화상처리부(224)) 사이에서 교환된 데이터의 내용을 해석한다. 코맨드 해석부(303)는 해석의 결과를 동기 제어부(304)에 송신해서 동기 제어부(304)을 설정하는 동시에, 제1이벤트 제어부(211)에도 해석의 결과를 통지한다. 동기 제어부(304)의 설정은, 예를 들면, 연산부 설정 코맨드(153)를 디코드함으로써 얻어지는, 버퍼 체인지의 제어를 행할 때에 사용되는 타이머의 설정이다. 코맨드 해석부(303)는, 종료 코맨드(157)를 디코드한 경우에는 제1이벤트 제어부(211)에 대하여 처리의 종료를 통지한다. 코맨드 해석부(303)는, 화상 전송 코맨드(156)를 디코드한 경우에는 화상 데이터 전송 개시를, 화상 데이터의 최종 화소 코맨드를 디코드한 경우에는 설정 데이터 전송 개시를, 동기 제어부(304)에 통지한다.
동기 제어부(304)는, 코맨드 해석부(303)로부터의 해석의 결과로서 얻어지는 데이터의 속성에 따라 전송 시퀀스를 제어하고, 전송 시퀀스에 따른 타이밍에서 DMA 전송부(301)와 버퍼 전송부(302)에 데이터의 전송을 실행하기 위한 지시를 내린다. 전송 시퀀스에서는, 데이터의 속성에 따라 고속 전송 모드와 억제 전송 모드 사이의 천이가 발생한다. 도 4b 및 도 4c를 참조하여 후술하는 바와 같이, DMA 전송부(301)에 의해 발행되는 일련의 DMA 전송 리퀘스트의 상태에는, 고속 전송 모드에서 실현되는 고속 전송 상태와, 억제 전송 모드에서 실현되는 억제 전송 상태가 있다. 동기 제어부(304)는, 데이터의 속성에 따라 모드를 전환함으로써, 일련의 전송 리퀘스트의 상태를 고속 전송 상태와 억제 전송 상태 사이에서 전환한다.
도 7은, 전송 시퀀스의 제어를 설명하기 위한 도면이다. 데이터 전송이 개시되면, 전송 시퀀스는 고속 전송 모드로 천이한다. 고속 전송 모드에 있어서, 코맨드 해석부(303)에 의해 동기 제어부(304)에 화상 데이터의 전송의 개시가 통지되면, 전송 시퀀스는 억제 전송 모드로 천이한다. 이 천이는, DMA 전송부(301) 및 버퍼 전송부(302)에 내려진 데이터 전송의 지시의 제어와 동기한다. 한편, 억제 전송 모드에 있어서, 설정 데이터의 전송의 개시가 통지되면, 전송 시퀀스는 고속 전송 모드로 천이한다. 이 천이는, DMA 전송부(301) 및 버퍼 전송부(302)에 내려진 데이터 전송의 지시의 제어와 동기한다. 도 2에 도시되는 디스플레이 리스트(150)의 예에서는, 설정 코맨드와 LUT 데이터(151)의 전송중에는 전송 시퀀스가 고속 전송 모드로 되고, 화상 데이터(152)의 전송중에는 전송 시퀀스가 억제 전송 모드로 된다.
본실시형태에서는, 전송할 데이터량이 많은 화상 데이터(152)의 전송시에 억제 전송 모드를 사용하지만, 본 발명은 이것에 한정되지 않는다. 예를 들면, LUT의 데이터량이 많은 경우에는, LUT 데이터(151)의 전송을 행할 때도 억제 전송 모드를 사용해도 된다. 즉, 전송할 데이터량이 많고, 집중적인 버스(117)에의 액세스가 발생해서 버스(117)가 점유되어 버릴 개연성이 높은 코맨드를 디코드이 취득하는 경우, 억제 전송 모드로 천이하는 것이 바람직하다.
도 6으로 되돌아가. 전송 시퀀스의 각 모드에 있어서의 데이터 전송을 위한 지시에 대해 설명한다. 제1입력측 전송부(212), 제2입력측 전송부(222)의 경우에 데이터 전송을 위한 지시는 이하의 2개의 지시를 포함한다.
(1) 버퍼부(308)가 비어 있을 경우에 DMA 전송부(301)에 송신되는, 전송을 개시하기 위한 지시. 이 경우, 버퍼부(308)에의 데이터의 축적이 행해진다.
(2) 버퍼부(308)에 데이터가 모여 있을 경우에 버퍼 전송부(302)에 송신되는, 전송을 개시하기 위한 지시. 이 경우, 버퍼부(308) 내의 데이터의 판독이 행해진다.
제1출력측 전송부(213), 제2출력측 전송부(223)의 경우에 데이터 전송을 위한 지시는 이하의 2개의 지시를 포함한다.
(3) 버퍼부(308)가 비어 있을 경우에 버퍼 전송부(302)에 송신되는, 전송을 개시하기 위한 지시.
(4) 버퍼부(308)에 데이터가 모여 있을 경우에 DMA 전송부(301)에 송신되는, 전송을 개시하기 위한 지시.
데이터 전송을 위한 지시는 DMA 전송부(301)와 버퍼 전송부(302) 사이에서 동기하는 형태로 주어진다. 도 8은, 동기제어를 설명하는 흐름도다. 데이터 전송이 개시되면, 스텝 S601에서, 동기 제어부(304)는 DMA 전송부(301) 및 버퍼 전송부(302)에 대하여 전송의 개시를 지시한다. 이 지시에 따라 DMA 전송부(301)로부터 DMA 전송 리퀘스트가 발행된다. 스텝 S602에서, 동기 제어부(304)는 전송 시퀀스의 모드를 판정 또는 확인하여, 모드가 고속 전송 모드이면 시퀀스가 스텝 S603으로 이행하고, 모드가 억제 전송 모드이면 시퀀스가 스텝 S604로 이행한다.
고속 전송 모드에 대응하는 스텝 S603에서, 동기 제어부(304)는 DMA 전송부(301) 및 버퍼 전송부(302)의 양쪽으로부터 전송 완료가 통지될 때까지 대기하고, 이들 통지를 모두 수신한 시점에서 데이터 전송이 완료했다고 판정하여, 스텝 S607로 이행한다. 한편, 억제 전송 모드에 있어서, DMA 전송부(301) 및 버퍼 전송부(302)의 양쪽으로부터 전송 완료의 통지를 수신하면, 동기 제어부(304)는 전회의 버퍼 체인지로부터 소정의 대기 기간이 경과하었는지 아닌지를 판정한다. 기간이 경과하지 않고 있을 경우, 동기 제어부(304)는 버퍼 체인지를 행하지 않은 채, 즉 다음의 데이터 전송으로 이행하지 않은 채 대기한다. 이 때문에, 스텝 S604에서, 동기 제어부(304)는 타이머를 초기화한다. 스텝 S605에서, 동기 제어부(304)는 전송 완료의 통지가 발행되어 있는지 아닌지, 및 대기 기간이 경과하고 있는지 아닌지를 판정한다. DMA 전송부(301) 및 버퍼 전송부(302)의 양쪽으로부터 전송 완료의 통지가 발행되고 있었다고 하더라도, 대기 기간이 경과하고 있지 않는 경우에는, 스텝 S606에서 동기 제어부(304)는 타이머의 카운트 업을 행하고, 다시 스텝 S605에서 종료 판정을 행한다. DMA 전송부(301) 및 버퍼 전송부(302)의 양쪽으로부터 전송 완료의 통지를 발행하고, 또한 대기 기간이 경과하면 동기 제어부(304)는 데이터 전송이 완료했다고 판정하여, 스텝 S607로 이행한다. 스텝 S607에서, 동기 제어부(304)는 수신용의 버퍼와 송신용의 버퍼를 교체하는 버퍼 체인지를 위한 제어를 행한다. 아울러 동기 제어부(304)는 전송 시퀀스의 갱신을 행한다. 구체적으로는, 동기 제어부(304)은 상기한 바와 같이 코맨드 해석부(303)로부터의 해석 결과를 확인하고, 도 7을 참조하여 설명된 방법에서 모드의 전환을 행한다. 버퍼 체인지 후, 동기 제어부(304)는 다음의 DMA 전송 리퀘스트의 발행을 허가한다. 상기한 바와 같이, 대기 기간은, 동기 제어부(304)가 버퍼 체인지가 가능해질 때까지 다음의 지시를 발행하지 않고 대기하는 기간이다.
버퍼 체인지에 대해서 도 6을 참조해서 구체적으로 설명한다. 예를 들면, 제1버퍼(306)에 대하여 라이트를 행하고, 제2버퍼(307)로부터는 리드가 행해지고 있을 경우, 라이트 및 리드의 양쪽이 완료한 시점에서 다음 동작이 지시된다. 이때, 제2버퍼(307)는 리드가 완료한 후 비어 있고, 제1버퍼(306)에는 라이트의 완료에 의해 데이터가 모여 있다. 이 때문에, 다음의 라이트는 비어 있는 제2버퍼(307)에 대하여 행해지고, 리드는 데이터가 존재하는 제1버퍼(306)에 대하여 행해진다. 이렇게, 라이트 대상의 버퍼와 리드 대상의 버퍼의 동기화와 교체를 버퍼 체인지로 부른다. 도 8을 참조해서 설명된 것 같이, 버퍼 체인지의 타이밍은 전송 시퀀스의 모드에 따라 다르다.
상기한 바와 같이, 본실시형태에서는, 해석의 결과로서 얻어지는 데이터의 속성(설정 데이터, 또는 화상 데이터 등의 비설정 데이터)에 따라 데이터의 전송이 완료했다고 판정하기 위한 조건을 전환한다. 이에 따라, 버스(117) 상의 데이터 전송이 빈번히 발생하는 스캔 화상처리시에는, 라이트 및 리드가 완료해도 소정의 대기 기간이 경과할 때까지 다음의 데이터 전송이 발생하지 않게 된다.
도 9a는, 억제 전송 모드에 있어서의 처리의 진행을 나타내는 모식도다. 억제 전송 모드에서는, 어떤 버퍼 체인지 후의 라이트 및 리드의 양쪽의 데이터 전송이 완료하는 시간 T1에 있어서 다음의 버퍼 체인지는 행해지지 않는다. 동기 제어부(304)는, 시간 T1의 후, 타이머가 카운트 업해서 대기 기간이 경과했다고 판정되는 시간 T2까지 대기한다. 즉, 동기 제어부(304)는 시간 T2가 될 때까지 다음의 버퍼 체인지를 행하지 않으므로, 시간 T2까지 다음의 데이터 전송은 개시되지 않는다. 따라서, 억제 전송 모드에서는 버스(117)의 대역을 시간 T1로부터 시간 T2까지의 기간에 이용가능하게 유지할 수 있다.
억제 전송 모드에 있어서의 리퀘스트 경합의 처리가 도 4b에 도시된다. 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트의 경우에, 리퀘스트 발행의 주기는 대기 기간 이상이 된다. 구체적으로는, 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트 RS1 내지 RS4의 경우에, RS1이 발행된 후, 대응하는 데이터의 리드/라이트가 완료해도 대기 기간이 경과할 때까지는 다음의 RS2는 발행되지 않는다. 대기 기간이 경과하면 버퍼 체인지가 행해지고 RS2가 발행된다. RS2와 RS3의 관계도 이와 마찬가지이다. RS3이 발행된 후, 대응하는 데이터의 리드/라이트가 완료해도 대기 기간이 경과할 때까지는 다음의 RS4는 발행되지 않는다. 여기에서, RS3에 대응하는 데이터의 리드/라이트가 완료하고나서 대기 기간이 만료할 때까지의 기간 P1에, 프린트 화상처리에 관한 DMA 전송 리퀘스트 RP1, RP2의 처리가 개시된다. 예를 들면, RP2는 RS3 또는 RS4과도 경합하지 않으므로, 발행후 금방 처리된다. 그후, RS4가 발행된다. 이에 따라, 프린트 처리에 필요한 화상전송의 대역을 확보할 수 있게 된다. 도 4b에 도시되는 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트 RS1 내지 RS4의 상태는, 상기한 억제 전송 상태다.
도 9b는, 고속 전송 모드에 있어서의 처리의 진행을 나타내는 모식도다. 데이터 전송의 빈도가 작아 버스(117)의 점유가 일어나기 어려운 설정값 등의 전송을 행할 때는, 도 9b에 나타낸 것과 같이, 라이트, 리드의 데이터 전송이 완료한 시간 T1에서 버퍼 체인지를 행한다. 따라서, 데이터 전송속도의 억제가 불필요한 경우에는 이 억제가 발생하기 어려워지거나 발생하지 않게 된다.
고속 전송 모드에 대응하는 도 4a에서는, 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트 RS1 내지 RS5의 경우에, 대기 기간에 의한 제한은 없다. RS3에 대응하는 데이터의 리드/라이트가 완료한 시점에서 경합이 없으면, 버퍼 체인지가 행해지고 다음의 RS4가 발행된다. 이 RS4가 프린트 화상처리에 관한 DMA 전송 리퀘스트 RP1과 경합하여, RP1의 처리가 지연된다. RS5에 관해서도 마찬가지로 프린트 화상처리에 관한 DMA 전송 리퀘스트 RP2와 경합한다. 도 4a에 도시되는 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트 RS1 내지 RS4의 상태는 상기한 고속 전송 상태다.
도 4b에 도시되는 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트 RS1 내지 RS4의 억제 전송 상태는, 도 4a에 도시되는 고속 전송 상태보다도, 프린트 화상처리에 관한 DMA 전송 리퀘스트가 보다 인터럽트하기 쉬운 상태다. 본 실시형태에 있어서, 억제 전송 상태에서는 리퀘스트 사이의 간격이 비교적 길고, 고속 전송 상태에서는 리퀘스트 사이의 간격이 비교적 짧다고 표현할 수 있다. 즉, 억제 전송 상태와 고속 전송 상태 사이에서, DMA 전송 리퀘스트가 버스(117)를 점유하는 빈도가 전환될 수 있다고 표현할 수 있다. 즉, 억제 전송 상태에서는, 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트의 경우, 어떤 DMA 전송 리퀘스트에 의해 생기는 버스 점유 기간과, 다음의 DMA 전송 리퀘스트에 의해 생기는 다음의 버스 점유 기간 사이에 간격이 설치되므로 2개의 기간이 분리된다. 이에 따라, 프린트 화상처리에 관한 DMA 전송 리퀘스트가 인터럽트하기 더 쉬워진다.
또한, 본 실시형태에 따른 복합기(100)에서는, N 라인에 대응하는 처리가 끝날 때마다 CPU(111)가 연산부(116)에 기동의 인터럽트를 송신한다. 기동된 후에는 연산부(116)가 디스플레이 리스트에 따라 화상전송과 LUT 전송을 전환한다. CPU(111)가 이 전송 상태를 감시하고, 연산부(116)가 그때마다 연산부(116)의 데이터 전송속도를 제어하는 것으로 하면, 부하가 무거워 처리가 대폭 지연될 가능성이 있다. 그렇지만, 본 실시형태에 따른 CPU(111)와는 무관하게 행해지는 자율적인 제어에 의해, 데이터 전송의 전송 시퀀스가 자율적으로 전환되기 때문에, 연산부(116)가 동작을 멈추지 않고 적절한 타이밍에서 동작할 수 있다.
또한, 본 실시형태에 따른 복합기(100)에서는, 제1입력측 전송부(212), 제1출력측 전송부(213), 제2입력측 전송부(222), 제2출력측 전송부(223)의 각각에 전송 시퀀스에 따른 모드 전환 기능을 실장한다. 이에 따라, 화상처리에 의해 화상의 크기가 바뀔 경우에도 적절한 데이터 전송속도의 전환을 행할 수 있다.
예를 들면, 스캔 화상처리부(214)에 있어서 입력 화상의 확대 처리가 행해질 경우, 출력측에서 전송하는 데이터량이 커진다. 본실시형태에서는, 제1출력측 전송부(213)는 제1입력측 전송부(212)와 유사한 모드 전환 기능을 가지므로, 출력 데이터의 증대에 대응할 수 있다.
이때, 입력측 및 출력측 중 전송할 화상 데이터가 큰 쪽이, 버스(117)의 대역에 영향을 미치기 쉽다. 따라서, 스캔 화상처리부(214)가 축소 처리를 행하는 경우에는 제1입력측 전송부(212)에 모드 전환 기능을 실장 또는 유효화하고, 스캔 화상처리부(214)가 확대 처리를 행하는 경우에는 제1출력측 전송부(213)에 모드 전환 기능을 실장 또는 유효화하는 구성이 가능하다.
또한, 카피 처리를 행할 때에, 프린트 화상 처리부(220)이 확대 처리 등을 행하여 프린터측으로부터 큰 화상의 데이터를 전송하는 경우에, 스캐너용 화상 데이터의 전송에 필요한 버스(117)의 대역의 확보가 어려워질 가능성이 있다. 이러한 경우에는, 제2입력측 전송부(222)에서 모드 전환 기능을 실장 또는 유효화하는 구성이 가능하다.
제2의 실시형태
제2의 실시형태의 주목적은, 연산부에서 데이터 전송이 행해지지 않을 때 소비되는 전력을 억제하는 것에 있다. 도 10은, 제2의 실시형태에 따른 제1입력측 전송부(612)의 기능 및 구성을 나타내는 블럭도다. 본실시형태에서는, 제1입력측 전송부(612)에 클록 제어부(608)를 설치한다. 제1출력측 전송부, 제2입력측 전송부, 제2출력측 전송부에 대해서도 마찬가지이다.
클록 제어부(608)는, 스캔 화상처리부(214)에 공급하는 클록의 온/오프를, 동기 제어부(604)로부터 송신되는 클록 제어신호에 따라 전환하는 제어회로다.
동기 제어부(604)는, 데이터 전송의 전송 시퀀스에 따라, 클록 제어부(608)에 클록 제어신호를 발행한다. 동기 제어부(604)은, 억제 전송 모드에 있어서, DMA 전송부(301) 및 버퍼 전송부(302)의 양쪽으로부터 데이터 전송의 완료가 통지되고나서 대기 기간이 경과할 때까지의 기간에 클록의 공급을 정지시키도록 클록 제어부(608)를 제어한다. 도 9a를 참조해서 설명하면 시간 T1으로부터 시간 T2까지의 기간이 클록 공급을 오프로 하는 기간이 된다. 그리고, 다시 데이터 전송을 개시할 때는 동기 제어부(604)는 클록 공급을 개시하도록 클록 제어부(608)를 제어한다. 고속 전송 모드에 있어서는 클록 공급은 항상 온이 되도록 제어된다.
본 실시형태에 따른 복합기는, 제1의 실시형태에 따른 복합기(100)에 의해 발휘되는 작용 효과와 유사한 작용 효과를 발휘한다. 덧붙여, 데이터 전송이 행해지지 않는 동안에 스캔 화상처리부(214)에 클록의 공급이 행해지고 있으면, 화상을 처리하고 있지 않는 동안에 전력이 소비되게 된다. 이에 대하여, 본실시형태에서는, 동기 제어부(604)에 의해 클록 제어부(608)를 상기한 바와 같이 제어한다. 이에 따라, 데이터 전송이 행해지지 않는 동안에는, 스캔 화상처리부(214)에의 클록 공급이 멈추므로, 불필요한 전력의 소비를 억제할 수 있다.
제3의 실시형태
제3의 실시형태의 주목적은, 데이터의 속성에 따라, DMA 전송 리퀘스트의 데이터량을 제어하여, 버스(117)의 대역을 유효하게 이용하면서 적절한 타이밍에서 우선도가 높은 DMA 전송에 대역을 할당하는 것을 가능하게 하는 것에 있다. 도 11은, 제3의 실시형태에 따른 제1입력측 전송부(712)의 기능 및 구성을 나타내는 블럭도다. 본실시형태에서는, 제1입력측 전송부(712)에 DMA 분할부(709)를 설치한다. 제1출력측 전송부, 제2입력측 전송부, 제2출력측 전송부에 대해서도 마찬가지이다.
DMA 분할부(709)는, 동기 제어부(704)의 전송 시퀀스에 따라, DMA 전송부(301)로부터의 DMA 전송 리퀘스트를 분할할 때 사용되는 분할수를 전환하는 제어회로다.
도 12는, DMA 분할부(709)에 있어서의 분할 제어를 설명하는 흐름도이다. 스텝 S1001에서, DMA 분할부(709)는 DMA 전송부(301)로부터의 DMA 전송 리퀘스트를 수신한다. 스텝 S1002에서, DMA 분할부(709)는 동기 제어부(704)의 전송 시퀀스를 참조한다. DMA 분할부(709)는 전송 시퀀스의 모드가 고속 전송 모드인 경우에는 스텝 S1003으로 이행한다. 스텝 S1003에서, DMA 분할부(709)는 DMA 전송부(301)로부터의 DMA 전송 리퀘스트를, 그것의 데이터량을 변화시키지 않고 발행한다. 예를 들면, DMA 분할부(709)는 DMA 전송부(301)로부터의 DMA 전송 리퀘스트를 그대로 DMA 전송 콘트롤러(201)에 송신한다. 스텝 S1002에서 전송 시퀀스의 모드가 억제 전송 모드인 경우에는 DMA 분할부(709)는 스텝 S1004로 이행한다. 스텝 S1004에서, DMA 분할부(709)는 DMA 전송부(301)로부터의 DMA 전송 리퀘스트를 분할하여, 복수의 새로운 DMA 전송 리퀘스트(분할 리퀘스트로 칭한다)를 생성하고, DMA 전송 콘트롤러(201)에 분할된 리퀘스트를 발행한다.
스텝 S1004에 있어서의 분할 리퀘스트의 생성에 대해 설명한다. 도 13a 내지 도 13e는, DMA 전송 리퀘스트의 분할을 설명하기 위한 도면이다. 도 13a 내지 도 13e에서는 DMA 전송부(301)로부터 발행된 DMA 전송 리퀘스트(도 13a)의 연속 전송 횟수를 R로 표시하고, 분할에 의해 얻어지는 분할 리퀘스트(도 13b 내지 13d)의 연속 전송 횟수를 T로 표시한다. 분할 리퀘스트의 연속 전송 횟수 T는 코맨드 해석부(303)가 연산부 설정 코맨드를 디코드했을 때 설정된다.
DMA 분할부(709)는 DMA 전송부(301)로부터의 DMA 전송 리퀘스트(도 13a)의 연속 전송 횟수 R과 분할 리퀘스트의 연속 전송 횟수 T를 비교하여, R>T인 경우, 연속 전송 횟수 T를 각각 가지는 분할 리퀘스트(도 13b)를 생성한다. 이 분할 리퀘스트는, DMA 전송부(301)로부터의 DMA 전송 리퀘스트의 연속 전송 횟수 R을 T로 치환함으로써 생성되어도 된다. 이때, T≥R의 경우, DMA 분할부(709)는 DMA 전송부(301)로부터의 DMA 전송 리퀘스트를 그대로 DMA 전송 콘트롤러(201)에 송신한다(분할하지 않는다).
다음에, DMA 분할부(709)는 R-T(즉, 분할후의 나머지의 연속 전송 횟수)와 T를 비교하여, R-T>T인 경우, 연속 전송 횟수 T를 가지는 분할 리퀘스트(도 13c)를 생성한다. 이 분할 리퀘스트는, DMA 전송부(301)로부터의 DMA 전송 리퀘스트의 연속 전송 횟수 R을 T로 치환하고 다른 필드에 크기 T에 대응하는 오프셋을 추가함으로써 생성되어도 된다.
다음에, DMA 분할부(709)는 R-2T와 T를 비교하여, R-2T>T인 경우, 연속 전송 횟수 T를 가지는 분할 리퀘스트(도 13d)을 생성한다. 이 분할 리퀘스트는, DMA 전송부(301)로부터의 DMA 전송 리퀘스트의 연속 전송 횟수 R을 T로 치환하는 동시에 다른 필드에 크기 2T에 대응하는 오프셋을 추가함으로써 생성되어도 된다.
다음에, DMA 분할부(709)는 R-3T와 T를 비교하여, R-3T≤T인 경우, 연속 전송 횟수가 나머지 연속 전송 횟수(R-3T)에 대응하는 분할 리퀘스트(도 13e)를 생성한다. 이 분할 리퀘스트는, DMA 전송부(301)로부터의 DMA 전송 리퀘스트의 연속 전송 횟수 R을 R-3T로 치환하는 동시에 다른 필드에 크기 3T에 대응하는 오프셋을 추가함으로써 생성되어도 된다.
도 12로 되돌아가, 스텝 S1005에서, DMA 분할부(709)는, 발행된 분할 리퀘스트의 연속 전송 횟수의 합계가 R회에 도달하지 않고 있는 경우에는 스텝 S1004로 이행하여, 다시 분할 리퀘스트의 생성, 발행을 행한다. 한편, 연속 전송 횟수의 합계가 R에 도달하고 있는 경우에는, DMA 분할부(709)은 분할 제어를 완료하고, DMA 전송부(301)로부터 다음의 DMA 전송 리퀘스트를 받을 때까지 대기한다.
본 실시형태에 따른 복합기에 따르면, DMA 분할부(709)는 억제 전송 모드에 있어서 DMA 전송 리퀘스트를 분할하고, 고속 전송 모드에 있어서 분할을 행하지 않는다. 이에 따라, 동기 제어부(704)의 전송 시퀀스에 따라, 분할 제어가 전환된다. 그 결과, 전송 시퀀스의 모드에 따라 DMA 전송 리퀘스트의 대역 이용률을 전환할 수 있다. 구체적으로는, 연산부(116)의 설정값의 판독 등, 데이터량이 적고 또한 고속의 전송이 요구되는 데이터 전송에 대해서는 분할 제어를 행하는 것 대신에 우선적인 버스 대역의 이용을 허용한다. 한편, 화상 데이터의 판독 등, 데이터량이 많은 데이터 전송에 대해서는, 다른 디바이스가 버스(117)를 이용할 수 없는 기간이 비교적 빈번하게 발생한다. 본 실시형태에서는 이러한 데이터 전송의 경우, DMA 전송 리퀘스트를 복수의 분할 리퀘스트로 분할하므로, 각 분할 리퀘스트에 의해 전송되는 데이터의 양은 원래의 DMA 전송 리퀘스트에 의해 전송되어야 할 데이터의 양보다도 적어진다. 이에 따라, 도 4c와 같이 다른 디바이스로부터 발행되는 DMA 전송 리퀘스트가 인터럽트하기 더 쉬워진다. 구체적으로는, 프린트 화상처리에 관한 DMA 전송 리퀘스트 RP1, RP2는 스캔 화상처리에 관한 일련의 DMA 전송 리퀘스트(의 분할 리퀘스트) RS'1, RS'2, RS'3, RS'4와 경합한다. 그렇지만, 각 분할 리퀘스트가 버스(117)를 점유하는 기간은 비교적 짧으므로, RP1 및 RP2의 처리를 대기하는 시간도 비교적 짧아진다. 이것은, "인터럽트하기 쉬운 상태"의 일 태양이다.
이렇게 본 실시형태에 따른 복합기에 따르면, 스캐너측에서 전송 시퀀스에 따라 버스 대역을 점유하는 빈도를 전환함으로써, 병행 동작을 가능하게 하면서, 프린터와 같이 실시간의 동작이 요구되는 디바이스에서 데이터 전송을 우선적으로 행할 수 있다.
이상, 실시형태에 따른 복합기의 구성과 동작에 대해 설명했다. 이들 실시형태는 예시이며, 그 각 구성요소나 각 처리의 조합에 다양한 변형예가 가능한 것, 또한, 그러한 변형예도 본 발명의 범위에 있다는 것은 당업자에게 이해되는 점이다.
제1 내지 제3의 실시형태에서는, 데이터의 속성으로서, 설정 데이터와 화상 데이터 등의 비설정 데이터 사이의 구별을 채용할 경우를 설명했지만, 본 발명은 이것에 한정되지 않는다. 예를 들면, 데이터의 양에 대해서 임계값을 설정하고, 데이터의 양이 이 임계값보다 많은지 적은지를 데이터의 속성으로서 채용해도 된다. 이와 달리, 데이터의 속성은, 실시형태에 따른 기술적 사상이 적용되는 어플리케이션에 따라 설정될 수도 있다.
제1 내지 제3의 실시형태에서는, 주로 스캔 화상처리에 관한 DMA 전송 리퀘스트가 프린트 화상처리에 관한 DMA 전송 리퀘스트와 경합할 경우에 대해 설명했지만, 본 발명은 이것에 한정되지 않는다. 임의의 제1처리에 관한 DMA 전송 리퀘스트와 임의의 제2처리에 관한 DMA 전송 리퀘스트의 경합이 생기는 경우에, 실시형태에 따른 기술적 사상을 적용가능하다. 예를 들면, 제1처리와 제2처리 사이에 우선도의 차이가 존재할 수 있다. 이 경우, 우선도가 낮은 처리에 대해서 전송 시퀀스의 모드의 전환을 적용함으로써, 병행 처리를 행하면서 우선도가 높은 처리를 우선할 수 있다. 도 4a 내지 도 4c의 예에서는, 스캔 화상처리에 대해서 전송 시퀀스의 모드의 전환을 적용함으로써, 프린트 화상처리에 관한 DMA 전송 리퀘스트가 인터럽트하기 더 쉬워질 경우를 설명했지만, 본 발명은 이것에 한정되지 않는다. 예를 들면, 반대로, 프린트 화상처리에 대해서 전송 시퀀스의 모드의 전환을 적용함으로써, 스캔 화상처리에 관한 DMA 전송 리퀘스트가 인터럽트하기 더 쉬워지는 상태를 실현할 수도 있다.
제1 내지 제3의 실시형태에서는, DMA 전송 리퀘스트가 인터럽트하기 쉬워지는 태양으로서, DMA 전송 리퀘스트 사이의 간격을 넓히는 경우와, 각 리퀘스트의 점유 기간을 짧게 할 경우를 설명했지만 본 발명은 이것에 한정되지 않는다. 예를 들면, DMA 전송 리퀘스트에 우선도를 포함시켜, 전송 시퀀스에 따라 이 우선도를 설정해도 된다. 이 경우, 억제 전송 모드에서는 우선도를 비교적 낮게 설정할 수도 있다.
제1 내지 제3의 실시형태에서는, 코맨드를 해석해서 전송 시퀀스의 모드를 전환하는 기능을 입력측 전송부와 출력측 전송부가 갖는 경우에 대해 설명했지만, 본 발명은 이것에 한정되지 않는다. 예를 들면, 해당 기능을 DMA 전송 콘트롤러에 실장해도 된다.
예시적인 실시형태들을 참조하여 본 발명을 설명하였지만, 본 발명이 이러한 실시형태에 한정되지 않는다는 것은 자명하다. 이하의 청구범위의 보호범위는 가장 넓게 해석되어 모든 변형, 동등물 구조 및 기능을 포괄하여야 한다.

Claims (20)

  1. 기억장치와 처리장치 사이에서 데이터를 각각 전송하도록 구성된 복수의 전송장치의 1개의 전송장치로서, 상기 기억장치와 상기 전송장치는 버스를 거쳐 접속되고, 상기 전송장치는,
    상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하도록 구성된 발행부와,
    전송되는 데이터를 해석하도록 구성된 해석부와,
    상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 다른 전송장치로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하도록 구성된 전환부를 구비한 전송장치.
  2. 제 1항에 있어서,
    상기 전환부는, 해석의 결과로서 얻어지는 상기 데이터의 속성에 따라 데이터의 전송이 완료한 것을 판정하기 위한 조건을 전환하는 것에 의해, 상기 제1상태와 상기 제2상태 사이의 전환을 행하는 전송장치.
  3. 제 2항에 있어서,
    버퍼와 상기 처리장치 사이에서 데이터를 전송하도록 구성된 버퍼 전송부를 더 구비하고,
    상기 전환부는,
    상기 제1상태에 있어서, 한개의 리퀘스트에 대응하는 상기 기억장치와 상기 버퍼 사이의 데이터의 전송 및 이 한개의 리퀘스트에 대응하는 상기 버퍼와 상기 처리장치 사이의 데이터의 전송 양쪽이 완료한 것으로 판정된 것을 조건으로 하여, 다음의 리퀘스트의 발행을 허가하고,
    상기 제2상태에 있어서, 한개의 리퀘스트에 대응하는 상기 기억장치와 상기 버퍼 사이의 데이터의 전송 및 이 한 개의 리퀘스트에 대응하는 상기 버퍼와 상기 처리장치 사이의 데이터의 전송 양쪽이 완료한 것으로 판정되고, 또한 데이터의 전송이 지시되고나서 소정의 기간이 경과한 것을 조건으로 하여, 다음의 리퀘스트의 발행을 허가하는 전송장치.
  4. 제 3항에 있어서,
    상기 소정의 기간은, 상기 해석부가 소정의 설정 코맨드를 디코드할 때에 설정되는 전송장치.
  5. 제 3항에 있어서,
    전송되는 데이터는 설정 데이터와 비설정 데이터를 포함하고,
    상기 해석부는, 상기 비설정 데이터의 전송을 개시하기 위한 코맨드를 디코드하면, 상기 전환부에 제1통지를 행하고, 상기 비설정 데이터의 전송을 종료하기 위한 코맨드를 디코드하면, 상기 전환부에 제2통지를 행하고,
    상기 전환부는, 상기 제1통지에 따라, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를 상기 제2상태로 천이시키고, 상기 제2통지에 따라, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를 상기 제1상태로 천이시키는 전송장치.
  6. 제 5항에 있어서,
    상기 비설정 데이터는 화상 데이터이며, 상기 설정 데이터는 대응하는 화상 데이터를 처리하기 위한 설정을 포함하는 데이터인 전송장치.
  7. 제 3항에 있어서,
    상기 해석부는, 임계값보다 많은 양의 데이터의 전송을 개시하기 위한 코맨드를 디코드하면, 상기 전환부에 제1통지를 행하고, 상기 임계값보다 적은 양의 데이터의 전송을 개시하기 위한 코맨드를 디코드하면, 상기 전환부에 제2통지를 행하고,
    상기 전환부는, 상기 제1통지에 따라, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를 상기 제2상태로 천이시키고, 상기 제2통지에 따라, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를 상기 제1상태로 천이시키는 전송장치.
  8. 제 3항에 있어서,
    클록의 공급을 제어하도록 구성된 제어부를 더 구비하고,
    상기 제어부는, 상기 제2상태에 있어서, 한 개의 리퀘스트에 대응하는 상기 기억장치와 상기 버퍼 사이의 데이터의 전송 및 이 한 개의 리퀘스트에 대응하는 상기 버퍼와 상기 처리장치 사이의 데이터의 전송 양쪽이 완료한 것으로 판정되고나서 상기 소정의 기간이 경과할 때까지의 기간에, 클록의 공급을 정지시키는 전송장치.
  9. 제 3항에 있어서,
    상기 버퍼는 제1버퍼와 제2버퍼를 포함하고,
    한개의 리퀘스트에 대응하는 상기 기억장치와 상기 제1버퍼 사이의 데이터의 전송 및 이 한 개의 리퀘스트에 대응하는 상기 제2버퍼와 상기 처리장치 사이의 데이터의 전송이 병행하여 행해지는 전송장치.
  10. 제 1항 내지 제 9항 중 어느 한 항에 있어서,
    상기 전환부는, 해석의 결과로서 얻어지는 상기 데이터의 속성에 따라 리퀘스트의 분할수를 전환하는 것에 의해, 상기 제1상태와 상기 제2상태 사이의 전환을 행하는 전송장치.
  11. 제 10항에 있어서,
    상기 전환부는, 상기 제1상태에 있어서 상기 발행부에 의해 발행되는 리퀘스트를 분할하지 않고, 상기 제2상태에 있어서 상기 발행부에 의해 발행되는 리퀘스트를 분할하는 전송장치.
  12. 제 11항에 있어서,
    상기 전환부는, 상기 제2상태에 있어서, 상기 발행부에 의해 발행되는 리퀘스트를, 소정의 연속 전송 횟수를 가지는 적어도 한개의 리퀘스트와, 상기 소정의 연속 전송 횟수보다도 적은 연속 전송 횟수를 가지는 리퀘스트로 분할하는 전송장치.
  13. 제 12항에 있어서,
    상기 소정의 연속 전송 횟수는, 상기 해석부가 소정의 설정 코맨드를 디코드할 때에 설정되는 전송장치.
  14. 제 1항 내지 제 9항 중 어느 한 항에 있어서,
    상기 전송장치는, 상기 다른 전송장치와도 접속되는 전송 처리부에 접속되고, 상기 전송 처리부는 상기 버스를 거쳐 상기 기억장치와 접속되고,
    상기 전송장치로부터의 리퀘스트가 상기 다른 전송장치로부터의 리퀘스트와 경합하는 경우, 상기 전송 처리부는 이들 리퀘스트를 선입선출 순서로 처리하는 전송장치.
  15. 제 1항 내지 제 9항 중 어느 한 항에 있어서,
    상기 버스에는 CPU가 접속되고,
    상기 해석부 및 상기 전환부는 상기 CPU와는 무관하게 동작하는 전송장치.
  16. 제 1항 내지 제 9항 중 어느 한 항에 있어서,
    상기 전환부는, 상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 판독장치로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 상기 데이터의 속성에 따라 전환하는 전송장치.
  17. 기억장치와 처리장치를 사용하여 행해지는 판독장치로부터 출력장치로의 데이터의 전송을 제어하는 제어장치로서, 상기 기억장치와 상기 제어장치는 버스를 거쳐 접속되고, 상기 제어장치는,
    상기 버스를 거쳐 상기 출력장치에 데이터를 전송하기 위해서 발행된 코맨드를 해석하도록 구성된 해석부와,
    발행된 일련의 코맨드 내의 데이터의 상태를, 상기 해석의 결과로서 얻어지는 데이터의 속성에 따라, 제1상태와, 상기 판독장치로부터의 데이터가 상기 제1상태보다도 전송되기 더 쉬운 제2상태 사이에서 전환하도록 구성된 전환부를 구비한 제어장치.
  18. 기억장치와 처리장치 사이에서 데이터를 전송하도록 각각 구성된 복수의 전송장치의 1개의 전송장치의 제어방법으로서, 상기 기억장치와 상기 전송장치는 버스를 거쳐 접속되고, 상기 제어방법은,
    상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하는 단계와,
    전송되는 데이터를 해석하는 단계와,
    발행되는 일련의 리퀘스트의 상태를, 제1상태와, 다른 전송장치로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태의 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하는 단계를 포함하는 제어방법.
  19. 스캐너와, 프린터와, 상기 스캐너와 상기 프린터를 제어하도록 구성된 제어부를 구비한 복합기로서,
    상기 제어부는,
    상기 스캐너 및 상기 프린터를 사용하여 행해진 카피 처리에서 사용되는 데이터를 기억하기 위한 기억장치와,
    카피 처리에서 사용되는 데이터를 처리하도록 구성된 연산부와,
    상기 제어부를 제어하도록 구성된 CPU와,
    상기 기억장치, 상기 연산부와 상기 CPU가 접속된 버스와,
    상기 버스에 신호를 전송하는 권리를 조정하도록 구성된 버스 조정부를 포함하고,
    상기 연산부는,
    상기 스캐너에 의해 스캔된 데이터를 처리하도록 구성된 제1처리부와,
    상기 기억장치와 상기 제1처리부 사이에서 데이터를 전송하도록 구성된 제1전송부와,
    상기 프린터에 의한 프린트에 적합하도록 데이터를 처리하도록 구성된 제2처리부와,
    상기 기억장치와 상기 제2처리부 사이에서 데이터를 전송하도록 구성된 제2전송부와,
    상기 제1전송부 및 상기 제2전송부와 접속되고, 상기 제1전송부 또는 상기 제2전송부로부터의 리퀘스트를 상기 버스를 거쳐 상기 버스 조정부에 송신하도록 구성된 전송 처리부를 포함하고,
    상기 제1전송부로부터의 리퀘스트가 상기 제2전송부로부터의 리퀘스트와 경합하는 경우, 상기 전송 처리부는 이들 리퀘스트를 선입선출(First-in First-out) 순서로 처리하고,
    상기 제1전송부는,
    상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하도록 구성된 발행부와,
    전송되는 데이터를 해석하도록 구성된 해석부와,
    상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 상기 제2전송부로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하도록 구성된 전환부를 구비한 복합기.
  20. 스캐너와, 프린터와, 상기 스캐너와 상기 프린터를 제어하도록 구성된 제어부를 구비한 복합기로서,
    상기 제어부는,
    상기 스캐너 및 상기 프린터를 사용하여 행해진 카피 처리에서 사용되는 데이터를 기억하기 위한 기억장치와,
    카피 처리에서 사용되는 데이터를 처리하도록 구성된 연산부와,
    상기 제어부를 제어하도록 구성된 CPU와,
    상기 기억장치, 상기 연산부와 상기 CPU가 접속된 버스와,
    상기 버스에 신호를 전송하는 권리를 조정하도록 구성된 버스 조정부를 포함하고,
    상기 연산부는,
    상기 스캐너에 의해 스캔된 데이터를 처리하도록 구성된 제1처리부와,
    상기 기억장치와 상기 제1처리부 사이에서 데이터를 전송하도록 구성된 제1전송부와,
    상기 프린터에 의한 프린트에 적합하도록 데이터를 처리하도록 구성된 제2처리부와,
    상기 기억장치와 상기 제2처리부 사이에서 데이터를 전송하도록 구성된 제2전송부와,
    상기 제1전송부 및 상기 제2전송부와 접속되고, 상기 제1전송부 또는 상기 제2전송부로부터의 리퀘스트를 상기 버스를 거쳐 상기 버스 조정부에 송신하도록 구성된 전송 처리부를 포함하고,
    상기 제1전송부로부터의 리퀘스트가 상기 제2전송부로부터의 리퀘스트와 경합하는 경우, 상기 전송 처리부는 이들 리퀘스트를 선입선출(First-in First-out) 순서로 처리하고,
    상기 제1전송부는,
    상기 버스를 거쳐 데이터를 전송하기 위한 리퀘스트를 발행하도록 구성된 발행부와,
    전송되는 데이터를 해석하도록 구성된 해석부와,
    상기 발행부에 의해 발행되는 일련의 리퀘스트의 상태를, 제1상태와, 상기 제1전송부로부터의 리퀘스트가 상기 제1상태보다도 인터럽트하기 더 쉬운 제2상태 사이에서, 해석의 결과로서 얻어지는 데이터의 속성에 따라 전환하도록 구성된 전환부를 구비한 복합기.
KR1020180044180A 2017-04-27 2018-04-17 전송장치, 제어장치, 전송방법 및 복합기 KR20180120578A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2017-088783 2017-04-27
JP2017088783A JP6985810B2 (ja) 2017-04-27 2017-04-27 転送装置、転送方法および複合機

Publications (1)

Publication Number Publication Date
KR20180120578A true KR20180120578A (ko) 2018-11-06

Family

ID=63917251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180044180A KR20180120578A (ko) 2017-04-27 2018-04-17 전송장치, 제어장치, 전송방법 및 복합기

Country Status (4)

Country Link
US (1) US10565152B2 (ko)
JP (1) JP6985810B2 (ko)
KR (1) KR20180120578A (ko)
CN (1) CN108804051B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7358219B2 (ja) * 2019-12-02 2023-10-10 キヤノン株式会社 画像形成装置
JP7458772B2 (ja) * 2019-12-19 2024-04-01 キヤノン株式会社 複合機及びその制御方法、並びにプログラム
JP7446860B2 (ja) * 2020-03-06 2024-03-11 キヤノン株式会社 複合機及びその制御方法、並びにプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224168A (ja) * 1998-02-05 1999-08-17 Fuji Xerox Co Ltd 画像データ印刷装置およびその印刷制御方法
WO2000027640A1 (en) * 1998-11-09 2000-05-18 Silverbrook Research Pty Ltd Printer and methods of operation
JP5040050B2 (ja) 2001-06-12 2012-10-03 富士通株式会社 複数チャネルdmaコントローラおよびプロセッサシステム
JP2003186824A (ja) * 2001-12-18 2003-07-04 Canon Inc バス使用権優先度調整装置およびシステム
JP2003241917A (ja) * 2002-02-20 2003-08-29 Canon Inc 画像処理装置、画像処理方法、プログラム及び記憶媒体
JP3889684B2 (ja) * 2002-08-07 2007-03-07 ニスカ株式会社 画像読取装置及び画像読取方法
JP2007122234A (ja) * 2005-10-26 2007-05-17 Matsushita Electric Ind Co Ltd バスリクエスト調停装置
JP4871921B2 (ja) 2008-07-02 2012-02-08 ルネサスエレクトロニクス株式会社 データ処理システム及びプログラム開発システム
US20120110219A1 (en) * 2010-11-03 2012-05-03 Toshiba Tec Kabushiki Kaisha Data processing circuit and data processing apparatus
JP2013191976A (ja) * 2012-03-13 2013-09-26 Renesas Electronics Corp 集積回路
JP5718305B2 (ja) 2012-11-22 2015-05-13 京セラドキュメントソリューションズ株式会社 画像形成装置
JP6232964B2 (ja) 2013-11-19 2017-11-22 ヤマハ株式会社 Dmaコントローラ

Also Published As

Publication number Publication date
JP2018185762A (ja) 2018-11-22
JP6985810B2 (ja) 2021-12-22
CN108804051B (zh) 2021-06-11
US20180314668A1 (en) 2018-11-01
US10565152B2 (en) 2020-02-18
CN108804051A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108804051B (zh) 传送设备、控制设备、传送方法和多功能外围设备
US9166933B2 (en) Memory control apparatus, information processing apparatus, and memory control method
JP6886301B2 (ja) メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
JP5718305B2 (ja) 画像形成装置
US11256459B2 (en) Data processing apparatus that switches to execution of a different command list at a preset control point, method of controlling the same, and computer-readable storage medium
JP2006094516A (ja) 画像処理装置
JP6681244B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP3714840B2 (ja) データ転送方法とデータ転送制御装置
JP5272977B2 (ja) 制御装置、画像読取装置、画像形成装置、及び、画像読取装置の制御方法
US9667531B2 (en) Image processing apparatus and control method
JP4034323B2 (ja) 画像データ処理方法と画像データ処理装置及び画像形成装置
JP2005044202A (ja) 画像データ転送制御装置
JP6048236B2 (ja) メモリアクセス制御装置、画像形成装置及びメモリアクセス制御方法
JP7194009B2 (ja) データ処理装置および方法
JP6885129B2 (ja) 通信制御装置及び通信制御システム
JP2004345260A (ja) 画像出力装置
JP4413041B2 (ja) データ転送システム及び画像形成装置
JP2004345259A (ja) 画像出力装置
JP2019200679A (ja) 画像形成装置、帯域モニター装置、及び帯域モニター方法
JPH09179813A (ja) Dma転送装置
JP2004343624A (ja) 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2017049705A (ja) データ処理装置、並びに情報処理装置とその制御方法及びプログラム
JP2018116646A (ja) 集積回路、集積回路の制御方法、及びプログラム
JP2010176556A (ja) メモリ制御回路、画像処理装置
JP2006044058A (ja) プリンタ制御装置及びプリンタ制御方法

Legal Events

Date Code Title Description
A201 Request for examination
SUBM Surrender of laid-open application requested