JPH03187772A - プリンタ制御装置 - Google Patents

プリンタ制御装置

Info

Publication number
JPH03187772A
JPH03187772A JP32591889A JP32591889A JPH03187772A JP H03187772 A JPH03187772 A JP H03187772A JP 32591889 A JP32591889 A JP 32591889A JP 32591889 A JP32591889 A JP 32591889A JP H03187772 A JPH03187772 A JP H03187772A
Authority
JP
Japan
Prior art keywords
cpu
slave
register
master
data
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP32591889A
Other languages
English (en)
Inventor
Motonori Kirihara
桐原 基範
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP32591889A priority Critical patent/JPH03187772A/ja
Publication of JPH03187772A publication Critical patent/JPH03187772A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、プリンタ全体の動作を制御するマスタCPU
 (中央処理装置)と、プリンタの印字機構を制御する
スレーブCPUとを備え、マスタCPUがスレーブCP
Uを制御して印字を行なうプリンタ制御装置に関する。
(従来の技術) プリンタは、パーソナルコンピュータ、ワードプロセッ
サ、その他、種々の事務機器に広く使用されている。
第2図に、一般のプリンタの概略構成ブロック図を示す
図において、上位装置2には、インタフェース信号線3
を介してプリンタ1が接続されている。
プリンタ1は、大きく分けてデータ処理部4と印字部5
を備えている。
データ処理部4は、上位装置2から受信した印字データ
を蓄積し編集処理し、イメージデータ化する等の処理を
行なう回路である。データ処理部4の動作は、主として
マスタCPU7により制御される。
一方、印字部5は、印字機構8から構成されており、こ
れはスレーブCPU9により制御される。印字機構8に
は、図示しないプリントヘッドやプリントヘッド駆動回
路、スペースモータ駆動回路等の種々の機構が組込まれ
ている。スレーブCPU9は、この印字機構8を動作さ
せ、印字用紙を搬送し、スペースモータを駆動1してプ
リントヘッドを印字方向に走査する等の制御を行なう。
尚、スレーブCPU9の動作は、マスタCPU7の制御
により行なわれる。
(発明が解決しようとする課題) このマスタCPU7によるスレーブCPU9の制御方法
としては、従来、次のような方法が知られている。
先ず、マスタCPU7とスレーブCPU9とをシリアル
ボート6により接続し、マスタCPU7からコード化さ
れたコマンドをスレーブCPU9に向けて出力する。ス
レーブCPU9は、そのコマンドをデコードし、デコー
ドした結果に基づいて処理動作を行なう。スレーブCP
Ue中には、このようなコマンドをデコードするための
プログラムが格納されている。また、スレーブCPU9
からマスタCPU7に対する応答も、シリアルボート6
を通じて行なわれる。即ち、スレーブCPU9からコー
ド化されたコマンドがマスタCPU7に返送される。マ
スタCPU7は、そのコマンドをデコードして、スレー
ブCPU9の動作を知る。
ところが、上記のような構成の制御では、マスタCPU
7.スレーブCPU9の双方でコマンドのエンコードと
デコードを行なう必要がある。また、更に、制御の都度
、そのコマンドの送受信処理を行なう必要もある。従っ
て、両CPU間のコマンド送受信量が多くなると、CP
U全体の処理時間に占めるCPU間のコマンド送受信や
デコード、エンコードに使用される時間の割合が大きく
なり、他のデータ処理効率が低下するという問題があっ
た。
本発明は以上の点に着目してなされたもので、プリンタ
のマスタCPUによるスレーブCPUの制御を効率的に
行なうことができるプリンタ制御装置を提供することを
目的とするものである。
(課題を解決するための手段) 本発明のプリンタ制御装置は、プリンタ全体の動作を制
御するマスタCPUと、プリンタの印字機構を制御する
スレーブCPUと、前記マスタCPUが前記スレーブC
PUの起動、休止及び停止動作を制御するための、制御
データを書込む制御レジスタと、前記スレーブCPUが
当該スレーブCPUの動作状態を前記マスタCPUに通
知するための、状態データを書込む状態レジスタとを備
えたことを特徴とするものである。
また、本発明のプリンタ制御装置は、プリンタ全体の動
作を制御するマスタCPUと、プリンタの印字機構を制
御するスレーブCPUと、前記マスタCPUが前記スレ
ーブCPUのコントロールプログラムの一部をロードす
るプログラムメモリとを備えたことを特徴とするもので
ある。
(作用) 本発明のプリンタ制御装置は、マスタCPU(lO)が
制御レジスタ(310)に制御データを書込むと、スレ
ーブCP U (20)がその内容を読取って起動、休
止及び停止動作を実行する。また、スレーブCP U 
(20)が状態データを状態レジスタ(320)に書込
むと、マスタCP U (10)はこの状態レジスタ(
320)の内容を読取ってスレーブCP U (20)
の動作状態を認識する。これにより、スレーブCP U
 (20)は、マスタCP U (10)の制御により
