KR102230913B1 - 정보 처리 장치 및 반도체 집적 회로 - Google Patents

정보 처리 장치 및 반도체 집적 회로 Download PDF

Info

Publication number
KR102230913B1
KR102230913B1 KR1020170164903A KR20170164903A KR102230913B1 KR 102230913 B1 KR102230913 B1 KR 102230913B1 KR 1020170164903 A KR1020170164903 A KR 1020170164903A KR 20170164903 A KR20170164903 A KR 20170164903A KR 102230913 B1 KR102230913 B1 KR 102230913B1
Authority
KR
South Korea
Prior art keywords
interrupt
unit
integrated circuit
image processing
processing unit
Prior art date
Application number
KR1020170164903A
Other languages
English (en)
Other versions
KR20180067417A (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 KR20180067417A publication Critical patent/KR20180067417A/ko
Application granted granted Critical
Publication of KR102230913B1 publication Critical patent/KR102230913B1/ko

Links

Images

Classifications

    • 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/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32625Fault detection
    • H04N1/32641Fault detection of transmission or transmitted data, e.g. interruption or wrong number of pages
    • 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/0083Arrangements for transferring signals between different components of the apparatus, e.g. arrangements of signal lines or cables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2424Interrupt packet, e.g. event
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Facsimiles In General (AREA)

Abstract

복수의 집적 회로에 의해 구성되는 시스템에서, CPU의 기능이 중단된 집적 회로 내에서 인터럽트가 발생된 경우에도, 인터럽트 제어를 적절히 수행할 수 있다. 제2 집적 회로의 인터럽트 유닛은 인터럽트를 제2 집적 회로의 복수의 화상 처리 유닛 중 적어도 하나에 출력하고, 인터럽트가 입력되는 제2 집적 회로의 화상 처리 유닛은 인터럽트를 제1 집적 회로에 출력하고, 제2 집적 회로로부터의 인터럽트가 입력되는 제1 집적 회로의 화상 처리 유닛은 인터럽트를 제1 집적 회로의 인터럽트 유닛에 출력하고, 그리고 제1 집적 회로의 인터럽트 유닛은 입력되는 인터럽트에 따라 인터럽트를 제1 집적 회로의 제어 유닛에 출력한다.

Description

정보 처리 장치 및 반도체 집적 회로{INFORMATION PROCESSING APPARATUS AND SEMICONDUCTOR INTEGRATED CIRCUIT}
본 발명은, 복수의 집적 회로에 의해 구성된 정보 처리 장치에서 집적 회로들을 연결하는 통신 버스를 통해 인터럽트 제어를 수행하는 기술에 관한 것이다.
스캐너 기능, 프린터 기능, 복사 기능, 네트워크 기능, 및 팩스 송신/수신 기능과 같은 다양한 기능을 포함하는 디지털 다기능 프린터가 공지되어 있다. 그러한 디지털 다기능 프린터의 각각의 기능은, 외부 디바이스로 수행되는, 화상 데이터의 입/출력 동작을 제어하도록 구성된 제어 유닛 및 화상 데이터를 위한 미리 결정된 화상 처리를 수행하도록 구성된 복수의 화상 처리 유닛을 가지는 제어기에 의해 제어된다(일본 특허 공개 제2004-064631호 참조).
최근의 반도체 개발에 의해서, 하나의 LSI(대규모 집적 회로) 상에 많은 기능을 설치할 수 있게 되었다. 결과적으로, 전술한 제어기의 구성이 하나의 LSI 상에 구성되는 시스템이 출현하였다. 또한, 복수의 그러한 LSI를 이용하는 것에 의해 기능이 각각의 LSI에 대해서 선택적으로 이용되는 시스템이 또한 출현하였다. 예를 들어, 2개의 LSI가 통신 버스에 의해 연결되고 시스템 제어 처리 및 프린터 기능이 (이하에서, 메인 칩으로 지칭되는) LSI 중 하나 내에 설치되고 다른 기능(스캐너 기능 및 기타)이 (이하에서, 확장 칩으로 지칭되는) 다른 LSI 내에 설치되는 시스템이 존재한다. 전술한 바와 같은 복수의 LSI의 이용에 의해 기능이 각각의 LSI에 대해서 선택적으로 이용되는 시스템에서, 사용되지 않는 기능과 관련된 회로의 전원을 차단하는 것에 의해 또는 그러한 회로에 대한 클록 공급을 중단하는 것에 의해 전력 소비가 감소되는 경우가 있다. 예를 들어, 메인 칩의 CPU가 확장 칩을 제어하게 함으로써, 확장 칩의 CPU의 기능이 중단되는 시스템이 존재한다.
그러나, 확장 칩의 CPU의 기능이 중단되는 경우에, 인터럽트 제어기가 확장 칩 내의 인터럽트 처리를 위한 요청을 수신하더라도, 인터럽트 통지를 CPU에 더 이상 전달할 수 없다. 결과적으로, 확장 칩의 CPU의 기능이 중단되는 경우에, 확장 칩의 인터럽트 제어기가 인터럽트를 메인 칩의 CPU에 통지하는 메커니즘이 필요하다.
결과적으로, 본 발명의 목적은, 복수의 집적 회로에 의해 구성된 시스템에서 CPU의 기능이 중단된 집적 회로 내에서 인터럽트가 발생된 경우에도, 인터럽트 제어를 적절하게 수행할 수 있는 정보 처리 장치를 제공하는 것이다.
본 발명에 따른 정보 처리 장치는: 복수의 화상 처리 유닛, 복수의 화상 처리 유닛을 제어하도록 구성된 제어 유닛, 및 인터럽트를 제어 유닛에 출력하도록 구성된 인터럽트 유닛을 가지는 제1 반도체 집적 회로; 및 통신이 가능하도록 제1 반도체 집적 회로와 연결되고, 복수의 화상 처리 유닛, 복수의 화상 처리 유닛을 제어하도록 구성된 제어 유닛, 및 인터럽트를 제어 유닛에 출력하도록 구성된 인터럽트 유닛을 포함하는 제2 반도체 집적 회로를 포함하는 정보 처리 장치이며, 제2 반도체 집적 회로의 인터럽트 유닛은 인터럽트를 제2 반도체 집적 회로의 복수의 화상 처리 유닛 중 적어도 하나에 출력하고, 인터럽트가 입력되는 제2 반도체 집적 회로의 화상 처리 유닛은 입력되는 인터럽트에 따라 인터럽트를 제1 반도체 집적 회로에 출력하고, 제2 반도체 집적 회로로부터 인터럽트가 입력되는 제1 반도체 집적 회로의 화상 처리 유닛은 입력되는 인터럽트에 따라 인터럽트를 제1 반도체 집적 회로의 인터럽트 유닛에 출력하고, 그리고 제1 반도체 집적 회로의 인터럽트 유닛은 입력되는 인터럽트에 따라 인터럽트를 제1 반도체 집적 회로의 제어 유닛에 출력한다.
첨부된 도면을 참조한 예시적인 실시예에 관한 이하의 설명으로부터 본 발명의 추가적인 특징이 명확해질 것이다.
도 1은 제1 실시예의 화상 형성 장치의 구성을 도시하는 블록도이다.
도 2는 제1 실시예의 제어기 유닛의 구성을 도시하는 블록도이다.
도 3은 메인 제어기 유닛의 시스템 제어 유닛의 내부 구성을 도시하는 블록도이다.
도 4는 제1 실시예의 링 버스를 통해 이동되는 패킷 데이터의 예를 도시하는 도면이다.
도 5a 내지 도 5c 각각은 제1 실시예의 프린트 처리 유닛, 루프백(loopback) 처리 유닛, 및 주사 처리 유닛 각각의 내부 구성의 예를 도시하는 블록도이다.
도 6은 제1 실시예의 링 버스 스위치의 내부 구성의 예를 도시하는 블록도이다.
도 7는 제1 실시예의 제어기 유닛의 동작을 설명하기 위한 도면이다.
도 8은 제2 실시예의 제어기 유닛의 동작을 설명하기 위한 도면이다.
도 9는 메인 제어기 유닛과 확장 제어기 유닛 사이에서 수행되는 직렬 통신을 설명하기 위한 도면이다.
[제1 실시예]
이하에서, 본 발명을 구현하는 실시예가 도면을 이용하여 설명된다. 이하의 실시예에서 보여지는 구성은 단지 예시적인 것이고, 본 발명은 개략적으로 도시된 구성으로 제한되지 않는다.
<화상 형성 장치>
도 1은 제1 실시예의 화상 형성 장치(100)의 구성을 도시한 블록도이다. 도 1에 도시된 바와 같이, 화상 형성 장치(100)는 스캐너 유닛(110), (또한 정보 처리 장치로 지칭되는) 제어기 유닛(120), 동작 유닛(130), 및 프린터 유닛(140)을 포함한다.
스캐너 유닛(110)은 선택적으로 서류 화상을 판독하고 화상을 화상 데이터로 변환한다. 스캐너 유닛(110)은 서류를 판독하도록 구성된 서류 판독 유닛(112) 및 서류를 이송하도록 구성된 서류 공급 유닛(111)을 포함한다. 프린터 유닛(140)은 프린팅 매체(시트)를 이송하고 화상 데이터를 가시 화상으로서 프린팅 매체 상에 프린트한다. 프린터 유닛(140)은 시트를 공급하도록 구성된 시트 공급 유닛(142), 화상 데이터를 시트 상으로 전달하고 화상 데이터를 정착시키도록 구성된 전달/정착 유닛(141), 및 프린트된 시트를 분류하고 스테이플 작업하여 장치의 외부로 시트를 방출하도록 구성된 시트 방출 유닛(143)을 포함한다. 제어기 유닛(120)은 스캐너 유닛(110) 및 프린터 유닛(140)과 전기적으로 연결된다. 제어기 유닛(120)은, LAN, ISDN, 인터넷, 및 인트라넷과 같은 네트워크(150)와 더 연결된다. 제어기 유닛(120)은 스캐너 유닛(110)을 제어하는 것에 의해 문서의 화상 데이터를 획득하고 프린터 유닛(140)을 제어하는 것에 의해 화상 데이터를 시트 상으로 출력하기 위한 복사 기능을 제공한다. 또한, 제어기 유닛(120)은 스캐너 유닛(110)을 제어함으로써 획득된 화상 데이터를 코드 데이터로 변환하고 그러한 코드 데이터를 네트워크(150)를 통해서, 도식적으로 도시되지 않은, 호스트 컴퓨터에 송신하기 위한 스캐너 기능을 제공한다. 또한, 제어기 유닛(120)은 네트워크(150)를 통해 호스트 컴퓨터로부터 수신된 코드 데이터를 화상 데이터로 변환하고 프린터 유닛(140)을 제어함으로써 화상 데이터를 시트 상에 프린트하기 위한 프린터 기능을 제공한다. 또한, 제어기 유닛(120)은 네트워크(150)(예를 들어, ISDN)로부터 수신된 데이터를 프린트하기 위한 FAX 수신 기능 및 주사 데이터를 네트워크(150)에 송신하기 위한 FAX 송신 기능을 갖는다. 스캐너, 프린터, 및 FAX 송신/수신 기능과 같은 각각의 기능에서 처리를 수행하기 위한 명령어는 작업으로 지칭되고, 화상 형성 장치(100)는 각각의 작업에 따라 처리를 수행한다. 동작 유닛(130)은, 예를 들어, 액정 터치 패널이고, 제어기 유닛(120)에 연결된다. 동작 유닛(130)은 화상 형성 장치(100)를 동작시키기 위한 사용자 인터페이스를 제공한다.
<제어기 유닛>
도 2는 제1 실시예의 제어기 유닛(120)의 구성을 도시한 블록도이다. 제어기 유닛(120)은 메인 제어기 유닛(200), 확장 제어기 유닛(201), 모드 설정 유닛(202), 및 (경로 설정 유닛으로도 지칭되는) 링 버스 스위치 설정 유닛(203)을 갖는다. 또한, 제어기 유닛(120)은 ROM(204), RAM(205), HDD(206), 및 PHY(207)을 갖는다. 또한, 제어기 유닛(120)은 각각의 처리 모듈(후술되는, 프린트 처리 유닛, 루프백 처리 유닛, 및 주사 처리 유닛)에 의해 일시적인 작업 지역으로서 이용되는 RAM(208 및 209)을 갖는다. 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)은 링 버스(도 2에서 중실형 백색 화살표에 의해 표시된 통신 버스)에 의해 연결된다.
제어기 유닛(120)의 각각의 구성요소가 설명된다. 본 실시예에서, 제어기 유닛(120)은 프린트 기판과 같은 전자 회로 기판이고, 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)이 각각 LSI이다. 제어기 유닛(120), 메인 제어기 유닛(200), 및 확장 제어기 유닛(201)이 다른 양태로 구현될 수 있다. 본 실시예에서, 확장 제어기 유닛(201)의 구성은 메인 제어기 유닛(200)의 구성과 같다. 그러나, 확장용 집적 회로로서 동작할 수 있기만 하다면, 확장 제어기 유닛(201)은 임의의 기능 및 임의의 구성을 가질 수 있다. 즉, 확장 제어기 유닛(201)은 링 버스에의 연결에 의해 패킷 데이터를 송신 및 수신할 수 있는 인터페이스를 가지기만 하면 된다.
첫 번째로, 메인 제어기 유닛(200)이 설명된다. 메인 제어기 유닛(200)은 (제어 모듈로도 지칭되는) 시스템 제어 유닛(210), 링 버스 스위치(220), 프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250)을 갖는다. 메인 제어기 유닛(200)은 전원 제어 유닛(270), 클록 제어 유닛(280), RAM 제어기(260), 및 링 버스 외부 인터페이스(링 버스 외부 I/F)(290)를 더 갖는다.
메인 제어기 유닛(200)의 시스템 제어 유닛(210)은 스캐너 유닛(110)을 이용하여 주사 처리를 그리고 프린터 유닛(140)을 이용하여 프린트 처리를 제어한다. 시스템 제어 유닛(210)은 링 버스 스위치(220)를 통해 처리를 위해서 이용되는 화상 데이터를 전달한다. 시스템 제어 유닛(210) 및 링 버스 스위치(220)는 링 버스에 의해 연결된다. 또한, 시스템 제어 유닛(210)은 네트워크(150)로의 데이터의 송신, 네트워크(150)로부터의 데이터의 수신, 동작 유닛(130)의 디스플레이 처리 등을 수행한다. 전술한 바와 같이, 시스템 제어 유닛(210)은 전체 시스템을 중앙 집중적으로 제어한다.
메인 제어기 유닛(200)의 링 버스 스위치(220)는 링 버스의 스위치 제어를 수행하여 화상 데이터를 제어기 유닛(120) 내의 각각의 블록에 전달한다. 즉, 링 버스 스위치(220)는 링 버스의 경로 제어를 수행한다. 본 실시예에서, 화상 데이터를 각각의 블록에 전달하기 위한 링 버스는 도 2에 도시된 바와 같이 링 버스 스위치(220)를 통해 링의 형태로 연결된다. 이로 인해서, 시스템 제어 유닛(210)은 화상 데이터를 프린트 처리 유닛(230), 루프백 처리 유닛(240), 주사 처리 유닛(250), 및 링 버스 외부 I/F(290)으로 그리고 그로부터 송신 및 수신할 수 있다. 링 버스 스위치(220)는 필요에 따라 링 버스 상에 위치된 각각의 블록의 연결 목적지를 변경하기 위한 스위치를 포함한다. 링 버스 스위치(220)는 링 버스 스위치 설정 유닛(203)(구체적으로, 링 버스 스위치 설정 유닛(203)이 갖는 레지스터)의 설정 값에 따라 스위치를 제어한다. 링 버스 스위치(220)에 의해 수행되는 스위치 제어는 후술할 것이다.
메인 제어기 유닛(200)의 프린트 처리 유닛(230)은, 프린터 유닛(140)에 의해 화상 데이터를 프린트하기 위해서, 색 공간 변환 처리, 하프톤 처리, 및 감마 교정과 같은 다양한 종류의 화상 처리를 수행한다. 프린트 처리 유닛(230)은 링 버스 스위치(220)로부터 화상 데이터를 수신하고 화상 데이터에 대한 전술한 화상 처리를 수행한 후에 화상 데이터를 프린터 유닛(140)에 출력한다.
메인 제어기 유닛(200)의 루프백 처리 유닛(240)은, 프린트 처리 및 주사 처리 모두에서 이용될 수 있는 화상 처리를 수행하는 블록이다. 본 실시예에서, 루프백 처리 유닛(240)은 스케일링(scaling) 처리, 화상 조합 처리, 회전 처리 등을 수행한다. 루프백 처리 유닛(240)은 링 버스를 통해 시스템 제어 유닛(210)으로부터 화상 데이터를 수신하고, 화상 데이터에 대해서 전술한 화상 처리를 수행하고, 그리고 화상 데이터를 처리 후에 링 버스 스위치(220)에 전달한다. 링 버스 스위치(220)에 전달된 화상 데이터는 링 버스를 통해 시스템 제어 유닛(210)에 전달된다.
메인 제어기 유닛(200)의 주사 처리 유닛(250)은 스캐너 유닛(110)에 의해 획득된 화상 데이터에 대해서 음영 교정 처리, MTF 교정 처리, 입력 감마 교정, 및 필터 처리와 같은 화상 처리를 수행한다. 주사 처리 유닛(250)은 스캐너 유닛(110)로부터 전달된 화상 데이터에 대해서 화상 처리를 수행하고 그러한 처리 이후에 화상 데이터를 링 버스 스위치(220)에 전달한다. 링 버스 스위치(220)에 전달된 화상 데이터는 링 버스를 통해 시스템 제어 유닛(210)에 전달된다.
메인 제어기 유닛(200)의 RAM 제어기(260)는 프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250)으로부터 수신된 화상 데이터를 RAM(208)에 일시적으로 기록한다. 또한, RAM 제어기(260)는 각각의 처리 모듈(프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250))로부터의 명령어에 따라 RAM(208)에 기록된 화상 데이터를 판독하고 그러한 화상 데이터를 각각의 처리 모듈에 전달한다. 전술한 바와 같이, 프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250)의 각각은 화상 처리를 수행하는 시간에 RAM(208)을 일시적인 화상 버퍼로서 이용한다. 또한, 이때, RAM 제어기(260)와 RAM(208) 사이의 전달 경로를 통해서, 프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250)의 각각의 화상 데이터가 다중화 방식으로 전후로 이동된다. 이로 인해서, 이러한 전달 경로의 전달 처리 성능(메모리 대역 성능)을 초과하는 데이터 전달이 요청되는 경우에, 전달 대기 상태가 발생된다. 결과적으로, 그러한 경우는, RAM 제어기(260)와 RAM(208) 사이의 데이터 전달이 메인 제어기 유닛(200)의 처리 능력의 병목현상을 유발할 때 빈번하게 발생된다. 또한, RAM 제어기(260)는 상태가 변화되는 경우에 인터럽트 신호(2102)를 발행한다. 예를 들어, RAM 제어기(260)는 활성화시에 RAM(208)에 대한 접속 타이밍의 조정과 같은 초기화를 수행하고, 초기화의 완료 시에 인터럽트 신호를 발행한다. 도 2에 도시된 바와 같이, 인터럽트 신호(2102)는 시스템 제어 유닛(210)의 CPU(후술되는 CPU(310))에 통지된다.
메인 제어기 유닛(200)의 링 버스 외부 I/F(290)는, 메인 제어기 유닛(200) 내에 위치되는, 중심으로서 링 버스 스위치(220)를 가지는 링 버스와 메인 제어기 유닛(200)의 외측을 연결하는 인터페이스이다. 메인 제어기 유닛(200)은 링 버스 외부 I/F(290)를 통해 외측과 데이터 송신 및 수신을 수행한다. 본 실시예에서, 도 2에 도시된 바와 같이, 링 버스 외부 I/F(290)는 링 버스에 의해 확장 제어기 유닛(201)과 연결된다.
메인 제어기 유닛(200)의 전원 제어 유닛(270)은 각각의 처리 모듈에 공급되는 전압을 제어한다. 메인 제어기 유닛(200)의 클록 제어 유닛(280)은 각각의 처리 모듈에 입력되는 클록을 제어한다.
인터럽트 신호(2101)는 시스템 제어 유닛(210)(구체적으로, 후술되는, 시스템 제어 유닛(210)의 인터럽트 제어 유닛(380))으로부터 출력된다. 프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250)의 각각은, 후술하는 바와 같이, 인터럽트 신호를 입력하기 위한 인터럽트 외부 포트 및 인터럽트 제어 유닛을 포함한다. 도 2에 도시된 바와 같이, 시스템 제어 유닛(210)의 인터럽트 제어 유닛(380) 및 각각의 처리 모듈의 외부 포트는 인터럽트 신호(2102)를 전달할 수 있는 신호 라인에 의해 연결된다. 인터럽트 신호(2101)는 각각의 처리 모듈의 인터럽트 외부 포트를 통해 각각의 처리 모듈의 인터럽트 제어 유닛에 입력된다.
다음에, 확장 제어기 유닛(201)이 설명된다. 확장 제어기 유닛(201)은 제어기 유닛(120)의 처리 속력을 높이기 위한 확장용 집적 회로이다. 본 실시예에서, 확장 제어기 유닛(201)의 구성은 메인 제어기 유닛(200)의 구성과 같다. 결과적으로, 확장 제어기 유닛(201) 내의 각각의 블록(시스템 제어 유닛(211), 링 버스 스위치(221), 전원 제어 유닛(271), 클록 제어 유닛(281), 및 링 버스 외부 I/F(291))의 기능은 메인 제어기 유닛(200) 내의 상응하는 블록의 기능과 같다. 또한, 시스템 제어 유닛(211)으로부터 출력되는 인터럽트 신호(2111)는 메인 제어기 유닛(200) 내의 인터럽트 신호(2101)와 같다. 확장 제어기 유닛(201)의 프린트 처리 유닛(231), 루프백 처리 유닛(241), 및 주사 처리 유닛(251)의 본 실시예에서, 루프백 처리 유닛(241)은 확장 기능으로서 이용된다. 이유는 다음과 같다. 프린트 처리 유닛(231) 또는 주사 처리 유닛(251)가 이용되는 경우에, 프린터 유닛(140) 또는 스캐너 유닛(110)의 연결을 메인 제어기 유닛(200)으로부터 확장 제어기 유닛(201)으로 변경할 필요가 발생하고, 그에 따라 제어기 유닛(120)의 구성이 복잡해지기 시작한다. 또한, 본 실시예에서, 동작될 필요가 없는 프린트 처리 유닛(231) 및 주사 처리 유닛(251)에 또는 시스템 제어 유닛(211) 내의 CPU(도 7에 도시된 CPU(311))에 공급되는 전원을 차단할 수 있고 그에 공급되는 클록을 중단시킬 수 있다. 이로 인해서, 시스템의 전력 소비를 억제할 수 있다. 도 2에서, 전원이 차단되는 또는 클록이 중단되는 블록이 회색으로 디스플레이되어 있다.
모드 설정 유닛(202)은 전원 제어 유닛(270 및 271) 그리고 클록 제어 유닛(280 및 281)의 설정을 수행하기 위해서 신호를 출력한다. 또한, 모드 설정 유닛(202)은 링 버스 스위치 설정 유닛(203)의 설정을 수행하기 위해서 신호를 출력한다. 모드 설정 유닛(202)에서, (이하에서, 모드 설정 정보로서 지칭되는) 그러한 신호를 제어하기 위한 정보가 미리 설정된다. 이어서, 제어기 유닛(120)의 전원이 턴 온되는 경우에, 메인 제어기 유닛(200), 확장 제어기 유닛(201), 및 링 버스 스위치 설정 유닛(203)이 활성화되기 전에, 신호가 모드 설정 정보에 따라 모드 설정 유닛(202)으로부터 출력된다. 전원 제어 유닛(270 및 271)은 모드 설정 유닛(202)으로부터의 신호에 의해 특정된 처리 유닛에만 전압을 공급한다. 또한, 유사하게, 클록 제어 유닛(280 및 281)은 모드 설정 유닛(202)으로부터의 신호에 의해 특정된 처리 유닛에만 희망 클록을 또한 출력한다. 또한, 유사하게, 링 버스 스위치 설정 유닛(203)은 또한 모드 설정 유닛(202)으로부터의 신호에 따라 링 버스 스위치(220)에 제어 신호를 출력한다. 이로 인해서, LSI 중 하나가 메인 제어기 유닛으로서 동작하게 할 수 있고, 다른 LSI가 확장 제어기 유닛으로 동작하게 할 수 있다. 또한, 메인 제어기 유닛 및 확장 제어기 유닛 내의 처리 유닛의 일부가 동작되거나 중단되게 할 수 있다. 전원 제어 유닛(270 및 271) 및 클록 제어 유닛(280 및 281)에, 모드 설정 유닛(202)으로부터 출력된 신호가 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)의 입력 단자(도식적으로 도시되지 않음)를 통해 입력된다.
<시스템 제어 유닛>
본 실시예에서, 메인 제어기 유닛(200)의 시스템 제어 유닛(210)의 구성은 확장 제어기 유닛(201)의 시스템 제어 유닛(211)의 구성과 같다. 결과적으로, 이하에서, 시스템 제어 유닛(210)의 내부 구성이 설명된다. 도 3은 메인 제어기 유닛(200)의 시스템 제어 유닛(210)의 내부 구성을 도시한 블록도이다. 도 3을 이용함으로써, 시스템 제어 유닛(210) 내의 각각의 블록을 구체적으로 설명한다.
시스템 제어 유닛(210) 내의 각각의 블록은 시스템 버스(300)에 의해 연결된다. CPU(310)은 전체 시스템을 제어하는 프로세서이다. CPU(310)은, RAM(205)에 로딩된 OS 및 제어 프로그램에 따라, 프린트 처리 및 주사 처리와 같은 작업 처리를 중앙 집중적으로 제어한다.
ROM 제어기(320)는 ROM(204)에 접속하기 위한 제어 모듈이다. ROM(204)에서, 시스템의 부팅 프로그램이 저장된다. 화상 형성 장치(100)의 전원이 턴 온되는 경우에, CPU(310)는 ROM 제어기(320)를 통해 ROM(204)에 접속하고 CPU(310)를 부팅한다.
RAM 제어기(330)는 RAM(205)에 접속하기 위한 제어 모듈이다. RAM(205)에서, 시스템의 제어 프로그램 및 화상 데이터가 저장된다. RAM 제어기(330)는 RAM(205)의 설정 및 제어를 수행하기 위한 레지스터를 포함한다. 이러한 레지스터는 CPU(310)에 의해 접속될 수 있다.
동작 유닛 인터페이스(340)는 동작 유닛(130)으로부터 입력된 사용자의 동작 명령어를 수신하고, 동작 결과의 디스플레이의 제어를 수행하고, 기타를 수행한다.
HDD 제어기(360)는 HDD(하드 디스크 드라이브)(206) 및 시스템 버스(300)에 연결된다. HDD(206)는 시스템 소프트웨어 및 애플리케이션 프로그램을 저장한다. 또한, HDD(206)는 화상 데이터, 그리고 화상 데이터의 각각의 단편에 상응하는 페이지 정보 및 작업 정보를 저장한다. CPU(310)는, HDD 제어기(360)에 명령어를 입력함으로써, HDD(206)로부터 데이터를 판독하고, 그러한 데이터를 HDD(206)에 기록하고, 기타 등등을 수행한다.
LAN 제어기(370)는 PHY(207)를 통해 네트워크(150)에 연결되고, 화상 데이터와 같은 정보를 외부 호스트 컴퓨터에 그리고 그로부터 입력 및 출력한다.
모뎀(372)은, 도식적으로 도시되지 않은 공공 라인에 연결되고, 수행되는 FAX 송신 처리 및 FAX 수신 처리와 같은, 작업 처리 시에 외부 FAX 기계와 데이터 통신을 수행한다.
화상 압축 유닛(350)은 RAM(205) 또는 HDD(206) 내에 저장된 화상 데이터를 JPEG 포맷으로 압축하기 위한 처리를 수행한다. 또한 화상 압축해제 유닛(351)은 JPEG 포맷으로 압축된 화상 데이터를 압축해제하기 위한 처리를 수행한다.
렌더링 유닛(352)은 LAN 제어기(370)를 통해 네트워크(150)로부터 수신된 화상 데이터(PDL 데이터)를 프린터 유닛(140)에 의해 취급될 수 있는 비트맵 데이터로 변환한다.
인터럽트 제어 유닛(380)은 시스템 제어 유닛(210) 내에서 인터럽트를 제어한다. 인터럽트 제어 유닛(380)은 시스템 제어 유닛(210)에 입력되는 인터럽트 처리 요청을 수신하고 (이하에서, 인터럽트 통지로 지칭되는) 인터럽트의 통지를 CPU(310)에 제공한다. 본 실시예에서, 인터럽트 처리 요청의 수신 시에, 인터럽트 제어 유닛(380)은 인터럽트 신호(3901)를 CPU(310)에 전송한다. 이로 인해서, 인터럽트 통지가 CPU(310)에 주어진다. 인터럽트 제어 유닛(380)은 각각의 처리 모듈로부터의 인터럽트 처리 요청을 입력할 수 있고, 추가적으로로, 입력된 인터럽트 처리 요청을 인터럽트 신호(3901)로서 CPU(310)에 통지할지의 여부를 선택할 수 있다. 인터럽트 신호(3901)는 시스템 제어 유닛(210)의 포트(도식적으로 도시되지 않음)로부터 도 2에 도시된 인터럽트 신호(2101)로서 외측으로 출력된다.
링 버스 I/F(301)는 시스템 제어 유닛(210) 내의 시스템 버스(300) 및, 시스템 제어 유닛(210)의 외측에 위치되는, 중심으로서 링 버스 스위치(220)를 가지는 링 버스에 연결되는 인터페이스이다. 이하에서, 링 버스를 통해 이동되는 데이터는 패킷 데이터 또는 단순히 패킷으로 지칭된다. 링 버스 I/F(301)는 RAM(205) 또는 HDD(206) 내에 저장된 패킷 데이터를 링 버스에 송신한다. 또한, 링 버스 I/F(301)는 링 버스로부터 수신된 패킷 데이터를 RAM(205) 또는 HDD(206) 내에 저장한다. 여기에서, 패킷 데이터를 구체적으로 설명한다.
도 4는 제1 실시예의 링 버스를 통해 흐르는 패킷 데이터의 예를 도시하는 도면이다. 패킷(400)은 헤더 부분(410) 및 데이터 부분(420)을 갖는다. 헤더 부분(410)은 패킷 유형(411), 칩 ID(412), 페이지 ID(413), 작업 ID(414), 패킷 Y-좌표(415), 패킷 X-좌표(416), 패킷 바이트 길이(417), 및 데이터 바이트 길이(418)를 포함한다.
패킷 유형(411)은 화상 데이터, 커맨드, 및 인터럽트 패킷(400) 중 어느 것이 존재하는지를 나타내는 정보이다. 패킷 유형(411)이 화상 데이터를 나타내는 경우에, 데이터 부분(420) 내에, 화상 데이터가 저장된다. 패킷 유형(411)이 커맨드를 나타내는 경우에, 데이터 부분(420) 내에서, 계수 및 각각의 처리 유닛의 모드를 설정하기 위한 설정 어드레스 및 설정 값을 나타내는 데이터가 저장된다. 패킷 유형(411)이 인터럽트를 나타내는 경우에, 데이터 부분(420) 내에, 인터럽트 요인을 나타내는 상태 데이터가 저장된다.
칩 ID(412)는, 패킷(400)이 송신되는 목표(목적지)인 처리 유닛을 식별하기 위한 ID(식별자)이다. 칩 ID가 0인 경우에, 프린트 처리 유닛(230)이 목표가 된다. 칩 ID가 1인 경우에, 루프백 처리 유닛(240)이 목표가 된다. 예를 들어, 칩 ID가 2인 경우에, 주사 처리 유닛(250)이 목표가 된다. 칩 ID가 3인 경우에, 시스템 제어 유닛(210)(구체적으로 시스템 제어 유닛(210)의 인터럽트 제어 유닛(380))이 목표가 된다. 칩 ID가 4인 경우에, 확장 제어기 유닛(201) 내의 루프백 처리 유닛(241)이 목표가 된다.
페이지 ID(413)는 패킷(400)이 속하는 페이지의 번호를 나타낸다. 주사 및 프린트 처리와 같은 처리가 복수의 페이지에 대해서 수행되는 경우가 있고, 그러한 경우에 페이지 ID(413)는 패킷(400)가 속하는 페이지를 나타내는 정보이다.
작업 ID(414)는 패킷(400)이 속하는 작업의 번호를 나타낸다. 예를 들어, 주사 작업 및 프린트 작업이 동시에 수행되는 경우에, 주사 작업의 패킷에 1이 할당되고 프린트 작업의 패킷에 2가 할당된다. 이로 인해서, 작업을 식별할 수 있다.
패킷 Y-좌표(415)는, 화상 데이터가 데이터 부분(420) 내에 저장되는 경우에, 화상 데이터의 페이지 내의 위치(Y-좌표)를 나타낸다. 패킷 X-좌표(416)는, 화상 데이터가 데이터 부분(420) 내에 저장되는 경우에, 화상 데이터의 페이지 내의 위치(X-좌표)를 나타낸다. 데이터 부분(420) 내에 저장되는 화상 데이터는 페이지 단위들의 화상 데이터를 직사각형 크기의 미리 결정된 수의 화소들(예를 들어, 32 화소 x 32 화소)로 분할하는 것에 의해 얻어진다. 결과적으로, 페이지 데이터가 패킷 데이터로부터 재생되는 경우에, 전술한 Y-좌표 및 X-좌표가 인용된다. 데이터 부분(420) 내에 저장된 화상 데이터는 화상 압축 유닛(350) 또는 각각의 처리 유닛 내에 설치된 압축기에 의해 압축된 데이터(압축된 화상 데이터)이다. 패킷 바이트 길이(417)는 패킷(400)의 총 바이트의 수를 나타내고, 데이터 바이트 길이(418)는 데이터 부분(420)의 총 바이트의 수를 나타낸다.
본 실시예에서 링 버스를 통해서, 전술한 바와 같은 패킷 데이터가 이동되고, 각각의 처리 유닛은 패킷 데이터를 수신하고 인터럽트한다. 이어서, 각각의 처리 모듈에 의해 수신된 패킷이 처리의 커맨드, 모드, 계수, 및 기타를 포함하는 패킷인 경우에, 커맨드에 의해 특정되는 것이 각각의 처리 모듈에 설정된다. 그 이후에, 각각의 처리 모듈은 모드 및 모듈 자체에 설정된 계수에 따라 동작된다. 각각의 처리 모듈에 의해 수신된 패킷이 화상 데이터를 포함하는 패킷인 경우에, 각각의 처리 모듈에서, 화상 데이터에 대한 화상 처리가 수행된다.
다음에, 도 5a 내지 도 5c를 이용함으로써, 프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250)을 구체적으로 설명한다. 도 5a 내지 도 5c는 제1 실시예의 프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250) 각각의 내부 구성의 예를 도시하는 블록도이다. 본 실시예에서, 화상 데이터에 대한 화상 처리를 수행하는 처리 모듈(프린트 처리 유닛(230), 루프백 처리 유닛(240), 및 주사 처리 유닛(250))이 예로서 취해진다. 그러나, 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)이, 화상 데이터 이외의 데이터를 포함하는 패킷을 수신하고 수신된 데이터에 대해서 화상 처리 이외의 처리를 수행하는 처리 모듈을 가질 수 있다는 것이 당연하다.
<프린트 처리 유닛>
도 5a는 프린트 처리 유닛(230)의 내부 구성의 예를 도시한다. 패킷 입/출력 I/F(500)는 패킷 입력 유닛(504) 및 패킷 출력 유닛(505)을 갖는다. 패킷의 수신 시에, 패킷 입력 유닛(504)은 헤더 부분(410)의 칩 ID(412)를 참조하고 그 ID가 패킷 입력 유닛(504) 자체에 할당된 칩 ID와 동일한지의 여부를 체크한다. 칩 ID(412)에 의해 표시된 ID가 패킷 입력 유닛(504) 자체에 할당된 칩 ID와 상이한 경우에, 패킷 입력 유닛(504)은, 패킷이 프린트 처리 유닛(230)에 의해 처리되어야 하는 패킷이 아니라는 것을 결정한다. 이어서, 패킷 입력 유닛(504)은 그 패킷을 패킷 출력 유닛(505)에 전달한다. 다른 한편으로, 칩 ID(412)에 의해 표시된 ID가 프린트 처리 유닛(230)에 할당된 칩 ID와 동일한 경우에, 패킷 입력 유닛(504)은, 그러한 패킷이 프린트 처리 유닛(230)에 의해 처리되어야 하는 패킷이라는 것을 결정한다. 이때, 화상 데이터가 패킷 내에 포함되는 경우에, 압축해제기(501), 패킷/라스터 변환 유닛(502), 및 프린트 화상 처리 유닛(503)을 통해서, 화상 처리가 화상 데이터에 대해서 수행된다. 커맨드가 패킷 내에 포함된 경우에, 패킷 입력 유닛(504)은 데이터 부분(420) 내에 저장된 설정 어드레스 및 설정 값을 참조하고 특정된 계수 및 모드를 설정 유지 유닛(506)에 설정한다. 패킷이 설정 값을 판독하기 위한 커맨드를 포함하는 경우에, 설정 값을 저장하는 패킷이 설정 유지 유닛(506)에 의해 패킷 출력 유닛(505)에 전송된다. 설정 유지 유닛(506)은, 프린트 처리 유닛(230)에 의해 사용되는 설정 값을 유지한다. 압축해제기(501), 패킷/라스터 변환 유닛(502), 및 프린트 화상 처리 유닛(503)은 설정 유지 유닛(506)에 의해 유지되는 설정 값을 기초로 처리를 수행한다.
(이하에서, 단순히 외부 포트로 지칭되는) 인터럽트 외부 포트(508) 또는 프린트 화상 처리 유닛(503)으로부터 인터럽트 신호를 검출하는 경우에, 인터럽트 제어 유닛(507)은 검출된 인터럽트 신호에 상응하는 인터럽트 요인을 인터럽트 상태 값으로서 유지한다. 이어서, 인터럽트 제어 유닛(507)은 인터럽트 패킷(패킷 유형이 인터럽트를 나타내는 패킷)을 생성한다.
여기에서 인터럽트 패킷의 생성이 설명된다. 첫 번째로, 헤더 부분(410)의 생성이 설명된다. 인터럽트 제어 유닛(507)은 인터럽트 패킷을 나타내는 값을 패킷 유형(401)에 설정한다. 또한, 인터럽트 제어 유닛(507)은 시스템 제어 유닛(210)의 칩 ID(본 실시예에서, 3)를 칩 ID(412)에 설정한다. 또한, 인터럽트 제어 유닛(507)은 패킷의 총 바이트 수를 패킷 바이트 길이(417)에 대해서 설정하고, 인터럽트 상태 값의 총 바이트의 수를 데이터 바이트 길이(418)에 대해서 설정한다. 헤더 부분(410)의 정보의 다른 단편은 사용되지 않고, 그에 따라, 임의의 값이 그에 대해서 설정된다.
다음에, 데이터 부분(420)의 생성이 설명된다. 인터럽트 제어 유닛(507)은 인터럽트 신호의 검출 시에 유지되는 인터럽트 상태 값을 데이터 부분(420) 내에 저장한다. 도 4에 도시된 인터럽트 요인(4201 내지 4208)은 프린트 처리 유닛(230)으로부터 외부로 전송된 인터럽트 패킷의 데이터 부분 내에 저장된 정보의 예이다. 인터럽트 제어 유닛(507)은 검출된 인터럽트 신호에 따라 값을 인터럽트 요인(4201 내지 4208)에 대해서 설정한다. 본 실시예에서, 인터럽트 요인(4201 내지 4208)에 대해서, "0"은 초기 값으로서 설정되고, 인터럽트 신호가 검출되는 경우에 "1"은 검출된 인터럽트 신호에 상응하는 인터럽트 요인에 대해서 설정된다. 외부 포트(508)로부터의 인터럽트 신호가 검출되는 경우에, 인터럽트 요인(4201)이 설정된다. 인터럽트가 프린트 처리에서 발생되는 경우에, 인터럽트 요인(4202 내지 4208)이 설정된다. 본 실시예에서, 프린트 화상 처리 유닛(503)으로부터의 인터럽트 신호가 검출되는 경우에, 인터럽트 요인(4202 내지 4208)이 설정된다. 인터럽트 요인(4202)은, 언더런 에러가 발생된 것을 나타낸다. 언더런 에러는, 화상 데이터가 프린트 동작을 위한 시간 내에 공급되지 않은 경우에 발생되는 에러이다. 인터럽트 요인(4203)은 본 실시예에서 사용되지 않는다. 인터럽트 요인(4204)은, 주 주사 동기 신호가 프린터 유닛(140)으로부터 수신된 것을 나타낸다. 인터럽트 요인(4205)은 부 주사 동기 신호가 프린터 유닛(140)로부터 수신된 것을 나타낸다. 인터럽트 요인(4206)은 종이의 전방 단부가 프린터 유닛(140)에 도달하였다는 것을 나타낸다. 인터럽트 요인(4207)은 종이의 후방 단부가 프린터 유닛(140)에 도달하였다는 것을 나타낸다. 인터럽트 요인(4208)은 프린트 화상 처리 유닛(503)이 하나의 페이지의 처리를 완료하였다는 것을 나타낸다.
인터럽트 제어 유닛(507)은 발생된 인터럽트 패킷을 패킷 입/출력 I/F(500)에 전달한다. 이어서, 패킷 입/출력 I/F(500)의 패킷 출력 유닛(505)은 링 버스를 통해 인터럽트 패킷을 시스템 제어 유닛(210)에 송신한다. 인터럽트 패킷은 시스템 제어 유닛(210)의 인터럽트 제어 유닛(380)에 의해 수신된다. 인터럽트 제어 유닛(380)은 수신된 인터럽트 패킷을 기초로 인터럽트 통지를 CPU(310)에 제공한다. CPU(310)는 인터럽트 통지에 따라 프린트 처리 유닛(230)을 제어한다.
패킷 출력 유닛(505)은 패킷 입력 유닛(504), 설정 유지 유닛(506), 및 인터럽트 제어 유닛(507)으로부터 전송된 패킷 데이터를 조정하고 패킷 데이터를 링 버스에 전달한다.
압축해제기(501)는 패킷 입/출력 I/F(500)으로부터 전송된 압축된 화상 데이터를 압축해제한다. 이로 인해서, 압축된 화상 데이터가 화소 상태로 복원되고, 후속 스테이지에서 화상 처리가 수행될 수 있다.
패킷/라스터 변환 유닛(502)은 압축해제기(501)로부터 압축해제된 화상 데이터를 수신하고 화상 데이터를 라스터 화상 데이터로 변환한다. 전술한 바와 같이, 패킷에서, 직사각형(32 화소 x 32 화소) 화상 데이터가 저장된다. 화상 형성 장치(100)가 전자사진 장치인 경우에, 프린터 유닛(140) 내의 프린팅 처리가 라스터 순서(라인 순서)로 수행된다. 결과적으로, 본 실시예에서, 패킷/라스터 변환 유닛(502)은 화상 데이터의 화소의 배열을 라스터 순서로 변환한다. 패킷/라스터 변환 유닛(502)은 화상 데이터를 변환할 때 RAM(208)을 일시적인 버퍼로서 이용한다. 패킷/라스터 변환 유닛(502)은 RAM 제어기(260)를 통해 RAM(208)에 접속한다.
프린트 화상 처리 유닛(503)은 라스터 순서로 변환된 화상 데이터를 패킷/라스터 변환 유닛(502)으로부터 수신하고, 프린터 유닛(140)에 의해 화상 데이터를 프린트하기 위한 예비 처리로서 화상 처리를 수행한다. 구체적으로, 화상 처리는 RGB를 CMYK로 변환하기 위한 색 공간 변환 처리, 디더 방법(dither method) 또는 에러 확산 방법에 의한 하프톤 처리, 감마 교정, 및 기타이다. 프린트 화상 처리 유닛(503)은 화상 처리 이후에 화상 데이터를 프린터 유닛(140)에 출력한다. 이때, 프린터 유닛(140)의 활성화 타이밍 및 시트 공급 유닛(142)으로부터의 시트 공급의 타이밍과 동기식으로, 프린트 화상 처리 유닛(503)이 화상 데이터를 프린터 유닛(140)에 출력할 필요가 있다. 이로 인해서, 프린트 화상 처리 유닛(503)은 화상 처리 이후에 그러한 타이밍까지 화상 데이터를 버퍼링한다. 구체적으로, 프린트 화상 처리 유닛(503)은 화상 처리 이후에 화상 데이터를 RAM 제어기(260)를 통해 RAM(208)에 일시적으로 기록한다. 이어서, 프린트 화상 처리 유닛(503)은 시트 공급의 타이밍과 동기식으로 RAM(208)으로부터 화상 데이터를 판독하고 그러한 화상 데이터를 프린터 유닛(140)에 출력한다.
<루프백 처리 유닛>
도 5b는 루프백 처리 유닛(240)의 내부 구성의 예를 도시한다. 패킷 입/출력 I/F(510)는 패킷 입력 유닛(514) 및 패킷 출력 유닛(515)을 갖는다. 패킷 데이터의 수신 시에, 패킷 입력 유닛(514)은 헤더 부분(410)의 칩 ID(412)를 참조하고 그 ID가 루프백 처리 유닛(240)에 할당된 칩 ID와 동일한지의 여부를 체크한다. 칩 ID(412)에 의해 표시된 ID가 루프백 처리 유닛(240)에 할당된 칩 ID와 상이한 경우에, 패킷 입력 유닛(514)은, 패킷 데이터가 루프백 처리 유닛(240)에 의해 처리되어야 하는 패킷 데이터가 아니라는 것을 결정한다. 이어서, 패킷 입력 유닛(514)은 그 패킷 데이터를 패킷 출력 유닛(515)에 전달한다. 다른 한편으로, 칩 ID(412)에 의해 표시된 ID가 루프백 처리 유닛(240)에 할당된 칩 ID와 동일한 경우에, 패킷 입력 유닛(514)은, 그러한 패킷이 루프백 처리 유닛(240)에 의해 처리되어야 하는 패킷이라는 것을 결정한다. 동시에, 화상 데이터가 패킷 내에 포함되는 경우에, 압축해제기(511) 및 루프백 화상 처리 유닛(512)을 통해서, 화상 처리가 화상 데이터에 대해서 수행된다. 화상 처리 이후의 화상 데이터가 압축기(513)를 통해 패킷 입/출력 I/F(510)에 입력된다. 압축기(513)로부터 화상 데이터를 수신할 때, 패킷 입/출력 I/F(510)은 헤더를 화상 데이터에 부가하고 화상 데이터를 패킷 데이터로서 시스템 제어 유닛(210)에 송신한다. 또한, 커맨드가 패킷 내에 포함된 경우에, 패킷 입력 유닛(514)은 데이터 부분(420) 내에 저장된 설정 어드레스 및 설정 값을 참조하고 특정된 계수 및 모드를 설정 유지 유닛(516)에 설정한다. 패킷이 설정 값을 판독하기 위한 커맨드를 포함하는 경우에, 설정 값을 저장하는 패킷이 설정 유지 유닛(516)에 의해 패킷 출력 유닛(515)에 전송된다. 설정 유지 유닛(516)은, 루프백 처리 유닛(240)에 의해 사용되는 설정 값을 유지한다. 압축해제기(511), 루프백 화상 처리 유닛(512), 및 압축기(513)는 설정 유지 유닛(516)에 의해 유지되는 설정 값을 기초로 처리를 수행한다.
외부 포트(518) 또는 루프백 화상 처리 유닛(512)으로부터 인터럽트 신호를 검출하는 경우에, 인터럽트 제어 유닛(517)은 검출된 인터럽트 신호에 상응하는 인터럽트 요인을 인터럽트 상태 값으로서 유지한다. 이어서, 인터럽트 제어 유닛(517)은 인터럽트 패킷을 생성한다. 헤더 부분(410)의 생성과 관련한 콘텐츠는 전술한 콘텐츠와 동일하다. 결과적으로, 데이터 부분(420)의 생성만이 여기에서 설명된다.
인터럽트 제어 유닛(517)은 인터럽트 신호의 검출 시에 유지되는 상태 값을 데이터 부분(420) 내에 저장한다. 도 4에 도시된 인터럽트 요인(4211 내지 4218)은 루프백 처리 유닛(240)으로부터 외부로 전송된 인터럽트 패킷의 데이터 부분 내에 저장된 정보의 예이다. 외부 포트(518)로부터의 인터럽트 신호가 검출되는 경우에, 인터럽트 요인(4211)이 설정된다. 인터럽트가 루프백 처리에서 발생되는 경우에, 인터럽트 요인(4212 내지 4218)이 설정된다. 본 실시예에서, 루프백 처리 유닛(240)으로부터의 인터럽트 신호가 검출되는 경우에, 인터럽트 요인(4212 내지 4218)이 설정된다. 인터럽트 요인(4212)은, 포맷 에러가 발생된 것을 나타낸다. 포맷 에러는, 루프백 처리 유닛(240)에 입력된 화상 데이터의 포맷이 처리 콘텐츠와 일치되지 않는 경우에 발생되는 에러이다. 인터럽트 요인(4213 내지 4217)은 본 실시예에서 사용되지 않는다. 인터럽트 요인(4218)은 루프백 처리 유닛(240)이 하나의 페이지의 처리를 완료하였다는 것을 나타낸다.
인터럽트 제어 유닛(517)은 발생된 인터럽트 패킷을 패킷 입/출력 I/F(510)에 전달한다. 이어서, 패킷 입/출력 I/F(510)의 패킷 출력 유닛(515)은 링 버스를 통해 인터럽트 패킷을 시스템 제어 유닛(210)에 송신한다. 인터럽트 패킷은 시스템 제어 유닛(210)의 인터럽트 제어 유닛(380)에 의해 수신된다. 인터럽트 제어 유닛(380)은 수신된 인터럽트 패킷을 기초로 인터럽트 통지를 CPU(310)에 제공한다. CPU(310)는 인터럽트 통지에 따라 주사 처리 유닛(250)을 제어한다.
패킷 출력 유닛(515)은 패킷 입력 유닛(514), 압축기(513), 설정 유지 유닛(516), 및 인터럽트 제어 유닛(517)으로부터 전송된 패킷 데이터를 조정하고 패킷 데이터를 링 버스에 전달한다.
압축해제기(511)는 압축해제기(501)와 동일하고, 그에 따라 설명을 생략한다.
압축기(513)는 루프백 화상 처리 유닛(512)으로부터 전송된 이미 처리된 화상 데이터를 압축하고 후속 스테이지에서 화상 데이터를 패킷 입/출력 I/F(510)에 출력한다. 이러한 압축 처리는, 화상 데이터를 패킷 데이터 내에 저장할 수 있게 하기 위해서 수행된다.
루프백 화상 처리 유닛(512)은, 프린트 처리 및 주사 처리 모두에서 사용될 가능성이 있는, 편집계 화상 처리, 예를 들어, 스케일링 처리, 화상 조합 처리, 및 회전 처리를 수행한다. 루프백 화상 처리 유닛(512)은 압축해제기(511)로부터 수신된 화상 데이터에 대해서 전술한 편집계 화상 처리를 수행하고 처리 이후에 화상 데이터를 압축기(513)에 출력한다. 유사하게, 확장 제어기 유닛(201)의 루프백 처리 유닛(241)의 루프백 화상 처리 유닛(512)에서, 전술한 편집계 화상 처리가 수행된다.
<주사 처리 유닛>
도 5c는 주사 처리 유닛(250)의 내부 구성의 예를 도시한다. 패킷 입/출력 I/F(520)는 패킷 입력 유닛(524) 및 패킷 출력 유닛(525)을 갖는다. 패킷 데이터의 수신 시에, 패킷 입력 유닛(524)은 헤더 부분(410)의 칩 ID(412)를 참조하고 그 ID가 주사 처리 유닛(250)에 할당된 칩 ID와 동일한지의 여부를 체크한다. 칩 ID(412)에 의해 표시된 ID가 주사 처리 유닛(250)에 할당된 칩 ID와 상이한 경우에, 패킷 입력 유닛(524)은, 패킷 데이터가 주사 처리 유닛(250)에 의해 처리되어야 하는 패킷 데이터가 아니라는 것을 결정한다. 이어서, 패킷 입력 유닛(524)은 그 패킷 데이터를 패킷 출력 유닛(525)에 전달한다. 다른 한편으로, 칩 ID(412)에 의해 표시된 ID가 주사 처리 유닛(250)에 할당된 칩 ID와 동일한 경우에, 패킷 입력 유닛(524)은, 그러한 패킷이 주사 처리 유닛(250)에 의해 처리되어야 하는 패킷이라는 것을 결정한다. 이때, 커맨드가 패킷 내에 포함된 경우에, 패킷 입력 유닛(524)은 데이터 부분(420) 내에 저장된 설정 어드레스 및 설정 값을 참조하고 특정된 계수 및 모드를 설정 유지 유닛(526)에 설정한다. 주사 처리 유닛(250)에 대해서, 화상 데이터는 스캐너 유닛(110)으로부터만 입력되고, 그에 따라 수신된 패킷 데이터는 화상 데이터를 나타내지 않는다. 패킷이 설정 값을 판독하기 위한 커맨드를 포함하는 경우에, 설정 값을 저장하는 패킷이 설정 유지 유닛(526)에 의해 패킷 출력 유닛(525)에 전송된다. 설정 유지 유닛(526)는, 주사 처리 유닛(250)에 의해 사용되는 설정 값을 유지한다. 압축기(521), 라스터/패킷 변환 유닛(522), 및 주사 화상 처리 유닛(523)은 설정 유지 유닛(526)에 의해 유지되는 설정 값을 기초로 처리를 수행한다.
외부 포트(528) 또는 주사 화상 처리 유닛(523)으로부터 인터럽트 신호를 검출하는 경우에, 인터럽트 제어 유닛(527)은 검출된 인터럽트 신호에 상응하는 인터럽트 요인을 인터럽트 상태 값으로서 유지한다. 이어서, 인터럽트 제어 유닛(527)은 인터럽트 패킷을 생성한다. 헤더 부분(410)의 생성과 관련한 콘텐츠는 전술한 콘텐츠와 동일하다. 결과적으로, 헤더 부분(420)의 생성만이 여기에서 설명된다.
인터럽트 제어 유닛(527)은 인터럽트 신호의 검출 시에 유지되는 상태 값을 데이터 부분(420) 내에 저장한다. 도 4에 도시된 인터럽트 요인(4221 내지 4228)은 주사 처리 유닛(250)으로부터 전송된 인터럽트 패킷의 데이터 부분 내에 저장된 정보의 예이다. 외부 포트(528)로부터의 인터럽트 신호가 검출되는 경우에, 인터럽트 요인(4221)이 설정된다. 인터럽트가 주사 처리에서 발생되는 경우에, 인터럽트 요인(4222 내지 4228)이 설정된다. 본 실시예에서, 주사 처리 유닛(250)으로부터의 인터럽트 신호가 검출되는 경우에, 인터럽트 요인(4222 내지 4228)이 설정된다. 인터럽트 요인(4222)은, 오버런 에러가 발생된 것을 나타낸다. 오버런 에러는, 주사 데이터를 메모리에 기록하는 것이 주사 동작을 위한 시간 내에 완료되지 않은 경우에 발생되는 에러이다. 인터럽트 요인(4223)은 본 실시예에서 사용되지 않는다. 인터럽트 요인(4224)은, 주 주사 동기 신호가 스캐너 유닛(110)으로부터 수신된 것을 나타낸다. 인터럽트 요인(4225)은, 부 주사 동기 신호가 스캐너 유닛(110)으로부터 수신된 것을 나타낸다. 인터럽트 요인(4226)은 종이의 전방 단부가 스캐너 유닛(110)에 도달하였다는 것을 나타낸다. 인터럽트 요인(4227)은 종이의 후방 단부가 스캐너 유닛(110)에 도달하였다는 것을 나타낸다. 인터럽트 요인(4228)은 주사 화상 처리 유닛(523)이 하나의 페이지의 처리를 완료하였다는 것을 나타낸다.
인터럽트 제어 유닛(527)은 발생된 인터럽트 패킷을 패킷 입/출력 I/F(520)에 전달한다. 이어서, 패킷 입/출력 I/F(520)의 패킷 출력 유닛(525)은 링 버스를 통해 인터럽트 패킷을 시스템 제어 유닛(210)에 송신한다. 인터럽트 패킷은 시스템 제어 유닛(210)의 인터럽트 제어 유닛(380)에 의해 수신된다. 인터럽트 제어 유닛(380)은 수신된 인터럽트 패킷을 기초로 인터럽트 통지를 CPU(310)에 제공한다. CPU(310)는 인터럽트 통지에 따라 주사 처리 유닛(250)을 제어한다.
패킷 출력 유닛(525)은 패킷 입력 유닛(524), 설정 유지 유닛(526), 및 인터럽트 제어 유닛(527)으로부터 전송된 패킷 데이터를 조정하고 패킷 데이터를 링 버스에 전달한다.
압축기(521)는 라스터/패킷 변환 유닛(522)으로부터 전송된 화상 데이터를 압축하고 후속 스테이지에서 화상 데이터를 패킷 입/출력 I/F(520)에 출력한다. 이러한 압축 처리는, 화상 데이터를 패킷 데이터 내에 저장할 수 있게 하기 위해서 수행된다.
라스터/패킷 변환 유닛(522)은 주사 화상 처리 유닛(523)으로부터 수신된 화상 데이터를, 패킷으로 송신될 수 있는 화상 데이터로 변환한다. 전술한 바와 같이, 본 실시예에서, 패킷 데이터의 데이터 부분 내에 저장되는 화상 데이터는 직사각형(32 화소 x 32 화소) 화상 데이터이다. 다른 한편으로, 스캐너 유닛(110) 내의 주사 처리는 라인형 화상 센서를 이용함으로써 라스터 순서(라인 순서)로 수행된다. 결과적으로, 라스터/패킷 변환 유닛(522)은 32 화소 x 32 화소의 각각의 직사각형에 대해서 주사 화상 처리 유닛(523)으로부터 수신된 화상 데이터의 화소를 재정렬한다. 라스터/패킷 변환 유닛(522)은 화상 데이터를 변환할 때 RAM(208)을 일시적인 버퍼로서 이용한다.
주사 화상 처리 유닛(523)은 스캐너 유닛(110)으로부터 화상 데이터를 수신하고, 음영 교정 처리, MTF 교정 처리, 입력 감마 교정, 및 필터 처리와 같은 화상 처리를 수행한다. 화상 처리 이후의 화상 데이터는 라스터/패킷 변환 유닛(522)에 출력된다. 스캐너 유닛(110)의 화상 센서를 이용하는 주사 동작이 중단되는 것을 방지하기 위해서, 주사 화상 처리 유닛(523)은 입력되는 화상 데이터의 입력 속력을 위한 시간 내에 화상 데이터를 수신할 필요가 있다. 다른 한편으로, 패킷 입/출력 I/F(520)에 의한 패킷 송신 및 다른 처리 유닛(프린트 처리 유닛(230) 또는 루프백 처리 유닛(240))의 패킷 송신이 동일한 타이밍에 발생되는 경우에, 주사 화상 처리 유닛(523)의 패킷 송신 자체가 지연되는 경우가 있다. 그러한 경우에, 패킷의 송신 속력은 더 이상 안정적이지 않다. 이로 인해서, 주사 화상 처리 유닛(523)은 송신 타이밍까지 일시적으로 버퍼링하기 위해서 RAM(208)을 화상 버퍼로서 이용한다. 이어서, 주사 화상 처리 유닛(523)은 패킷 송신의 타이밍과 동기식으로 RAM(208) 내에 일시적으로 저장된 화상 데이터를 판독하고 그러한 판독된 화상 데이터를 라스터/패킷 변환 유닛(522)에 송신한다.
<링 버스 스위치>
도 6은 제1 실시예의 링 버스 스위치(220)의 내부 구성의 예를 도시하는 블록도이다. 링 버스 스위치(220)는 스위치(601) 내지 스위치(605)를 갖는다. 스위치(601) 내지 스위치(605)는 각각 복수의 입력으로부터 하나의 입력을 선택할 수 있고 그러한 입력을 출력할 수 있는 각각의 스위치이고, 예를 들어, 각각의 다중화기이다. 스위치(601) 내지 스위치(605)의 각각은 링 버스 스위치 설정 유닛(203)에 셋팅된 값(설정 값)에 따라 링 버스 내의 연결 목적지를 스위칭한다. 이로 인해서, 시스템 제어 유닛(210), 프린트 처리 유닛(230), 루프백 처리 유닛(240), 주사 처리 유닛(250), 및 링 버스 상의 링 버스 외부 I/F(290)의 연결 순서를 자유롭게 변경할 수 있다.
본 실시예에서, 전술한 바와 같이, 앞서 설명된 설정 값은, 링 버스를 동작시키기 전에, 모드 설정 유닛(202)에 의해 설정된다. 그러나, 구성은, 링 버스를 동작시키기 전에 링 버스 스위치의 값이 결정될 수 있는 것만을 필요로 하고, 그리고 또한 설정이 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)의 외부로부터 변경될 수 있도록 구성을 설계할 수 있다. 예를 들어, 사용자가 전술된 설정 값을 편집할 수 있는 소프트웨어를 이용하는 것에 의해 동작 유닛(130)을 통해서 전술된 설정 값을 변경할 수 있도록, 구성을 또한 설계할 수 있다. 이때, 전술한 소프트웨어는 시스템 제어 유닛(210)의 CPU(310)에 의해 실행된다. 그 대신에, 전술한 모드 설정 정보가 제어기 유닛(120)의 외부로부터 설정될 수 있도록, 구성을 또한 설계할 수 있다. 예를 들어, 모드 설정 정보의 값이 네트워크(150)를 통해서, 도식적으로 도시되지 않은 호스트 컴퓨터로부터 변경될 수 있도록, 구성을 또한 설계할 수 있다.
<제어기 유닛의 동작>
도 7은 제1 실시예의 제어기 유닛(120)의 동작을 설명하기 위한 도면이다. 도 7은 RAM 제어기(261)의 인터럽트가 링 버스 외부 I/F(291 및 290)를 통해 확장 제어기 유닛(201)으로부터 메인 제어기 유닛(200)으로 송신되는 방식을 보여준다.
전술한 바와 같이, 메인 제어기 유닛(200)의 링 버스 스위치(220)의 각각의 스위치는 링 버스 스위치 설정 유닛(203)의 설정 값에 따라 제어된다. 이로 인해서, 시작점이 시스템 제어 유닛(210)인 패킷은 프린트 처리 유닛(230), 링 버스 외부 I/F(290) 및 주사 처리 유닛(250)을 통해서 순환되고 시스템 제어 유닛(210)에 복귀된다. 그러한 연결 제어는, 확장 제어기 유닛(201)이 도 7에 도시된 바와 같이 메인 제어기 유닛(200)과 함께 이용되는 경우에 수행된다.
확장 제어기 유닛(201)의 링 버스 스위치(221)의 각각의 스위치는 링 버스 스위치 설정 유닛(213)의 설정 값에 따라 제어된다. 이로 인해서, 링 버스 외부 I/F(291)를 통해 외부로부터 입력된 패킷은 루프백 처리 유닛(241)에 전달되고 링 버스 외부 I/F(291)을 통해서 다시 외부로 복귀된다.
전술한 바와 같은 링 버스 스위치를 모두가 가지는, 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)을 조합하는 것에 의해서, 도 7에 도시된 바와 같은 경로(두꺼운-라인의 화살표에 의해 표시된 경로)가 구성된다. 이로 인해서, 시작점이 시스템 제어 유닛(210)인 패킷은 프린트 처리 유닛(230), 루프백 처리 유닛(241), 및 주사 처리 유닛(250)을 통해서 순환되고 시스템 제어 유닛(210)에 다시 복귀된다. 전술한 바와 같이, 메인 제어기 유닛(200)의 루프백 처리 유닛(240)을 이용하지 않고 확장 제어기 유닛(201)의 루프백 처리 유닛(241)을 이용하는 것에 의해서, RAM(208)으로의 데이터 전달 경로의 혼합을 완화시킬 수 있다. 또한, 이로 인해서, 메인 제어기 유닛(200)의 성능 감소를 방지할 수 있다.
도 7에 도시된 시스템에서, 동작될 필요가 없는, 루프백 처리 유닛(240), 프린트 처리 유닛(231), 및 주사 처리 유닛(251)에 대한 전원의 공급이 차단된다. 이로 인해서, 시스템의 전력 소비를 줄일 수 있다. 이러한 구성요소는 도 7에서 회색으로 디스플레이되어 있다.
또한, 도 7에 도시된 시스템에서, 메인 제어기 유닛(200)의 CPU(310)는 확장 제어기 유닛(201)을 제어한다. 이로 인해서, 시스템 제어 유닛(211)의 CPU(311)에 전원의 공급을 또한 차단할 수 있다. 결과적으로, 시스템의 전력 소비를 더 줄일 수 있다. CPU(310)와 CPU(311) 사이의 제어 타이밍을 조정하기 위해서 확장 제어기 유닛(201)의 CPU(311) 및 소프트웨어를 활성화시키기 위한 ROM은 더 이상 필요치 않다. 결과적으로, 시스템의 구성을 단순화할 수 있다.
도 7에 도시된 시스템에서, 시스템 제어 유닛(211)의 CPU(311)에 대한 전원의 공급이 차단되고, 그에 따라 시스템 제어 유닛(211)의 인터럽트 제어 유닛(381)으로부터 출력된 인터럽트 신호를 CPU(311)가 아니라 CPU(310)에 통지할 필요가 있다. 예를 들어, 본 실시예에서, RAM 제어기(261)는 활성화 시에, RAM(209)에 대한 접속의 타이밍 조정과 같은, 초기화를 수행한다. RAM(209)이 DDR 3 SDRAM인 경우에, 활성화 시에, ZQ 보정 및 DLL 리셋과 같은 처리를 수행할 필요가 있다. 여기에서, 본 실시예에서, 소프트웨어 제어의 단순화를 위해서, RAM 제어기(261)가 스스로 처리를 수행하고 처리의 완료 시에 인터럽트(초기화 완료 인터럽트)를 발생시키는 것을 가정한다. 초기화 완료 인터럽트는 인터럽트 신호(2112)로서 시스템 제어 유닛(211)의 인터럽트 제어 유닛(381)에 통지된다. 인터럽트 신호(2112)를 검출하는 경우에, 인터럽트 제어 유닛(381)은 인터럽트 신호(2111)를 루프백 처리 유닛(241)의 인터럽트 외부 포트에 입력한다. 이어서, 루프백 처리 유닛(241)은 전술한 바와 같이 인터럽트 패킷을 생성한다. 생성된 인터럽트 패킷은 도 7에 도시된 바와 같이 링 버스 외부 I/F(291 및 290)를 통해 메인 제어기 유닛(200)의 시스템 제어 유닛(210)에 전달되고 주사 처리 유닛(250)에 의해 수신된다. 여기에서, 인터럽트 패킷의 칩 ID로, 시스템 제어 유닛(210)에 상응하는 칩 ID가 설정된다. 결과적으로, 주사 처리 유닛(250)은 인터럽트 패킷을 그대로 전달한다. 전달된 인터럽트 패킷은 링 버스 스위치(220)를 통해 시스템 제어 유닛(210)의 인터럽트 제어 유닛(380)에 의해 수신되고, 인터럽트 통지는 인터럽트 제어 유닛(380)에 의해 CPU(310)에 제공된다.
여기에서, 시스템 제어 유닛(211)에 입력된 인터럽트 신호로서, 예를 들어, RAM(209)의 초기화 완료 인터럽트에 상응하는 인터럽트 신호(2112)가 취해진다. 그러나, 다른 인터럽트 신호가 시스템 제어 유닛(211)에 입력되는 경우에, 인터럽트 신호가 또한 유사하게 처리된다.
또한, 전술한 바와 같이, 인터럽트(예를 들어, 오버런 에러의 인터럽트)가 루프백 처리 유닛(241) 내에서 발생되는 경우에, 루프백 처리 유닛(241)의 인터럽트 제어 유닛 내에서, "3"이 칩 ID로 설정된 인터럽트 패킷이 발생된다. 이어서, 발생된 패킷은 도 7에서와 같이 경로를 통해 메인 제어기 유닛(200)의 시스템 제어 유닛(210)에 전달되고, 인터럽트 통지는 시스템 제어 유닛(210) 내의 인터럽트 제어 유닛(380)에 의해 CPU(310)에 제공된다. 결과적으로, 시스템 제어 유닛(210)의 CPU(310)는, 루프백 처리 유닛(241) 내에서 발생된 인터럽트를 검출할 수 있다.
다른 한편으로, 유사하게, 메인 제어기 유닛(200)의 인터럽트 제어 유닛(380)으로부터 송신된 인터럽트 신호(2101)는 프린트 처리 유닛(230) 및 주사 처리 유닛(250)에 통지된다. 그러나, 본 실시예에서, 인터럽트 패킷이 생성되지 않도록, 프린트 처리 유닛(230) 및 주사 처리 유닛(250)이 인터럽트 신호(2101)에 대해서 마스크 제어를 수행하는 것을 가정한다.
전술한 바와 같이, 본 실시예에서, 제어기 유닛(120) 내에서, 확장 제어기 유닛(201)의 CPU(311)가 중단되는 경우에, 인터럽트 통지는 확장 제어기 유닛(201)에 의해 메인 제어기 유닛(200)의 CPU(310)에 제공된다. 결과적으로, 본 실시예에 따라, 복수의 집적 회로에 의해 구성되는 시스템에서, CPU의 기능이 중단된 집적 회로 내에서 인터럽트가 발생된 경우에도, 인터럽트 제어를 적절히 수행할 수 있다.
본 실시예에서, 메인 제어기 유닛(200)의 루프백 처리 유닛(240), 시스템 제어 유닛(211)의 CPU(311), 프린트 처리 유닛(231), 및 주사 처리 유닛(251)이 중단되는 구성이 예로서 취해지나, 구성은 이러한 것으로 제한되지 않는다. 확장 제어기 유닛(201) 내에서 동작되는 처리 유닛 내에서 인터럽트 패킷을 생성할 수 있고 인터럽트 통지를 메인 제어기 유닛(200)의 CPU(310)에 제공할 수 있는 한, 그러한 구성은 임의 구성일 수 있다. 복수의 처리 유닛이 확장 제어기 유닛(201) 내에서 동작될 수 있는 경우에, 처리 유닛 중 하나를 또한 선택할 수 있고, 선택된 처리 유닛의 인터럽트 제어 유닛은 인터럽트 신호(2111)에 따라 인터럽트 패킷을 생성할 수 있다. 다른 한편으로, 선택되지 않은 처리 유닛의 인터럽트 제어 유닛의 경우에, 인터럽트 패킷이 발생되지 않도록 설정을 수행하는 것으로 충분하다.
본 실시예에서, 링 버스 스위치 설정 유닛(203)이 메인 제어기 유닛(200) 및 확장 제어기 유닛(201) 외부에 배열되는 구성을 예로서 취한다. 그러나, 또한 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)의 각각이 링 버스 스위치 설정 유닛을 가질 수 있다. 그러한 경우에, 모드 설정 유닛(200)은, 모드 설정 정보를 기초로, 메인 제어기 유닛(200)의 링 버스 스위치 설정 유닛 및 확장 제어기 유닛(201)의 링 버스 스위치 설정 유닛 각각에 대해서 설정을 수행하는 것으로 충분하다.
본 실시예에서, 메인 제어기 유닛(200)의 인터럽트 제어 유닛(380)으로부터 송신된 인터럽트 신호(2101)에 대해서, 마스크 제어가 프린트 처리 유닛(230) 및 주사 처리 유닛(250) 내에서 수행된다. 그러나, 또한, 인터럽트 제어 유닛은 LSI의 동작 모드를 결정할 수 있고 그러한 결정 결과를 기초로 인터럽트 통지의 송신 목적지를 CPU로 또는 각각의 처리 모듈로 스위칭할 수 있다. 그러한 양태를 구현하기 위해서, 예를 들어, 각각의 LSI가 메인 제어기 유닛으로서 동작되는지 또는 확장 제어기 유닛으로서 동작되는지의 여부를 나타내는 동작 모드 정보를, 각각의 LSI가 유지하게 하는 것으로 충분하다. 이어서, 모드 설정 유닛(202)은 모드 설정 정보를 기초로 각각의 LSI 상에서 동작 모드 정보를 설정하는 것 그리고 각각의 LSI의 인터럽트 제어 유닛이 동작 모드 정보를 기초로 전술한 결정을 수행하는 것으로 충분하다.
[제2 실시예]
도 8은 제2 실시예의 메인 제어기 유닛(120)의 동작을 설명하기 위한 도면이다. 도 8에 도시된 바와 같이, 제2 실시예에 따른 메인 제어기 유닛(200)의 시스템 제어 유닛(210)은 직렬 통신 유닛(800)을 갖는다. 확장 제어기 유닛(201)의 시스템 제어 유닛(211)은 직렬 통신 유닛(801)을 갖는다. 또한, 직렬 통신 유닛(800 및 801)은 도 8에 도시된 바와 같이 직렬 버스(803)를 통해 서로 연결된다. 도 8은, 인터럽트 송신(인터럽트 처리를 위한 요청을 만들기 위한 데이터 송신)이, 직렬 버스(803)에 의해 연결된 직렬 통신 유닛(800 및 801)을 통해서, 확장 제어기 유닛(201)으로부터 메인 제어기 유닛(200)까지 수행되는 방식을 보여준다. 이하에서, 도 7에 도시된 시스템과의 차이점만을 설명한다.
직렬 통신 유닛(800)은 직렬 버스(803)를 통해 데이터의 송신 및 수신을 수행한다. UART(범용 비동기식 송수신기) 통신 또는 기타가 직렬 통신 프로토콜로서 이용되는 것을 가정한다.
도 8에서 회색으로 디스플레이된 구성요소는, 도 7에서와 같이, 동작될 필요가 없는 구성요소이다. 결과적으로, 도 7에서 도시된 시스템에서와 같이, 확장 제어기 유닛(201)의 인터럽트 제어 유닛(381)의 인터럽트는 CPU(311)가 아니라 CPU(310)에 통지될 필요가 있다. 결과적으로, 본 실시예에서, 도 8에 도시된 바와 같이, 인터럽트 제어 유닛(381)으로부터 출력된 인터럽트 신호가 직렬 통신 유닛(801)에 입력되는 구성이 이용된다.
<제어기 유닛>
인터럽트를 검출하는 경우에, 직렬 통신 유닛(801)은 직렬 버스(803)를 통한 직렬 통신을 시작한다. 도 9는 메인 제어기 유닛(200)과 확장 제어기 유닛(201) 사이에서 수행되는 직렬 통신을 설명하기 위한 도면이다. 도 9에서, 본 실시예의 직렬 통신(UART 통신)의 통신 포맷이 도시되어 있다. 본 실시예에서 직렬 통신의 설정된 보율(baud rate)이 9600 bps이고 데이터 비트의 수가 8인 것으로 가정한다. 또한, 패리티가 짝수로 설정되고 정지 비트의 수가 1인 것으로 가정한다. 직렬 버스(803) 내의 하이(High) 신호(신호 레벨이 하이인 신호)는 일반적으로 공회전 상태를 나타낸다. 확장 제어기 유닛(201)의 직렬 통신 유닛(801)이 인터럽트 송신을 수행하는 경우에, 직렬 통신 유닛(800)은 먼저 시작 비트를 나타내는 로우(Low) 레벨에서 신호를 출력한다. 이때, 출력 신호가 특정된 시간(여기에서, 1 비트에 상응하는 시간) 동안 로우 레벨에서 유지되도록, 직렬 통신 유닛(801)이 제어를 수행한다. 다음에, 직렬 통신 유닛(801)은 8-비트 데이터를 나타내는 신호 레벨을 제어한다. 여기에서, 데이터 "10010110"가 송신되는 것으로 가정한다. 다음에, 신호가 짝수 패리티(even parity)를 나타내는 신호가 되도록, 직렬 통신 유닛(801)이 패리티 비트를 제어한다. 여기에서, 8 비트 데이터 "10010110"에서의 1의 개수는 4개이고, 그에 따라, 패리티 비트를 나타내는 신호는 하이 레벨이 되도록 제어된다. 마지막으로, 정지 비트를 나타내는 신호가 하이 레벨이 되도록, 직렬 통신 유닛(801)이 제어를 수행한다. 통신이 연속적으로 수행되지 않는 경우에, 하이 레벨이 유지되도록 직렬 통신 유닛(801) 신호를 제어하고, 통신이 연속적으로 수행되는 경우에, 직렬 통신 유닛(801)은 시작 비트를 나타내는 로우 레벨이 되도록 신호를 제어한다.
여기에서, 수신측인 메인 제어기 유닛(200)의 직렬 통신 유닛(800)이 데이터 "10010110"를 수신하는 경우에, 인터럽트 제어 유닛(380)에 통지를 제공하도록 직렬 통신 유닛(800)이 설계되는 것으로 가정한다. 직렬 통신 유닛(800)으로부터의 통지를 수신할 때, 인터럽트 제어 유닛(380)은 확장 제어기 유닛(201)으로부터 인터럽트를 검출하고 인터럽트를 CPU(310)에 통지한다. 여기에서, 인터럽트를 수신할 때, 직렬 통신 유닛(800)은 수신이 정확하게 수행되었다는 것을 나타내는 데이터, 예를 들어, 수신된 데이터와 동일한 "10010110"를 송신한다. 직렬 통신 유닛(800)으로부터 데이터를 수신할 때, 직렬 통신 유닛(801)은, 인터럽트 송신을 정확하게 수행된 것으로 간주함으로써, 인터럽트 처리를 종료한다. 여기에서, 수신된 짝수 패리티가 정확하지 않은 경우에, 직렬 통신 유닛(800)은 패리티 에러를 나타내는 신호를 직렬 통신 유닛(801)에 송신한다. 패리티 에러를 나타내는 신호를 수신하는 경우에, 직렬 통신 유닛(801)이 다시 인터럽트 송신을 수행하는 것으로 가정한다.
당연히 직렬 통신의 프로토콜이 UART로 제한되지 않으며, 프로토콜은, 예를 들어, I2C(Inter Integrated Circuit) 및 SPI(Serial Peripheral Interface)와 같은 방법일 수 있다.
또한, 당연히, 인터럽트 송신에서 송신하기 위한 데이터 내에 저장된 값은 인터럽트 요인에 따라 변경될 수 있다.
전술한 바와 같이, 메인 제어기 유닛(200) 및 확장 제어기 유닛(201)를 포함하는 시스템에서, 직렬 버스(803)를 통해 확장 제어기 유닛(201)로부터의 인터럽트를 메인 제어기 유닛(200)의 CPU(310)에 통지할 수 있다.
또한, 본 실시예에서, 인터럽트 송신은 UART 통신 및 기타를 이용하여 수행되고, 그에 따라 기존의 직렬 통신 인터페이스(SCI: Serial Communication Interface)를 직렬 통신 유닛(800 및 801)으로서 이용할 수 있다. 예를 들어, 시스템 제어 유닛이 마이크로컴퓨터에 의해 구현되는 경우에, 마이크로컴퓨터가 SCI를 포함하는 조건에서, SCI를 직렬 통신 유닛(800 및 801)로서 이용할 수 있다.
(다른 실시예)
본 발명의 실시예는, 전술한 실시예의 하나 이상의 기능을 수행하기 위해서 ('비일시적 컴퓨터 판독 가능 저장 매체'로서 더 상세히 언급될 수 있는) 저장 매체에 기록된 컴퓨터 실행 가능 명령어(예를 들어, 하나 이상의 프로그램)을 판독하고 실행하고 및/또는 전술한 실시예의 하나 이상의 기능을 수행하기 위한 하나 이상의 회로(예를 들어, 주문형 반도체 회로(ASIC))를 포함하는 시스템 또는 시스템 또는 기구의 컴퓨터에 의해서, 예를 들어, 그리고 전술한 실시예의 하나 이상의 기능을 수행하기 위해서 저장 매체로부터의 컴퓨터 실행 가능 명령어를 판독하고 실행하는 것 및/또는 전술한 실시예의 하나 이상의 기능을 수행하기 위해서 하나 이상의 회로를 제어하는 것에 의해 시스템 또는 장치의 컴퓨터에 의해 수행되는 방법에 의해 또한 실현될 수도 있다. 컴퓨터는, 하나 이상의 프로세서(예를 들어, 중앙처리장치(CPU)), 마이크로 처리 유닛(MPU)을 포함할 수 있고, 컴퓨터 실행 가능 명령어를 판독하기 실행하기 위한 별개의 컴퓨터들 또는 별개의 프로세서들의 네트워크를 포함할 수 있다. 컴퓨터 실행 가능 명령어는, 예를 들어, 네트워크 또는 저장 매체로부터, 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들면, 하드디스크, 랜덤-액세스 메모리(RAM), 리드 온리 메모리(ROM), 분산 컴퓨팅 시스템의 저장부, 광 디스크(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD), 또는 블루-레이 디스크(BD)™), 플래시 메모리 소자, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어,ASIC)에 의해서도 실행가능하다.
본 발명에 따라, 복수의 집적 회로에 의해 구성되는 시스템에서, CPU의 기능이 중단된 집적 회로 내에서 인터럽트가 발생된 경우에도, 인터럽트 제어를 적절히 수행할 수 있다.
예시적인 실시예를 참조하여 본 발명을 설명하였지만, 본 발명이 개시된 예시적인 실시예로 제한되지 않는다는 것을 이해할 수 있을 것이다. 이하의 청구항의 범위는 가장 광의의 해석에 따르며, 그에 따라 모든 그러한 수정예 및 균등한 구조 및 기능을 포함한다.

