【事件の表示】
　特許第３１０３８６７号「情報処理装置およびこれを用いる付加制御装置」の請求項１に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３１０３８６７号の請求項１に係る特許を維持する。
【理　由】
１．手続の経緯
　本件特許第３１０３８６７号（優先権主張　平成３年１０月２３日）に係る出願は、平成４年３月１９日の出願であって、平成１２年１０月３０日にその特許権の設定登録がなされ、その後、相原光政より特許異議の申立がなされ、取消の理由が通知され、その指定期間内である平成１３年８月２９日に訂正請求がされたものである。
　
２．訂正の適否についての判断
（１）訂正の内容
ａ．訂正事項１
　特許請求の範囲の請求項１の記載について、
　「論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段、および前記第１のプロセッサの少なくともアドレス信号線が接続されたコネクタを備えた電子装置と、前記電子装置のコネクタに接続される付加制御装置とからなる情報処理装置であって、前記電子装置は、前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータを前記コネクタを介して出力するデータ出力手段と、前記データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段とを備え、前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備えると共に、前記電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサと、前記第２のプロセッサが実行する処理手順を記憶した第２の記憶手段とを備え、前記電子装置は、前記第２のプロセッサに処理させるデータをデータ出力手段により出力し、前記電子装置のデータ出力通知手段は、データ転送の通知を前記第２のプロセッサが読取可能なレジスタへのデータの書き込みにより行なう手段であり、付加制御装置のデータ読取手段は、前記レジスタに所定のデータが書き込まれたか否かを判断する判断手段と、前記レジスタに所定のデータが書き込まれたとき、前記電子装置のデータ出力手段が出力するデータを読み取る手段とを備え、前記データ読取手段は、前記電子装置のデータ出力手段が出力したデータを前記第２のプロセッサが読み取ったとき、前記データ出力通知手段が書き込んだ前記レジス夕のデータを消去する通知解除手段を備えた情報処理装置。」とあるのを、「論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段、および前記第１のプロセッサの少なくともアドレス信号線および電子装置側からみて読み込み専用のデータ信号線が接続されたコネクタを備えた電子装置と、前記電子装置のコネクタに接続される付加制御装置とからなる情報処理装置であって、前記電子装置は、前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータをアドレス信号に反映させたデータとして前記アドレス信号線から前記コネクタを介して出力するデータ出力手段と、前記データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段とを備え、前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備えると共に、前記電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサと、前記第２のプロセッサが実行する処理手順を記憶した第２の記憶手段とを備え、前記電子装置は、前記第２のプロセッサに処理させるデータをデータ出力手段により出力し、前記電子装置のデータ出力通知手段は、データ転送の通知を前記第２のプロセッサが読取可能なレジスタへのデータの書き込みにより行なう手段であり、付加制御装置のデータ読取手段は、前記レジスタに所定のデータが書き込まれたか否かを判断する判断手段と、前記レジスタに所定のデータが書き込まれたとき、前記電子装置のデータ出力手段が出力するデータを読み取る手段とを備え、前記データ読取手段は、前記電子装置のデータ出力手段が出力したデータを前記第２のプロセッサが読み取ったとき、前記データ出力通知手段が書き込んだ前記レジス夕のデータを消去する通知解除手段を備えた情報処理装置。」と訂正する。
ｂ．訂正事項２
　明細書第６頁第１４行の、
　「電子装置側からみて読出専用信号線」とあるのを、「電子装置側からみて読み込み専用信号線」と訂正する。
ｃ．訂正事項３
　明細書第２０頁第５行〜第６行の、
　「電子制御装置１０側からみて読み出し専用となっている」とあるのを、「電子制御装置１０側からみて読み込み専用となっている 」と訂正する。
　
（２）訂正の目的の適否、新規事項の有無、及び特許請求の範囲の拡張・変更の存否
　上記訂正事項１に関連する記載として、願書に添付した明細書には、「データ出力手段を、転送するデータをアドレス信号に反映させて出力する手段として構成し、付加制御装置のデータ読取手段を、出力されたアドレス信号からアドレス信号に反映されたデータを読み取る手段として構成することができる。かかる構成では、本来データ転送ができない付加制御装置への信号転送が可能となる。」（第６頁第１５行〜第１９行）、「転送しようとするデータを、シリアルデータに変換してアドレス信号Ａ１，Ａ２に反映させており、アドレス信号Ａ１，Ａ２の信号線を通信回線のように利用している。」（第６０頁第１７行〜第１９行）、「本実施例では、…電子制御装置１０側からみて読み込み専用のデータバスしか備えていないコネクタ１１を用いながら、カートリッジ３側にデータを移すことができる。」（第２３頁第１５行〜第１８行）、と記載されている。
　そうすると、上記訂正事項１は、願書に添付した明細書に記載された事項の範囲内において、「少なくともアドレス信号線が接続されたコネク夕」とあるのを、「少なくともアドレス信号線および電子装置側からみて読み込み専用のデータ信号線が接続されたコネク夕」に技術的に限定し、「転送するデータを前記コネク夕を介して」とあるのを、「転送するデータをアドレス信号に反映させたデータとして前記アドレス信号線から前記コネク夕を介して」に技術的に限定したものであるから、特許請求の範囲の減縮を目的とした明細書の訂正に該当する。
　上記訂正事項２，３についても、上記訂正事項１に関連する記載からみて、誤記の訂正を目的とした明細書の訂正に該当する。
　よって、いずれも新規事項の追加に該当せず、実質的に特許請求の範囲を拡張または変更するものではない。
　
（３）むすび
　以上のとおりであるから、上記訂正は、特許法等の一部を改正する法律（平成６年法律第１１６号）附則第６条第１項の規定によりなお従前の例によるとされる、特許法第１２０条の４第３項において準用する平成６年法律第１１６号による改正前の特許法第１２６条第１項ただし書、第２項及び第３項の規定に適合するので、当該訂正を認める。
　
３．特許異議申立についての判断
（１）申立の理由の概要
　異議申立人相原光政は、本件発明についての特許に対して、証拠として甲第１号証（特開平２−８１１３８号公報）、甲第２号証（特公昭６４−１１９８４号公報）、甲第３号証（特公昭６１−１３６２９号公報）を提出し、本件請求項１に係る発明の特許は、甲第１号証に記載された発明から極めて容易、あるいは、甲第１号証に記載された発明に甲第２号証乃至甲第３号証に記載された発明を単に組み合わせることにより容易に発明することができたものであるから、特許法第２９条第２項の規定により特許を受けることができないものであるから、請求項１に係る発明の特許は、拒絶の査定をしなければならない特許出願に対してされたものであると主張している。
　
（２）本件訂正後発明
　上記２．で示したように上記訂正が認められるから、特許第３１０３８６７号の請求項１に係る発明は、上記訂正に係る訂正明細書の特許請求の範囲の請求項１に記載された以下のとおりのものである。（以下、「訂正後発明１」という。）
　請求項１「論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段、および前記第１のプロセッサの少なくともアドレス信号線および電子装置側からみて読み込み専用のデータ信号線が接続されたコネクタを備えた電子装置と、前記電子装置のコネクタに接続される付加制御装置とからなる情報処理装置であって、前記電子装置は、前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータをアドレス信号に反映させたデータとして前記アドレス信号線から前記コネクタを介して出力するデータ出力手段と、前記データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段とを備え、前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備えると共に、前記電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサと、前記第２のプロセッサが実行する処理手順を記憶した第２の記憶手段とを備え、前記電子装置は、前記第２のプロセッサに処理させるデータをデータ出力手段により出力し、前記電子装置のデータ出力通知手段は、データ転送の通知を前記第２のプロセッサが読取可能なレジスタへのデータの書き込みにより行なう手段であり、付加制御装置のデータ読取手段は、前記レジスタに所定のデータが書き込まれたか否かを判断する判断手段と、前記レジスタに所定のデータが書き込まれたとき、前記電子装置のデータ出力手段が出力するデータを読み取る手段とを備え、前記データ読取手段は、前記電子装置のデータ出力手段が出力したデータを前記第２のプロセッサが読み取ったとき、前記データ出力通知手段が書き込んだ前記レジス夕のデータを消去する通知解除手段を備えた情報処理装置。」
　
（３）引用刊行物等
（３−１）刊行物の記載事項
　当審が先に通知した取消理由で提示した刊行物１ないし３（異議申立人が提出した甲第１号証ないし甲第３号証）には、以下のような事項等が記載されている。
ａ．刊行物１
　「図において、１はシステムの中央処理装置（ＭＰＵ）であり、２は主記憶装置である。・・・９はオプションカードであり、エミュレート用のＭＰＵ、メモリ、・・・このオプションカード９は、ＭＰＵ１からの起動命令を受けてエミュレート用のＭＰＵがメモリに格納されたプログラムに従って動作するように構成される。・・・ＭＰＵ１はオプションカード９に設定されたプログラムをウィンドウ内で処理させる際に、・・・処理すべきデータの送出および処理されたデータの受け取りを行う。」（第２頁左下欄第１２行〜右下欄第１６行）、
　「第１図は、上記の課題を解決するための手段の原理を示すブロック図である。図において、９は拡張ボードであり、エミュレーションを行う。９１は中央処理装置（ＭＰＵ）であり、プログラムに従ってエミュレーションを実行する。」（第３頁右上欄第２行〜第７行）、
　「図に示されるように、オプションカード９はコネクタ９ｂを介して、ワークステーション等のデータ処理装置側のＭＰＵ１に接続されている。」（第４頁左上欄第４行〜第６行）、
　「インタフェース回路９ａには、ＭＰＵ１とＭＰＵ９１とのデータ等の送受を行うためのドライバ／レシーバ回路９ｃを備えている。・・・ＭＰＵ１はオプションカード９側のプログラムを起動させる場合、・・・処理すべきデータおよびウィンドウ領域を示すアドレスを与える。」（第４頁左上欄第１１行〜第２０行）、
　「ＭＰＵ９１は、ＭＰＵ１からの割り込みを受けて、例えば、ＭＳ−ＤＯＳの下で動作するよう記述されたプログラムに従って、与えられたデータの処理を実行する。」（第４頁右上欄第２行〜第５行）
ｂ．刊行物２
　「サブＣＰＵ２は、メインＣＰＵ１からのコマンド待ちの状態では、コマンドレジスタ５をサブＣＰＵローカルバス８を通して常にリードしている。メインＣＰＵ１は、サブＣＰＵ２に処理を依頼する必要が起こると、メインメモリ３にコマンド名とデータを用意し、コマンドレジスタ５に‘１’をセットする。するとサブＣＰＵ２は、メインバス７を使用してメインメモリ３をリードし、ローカルメモリ４を使用して依頼された仕事を実行する。次に、処理が終了すると、サブＣＰＵ２は、メインメモリ３に結果をライトし、サブＣＰＵ割込みレジスタ６に‘１’をライトしてメインＣＰＵ１に割り込むことによって処理の終了を知らせる。また、サブＣＰＵ２がサブＣＰＵ割込みレジスタ６に‘１’をライトすると同時に、コマンドレジスタ５はリセットされて‘０’になる。」（第５欄第３４行〜第６欄第６行）
ｃ．刊行物３
　「プロセッサ１１がプロセッサ２２に対してデータを与える場合、プロセッサ１１は、共通メモリ４アドレス領域内のプロセッサ２２への割り込み信号５に割り当てられたアドレスａに対してそのデータを書き込む。同時に、プロセッサ２２用の割り込み信号生成回路８が、共通バス３内のアドレス信号を入力してデコードし、アドレスがプロセッサ２２への割り込み信号５に割り当てられたアドレスａであることにより、プロセッサ２２に対する割り込み信号５をアクティブとして割り込みを発生する。プロセッサ２２は割り込みが発生すると、共通メモリ内の自プロセッサへの割り込み信号５に割り当てられたアドレスａのメモリ内容を読み出しデータを受ける。同時に、プロセッサ２２用割り込み信号生成回路８はアドレスａをデコードし、プロセッサ２２に対して発生した割り込み信号をリセットする。」（第３欄第１４行〜第３０行）
（３−２）対比判断
　訂正後発明１と、刊行物１乃至３に記載された発明とを対比すると、各刊行物に記載された発明には、訂正後発明１を特定する事項である、
（あ）電子装置側からみて読み込み専用のデータ信号線が接続されたコネクタを備えた電子装置である構成、
（い）付加制御装置側に転送するデータをアドレス信号に反映させたデータとして前記アドレス信号線から前記コネクタを介して出力する構成、
を備えていない。
　敷衍すると、刊行物１に記載された発明の「ＭＰＵ１」、及び「コネクタ９ｂ」は、訂正後発明１の「第１のプロセッサ」、及び「コネクタ」に一応相当し、刊行物１に記載された発明における、第３図におけるアドレス信号線及びデータ信号線が、訂正後発明１の「アドレス信号線」及び「データ信号線」に一応相当するものの、刊行物１に記載された発明のデータ信号線が、電子装置（刊行物１に記載された発明におけるデータ処理装置）側からみて読み込み専用であることは、何ら記載がなく、またそれを示唆する記載もない。さらに、刊行物１に記載された発明において、付加制御装置（刊行物１に記載された発明におけるオプションカード９）側に転送するデータをアドレス信号に反映させたデータとしてアドレス信号線からコネクタを介して出力することについても、何ら記載がなく、またそれを示唆する記載もない。
　また、刊行物２，３に記載された発明には、訂正後発明１の「コネクタ」に相当する構成がなく、刊行物２に記載された発明における「メインＣＰＵ１」、及び「サブＣＰＵ２」、刊行物３に記載された発明における「プロセッサ１１」、及び「プロセッサ２２」が、訂正後発明１の「第１のプロセッサ」、及び「第２のプロセッサ」に一応相当するものの、その両者間を接続する構成において、読み込み専用のデータ信号線で接続することについて、何ら記載がなく、またそれを示唆する記載もない。さらに、転送するデータをアドレス信号に反映させたデータとしてアドレス信号線から出力することについても、何ら記載がなく、またそれを示唆する記載もない。
　そして、（あ）及び（い）の構成により、訂正後発明１は、「電子制御装置１０側からみて読み込み専用のデータバスしか備えていないコネクタ１１を用いながら、カートリッジ３側にデータを移すことができる。従って、プロセッサを備えたカートリッジを装着することを予定していない既存のプリンタに使用することができ、設備の有効利用を図ることができる。」（訂正明細書第２３頁第１６行〜第２０行）という作用効果を奏するものであるから、本件訂正後発明１は、上記刊行物１乃至３に記載された発明に基づいて当業者が容易に発明をすることができたものともいえない。
　
（４）むすび
　以上のとおりであるから、特許異議の申立の理由、及び証拠によっては本件請求項１に係る発明についての特許を取り消すことはできない。
　また、他に本件請求項１に係る発明についての特許を取り消すべき理由を発見しない。
　したがって、本件請求項１に係る発明についての特許は拒絶の査定をしなければならない特許出願に対してされたものと認めない。
　よって、特許法等の一部を改正する法律（平成６年法律第１１６号）附則第１４条の規定に基づく、特許法等の一部を改定する法律の施行に伴う経過措置を定める政令（平成７年政令第２０５号）第４条第２項の規定により、結論のとおり決定する。
【異議決定日】
平成１３年１０月１日（２００１．１０．１）
【訂正の要旨】
訂正の要旨
ａ．訂正事項１
　特許請求の範囲の請求項１の記載について、
　「論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段、および前記第１のプロセッサの少なくともアドレス信号線が接続されたコネクタを備えた電子装置と、前記電子装置のコネクタに接続される付加制御装置とからなる情報処理装置であって、前記電子装置は、前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータを前記コネクタを介して出力するデータ出力手段と、前記データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段とを備え、前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備えると共に、前記電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサと、前記第２のプロセッサが実行する処理手順を記憶した第２の記憶手段とを備え、前記電子装置は、前記第２のプロセッサに処理させるデータをデータ出力手段により出力し、前記電子装置のデータ出力通知手段は、データ転送の通知を前記第２のプロセッサが読取可能なレジスタヘのデータの書き込みにより行なう手段であり、付加制御装置のデータ読取手段は、前記レジスタに所定のデータが書き込まれたか否かを判断する判断手段と、前記レジスタに所定のデータが書き込まれたとき、前記電子装置のデータ出力手段が出力するデータを読み取る手段とを備え、前記データ読取手段は、前記電子装置のデータ出力手段が出力したデータを前記第２のプロセッサが読み取ったとき、前記データ出力通知手段が書き込んだ前記レジスタのデータを消去する通知解除手段を備えた情報処理装置。」とあるのを、「論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段、および前記第１のプロセッサの少なくともアドレス信号線および電子装置側からみて読み込み専用のデータ信号線が接続されたコネクタを備えた電子装置と、前記電子装置のコネクタに接続される付加制御装置とからなる情報処理装置であって、前記電子装置は、前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータをアドレス信号に反映させたデータとして前記アドレス信号線から前記コネクタを介して出力するデータ出力手段と、前記データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段とを備え、前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備えると共に、前記電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサと、前記第２のプロセッサが実行する処理手順を記憶した第２の記憶手段とを備え、前記電子装置は、前記第２のプロセッサに処理させるデータをデータ出力手段により出力し、前記電子装置のデータ出力通知手段は、データ転送の通知を前記第２のプロセッサが読取可能なレジスタヘのデータの書き込みにより行なう手段であり、付加制御装置のデータ読取手段は、前記レジスタに所定のデータが書き込まれたか否かを判断する判断手段と、前記レジスタに所定のデータが書き込まれたとき、前記電子装置のデータ出力手段が出力するデータを読み取る手段とを備え、前記データ読取手段は、前記電子装置のデータ出力手段が出力したデータを前記第２のプロセッサが読み取ったとき、前記データ出力通知手段が書き込んだ前記レジスタのデータを消去する通知解除手段を備えた情報処理装置。」と訂正する。
ｂ．訂正事項２
　明細書第６頁第１４行の、
　「電子装置側からみて読出専用信号線」とあるのを、「電子装置側からみて読み込み専用信号線」と訂正する。
ｃ．訂正事項３
　明細書第２０頁第５〜６行の、
　「電子制御装置１０側からみて読み出し専用となっている」とあるのを、「電子制御装置１０側からみて読み込み専用となっている」と訂正する。
（５４）【発明の名称】
情報処理装置およびこれを用いる付加制御装置
【発明の詳細な説明】
　【技術分野】
　本発明は、各種電子装置とこれに装着された付加制御装置とからなる情報処理装置、この情報処理装置に用いる付加制御装置およびその情報処理方法に関し、詳しくは電子装置から付加制御装置にデータを転送する場合の転送完了の通知を行なう構成、およびその場合の情報処理方法に関する。
　【背景技術】
　近年、パーソナルコンピュータ，ワードプロセッサ，ワークステーションなどのディジタル演算に基礎を置く電子装置、あるいはマイクロプロセッサを組み込んだプリンタ，ファクシミリ，電子手根，電子楽器，電子調理器，電子カメラなどが、社会の広範な領域で用いられている。また、自動車，ロボット，工作機械，あるいは各種電化製品においても、マイクロプロセッサを利用したものが、広く実用に供されている。
　こうしたディジタルな論理演算に基礎を置く機器は、ハードウェアのみで実現された単純なフィードバック制御等と比べて柔軟な制御やデータの処理が可能であることの他、ソフトウェアの変更により実質的な機能を変更することができるという利点を有する。従って、同一のハードウェアであっても、処理手順を記憶したＲＯＭの中身を変更するだけで、あるいは主記憶にフレキシブルディスク等の外部機器から新たなプログラムをロードするだけで、全く異なった制御を実現することも可能である。更に、機能のバージョンアップについても、ソフトウェアの変更のみで可能であるという利点も有するのである。
　しかしながら、実際に処理を行なうプロセッサの能力は、最終的には、ハードウェア、例えば時間当たりの処理回数，一度に取り扱えるビット数，データの転送を行なうバス幅などにより決まるから、ソフトウェアのバージョンアップによって改善されるのは、たかだか使い勝手の向上など限定されたものに過ぎず、既存の電子装置の能力を大幅に向上させることはできなかった。また、ソフトウェアの変更によるバージョンアップも、ソフトウェアがＲＯＭに焼き付けられていればＲＯＭの交換作業が必要となって、現実には困難な場合が多い。このため、ソフトウェアのバージョンアップは、設計当初からＲＯＭ交換を予定している機種やソフトウェアをフレキシブルディスクなど交換可能な媒体で供給するもの以外では困難であった。
　もとより、パーソナルコンピュータなどにおいて、マイクロプロセッサなどをそっくり入れ替えて、コンピュータ全体の機能を向上しようとするいわゆるアクセラレータなども存在するが、マザーボード上のＣＰＵの交換が必要になるなど、誰にでも簡単に行なえるというものではなかった。パーソナルコンピュータを初めとする電子装置において、ＲＯＭカードやフォントカートリッジなどの装着を前提としたコネクタが設けられている場合がある。かかるコネクタに付加制御装置を装着できれば、電子装置の機能の向上，追加あるいは変更を実現することができるが、こうしたコネクタのデータ転送用のバスの構成を検討すると、内部のプロセッサから見て読出専用の信号線となっていることが多く、この場合、電子装置側のプロセッサからデータを受け取ることができないから、このコネクタにアクセラレータを装着することはできなかった。
　一方、マイクロプロセッサを組み込んだプリンタ，ファクシミリ，電子手帳，電子楽器，電子調理器，電子カメラなどの民生用電子装置、あるいは自動車の電装品，ロボット，工作機械などの産業用電子装置，更には各種電化製品では、こうした機能の向上、変更についは、何等考慮されておらず、拡張用のコネクタを備えるとしても、データを読み出すだけの機能に限定されたコネクタを用意しているのが一般的である。かかる問題を、ページプリンタを例にとって詳細に説明する。
　近年、レーザプリンタ等のページプリンタの普及にはめざましいものがあり、コンピュータからのデータの高速な出力機器の主流になろうとしている。レーザプリンタの場合、２４０から８００ＤＰＩ程度の解像度を持ち、１分当たり数ページの印字能力を持つものが開発されている。こうしたプリンタは、印刷用のエンジンとして感光ドラムを用いたゼログラフィユニットを使用しており、帯電、露光、トナー塗布、転写の各工程を露光ドラムの回転に同期して連続的に行なうことから、１ページ分の画像をメモリに蓄えた後、印刷処理を起動する。
　従って、ページプリンタに備えられた画像展開用のメモリは、少なくとも１ページ分の画像をメモリに蓄える容量が必要となり、画像データの圧縮を行なっていないならば、その容量は解像度と処理可能な用紙の大きさとから決まる。例えば、解像度３００ＤＰＩ、用紙の大きさを横８インチ、縦１０インチの場合を考えてみると、全部で８×１０×３００×３００＝７，２００，０００ドットの画素を取り扱うことになり、少なくとも０．９メガバイトのメモリを用意することになる。
　印字データとして文字のコードと行および桁ピッチなどの情報を受け取りこれを画像として展開する機能を備えたプリンタでは、あるいはページ記述言語で記述されたプログラムを受け取ってこれを解釈して展開するプリンタでは、印字データに基づいてビットイメージを演算・生成する処理が必要となり、単純なビットイメージの転送と較べて全体の処理速度が大きく低下するという問題があった。即ち、プリンタの処理速度が、主に処理を行なうプロセッサの能力およびメモリのアクセスタイム等により決まることになり、ゼロッグラフィユニット自体の印刷能力を大幅に下回ってしまうのである。
　例えば、１分間に１０枚印刷可能なページプリンタを考えてみると、１枚の印刷物用の画像データを準備するのに許された時間はわずか６秒しかなく、この時間に０．９メガバイドのデータを総て展開しようとすれば、１バイト当たりに許容される処理時間は、わずか６．６７マイクロセカンドに過ぎない（６秒／０．９メガバイト）。この処理速度は、現在市場に供給されている高速のＲＩＳＣタイプのプロセッサで実現可能かどうかという程度である。これに対してゼログラフィユニットは、１０枚／分程度の印刷能力を既に備えていることが多い。従って、現状では、印字データを処理する制御部の処理能力が、全体の印字速度を向上する上でのネックとなっている。
　このため、従来のレーザプリンタ等では、画像の展開能力がゼログラフィユニットの能力以下でしかない場合があり、マイクロプロセッサ技術の向上に伴い、画像展開能力の高いプロセッサが入手可能となっても、後から機能を同上させることはできなかった。ページプリンタの中には、予め拡張スロットを用意し、ここにフォントやプログラムを内蔵したカートリッジなどを装着することにより機能を拡張しようとするものがあるが、スロットのコネクタのデータバスの構造はカートリッジ側からの読出専用となっており、カートリッジ側にデータを転送して処理を行なわせることはできなかった。
　本発明の付加制御装置、情報処理装置および情報処理方法は、こうした問題を解決し、電子装置の全体的な能力を向上、変更、追加可能とすることを目的としている。
　【発明の開示】
　本発明は、電子装置から付加制御装置にデータを転送した場合、データの転送の終了を付加制御装置に通知する構成に関するものであり、電子装置に付加制御装置を装備してなる情報処理装置において信頼性のあるデータ転送を実現し、付加制御装置側でデータを処理し得るという作用・効果を生じる。装置全体としてみれば、データに対する種々の処理の少なくとも一部を付加制御装置側で行なわせることもでき、この場合、電子装置が有する機能を向上，追加もしくは変更することができる。
　（１）　情報処理装置としての発明
　情報処理装置としてなされたこの発明は、
　論理演算可能な第１のプロセッサ、該プロセッサが実行する処理を記憶した第１の記憶手段、および該第１のプロセッサからの信号線が直接もしくは間接的に接続されたコネクタを備えた電子装置と、
　該電子装霞のコネクタに接続される付加制御装置と
　からなる情報処理装置であって、
　前記電子装置は、
　　前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータを前記コネクタを介して出力するデータ出力手段と、
　該データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段と
　を備え、
　前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備えたことを要旨とする。
　この情報処理装置は、データ出力手段がデータをコネクタを介して出力すると、これを付加制御装置にデータ出力通知手段により通知する。この通知を受け、付加制御装置は、電子装置から出力されたデータをデータ読取手段により読み取る。
　ここで、付加制御装置は、プロセッサを有しない単なる電子回路であっても良いし、電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサを備え、更にこの第２のプロセッサが実行する処理手順を記憶した第２の記憶手段を備えるものであっても良い。
　第２のプロセッサは、転送されるデータとは無関係な処理を行なっても良いが、電子装置から転送されたデータを処理するものとしても良い。
　付加制御装置は、電子装置のデータ出力通知手段からの通知を第２のプロセッサに対する割込要求信号として受け付ける割込要求受付手段を備えるものとすることができる。割込により通知を行なうものとすれば、効率よく通知を行なうことができる。
　更に、電子装置のデータ出力手段が出力したデータを第２のプロセッサが読み取ったとき、データ出力通知手段からの通知を解除する通知解除手段を備え構成も可能である。この場合には、データの転送を通知した後、転送されたデータが付加制御装置により読み取られたことを電子装置側が知ることができるので、次のデータ転送を効率よく行なうことができる。
　電子装置のデータ出力通知手段には、これ以外にも種々の構成が有り得、例えばデータ転送の通知を該第２のプロセッサが読取可能なレジスタヘのデータの書き込みにより行なう手段として構成することもできる。この場合、付加制御装置のデータ読取手段は、レジスタに所定のデータが書き込まれたか否かを判断する判断手段と、レジスタに所定のデータが書き込まれたとき、電子装置のデータ出力手段が出力するデータを読み取る手段とを備えれば良い。
　電子装置のデータ出力手段が出力したデータを第２のプロセッサが読み取ったとき、データ出力通知手段が書き込んだレジスタのデータを消去する通知解除手段を備え、データ転送が完了したことを電子装置側に通知することも好適である。
　更に、電子装置のデータ出力通知手段は、データ転送の通知を該第２のプロセッサの入力ポートヘの信号を出力することにより行なう手段として構成することもできる。この場合、付加制御装置のデータ読取手段は、入力ポートに所定の信号が入力されたか否かを判断する判断手段と、入力ポートに所定の信号が入力されたとき、電子装置のデータ出力手段が出力するデータを読み取る手段とを備えれば良い。
　付加制御装置のデータ読取手段は、電子装置のデータ出力手段が出力したデータを第２のプロセッサが読み取ったとき、電子装置の第１のプロセッサにデータの転送完了を通知するデータ転送完了通知手段を備えることも、データ転送の完了を電子装置側に通知する上で好適である。
　付加制御装置が装著される電子装置のコネクタには、データ信号線が接続されていれば、これを介してデータを転送することができるが、場合によっては、このデータ信号線は電子装置側からみて読み込み専用信号線という場合も有り得る。この場合には、データ出力手段を、転送するデータをアドレス信号に反映させて出力する手段として構成し、付加制御装置のデータ読取手段を、出力されたアドレス信号からアドレス信号に反映されたデータを読み取る手段として構成することができる。かかる構成では、本来データ転送ができない付加制御装置への信号転送が可能となる。
　アドレス信号以外に制御信号線も用いることができる。即ち、電子装置のコネクタには、第１のプロセッサの少なくとも制御信号線が接続されている場合には、データ出力手段を、転送するデータを制御信号に反映させて出力する手段として構成し、付加制御装置のデータ読取手段を、出力された制御信号から制御信号に反映されたデータを読み取る手段として構成すれば良い。
　付加制御装置には、電子装置の第１のプロセッサが実行する処理手順であって、電子装置からデータ転送に行なう処理手順を記憶した第３の記憶手段を備えることができる。この場合には、付加制御装置を装着していない状態で単体で特定の処理を行なう電子装置に、情報処理装置としての新たな処理を付加する容易となる。
　付加制御装置は、少なくとも第２のプロセッサが実装されたプリント基板を備え、このプリント基板を収納する筐体を有し、単体で取扱い可能なカートリッジとして構成することも、取扱いを容易とする上で好適である。
　また、第２のプロセッサは、付加制御装置が電子装置に装着された状態で放熱に有利な位置に設けることが好ましい。こうした場所としては、付加制御装置が、電子装置に装着されたとき、電子装置の筐体から半分以上露出した状態となるのであれば、付加制御装置内のプリント基板の露出側が考えられ、付加制御装置が電子装置に大部分収納されてしまう場合には、電子装置内の空気等の流れにより冷却され易い位置が考えられる。
　付加制御装置は、データ読取手段が読み取ったデータを処理し、処理された後のデータを電子装置に出力する処理データ出力手段を備えることもできる。この場合には、全体としての情報処理能力が向上する。
　なお、情報処理装置を構成する電子装置は、文字，図形，色彩の少なくとも一つの表示（例えばＣＲＴ上での描画やプリンタでの印刷等）を行なう表示手段を備え、他方、付加制御装置は、電子装置から転送されたデータに基づいて前記装置に表示する画像データ生成する画像データ生成手段を備えるものとすることができる。画像処理は、処理するデータが大規模になり、処理に時間を要することが多いが、付加制御装置側で画像データの生成を行なうことで、全体での処理能力を高めることが可能となる。この場合、電子装置が、印字データを受け取ってこれを印刷するプリンタであるものも、好適である。
　以上の構成では、データは電子装置から付加制御装置側に転送されるが、付加制御装置に第２のプロセッサが備えられ、これによりデータの処理がなされて電子装置に処理後のデータが転送される構成を取り、付加制御装置から電子装置へのデータの転送に同様の考え方を適用することも可能である。この場合、付加制御装置に、データの出力に伴って、これを電子装置に通知する処理データ出力通知手段を備え、電子装置に、データ出力の通知を受けて、出力されたデータを読み取る処理データ読取手段を備える。付加制御装置から電子装置へのデータ転送を効率良く行なうことができる。
　（２）　付加制御装置としての発明
　付加制御装置としてなされたこの発明は、論理演算毎能な第１のプロセッサ、該プロセッサが実行する処理を記憶した第１の記憶手段を備えた電子装置に、該電子装置に設けられたコネクタを介して接続される付加制御装置であって、
　前記電子装置が、前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータを前記コネクタを介して出力すると共に、該データの出力を前記付加制御装置に通知したとき、該出力されたデータを読み取るデータ読取手段を備えたことを要旨とする。
　この付加制御装置は、電子装置が第１のプロセッサの処理に基づきデータをコネクタを介して出力すると共に通知してくると、付加制御装置は、電子装置から出力されたデータをデータ読取手段により読み取る。ここで、付加制御装置は、プロセッサを有しない単なる電子回路であっても良いし、電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサを備え、更にこの第２のプロセッサが実行する処理手順を記憶した第２の記憶手段を備えるものであっても良い。
　第２のプロセッサは、転送されるデータとは無関係な処理を行なっても良いが、電子装置から転送されたデータを処理するものとしても良い。このほか、付加制御装置は、「（１）情報処理装置としての発明」の項で説明した種々の構成が可能である。
　同様に、電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサと、第２のプロセッサが実行する処理手順を記憶した第２の記憶手段と、第２の記憶手段に記憶された処理手順により、第２のプロセッサが処理したデータを電子装置に出力する処理データ出力手段と、このデータの出力に伴って、これを電子装置に通知する処理データ出力通知手段とを備え、付加制御装置から電子装置へのデータ転送を、効率よく行なう構成することも可能である。
　（３）　情報処理方法としての発明
　情報処理方法としてなされたこの発明は、論理演算可能な第１のプロセッサ、該プロセッサが実行する処理を記憶した第１の記憶手段を備えた電子装置と、該電子装置にコネクタを介して接続され、前記第１のプロセッサとは別個の処理を行なう第２のプロセッサを備えた付加制御装置とが共働して行なう情報処理方法であって、
　前記電子装置側では、前記付加制御装置側に転送するデータを、前記コネクタを介して出力すると共に、該データの出力を付加制御装置に通知し、
　前記付加制御装置側では、該通知を受けて、前記コネクタを介して前記データを受け取ることを要旨とする。
　電子装置から付加制御装置へのデータ転送は、通知を介して行なわれる。更に、付加制御装置側がデータを受け取ったことを電子装置に通知するものとしても良い。
　ここで、データ転送の通知を割込要求により行なうものとすることが可能である。あるいは、第２のプロセッサから読取可能なレジスタヘのデータの書き込みにより行なうこともできる。更に、第２のプロセッサの入力ポートヘの信号出力により行なうことも考えられる。
　更に、論理演算可能な第１のプロセッサ、プロセッサが実行する処理を記憶した第１の記憶手段を備えた電子装置と、電子装置にコネクタを介して接続され、第１のプロセッサとは別個の処理を行なう第２のプロセッサを備えた付加制御装置とが共働して行なう情報処理方法であって、
　付加制御装置側では、電子装置に転送するデータを、コネクタを介して出力すると共に、このデータの出力を電子装置に通知し、電子装置側では、コネクタを介してデータを受け取る情報処理方法とすることも可能である。この場合には、付加制御装置から電子装置へのデータ転送を効率よく行なうことができる。
　【図面の簡単な説明】
　図１は、本発明の一実施例であるプリンタ装置の概略構成図である。
　図２は、実施例のプリンタ本体１に内蔵された電子制御装置１０の構成を示すブロック図である。
　図３は、カートリッジ３の外観形状とプリンタ本体１への取付の状態を示す斜視図である。
　図４は、カートリッジ３の内部構成の概略を示すブロック図である。
　図５は、プリンタ本体１の電子制御装置１０が実行する印刷処理ルーチンを示すフローチャートである。
　図６は、同じくデータ転送処理ルーチンを示すフローチャートである。
　図７は、カートリッジ３側で実行されるデータ展開処理ルーチンを示すフローチャートである。
　図８は、データをインデックスとして行なわれるＲＯＭ９１からのデータの読み出し処理について説明する説明図である。
　図９は、電子制御装置１０側からデータを転送する他の構成例を示すブロック図である。
　図１０は、同じくいま一つの構成例を示すブロック図である。
　図１１は、第２実施例の全体構成を示すブロック図である。
　図１２は、第２実施例におけるカートリッジ５０３の構成を示す分解斜視図である。
　図１３は、プリント基板５５０上の素子の配置を示す平面図および背面図である。
　図１４は、コネクタＣＮ１１における信号線の構成を示す説明図である。
　図１５は、電子制御装置５０１側からみたカートリッジ５０３のアドレスマップを示す説明図である。
　図１６は、マイクロプロセッサ６０１側からみたカートリッジ５０３のアドレスマップを示す説明図である。
　図１７は、カートリッジ５０３の内部構成を示すブロック図である。
　図１８は、割込要求レジスタ６４０の構成例を示す回路図である。
　図１９は、ポーリング・コマンドレジスタ６４３の構成例を示す回路図である。
　図２０は、ステータスレジスタ６４５の内容を示す説明図である。
　図２１は、読出制御回路６２０の構成例を示す回路図である。
　図２２は、読出制御回路６２０を用いたデータ転送を実現する電子制御装置５０１側の処理を示すフローチャートである。
　図２３は、ＲＯＭ６７１内のデータの構造を示す説明図である
　図２４は、読出制御回路６２０を用いたデータ転送を実現するカートリッジ５０３側の処理を示すフローチャートである。
　図２５は、ＦＩＦＯ制御回路６２３を用いたデータ転送を実現する電子制御装置５０１側の処理を示すフローチャートである。
　図２６は、ＦＩＦＯ制御回路６２３を用いたデータ転送を実現するカートリッジ５０３側の処理を示すフローチャートである。
　図２７は、ダブルバンク制御回路６２４の構成例を示す回路図である。
　図２８は、ダブルバンク制御回路６２４を用いたデータ転送の開始のための処理を示すフローチャートである。
　図２９は、同じく電子制御装置５０１側におけるその応答処理を示すフローチャートである。
　図３０は、ダブルバンク制御回路６２４を用いたデータ転送を実現する電子制御装置５０１側の処理を示すフローチャートである。
　図３１は、ダブルバンク制御回路６２４を用いたデータ転送を実現するカートリッジ５０３側の処理を示すフローチャートである。
　図３２は、レーザエンジン５０５を制御して行なわれる画像データの印刷のタイミングを示すタイミングチャートである。
　図３３は、アドレス信号にシリアルデータをのせてデータを転送する回路の構成例を示す回路図である。
　図３４は、転送するデータと読出処理を行なうアドレスとの関係を示す説明図である。
　図３５は、シリアルデータをアドレス信号にのせて転送する他の構成例を示す回路図である。
　図３６は、転送するデータの各ビットに対応するレジスタを設け、レジスタをセットすることでデータを転送する回路の構成例を示す回路図である。
　図３７は、データの各ビットとレジスタのアドレスとの関係を示す説明図である。
　図３８は、カウンタを用いてデータの転送を行なう回路の構成例を示す回路図である。
　図３９は、同じくもう一つの構成例を示す回路図である。
　図４０は、外部機器とのインタフェースをそのままカートリッジとの接続部に再現する回路の構成例を示す回路図である。
　図４１は、プロセッサの入力ポートに直接データ転送の通知信号を入力する構成を示すブロックである。
　【符号の説明】
　　　１　プリンタ本体
　　　３　カートリッジ
　　　５　コンピュータ
　　１０　電子制御装置
　　１１　コネクタ
　　１２　半導体レーザ装置
　　１５　ゼログラフィユニット
　　３１　ＣＰＵ
　　３２　アドレスバス
　　３４　データバス
　　３６　制御信号バス
　　４１　アドレスデコーダ
　　４３　ＲＯＭ
　　４５　ＤＲＡＭ
　　４７　ＭＣＵ
　　５７　タイマ
　　７１　ＣＰＵ
　　７３　ＲＯＭ
　　７５　ＲＡＭ
　　７７　ロジックアレイ
　　９５　ＲＡＭ
　５００　レーザプリンタ
　５０１　電子制御装置
　５０３　カートリッジ
　５０５　レーザエンジン
　５０７　ワークステーション
　５１０　ＣＰＵ
　５１４　データ入力ポート
　５１７　レジスタ
　５１８　コンソールパネル
　５１９　コンソールパネルＩ／Ｆ
　５２０　ダブルバッファ回路
　５５０　プリント基板
　６０１　マイクロプロセッサ
　６０２　メモリ部
　６０３　データ転送制御部
　６２０　読出制御回路
　６２１　ＦＩＦＯメモリ
　６２３　ＦＩＦＯ制御回路
　６２４　ダブルバッファ制御回路
　６３５　バス制御部
　６４０　割込要求レジスタ
　６４３　コマンドレジスタ
　６４５　ステータスレジスタ
　６４７　転送フラグレジスタ
　６４９　ＰＲＯＭコントロールレジスタ
　６５０　コントロールレジスタ
　６５３　ＦＩＦＯ書込レジスタ
　６５５　ＦＩＦＯ読出レジスタ
　６７０　ＥＥＰＲＯＭ
　【発明を実施するための最良の形態】
　以下、実施例について説明するが、説明が多岐に亘るため、次の各項に分けて説明する。
［ｉ］第１の実施例
　Ａ．ハードウェアの全体の構成
　Ｂ．電子制御装置１０の構成と働き
　Ｃ．カートリッジ３の構成
　Ｄ．電子制御装置１０からのデータの転送
　Ｅ．電子制御装置１０とカートリッジ３の共働
　Ｆ．第１実施例の効果
　Ｇ．第１実施例の変形例−その１
　Ｈ．第１実施例の変形例−その２
［ｉｉ］第２の実施例
　Ａ．全体構成の説明
　Ｂ．カートリッジの構造
　Ｃ．カートリッジのアドレス空間
　Ｄ．カートリッジの内部構成
　Ｅ．データ転送制御部６０３の説明
　Ｆ．各レジスタの説明
　Ｇ．読出制御回路６２０の構成と働き
　Ｈ．ＦＩＦＯの制御面路６２３の構成と働き
　Ｉ．ダブルバンク制御回路６２４の構成と働き
　Ｊ．画像データの印刷
　Ｋ．第２実施例の効果
　Ｌ．その他の実施例
　（１）アドレスバスを通信回線として利用する構成−その１
　（２）アドレスバスを通信回線として利用する構成−その２
　（３）転送するデータの各ビットをデータの読出信号によりセットすることでデータを転送する構成
　（４）カウンタを用いてデータを転送する構成
　（５）制御信号を用いてデータ転送を行なう構成
　（６）外部から受け取る信号をそのまま再現することでデータを転送する構成
　Ｍ．その他
［ｉ］第１の実施例
　Ａ．ハードウェアの全体の構成
　以上説明した本発明の構成・作用を一層明らかにするために、以下本発明の好適な実施例について説明する。最初に、本発明をプリンタに適用した実施例を説明する。図１は、本実施例のプリンタ本体１とこれに装着されたカートリッジ３の概略構成を示すブロック図である。
　図示するように、プリンタ本体１は、ゼログラフィ法のいわゆるページプリンタであって、外部のコンピュータ５から送られる印字データに基づいて、ゼログラフィの手法により、用紙Ｐに画像を形成する。プリンタ本体１の内部には、印字データを入力して画像を展開する電子制御装置１０、電子制御装置１０のアドレスバス，データバスなどが接続されたコネクタ１１、電子制御装置１０により駆動される半導体レーザ装置１２、感光ドラム１４を中心に構成されたゼログラフィユニット１５、用紙Ｐを収納する用紙カセット１７、用紙Ｐを感光ドラム１４の周面に接するように搬送する搬送機構１９、トナーが転写された用紙Ｐを加熱してトナーを定着する熱定着ローラ２１、印刷された用紙Ｐが排紙されるトレイ２３を備える。
　ゼログラフィユニット１５は、感光ドラム１４の表面を帯電させる帯電ユニット２５、半導体レーザ装置１２からのレーザ光により電荷が逃がされた部位にそれ自身帯電されたトナーを塗布するトナーユニット２７、用紙Ｐへの転写後に感光ドラム１４上に残ったトナーを除去するトナー除去ユニット２９から構成されている。電子制御装置１０は、感光ドラム１４の回転に同期して、半導体レーザ装置１２を駆動し、印刷しようとする画像に対応した部位にレーザ光を照射して、潜像を形成する。レーザ光の照射を受けた部位の電荷は失われるから、感光ドラム１４と同じ符号に帯電されたトナーは、電荷の失われた部位にのみ転写される。
　感光ドラム１４の回転に同期して、用紙カセット１７からは、用紙Ｐが１枚引き出され、搬送機構１９により、感光ドラム１４へと送られる。用紙Ｐは、感光ドラム１４と転写ローラ３０との間に挟持されて搬送されるので、感光ドラム１４上のトナーの大部分は、用紙Ｐ上に転写される。用紙Ｐは、トナーを表面に担持したまま、熱定着ローラ２１に送られ、ここで加熱されてトナーが溶け、用紙Ｐに定着される。以上、簡単にプリンタ本体１内での印刷の工程について説明したが、本発明は、レーザプリンタに限定されるものではなく、例えば感光ドラム１４の露光にＬＥＤを用いたもの、印刷にインクジェット方式を採用したものなど、種々のプリンタに適用することができる。
　Ｂ．電子制御装置１０の構成と働き
　次に、プリンタ本体１に内蔵された電子制御装置１０の構成について説明する。図２に示すように、電子制御装置１０は、処理全体を司るプロセッサである周知のＣＰＵ３１を中心とする算術論理演算回路として構成されており、以下の各素子をアドレスバス３２、データバス３４、制御信号バス３６などで相互に接続した構成となっている。これらのバスに接続されているのは、アドレスデコーダ４１、ＲＯＭ４３、ダイナミックＲＡＭ（以下、ＤＲＡＭと呼ぶ）４５、メモリコントロールユニット（以下、ＭＣＵと呼ぶ）４７、Ｉ／Ｏポート４９、レーザＩ／Ｆ５１、コネクタ１１などである。各素子は、各バスに対して読み書き可能に接続されているが、コネクタ１１だけは、データバス３４との間にバスドライバ５２が設けられており、ＣＰＵ３１から見た場合、コネクタ１１に接続されたカートリッジ３は、読み出し専用のデバイスとなっている。
　アドレスデコーダ４１は、ＣＰＵ３１が生成するアドレス信号をデコードするものであり、あるアドレスが指定されると、メモリ空間への割当に従って、ＲＯＭ４３，ＤＲＡＭ４５，Ｉ／Ｏポート４９，レーザＩ／Ｆ５１にセレクト信号を出力する。ＲＯＭ４３は、処理プログラムを内蔵するものであり、通常ＣＰＵ３１は、ＲＯＭ４３に記憶されたプログラムに従って動作する。ＤＲＡＭ４５は、画像データを展開するためのものであり、少なくとも１ページ分の画像データを記憶する必要があることから、本実施例では、２メガバイトの容量を有する。
　ＭＣＵ４７は、ＣＰＵ３１の出力する制御信号を解析してＲＯＭ４３，ＤＲＡＭ４５などの制御信号を出力するものであり、メモリやＩＯポートのリード・ライト信号を出力したり、ＤＲＡＭ４５のリフレッシュタイミングなどを決定する。なお、ＭＣＵ４７には、リフレッシュタイマ５３が接続されており、リフレッシュタイマ５３からの信号を受けて、リフレッシュ可能なタイミングであると判断すると、ＭＣＵ４７は、リフレッシュアドレスを出力し、マルチプレックサ５５を介して、ＤＲＡＭ４５にリフレッシュアドレスを出力する。Ｉ／Ｏポート４９は、外部のコンピュータ５から印字データを受け取ったりゼログラフィユニット１５の図示しないモータ等とのインタフェースを司るものでる。また、レーザＩ／Ｆ５１は、半導体レーザ装置１２を駆動するカートリッジ３に接続され、半導体レーザ装置１２とのインタフェースを司るものである。電子制御装置１０には、このほか、タイマ５７が設けられており、コネクタ１１とＣＰＵ３１とに接続されている。
　この電子制御装置１０を備えたプリンタ本体１の基本的な機能は、Ｉ／Ｏポート４９を介して外部のコンピュータ５から受け取った印字データ（ビットイメージに予め展開されたデータ）を、内部のＤＲＡＭ４５に展開し、１ページ分のデータが用意できたところでゼログラフィユニット１５を制御すると共に半導体レーザ装置１２を駆動し、画像データをそのまま印刷するものである。この基本機能に加えて、本実施例のプリンタ本体１は、拡張機能として、コネクタ１１に接続したカートリッジを利用して、より高度の印刷を行なうことができる。このプリンタ本体１の場合、フォントが記憶されたフォントカートリッジやページ記述言語を解釈するプログラムを記憶したもの等の既存のカートリッジに加えて、後述するプロセッサ内蔵のカートリ
　Ｃ．カートリッジ３の構成
　本実施例のカートリッジ３の外観形状を、図３に示す。このカートリッジ３は、図示するように、プリンタ本体１に設けられたコネクタ取付部６１に装着されるものであり、その外観は、コネクタ取付部６１に挿入される側が直方体形状をしているのに対し、プリンタ本体１の筐体外側に飛び出す部分が縦断面台形形状となっている。カートリッジ３をコネクタ取付部６１に差し込んで押し入れると、カートリッジ３後端のコネクタがコネクタ１１に嵌まって、両者は電気的に接続される。この状態では、カートリッジ３の段差部がプリンタ本体１の筐体にほぼ接する位置となる。プリンタ本体１の筐体外側に飛び出したカートリッジ３の前方部分は、その上面が傾斜しており、不注意に、他の物品をその上に載せたりすることがない。
　次に、カートリッジ３の内部構成について説明する。図４に、カートリッジ３の内部構成をブロック図として示す。図示の関係上、バスラインも単線で描いてあるが、バスラインは、折れ曲がり点および分岐点を斜線で結合し、単なる信号線（直角に折れ曲がっている線）とは、区別している。
　カートリッジ３は、その内部に、プリンタ本体１の電子制御装置１０のＣＰＵ３１とは異なるプロセッサであるＣＰＵ７１を備える。このＣＰＵ７１は、ページ記述言語の処理等に適したＲＩＳＣタイプのものである。このＣＰＵ７１のアドレスバスＣＡＤは、ページ言語処理プログラムを内蔵したＲＯＭ７３、データ等を記憶するＲＡＭ７５、ＣＰＵ７１のアドレスバス等の切換を行なうロジックアレイ７７、およびセレクタ７９にも接続されている。また、そのデータバスＣＤは、ＲＯＭ７３，ＲＡＭ７５，第１のラッチ８１のデータ入力側Ｄ，第２のラッチ８２のデータ出力側Ｏ，双方向性の第１のバッファ８４の出力側に接続されている。
　一方、カートリッジ３のコネクタ９０には、カートリッジ３がプリンタ本体１のコネクタ１１に装着されると、電子制御装置１０のアドレスバスＰＡＤ，読み出し専用のデータバスＰＤ，割込信号線ＩＡおよびタイマ５７の信号線ＴＢが接続される。このアドレスバスＰＡＤは、セレクタ７９とＲＯＭ９１とロジックアレイ７７とに接続されており、データバスＰＤは、一方向性の第２のバッファ９２に接続されている。このカートリッジ３は、読み出し専用のデータバスＰＤを介してデータの双方同のやり取り（読み書き）を実現しているため、内部構成はやや複雑なものになっている。この点を、更に説明する。
　第２のバッファ９２の入力側のバスを出力バスＯＤと呼ぶ。この出力バスＯＤには、ＲＯＭ９１のデータ，第１のラッチ８１の出力Ｏ，第２のラッチ８２の入力Ｄ，一方向性の第３のバッファ９３の出力が各々接続されている。更に、第３のバッファ９３の入力側は、第１のバッファ８４とＲＡＭ９５のデータ端子に接続されるバスとなっている。このバスをプリントデータバスＰＣＤと呼ぶものとする。これらのラッチ８１，８２は、トライステート出力のものであり、ロジックアレイ７７の制御により、入力Ｄの内容をラッチして出力Ｏに保持することができ、更にロジックアレイ７７の制御によって、その出力をハイインピーダンス状態とすることもできる。ロジックアレイ７７は、このほか、セレクタ７９およびＲＡＭ９５も制御しており、これらの素子は、ロジックアレイ７７による制御に従って、次のように動作する。なお、ロジックアレイ７７は、アドレスバスＣＡＤを介したＣＰＵ９１によるアドレス指定、もしくはアドレスバスＰＡＤを介した電子制御装置１０側のＣＰＵ３１のアドレス指定に従って、これらを制御する。
　Ｄ．電子制御装置１０からのデータの転送
　電子制御装置１０側のＣＰＵ３１からカートリッジ３のＲＡＭ９５の所定のアドレスの内容の読み出しが指定されると、このアドレスを解析してロジックアレイ７７がセレクタ７９を切り換えてアドレスバスＰＡＤを有効とし、更にＲＡＭ９５を読み出し状態とする。ＲＡＭ９５から読み出されたデータは、プリントデータバスＰＣＤ，第３のバッファ９３，出力バスＯＤ，第２のバッファ９２，データバスＰＤを介して電子制御装置１０のＣＰＵ３１に引き渡される。従って、カートリッジ３のＣＰＵ７１が、データバスＣＤ，第１のバッファ８４，プリントデータバスＰＣＤを介してＲＡＭ９５の所定の領域に所望のデータを予め書き込んでおけば、カートリッジ３側から電子制御装置１０側に所望のデータを渡すことができる。
　カートリッジ３側から電子制御装置１０側に所望のデータを引き渡すには、もうひとつの方法がある。ＣＰＵ７１のデータバスＣＤには、第１のラッチ８１が接続されているから、ＣＰＵ７１は所望のデータを第１のラッチ８１に保持させることができる。この状態で、電子制御装置１０側が、第１のラッチ８１に割り当てられたアドレスを指定すれば、ロジックアレイ７７が第１のラッチ８１の出力を有効とするので、そのデータを電子制御装置１０側に渡すことができる。
　電子制御装置１０とカートリッジ３とを接続するデータバスは、電子制御装置１０側からみて読み込み専用となっているので、上述したようにカートリッジ３側からデータを渡すことは容易であるが、カートリッジ３側がデータを受け取ることは通常のアクセスではできない。そこで、本実施例では、上記構成を利用し、以下の手法によりカートリッジ３側へのデータを引き渡しを実現している。
　電子制御装置１０側のＣＰＵ３１からＲＯＭ９１の所定のアドレスの内容の読出が指定されると、このアドレスを解析してロジックアレイ７７は第２のラッチ８２を所定のタイミングで駆動する。この結果、ＲＯＭ９１から読み出されたデータは、第２のラッチ８２にラッチされ、カートリッジ３のＣＰＵ７１からも読み取り可能となる。なお、この時、第２のバッファ９２は閉じられるので、電子制御装置１０側のＣＰＵ３１から、このデータを読み取ることはできない。なお、第２バッファ９２を閉じずに、ＣＰＵ３１から読み取り可能とすることも差し支えない。
　ＣＰＵ７１は、アドレスバスＣＡＤを介して所定のアドレスをロジックアレイ７７に出力し、第２のラッチ８２の出力を有効とし、その内容を読み取り、ＲＡＭ７５に記憶する。従って、予めＲＯＭ９１の所定の領域にそのアドレスと関連づけられたデータが記憶されており、電子制御装置１０側から渡そうとするデータをＲＯＭ９１のアドレスに変換してアクセスを行なえば、電子制御装置１０側からカートリッジ３へのデータの引き渡しが可能となる。
　Ｅ．電子制御装置１０とカートリッジ３の共働
　次に、電子制御装置１０およびカートリッジ３の行なう処理について説明する。本実施例では、カートリッジ３は、ページ記述言語の処理を行なうことができるものであり、プリンタ本体１は、外部のコンピュータ５から送られたページ記述言語をカートリッジ３に渡し、処理結果を受け取ってゼログラフィユニット１５を駆動して印刷を行なう。図５は、電子制御装置１０が実行する印刷処理ルーチンを示すフローチャートである。
　印刷処理が起動されると、電子制御装置１０のＣＰＵ３１は、まず所定のアドレスの内容を読み込む処理を行なう（ステップＳ１００）。このアドレスは、カートリッジ３が装着されている場合に特定のデータを返すので、特定のデータでなければ（ステップＳ１１０）、カートリッジ３は装着されていないとして、外部のコンピュータ５から印字データを受け取り、これに従って電子制御装置１０内で１ページ分の画像データを生成する（ステップＳ１２０）。
　一方、所定のアドレスの内容が特定のデータであってカートリッジ３が装着されていると判断された場合には（ステップＳ１１０）、外部のコンピュータ５から印字データを受信し、これをカートリッジ３側に転送し、カートリッジ３にて印字データから展開した画像データを受信する一連の処理を行なう（ステップＳ１４０）。データの転送処理については、後述する。なお、このデータ転送処理は、カートリッジ３内のプログラムをプリンタ本体１側のＣＰＵ３１が直接実行することにより実現される。
　以上の処理により、カートリッジ３が装着されていない場合に電子制御装置１０で生成した画像データ、もしくはカートリッジ３が装着されている場合にカートリッジ３で展開された画像データが、ＤＲＡＭ４５に保存されてる。そこで、次のこの画像データに従って、ゼログラフィユニット１５を駆動し、用紙Ｐに画像を印刷する処理を行なう（ステップＳ１５０）。以上が、プリンタ本体１における印刷処理の概要である。
　電子制御装置１０側からカートリッジ３へのデータの転送は、図６に示したプリンタ本体１側のデータ転送処理ルーチンと、図７に示したカートリッジ３側のデータ展開処理ルーチンとにより実現される。プリンタ本体１の電子制御装置１０は、カートリッジ３側に転送したいデータが存在すると、図６に示した処理ルーチンを起動する。この処理が起動されると、電子制御装置１０は、転送したい１６進データＤＤｈ（ｈは１６進数であることを示す符号）をインデックスとして、カートリッジ３側のＲＯＭ９１の番地ＹＹＹＹｈ＋ＤＤｈを読み取る動作を行なう（ステップＳ２００）。
　この動作を受けて、カートリッジ３側では、ロジックアレイ７７が第２のラッチ８２を制御し、ＲＯＭ９１から読み出されたデータをラッチする。図８に示すように、ＲＯＭ９１のアドレスＹＹＹＹ番地からの２５６バイトには、データ００ｈからＦＦｈまでのデータが書き込まれている。従って、転送したいデータＤＤｈをインデックスとしてＹＹＹＹ番地以降を読み取ると、インデックスに対応したデータが出力バスＯＤに出力され、これが第２のラッチ８２にラッチされることになる。図８では、転送したいデータが４１ｈである場合を例として示した。
　この時、カートリッジ３側のＣＰＵ７１は、データ展開処理ルーチンを実行しており、まず第２のラッチ８２がデータをラッチしたか否かの判断を行ない（ステップＳ２１０）、データをラッチするまで待機する。ラッチ８２によるデータのラッチは、ロジックアレイ７７により行なわれるから、ラッチ８２がデータをラッチしたか否かは、ロジックアレイ７７の内部状態を判別することにより、判断することができる。
　データが第２のラッチ８２にラッチされると、続いてデータを第２のラッチ８２からＲＡＭ７５に転送する処理を行ない（ステップＳ２２０）、１ページ分の印字データを総て電子制御装置１０側から読み込んだか否かの判断を行なう（ステップＳ２３０）。１ページ分の印字データを読み込むまで、上述したステップＳ２１０ないしＳ２３０の処理を繰り返す。ここで、電子制御装置１０側から送られ、ＲＡＭ７５に転送されるデータは、ページ記述言語プログラムである。
　１ページ分の印字データが読み込まれると（ステップＳ２３０）、次にＣＰＵ７１は、データを展開する処理を行なう（ステップＳ２４０）。ここで、ＣＰＵ７１が行なうデータ展開処理は、ページ記述言語プログラムから３００ＤＰＩの解像度で画像イメージを展開するグラフィック演算等の処理を言い、画像データを生成するものである。最終的な処理結果は、ＲＡＭ９５に順次展開され（ステップＳ２５０）、データの展開と処理結果の保存が完了するまで、上述した処理（ステップＳ２４０ないし２５０）を繰り返す。ここで行なわれるデータ展開処理（ステップＳ２４０）は、電子制御装置１０側のＣＰＵ３１とは異なるプロセッサであるＣＰＵ７１により行なわれる。データの展開が完了すると（ステップＳ２６０）、処理は「ＥＮＤ」に抜けて終了するが、展開された画像データは、順次電子制御装置１０側に転送される（図５、ステップＳ１４０）。
　Ｆ．第１実施例の効果
　以上説明したように、本実施例のプリンタ本体１およびカートリッジ３によれば、電子制御装置１０に設けられたコネクタ１１に、画像処理に適したプロセッサを備えたカートリッジ３を装着して、プリンタ本体１からカートリッジ３にデータを転送している。この時、電子制御装置１０は、データの転送をラッチ８２へのデータのラッチ動作によりカートリッジ３のＣＰＵ７１に通知するから、カートリッジ３は直ちに転送されたデータを読み取る。この結果、電子制御装置１０は、引き続き次のデータの転送が可能となり、電子制御装置１０からカートリッジ３へのデータ転送は継続される。
　カートリッジ３は、転送されたデータを受け取って画像の展開を行なう。従って、単にページ記述言語の処理プログラムをカートリッジ３で供給する場合と較べて、ページ記述言語の処理能力は格段に同上する。また、より高次のページ処理言語をカートリッジ３にて供給することも可能である。
　更に、本実施例では、フォントやページ記述言語の処理プログラムをプリンタ本体１に供給する目的で設けられ、電子制御装置１０側からみて読み込み専用のデータバスしか備えていないコネクタ１１を用いながら、カートリッジ３側にデータを移すことができる。従って、プロセッサを備えたカートリッジを装着することを予定していない既存のプリンタに使用することができ、設備の有効利用を図ることができる。通常、コンピュータ本体の機能が向上するにつれて、プリンタがシステムのボトルネックとなってしまうので、コンピュータ本体の機能の向上に合わせてプリンタ本体全体を交換することが多いが、本実施例によれば、こうした場合に機能の高いプロセッサを有するカートリッジをプリンタ本体１に装着するだけでよく、コスト的にも極めて有利である。
　また、本実施例では、転送するデータをアドレスの一部に含ませ、このアドレスと一対一の相関を有するデータを記憶したＲＯＭ９１を用いてデータを取り出しているので、アドレスとデータとの相関が分かりやすいという利点がある。逆に、アドレスとデータとの相関を崩しておけば、転送するデータをいわば暗号化することも可能である。また、ＲＯＭ９１に代えてＲＡＭを用いることも可能であり、その場合には、データの転送に先だって、例えば初期化の処理において、データを取り出すためのテーブルを所定のアドレスの範囲に配置するものとすればよい。
　Ｇ．第１実施例の変形例−その１
　以上説明した本実施例では、読み出し専用の信号線を用いてデータの書込を行なうのに、アドレスとデータが対応したＲＯＭ９１を用いた。即ち、アドレス信号はアドレスとして扱い、そのアドレスと相関を持たせたデータを記憶したＲＯＭ９１を用いてデータの転送を実現している。しかし、読み出し専用の信号線を用いてデータの書込を行なうには、この構成に限るものではなく、例えば読み出し時におけるアドレス指定の一部を直接データとしてラッチする構成とすることも可能である。この構成は、図９に示すように、上述した実施例においてアドレス−データ変換を行なっていたＲＯＭ９１に替えてトライステートバッファ１９１を設けたものである。
　かかる構成において、電子制御装置１０側からデータを転送する場合には、電子制御装置１０のＣＰＵ３１は、予め定められた番地ＹＹ００ｈをインデックスアドレスとし、転送しようとするデータＤをディスプレースメント（ここでは、下位の８ビット）とし、両者から定まる実効アドレス（ＹＹ００ｈ＋Ｄｈ）のデータを読み取る処理を行なう。この時、ロジックアレイ７７は、トライステートバッファ１９１を開いてアドレスの下位８ビットを出力させると共に、ラッチ８２にラッチ信号ＤＬを送って、トライステートバッファ１９１が出力するアドレスの下位８ビットをラッチ８２に保持させる。
　この結果、上述した実施例と同様に、転送しようとしたデータＤがラッチ８２に保持され、かかるデータの転送の通知を受けて、カートリッジ３側のＣＰＵ７１はこのデータを読み取ることが可能となる。ＣＰＵ７１が、このデータをＲＡＭ等に転送することは、上記実施例と同様である。かかる構成によれば、ＲＯＭに替えてトライステートバッファを用いるだけで済むので、構成が簡略となり、コストも低減できる。更に、ＲＯＭを用いている場合には、ＲＯＭのデータ読出時間を確保してやる必要があるが、図９に示した構成では、この読出時間が必要ないので、データ転送の高速化を図ることができる。
　Ｈ．第１実施例の変形例−その２
　更に、トライステートバッファ１９１の出力をラッチ８２にラッチする構成に替えて、図１０に示すように、転送するデータであるアドレスの下位８ビット（ＡＤ０−ＡＤ７）を直接カートリッジ３内のＲＡＭに記憶する構成としてもよい。この構成は、３個のトライステートバッファ２９１，２９２，２９３およびＲＡＭ２９５を用いて実現可能である。各素子の接続は、次の通りである。
　電子制御装置１０からの２４ビットのアドレス信号（ＡＤ２３−ＡＤ０）のうち、最上位の４ビット（ＡＤ２４−ＡＤ２０）は、図示しないアドレスデコーダに接続され、特定の領域をデータの書込領域、他を読出領域とするよう働く。この例では、アドレス［ＡＤ２３，ＡＤ２２，ＡＤ２１，ＡＤ２０］が［１０００］、即ち最上位が８ｈの範囲を書込領域とし、アドレス［ＡＤ２３，ＡＤ２２，ＡＤ２１，ＡＤ２０］が［１００１］、即ち最上位が９ｈの範囲を読出領域としている。
　これに対してアドレス信号ＡＤ１９ないしＡＤ０の２０ビットは、次のように接続されている。アドレス信号ＡＤ１９ないしＡＤ０のうち、最下位の８ビット（ＡＤ７−ＡＤ０）を第１のトライステートバッファ２９１の入力側に、次の１２ビット（ＡＤ１９−ＡＤ８）を第２のトライステートバッファ２９２の入力側に、下位の１２ビット（ＡＤ１１−ＡＤ０）を第３のトライステートバッファ２９３の入力側に、各々接続している。第１，第２のトライステートバッファ２９１，２９２は、ＲＡＭ２９５への書込動作に対応したアドレスがアクセスされる場合に出力が有効となり、それ以外のタイミングではハイインピーダンス状態となるものである。第１のトライステートバッファ２９１の出力は、ＲＡＭ２９５のデータ入力に接続されている。また、第２のトライステートバッファ２９２の出力は、ＲＡＭ２９５のアドレスＲＡ１１−ＲＡ０に接続されている。
　一方、第３のトライステートバッファ２９３は、読出動作に対応したアドレスにアクセスする場合には出力が有効となり、それ以外のタイミングではハイインピーダンス状態となるものであり、その出力は、第２のトライステートバッファ２９２の出力とワイヤードオア接続されて、ＲＡＭ２９５のアドレスＲＡ１１−ＲＡ０に入力されている。ＲＡＭ２９５は、４キロバイトの容量を有し、その有効アドレスは１２ビット、即ち０００ｈからＦＦＦｈである。
　電子制御装置１０が、データＤＤｈをカートリッジ３側のＲＡＭ２９５の所定のアドレス（例えば、Ｃ５Ａｈ）に書き込む場合には、アドレス８Ｃ５ＡＤＤｈの内容を読み出せばよい。電子制御装置１０側からのアドレス８ＸＸＸＸＸｈへのアクセスは書込動作と判断されるから、第１，第２のトライステートバッファ２９１，２９２の出力が有効となる。即ち、ＲＡＭ２９５は書込モードにされ、そのアドレスＲＡ１１−ＲＡ０には電子制御装置１０からのアドレスＡＤ１９−ＡＤ８が出力され、このアドレスにデータＤＤｈが書き込まれる。データの転送が行なわれた場合、１バイトずつ、あるいは複数バイト毎に電子制御装置１０からカートリッジ３にデータの転送が行なわれたことを通知する。この通知は、例えばＲＡＭ２９５の所定のアドレスに特定のデータを書き込むことによって行なうことができる。
　一方、電子制御装置１０が、カートリッジ３側のＲＡＭ２９５の所定のアドレス（例えば、Ｃ５Ａｈ）の内容を読み出す場合には、アドレス９ＸＸＣ５Ａｈの内容を読み出せばよい。電子制御装置１０側からのアドレス９ＸＸＸＸＸｈへのアクセスは読出動作と判断されるから、第３のトライステートバッファ２９３の出力が有効となる。即ち、ＲＡＭ２９５は読出モードにされ、そのアドレスＲＡ１１−ＲＡ０には電子制御装置１０からのアドレスＡＤ１１−ＡＤ０が出力され、このアドレスの内容が読み出されるのである。この構成をとることにより、電子制御装置１０が、カートリッジ３側のＲＡＭ２９５の任意アドレスヘの書き込みおよび読み込みが可能となる。
［ｉｉ］第２の実施例
　Ａ．全体構成の説明
　次に、本発明の第２実施例について説明する。この実施例は、電子装置としてのレーザプリンタ５００に、付加制御装置としてのカートリッジ５０３を組み合わせたものである。レーザプリンタ５００は、第１実施例のプリンタ本体と同様に、ゼログラフィユニットを用いたものであり、感光ドラムを用いて印刷を行なう部分はレーザエンジン５０５として独立している。レーザプリンタ５００全体の制御を司る電子制御装置５０１は、コネクタＣＮ１０を介してレーザエンジン５０５にコマンドを送り、所定のバッファに画像データを転送するだけで、印刷を行なうことができる。
　電子制御装置５０１の内部には、図１１に示すように、周知のＣＰＵ（本実施例ではモトローラ社製ＭＣ６８０００）５１０、ＣＰＵ５１０が実行するプログラムを記憶したＲＯＭ５１１、印字データや展開後の画像データを蓄えるＲＡＭ５１２、ホストであるワークステーション５０５からの印字データを受け取るデータ入力ポート５１４、カートリッジ５０３とのデータのやり取りを行なうバスライン５１６に介装されたラインバッファ５１５、レーザエンジン５０５とのコマンドやステータス情報のやり取りを行なうためのレジスタ５１７、レーザプリンタ５００のコンソールパネル５１８とのインタフェースを司るコンソールパネルＩ／Ｆ５１９、レーザエンジン５０５に転送する画像データを保存するダブルバッファ回路５２０、を備える。なお、バスラインの構成や制御線の構成は、第１実施例と同様なので簡略に図示した。
　ダブルバッファ回路５２０は、レーザエンジン５０５による印刷の８ライン分、即ち４Ｋバイトの記憶容量を有する２つのＲＡＭ５２０Ａ，５２０Ｂを備え、ＣＰＵ５１０側からは、メモリ書込コントローラ５２０Ｃを介して交互に画像データを書き込む。一方、レーザエンジン５０５は、メモリ読出コントローラ５２０Ｄを介して、この２つのＲＡＭ５２０Ａ，５２０Ｂを交互に読み出すことで、感光ドラムの回転に同期して画像データをビデオ信号に変換し、印刷を実行することができる。２つのＲＡＭ５２０Ａ，５２０Ｂを設けて交互にデータを書き込んだり読み出したりするのは、ＣＰＵ５１０からのアクセスとレーザエンジン５０５側からのアクセスを独立して行なわねばならないためである。
　ＣＰＵ５１０は一方のＲＡＭにデータを書き込んだ後、レジスタ５１７の所定ビットにフラグを立てる。これに対してレーザエンジン５０５はこのフラグをチェックして、データが書き込まれた側のＲＡＭに記憶された画像データを読み出す。読み出し中は、レジスタ５１７の別のビットを立ててＣＰＵ５１０にいずれのＲＡＭが読み出し中であるかを知らせる。この時、他方のＲＡＭはレーザエンジン５０５からアクセスされないから、この間に、ＣＰＵ５１０は、他方のＲＡＭに次の８ライン分の画像データを書き込んでおく。レーザエンジン５０５は、一方のＲＡＭからの読出が完了すると、フラグをリセットし、他方のＲＡＭからの読み出しに切り換える。ＣＰＵ５１０からのデータの書き込むの速度は、レーザエンジン５０５からのデータの読み出し速度、即ち印刷の実行速度より速いので、両者によるメモリヘのアクセスの衝突を回避しつつ、１ページ分の画像データの転送を確実かつ簡易に実現している。
　電子制御装置５０１のコネクタＣＮ１１には、カートリッジ５０３が実装される。レーザプリンタ５００と、これに装着されるカートリッジ５０３の関係は、第１の実施例と同様であり、電子制御装置５０１は電源投入時にカートリッジ５０３がコネクタＣＮ１１に装著されているか否かを判断し、装着されていると判断した場合には、電子制御装置５０１内部のリセット等を行なった後、カートリッジ５０３内に用意されたＲＯＭ（後述）の所定番地にジャンプして、それ以降はカートリッジ５０３内に用意された処理を順に実行する。カートリッジ５０３は、ワークステーション５０７からレーザプリンタ５００に出力されたページ記述言語によるプログラムを解釈し、画像データに展開してレーザエンジン５０５により印刷を行なわせる点では、第１の実施例と同様である。
　Ｂ．カートリッジの構造
　プリンタ５００のカートリッジ用コネクタＣＮ１１に装着される本実施例のカートリッジ５０３は、図１２に示すように、内部が凹状の上部ケース５２１Ｕと、板状の下部ケース５２１Ｌとの間に多層プリント基板５５０（以下、単に「プリント基板」と呼ぶ）が挿入された構造を有しており、プリント基板５５０のコネクタ側にはキャップ５４０がはめ込まれる。プリント基板５５０には、後述するマイクロプロセッサ６０１などの回路素子が取り付けられている。上部ケース５２１Ｕと下部ケース５２１Ｌとはどちらもアルミニウム製である。アルミニウムは熱伝導率が高いので、内部の素子からの発熱を効率的に外部に伝達し、放出することができる。
　下部ケース５２１Ｌには、プリンタ本体とのアース接続を確保するための２枚のアース用バネ部材５２２がリベット５２４でそれぞれ固定されており、また、プリント基板５５０に下方から当接する円柱状の押圧用シリコーンゴム５２６が下部ケース内面のゴム保持部５２８にはめ込まれている。押圧用シリコーンゴム５２６は、マイクロプロセッサ６０１の直下の位置に設けられている。マイクロプロセッサ６０１の上面と上部ケース５２１Ｕの内面との間には、密着性と熱伝導性を改善するためのシート状の放熱用シリコーンゴム５２２が介装される。カートリッジ５０３が組み立てられた状態では、押圧用シリコーンゴム５２６がプリント基板５５０を押圧し、マイクロプロセッサ６０１−放熱用シリコーンゴム５５２−上部ケース５２１Ｕの密着性を高められる。この結果、マイクロプロセッサ６０１から上部ケース５２１Ｕへの熱の伝導は良好なものとなり、上方への放熱が効率よく行なわれる。
　組立の際には、まず上部ケース５２１Ｕを裏返し、放熱用シリコーンゴム５５２を上部ケース５２１Ｕの所定の位置に置いた後、プリント基板５５０を１本のネジ５６０によって上部ケース５２１Ｕ内に固定する。さらに、下部ケース５２１Ｌを上部ケース５２１Ｕにはめてその四隅をネジ５６２でそれぞれ固定する。その後、上部ケース５２１Ｕと下部ケース５２１Ｌとの間に形成されたキャップ口にキャップ５４０を挿入することによって、カートリッジ５０３が完成する。
　図１３（Ａ）はプリント基板５５０の上面側を示す平面図であり、（Ｂ）はプリント基板５５０の下面側を示す平面図である。
　図１３（Ａ）に示すように、プリント基板５５０の上面側の一端にはマイクロプロセッサ６０１が取り付けられており、他端にはプリンタ本体のコネクタと接続するための複数の電極が並行に配列された差し込みプラグ部５５１が形成されている。
　マイクロプロセッサ６０１に近いプリント基板５５０の両側部には、マイクロプロセッサ６０１用の制御プログラムなどを記憶する２つのＲＯＭ６０６ないし６０９がそれぞれ配置されている。また、プリント基板５５０の中央部には、マイクロプロセッサ６０１と隣接して４つのトライステートのアドレスバッファ６１７が正方状に配列されている。ＲＯＭ６０６ないし６０９のプラグ部５５１との間、および、アドレスバッファ６１７とプラグ部５５１との間には、４つのダイナミックＲＡＭ６１１ないし６１４が並行に配列されている。なお、図示の便宜上、プリント基板５５０の表面上に形成された配線パターンは省略されている。
　マイクロプロセッサ６０１はピングリッドアレイ（ＰＧＡ）タイプの素子であり、他はＳＯＪタイプ、ＳＯＰタイプまたはＱＦＰタイプの素子である。マイクロプロセッサ６０１としては、例えば、ＲＩＳＣプロセッサであるＡＭＤ社製のＡｍ２９０３０（クロック周波数２５ＭＨｚ）が使用される。
　図１３（Ｂ）に示すように、プリント基板５５０の下面側の一端にもプラグ部５５１が形成されている。また、その他端部には、マイクロプロセッサ６０１のピン６０１ｐがそのまま突出してきている。マイクロプログラム６０１の両側には、トライステートのデータバッファ６１９が２つずつそれぞれ配置されている。プリント基板５５０の中央部でややプラグ部５５１寄りの位置には、マイクロプロセッサ６０１用の制御回路がレジスタなどを含むＡＳＩＣ（特定用途向けＬＳＩ）６０３が配置されている。このＡＳＩＣは、後述するデータ転送制御部として働く。
　ＡＳＩＣ６０３に近いプリント基板５５０の側部には、プリンタ本体のコンフィグレーション（印刷枚数、用紙サイズ、マージン、フォント、通信パラメータなどのプリンタの動作に関連するパラメータ）を記憶するＥＥＰＲＯＭ６７０が配置されている。また、ＥＥＰＲＯＭ６７０に隣接して、プリンタ本体のマイクロプロセッサを動作させるためのプログラムを記憶したＲＯＭ６１８が配置されている。
　ＥＥＰＲＯＭ６７０と反対側の端部には、２つの水晶発振子６６１，６６５が設置されている。第１の発振子６６１はマイクロプロセッサ６０１用のクロック信号の基となる信号を発振する第１の発振回路（図１７、符号６６３）を構成し、例えば５０ＭＨｚのクロック信号を発振する。第２の発振子６６５は後述するインターバルタイマ処理部に利用されるクロック信号を発振する第２の発振回路（図１７、符号６６７）を構成し、例えば５ＭＨｚのクロック信号を発振する。このように、マイクロプロセッサ６０１専用の発振子６６１を設けておけば、この発振子６６１を交換するだけでマイクロプロセッサ６０１のクロック周波数を容易に変更できるという利点がある。
　発振子６６５の隣には、リセット素子を用いたりセット信号出力回路６３７と、ＦＩＦＯメモリ６２１と、ＮＡＮＤゲート６８０とがプリント基板５５０の側端に沿って配列されている。さらに、プラグ部５５１に並行に、５つのトライステートなオクタルバッファ６８４ないし６８８が配列されている。
　図１３に示すように、プリント基板５５０の上面側も下面側も共に、長方形の素子の長手方向が、カートリッジ３の挿入方向に揃えられている。このような配列は、矢印で示すように、プラグ部５５１からマイクロプロセッサ６０１の方向に同かう空気の流れを容易にしており、マイクロプロセッサ６０１の冷却に寄与している。
　前述したように、このカートリッジ３はプリンタ本体のフォント用カートリッジ挿入口に挿入される。通常のフォント用カートリッジは、フォントデータを記憶したＲＯＭを収納したものに過ぎない。これに対して、この実施例のカートリッジ３は、マイクロプロセッサ６０１と、マイクロプロセッサ６０１の処理プログラムを記憶したＲＯＭ６０６ないし６０９と、プリンタ本体内のプロセッサの処理プログラムを記憶したＲＯＭ６１８と、ＡＳＩＣ６０３を含む制御回路とを備えている点が特徴的である。
　図１４は、プリント基板５５０の一端に形成されたプラグ部５５１とコネクタＣＮ１１の結線関係を示す図である。プラグ部５５１は、両面プリント基板の２つの面（Ａ面とＢ面）にそれぞれ形成された２５個の端子を有している。図１４において、プラグ部５５１の各端子に対応して信号名が記載されている。なお、信号名の前に付けられた符号「／」は、信号がロウアクティブであることを示している。各信号の意味は、次の通りである。
　信号／ＡＳＢ：ＣＰＵ５１０（モトローラ社製ＭＣ６８０００）が出力するアドレスストローブ信号。
　信号／ＵＤＳ：ＣＰＵ５１０が出力する上位データストローブ信号。
　信号／ＬＤＳ：ＣＰＵ５１０が出力する下位データストローブ信号。
　信号／ＡＤＳ：電子制御装置５０１内においてアドレスストローブ信号／ＡＳＢに基づいて生成されるアドレスストローブ補助信号。このアドレスストローブ補助信号／ＡＤＳは、プリンタの起動時（イニシャライズ時）において、異なるタイプのプリンタでは異なる挙動を示す。この実施例では、後述するように、このアドレスストローブ補助信号／ＡＤＳのイニシャライズ時の挙動に基づいて、プリンタのタイプを判別している。
　信号／ＯＤＴＡＣＫ：カートリッジ５０３から電子制御装置５０１側にデータを転送する際のアウトプットデータアクナリッジ信号。
　信号／ＣＴＲＧＳＥＬ：ＣＰＵ５１０がカートリッジ５０３を選択して、その内部のアドレス空間に割り付けられたＲＯＭ５６やレジスタ等にアクセスする際のカートリッジセレクト信号。
　信号Ａ１〜Ａ２０：ＣＰＵ５１０が出力するアドレス信号。
　信号Ｄ１〜Ｄ１５：カートリッジ５０３側からの出力信号。
　信号Ｒ／Ｗ：ＣＰＵ５１０が出力するリード／ライト信号。
　信号ＳＣＬＫ：レーザプリンタ５００に内蔵された発振器（図示せず）から出力されるクロック信号。
　なお、レーザプリンタ５００側に与えられる信号／ＣＴＲＧＳは、カートリッジ５０３が挿入されるとＬレベルに引き下げられ、ＣＰＵ５１０は、これによってカートリッジ５０３がコネクタＣＮ１１に挿入されていることを検出する。
　ＣＰＵ５１０は、２３ビットのアドレス信号Ａ１ないしＡ２３を用いてワードアドレスを指定し、また、信号／ＵＤＳ，／ＬＤＳを用いて各ワードの上位バイトと下位バイトを指定する。この結果、ＣＰＵ５１０は００００００ｈからＦＦＦＦＦＦｈまでの１６Ｍバイトのアドレス空間を扱うことができる。ここで、アドレスの後に付した記号「ｈ」は１６進数表示であることを示している。
　Ｃ．カートリッジのアドレス空間
　このカートリッジ５０３は、電子制御装置５０１のＣＰＵ５１０の扱うアドレス空間の一部に割り付けられる。ＣＰＵ５１０は、００００００ｈからＦＦＦＦＦＦｈまでの１６Ｍバイトのアドレス空間を扱うが、その一部をＲＯＭカートリッジ用に割り当てている。カートリッジ５０３に割り当てられる空間は、レーザプリンタの機種により異なるが、ヒューレットパッカード社製のレーザプリンタの場合、図１５左欄に示すように、２０００００ｈないし３ＦＦＦＦＦｈあるいは４０００００ｈないし５ＦＦＦＦＦｈといった２Ｍバイトの空間が通常である。
　一方、本実施例のカートリッジ５０３の内部に設けられたマイクロプロセッサ６０１は、ＡＭＤ社製ＡＭＤ２９０３０−２５ＭＨｚであり、その扱えるアドレス空間は００００００００ｈからＦＦＦＦＦＦＦＦｈまでの４Ｇバイトである。このアドレス空間には、ＲＯＭやＲＡＭのみならず、プリンタ側の電子制御装置５０１側とのデータのやり取りに用いる各種レジスタ等が割り当てられる。これを、図１６に示した。以下、カートリッジ５０３内部の電気的な構成を、両マイクロプロセッサにとってのアドレス空間の割付と共に説明する。
　Ｄ．カートリッジの内部構成
　カートリッジ５０３の内部構成を、図１７に示す。図示するように、カートリッジ５０３は、全体の制御を司るマイクロプロセッサ６０１を中心に構成されており、大きくは、ＲＯＭ，ＲＡＭとその周辺回路からなるメモリ部６０２と、電子制御装置５０１とのデータのやり取りの一切を司るデータ転送制御部６０３と、その他の回路とから構成されている。
　メモリ部６０２は、このマイクロプロセッサ６０１が実行するプログラムを記憶する計２ＭバイトのＲＯＭ６０６ないし６０９、このＲＯＭ６０６ないし６０９をバンク切換で使用するためのセレクタ６１０、電子制御装置５０１から受け取った印字データを保存したり展開した後の画像データを保存する計２ＭバイトのＲＡＭ６１１ないし６１４、から構成されている。２ＭバイトのＲＯＭ６０６ないし６０９は、各々１６ビット×２５６キロ＝４ＭビットのマスクＲＯＭであり、図１６に示したように、アドレス空間の００００００００ｈから００１ＦＦＦＦＦｈに割り当てられている。ＲＯＭ６０６および６０７、ＲＯＭ６０８および６０９は、各々バンクを構成し、２個一組の１バンクで、各々３２ビットのデータバスを構成している。ＲＯＭ６０６ないし６０９とマイクロプロセッサ６０１とは、アドレスバスＡＡＢおよび制御信号バスにより接続されている。また、ＲＯＭ６０６ないし６０９のデータバスＩＤＢは、データセレクタ６１０を介してデータバスＤＢ２９に接続されており、これを介してマイクロプロセッサ６０１はＲＯＭ６０６ないし６０９からのデータを読み取ることができる。
　ＲＯＭ６０６および６０７、ＲＯＭ６０８および６０９には、マイクロプロセッサ６０１からのアドレスバスＡＡＢの最下位の３ビット（Ａ０，Ａ１，Ａ２）を除く全アドレス信号が入力されている。最下位の２ビット（Ａ０，Ａ１）が入力されていないのは、マイクロプロセッサ６０１からのデータの読み取りが、１ワード＝３２ビット単位（４バイト単位）で行なわれることよる。また、アドレスのＡ２が付与されていないから、所定の領域のデータを読み取る場合、４個のＲＯＭ６０６ないし６０９は同時にデータを出力することになる。同時に出力されたデータを調整しているのが、データセレクタ６１０である。即ち、マイクロプロセッサ６０１からのＲＯＭへのアクセスは、連続した番地に対して行なわれることが多いから、３２ビットを１ワードとして連続する２ワードを一度にＲＯＭ６０６ないし６０９から読み出しておき、実際に連続したワードの読み取りである場合には、データセレクタ６１０によりＲＯＭの属するバンクを順次切り換えて、連続してデータを読み取るのである。この結果、連続する２ワードに対するデータの読出は、極めて高速になる。
　一方、ＲＡＭ６１１ないし６１４は、１６ビット×２５６キロ＝４ＭビットＤＲＡＭであり、図１６に示したように、アドレス空間の２０００００００ｈから２０１ＦＦＦＦＦｈの２Ｍバイトに割り当てられている。カートリッジ５０３内には、更に２Ｍバイトのメモリが増設可能であり、このために拡張ＲＡＭインタフェース６１５が設けられている。この拡張ＲＡＭインタフェース６１５は、アドレス空間の２０２０００００ｈから２０３ＦＦＦＦＦＦｈに割り当てられている。拡張ＲＡＭインタフェース６１５には、ＳＩＭＭタイプのＲＡＭが最大２Ｍバイト分装着可能である。ＲＡＭ６１１ないし６１４および拡張ＲＡＭインタフェース６１５のデータラインは、マイクロプロセッサ６０１のデータバスＤＢ２９と直接接続されており、そのアドレスラインはデータ転送制御部６０３を介してマイクロプロセッサ６０１のアドレスバスＡＡＢに接続されている。なお、後述する各種レジスタ等のＩ／Ｏは、アドレス空間の８０００００００ｈからに割り当てられている。
　一方、このカートリッジ５０３をプリンタ５００の電子制御装置５０１側から見た場合、図１５の右欄に示したように、先頭の１２８Ｋバイトには、ＲＯＭが割り当てられている。即ち、このカートリッジ５０３は、電子制御装置５０１のＣＰＵ５１０が実行するプログラムも内蔵しており、電子制御装置５０１のＣＰＵ５１０は、カートリッジ５０３が装着されている場合には、初期化の処理の完了後、このＲＯＭの所定の番地へのジャンプ命令を実行する。それ以後、ＣＰＵ５１０は、このＲＯＭに記憶された処理手順に従って動作する。
　ＣＰＵ５１０がカートリッジ５０３に割り当てられたこの２Ｍバイトの空間の先頭から１２８Ｋバイトの空間をアクセスすると、カートリッジ５０３のコネクタ側アドレスバスＣＡＢに設けられたアドレスバッファ６１７を介して出力されるアドレス信号によりＲＯＭ６１８がアクセスされ、このＲＯＭ６１８に記憶された命令やデータが、コネクタ側のデータバスＣＤＢに設けられたデータバッファ６１９を介して電子制御装置５０１側のＣＰＵ５１０に送られる。なお、図１５において、「Ｘ」は、割り当てられた空間の先頭アドレスの最上位の４ビットの値を示している。
　Ｅ．データ転送制御部６０３の説明
　図１５，図１６に示したアドレスマップにおいてＲＯＭやＲＡＭが割り当てられたアドレス以外のアドレスには、種々のコントロールレジスタ，ステータスレジスタが置かれている。これらのレジスタは、データ転送制御部６０３により実現されているので、次にこのデータ転送制御部６０３について説明する。回路の説明が中心となるが、アドレスマップ（図１５，図１６）を適宜参照する。
　図１７に示すデータ転送制御部６０３は、ユーザブルゲート７９００のＡＳＩＣにより実現されている。このＡＳＩＣは、セイコーエプソン社製、型番ＳＳＣ３６３０のスタンダードセルであり、ＣＭＯＳプロセスにより作られた電力消費の小さな素子である。データ転送制御部６０３は、ＣＡＤシステムであるセイコーエプソン社製ＡＳＩＣデザインシステム「ＬＡＤＳＮＥＴ」を用いて設計された。このＣＡＤシステムは、論理回路設計に使用するラッチ、フリップフロップ、カウンタ、プログラマブルロジックアレイ等の要素をライブラリの形で用意しており、これらを用いて必要な論理回路の設計を行なった後、ＡＳＩＣとしてのパターンを自動生成することができる。
　ＡＳＩＣとして実現されたデータ転送制御部６０３は、カートリッジ５０３がプリンタ５００のコネクタＣＮ１１に装着された状態で、プリンタ５００の電子制御装置５０１のＣＰＵ５１０と、カートリッジ５０３のマイクロプロセッサ６０１との間のデータのやり取りを制御するものである。両者間のデータのやり取りは、電子制御装置５０１側からカートリッジ５０３側に読み出し専用のデータバスを介してデータを送るための読出制御回路６２０と、同じく読出制御回路６２０の一部の構成を利用しＦＩＦＯメモリ６２１を介してデータを受け渡すＦＩＦＯ制御回路６２３、カートリッジ５０３側が用意したデータを電子制御装置５０１の側から読み取り可能とするダブルバンク制御回路６２４により実現される。なお、ＦＩＦＯメモリ６２１は、ファーストインファーストアウトの手順でデータを記憶し読み出すＲＡＭであり、本実施例では、三菱電機社製Ｍ６６２５２ＦＰを使用した。
　また、データ転送制御部６０３には、電子制御装置５０１側との信号線として、そのアドレスバスＣＡＢがアドレスバッファ６１７を介して、一方、データバスＣＤＢがデータバッファ６１９を介して、各々接続されている。データ転送制御部６０３内には、このアドレスバスＣＡＢの信号をおよびカートリッジセレクトの信号ＣＳＥＬを受けて、データ転送制御部６０３内の各部に選択信号を出力する第１のデコーダ６３１が構成されている。同様に、マイクロプロセッサ６０１からのアドレスバスＡＡＢおよびコントロール信号ＣＣＣもデータ転送制御部６０３に接続されており、データ転送制御部６０３内には、このアドレスバスＡＡＢを受けて、内部の各直路に選択信号を出力する第２のデコーダ６３２が構成されている。更に、このアドレスバスＡＡＢおよびコントロール信号ＣＣＣを受けて、ＲＯＭ６０６ないし６０９，ＲＡＭ６１１ないし６１４および拡張ＲＡＭインタフェース６１５にアドレス信号および制御信号を出力するバス制御部６３５も、構成されている。
　これらの他、データ転送制御部６０３内部には種々のレジスタが構成されているが、レジスタヘの読み書きは、通常のリード・ライト動作によるものの他、特定の処理を行なったとき、自動的に書き込まれるものも少なくない。これらの特殊なレジスタの構成については、後述する。また、カートリッジ５０３が電子制御装置５０１側から見て読出専用のデバイスとして扱われている関係で、電子制御装置５０１側から書込可能なレジスタは、所定の番地からの読み取り動作を行なうことで書き込まれる構成となっている。即ち、所定の番地を指定することで第１のデコーダ６３１から選択信号が出力され、この信号によりレジスタにデータが書き込まれるのである。レジスタからの読出は、通常のリードサイクルにより行なわれる。また、マイクロプロセッサ６０１側からは、通常の読出・書込動作によりデータのリード・ライトが行なわれる。図１７では、レジスタは読み取り可能なバスに接続した状態で描き、書込動作は単なる矢印で示した。こうしたレジスタとしては、割込要求レジスタ６４０、ポーリング・コマンドレジスタ６４３、ステータスレジスタ（図１５レジスタＳＴＡＴＵＳ）６４５、転送フラグレジスタ（図１６レジスタＢＰＯＬＬ）６４７、ＰＲＯＭコントロールレジスタ６４９、コントロールレジスタ６５０がある。
　これらのレジスタのうち、ステータスレジスタ６４５と転送フラグレジスタ６４７を除くレジスタは、電子制御装置５０１のＣＰＵ５１０もしくはカートリッジ５０３のマイクロプロセッサ６０１にメモリマップドＩ／Ｏとして割り当てられた複数のレジスタの総称である。複数のレジスタは、必ずしも連続したアドレスに割り当てられている訳ではない。割込要求レジスタ６４０には、図１５，図１６に示したレジスタＡＭＤＩＮＴ０，１，２およびレジスタＡＭＤＣＬＲ０，１，２が属する。また、ポーリング・コマンドレジスタ６４３には、レジスタＰＯＬＬおよびレジスタＭＣＯＮＴＣＳが属する。ＰＲＯＭコントロールレジスタ６４９には、レジスタＥＥＰＣＳ，ＥＥＰＳＫ，ＥＥＰＤＩが属する。
　コントロールレジスタ６５０には、読出制御回路６２０，ＦＩＦＯ制御回路６２３，ダブルバンク制御回路６２４に属さないレジスタで、以上の説明に挙がらなかった総てのレジスタが属する。これらは、図１５，図１６に示したレジスタＡＤＤＭＵＸＡ，ＡＤＤＭＵＸＢ，ＣＬＫＤＩＶ，ＲＴＣＶＡＬ，ＲＴＣＯＮ，ＲＴＣＳＥＬ，ＲＴＣＣＬＲ，ＳＹＳＫＥＥＰである。
　また、図１５，図１６のメモリマップに示したうち、各々５１２バイトの領域ＥＷＷＲＬ，ＥＷＷＲＨは、電子制御装置５０１側から読出制御回路６２０の第１，第２のラッチ６５１，６５２への書込に用いる領域であり、レジスタＥＷＲＤはこのラッチ６５１，６５２を１ワードとしてマイクロプロセッサ６０１側からみたものに相当する。レジスタＦＩＦＯＲＥＱ，ＦＩＦＯＲＳＴ，ＦＩＦＯＷＲはＦＩＦＯ制御回路６２３のＦＩＦＯレジスタ６５３に相当し、レジスタＦＩＲＣＬＫ，ＲＤＣＬＫ，ＦＩＦＯＲＤ，ＲＤＲＳＴはＦＩＦＯ制御回路６２３のＦＩＦＯ読出レジスタ６５５に相当する。なお、ＦＩＦＯ制御回路６２３には、ＦＩＦＯメモリ６２１に書き込むデータを、読出制御回路６２０の機能の一部を用いて保持するラッチ６５７も備えられている。
　図１５に符号ＤＰＲＡＭＡ，ＤＰＲＡＭＢで示した領域は、３２バイトの容量を有するバッファであり、ダブルバンク制御回路６２４の第１，第２のバッファ６５８，６５９を電子制御装置５０１側から見たものに相当する。このバッファ６５８，６５９をマイクロプロセッサ６０１側から見たのが、図１６に示すバンクＤＰＷＲＯＡ，ＤＰＷＲＯＢである。なお、ダブルバンク制御回路６２４を介したデータのやり取りには、ステータスレジスタ６４５の所定ビットｄ１，ｄ２も用いられるが、その詳細は後述する。
　Ｆ．各レジスタの説明
　割込要求レジスタ６４０は、電子制御装置５０１側からマイクロプロセッサ６０１への割込の要求を発生させ、これを保持するレジスタである。電子制御装置５０１からマイクロプロセッサ６０１への割込は３レベル用意されており、図１５に示すように、３つのレジスタ（ＡＭＤＩＮＴ０，１，２）が設けられている。電子制御装置５０１側からこの割込要求レジスタ６４０のいずれかを読み取ることで、マイクロプロセッサ６０１に対する割込要求が発生する。このレジスタのセットは、電子制御装置５０１からの読み取り動作により行なわれるが、読み取られるデータには意味がなく、割込要求に発生には無関係である。
　この割込要求レジスタ６４０の具体的な構成例を図１８に示す。このレジスタは、３個のＤ型フリップフロップから構成されている。各フリップフロップを以下割込要求レジスタ６４０ａ，ｂ，ｃと呼ぶが、電子制御装置５０１からの上記レジスタの読み取り動作により第１のデコーダ６３１が出力する信号／ＡＭＤＩＮＴ０，１，２により、この割込要求レジスタ６４０ａ，ｂ，ｃの出力端子Ｑはアクティブロウにセットされ、割込信号／ＩＮＴ０，１，２が出力される。なお、信号明の前に付けられた符号「／」は、信号がロウアクティブであることを示す（以下、同じ）。これらの割込要求レジスタ６４０ａ，ｂ，ｃの出力をクリアするレジスタは、図１６に示すように、読み取り専用の３のレジスタ（ＡＭＤＣＬＲ０，１，２）として所定のアドレスに割り当てられている。従って、マイクロプロセッサ６０１からこのレジスタが割り当てられた各アドレスに対する読み取り動作を行なうと、第２のデコーダ６３２は信号／ＩＮＴＣＬＲ０，１，２を各々出力し、対応するフリップフロップはプリセットされる。
　電子制御装置５０１側から割込要求をかける場合には、割込要求レジスタ６４０のいずれかをアクセスすれば良く、マイクロプロセッサ６０１は優先順位を判定して、割込要求に応える処理を行なう。この場合に、マイクロプロセッサ６０１は、対応する割込要求レジスタ６４０ａ，ｂ，ｃをクリアする。なお、信号ＰＵＰ２等のように符号「ＰＵＰ」で始まる信号は、リセット信号出力回路６３７から出力される信号であり、リセット時等にロウになる信号である。図１８に示した信号ＰＵＰ２は、３つの割込要求を一度にクリアするための信号である。
　ポーリング・コマンドレジスタ６４３は、マイクロプロセッサ６０１側から電子制御装置５０１側ヘコマンドを引き渡すレジスタであり、マイクロプロセッサ６０１側から書込可能でかつ電子制御装置５０１側から読み取り可能なレジスタである。このレジスタのハードウェア上の構成例を、図１９に示す。図示するように、ポーリング・コマンドレジスタ６４３は、１６ビット幅のデータラッチを構成する２個のオクタルＤ型フリップフロップ６４３ａ，ｂ、および１個のＤ型フリップフロップ６４３ｃから構成することができる。
　オクタルＤ型フリップフロップ６４３ａ，ｂのデータ入力端子１Ｄないし８Ｄには、マイクロプロセッサ６０１からのデータバスＤＢ２９（バス幅１６ビット）が接続されており、その出力端子１Ｑないし８Ｑには、電子制御装置５０１側からのデータバスＤＢ６８（バス幅１６ビット）に接続されている。オクタルＤ型フリップフロップ６４３ａ，ｂのクロック端子ＣＫには、マイクロプロセッサ６０１側からのポーリング・コマンドレジスタ６４３のアクセス（図１６、レジスタＭＣＯＮＴＣＳ）に際して第２のデコーダ６３２から出力される信号／ＭＣＯＮＴＣＳが接続されており、この信号がアクティブロウとなったとき、マイクロプロセッサ６０１側のデータバスＤＢ２９の内容がオクタルＤ型フリップフロップ６４３ａ，ｂにラッチされる。また、オクタルＤ型フリップフロップ６４３ａ，ｂの出力を有効にするアウトプットイネーブル端子ＯＥには、電子制御装置５０１側からのポーリング・コマンドレジスタ６４３のアクセス（図１５、レジスタＰＯＬＬ）に際して第１のデコーダ６３１から出力される信号／ＰＯＬＬが接続されており、この信号がロウアクティブとなったとき、オクタルＤ型フリップフロップ６４３ａ，ｂに保持されたデータが電子制御装置５０１側のデータバスＤＢ６８に出力される。
　なお、信号／ＭＣＯＮＴＣＳおよび信号／ＰＯＬＬは、Ｄ型フリップフロップ６４３ｃのクロック端子Ｃおよびプリセット端子ＰＲに接続されており、その出力端子Ｑからの信号ＣＭＤＲＤは、オクタルＤ型フリップフロップ６４３ａ，ｂによるデータのラッチが行なわれると（信号／ＭＣＯＮＴＣＳがロウ）、ハイレベルにセットされ、このデータを電子制御装置５０１側から読み出すと（信号／ＰＯＬＬがロウ）、ロウレベルにリセットされる。Ｄ型フリップフロップ６４３ｃの出力信号であるＣＭＤＲＤは、電子制御装置５０１側から読出可能なステータスレジスタ６４５の所定ビットｄ３（以下、フラグＣＭＤＲＤとも呼ぶ）となっている。従って、電子制御装置５０１側からこのステータスレジスタ６４５を読み取ることで、電子制御装置５０１は、マイクロプロセッサ６０１からポーリング・コマンドレジスタ６４３にコマンドがセットされたことを知ることができる。
　電子制御装置５０１は、ステータスレジスタ６４５のビットｄ３であるフラグＣＭＤＲＤを見て、コマンドがセットされたことを知ると、通常のリードサイクルによりポーリング・コマンドレジスタ６４３の内容、即ちマイクロプロセッサ６０１から送られるコマンドを読み取る。コマンドの内容としては、印字データのデータ転送制御部６０３側への転送開始の指示，印刷の開始の指示あるいはコンソールパネル５１８へのメッセージの表示等がある。電子制御装置５０１がポーリング・コマンドレジスタ６４３の内容を読み取ると、図１９に示したように、Ｄ型フリップフロップ６４３ｃの出力信号ＣＭＤＲＤは、信号／ＰＯＬＬによりハイレベルに反転する。従って、マイクロプロセッサ６０１は、この転送フラグレジスタ６４７の所定ビットｄ２を監視することで、自己の出力したコマンドが電子制御装置５０１側に読み取られた否かを知ることができる。
　ステータスレジスタ６４５は、マイクロプロセッサ６０１からコマンドがセットされたか否かを示す上述した情報以外に、図２０に示す情報を保持するレジスタである。各ビットの内容について説明する。ビットｄ０は、後述する読出制御回路６２０に電子制御装置５０１側からデータが書き込まれたとき、読出制御回路６２０内で生成される信号ＥＷＲＤＹによりロウレベルにセットされ、そのデータがマイクロプロセッサ６０１側によって読み取られたとき、第２のデコーダ６３２からの信号によりハイレベルにリセットされる。このビットをフラグＥＷＲＤＹと呼ぶ。
　ビットｄ１，ｄ２は、ダブルバンク制御直路６２４が電子制御装置５０１側とマイクロプロセッサ６０１側のいずれからアクセス可能な状態であるかを示すものであり、それぞれフラグＡＤＤＭＵＸＡ，ＡＤＤＭＵＸＢと呼ぶ。２つのビットは、ダブルバンク制御回路６２４に内蔵された２つの転送用バンクの各々に対応している。このビットｄ１，ｄ２は、マイクロプロセッサ６０１が、図１６に示したように、コントロールレジスタ６５０に含まれるレジスタＡＤＤＭＵＸＡ，ＡＤＤＭＵＸＡＢのビットｄ０にデータを書き込むことでセット・リセットされる。従って、マイクロプロセッサ６０１側からは、ダブルバンク制御回路６２４の一方のバンクヘのデータの書込に先だって、このフラグをロウレベルにセットし、書込完了後にハイレベルにリセットし、電子制御装置５０１側からは、このフラグがハイレベルである側のバンクからデータを読み出すものとすれば、２つのバンクに交互にデータを書き込み、読み出すことで、マイクロプロセッサ６０１側から電子制御装置５０１側に連続してデータを受け渡すことができる。
　ビットｄ３（フラグＣＭＤＲＤ）については、既に説明した。ビットｄ５は、マイクロプロセッサ６０１の動作クロックに基づいてセットされるフラグＣＬＫＤＩＶである。マイクロプロセッサ６０１の動作クロックは、外付けの水晶発振子ＣＲＣ１を用いた第１の発振器６６１から出力されるクロックＣＬＫが使用されるが、マイクロプロセッサ６０１側からコントロールレジスタ６５０のレジスタＣＬＫＤＩＶの所定ビットｄ０に値０を書き込むと、マイクロプロセッサ６０１の動作クロックＣＬＫは２５ＭＨｚとなり、ビットｄ０に値１を書き込むと、動作クロックは１２．５ＭＨｚとなる。電子制御装置５０１側からみたステータスレジスタ６４５のフラグＣＬＫＤＩＶは、このクロックＣＬＫが２５ＭＨｚの場合にロウレベルにセットされ、１２．５Ｍの場合にハイレベルにセットされる。電子制御装置５０１側は、データ転送のタイミング等を合わせるためにマイクロプロセッサ６０１の動作クロックの周波数、つまり動作速度を知る必要がある場合、ステータスレジスタ６４５のこのビットをチェックする。
　ビットｄ６は、マイクロプロセッサ６０１が動作している場合にハイレベルにセットされ、スリープモードに入った場合にロウレベルにセットされるフラグＡＤＭＯＮである。本実施例では、マイクロプロセッサ６０１は、ページ記述言語を電子制御装置５０１側から受け取り、これを展開して画像データにする処理を行なうから、電子制御装置５０１側から処理すべきページ記述言語が送られて来ないまま所定時間が経過した場合には、マイクロプロセッサ６０１は、省電力を図るため、最初動作周波数を１／２、即ち１２．５ＭＨｚとし、更に時間が経過すると自らの動作を止めていわゆるスリープモードに入る。この時マイクロプロセッサ６０１は、コントロールレジスタ６５０のレジスタＡＤＭＯＮに値０を書き込む。この結果、電子制御装置５０１側からみて、ステータスレジスタ６４５のこのビットｄ６がロウレベルとなり、電子制御装置５０１側からこのビットをチェックすることにより、マイクロプロセッサ６０１の動作モードを知ることができるのである。
　なお、こうした時間の計測等には、データ転送制御部６０３に組み込まれたリアルタイムクロックが用いられる。このリアルタイムクロック用のクロックＲＣＬＫは、外付けの水晶発振子６６５を用いて構成された第２の発振回路６６７からのクロックが用いられている。リアルタイムクロックは、バス制御部６３５内に構成されており、マイクロプロセッサ６０１からの指示を受けて、所定時間の経過を計測する。水晶発振子および発振器を２組設けているのは、マイクロプロセッサ６０１の動作クロックＣＬＫを、リアルタイムクロックの動作クロックＲＣＬＫとは独立に変更可能とするためである。
　リアルタイムクロックは、コントロールレジスタ６５０に属するレジスタＲＴＣＶＡＬ，ＲＴＣＳＥＬのｄ１ビットをロウまたはハイにすることで、４種類のインターバルタイマを指定することができ、レジスタＲＴＣＯＮの所定ビットｄ０に値１を書き込むことでそのタイマをスタートさせることができる。スタートされたタイマは、レジスタＲＴＣＯＮのビットｄ０に値０が書き込まれて停止されるまで、所定のインターバルでマイクロプロセッサ６０１に対して割込要求信号を出力する。マイクロプロセッサ６０１は、この割込要求信号を受け付けると、レジスタＲＴＣＣＬＲを読み取って割込要求をクリアする。これらのインターバルタイマの出力は、ページ記述言語処理におけるユーザタイム等のカウントに利用している。
　次にＰＲＯＭコントロールレジスタ６４９の構成について説明する。ＰＲＯＭコントロールレジスタ６４９には、図１６に示す３のレジスタＥＥＰＣＳ，ＥＥＰＳＫ，ＥＥＰＤＩが含まれるが、これらのレジスタは、カートリッジ５０３に内蔵されたメモリであって電気的にデータを消去・書換可能なＥＥＰＲＯＭ６７０とのデータのやり取りに用いられる。
　本実施例のカートリッジ５０３は、レーザプリンタ５００の動作に必要な諸変数（コンフィグレーション）を、ＥＥＰＲＯＭ６７０に記憶する。このＥＥＰＲＯＭ６７０は、シリアル転送によりデータの読出，消去，書込を行なうタイプのものであり、本実施例では、ナショナルセミコンダクター社製ＮＭＣ９３Ｃ６６Ｘ３を使用している。このＥＥＰＲＯＭ６７０は、記憶容量として１６ビット×２５６バイト（レジスタ数）の容量を持ち、指定された任意のレジスタの内容を読出，消去，書込可能である。ＥＥＰＲＯＭ６７０は、チップセレクト信号ＣＳにより選択状態にされると、シリアルデータ入力端子Ｄｉｎに送り込まれる「０」「１」のデータをシリアルデータクロックＳＬに同期して取り込むが、データの転送の最初の３ビットはＥＥＰＲＯＭへの命令として解釈され、次の８ビットがデータの読出，消去もしくは書込が行なわれるレジスタ番号と解釈される。データの書込の場合には、これらの命令およびレジスタの指定に続いて、シリアルデータクロックＳＬに同期して記憶すべきデータがデータ入力端子Ｄｉｎに与えられることになる。
　レジスタＥＥＰＣＳは、チップセレクト信号を切り換えるものであり、マイクロプロセッサ６０１がこのレジスタのビットｄ０に値１を書き込むと、ＥＥＰＲＯＭ６７０は選択状態となる。レジスタＥＥＰＳＫは、シリアルデータクロックＳＫを生成するレジスタであり、マイクロプロセッサ６０１はこのレジスタに値０と値１とを交互に書き込むことで、ＥＥＰＲＯＭ６７０用のシリアルデータクロックを生成する。レジスタＥＥＰＤＩは、ＥＥＰＲＯＭ６７０に書き込まれるべき１ビットのデータを保持するレジスタであり、マイクロプロセッサ６０１は、レジスタＥＥＰＳＫを書き換えてシリアルデータクロックＳＫを生成するのに同期して、このレジスタＥＥＰＤＩの所定ビットｄ０を、書き込むべきデータに従って書き換える。ＥＥＰＲＯＭ６７０のデータ出力端子Ｄｏｕｔは、先に説明した転送フラグレジスタ６４７の所定ビットｄ０になっており、マイクロプロセッサ６０１は、ＥＥＰＲＯＭ６７０にデータ読出命令と読み出すレジスタの番号を出力した後、シリアルデータクロックＳＫに同期して転送フラグレジスタ６４７のビットｄ０を読み取れば、指定したレジスタの内容を読み込むことができる。ＥＥＰＲＯＭ６７０に記憶されたデータは、電源をオフとしても保存されるから、レーザプリンタ５００に電源を投入した直後に、ＥＥＰＲＯＭ６７０の内容を読み出して、コンフィグレーションを電源断の直前の状態に戻すことができる。
　Ｇ．読出制御回路６２０の構成と働き
　次に、読出制御回路６２０の構成例と読出制御回路６２０によるデータ転送の手順について説明する。読出制御回路６２０は、８ビット×２個の第１，第２のラッチ６５１，６５２と共に、図２１に示すように、転送に必要なデータを出力するＲＯＭ６７１、３入力アンドゲート６７２、ステータスレジスタ６４５のフラグＥＷＲＤＹ（ビットｄ０）を生成するＤ型フリップフロップ６７４を備える。読出制御回路６２０を電子制御装置５０１側から見ると、このラッチ６５１，６５２が、図１５に示したように、８ビット単位でデータを転送する２つのレジスタＥＷＷＲＬ，ＥＷＷＲＨに相当する。これらのレジスタは、各々１ワード１６ビットのデータの下位バイト，上位バイトの転送に用いられる。なお、第１，第２のラッチ６５１，６５２は、マイクロプロセッサ６０１側から見ると、図１６に示すレジスタＥＷＲＤに相当する。即ち、マイクロプロセッサ６０１側からは、データバスＤＢ２９０介して、両ラッチ６５１，６５２を１ワードとして読み取ることができる。
　読出制御回路６２０のＲＯＭ６７１は、２５６バイトのデータを記憶するＲＯＭであり、例えばヒューズＲＯＭ，小容量のＰＲＯＭ等により実現することができる。もとより、記憶容量の大きなＲＯＭの一部として実現してもよく、ＲＡＭを用いる場合には予めデータを転送しておくことで同等の機能を実現するができる。このＲＯＭ６７１のアドレス端子Ａ０ないしＡ７には、コネクタ側アドレスバスＣＡＢからのアドレスラインのうち下位の８ビット（ＡＣ１ないしＡＣ８）が接続されており、データ端子Ｏ０ないしＯ７は、第１のラッチ６５１および第２のラッチ６５２の入力側１Ｄなし８Ｄに接続されている。なお、ＲＯＭ６７１の出力は、ＦＩＦＯ制御回路６２３にとってのデータバスＺ０ないしＺ７として、ＦＩＦＯ制御回路６２３にも出力されている。
　第１のラッチ６５１，第２のラッチ６５２の出力側は、データバスＤＢ２９に接続されており、マイクロプロセッサ６０１から、レジスタＥＷＲＤとして読み取り可能である。ＲＯＭ６７１のチップセレクトＣＥおよびアウトプットイネーブルＯＥには、３入力アンドゲート６７２の出力信号／ＥＷＲＯＭが入力されており、３入力アンドゲート６７２の各入力に入る信号／ＥＷＷＲＨ，／ＦＩＦＯＷＲ，／ＥＷＷＲＬのいずれかがアクティブロウとなったとき、アクティブとなり、この時ＲＯＭ６７１は、コネクタ側アドレスバスＣＡＢの下位８ビットにより指定されたアドレスのデータを出力する。
　信号／ＥＷＷＲＨは、読出制御回路６２０による上位バイトの転送が指定された時にロウレベルになる信号であり、信号／ＥＷＷＲＬは、同じくその下位はバイトの転送が指定された時にロウレベルになる信号であり、信号／ＦＩＦＯＷＲは、ＦＩＦＯ制御回路６２３によるデータ転送が指定された時にロウレベルになる信号である。信号／ＥＷＷＲＬおよび信号／ＥＷＷＲＨは、各々第１のラッチ６５１および第２のラッチ６５２のクロック端子ＣＫに入力されているから、これらの信号がアクティブとなってＲＯＭ６７１からデータが出力されたとき、そのデータは、第１のラッチ６５１，第２のラッチ６５２に保持される。しかも、信号／ＥＷＷＲＬは、Ｄ型フリップフロップ６７４のクロック端子Ｃにも入力しているから、下位バイトの転送時には、Ｄ型フリップフロップ６７４の出力Ｑはロウレベルに反転する。この出力ＥＷＲＤＹは、既述したステータスレジスタ６４５のビットｄ０および転送フラグレジスタ６４７のビットｄ１、即ちフラグＥＷＲＤＹとして扱われている。
　第１のラッチ６５１，第２のラッチ６５２は、マイクロプロセッサ６０１側からはレジスタＥＷＲＤとして扱われるから、第１のラッチ６５１および第２のラッチ６５２に保持されたデータを読み取ろうとする場合、マイクロプロセッサ６０１はレジスタＥＷＲＤに対する読み取り動作を行なう。この時、信号／ＥＷＲＤがロウアクティブとなり、この信号がアウトプットイネーブル端子に接続された第１のラッチ６５１，第２のラッチ６５２の出力側、即ちデータバスＤＢ２９には、先に保持されたデータが出力される。この信号／ＥＷＲＤは、Ｄ型フリップフロップ６７４のプリセット端子ＰＲに接続されているから、マイクロプロセッサ６０１側から第１のラッチ６５１，第２のラッチ６５２のデータが読み取られると同時に、Ｄ型フリップフロップ６７４のＱ出力である信号ＥＷＲＤＹはハイレベルに反転する。即ち、ステータスレジスタ６４５のビットｄ０および転送フラグレジスタ６４７のビットｄ１であるフラグＥＷＲＤＹは、値１にセットされる。
　かかるハードウェアを前提として、電子制御装置５０１およびマイクロプロセッサ６０１は、以下の手順で、電子制御装置５０１側からマイクロプロセッサ６０１側へのデータの転送を行なう。電子制御装置５０１側からマイクロプロセッサ６０１側に転送されるデータは、電子制御装置５０１がワークステーション５０７から受け取った印字データであり、カートリッジ５０３側のマイクロプロセッサ６０１で、処理しようとするページ記述言語のプログラムである。読出制御回路６２０によるデータ転送は、電子制御装置５０１側のＣＰＵ５１０が実行するカートリッジヘのデータ転送処理ルーチン（図２２）、およびカートリッジ５０３側のマイクロプロセッサ６０１が実行するのデータ読み込み割込処理ルーチン（図２４）により行なわれる。
　カートリッジ５０３側に転送すべき印字データが整うと、ＣＰＵ５１０は、図２２のフローチャートに示す処理を起動し、まずステータスレジスタ６４５のフラグＥＷＲＤＹ（ビットｄ０）を読み取る処理を行なう（ステップＳ７００）。このフラグＥＷＲＤＹは、読出制御回路６２０の第１のラッチ６５１，第２のラッチ６５２にデータがセットされると値０となり、そのデータがマイクロプロセッサ６０１により読み取られると値１にセットされるから、次にこのフラグＥＷＲＤＹが値１であるか否かの判断を行なう（ステップＳ７０５）。
　フラグＥＷＲＤＹが値１となるまで待機し、値１となると、次に（領域ＥＷＷＲＨの先頭アドレス＋転送したいデータＤ×２）のアドレスを読み取る処理を行なう（ステップＳ７１０）。領域ＥＷＷＲＨに対する読取処理を行なうと、ＲＯＭ６７１からデータが読出される。ＲＯＭ６７１には、図２３に示すように、その先頭番地ＥＷＷＲＨからの偶数番地に００ｈからＦＦｈまでの２５６のデータが、順に書き込まれている。奇数番地にデータを置かないのは、ＣＰＵ５１０のデータアクセスは１ワード（１６ビット）で行なうのが基本であり、奇数番地から始まるワード単位のアクセスはできない（アドレスバスエラー要因となる）からである。領域ＥＷＷＲＨの先頭からＤ×２だけ隔たったアドレスに対して読出処理を行なうと、ＲＯＭ６７１からはデータＤが読出され、これが図２１に示したように、第２のラッチ６５２にラッチされる。
　こうして転送したいデータの上位バイトの転送（第２のラッチ６５２がデータを保持）が行なわれると、ＣＰＵ５１０は、同様に下位バイトの転送（第１ラッチ６５１がデータを保持）を行なう（ステップＳ７１５）。以上の処理により、１ワード分のデータが第１，第２のラッチ６５１，６５２に保持されたとして、ＣＰＵ５１０は、割込要求レジスタのひとつ（本実施例ではＡＭＤＩＮＴ０）をセットする処理を行なう（ステップＳ７２０）。
　ＣＰＵ５１０は、引き続き図２２に示した転送処理ルーチンを繰り返し実行するが、第１のラッチ６５１によるデータの保持が行なわれると、図２１に示したように、フラグＥＷＲＤＹはロウレベルにセットされるから、このフラグＥＷＲＤＹがハイレベル（値１）となるまで、次のデータの転送処理は行なわれない（ステップＳ７００，７０５）。
　ＣＰＵ５１０が割込要求レジスタ（ＡＭＤＩＮＴ０）をセットすると、マイクロプロセッサ６０１は、この割込要求を受け付けて、図２４に示すデータ読み込み割込処理ルーチンを起動する。即ち、この割込要求は、カートリッジ３へのデータ転送の通知として扱われる。この処理が起動されるのは、読出制御回路６２０の第１，第２のラッチ６５１，６５２にデータが保持された直後であり、マイクロプロセッサ６０１は、レジスタＥＷＲＤを読み込むことにより、電子制御装置５０１側が用意した１ワードのデータを読み取る（ステップＳ７３０）。その後、マイクロプロセッサ６０１は、読み取ったこのデータをＲＡＭ６１１ないし６１４の所定の領域に転送する（ステップＳ７３５）。
　以上説明した処理により、電子制御装置５０１側は、読出専用線であるデータバスＣＤＢで接続されているに過ぎないカートリッジ５０３側にデータを転送することができる。しかも、データの転送を行なった直後に割込要求によりカートリッジ３にデータを転送したことを通知するので、カートリッジ３は効率よく電子制御装置５０１からデータを受け取ることができる。従って、カートリッジ３のマイクロプロセッサ６０１は、電子制御装置５０１によるデータの転送を監視し続ける必要がなく、電子制御装置５０１による次のデータの書き込みを待たせることもない。更に、本実施例では、電子制御装置５０１からデータの転送があったことは、転送フラグレジスタ６４７のビットｄ１、即ちフラグＥＷＲＤＹによっても、知ることができる。従って、割込要求レジスタＡＭＤＩＮＴ０に複数の条件を割り付けた場合でも、この割込要求を受け付けたとき、マイクロプロセッサ６０１がフラグＥＷＲＤＹを確認することで、データ転送の要求を他の要求から確実に弁別することができる。
　また、本実施例では、ＣＰＵ５１０からセットされたデータをマイクロプロセッサ６０１が読み取ってデータの転送が完了すると、ハードウェアによりフラグＥＷＲＤＹが反転するから、電子制御装置５０１は、データ転送の完了を直ちに知ることができる。従って、本実施例では、複数のデータの順次転送を高速に行なうことができる。加えて、本実施例では、データの書込はバイト単位で行ない、読出はワード単位で行なうので、マイクロプロセッサ６０１は効率良くデータを取り込むことができる。なお、ここでは１ワードのデータを転送する場合を例に取って説明したが、データの転送はワード単位である必要はなく、バイト単位で転送するものとしてもよい。そのばあいには、領域ＥＷＷＲＬ側を用いた転送のみを行ない、マイクロプロセッサ６０１側で上位の８ビットのデータを捨てれば良い。
　Ｈ．ＦＩＦＯ制御回路６２３の構成と働き
　ＦＩＦＯ制御回路６２３は、ＦＩＦＯメモリ６２１に書き込むデータをラッチするラッチ６５７、このＦＩＦＯメモリ６２１へのデータの書込を制御するＦＩＦＯ書込レジスタ６５３、同じく読出を制御するＦＩＦＯ読出レジスタ６５５を備える。このＦＩＦＯメモリ６２１は、２０４８バイトのデータを蓄えることができ、内部に書き込み用アドレスカウンタと読み出し用カウンタとを備える。ＦＩＦＯメモリ６２１には、これらのカウンタをそれぞれリセットする書込側リセット端子，読出側リセット端子、書込側の８ビットのデータバスと読出側の８ビットのデータバス、書込用のクロック端子、読出用のクロック端子が設けられている。
　このＦＩＦＯメモリ６２１を用いてデータを電子制御装置５０１側からマイクロプロセッサ６０１側に転送するには、電子制御装置５０１のＣＰＵ５１０は図２５に示す転送処理ルーチンを、カートリッジ５０３のマイクロプロセッサ６０１は図２６に示す処理ルーチンを、各々実行する。まず、図２５のフローチャートに示した処理ルーチンを説明する。
　電子制御装置５０１側のＣＰＵ５１０は、ＦＩＦＯ制御回路６２３を用いて、複数バイトのデータ転送を行なう。
　電子制御装置５０１のＣＰＵ５１０が図２５に示したデータ転送処理ルーチンを起動すると、まずＦＩＦＯ制御面路６２３のＦＩＦＯ書込回路６５４に属するレジスタＦＩＦＯＲＳＴを読み出す処理を行ない、書込側のアドレスカウンタをリセットする処理を行なう（ステップＳ７５０）。続いて、送り出すデータの数をカウントするために変数Ｎを値０にリセットする（ステップＳ７５５）。その後、（レジスタＦＩＦＯＷＲの先頭アドレス＋転送したいデータＤ×２）番地を読み出す処理を行なう（ステップＳ７６０）。このアドレスを読み出すと、読出制御回路６２０と同様に、ＲＯＭ６７１の所定の番地がアクセスされて（図２３参照）、ＣＰＵ５１０が転送しようとしたデータＤが出力され、これが図２１に示すバスＺ０ないしＺ７を介してラッチ６５７にラッチされる。
　続いて、ＦＩＦＯ制御回路６２３のレジスタＦＩＦＯＲＥＱを読み出してラッチ６５７に保持されたデータＤをＦＩＦＯメモリ６２１に転送する処理を行なう（ステップＳ７６５）。レジスタＦＩＦＯＲＥＱを読み出すと、ＦＩＦＯメモリ６２１の書込側のクロック端子に書込クロックが出力され、ラッチ６５７に保持されたデータＤが、ＦＩＦＯメモリ６２１の書込側アドレスカウンタが示す番地に書き込まれる。と同時にＦＩＦＯメモリ６２１内の書込側アドレスカウンタの内容は、値１だけインクリメントされる。こうして１バイトのデータを書き込むと、転送したデータ数を示す変数聾を値１だけインクリメントし（ステップＳ７７０）、変数Ｎが転送しようとするデータの総バイト数Ｘと等しくなったか否かの判断を行なう（ステップＳ７７５）。従って、転送したデータのバイト数Ｎがデータの総数Ｘに一致するまで、上述したステップＳ７６０ないしＳ７７５の処理を繰り返す。
　全データの転送が完了すると、ＣＰＵ５１０は、割込要求レジスタの一つ（ＡＭＤＩＮＴ１）をセットし、データの転送が完了したことをマイクロプロセッサ６０１側に通知し（ステップＳ７８０）、「ＮＥＸＴ」に抜けて本処理ルーチンを終了する。
　一方、マイクロプロセッサ６０１は、この割込要求ＡＭＤＩＮＴ１を受けて図２６にフローチャートを示すデータ受信割込ルーチンを起動する。このルーチンを起動すると、マイクロプロセッサ６０１は、まずＦＩＦＯ制御回路６２３のＦＩＦＯ読出レジスタ６５５に属するレジスタＲＤＲＳＴを読み出して、ＦＩＦＯメモリ６２１の読出側のアドレスカウンタをリセットする処理を行なう（ステップＳ８００）。続いて、受信したデータ数をカウントするための変数Ｍに値０をセットする処理を行なう（ステップＳ８０５）。
　その後、ＦＩＦＯ読出レジスタ６５５に属するレジスタＦＩＲＣＬＫを読み込む処理を行ない（ステップＳ８１０）、読み取ったデータをＲＡＭ６１１ないし６１４の所定の領域に転送する処理を行なう（ステップＳ８１５）。レジスタＦＩＲＣＬＫを読み出すと、ＦＩＦＯメモリ６２１の読出側のクロック端子に読出クロックが出力され、その時の読出側アドレスカウンタの示す番地のデータＤが、読み出される。と同時にＦＩＦＯメモリ６２１内の読出側アドレスカウンタの内容は、値１だけインクリメントされる。
　１バイトのデータを受信すると、変数Ｍを値１だけインクリメントし（ステップＳ８２０）、この変数Ｍが転送するデータの総バイト数Ｘに等しくなっか否かの判断を行なう（ステップＳ８２５）。従って、受信したデータのバイト数Ｍがデータの総数Ｘに一致するまで、上述したステップＳ８１０ないしＳ８２５の処理を繰り返す。
　全データの受信が完了したと判断されると、マイクロプロセッサ６０１は、データの読み込みの完了を示すコマンドをポーリング・コマンドレジスタ６４３に書き込む処理を行なう（ステップＳ６３０）。電子制御装置５０１側のＣＰＵ５１０は、このポーリング・コマンドレジスタ６４３の内容を読み取ることで、ＦＩＦＯ制御回路６２３によるデータ受信の完了を知ることができる。その後、マイクロプロセッサ６０１は、「ＲＮＴ」に抜けて本処理ルーチンを終了する。
　以上説明した処理により、電子制御装置５０１側からマイクロプロセッサ６０１側に、大量のデータを効率よく転送することができる。しかも、複数バイトのデータの転送を行なった直後に割込要求信号ＡＭＤＩＮＴ１によりカートリッジ３にデータを転送したことを通知するので、カートリッジ３は電子制御装置５０１がデータ転送を行なっている間、カートリッジ３のマイクロプロセッサ６０１は、電子制御装置５０１によるデータの転送を監視し続ける必要がなく、他の処理を実行することができ、全体の処理効率を高めることができる。もとより、電子制御装置５０１による次のデータの書き込みを待たせることもない。
　こうして転送されたデータは、データ転送制御部６０３のＲＡＭ６１１ないし６１４の所定の領域に保存され、マイクロプロセッサ６０１による処理を待つ。マイクロプロセッサ６０１は、電子制御装置５０１側から展開すべき印字データを総て受け取ると、ＲＯＭ６０６ないし６０９に記憶したプログラム起動し、ＲＡＭ６１１ないし６１４の所定の領域に保存されたこの印字データを処理する。かかる処理により画像の展開がなされ、展開された結果は、ＲＡＭ６１１ないし６１４の所定の領域に画像データとして記憶される。
　Ｉ．ダブルバンク制御回路６２４の構成と働き
　画像の展開が完了して得られた画像データは、次に電子制御装置５０１側に転送され、このＲＡＭ５１２に記憶され、所定のタイミングでレーザエンジン５０５により印刷されることになる。かかる画像データの転送を行なうのが、ダブルバンク制御回路６２４である。ダブルバンク制御回路６２４は、マイクロプロセッサ６０１側から電子制御装置５０１側に転送するものであり、３２バイト（１６ワード）のデータを蓄えるバンクを２セット備える。これをＡバンク，Ｂバンクと呼ぶが、両者はハードウェアとしては全く同一なので、Ａバンク側の構成例のみを図２７に示す。
　この各バンクは、そのアドレスおよびデータバスを、マイクロプロセッサ６０１側からと電子制御装置５０１側からとに切り換えられる構成になっており、図示するように、アドレスラインを選択するデータセレクタ６８１，６８２、２個一組で用いられデータバス（１６ビット幅）を選択する２組計４個のオクタルラインバッファ６８４ないし６８７、３２バイト分の記憶容量を有するＲＡＭ６９１，６９２、その他の構成ゲートであるオアゲート６９４，６９５およびインバータ６９６から構成されている。図２７では、３２バイト分の記憶容量を有するメモリチップを２個用いた構成としているが、単一のメモリチップの上位アドレスを切り換えることで実現しても差し支えない。
　データセレクタ６８は、電子制御装置５０１側のアドレスバスＣＡＢの最下位４ビット（ＡＣ１ないしＡＣ４）と、マイクロプロセッサ６０１側のアドレスバスＡＡＢの下位の４ビット（Ａ２ないしＡ５）とを選択して出力する構成となっており、アドレスバスの選択は、セレクト端子Ｓに接続された信号ＡＤＤＭＵＸＡ（レジスタＡＤＤＭＵＸＡのビットｄ０）により行なわれる。データセレクタ６８２は、アドレスバスの選択に合わせて、ＲＡＭ６９１，６９２のリード・ライトの信号を切り換えるものであり、同じくセレクト端子Ｓに接続された信号ＡＤＤＭＵＸＡにより、いずれかの信号がＲＡＭ６９１，６９２のチップセレクト端子ＣＥ１，２、アウトプットイネーブル端子ＯＥに接続されるかを切り換えている。
　オクタルラインバッファ６８４，６８５をデータバスＤＢ２９に介装されたトライステートタイプのラインバッファであり、ゲート端子１Ｇ，２Ｇがロウレベルとなったとき、マイクロプロセッサ６０１側のデータバスＤＢ２９とＲＡＭ６９１，６９２のデータバスを接続し、マイクロプロセッサ６０１側からＲＡＭ６９１，６９２へのデータの書込が可能な状態とする。オクタルラインバッファ６８４，６８５のゲート端子１Ｇ，２Ｇには、信号／ＤＰＷＲ０Ａと信号ＡＤＤＭＵＸＡとを入力とするオアゲート６９４の出力が接続されている。信号／ＤＰＷＲ０Ａは、マイクロプロセッサ６０１側がＡバンクにデータを書き込もうとするときロウルベルになる信号である。従って、Ａバンクヘのデータの書込を行なうとして、予めレジスタＡＤＤＭＵＸＡのビットｄ０をロウレベルにしておけば、マイクロプロセッサ６０１側からＡバンクヘのデータの書込処理を行なうと、オクタルラインバッファ６８４，６８５のゲートが開き、データバスＤＢ２９に出力されたデータは、ＲＡＭ６９１，６９２のデータバスに出力され、これに書き込まれる。
　一方、オクタルラインバッファ６８６，６８７は、そのゲート端子１Ｇ，２Ｇがロウレベルとなったとき、電子制御装置５０１側のデータバスＤＢ６８とＲＡＭ６９１，６９２のデータバスを接続し、ＲＡＭ６９１，６９２から電子制御装置５０１へのデータの読出が可能な状態とする。オクタルラインバッファ６８６，６８７のゲート端子１Ｇ，２Ｇには、信号／ＤＰＯＥ１Ａと信号ＡＤＤＭＵＸＡをインバータ６９６で反転した信号とを入力とするオアゲート６９５の出力が接続されている。信号／ＤＰＯＥ１Ａは、電子制御装置５０１側がＡバンクのデータを読み取ろうとするときロウレベルになる信号である。従って、Ａバンクのデータの読出を行なうとして、予めレジスタＡＤＤＭＵＸＡのビットｄ０をハイレベルにしておけば、電子制御装置５０１側からＡバンクに対する読出処理を行なうと、オクタルラインバッファ６８６，６８７のゲートが開き、ＲＡＭ６９１，６９２のデータバスに出力されたデータは、データバスＤＢ６８に出力される。
　かかるハードウェアを前提として、マイクロプロセッサ６０１が行なう画像データの転送処理と電子制御装置５０１のＣＰＵ５１０が行なうその受け取り処理とを説明する。図２８は、マイクロプロセッサ６０１が行なう画像データの転送開始処理ルーチンを示すフローチャートである。図示するように、マイクロプロセッサ６０１は、画像データの転送に先立って、ポーリング・コマンドレジスタ６４３に転送開始のコマンドをセットする（ステップＳ８５０）。
　電子制御装置５０１側のＣＰＵ５１０は、このポーリング・コマンドレジスタ６４３のコマンドを読み取って、図２９に示す応答処理ルーチンを実行する。即ち、電子制御装置５０１は、レーザプリンタ５００が印刷可能な状態にあるか否かの判断を行ない（ステップＳ８６０）、印刷できる状態にあると判断した場合には、割込要求レジスタの一つ（ＡＭＤＩＮＴ２）をセットし（ステップＳ８６５）、「ＮＥＸＴ」に抜けて本ルーチンを一旦終了する。印刷できる状態にない場合には、これをカートリッジ５０３のマイクロプロセッサ６０１に通知する処理を行なう（ステップＳ８７０）。印刷できない状態とは、例えばレーザエンジン５０５がまだウォーミングアップされていない状態、紙づまりなどが生じた状態など、画像データの転送を受けても印刷できない場合を言う。
　電子制御装置５０１側からの割込要求信号ＡＭＤＩＮＴ２を受け付けると、マイクロプロセッサ６０１は、図３０に示す画像データ転送割込処理ルーチンを起動する。この処理を起動すると、マイクロプロセッサ６０１は、まずレジスタＡＤＤＭＵＸＡのビットｄ０に値１を書き込む処理を行なう（ステップＳ９００）。このレジスタＡＤＤＭＵＸＡのビットｄ０が値１の場合には、図２７を用いて説明したように、Ａバンクを構成するＲＡＭ６９１，６９２のデータバスはマイクロプロセッサ６０１側のデータバスＤＢ２９側に接続され、電子制御装置５０１側からのアクセスはできない状態となる。
　続いて、マイクロプロセッサ６０１はＡバンクＤＰＷＲ０Ａに１６ワード（３２バイト）分のデータを転送する処理を行なう（ステップＳ９０２）。ＡバンクＤＰＷＲ０Ａへのデータの書込処理を行なうと、図２７に示した信号／ＤＰＷＲ０Ａがロウレベルとなり、オクタルラインバッファ６８４，６８５を介してデータがＲＡＭ６９１，６９２に書き込まれる。１６ワードのデータ転送が完了すると、マイクロプロセッサ６０１はレジスタＡＤＤＭＵＸＡのビットｄ０に値１を書き込み（ステップＳ９０４）、Ａバンクを構成するＲＡＭ６９１，６９２のデータバスを電子制御装置５０１のデータバスＤＢ６８に接続する。
　その後、マイクロプロセッサ６０１はポーリング・コマンドレジスタ６４３にＡバンクヘの転送の完了を知らせるコマンドデータを書き込む処理を行なう（ステップＳ９０６）。以上で、Ａバンクヘのデータの転送処理を完了し、マイクロプロセッサ６０１は、引き続きＢバンクについて上述した処理と同一の処理を実行する（ステップＳ９１０）。Ｂバンクヘのデータ転送が完了した場合には、マイクロプロセッサ６０１はポーリング・コマンドレジスタ６４３に、同様に転送が完了したことを知らせるコマンドデータを書き込む。こうしてカートリッジ５０３側からＡ，Ｂバンク、計３２ワード（６４バイト）のデータの転送が完了する。
　以上説明したマイクロプロセッサ６０１の処理に対して、電子制御装置５０１のＣＰＵ５１０は、図３１に示す画像データ受け取り処理ルーチンを実行する。即ち、ＣＰＵ５１０は、まずステータスレジスタ６４５のビットｄ３、即ちフラグＣＭＤＲＤを読み取り（ステップＳ９２０）、これが値０であるか否かの判断を行なう（ステップＳ９２５）。マイクロプロセッサ６０１側からポーリング・コマンドレジスタ６４３にコマンドデータが書き込まれた場合、このフラグＣＭＤＲＤは、値０にセットされるので、この時、ＣＰＵ５１０はポーリング・コマンドレジスタ６４３のコマンドデータを読み取る（ステップＳ９３０）。
　読み取ったコマンドデータをチェックし、Ａバンクのデータ転送が完了したことを示すコマンドデータであるか否かの判断を行ない（ステップＳ９３５）、違う場合には、その他の処理を実行する（ステップＳ９４０）。ポーリング・コマンドレジスタ６４３のコマンドデータがＡバンクのデータ転送の完了を示すものであった場合には、電子制御装置５０１はＡバンクＤＰＲＡＭＡ（図１５参照）の１６ワードを読み込む処理を行ない（ステップＳ９４５）、読み取ったデータをＲＡＭ５１２に転送する（ステップＳ９５０）。
　以上の処理によりＡバンクの１６ワードのデータの読み取りが完了するので、マイクロプロセッサ６０１から次の１６ワードの転送を許可すべく、電子制御装置５０１は、割込要求レジスタの一つ（ＡＭＤＩＮＴ２）をセットする。続いて、Ｂバンクについて上述したステップＳ９２０ないしＳ９５５の処理を実行する。即ち、Ｂバンクに対するマイクロプロセッサ６０１からのデータの転送が完了したことをポーリング・コマンドレジスタ６４３のコマンドデータにより判断すると、ＢバンクＤＰＲＡＭＢの１６ワードのデータを読み取り、これをＲＡＭ５１２に転送した後、割込要求レジスタの一つをセットして、マイクロプロセッサ６０１に対して割込要求を立てるのである。
　かかる割込要求を受けて、マイクロプロセッサ６０１は図３０に示した割込処理ルーチンを再度実行することになるから、マイクロプロセッサ６０１およびＣＰＵ５１０が両ルーチン（図３０，図３１）を実行することで、全画像データの転送が完了する。全画像データの転送後、新たな印字データを電子制御装置５０１側から受け取らなければ、マイクロプロセッサ６０１は、所定時間が経過すると、コントロールレジスタ６５０のレジスタＣＬＫＤＩＶに値１を書き込んで、自らの動作周波数を半分の１２．５ＭＨｚに切り換え、消費電力ひいては発熱量を低減する。
　以上の構成により、カートリッジ５０３は、割込とレジスタのフラグＣＭＤＲＤとを用いて、展開済みの画像データを電子制御装置５０１に、効率よく受け渡すことができる。画像データは、次に説明するように、同時にレーザエンジン５０５に送られて印刷に供されるから、カートリッジ５０３からの画像データの転送が効率よく行なわれることは、極めて重要である。
　Ｊ．画像データの印刷
　一方、全画像データの転送を受けた電子制御装置５０１は、既述したダブルバッファ回路５２０およびレジスタ５１７を用いてレーザエンジン５０５と信号をやり取りしつつ、画像データによる印刷を行なう。電子制御装置５０１とレーザエンジン５０５との信号のやり取りを図３２に簡略に示した。この図を参照しつつ、印刷の概要について説明する。
　カートリッジ５０３から展開された後の画像データを受け取ると、電子制御装置５０１は、レーザエンジン５０５が印刷可能な状態か否かを問い合わせ、ウォーミングアップなどが完了して印刷可能な状態にあると判断すると、図３２に示すプリント信号をレジスタ５１７を介してレーザエンジン５０５に出力する。レーザエンジン５０５は、この信号を受けて、直ちに用紙搬送用のモータを起動する。これに同期して、感光ドラムの回転、帯電処理等が開始される。
　印刷される用紙が感光ドラムに対して所定距離だけ離間した位置に至ったとき、レーザエンジン５０５は用紙の先端を検出し、信号ＶＲＥＱをレジスタ５１７を介して電子制御装置５０１に出力する。電子制御装置５０１はこの信号ＶＲＥＱを受け取ると、所定時間、即ち感光ドラムがレーザビームによる潜像形成の開始される位置まで回転するのに必要とされる時間だけ待機してから、信号ＶＳＹＮＣをレジスタ５１７を介して出力する。レーザエンジン５０５はこの信号ＶＳＹＮＣを受けて、レーザビームの水平同期信号ＨＳＹＮＣをレジスタ５１７を介して出力する。この信号ＨＳＹＮＣは、１ライン分の画像データの読み取り開始を指示する信号に相当するので、レーザエンジン５０５は、この信号に同期して画像データをダルブバッファ回路５２０の一方のＲＡＭ５２０Ａもしくは５２０Ｂから読み取る。なお、トップマージンを形成する場合には、トップマージンに対応するライン数だけ、信号ＶＳＹＮＣを無視する制御が行なわれる。この制御はボトムマージンを形成する場合も同様である。
　と同時に、ＣＰＵ５１０はこの信号をカウントしつつ、必要な画像データをダブルバッファ回路５２０のＲＡＭ５２０ＡもしくはＲＡＭ５２０Ｂに転送する。レーザエンジン５０５が用紙後端を検出してから所定時間が経過するか、水平同期信号のカウント値が予め用紙サイズに合わせて設定された値に等しくなるかすると、ＣＰＵ５１０は、画像データのダブルバッファ回路５２０への転送を終了する。以上の処理により、１ページ分の画像データはレーザエンジン５０５に転送され、用紙にその画像が印刷される。
　Ｋ．第２実施例の効果
　以上説明した第２実施例によれば、第１実施例と同様に、読出専用のデータバスを利用して、電子制御装置５０１側からカートリッジ５０３側に、および通常その逆方向に、データを効率よく転送することができるという効果を奏する。しかも、本実施例では、フラグによる転送の通知のみならず、割込を利用したデータ転送の通知を採用し、割込要求によりカートリッジ５０３側の処理を起動しているので、カートリッジ５０３のマイクロプロセッサ６０１は常時電子制御装置５０１側の動作を監視する必要がなく、カートリッジ５０３のマイクロプロセッサ６０１を効率よく使用することができる。即ち、処理のオーバーヘッドが小さくでき、全体の効率も向上する。また、本実施例では、ＡＳＩＣを用いているので、回路を小型化、簡略化することができる。更に、電子制御装置５０１側からデータ転送制御部６０３へのデータの転送を読出制御回路６２０とＦＩＦＯ制御回路６２３の２系統用意しているので、転送するデータの種別によりこれを使い分けて、効率よくデータ転送を行なうことができる。また、１系統が故障したとき、他の系統でこれを補うこともできる。
　Ｌ．その他の実施例
　以上２つの実施例を挙げて本発明の具体的構成例について説明したが、本発明はこれらの実施例に何等限定されるものではない。読出専用のデータバス構造を持つ機器において、データの転送およびその通知を行なうその他の構成に関し、アドレスバスを通信回線として利用してデータを転送する構成（図３３，図３４，図３５）、転送するデータの各ビットをデータの読出信号によりセットすることでデータを転送する構成（図３６，図３７）、カウンタを用いてデータを転送する構成（図３８，図３９）、外部から受け取る信号をそのまま再現することでデータを転送する構成（図４０）について順に説明する。なお、説明の簡略化を図って、以下の説明では、第２実施例の構成を前提とし、信号名などは同一のものを用いるが、これらのデータ転送の構成は、第２実施例への適用に限定される訳ではない。
　（１）アドレスバスを通信回線として利用する構成−その１
　図３３は、付加制御装置側のデータを受け取る部分の構成を示すブロック図である。この回路は、図示するように、アドレス信号Ａ３ないしＡ２０，アドレスストローブ信号／ＡＢＳおよびカートリッジセレクト信号／ＣＴＲＧＳＥＬに基づいてこの回路が選択されたことを検出するデコーダ１０００、デコーダの出力信号とアドレス信号Ａ１，Ａ２との各々の論理積を取るをアンドゲート１００１，１００２、これらのアンドゲート１００１，１００２をデータ入力としデコーダ１０００の出力をインバータ１００４により反転した信号をクロック信号ＣＬＫとする２つのシリアル・パラレル変換器（Ｓ／Ｐ変換器）１００５，１００６、クロック信号ＣＬＫをカウントして割込要求信号を生成するカウンタ１００８から構成されている。
　Ｓ／Ｐ変換器１００５，１００６は、クロック信号ＣＬＫが入力する度に、その入力端子Ｓｉｎのデータを取り込むと共に、そのデータを出力ａないしｈに１ビットずつシフトしてパラレル出力に変換するものである。なお、Ｓ／Ｐ変換器１００５，１００６のクリアＣＬＲ端子には、マイクロプロセッサ６０１により出力されるクリア信号／ＣＬＲが接続されており、データ転送に先だって、Ｓ／Ｐ変換器１００５，１００６の出力ａなしｈは値０にクリアされる。
　この回路を用いてデータを転送する場合について説明する。この転送回路が割り付けてある先頭アドレスをＹＹＹＹＹ０ｈとする。転送データの上位８ビットはアドレス信号Ａ２を介して、下位８ビットはアドレス信号Ａ１を介して転送される。即ち、転送する側（ここでは電子制御装置５０１）は、転送しようとするデータの下位のビットから「０」「１」の信号に展開する。データの転送は上位バイトと下位バイトについて同時に行なうから、図３４に示すように、上位バイトについてはデータはＤ８から、下位バイトについてはデータＤ０から、順に取り出し、その組合わせにより読出処理を行なうアドレスを決定する。即ち、上位バイトのビットＤｄ（ｄ＝８，９，・・１５）が値０で下位バイトのビットＤｄ−８が値０の場合には、アドレスＹＹＹＹＹ０ｈからデータを読み出す処理を行なうものとする。
　電子制御装置５０１側がアドレスＹＹＹＹＹＯｈからデータを読み出すと、アドレス信号Ａ２，Ａ１のいずれもロウレベルとなることから、アンドゲート１００１，１００２の出力、即ちＳ／Ｐ変換器１００５，１００６のデータＳｉｎはロウレベルとなり、データ０が取り込まれる。同様に、上位バイトのビットＤｄが値０で下位バイトのビットＤｄ−８が値１の場合には、アドレスＹＹＹＹＹ２ｈから、上位バイトのビットＤｄが値１で下位バイトのビットＤｄ−８が値０の場合には、アドレスＹＹＹＹＹ４ｈをから、上位バイトのビットＤｄ，下位バイトのビットＤｄ−８が共に値１の場合には、アドレスＹＹＹＹＹ６ｈから、各々データを読み出す処理を行なう。この結果、転送するデータのビットＤｄ，Ｄｄ−８に対応するデータが、それぞれＳ／Ｐ変換器１００５，１００６に取り込まれ、その出力ａないしｈに展開される。
　こうして全データ（通常１６ビット分）の転送が完了すると、カウンタ１００８がクロック信号ＣＬＫをカウントしてこれを検出し、割込要求信号ＡＭＤＩＮＴ０をアクティブとする。なお、バイト単位でデータを転送する場合は、８個のクロック信号ＣＬＫによりカウントアップする信号を割込要求信号ＡＭＤＩＮＴ１として用い、両者を区別して通知するものとすればよい。あるいは、上述した実施例と同様、電子制御装置５０１が、図示しない割込御要求信号をセットして、カートリッジ５０３側のマイクロプロセッサ６０１に転送の完了を伝えるものしてもよい。かかる割込要求を受けて、マイクロプロセッサ６０１は、データバスＤＢ２９を介してＳ／Ｐ変換器１００５，１００６の出力を読み取り、その後、クリア信号／ＣＬＲをロウアクティブとしてＳ／Ｐ変換器１００５，１００６をリセットする。以上の処理により電子制御装置５０１側からカートリッジ５０３側に１６ビットのデータを転送することができる。
　この実施例では、転送しようとするデータを、シリアルデータに変換してアドレス信号Ａ１，Ａ２に反映させており、アドレス信号Ａ１，Ａ２の信号線を通信回線のように利用している。この場合、データの読出サークルをアドレスストローブ信号／ＡＢＳが確立すればすぐに終了して良いため、データ転送に要する時間を短くすることができる。なお、転送に利用するアドレス信号のビット数は、１でも良い。この場合には、転送に用いる回路構成を単純なものにすることができる。また、３ビット以上として転送完了の時間を更に短くすることも可能である。
　（２）アドレスバスを通信回線として利用する構成−その２
　アドレスバスを通信用の信号線とみなしてデータを転送するもう一つの構成を図３５に示す。この回路は、この回路が選択されたとき選択信号／ＣＳ２を出力するデコーダ１０１０、デコーダ１０１０の選択信号／ＣＳ２とアドレス信号Ａ２とから選択信号／ＣＳ０を出力するオアゲート１０１１、同じく選択信号／ＣＳ２とアドレス信号Ａ２のインバータ１０１３により反転された信号とアドレス信号Ａ１とがロウレベルとなったとき選択信号／ＣＳ１を出力する３入力のオアゲート１０１２、選択信号／ＣＳ０をクロックＣＬＫとしアドレス信号Ａ１をデータＳｉｎとして動作する８ビットシフトレジスタ１０１５、シフトレジスタ１０１５の出力ａないしｈを選択信号／ＣＳ１により保持するラッチ１０１７、同じく選択信号／ＣＳ１により出力ＱがセットされるＤ型フリップフロップ１０１８、シフトレジスタ１０１５のａないしｇとアドレス信号Ａ１とを電子制御装置５０１側のデータバスＤＢ６８に出力するトライステートバッファ１０１９から構成されている。なお、ラッチ１０１７の出力Ｑ０ないしＱ７は、マイクロプロセッサ６０１のデータバスＤＢ２９の下位バイトＤ０ないしＤ７に接続されている。
　この回路では、転送される１バイト（８ビット）のデータはビットＤ０から順にシリアルデータに変換された後、アドレス信号Ａ１にそのまま反映される。従って、この回路が割り付けられた先頭アドレスをＹＹＹＹＹ０ｈとすると、電子制御装置５０１は、ビットＤｄが値０の場合には、アドレスＹＹＹＹＹ０を読み出し、ビットＤｄが値１の場合には、アドレスＹＹＹＹＹ２を読み出すことになる。こうして１バイト８ビット分の各データに対応するいずれかのアドレスの読出が計８回行なわれると、１バイト分のデータがシフトレジスタ１０１５の出力ａないしｈにセットされた状態となる。そこで、電子制御装置５０１からアドレスＹＹＹＹＹ４ｈを読み出す処理を行なうと、選択信号／ＣＳ１がロウアクティブとなり、シフトレジスタ１０１５の出力がラッチ１０１７にセットされる。と同時にＤ型フリップフロップ１０１８の出力Ｑがハイレベルにセットされ、その出力信号ＩＮＴにより、マイクロプロセッサ６０１に対して割込要求がかかる。
　かかる割込要求信号ＩＮＴを受け付けたマイクロプロセッサ６０１は、データバスＤＢ２９を介してラッチ１０１７に保持されたデータを読み取ると共に、割込クリア／ＩＮＴＣＬＲをロウレベルとしてフリップフロップ１０１８をリセットする。以上の処理により、電子制御装置５０１側からデータをマイクロプロセッサ６０１に転送することができる。なお、本実施例では、データの転送は、読み取り処理により行なわれ、電子制御装置５０１のデータバスＤＢ６８には、トライステートバッフア１０１９を介して、シフトレジスタ１０１５の出力およびアドレス信号Ａ１が出力されるので、８ビット目のデータＤ７を転送する際には、電子制御装置５０１側から送信したデータを読み取ることができ、送信データを確認することができる。
　以上説明した２つの回路では、アドレス信号の時間的変化としてデータをシリアルに転送し、これを一旦パラレルデータにハードウェアにより変換してからマイクロプロセッサ６０１により読み取る構成であり、かつデータの転送完了を割込により通知している。
　（３）転送するデータの各ビットをデータの読出信号によりセットすることでデータを転送する構成
　図３６に示す回路は、この直路を選択した場合に選択信号を出力するデコーダ１０２０、アドレス信号Ａ１ないしＡ３を入力としデコーダ１０２０からの選択信号を受けてイネーブル状態となるデコーダ１０２１、デコーダ１０２１の各出力Ｑ０ないしＱ８によりセットされるＲＳフリップフロップ（ＲＳｆ／ｆ）１０３０ないし１０３８から構成されている。ＲＳｆ／ｆ１０３０ないし１０３８のリセット端子には、マイクロプロセッサ６０１が所定アドレスをアクセスすることで出力されるクリア信号／ＣＬＲが接続され、ＲＳｆ／ｆ１０３０ないし１０３７の出力は、マイクロプロセッサ６０１のデータバスＤＢ２９の下位バイトＤ０ないしＤ７に接続されている。ＲＳｆ／ｆ１０３８の出力は、割込要求信号ＡＭＤＩＮＴ０となっている。電子制御装置５０１からのデータの転送に先だって、マイクロプロセッサ６０１は、クリア信号／ＣＬＲを出力し、ＲＳｆ／ｆ１０３０ないし１０３８を総てリセット（出力Ｑ＝０）しておく。
　かかる構成において、電子制御装置５０１側からデータを転送する際は、１バイトのデータの各ビットＤｄ（ｄ＝０，１，…７）をチェックし、値１のビットについて、対応するアドレスのデータを読み取る処理を行なう。即ち、この回路の割り付けられた先頭アドレスがＹＹＹＹ００ｈである場合、図３７に示すように、ビットＤｄが値１である場合に、そのビットＤｄに対応するアドレス
　（ＹＹＹＹ００＋２×ｄ）ｈ
を読み取る処理を行なう。この結果、そのビットＤｄは値１にセットされる。ビットＤｄが値０の場合には、そのビットの対応するアドレスに対しては何も行なわない。
　以上の処理を全ビットに対して行なうと、ＲＳｆ／ｆ１０３０ないし１０３７には、転送しようとするデータの各ビットがセットされる。その後、電子制御装置５０１は、アドレス（ＹＹＹＹ１０）ｈをアクセスする。この結果、割込要求信号ＡＭＤＩＮＴ０が出力され、データの転送の完了がマイクロプロセッサ６０１側に通知される。これを受けて、マイクロプロセッサ６０１は、このＲＳｆ／ｆ１０３０ないし１０３７の出力が割り当てられたアドレスを読み取る。その後、マイクロプロセッサ６０１はクリア信号／ＣＬＲを出力してＲＳｆ／ｆ１０３０ないし１０３８をリセットする。こうしてデータの転送が行なわれる。
　かかる構成では、データの転送に必要とされるアドレスが１ワードで済むという利点がある。また、回路構成を比較的単純にすることができる。
　（４）カウンタを用いてデータを転送する構成
　図３８に示す回路は、この回路が選択されたとき選択信号を出力するデコーダ１０４０、デコーダ１０４０からの選択信号ＣＳ０によりカウント動作を行なう８ビットのカウンタ１０４１、デコーダ１０４０からのいま一つの選択信号ＣＳ１を反転してカウンタ１０４１のクリア端子に入力するインバータ１０４３から構成されている。なお、カウンタ１０４１の８桁の出力Ｑ０ないしＱ７は、トライステートバッファ１０４５を介して、マイクロプロセッサ６０１のデータバスＤＢ２９の下位バイトＤ０ないしＤ７に接続されている。
　かかる構成において、電子制御装置５０１側からマイクロプロセッサ６０１にデータを転送する場合には、電子制御装置５０１は、まず予め定めた所定アドレスを読み取る動作を行なって、デコーダ１０４０の選択信号ＣＳ１をハイレベルとし、この信号によりカウンタ１０４１をゼロクリアする。その後、転送しようとするデータＤに等しい数だけ、所定アドレスを読み取る処理を行なって、選択信号ＣＳ０を所定回数オン・オフする。この結果、カウンタ１０４１は、この回数Ｄをカウントし、その出力Ｑ０ないしＱ７は、転送しようとするデータＤと等しくなる。電子制御装置５０１が、図示しない割込要求信号の出力もしくは所定のフラグをセットする処理等によりマイクロプロセッサ６０１にデータの転送が完了したことを通知する。この信号を受けて、マイクロプロセッサ６０１が、トライステートバッファ１０４５の出力をイネーブルとして、このカウンタ１０４１の出力を読み取ることで、データの転送は完了する。
　この実施例では、転送するデータが大きくなると転送に時間がかかることになるが、占有するアドレスが極めて小さくて済むという利点がある。この例ではカウンタ１０４１のゼロクリアを、電子制御装霞５０１側から行なっているが、マイクロプロセッサ６０１側からクリアする構成とすることもでき、この場合には、僅か１番地を割り当てるだけて、データの転送が可能である。
　（５）制御信号を用いてデータ転送を行なう構成
　なお、図３９に示すように、カウンタ１０４１のクロック信号に、カートリッジ５０３が選択されたことを示すカートリッジ選択信号／ＣＴＲＧＳＥＬを用いることも可能である。この例では、カウンタ１０４１のクリアにアドレス信号を利用しているが、カウンタのクリアをマイクロプロセッサ６０１側から行なうものとし、データの転送の開始と終了とを割込要求信号により伝達するものとすれば、アドレスの指定なしにデータを転送することも可能である。
　上述した２つの回路では、８桁のカウンタを用いたが、更に多桁のカウンタを用いれば、一度に８ビット以上のデータを転送することも可能である。もとより８ビット未満を単位としてデータの転送を行なっても差し支えない。
　（６）外部から受け取る信号をそのまま再現することでデータを転送する構成
　図４０に示す回路は、レーザプリンタ５００がワークステーション５０７から受け取る信号が、セントロニクス社準拠のパラレル信号である場合、その信号のイメージをそのままカートリッジ５０３に伝えることでデータの転送を行なうものである。図４０には、左側に電子制御装置５０１のインタフェースであるラインバッファ５１５の一部を示し、右側にカートリッジ５０３側のデータ転送にかかわる部分を示す。ラインバッファ５１５としては、選択信号ＣＳ０によりアドレス信号Ａ１ないしＡ９をカートリッジ５０３側に出力するラインバッファ１０５１と、選択信号ＣＳによりカートリッジ５０３側からのデータバスの出力を電子制御装置５０１内部に取り込むトライステートバッファ１０５２とを示した。
　カートリッジ５０３側の回路は、電子制御装置５０１からのアドレス信号Ａ２ないしＡ９をデータＤ０ないしＤ７として保持するラッチ１０６１、電子制御装置５０１からのアドレス信号Ａ１をストローブ信号ＳＴＢとしてラッチ１０６１のクロックＣＬＫに出力するインバータ１０６３、このクロック信号により出力ＱをセットするＤ型フリップフロップ１０６５、マイクロプロセッサ６０１のデータバスＤＢ２９のデータＤ５ないしＤ７を選択信号ＣＳ２により保持するラッチ１０６７から構成されている。
　なお、ラッチ１０６１のアウトプットイネーブル端子ＯＥには、マイクロプロセッサ６０１が所定のアドレスをアクセスすることで生成される選択信号ＣＳ１が接続されており、ラッチ１０６１の出力がデータバスＤＢ２９の下位バイトＤ０ないしＤ７にそのまま接続されている。従って、マイクロプロセッサ６０１はこのアドレスをアクセスすることで、ラッチ１０６１に保持されたデータを、読み取ることができる。また、Ｄ型フリップフロップ１０６５の出力Ｑは、マイクロプロセッサ６０１に対する割込要求信号ＩＮＴとなっており、同時にこれは信号ＢＵＳＹとして、電子制御装置５０１側からは、カートリッジ５０３側からのデータのビットＤ０として読み取り可能である。
　以上説明した回路を用いてデータを転送する場合、電子制御装置５０１は、予めビットＤ０を読み取って信号ＢＵＳＹがアクティブハイでないことを確認した後、ワークステーション５０７からセントロニクス社準拠のインタフェースにより送られるデータを、データのみならず、ストローブ信号ＳＴＢもそのままアドレス信号Ａ２ないしＡ９およびアドレス信号Ａ１に反映させて出力する。
　出力されたアドレス信号がラッチ１０６１に保持されると、マイクロプロセッサ６０１に対する割込要求信号ＩＮＴがアクティブとなるが、この信号はそのまま電子制御装置５０１に対する信号ＢＵＳＹとなるから、電子制御装置５０１は、ワークステーション５０７とのインタフェース部の信号ＢＵＳＹもそのままハイレベル（ビジィー状態）に保つ。割込要求信号ＩＮＴを受けたマイクロプロセッサ６０１は、ラッチ１０６１の出力を読み取り、クリア信号／ＣＬＲを出力する。この結果、Ｄ型フリップフロップ１０６５はリセットされ、信号ＢＵＳＹはロウレベルに反転する。これを読み取って電子制御装置５０１はワークステーション５０７とのインタフェース部における信号ＢＵＳＹをロウレベルに反転する。この信号を監視しているワークステーション５０７は、信号ＢＵＳＹがロウレベルに反転したことから、レーザプリンタ５００が信号を受け取ったと判断して次のデータを出力する。この繰り返しにより、ワークステーション５０７が出力する印字データをカートリッジ５０３に転送することができる。
　なお、選択信号ＣＳ２をアクティブとする時、データバスＤＢ２９のビットＤ５ないしＤ７に所定のデータを出力することで、セントロニクス社準拠のインタフェースにおける信号／ＡＣＫ，／ＥＲＲ，／ＰＥも制御可能である。
　以上説明したこの実施例では、ワークステーション５０７とのインタフェースをそのまま再現してカートリッジ５０３側に伝えているので、電子制御装置５０１のデータ転送に関する処理が簡略化されるという利点がある。また、カートリッジ５０３は印字データを転送してくる外部機器、ここではワークステーション５０７と直接データをやり取りしている形になるので、エラーの発生時などの対処も容易となる。なお、ここではセントロニクス社準拠のインタフェースを例に取ったが、ＲＳ−２３２ＣあるいはＲＳ−４２２ＣのインタフェースやアップルＴａｌｋ（アップル社の商標）等のインタフェースを用いて同様の構成をとることも可能である。
　また、これらの実施例では、データ転送の通知は、総て割込信号として取り扱ったが、図４１に示すように、データ転送の通知を示す信号ＳＳを、カートリッジ３のプロセッサの入力ポートに直接入力する構成としても差し支えない。この場合には、プロセッサとしてＩ／Ｏポートやシリアル通信ポートを備えたものを使用する。直接プロセッサ１１００にデータ転送の信号を入力することで、構成が簡略になるという利点がある。
　Ｍ．その他
　以上、本発明をプリンタに適用した実施例について説明したが、本発明は、プリンタヘの適用にに限るものではなく、例えばワープロやパーソナルコンピュータ、あるいはワークステーションなどにも適用することができる。近年、こうしたコンピュータ関連機器は、拡張スロットはもとより、ＩＣカードといったカートリッジタイプの拡張装置が取付け可能となっていることが多い。こうした拡張スロットやＩＣカードなどを備えたワープロ、パーソナルコンピュータ等では、ここに本発明の付加制御装置を装着し、本体側のプロセッサの処理を、モニタコマンドなどで付加制御装置に内蔵したメモリに記憶した処理に移し、付加制御装置に備えられたプロセッサと共に情報を処理するものとすれば、情報処理機能の向上，追加あるいは変更を実現することが容易である。更に、制御を付加制御装置側に移してしまえば、処理の内容はいかようにも変更することができるから、既に販売した機器の機能の変更や向上、ワープロなど各種専用機におけるソフトのバージョンアップなどを実現することができる。
　このように、本発明は、プロセッサを用いたあらゆる装置、例えば車載の電装品、ファクシミリ、電話、電子手帳、電子楽器、電子カメラ、翻訳器、ハンディコピー、キャッシュディスペンサ、リモコン装置、電卓など、コネクタにより付加制御装置が接続可能なあらゆる情報処理装置に適用可能である。こうした情報処理装置では、本体側のプロセッサが付加制御装置を認識してその処理を付加制御装置側に用意したアドレスに移行する機能を備えていれば、既存の電子装置においても、本発明の付加制御装置および情報処理装置を実現することは容易である。かかる機能を備えていない場合でも、本体側プロセッサを付加制御装置に記憶した処理に移行させる手法は種々考えられる。
　６８０００系のプロセッサは、データを所定のアドレスから読み込む処理を行なう際、データバス上のデータが確立しているか否かをデータを出力する機器（スレーブ）がプロセッサに応答する信号ＤＴＡＣＫにより判断している。そこで、本体側のプロセッサが本体側に備えるＲＯＭに記憶した処理を実行中に、絶対番地へのジャンプ命令を実行しようとしたとき、絶対番地へのジャンプ命令の実行であることを付加制御装置側でインストラクションを解析して検出しておき、本体側の本来のＲＯＭがデータバスにジャンプ先の絶対番地を出力するタイミングより先に、付加制御装置側に内蔵したＲＯＭの実行アドレスをデータバスに出力すると共に信号ＤＴＡＣＫを本体側プロセッサに返し、強制的に付加制御装置内の所定アドレス以降に処理を移行させる構成が取り得る。一旦、処理が付加制御装置側のＲＯＭに移ってしまえば、その後の処理はいかようにも構成することができる。
　この例では、本体側のプロセッサが絶対アドレスヘのジャンプ命令を実行することを前提としているが、ジャンプ命令そのものも本体側のＲＯＭから読出していることに着目し、電源投入後最初にＲＯＭからインストラクションを読出すとき、該インストラクションの読出より先に、付加制御装置側からジャンプ命令に相当するコードをデータバスに載せると共に信号ＤＴＡＣＫを返す構成とすることも可能である。これらの手法では、信号ＤＴＡＣＫの競合という問題を生じる恐れはあるが、バスのタイミングを紐かく解析すれば、実現可能である。
　また、以上説明した実施例では、付加制御装置は筐体内にプリント基板を収納し単体で取り扱い可能なカートリッジとして構成したが、拡張スロットに装着される基板単体の構成としても差しつかえない。また、複数のコネクタを占有してひとつの付加制御装置を実現するものであっても差しつかえない。更に、筐体自体をプリント基板として構成したものも、本発明の一態様として実現可能である。
　本発明は以上の実施例に何等限定されるものではなく、例えば、アウトラインフォントを内蔵したカートリッジにおいてプリンタ本体から文字のポイント数等のデータを受け取りその文字の指定ポイント数のビットイメージを生成してプリンタ本体に転送する構成、電子装置から受け取ったデータを付加制御装置で特に複雑な処理をすることなく単に記憶したり表示したりする構成、あるいはプリンタ本体がインクジェットプリンタである構成など、本発明の要旨を逸脱しない範囲内において、種々なる態様で実施し得ることは勿論である。
　【産業上の利用可能性】
　本発明は、プロセッサを用いたあらゆる装置、例えばプリンタ、車載の電装品、ファクシミリ、電話、電子手帳、電子楽器、電子カメラ、翻訳器、ハンディコピー、キャッシュディスペンサ、リモコン装置、電卓など、コネクタにより付加制御装置が接続可能なあらゆる情報処理装置に適用可能である。
（５７）【特許請求の範囲】
１．論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段、および前記第１のプロセッサの少なくともアドレス信号線および電子装置側からみて読み込み専用のデータ信号線が接続されたコネクタを備えた電子装置と、
　前記電子装置のコネクタに接続される付加制御装置と
　からなる情報処理装置であって、
　前記電子装置は、
　　前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータをアドレス信号に反映させたデータとして前記アドレス信号線から前記コネクタを介して出力するデータ出力手段と、
　　前記データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段と
　を備え、
　前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備えると共に、
　　前記電子装置の第１のプロセッサとは別個の処理を実行する第２のプロセッサと、
　　前記第２のプロセッサが実行する処理芋頭を記憶した第２の記憶手段とを備え、
　前記電子装置は、前記第２のプロセッサに処理させるデータをデータ出力手段により出力し、
　前記電子装置のデータ出力通知手段は、データ転送の通知を前記第２のプロセッサが読取可能なレジスタヘのデータの書き込みにより行なう手段であり、
　付加制御装置のデータ読取手段は、
　　前記レジスタに所定のデータが書き込まれたか否かを判断する判断手段と、
　　前記レジスタに所定のデータが書き込まれたとき、前記電子装置のデータ出力手段が出力するデータを読み取る手段とを備え、
　前記データ読取手段は、前記電子装置のデータ出力手段が出力したデータを前記第２のプロセッサが読み取ったとき、前記データ出力通知手段が書き込んだ前記レジスタのデータを消去する通知解除手段を備えた情報処理装置。
２．論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段、および前記第１のプロセッサの少なくともアドレス信号線が接続されたコネクタを備えた電子装置と、
　前記電子装置のコネクタに接続される付加制御装置と
　からなる情報処理装置であって、
　前記電子装置は、
　　前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータを前記コネクタを介して出力するデータ出力手段と、
　　前記データ出力手段によりデータが出力されたことを、前記付加制御装置に通知するデータ出力通知手段と
　を備え、
　前記付加制御装置には、前記データ出力の通知を受けて、該出力されたデータを読み取るデータ読取手段を備え、
　前記付加制御装置は、
　　電子装置の前記第１のプロセッサとは別個の処理を実行する第２のプロセッサと、
　　前記第２のプロセッサが実行する処理手順を記憶した第２の記憶手段とを備え、
　前記電子装置は、前記第２のプロセッサに処理させるデータをデータ出力手段により出力し、
　前記付加制御装置が前記電子装置に装着された状態で前記第２のプロセッサの搭載された基板上の素子の長手方向が前記コネクタに対する挿入方向となるよう設置された情報処理装置。
３．論理演算可能な第１のプロセッサ、前記プロセッサが実行する処理を記憶した第１の記憶手段を備えた電子装置に、前記電子装置に設けられたコネクタを介して接続される付加制御装置であって、
　前記電子装置が、前記第１のプロセッサの処理に基づき、前記付加制御装置側に転送するデータを前記コネクタを介して出力すると共に、前記データの出力を前記付加制御装置に通知したとき、前記出力されたデータを読み取るデータ読取手段を備えると共に、
　　前記電子装置の前記第１のプロセッサとは別個の処理を実行する第２のプロセッサと、
　　前記第２のプロセッサが実行する処理手順を記憶した第２の記憶手段とを備え、
　前記付加制御装置が前記電子装置に装着された状態で前記第２のプロセッサの搭載された基板上の素子の長手方向が前記コネクタに対する挿入方向となるよう設置された付加制御装置。