任意の内部状態から起動することが可能となり、マスタ
CP U (10)はスレーブCP U (20)の動
作状態をいつでも認識できる。従って、コマンドの送受
信等を必要としない。
また、プログラムメモリ(24)に、マスタCPU(1
0)が随時所定の動作用プログラムをロードし、これに
従ってスレーブCP U (20)が動作するようにす
れば、スレーブCP U (20)側に始めから用意し
ておくべきプログラムの量を減少させることができる。
(実施例) 以下、本発明を図の実施例を用いて詳細に説明する。
(装置の全体構成〉 第1図は、本発明のプリンタ制御装置の実施例を示すブ
ロック図である。
図の装置は、マスタCPUl0とスレーブCPU20を
備えている。マスタCPUl0は装置全体の動作を制御
するために設けられ、スレーブCPU20は印字機構5
0を制御するために設けられている。マスタCPUl0
とスレーブCPU20とは、各8ビツト構成のCPUア
ドレスバス11及びCPUアドレスデータバス12と、
CPUバスコントロール信号線13により接続されてい
る。
スレーブCPU20は、入出力制御回路30を介して外
部回路と接続されるよう構成されている。マスタCPU
l0には、例えばインテル社の8051CP Uが使用
される。
また、CPUアドレスデータバス12には、このCPU
アドレスデータバス12からアドレス信号を分離してラ
ッチするアドレスラッチ回路15が接続されている。こ
のアドレスラッチ回路には、例えばテキサスインスツル
メント社の74LS373等のラッチ用集積回路が使用
される。
そして、CPUアドレスバス11及びアドレスラッチ回
路15の出力をアドレス信号として受入れて、CPUア
ドレスデータバス12に対し、データを出力するマスタ
コントロールプログラムメモリ14が設けられている。
このメモリは、マスタCPU 10のコントロールプロ
グラムを格納したリード・オンリ・メモリ(ROM)等
から成る。
一方、スレーブCPU20の動作を制御するために、ロ
ーカルプログラムメモリ24が設けられ、このメモリは
、各8ビツト構成のローカルアドレスバス21及びロー
カルデータバス22を介して、スレーブCPU20と接
続されている。勿論、これらのバスも、スレーブCPU
20に対し、入出力制御回路30を介して接続される。
このローカルプログラムメモリ24は、スレーブCPU
20のコントロールプログラムを格納したランダム・ア
クセス・メモリ(RAM)から成る。
更に、スレーブCPU20には、入出力制御回路30を
介して、各8ビツト構成のシステムアドレスバス41及
びシステムアドレスデータバス42が接続されている。
ここに、システムアドレスバス41からアドレス信号を
受入れて、システムアドレスデータバス40に向はデー
タを出力する共有データメモリ44が設けられている。
この共有データメモリ44は、マスタCPUl0とスレ
ーブCPU20が共通にアクセスできるランダム・アク
セス・メモリ(RAM)から成る。
更に、8ビツト構成のシステムアドレスバス41から2
回に分けて出力される合計16ビツトのアドレス信号を
受入れて、印字パターンデータを出力する印字パターン
メモリ45が設けられている。この印字パターンメモリ
45も、マスタCPUl0及びスレーブCPU20によ
り共通にアクセスされるリード・オンリ・メモリ(RO
M)等から成る。この印字パターンメモリ45により、
文字コードが印字用のドツトパターンに変換されて、印
字機構50に向けて出力される。
更に、この装置には、プリントヘッド51を駆動するた
めにプリントヘッド駆動回路47が設けられ、スレーブ
CPU20からプリントヘッドドライブ信号47a及び
ヘッドドライブタイミング信号47bが供給される。
また、システムアドレスバス41及びシステムアドレス
データバス42よりアドレス信号を受入れる、アドレス
ラッチ及びスペースモータコントロール回路48が設け
られている。この回路は、システムアドレスバス41か
ら入力するアドレス信号をラッチして、印字パターンメ
モリ45に向は出力するアドレスラッチ機能を有する他
、入力するアドレス信号に従って、スペースモータ駆動
回路49に対し、所定の制御信号を出力するメモリや論
理回路等から成る。これは既知の集積回路(IC)によ
り構成される。
スペースモータ駆動回路49は、印字機構50に設けら
れたスペースモータ52を、所定のタイミングで所定速
度で駆動する既知の回路から成る。印字機構50は、プ
リントヘッド51及びスペースモータ52、ロータリエ
ンコーダ53等を備えている。プリントヘッド51は、
プリントヘッド駆動回路47より制御信号を受け、例え
ばワイヤドツト式プリンタの場合、印字パターンに応じ
たワイヤの駆動制御が行なわれる。スペースモータ52
は、プリントヘッド51を搭載したキャリッジを印字方
向に走査するためのモータで、その回転はロータリエン
コーダ53により検出され、アドレスラッチ及びスペー
スモータコントロール回路48にフィードバックされる
尚、本発明の装置において、マスタCPUl0がスレー
ブCPU20の起動、休止及び停止動作を制御するため
の制御レジスタ310や状態レジスタ320、内部状態
レジスタ300は、後で説明するように入出力制御回路
30の内部に設けられている。
また、マスタCPU10は、ローカルプログラムメモリ
24に、スレーブCPU20のコントロールプログラム
を、後述するように所定のタイミングでロードすること
ができる。即ち、スレーブCPU20は、必要に応じて
マスタCPUl0から種々のコントロールプログラムの
転送を受は処理を実行する。従って、マスタCPUから
送られてくるコマンドの内容を解読し、スレーブCPU
自らが、予め用意されたプログラムのうちの何れかを選
択して実行するといった従来のような判断動作が不要と
なる。
〈スレーブCPUの周辺回路〉 第3図に、本発明の装置の要部ブロック図を示す。
このブロック図は、第1図に示したスレーブCPU20
とその周辺の入出力制御回路30等の詳細なブロック構
成を示したものである。
図のように、スレーブCPU20には、8ビツトのAレ
ジスタ211とBレジスタ212とが設けられており、
これらのレジスタに格納されたデータがA L U 2
20に入力して演算処理される。
A L U 220の出力は、8ビツトのワーキングレ
ジスタ231〜234の何れかに格納される。そして、
これらのワーキングレジスタ231〜234に格納され
たデータは、8ビツト構成のローカルデータバス22に
向は出力されるよう構成されている。
尚、ローカルデータバス22は、ローカルプログラムメ
モリ24の入出力端子及びAレジスタ211及びBレジ
スタ212の入力端子に接続され、更にA L U 2
20の制御端子に接続されている。
また、ローカルデータバス22は、プログラムカウンタ
241%Aデータポインタ242 、Bデータポインタ
243 、Cデータポインタ244及びコマンドデコー
ダ214に結線され、更に入出力制御回路30に接続さ
れている。プログラムカウンタ241 、Aデータポイ
ンタ242 、Bデータポインタ243及びCデータポ
インタ244の出力は、ローカルアドレスバス21又は
ローカルデータバス22に入力するよう接続されている
また、コマンドデコーダ214の出力は、タイミングコ
ントロール回路215に入力し、このタイミングコント
ロール回路215が、装置各部の内部制御に必要な基本
タイミング信号と、コントロール信号を発生させるよう
構成されている。振動子25の出力するクロックCKは
発振回路215aにより分周されて、タイミングコント
ロール回路215に入力している。
入出力制御回路30には、ヘッドドライブタイミング用
タイマ301〜304と、ヘッドドライブタイミング用
タイマコントロール回路305、システムバスコントロ
ール& DRAMリフレッシュコントロール回路306
、CPUインタフェースコントロール回路307及びヘ
ッドドライブデータ出力用シリアルポート308が設け
られている。
〈スレーブCPUの概略動作〉 上記の装置は、次のようなデータの流れに従つて動作す
る。
先ず、Aデータポインタ242の出力するアドレス信号
により、ローカルプログラムメモリ24から読出された
データはAレジスタ211に格納される。また、Bデー
タポインタ243の出力するアドレス信号により、ロー
カルプログラムメモリ24から読出されたデータは、B
レジスタ212に格納される。そして、Aレジスタ21
1及びBレジスタ212に格納されたデータは、A L
 U 220により演算処理されて、何れかのワーキン
グレジスタ231〜234にラッチされる。更に、論理
処理の必要があれば、これらのワーキングレジスタ23
1〜234の内容なAレジスタ211あるいはBレジス
タ2】2に転送し、ALU220により再処理する。
処理が完了して、ワーキングレジスタ231〜234に
格納されたデータは、Aデータポインタ242 、 B
データポインタ243あるいはCデータポインタ244
により指定される、入出力制御回路30内の何れかのヘ
ッドドライブタイミング用タイマに出力されて、ヘッド
ドライブタイミング信号■〜■、あるいはヘッドドライ
ブ信号を出力するために使用される。
また、更に、ワーキングレジスタ231〜234に格納
されたデータは、入出力制御回路30のシステムバスコ
ントロール& DRAMリフレッシュコントロール回路
306を介して、第1図に示す共有データメモリ44や
印字パターンメモリ45、アドレスラッチ及びスペース
モータコントロール回路48に向は出力される。また、
この他に、ローカルプログラムメモリ24のアクセスに
も使用される。
以上のような一連の処理は、ローカルプログラムメモリ
24から読出されたコントロールプログラム中のコマン
ドが、コマンドデコーダ214でデコードされ、タイミ
ングコントロール回路215に入力し、ここで出力され
るタイミング信号やコントロール信号により制御される
〈スレーブCPUの動作タイミング〉 第4図に、スレーブCPUの動作タイミングチャートを
示す。
上記スレーブCPUは、パイプライン制御により動作す
る。その動作タイミングは、この第4図に示す通りであ
る。
即ち、第4図(a)に示すように、インストラクション
サイクルなI、〜工、と設定すると、同図(b)に示す
マシンサイクルは、同図(C)に示すクロックGKの3
クロック分の時間で構成される。図のマシンサイクルM
1は読出し動作を示し、マシンサイクルM2は書込み動
作を示す、また、クロックGKは例えば22.7MHz
で発生され、1マシンサイクルは132n秒で実行され
る。ローカルプログラムメモリ24のリードサイクルは
、同図(d)に示す信号がロウレベルになったタイミン
グで実行され、ライトサイクルは、同図(e)の信号が
ロウレベルになった時点で実行される。
リードサイクル実行中、第3図に示すローカルアドレス
バス21には、各リードサイクルにおいて、第4図(f
)に示すように、それぞれプログラムカウンタ241(
第3図)からアドレス信号が出力される。
一方、ライトサイクル実行中には、何れかのデータポイ
ンタ242〜244(第3図)から所定のアドレス信号
が出力される。そして、第4図(g)に示すように、リ
ードサイクルにおいては、上記アドレス信号により、ロ
ーカルデータバス21に対しローカルプログラムメモリ
24から命令が読出され、ライトサイクルにおいては、
ワーキングレジスタ232又は234からローカルデー
タバス21にライトデータが出力される。
そして、第4図(h)に示すように、スレーブCPU2
0は、リードサイクルにおいては、各マシンサイクルの
前半にフェッチを行ない、後半に命令のデコードを行な
う、そして、次のマシンサイクルでその命令が実行され
るが、これと同時に、その読出しサイクルで、フェッチ
とデコードがオーバーラツプされて行なわれる。これに
より、実際には、命令のフェッチから実行まで2マシン
サイクルが必要であるが、1マシンサイクル毎に命令を
実行することができる。
一方、第4図のインストラクションサイクル■、におい
ては、データのり−ド/ライトを実行する。従って、こ
の場合においてはバイブライン処理が不可能であり、2
マシンサイクルが必要となる。
即ち、スレーブCPUの、ローカルプログラムメモリ2
4に対してリード/ライトを行なわない内部レジスタ操
作命令は、実質的に1マシンサイクルで実行される。
〈スレーブCPUのALU構成〉 第5図に、スレーブCPUのALUブロック図を示す。
このALU220は、第3図に示すタイミングコントロ
ール回路215からの制御指令により動作し、第3図に
示すAレジスタ211とBレジスタ212の出力を受入
れて演算処理を実行し、第3図に示すワーキングレジス
タ231〜234に向けて演算結果を出力するよう構成
されている。尚、Aレジスタ211もBレジスタ212
も、何れも8ビツトのデータを出力し、最終的にワーキ
ングレジスタ231〜234へ8ビツトのデータが出力
される。
このA L U 220は、シフトL回路2211 シ
フト8回路222、スワップ回路223、アンド回路(
A N D ) 224、オア回路(OR) 225 
、加算回路(ADD) 227 、反転回路(INV)
228を演算用の回路として備えている。尚、加算回路
227には、オーバーフロー時のフラグを格納するCA
レジスタ226が接続されている。
更に、アンド回路224の出力とワーキングレジスタ2
31〜234(第3図)から、ローカルデータバス22
を介して入力する信号の論理和をとるオア回路229、
及び、全ての演算回路の出力の論理和をとるオア回路2
30が設けられている。また、各演算回路の出力側には
、タイミングコントロール回路215から出力されるゲ
ートコントロール信号により、ゲートを開閉されるゲー
トG t −G 。
が設けられている。
シフトL回路221は、Aレジスタ211から入力する
データを左へ1ビツトシフトする回路である。シフト8
回路222は、Aレジスタ211から入力するデータを
右へ1ビツトシフトする回路である。スワップ回路22
3は、Aレジスタ211から入力する信号の上位4ビツ
トと下位4ビツトとを入替える回路である。アンド回路
224は、Aレジスタ211から入力する信号とBレジ
スタ212から入力する信号の論理積をとる回路である
。オア回路225は、Aレジスタ211から入力する信
号とBレジスタ212から入力する信号の論理和をとる
回路である。加算回路227は、Aレジスタ211から
入力する信号とBレジスタ212から入力する信号との
和をとる回路である0反転回路228は、Aレジスタ2
11から入力する信号を反転して出力する回路である。
即ち、このA L U 220は、Aレジスタ211及
びBレジスタ212に格納されたデータを、シフトし、
反転し、入替え、あるいは論理和、論理積等をとって、
ワーキングレジスタ231〜234へ向けて出力するよ
う動作する。その動作の選択は、ゲート01〜G9の開
閉により行なわれる。その結果、ワーキングレジスタ2
31〜234に出力された信号をAレジスタ211やB
レジスタ212に転送し、あるいは直接ALU内のオア
回路229に転送する等の動作を繰返すことによって、
種々の演算処理を実行する。
〈プログラムカウンタ〉 第6図は、第3図に示したプログラムカウンタ241の
ブロック図である。
プログラムカウンタ241は、主として、ローカルプロ
グラムメモリ24をアクセスするためのアドレスを発生
する回路である。この回路は、プログラムカウンタバン
クレジスタ241aとアップカウンタ241bを備えて
いる。そして、ローカルデータバス22から入力する下
位8ビット分のデータをアップカウンタ241bに受入
れ、上位7ビツト分のデータをプログラムカウンタバン
クレジスタ241aに受入れて、合計15ビツトのアド
レス信号を発生する構成とされている。プログラムカウ
ンタバンクレジスタ241aの出力は、バンクセレクト
に使用され、ローカルアドレスバス21には、アップカ
ウンタ241の内容を出力する構成とされている。アッ
プカウンタ241bは、バイナリカウンタから構成され
、1バンク内につき 256バイトのアドレッシングを
行なう。
そして、このアップカウンタ241bには、第3図に示
すタイミングコントロール回路215からカウントアツ
プパルスが入力し、ローカルプログラムメモリ24から
読出された命令コードを1バイトフエツヂする毎に“1
”だけカウントアツプする。このアップカウンタ241
bは、その出力が、ヘキサデータで“FF”となった場
合に更に“1”カウントアツプすると、自動的に“OO
”に戻る。
尚、アップカウンタ241bのみにより、ローカルプロ
グラムメモリ24をアクセスする場合、ローカルプログ
ラムメモリ24に格納されたコントロールプログラムが
256バイト以内である必要がある。しかしながら、そ
れ以上の量のプログラムを実行する場合には、プログラ
ムカウンタバンクレジスタ241aを再設定してバンク
を切替え、アクセスする。
〈データポインタ〉 先に説明したように、第3図に示すAデータポインタ2
42は、Aレジスタ211へ格納すべきデータの読出し
用として設けられており、Bデータポインタ243は、
Bレジスタ212へ格納すべきデータの読出し用として
設けられている。また、Cデータポインタ244は、汎
用のデータポインタとして設けられている。これらは、
次のようなブロック構成となっている。
第7図は、Aデータポインタ242のブロック図である
この回路は、データポインタバンクレジスタ242aと
アップカウンタ242bとから構成される。
ローカルデータバス22より入力する下位8ビット分の
データは、アップカウンタ242bに入力する。また、
上位7ビツト分のデータは、データポインタバンクレジ
スタ242aに入力する。そして、合わせて15ビツト
のアドレス信号を発生する構成とされている。データポ
インタバンクレジスタ242aの出力はバンクセレクト
に使用され、ローカルアドレスバス21には、アップカ
ウンタ241の内容を出力するよう構成されている。B
データポインタについても、全く同様の構成である。そ
して、両データポインタ242及び243は、何れも、
ローカルプログラムメモリ24の全アドレス空間に対し
て、データアクセスを行なうことが可能なように構成さ
れている。
また、第8図には、Cデータポインタ244のブロック
図を示す。
Cデータポインタ244は、データポインタバンクレジ
スタ244aとアップダウンカウンタ244bとから構
成される。そして、ローカルデータバス22から下位8
ビット分のデータがアップダウンカウンタ244bに入
力し、上位8ビット分のデータがデータポインタバンク
レジスタ244aに入力する。
こうして、合計16ビツトのアドレス信号を発生する構
成とされている。データポインタバンクレジスタ244
aの出力はバンクセレクトに使用され、ローカルアドレ
スバス21には、アップ/ダウンカウンタ244bの内
容を出力する。
尚、アップダウンカウンタ244bは、第3図に示すタ
イミングコントロール回路215から、アップダウン制
御信号及びカウントパルスを受入れて、カウントのアッ
プダウンを行なうよう構成されている。
このCデータポインタ244は、第3図に示すローカル
プログラムメモリ24に対しアクセスする場合には、デ
ータポインタバンクレジスタ244aの出力のうちの7
ビツトでバンクを指定する。また、システムバスに対し
てアクセスする場合には、データポインタバンクレジス
タ244aの出力8ビツト全てを使用する。
〈制御レジスタと状態レジスタ) 第1図に示したマスタCPU10は、スレーブCPU2
0をCPUインタフェースコントロール回路307(第
3図)中に設けられたレジスタを介して制御する。
第9図に、マスタCPUl0によるスレーブCPU20
の制御ブロック図を示す。
図において、マスタCPU 10とスレーブCPU20
の間には、CPUインタフェースコントロール回路30
7が設けらている。このCPUインタフェースコントロ
ール回路307は、第3図に示したものの一部を抜出し
て表示したものである。
即ち、この回路には、制御レジスタ310、状態レジス
タ320、マスタ/スレーブ通信レジスタ330、スレ
ーブ/マスタ通信レジスタ340が設けられている。
マスタcpu toのスレーブCPU20に対する制御
は、制御レジスタ310を介して行なわれ、スレーブC
PU20のステータスは、状態レジスタ320に格納さ
れ、マスタCPUl0に読出される。また、マスタCP
U10からスレーブCPU20に対するデータ転送用と
して、マスタ/スレーブ通信レジスタ330が設けられ
、その逆方向のデータ転送用として、スレーブ/マスタ
通信レジスタ340が設けられている。
第1O図は、状態レジスタ320のビット割当てを示す
説明図である。また、第11図は、制御レジスタのビッ
ト割当てを示す説明図である。
両図において、各レジスタは、何れもb0〜b7までの
8ビツト構成とされている。状態レジスタ320ノビツ
トb0はRUN/5TOP、 b I ハWAIT/R
UN、 b aはIN IPT、 b4はWATCHF
LAGI 。
b、はWATCHFLAG2、b6はスレーブ/マスタ
通信データ有りを通知するフラグである。また、制御レ
ジスタ310(7)boはRUN/5TOP、 b t
 GtWAIT/RUN、 b *はIPT CLR%