Claims (20)

  1. 정보 처리 장치로서,
    복수의 화상 처리 유닛, 상기 복수의 화상 처리 유닛에 접속하도록 구성된 처리 유닛, 및 상기 처리 유닛에 인터럽트를 출력하도록 구성된 인터럽트 유닛을 가지는 제1 반도체 집적 회로; 및
    통신이 가능하도록 상기 제1 반도체 집적 회로와 연결되고, 복수의 화상 처리 유닛, 상기 복수의 화상 처리 유닛에 접속하도록 구성된 처리 유닛, 및 상기 처리 유닛에 인터럽트를 출력하도록 구성된 인터럽트 유닛을 가지는 제2 반도체 집적 회로를 포함하고,
    상기 제2 반도체 집적 회로의 인터럽트 유닛은 인터럽트를 상기 제2 반도체 집적 회로의 복수의 화상 처리 유닛 중 하나 이상에 출력하고,
    상기 제2 반도체 집적 회로의 인터럽트 유닛으로부터의 인터럽트가 입력되는 상기 제2 반도체 집적 회로의 화상 처리 유닛은, 상기 제2 반도체 집적 회로의 인터럽트 유닛으로부터 입력되는 인터럽트에 따라 인터럽트를 상기 제1 반도체 집적 회로에 출력하고,
    상기 제2 반도체 집적 회로로부터 인터럽트가 입력되는 상기 제1 반도체 집적 회로의 화상 처리 유닛은, 상기 제2 반도체 집적 회로로부터 입력되는 인터럽트에 따라 인터럽트를 상기 제1 반도체 집적 회로의 인터럽트 유닛에 출력하고,
    상기 제1 반도체 집적 회로의 인터럽트 유닛은, 상기 제1 반도체 집적 회로의 화상 처리 유닛으로부터 입력되는 인터럽트에 따라 인터럽트를 상기 제1 반도체 집적 회로의 처리 유닛에 출력하는, 정보 처리 장치.
  2. 제1항에 있어서,
    상기 인터럽트가 입력되는 상기 제2 반도체 집적 회로의 화상 처리 유닛은, 인터럽트 패킷을 생성하고 상기 인터럽트 패킷을 상기 제1 반도체 집적 회로에 송신하는, 정보 처리 장치.
  3. 제2항에 있어서,
    상기 인터럽트가 입력되는 상기 제2 반도체 집적 회로의 화상 처리 유닛은, 상기 인터럽트가 입력되는 포트를 가지고 상기 포트에 입력되는 인터럽트에 따라 인터럽트 패킷을 생성하는, 정보 처리 장치.
  4. 제1항에 있어서,
    상기 제1 반도체 집적 회로의 복수의 화상 처리 유닛은 적어도 제1 유형의 화상 처리 유닛 및 제2 유형의 화상 처리 유닛을 가지고,
    상기 제2 반도체 집적 회로의 복수의 화상 처리 유닛은 적어도 제1 유형의 화상 처리 유닛 및 제2 유형의 화상 처리 유닛을 가지며,
    상기 제1 반도체 집적 회로의 제1 유형의 화상 처리 유닛, 상기 제2 반도체 집적 회로의 제2 유형의 화상 처리 유닛, 및 상기 제1 반도체 집적 회로의 처리 유닛은 데이터 통신이 가능하도록 연결되는, 정보 처리 장치.
  5. 제4항에 있어서,
    상기 제1 반도체 집적 회로의 복수의 화상 처리 유닛은 제3 유형의 화상 처리 유닛을 더 가지고,
    상기 제1 반도체 집적 회로의 제1 유형의 화상 처리 유닛, 상기 제2 반도체 집적 회로의 제2 유형의 화상 처리 유닛, 상기 제1 반도체 집적 회로의 제3 유형의 화상 처리 유닛, 및 상기 제1 반도체 집적 회로의 처리 유닛은 데이터 통신이 가능하도록 연결되는, 정보 처리 장치.
  6. 제5항에 있어서,
    상기 제1 반도체 집적 회로의 제1 유형의 화상 처리 유닛, 상기 제2 반도체 집적 회로의 제2 유형의 화상 처리 유닛, 상기 제1 반도체 집적 회로의 제3 유형의 화상 처리 유닛, 및 상기 제1 반도체 집적 회로의 처리 유닛은 데이터를 이 순서로 송신하도록 연결되는, 정보 처리 장치.
  7. 제5항에 있어서,
    프린터 유닛; 및
    스캐너 유닛을 더 포함하고,
    상기 제1 유형의 화상 처리 유닛은 처리된 데이터를 상기 프린터 유닛에 송신하고,
    상기 제3 유형의 화상 처리 유닛은 상기 스캐너 유닛으로부터 수신된 데이터에 대한 처리를 수행하는, 정보 처리 장치.
  8. 제1항에 있어서,
    상기 제2 반도체 집적 회로는, 상기 제2 반도체 집적 회로의 화상 처리 유닛으로부터 출력된 인터럽트를 상기 제1 반도체 집적 회로에 출력하는 외부 인터페이스를 더 가지는, 정보 처리 장치.
  9. 제8항에 있어서,
    상기 제1 반도체 집적 회로는, 상기 제2 반도체 집적 회로의 외부 인터페이스로부터 출력된 인터럽트를 수신하고 상기 제2 반도체 집적 회로의 외부 인터페이스로부터의 인터럽트의 수신에 따라 상기 제1 반도체 집적 회로의 상기 복수의 화상 처리 유닛 중 하나 이상에 인터럽트를 출력하는, 외부 인터페이스를 더 가지는, 정보 처리 장치.
  10. 정보 처리 장치로서,
    복수의 화상 처리 유닛, 상기 복수의 화상 처리 유닛에 접속하도록 구성된 처리 유닛, 및 상기 처리 유닛에 인터럽트를 출력하도록 구성된 인터럽트 유닛을 가지는 제1 반도체 집적 회로; 및
    복수의 화상 처리 유닛, 상기 복수의 화상 처리 유닛에 접속하도록 구성된 처리 유닛, 및 상기 처리 유닛에 인터럽트를 출력하도록 구성된 인터럽트 유닛을 가지는 제2 반도체 집적 회로
    를 포함하고,
    상기 제2 반도체 집적 회로는, 상기 제2 반도체 집적 회로의 인터럽트 유닛으로부터 출력된 인터럽트를 상기 제1 반도체 집적 회로에 송신하도록 구성된 송신 유닛을 가지고,
    상기 제1 반도체 집적 회로는 상기 송신 유닛으로부터 송신된 인터럽트를 수신하도록 구성된 수신 유닛을 가지며,
    상기 제1 반도체 집적 회로의 수신 유닛에 의해 수신된 인터럽트는 상기 제1 반도체 집적 회로의 처리 유닛에 입력되고,
    상기 제1 반도체 집적 회로의 복수의 화상 처리 유닛은 적어도 제1 유형의 화상 처리 유닛 및 제2 유형의 화상 처리 유닛을 가지고,
    상기 제2 반도체 집적 회로의 복수의 화상 처리 유닛은 적어도 제1 유형의 화상 처리 유닛 및 제2 유형의 화상 처리 유닛을 가지며,
    상기 제1 반도체 집적 회로의 제1 유형의 화상 처리 유닛, 상기 제2 반도체 집적 회로의 제2 유형의 화상 처리 유닛, 및 상기 제1 반도체 집적 회로의 처리 유닛은 데이터 통신이 가능하도록 연결되는, 정보 처리 장치.
  11. 제10항에 있어서,
    상기 송신 유닛과 상기 수신 유닛은 직렬 버스에 의해 연결되는, 정보 처리 장치.
  12. 제10항에 있어서,
    상기 인터럽트가 입력되는 상기 제2 반도체 집적 회로의 화상 처리 유닛은, 인터럽트 패킷을 생성하고 상기 인터럽트 패킷을 상기 제1 반도체 집적 회로에 송신하는, 정보 처리 장치.
  13. 삭제
  14. 복수의 화상 처리 유닛, 상기 복수의 화상 처리 유닛에 접속하도록 구성된 처리 유닛, 및 상기 처리 유닛에 인터럽트를 출력하도록 구성된 인터럽트 유닛을 가지는 반도체 집적 회로로서,
    외부 디바이스로부터 출력된 인터럽트를 수신하는 외부 인터페이스; 및
    상기 외부 인터페이스에 의해 수신된 인터럽트를 상기 복수의 화상 처리 유닛 중 하나에 출력하도록 구성된 스위치 유닛을 포함하고,
    상기 인터럽트가 입력되는, 상기 복수의 화상 처리 유닛 중 하나는, 스위치 유닛으로부터 입력되는 인터럽트에 따라 인터럽트를 상기 인터럽트 유닛에 출력하는, 반도체 집적 회로.
  15. 제14항에 있어서,
    상기 인터럽트 유닛은, 상기 복수의 화상 처리 유닛 중 하나로부터 입력되는 인터럽트에 따라 인터럽트를 상기 처리 유닛에 출력하는, 반도체 집적 회로.
  16. 제14항에 있어서,
    상기 화상 처리 유닛, 상기 인터럽트 유닛, 및 상기 외부 인터페이스를 연결하는 버스를 가지고,
    상기 스위치 유닛은, 상기 외부 인터페이스에 의해 수신된 인터럽트가 상기 복수의 화상 처리 유닛 중 하나에 전달되도록, 상기 버스의 경로를 제어하는, 반도체 집적 회로.
  17. 제16항에 있어서,
    상기 인터럽트 유닛은 상기 복수의 화상 처리 유닛 중 하나 이상에 인터럽트를 출력하고,
    상기 인터럽트가 상기 인터럽트 유닛으로부터 입력되는 상기 화상 처리 유닛은, 상기 인터럽트 유닛으로부터 입력되는 인터럽트에 따라 인터럽트를 외부 인터페이스를 통해 외부 디바이스에 출력하는, 반도체 집적 회로.
  18. 제17항에 있어서,
    상기 인터럽트가 상기 인터럽트 유닛으로부터 입력되는 상기 화상 처리 유닛은, 인터럽트 패킷을 생성하고 상기 인터럽트 패킷을 상기 외부 인터페이스를 통해 외부 디바이스에 송신하는, 반도체 집적 회로.
  19. 제18항에 있어서,
    상기 인터럽트가 상기 인터럽트 유닛으로부터 입력되는 상기 화상 처리 유닛은, 상기 인터럽트 유닛으로부터의 인터럽트가 입력되는 포트를 가지고 상기 포트에 입력되는 인터럽트에 따라 상기 인터럽트 패킷을 생성하는, 반도체 집적 회로.
  20. 제19항에 있어서,
    상기 스위치 유닛은, 상기 화상 처리 유닛으로부터 출력된 인터럽트 패킷이 상기 외부 인터페이스에 전달되도록, 상기 버스의 경로를 제어하는, 반도체 집적 회로.