b4はWATCHFLAGI、b、はWATCHFLA
G2を示すフラグから成る。
以下、各ビットのフラグの意味や役割りを順に説明して
いく。
状態レジスタ320のビットb0は、スレーブCPU2
0のプログラムが走行中(RUN)の場合“1”、動作
停止中(STOP)の場合“O”とされるフラグである
。スレーブCPU20は、マスタCPUl0から制御レ
ジスタ310のビットbo1即ちRUN/5TOPビッ
トに“1”をセットすることで起動される。また、スレ
ーブCPU20のプログラム中に“END”命令が存在
し、そのフェッチがあった場合、あるいは制御レジスタ
310のビットb、に“0”をセットすることにより、
スレーブCPU20が動作を停止する。
状態レジスタ320のビットbIは、スレーブCPU2
0の動作がWAIT状態にあるとき“1”となり、RU
N状態であるとき“0”となるフラグである。マスタC
PUl0が、制御レジスタ310のビットb+を”l”
にセットすると、スレーブCPU20はWAIT状態に
入る。また、マスタCPU1Oが制御レジスタ310の
ビットb、を′0”にセットすれば、スレーブCPU2
0がWAIT状態を抜けRUN状態に入る。
状態レジスタ320のビットb2は、スレーブCPU2
0からマスタCPU10に対する割込み動作がベンディ
ング状態である場合に、“1”となるフラグである。ス
レーブCPU20からマスタCPUl0に対する割込み
は、スレーブCPU20が“END”命令により動作を
終了するか、スレーブCPU20からマスタCPUI 
Oに対する通信データが、先に第9図で説明したスレー
ブ/マスタ通信レジスタ340にセットされた場合に発
生する。
状態レジスタ320のビットb4及びb3は、マスタC
PUl0がスレーブCPU20の動作を監視する動作中
に、“1”となるフラグである。
状態レジスタ320のビットb6は、第9図に示すスレ
ーブ/マスタ通信レジスタ340にスレーブCPU20
からデータがセットされている場合に、“1”となるフ
ラグである。このフラグは、マスタCPUl0がスレー
ブ/マスタ通信レジスタ340の内容を読取った時点で
ゼロクリアされる。同時に、状態レジスタ320の割込
み発生を示すビットb2も、ゼロクリアされる。
次に、制御レジスタ310のビットb0は、マスタCP
Ul0がスレーブCPU20の動作をスタートさせる場
合に、“l”をセットするフラグである。これにより、
後で第17図を用いて説明するRIINフリップフロッ
プ(F/F)351がセットされる。その結果、スレー
ブCPU20は、指定されたアドレスから動作をスター
トする。尚、このスタートアドレスは、予めマスタCP
UIOからセットされる。
スレーブCPU20は、その動作プログラム中の“EN
D”命令をフェッチし、上記RUNフリップフロップ3
5!をゼロクリアすることにより動作を停止する。また
、マスタCPUl0が、制御レジスタ310のビットb
oをゼロクリアすることにより、スレーブCPU20が
動作中であっても、上記RUNフリップフロップ351
がゼロクリアされ、スリーブCPUは現在実行中の命令
を完了し、その後動作を停止する。スレーブCPU20
が動作を停止すると、状態レジスタ320のビットb0
が“0”となり、マスタCPUl0に対し割込みがかか
る。
制御レジスタ310のビットb+にマスタCPU10が
“1”をセットすると、スレーブCPU20の、後で第
17図を用いて説明するWAITフリップフロップ(F
/F)352がセットされ、スレーブCPU20は現在
実行中の命令を完了すると、WAIT状態に入る。
WAIT状態の解除は、制御レジスタ310のビットb
1をゼロクリアすることにより行なわれる。この場合、
スレーブCPU20のWAITフリップフロップ352
がクリアされ、スレーブCPU20は、WAIT状態に
入る前に実行を完了した次のアドレスから動作を再開す
る。この場合、状態レジスタ320のビットb+に“1
“がセットされ、WAIT状態であることが表示される
制御レジスタ310のビットb3は、スレーブCPU2
0から割込みが発生し、その後、割込みのクリアを指示
する場合に使用される。即ち、スレーブCPU20は、
そのプログラム中で“END”命令をフェッチし、プロ
グラムの実行を終了したときや、スレーブ/マスタ通信
レジスタ340(第9図)に通信データがセットされ、
マスタCPUl0に割込みを発生した後に、マスタCP
U 10が制御レジスタ310のビットb2を“1”に
セットする。こうして、割込みのクリアが行なわれる。
制御レジスタ310のビットb4とす、は、マスタCP
Ul0がスレーブCPU20の動作を監視中に“l”と
なるフラグである。制御レジスタ310と状態レジスタ
320のビットb、、bsは、マスタCPUl0により
“1″にセットされ、スレーブCPU20のプログラム
により0”にクリアされる。マスタCPUl0が一定時
間おきにこのフラグをセットし、かつ、セットする直前
に、その都度、このビットがゼロクリアされていること
を確認する。スレーブCPU20のプログラムでは、こ
のマスタCPUl0の監視時間より短い周期でビットb
4及びb6をクリアする。マスタCPU 10は、この
フラグをセットする際に、その内容がゼロクリアされて
いなければ、スレーブCPU20の動作に異常が発生し
たと判断し、エラー処理を行なう。このような処理によ
り、マスタCPUl0はスレーブCPU20が正常に動
作しているかを監視することができる。
尚、この制御レジスタ310のビットbn、beは、状
態レジスタ320のビットb4.bsと同時にセットあ
るいはクリアされ、マスタCPU 10は状態レジスタ
320のビットba  beを読取り、スレーブCPU
20は制御レジスタ310の内容を読取ることによって
上記制御が行なわれる。
状態レジスタ320は、上述したように、マスタCPU
 l OがスレーブCPU20の内部状態を判別するた
めに設けられている。
〈通信レジスタ〉 第9図に示すマスタ/スレーブ通信レジスタ330とス
レーブ/マスタ通信レジスタ340は、マスタCPUl
0とスレーブCPU20との間の通信に使用される。マ
スタCPUl0からスレーブCPU20へのデータ転送
は、マスタ/スレーブ通信レジスタ330を用いて行な
われる。
第12図に、マスタ/スレーブレジスタの具体的なブロ
ック図を示す。
マスタ/スレーブ通信レジスタは、ラッチ回路331及
びフリップフロップ332から構成される。
ラッチ回路331は、ゲート付きの8ビツトラッチ回路
から成り、CPUアドレスデータバス12から入力する
信号を受入れて、ローカルデータバス22に向けて出力
するよう構成されている。
このラッチ回路331は、マスタCPUl0から出力さ
れるレジスタライト信号によりデータをラッチし、スレ
ーブCPU20から出力されるレジスタリード信号によ
りデータを出力する。
方、フリップフロップ332は、SRフリップフロップ
から成り、レジスタライト信号によりセットされ、レジ
スタリード信号によりクリアされる。そして、その出力
は、マスタ/スレーブ通信データ有り信号としてタイミ
ングコントロール回路215へ向は出力される。
即ち、この回路において、マスタCPUl0がCPUア
ドレスデータバス12に所・定のデータを出力し、同時
にレジスタライト信号を出力すると、ラッチ回路331
にそのデータがラッチされる。フリップフロップ332
は、このレジスタライト信号によりセットされ、マスタ
/スレーブ通信データ有り信号をタイミングコントロー
ル回路に向は出力する。スレーブCPU20は、このマ
スタ/スレーブ通信データ有り信号をプログラム中で読
取ると同時に、タイミングコントロール回路215を介
してレジスタリード信号を出力する。レジスタリード信
号がラッチ回路331に入力すると、データがローカル
データバス22を介して読出される。そして、同時にフ
リップフロップ332がクリアされ、マスタCPUl0
からスレーブCPU20へのデータ転送動作が完了する
第13図に、スレーブ/マスタ通信レジスタの詳細なブ
ロック図を示す。
この回路は、ラッチ回路341及びSRフリップフロッ
プ342を備えている。
ラッチ回路341は、ゲート付きの8ビツトラッチ回路
で、ローカルデータバス22から受入れた信号をラッチ
し、CPUアドレスデータバス12に向は出力するよう
構成されている。ラッチ回路341の出力動作は、タイ
ミングコントロール回路215から出力されるレジスタ
ライト(WRITE)信号によって制御される。また、
ラッチ回路341からのデータの読出しは、マスタCP
Ul0から出力されるレジスタリード(READ)信号
により制御される。
一方、フリップフロップ342はレジスタライト信号に
よりセットされ、レジスタリード信号によりクリアされ
る。フリップフロップ342の出力は、マスタCPUl
0への割込み信号となる。
即ち、スレーブCPU20がAレジスタ211からロー
カルデータバス22に所定のデータを出力し、レジスタ
ライト信号によりラッチ回路341にラッチさせると、
フリップフロップ342がセットされ、マスタCPUl
0に割込みがかかる。マスタCPUl0は、フリップフ
ロップ342の出力により発生した割込み処理の中で、
レジスタリード信号を発生する。これにより、ラッチ回
路341からデータがCPLIアドレスデータバス12
に向けて読出される。一方、マスタCPUl0の発生す
るレジスタリード信号により、フリップフロップ342
がクリアされ、割込み処理が完了する。
こうして、スレーブCPU20からマスタCPUl0へ
のデータ転送動作が完了する。
〈スレーブCPU) スレーブCPU20は、第9図を用いて説明したような
レジスタを介してマスタCPUl0に制御され、次のよ
うな3つの内部状態を持つ。
第14図に、スレーブCPU20の内部状態の説明図を
示す。
図のように、スレーブCPU20は、)IALT状態と
 RUN状態とWAIT状態の3つの状態をとる。 H
ALT状態は、スレーブCPU20が停止している状態
である。  RUN状態は、スレーブCPU20が動作
している状態で、ローカルプログラム、メモリ24(第
3図)に格納されたプログラムにより動作を実行する。
 WAIT状態は、スレーブCPU20が休止している
状態である。休止状態とは、次の起動により、直ちに先
に停止したアドレスから動作を再開できる状態のことを
いう。
そして、先に第9図で説明したように、制御レジスタ3
10の各ビットへマスタCPUl0が所定のフラグをセ
ットすることによって、それぞれの状態へ移行する。即
ち、制御レジスタ310のビットbeが“1′″にセッ
トされると、スレーブCPU20はスタートし、HAL
T状態からRUN状態に移行する。また、制御レジスタ
310のビットb1が“1″′にセットされると、 R
UN状態からWAIT状態に移行する。次に、制御レジ
スタ310のビットblが“0”にクリアされると、W
AIT状態からRUN状態へ移行して動作が再開され、
制御レジスタ310のビットb0が“O”にクリアされ
ると、 RUN状態からHALT状態に移行し、スレー
ブCPU20の動作が停止する。
第15図に、マスタCPU10が読み書きを行なうこと
ができるレジスタ名とそのアドレスの対象衣を示す。
図に示すように、マスタCPU1Oは、第3図において
既に説明したプログラムカウンタ241゜Aレジスタ2
11  Bレジスタ212 、 Aデータポインタ24
2 、 Bデータポインタ243 、 Cデータポイン
タ244及び4つのワーキングレジスタ231〜234
の内容の読み書きを行なうことができる。また、第3図
に示したローカルプログラムメモリ24の読み書きも行
なうことができる。
この読み書きは、スレーブCPU20がHALT状態あ
るいはWAIT状態のときに実行される。これにより、
マスタCPUl0がスレーブCPU20の動作実行中、
所定のタイミングでスレーブCPU20をHALT状態
あるいはWAIT状態に移行させ、各レジスタへ所定の
データをセットし、任意の内部状態からスレーブCPU
20の動作を再開させることができる。また、この際、
ローカルプログラムメモリ24に随時所定のプログラム
をローディングし、スレーブCPU20に予め用意され
ていない任意のプログラムの実行をさせることができる
第16図に、第3図に示したCPUインタフェースコン
トロール回路307の要部ブロック図を示す。
図の回路には、ローカルデータバス22からCPUアド
レスデータバス12に向けて出力するデータを一時格納
するパスバッファ354と、CPUアドレスデータバス
12からローカルデータバス22に向は転送されるデー
タを一時格納するパスバッファ355とが設けられてい
る。また、CPUアドレスバス11からローカルアドレ
スバス21に向けて転送される信号を一時格納するパス
バッファ356が設けられている。ローカルプログラム
メモリ24には、ローカルアドレスバス21がそのアド
レス端子に接続され、ローカルデータバス22がデータ
入出力端子に接続されている。
また、パスバッファ354あるいは355を介するデー
タ転送制御のために、スレーブCPURUNフリップフ
ロップ351及びスレーブCPUWAITフリップフロ
ップ352と、オアゲート353と、2つのアンドゲー
ト357.35Bが設けられている。オアゲート353
は、フリップフロップ351.352の出力を受入れて
アンドゲート357.358の一端に向は出力し、アン
ドゲート357.358は、他端にマスタCPUl0の
書込みあるいは読出し制御信号CPU WR,CPU 
RDを受入れて、それぞれパスバッファ355.パスバ
ッファ354の制御ゲートへその出力を接続している。
マスタCPUl0の書込みあるいは読出し制御信号CP
U WR,CPU RDは、更にアンドゲート362.
363にそれぞれ入力し、アンドゲート362.363
の出力は、オアゲート364.365に入力して、タイ
ミングコントロール回路215からの信号との論理和が
とられ、ローカルプログラムメモリ24の書込み、読出
し制御端子WE、 QCに入力するよう結線されている
また、CPUアドレスバス11は、デコーダ360に接
続され、デコーダ360の出力はゲート361を介して
、上記アンドゲート362.363の一端と、パスバッ
ファ356の制御端子に入力している。アンドゲート3
67、368.370及び371は、それぞれ一端に上
記ゲート361の出力を受入れ、他端にマスタCPUl
0の書込みあるいは読出し信号CPU WR,CPU 
RDを受入れている。
データポインタ242は、カウンタ242bとゲート2
42c、 242dを有しており、カウンタ242bに
はローカルデータバス22のデータが入力し、ゲート2
42cの出力はローカルアドレスバス21に向は出力さ
れ、ゲート242dの出力はローカルデータバス22に
向けて出力されるよう結線されている。上記アンドゲー
ト367の出力は、ゲート242dの開閉を制御するよ
う構成されている。また、ゲート242cは、タイミン
グコントロール回路215から出力されるデータポイン
タアドレスゲートオーブン信号により開閉制御される。
また、カウンタ242bは、アンドゲート368の出力
と、タイミングコントロール回路215から出力される
カウンタデータラッヂ信号との論理和をとるオアゲート
369の出力によりローディングを制御される。
Aレジスタ211は、ラッチ回路211aとゲート21
1bから成る。ラッチ回路211aは、タイミングコン
トロール回路215から出力され・るAレジスクラッチ
信号と、アンドゲート371の出力の論理和をとるオア
ゲート373の出力によりローディングを制御される。
ゲート211bは、タイミングコントロール回路215
から出力されるAレジスタゲートオープン信号と、アン
ドゲート370の出力の論理和をとるオアゲート372
の出力により開閉制御される。
くローカルプログラムメモリへの書込み〉マスタCPU
 10は、CPUアドレスバス11にアドレス信号を出
力し、データの書込みや読出し先を指定する。このアド
レス信号は、デコーダ360に入力しデコードされ、ゲ
ート361を介して種々の回路ブロックを制御する。ゲ
ート361のオーブン条件は、オアゲート353の出力
による。
即ち、スレーブCPURUNフリップフロップ351の
口出力がオアゲート353に入力し、スレーブCPUW
AITフリップフロップのQ出力がオアゲート353に
入力するから、スレーブCPURUNフリップフロップ
351がクリアされているか、っまり口出力が“1”の
とき、あるいはスレーブCPUWAITフリップフロッ
プがセットされている場合に、つまりQ出力が“1”の
とき、ゲート361がオーブンする。従って、ちょうど
スレーブCPU20の停止あるいは休止状態のとき、ゲ
ート361がオーブンすることになる。
パスバッファ354.355は、何れも出力ゲート付き
のパスバッファで、ゲートがクローズしたとき出力側は
ハイインピーダンスになる。そして、パスバッファ35
4もパスバッファ355も、ゲート361がオーブンす
る場合にのみオーブンする。
尚、パスバッファ354は、アンドゲート358により
マスタCPUl0から読出し制御信号CPU RDが出
力されたときにのみオーブンする。また、パスバッファ
355のゲートは、アンドゲート357の動作によりマ
スタCPU10から書込み制御信号CPU WRが入力
した場合にのみオーブンする。
これにより、データがローカルデータバス22からCP
Uアドレスデータバス12に向けて出力されるか、ある
いはCPUアドレスデータバス12からローカルデータ
バス22に向は転送されるかの経路が決定される。従っ
て、スレーブCPU20が動作中は、マスタCPUl0
から読出し制御信号CPU RDあるいは書込み制御信
号CPU WRが入力したとしても、ローカルデータバ
ス22とCPUアドレスデータバス12が接続されるこ
とはない、また、デコーダ360の出力も、ゲート36
1がクローズしていれば無効となる。
従って、スレーブCPU20が動作中、誤ってマスタC
PUl0がローカルプログラムメモリ24にアクセスし
ても、スレーブCPU20の動作が阻害されることはな
い。
一方、マスタCPUl0がローカルプログラムメモリ2
4をアクセスする場合、アドレス信号はパスバッファ3
56に入力する。このとき、ゲート361を介して、パ
スバッファ356のゲートを開く制御信号が入力すると
、CPUアドレスバス11とローカルアドレスバス21
とが接続され、マスタCPUl0から出力されたアドレ
ス信号が、ローカルプログラムメモリ24のアドレス端
子に入力する。
データの読出し動作の場合、ローカルプログラムメモリ
24から読出されたデータは、ローカルデータバス22
及びパスバッファ354を通じて、CPUアドレスデー
タバス12に向は出力される。一方、データの書込み動
作の場合、CPUアドレスデータバス12から、パスバ
ッファ355とローカルデータバス22を介してローカ
ルプログラムメモリ24にデータが書込まれる。
尚、読出しの場合には、読出し制御信号CPU RDが
ゲート361の開くタイミングで、アンドゲート363
からオアゲート365を介して、ローカルプログラムメ
モリ24の読出し制御端子OCに入力し、データの読出
しが行なわれる。また、データの書込みの場合には、マ
スタcpuioから書込み制御信号CPU WRがアン
ドゲート362に入力し、ゲート361の開くタイミン
グで、オアゲート364を介してローカルプログラムメ
モリ24の書込み制御端子WEに入力する。これによっ
て、データの書込みが実行される。
〈Aデータポインタへの書込み〉 カウンタ等のマスタCPU10から見たアドレスは、先
に第15図の表で説明した通りである。
第15図で示したAデータポインタのアドレス信号が、
第16図のCPUアドレスバス11に出力されると、ゲ
ート361はアンドゲート368及びオアゲート369
を介して、カウンタ242bのローディング動作を実行
させる。このとき、マスタCPU 10は、CPUアド
レスデータバス12及びパスバッファ355を介して、
ローカルデータバス22に対し、Aデータポインタ24
2へ格納すべきデータを転送する。勿論、このとき、マ
スタCPU 10からは書込み制御信号CPU WRが
出力され、パスバッファ355のゲートが開かれている
一方、マスタCPUl0は、同様のアドレス信号によっ
てAデータポインタ242のゲート242dを開き、既
にカウンタ242bに格納されたデータを、ローカルデ
ータバス22とパスバッファ354及びCPUデータバ
ス12を介して読取ることができる。この場合、マスタ
CPUl0からは、読出し制御信号CPU RDが出力
され、パスバッファ354のゲートが開かれている。
Aレジスタ211に対するデータの書込みも同様にして
行なわれる。即ち、CPUアドレスバス11にAレジス
タ211をアクセスするアドレス信号が入力すると、デ
コーダ360及びゲート361を介してアンドゲート3
71が開かれ、ラッチ回路211aにローディング制御
信号が入力する。このとき、マスタCPUl0は、書込
み制御信号CPU WRを出力し、CPUアドレスデー
タバス12.パスバッファ355及びローカルデータバ
ス22を介して、Aレジスタ211に入力すべきデータ
を送り込む。これによりデータが格納される。
一方、データ読出し時には、マスタCPU 10が同様
のアドレス信号をCPUアドレスバスに入力する一方、
読出し制御信号CPU RDを出力し、パスバッファ3
54のゲートを開放する。アドレス信号によって、Aレ
ジスタ211のゲート211bが開放されているから、
ラッチ回路211aのデータは、ローカルデータバス2
2上に出力され、パスバッファ354を介してCPUア
ドレスデータバス12に向は出力され、マスタCPUl
0に読取られる。
尚、第16図には、Aデータポインタ242及びAレジ
スタ211のみを表示したが、第3図及び第15図に示
した各レジスタについても、全く同様の結線がされてお
り、同様の動作が実行される。
〈スレーブCPUの動作マトリクス〉 第17図に、スレーブCPtJの動作マトリクスを示し
、先に説明した要領で、マスタCPUl0がスレーブC
PU20の内部状態を設定した後のスレーブCPU20
の動作を具体的に説明する。
第17図の表は、横方向に、1番がスレーブCPU20
のHALT状態、2番がRUN状態、3番がWAIT状
態を示す。また、縦方向には、先に第11図で説明した
制御レジスタ310のビットb0のセット、同じくビッ
トb0のクリア、ビットb。
のセット、同じくビットbIのクリアという4種の状態
をA、B、C,Dと符号を付けて表示した。各マトリク
スの3×4種類の動作は、それぞれケースA−1,A−
2・・・と呼ぶことにする。
このマトリクスにおいて、ケースA−1,A−2,A−
3は、何れも制御レジスタ310のビットb0に“1”
をセットした場合の状態変化の有無を示す。
A−1のケースでは、第16図に示すスレーブCPUR
UNフリップフロップ351がセットされ、スレーブC
PU20はHALT状態からRUN状態へ移行する。第
16図において、スレーブCPURuNフリップフロッ
プ351がセットされると、予め図示しないプログラム
カウンタにマスタCPU 10によりセットされている
アドレスから、スレーブCPU20が処理動作を開始す
る。
A−2のケースでは、スレーブCPU20が既に処理動
作を行なっており、制御レジスタ310のビットb。が
セットされても、状態は変化しない。
A−3のケースでは、WAIT状態のときにビットb0
をセットしている。しかし、この状態では、既にビット
b0は“1”にセットされているため、状態に変化はな
い。
次に、B−1,8−2,B−3のケースでは、制御レジ
スタ310のビットbeがクリアされる。
ケースB−1においては、既に制御レジスタ310のビ
ットb0がクリアされているため、再クリアされても状
態は変化しない。
B−2のケースでは、制御レジスタ310のビットb0
がクリアされると、第16図に示すスレーブCPURI
INフリップフロップ351がクリアされる。これによ
り、スレーブGPU20は、現在実行中の命令の動作終
了後、HALT状態に移行する。
ケースB−3では、スレーブCPU20がWAIT状態
のとき、ビットboがクリアされる。
スレーブCPU20のWAIT状態の条件は、制御レジ
スタ310のビットb0が1″にセットされており、か
つ、制御レジスタ310のビットb+が“1”にセット
されているときである。この場合、第16図に示すスレ
ーブCPURUNフリップフロップ351とスレーブC
PUWAITフリップフロップ352がセットされてい
る。従って、マスタcpu t oにより制御レジスタ
310のビットb0がクリアされると、スレーブCPU
RUNフリップフロップ351がクリアされる。これに
より、スレーブCPUWAITフリップフロップ352
もクリアされ、スレーブCPU20はHALT状態へ移
行する。
C−1,C−2,C−3のケースでは、制御レジスタ3
10のビットb+がセットされる。
C−1のケースでは、スレーブCPURUNフリップフ
ロップ351はセットされていない。WAIT状態への
移行条件は、スレーブCPURUNフリップフロップ3
51がセットされ、かつ、マスタCPU10により制御
レジスタ310のビットb、がセットされたときである
。従って、この場合状態は変化しない。
ケースC−2においては、スレーブCPURUNフリッ
プフロップ351がセットされており、マスタCPUl
0によって制御レジスタ310のビットb、がセットさ
れるので、上記の条件を満足する。従って、このケース
では、スレーブCPU20がRUN状態からWAIT状
態へ移行する。この場合、スレーブCPU20は現在実
行中の命令終了後、スレーブCPUWAITフリップフ
ロップ352をセットして、WAIT状態へ移行する。
C−3のケースでは、既にスレーブCPUWAITフリ
ップフロップ352がセットされている。従って、制御
レジスタ310のビットb1が再セットされても、状態
は変化しない。
ケースD−1,D−2,0−3は、制御レジスタ310
のビットb、がクリアされた場合である。
先ず、ケースD−1においては、スレーブCPUWAI
Tフリップフロップがクリアされている。即ち、ここで
、制御レジスタ310のビットb1を再クリアしても、
状態は変化しない。
ケースD−2でも、スレーブCPUWAITフリップフ
ロップ352はクリアされている。従って、ケースD−
1と同様、状態は変化しない。
最後にケースD−3においては、スレーブCPUWAI
Tフリップフロップ352がセットされており、かつ、
スレーブCPURUNフリップフロップ351がセット
されているため、マスタCPUl0により制御レジスタ
310のビットb、がクリアされると、スレーブCPU
WAITフリップフロップ352がクリアされ、スレー
ブCPURUNフリップフロップ351がセットされた
状態になる。これにより、スレーブCPU20はRUN
状態に移行し、WA1丁状態に入る前に実行した命令の
次のアドレスから処理を開始する。
以上説明したように、マスタCPUl0は、先に第9図
で説明した状態レジスタ320を見ることにより、スレ
ーブ(1,PU20の動作を認識し、制御レジスタ31
0の内容を変更して、スレーブCPU20を起動、休止
、停止制御することができる。これによって、マスタC
PUl0は、マスタCPU自身の処理動作を、スレーブ
CPU20の処理動作と同期させ、効率の良い制御を行
なうことができる。
くスレーブcpuの入出力命令〉 第1図に示すように、本発明の装置においては、スレー
ブCPU20のシステムアドレスデータバス42に接続
されたメモリ等が、マスタCPU 10とスレーブCP
U20とに共用されている。従って、何れか一方が、各
メモリ等にアクセスする入出力命令は相互に衝突しない
ように調整されなければならない。このために、先ず第
3図のシステムバスコントロール& DRAMリフレッ
シュコントロール回路306には、例えば、バス切替え
のための回路が設けられる。
第18図に、システムバスコントロール回路例のブロッ
ク図を示す。
システムバスコントロール& DRAMリフレッシュコ
ントロール回路306には、バス切替回路306aが設
けられている。このバス切替回路306aには、CPU
アドレスバス11が接続され、更にCデータポインタ2
44を介してローカルデータバス12が接続されている
。このCデータポインタ244には、先に説明したよう
に、第1図に示す共有データメモリ44等のアクセスに
使用されるアドレスがセットされる。このアドレスは、
スレーブCPU20により生成される。一方、CPUア
ドレスバス11には、マスタCPUl0から所定のアド
レスが入力する。
バス切替回路306aには、第3図に示すタイミングコ
ントロール回路215からバス切替信号が入力し、例え
ばバス切替信号がハイレベルになった場合に、Cデータ
ポインタ244の出力がシステムアドレスバス41に向
は出力される。また、バス切替信号がロウレベルの場合
に、CPUアドレスバス11から供給されるアドレス信
号がシステムアドレスバス41に出力されるよう構成さ
れている。
第19図に、スレーブCPUの入出力命令タイミングチ
ャートを示す。
スレーブCPUは、このようなタイミングチャートに従
ってシステムアドレスバスなアクセスする。尚、第19
図において、*印を示した信号はロウアクティブ、その
他の信号はハイアクティブで示されている。
第19図(a)において、マスタCPU 10は、図の
ようなタイミングでアドレスラッチイネーブル信号をア
クティブにする。即ち、データメモリアクセスサイクル
に続く2回のフェッチサイクルを周期的に繰返し、各サ
イクルの初めに、所定時間、アドレスラッチイネーブル
信号がアクティブにされる。これにより、CPUアドレ
スバス11上のアドレス信号が確定する。
一方、同図(b)において、マスタCPUのプログラム
ストアイネーブル信号は、各フェッチサイクルの後半に
おいてアクティブとなる。また、同図(C)に示すよう
に、マスタCPUのり一ド/ライト(RD/WR)信号
は、データメモリアクセスサイクルの後半においてアク
ティブとなる。この間に、マスタCPUl0による共有
データメモリ44等の読み書き動作が行なわれる。
ここで、スレーブCPU20は、マスタCPU10がプ
ログラムフェッチを行なっている間を利用し、サイクル
スチールでシステムバスにアクセスする。
即ち、第19図(d)に示すように、マスタCPU 1
0のリード/ライト信号がアクティブとなった同図(C
)のタイミングで、スレーブCPU20はバスリクエス
トをアクティブにする。尚、この時点で、スレーブCP
U20はRUN状態からWAIT状態に切替わる[同図
(f)]。
更に、マスタCPUl0のデータメモリへのアクセス終
了後、偶数番目のフェッチサイクル、即ち、この例では
、2番目のフェッチサイクルにおいて、スレーブCPU
がバス使用権を獲得する。
このとき、バス切替信号がアクティブとなる[同図(g
)]。その結果、第18図に示したバス切替回路306
aが動作し、システムアドレスバス41にローカルバス
、即ちローカルデータバス12が接続される。そして、
マスタCPUl0によるアドレスラッチイネーブル信号
[同図(a)]が立ち下がった後、スレーブCPUのI
loによるリード/ライト(RD/WR)信号がアクテ
ィブとなる[同図(e)]。この時点で、スレーブCP
U20による共有データメモリ44へのアクセスが実行
される。
その後、マスタCPUl0のフェッチサイクルが完了す
ると、スレーブCPU20のバスリクエスト信号が立ち
下がり[同図(d)] 、スレーブCPUのI10リー
ドライト信号が無効となって[同図(e)]、スレーブ
CPUの動作がWAIT状態からRUN状態に切替わる
このように、スレーブCPU20がマスタCPU I 
Oのプログラムフェッチサイクルを利用したサイクルス
チールで動作すれば、無秩序なタイミングでバス切替回
路306aを動作させてバス切替えを行なうよりも、デ
ータ転送を効率的に行なうことができる。
(発明の効果) 以上説明した本発明のプリンタ制御装置は、マスタCP
Uが状態レジスタ320を介してスレーブCPUの状態
を認識し、制御レジスタ310を介してスレーブCPU
の起動、休止及び停止動作を制御する。この場合に、マ
スタCPUが、スレーブCPUの任意の内部状態を設定
してスレーブCPU20の動作を制御することができる
。また、マスタCPUl0が、スレーブCPUのコント
ロールプログラムを随時プログラムメモリにロードし、
これをスレーブCPUに実行させることにより、予めス
レーブCPU側に用意されていない任意のプログラムに
よって、スレーブCPUを制御することもできる。
また、コマンドによらずマスタCPUがスレーブCPU
を制御でき、デコードエンコード処理の負担が軽減され
る。
【図面の簡単な説明】
第1図は本発明の装置の実施例を示すブロック図、第2
図はプリンタの概略構成ブロック図、第3図は本発明の
装置の要部ブロック図、第4図はスレーブCPUの動作
タイミングチャート、第5図はスレーブCPUのALU
ブロック図、第6図はプログラムカウンタブロック図、
第7図はAデータポインタブロック図、第8図はCデー
タポインタブロック図、第9図はマスタCPUによるス
レーブCPUの制御ブロック図、第1o図は状態レジス
タ320のビット割当て説明図、第11図は制御レジス
タ310のビット割当て説明図、第12図はマスタ/ス
レーブ通信レジスタのブロック図、第13図はスレーブ
/マスタ通信レジスタのブロック図、第14図はスレー
ブCPUの内部状態説明図、第15図はマスタCPUが
読み書きするレジスタの一覧表、第16図はCPUイン
タフェースコントロール回路要部ブロック図、第17図
はスレーブCPUの動作マトリクスを示す一覧表、第1
8図は第3図の装置に使用されるシステムバスコントロ
ール回路例を示すブロック図、第19図はスレーブCP
Uの人出カ命令タイミングチャートである。 1o・・・マスタCPU。 11・・・CPUアドレスバス、 12・・・CPUアドレスデータバス、13・・・CP
Uバスコントロール信号、14・・・マスタコントロー
ルプログラムメモリ、15・・・アドレスラッチ回路、 20・・・スレーブCPU。 21・・・ローカルアドレスバス、 22・・・ローカルデータバス、 24・・・ローカルプログラムメモリ、30・・・入出
力制御回路、 41・・・システムアドレスバス、 42・・・システムアドレスデータバス、44・・・共
有データメモリ、 45・・・印字パターンメモリ、 47・・・プリントヘッド駆動回路、 48 ・・・アドレスラッチ 及び スペースモータコ
ントロール回路、49・・・スペースモータ駆動回路、 5 0・・・印字機構、 1・・・プリントヘッド、 2・・・スペースモータ、 53・・・ロータリエンコーダ。

Claims (1)

  1. 【特許請求の範囲】 1、プリンタ全体の動作を制御するマスタCPUと、 プリンタの印字機構を制御するスレーブCPUと、 前記マスタCPUが前記スレーブCPUの起動,休止及
    び停止動作を制御するための、制御データを書込む制御
    レジスタと、 前記スレーブCPUが当該スレーブCPUの動作状態を
    前記マスタCPUに通知するための、状態データを書込
    む状態レジスタとを備えたことを特徴とするプリンタ制
    御装置。 2、プリンタ全体の動作を制御するマスタCPUと、 プリンタの印字機構を制御するスレーブCPUと、 前記マスタCPUが前記スレーブCPUのコントロール
    プログラムの一部をロードするプログラムメモリとを備
    えたことを特徴とするプリンタ制御装置。
JP32591889A 1989-12-18 1989-12-18 プリンタ制御装置 Pending JPH03187772A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32591889A JPH03187772A (ja) 1989-12-18 1989-12-18 プリンタ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32591889A JPH03187772A (ja) 1989-12-18 1989-12-18 プリンタ制御装置

Publications (1)

Publication Number Publication Date
JPH03187772A true JPH03187772A (ja) 1991-08-15

Family

ID=18182051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32591889A Pending JPH03187772A (ja) 1989-12-18 1989-12-18 プリンタ制御装置

Country Status (1)

Country Link
JP (1) JPH03187772A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446201B1 (en) * 1998-09-17 2002-09-03 Hartmann & Braun Gmbh & Co. Kg Method and system of sending reset signals only to slaves requiring reinitialization by a bus master

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63125374A (ja) * 1986-11-14 1988-05-28 Brother Ind Ltd 印字装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63125374A (ja) * 1986-11-14 1988-05-28 Brother Ind Ltd 印字装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446201B1 (en) * 1998-09-17 2002-09-03 Hartmann & Braun Gmbh & Co. Kg Method and system of sending reset signals only to slaves requiring reinitialization by a bus master

Similar Documents

Publication Publication Date Title
US3771138A (en) Apparatus and method for serializing instructions from two independent instruction streams
US4112490A (en) Data transfer control apparatus and method
US3593306A (en) Apparatus for reducing memory fetches in program loops
JPS624726B2 (ja)
JPH04290150A (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH0258649B2 (ja)
JPS5849881B2 (ja) デ−タシヨリソウチ
JPS5870360A (ja) デ−タフロ−処新装置
US5442769A (en) Processor having general registers with subdivisions addressable in instructions by register number and subdivision type
JPH03187772A (ja) プリンタ制御装置
US5327537A (en) Apparatus for controlling instruction execution in a pipelined processor
US5321842A (en) Three-state driver with feedback-controlled switching
EP0136699B1 (en) Programmable controller
US5278959A (en) Processor usable as a bus master or a bus slave
JPH0721103A (ja) データ転送装置
JP2581080B2 (ja) デバック用マイクロプロセッサ
JPS61248136A (ja) デ−タフロ−処理装置
JPH0256029A (ja) 汎用レジスタ切換方式
JPS6081656A (ja) アドレス変換装置
JPS62145430A (ja) デ−タ処理装置
WO1991020037A1 (fr) Micro-ordinateur monopuce
JPS60189043A (ja) プロセツサ
JPH05334234A (ja) 高速dma転送装置
JPS63155254A (ja) 情報処理装置
JPS60193046A (ja) 命令例外検出方式