KR1020170164903A 2016-12-12 2017-12-04 정보 처리 장치 및 반도체 집적 회로 KR102230913B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2016-240441 2016-12-12
JP2016240441A JP6833491B2 (ja) 2016-12-12 2016-12-12 情報処理装置

Publications (2)

Publication Number Publication Date
KR20180067417A KR20180067417A (ko) 2018-06-20
KR102230913B1 true KR102230913B1 (ko) 2021-03-23

Family

ID=62489931

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170164903A KR102230913B1 (ko) 2016-12-12 2017-12-04 정보 처리 장치 및 반도체 집적 회로

Country Status (3)

Country Link
US (1) US10306099B2 (ko)
JP (1) JP6833491B2 (ko)
KR (1) KR102230913B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070086037A1 (en) 2005-03-18 2007-04-19 Canon Kabushiki Kaisha Apparatus comprising plurality of operation units and image forming apparatus
US20090240966A1 (en) * 2008-03-18 2009-09-24 Katsuhiko Katoh Image processing device, image processing method, and recording medium
US20110141499A1 (en) 2009-07-02 2011-06-16 Canon Kabushiki Kaisha Image processing device and image processing apparatus
US20130111246A1 (en) 2009-06-22 2013-05-02 Oki Data Corporation Electric device
US20140063524A1 (en) 2012-08-30 2014-03-06 Kyocera Document Solutions Inc. Image forming apparatus

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11198485A (ja) * 1998-01-12 1999-07-27 Canon Inc 印刷制御装置および印刷制御装置の低電力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3907471B2 (ja) * 2001-01-31 2007-04-18 キヤノン株式会社 画像入出力制御装置
JP3958141B2 (ja) 2002-07-31 2007-08-15 キヤノン株式会社 画像処理装置
JP3740483B2 (ja) * 2002-10-18 2006-02-01 キヤノン株式会社 電子機器およびその異常を診断する方法
JP4618112B2 (ja) * 2005-11-18 2011-01-26 セイコーエプソン株式会社 マルチプロセッサシステム
JP5195325B2 (ja) * 2008-11-10 2013-05-08 セイコーエプソン株式会社 ファクシミリ装置
JP2015014866A (ja) * 2013-07-04 2015-01-22 富士ゼロックス株式会社 電子機器、画像形成装置およびプログラム
JP6381275B2 (ja) * 2014-05-07 2018-08-29 キヤノン株式会社 画像形成装置、その制御方法とプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070086037A1 (en) 2005-03-18 2007-04-19 Canon Kabushiki Kaisha Apparatus comprising plurality of operation units and image forming apparatus
US20090240966A1 (en) * 2008-03-18 2009-09-24 Katsuhiko Katoh Image processing device, image processing method, and recording medium
US20130111246A1 (en) 2009-06-22 2013-05-02 Oki Data Corporation Electric device
US20110141499A1 (en) 2009-07-02 2011-06-16 Canon Kabushiki Kaisha Image processing device and image processing apparatus
US20140063524A1 (en) 2012-08-30 2014-03-06 Kyocera Document Solutions Inc. Image forming apparatus

Also Published As

Publication number Publication date
JP2018097522A (ja) 2018-06-21
US10306099B2 (en) 2019-05-28
JP6833491B2 (ja) 2021-02-24
KR20180067417A (ko) 2018-06-20
US20180167531A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
JP5438358B2 (ja) データ処理装置及びその制御方法
US7334146B2 (en) Method for controlling an image processing apparatus based on a power supply status
CN108363669B (zh) 存储器访问系统、其控制方法、存储介质及图像形成装置
CN107819969B (zh) 包括环形总线系统的信息处理装置和半导体集成电路
EP2863618B1 (en) Image forming apparatus that guarantees a multi-operation
JP2012034254A (ja) データ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
KR102230913B1 (ko) 정보 처리 장치 및 반도체 집적 회로
JP2013066072A (ja) 画像読取装置、画像形成装置、画像読取方法、画像読取プログラム
US7106463B1 (en) Controlling packet length for transfer between devices
US20180213103A1 (en) Image processing apparatus, method of controlling the same, and storage medium
JP5233608B2 (ja) 画像形成装置、画像データ転送方法、及びプログラム
JP2004038545A (ja) ハイバネーション制御方法、ハイバネーション制御装置、画像処理装置
JP2010016541A (ja) 画像形成装置
JP5168044B2 (ja) 画像読取装置および画像形成装置
JP2006255914A (ja) 画像形成装置
JP5004322B2 (ja) データ転送制御方法,装置および画像形成装置
US20150332133A1 (en) Image processing apparatus, information processing method, and program for high speed activation and terminal reduction
JP2001338286A (ja) 画像処理方法と装置
JP2021111883A (ja) モノクロ画像形成装置及びモノクロ画像形成方法
JP4046008B2 (ja) データ処理装置
JP5001223B2 (ja) 画像読取装置
JP2013123193A (ja) 読取画像処理装置、画像読取装置及び読取画像処理方法
JP2018086751A (ja) 情報処理装置、情報処理装置の制御法及びプログラム
JP2011070129A (ja) 画像形成装置及び画像形成方法
JP2002027209A (ja) メモリ制御装置及びその制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant