JPS6057605B2 - マイクロコンピュ−タ回路 - Google Patents
マイクロコンピュ−タ回路Info
- Publication number
- JPS6057605B2 JPS6057605B2 JP53110425A JP11042578A JPS6057605B2 JP S6057605 B2 JPS6057605 B2 JP S6057605B2 JP 53110425 A JP53110425 A JP 53110425A JP 11042578 A JP11042578 A JP 11042578A JP S6057605 B2 JPS6057605 B2 JP S6057605B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- instruction
- ram
- register
- bus
- 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.)
- Expired
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Description
【発明の詳細な説明】
本発明は倍長処理を容易にしたマイクロコンピュータ回
路に関するものである。
路に関するものである。
マイクロコンピュータ(以下、マイコン)を分類する時
に、演算転送処理ビット長によつて分けることがある。
に、演算転送処理ビット長によつて分けることがある。
一般にはAl.Uの処理ビット長で決まつているが、A
LUの処理ビット倍長の演算転送ができるマイコンもあ
る。例えばALUが4ビットで8ビットの演算転送も行
なえるものがある。このALUのビット長と演算転送処
理ビット長の関係はデータバスの構成に大きく依存する
。データバス構成でマイコンを分類すると、低速用の1
バス構成、高速用の3バス構成、これらの中間に位置す
る2バス構成に分けられる。1バス構成の一例を第1,
第2図に示す。
LUの処理ビット倍長の演算転送ができるマイコンもあ
る。例えばALUが4ビットで8ビットの演算転送も行
なえるものがある。このALUのビット長と演算転送処
理ビット長の関係はデータバスの構成に大きく依存する
。データバス構成でマイコンを分類すると、低速用の1
バス構成、高速用の3バス構成、これらの中間に位置す
る2バス構成に分けられる。1バス構成の一例を第1,
第2図に示す。
1バス構成においては、基本命令を実行するために5ク
ロックサイクル必要になる。
ロックサイクル必要になる。
タイミングC1〜C5で1マシンサイクルになる。例え
ばレジスタ81と、レジスタB82を演算してレジスタ
C83にストアする命令を考えてみる。C1で命令RO
Mアクセスを行ない命令をフエツチする。C2で命令の
デコードをする。C3でレジスタA8lをバス89に出
力し、データラッチALT(以下、ALT)85にラッ
チする。C4でレジスタB82をバス89に出力し、デ
ータラッチBLT(以下、BLT)86にラッチする。
C5でALT85とBLT86を,AL.U87で演算
し、バス89に出力するとともに、レジスタC83にラ
ッチして命令実行を終える。他の例として、レジスタA
8lと、レジスタB82を交換する命令を考える。
ばレジスタ81と、レジスタB82を演算してレジスタ
C83にストアする命令を考えてみる。C1で命令RO
Mアクセスを行ない命令をフエツチする。C2で命令の
デコードをする。C3でレジスタA8lをバス89に出
力し、データラッチALT(以下、ALT)85にラッ
チする。C4でレジスタB82をバス89に出力し、デ
ータラッチBLT(以下、BLT)86にラッチする。
C5でALT85とBLT86を,AL.U87で演算
し、バス89に出力するとともに、レジスタC83にラ
ッチして命令実行を終える。他の例として、レジスタA
8lと、レジスタB82を交換する命令を考える。
この命令の実行には待避レジスタ88を使用する。まず
、1マシンサイクル目ではレジスタA8lを待避レジス
タ83に転送する。2マシンサイクル目ではレジスタB
82をレジスタA8lに転送する。
、1マシンサイクル目ではレジスタA8lを待避レジス
タ83に転送する。2マシンサイクル目ではレジスタB
82をレジスタA8lに転送する。
3マシンサイクル目では待避レジスタ88をレジスタB
82に転送して命令実行を終える。
82に転送して命令実行を終える。
この1バス構成のマイコンの特徴としては1基本命令実
行に5クロックサイクル必要である。
行に5クロックサイクル必要である。
2RAMのデータビット長がプログラムカウンタ(以下
、PC)のビット長と比較して少ないとき、サブルーチ
ンコール、リターン命令実行マシンサイクルが増える(
特に4ビットマイコン)。
、PC)のビット長と比較して少ないとき、サブルーチ
ンコール、リターン命令実行マシンサイクルが増える(
特に4ビットマイコン)。
3レジスタ問のデータを交換する命令実行時には待避レ
ジスタに加え、1コシンサイクル余分に必要になる。
ジスタに加え、1コシンサイクル余分に必要になる。
4ALUの処理ビット長が、命令ROMのデータビット
長と比較して少ないとき、命令ROMデータ参照命令の
実行マシンサイクルが増える。
長と比較して少ないとき、命令ROMデータ参照命令の
実行マシンサイクルが増える。
5RAMアドレス修飾をデータバスを介して行なうとき
、バスのビット長よりもRAMアドレスビット長が大き
いとき、実行マシンサイクルが増える。
、バスのビット長よりもRAMアドレスビット長が大き
いとき、実行マシンサイクルが増える。
次に、3バス構成の一例を第3図,第4図に示す。
3バス構成においては、基本命令を実行するために3ク
ロックサイクル必要になる。
ロックサイクル必要になる。
タイミングC1〜C3で1マシンサイクルになる。
C1で命令R()Mアクセスを、C2で命令デコードを
行なう。C3で必要なレジスタ91〜94をデータバス
LB,UB97,98に出力するとともに、AL,U9
5に入力する。さらにALU95の演算結果をデータバ
対899に出力するとともに必要なレジスタ91〜94
にストアして命令実行を終える。この3バス構成のマイ
コンの特徴は基本命令実行が3クロックサイクル必要な
ことである。
行なう。C3で必要なレジスタ91〜94をデータバス
LB,UB97,98に出力するとともに、AL,U9
5に入力する。さらにALU95の演算結果をデータバ
対899に出力するとともに必要なレジスタ91〜94
にストアして命令実行を終える。この3バス構成のマイ
コンの特徴は基本命令実行が3クロックサイクル必要な
ことである。
他は、前述1バス構成の特徴2〜5と同様である。前述
した1バス構成と、3バス構成の中間に位置するものが
2バス構成である。次にこの2バス構成の一例を第5,
第6図に示す。2バス構成においては、基本命令を実行
するために4クロックサイクル必要になる。
した1バス構成と、3バス構成の中間に位置するものが
2バス構成である。次にこの2バス構成の一例を第5,
第6図に示す。2バス構成においては、基本命令を実行
するために4クロックサイクル必要になる。
タイミングC1〜C4で1マシンサイクルになる。C1
で命令R′0Mアクセスを、C2で命令のデコードを行
なう。C3で必要なレジスタ101〜104をデータバ
スLB,[3107,108に出力するとともに、AL
,UlO5に入力する。さらにALUlO5の演算結果
をAL,TlO6にラッチする。C4でALTlO6を
、データバスUBlO8に出力するとともに、レジスタ
ClO3にストアして命令実行を終える。この2バス構
成のマイコンの特徴は基本命令実行が4クロックサイク
ル必要なことである。
で命令R′0Mアクセスを、C2で命令のデコードを行
なう。C3で必要なレジスタ101〜104をデータバ
スLB,[3107,108に出力するとともに、AL
,UlO5に入力する。さらにALUlO5の演算結果
をAL,TlO6にラッチする。C4でALTlO6を
、データバスUBlO8に出力するとともに、レジスタ
ClO3にストアして命令実行を終える。この2バス構
成のマイコンの特徴は基本命令実行が4クロックサイク
ル必要なことである。
この基本命令実行に必要なりロック数は1バス構成が最
も多く必要て5サイクル、3バス構成が最も少なく3サ
イクルである。従つて2バス構成は1バス構成と、3バ
ス構成の中間の処理速度になる。
も多く必要て5サイクル、3バス構成が最も少なく3サ
イクルである。従つて2バス構成は1バス構成と、3バ
ス構成の中間の処理速度になる。
これらの従来例の構成においては共通した短所1がある
。
。
第1にはRAMの処理ビット長が固定されているため、
演算転送処理ビット長を倍にして使用する時(以下、倍
長演算転送処理と記す)が不便である。第2にはレジス
タ間のデータ交換命令を実行行するときに、待避レジス
タが必要なことである。すなわち倍長演算転送処理と、
レジスタ間の交換処理が難点であつた。本発明は1バス
構成と3バス構成の両者の長所を盛り込んだ2バス構成
に於て、倍長演算転送処理と、レジスタ間の交換が容易
となるバス構成の−マイコンを実現することを目的にす
る。
演算転送処理ビット長を倍にして使用する時(以下、倍
長演算転送処理と記す)が不便である。第2にはレジス
タ間のデータ交換命令を実行行するときに、待避レジス
タが必要なことである。すなわち倍長演算転送処理と、
レジスタ間の交換処理が難点であつた。本発明は1バス
構成と3バス構成の両者の長所を盛り込んだ2バス構成
に於て、倍長演算転送処理と、レジスタ間の交換が容易
となるバス構成の−マイコンを実現することを目的にす
る。
本発明の概略構成は、データバスLB(以下LB)と、
データバスUB(以下、UB)の2バス構成になつてい
る。
データバスUB(以下、UB)の2バス構成になつてい
る。
そしてそれぞれのUB,LBはAL,U処理ビット長で
ある。またプログラムカウンタ(以下、PC)●命令R
OM●RAM●スタックポインタ(以下、SP) ・A
LUはUB,LBの両方のバスにアクセスするよう接続
し、倍長転送が行なえる。またUB,LBの両方に分け
て接続し、レジスタ間の倍長転送も行なうことができる
。また部にはレジスタX(以下、Xレジスタ)レジスタ
E(以下、Eレジスタ)を接続する。一方、LBには、
レジスタY(以下、Yレジスタ)、レジスタA(以下、
Aレジスタ)を接続する。さらに、レジスタ間の交換を
容易にするため、AL,Uの入力にALUの入力禁止回
路とデータラッチBLT(以下、BLT)と、AL.U
の出力にデータラッチALT(以下、ALT)を設ける
。このALTとBLTを使つて倍長転送とレジスタ間の
交換を容易にしている。本発明の特徴はそのBLTから
UB,LBにデータを出力する構造およびPCとRAM
を同時に倍長転送できるようにして、サゴルーチンコー
ルリターンを容易にする構造にある。以下、本発明の実
施例を図面を用いて説明する。
ある。またプログラムカウンタ(以下、PC)●命令R
OM●RAM●スタックポインタ(以下、SP) ・A
LUはUB,LBの両方のバスにアクセスするよう接続
し、倍長転送が行なえる。またUB,LBの両方に分け
て接続し、レジスタ間の倍長転送も行なうことができる
。また部にはレジスタX(以下、Xレジスタ)レジスタ
E(以下、Eレジスタ)を接続する。一方、LBには、
レジスタY(以下、Yレジスタ)、レジスタA(以下、
Aレジスタ)を接続する。さらに、レジスタ間の交換を
容易にするため、AL,Uの入力にALUの入力禁止回
路とデータラッチBLT(以下、BLT)と、AL.U
の出力にデータラッチALT(以下、ALT)を設ける
。このALTとBLTを使つて倍長転送とレジスタ間の
交換を容易にしている。本発明の特徴はそのBLTから
UB,LBにデータを出力する構造およびPCとRAM
を同時に倍長転送できるようにして、サゴルーチンコー
ルリターンを容易にする構造にある。以下、本発明の実
施例を図面を用いて説明する。
第7図は本発明による2バス構成を用いたマイクロコン
ピュータのブロック図である。
ピュータのブロック図である。
1,2,3は次に実行すべきアドレスを示すプログラム
カウンタPCで、PCHl,PCM2,PCL3は、そ
れぞれプログラムカウンタの上位、中位、下位であり、
それぞれが4ビットで構成され、合わせて12ビットの
プログラムカウンタである。
カウンタPCで、PCHl,PCM2,PCL3は、そ
れぞれプログラムカウンタの上位、中位、下位であり、
それぞれが4ビットで構成され、合わせて12ビットの
プログラムカウンタである。
4はプログラムカウンタのデータか、データバスUB2
9、LB3Oのデータかをセレクトして、ROMアドレ
スデータへ、ト、チとしてラッチするROMアドレスラ
ッチ回路、5は実行すべき命令が格納されたプログラム
用メモリである命令ROM、6は命令ROM5からの命
令語を命令実行サイクルの間保持する命令レジスタ、7
は命令レジスタ6より与えられる命令語を解読して、命
令に応じた制御信号を各回路に与える命令デコーダ、8
は主レジスタとして使用するAレジスタであり、データ
バスLB3Oに接続されている。
9、LB3Oのデータかをセレクトして、ROMアドレ
スデータへ、ト、チとしてラッチするROMアドレスラ
ッチ回路、5は実行すべき命令が格納されたプログラム
用メモリである命令ROM、6は命令ROM5からの命
令語を命令実行サイクルの間保持する命令レジスタ、7
は命令レジスタ6より与えられる命令語を解読して、命
令に応じた制御信号を各回路に与える命令デコーダ、8
は主レジスタとして使用するAレジスタであり、データ
バスLB3Oに接続されている。
9は補助レジスタとして使用するEレジスタであり、デ
ータバスUB29に接続されている。
ータバスUB29に接続されている。
10はデータバスUB29,LB3Oより与えられるア
ドレスデータリ,ヌをラッチして、RAMllに与える
RAMアドレスラッチ回路、11はデータ用メモリであ
るRAMll2はRAMllの読出し書込みを4ビット
単位で行なうのか、8ビット単位で行なうのかを制御し
、4ビット単位で行なう時にはUB29,LB3Oどち
らかのデータバスを・用いるのかをセレクトするRAM
読み出し、書き込み制御回路である。
ドレスデータリ,ヌをラッチして、RAMllに与える
RAMアドレスラッチ回路、11はデータ用メモリであ
るRAMll2はRAMllの読出し書込みを4ビット
単位で行なうのか、8ビット単位で行なうのかを制御し
、4ビット単位で行なう時にはUB29,LB3Oどち
らかのデータバスを・用いるのかをセレクトするRAM
読み出し、書き込み制御回路である。
13は補助レジスタとして使用するYレジスタであり、
データバスLB29に接続されている。
データバスLB29に接続されている。
14は補助レジスタとして用いるXレジスタであり、デ
ータバスUB3Oに接7続されている。
ータバスUB3Oに接7続されている。
15はサブルーチンコール命令や、割込み処理時にプロ
グラムカウンタの値を待避しているRAMのスタック領
域のアドレスを示すスタックポインタ(SP)であり、
データバスUB29,LB3Oに接続されている。
グラムカウンタの値を待避しているRAMのスタック領
域のアドレスを示すスタックポインタ(SP)であり、
データバスUB29,LB3Oに接続されている。
16は他のフ機器とのデータ及び制御信号の送受を行な
う入出力回路110、17,18,19はプログラムカ
ウンタ1,2,3のアドレスデータへ,ト,チと、デー
タバスUB29,LB3Oのデータとをセレクトして、
ROMアドレスラッチ回路4と、プ口グラムカウンタ1
,2,3に与えるマルチプレクス回路、20はデータバ
スUB29,LB3Oのデータを入力とし、ビット並列
で論理演算を行なう論理演算ユニット(ALU)である
。
う入出力回路110、17,18,19はプログラムカ
ウンタ1,2,3のアドレスデータへ,ト,チと、デー
タバスUB29,LB3Oのデータとをセレクトして、
ROMアドレスラッチ回路4と、プ口グラムカウンタ1
,2,3に与えるマルチプレクス回路、20はデータバ
スUB29,LB3Oのデータを入力とし、ビット並列
で論理演算を行なう論理演算ユニット(ALU)である
。
21は.Al.U2Oの演算結果により、セット、リセ
ットされるキャリー及びゼロフラッグCZであり、キャ
リーフラッグは演算時に必要に応じて、711d−U2
Oにも入力される。
ットされるキャリー及びゼロフラッグCZであり、キャ
リーフラッグは演算時に必要に応じて、711d−U2
Oにも入力される。
22,23はデータバスUB29,LB3Oをセレクト
するマルチプレクス回路、24はデータバスUB29,
LB3OのデータがALU2Oに入力されるのを禁止す
る入力禁止回路、25,26はラッチ回路であり、,A
l.T25はALU2Oの出力を、BLT26はMPX
23でセレクトされたデータバスUB,LBのデータを
ラッチする。
するマルチプレクス回路、24はデータバスUB29,
LB3OのデータがALU2Oに入力されるのを禁止す
る入力禁止回路、25,26はラッチ回路であり、,A
l.T25はALU2Oの出力を、BLT26はMPX
23でセレクトされたデータバスUB,LBのデータを
ラッチする。
27はALT25,BLT26のラッチ出力をそれぞれ
どちらのデータバスUB,LBに転送するかを選択して
駆動するバスドライバー、28は命令レジスタ6よりプ
ログラムカウンタPCHlのマルチプレクス回路MPX
l7に接続されたデータバスIRLである。
どちらのデータバスUB,LBに転送するかを選択して
駆動するバスドライバー、28は命令レジスタ6よりプ
ログラムカウンタPCHlのマルチプレクス回路MPX
l7に接続されたデータバスIRLである。
29はデータバスUB29であり、Eレジスタ9、Xレ
ジスタ14、RAM読出し書込み回路12、RAMアド
レスラッチ10の上位4ビット、スタックポインタSP
l5の上位4ビット、プログラムカウンタPCMl2、
命令ROM5出力上位4ビット、マルーチプレクス回路
MPXl8,22,23と、バス◆ドライバー27が接
続されている。
ジスタ14、RAM読出し書込み回路12、RAMアド
レスラッチ10の上位4ビット、スタックポインタSP
l5の上位4ビット、プログラムカウンタPCMl2、
命令ROM5出力上位4ビット、マルーチプレクス回路
MPXl8,22,23と、バス◆ドライバー27が接
続されている。
30はデータバスLB3Oであり、Aレジスタ8、Yレ
ジスタ13、RAM読出し書込み回路12、RAMアド
レスラッチの下位4ビット、入出丁力回路16プログラ
ムカウンタPCHl,PCL3,スタックポインタSP
l5の下位4ビット、命令ROOM5出力下位4ビット
、マルチプレクス回路MPXl7,l9,22,23と
、バスドライバー27が接続されている。
ジスタ13、RAM読出し書込み回路12、RAMアド
レスラッチの下位4ビット、入出丁力回路16プログラ
ムカウンタPCHl,PCL3,スタックポインタSP
l5の下位4ビット、命令ROOM5出力下位4ビット
、マルチプレクス回路MPXl7,l9,22,23と
、バスドライバー27が接続されている。
36は動作に必こ要なりロックタイミングを発生するク
ロック回路であり、Sφ〜S3までの4層のクロックタ
イミングで、基本的な1マシンサイクルである。
ロック回路であり、Sφ〜S3までの4層のクロックタ
イミングで、基本的な1マシンサイクルである。
次に信号を説明する。イ,口は命令ROM5の出力であ
り、ROMDUイは上位4ビットデータ、ダROMDL
口は下位4ビットデータであり、必要に応じてデータバ
スUB29,LB3Oに転送される。ハは命令レジスタ
6の下位4ビットデータであり、ジャンプ命令、サブル
ーチンコール命令などを、アドレス指令命令時にマルチ
プレクス回路MPXl7を介して、プログラムカウンタ
PCHlと、ROMアドレスラッチ回路4に転送する。
り、ROMDUイは上位4ビットデータ、ダROMDL
口は下位4ビットデータであり、必要に応じてデータバ
スUB29,LB3Oに転送される。ハは命令レジスタ
6の下位4ビットデータであり、ジャンプ命令、サブル
ーチンコール命令などを、アドレス指令命令時にマルチ
プレクス回路MPXl7を介して、プログラムカウンタ
PCHlと、ROMアドレスラッチ回路4に転送する。
二,ホはデータバス信号であり、二はデータバスIの信
号、ホはデータバスLBの信号であり、それぞれ4ビッ
ト長の構成である。へ,卜,チはROM5に与えるため
のアドレスデータであり、ROMAH,ROMAM,R
OMALはそれぞれアドレノスデータの上位、中位、下
位であり、それぞれが4ビット単位で構成され、合わせ
て12ビットのアドレスデータである。リ,ヌはRAM
llのアドレスデータであり、RAMAUりはデータバ
スUB29よりRAMアドレスラッチ回路10に取り込
むRAMアドレスデータの上位4ビットであり、RAM
ALヌはデータバスLB29よりRAMアドレスラッチ
回路10に取り込むRAMアドレスデータの下位4ビッ
トである。
号、ホはデータバスLBの信号であり、それぞれ4ビッ
ト長の構成である。へ,卜,チはROM5に与えるため
のアドレスデータであり、ROMAH,ROMAM,R
OMALはそれぞれアドレノスデータの上位、中位、下
位であり、それぞれが4ビット単位で構成され、合わせ
て12ビットのアドレスデータである。リ,ヌはRAM
llのアドレスデータであり、RAMAUりはデータバ
スUB29よりRAMアドレスラッチ回路10に取り込
むRAMアドレスデータの上位4ビットであり、RAM
ALヌはデータバスLB29よりRAMアドレスラッチ
回路10に取り込むRAMアドレスデータの下位4ビッ
トである。
RAMllはアドレス指定を8ビットで行なつており、
4ビット単位のデータなら、最大256まで(ニブル)
まで、8ビット単位のデータなら、最大128(バイト
)までアドレス指定ができ、データを格納できる。
4ビット単位のデータなら、最大256まで(ニブル)
まで、8ビット単位のデータなら、最大128(バイト
)までアドレス指定ができ、データを格納できる。
ル,ヲは8ビットで構成されたスタックポインタ15の
データであり、SPDUルは上位4ビットであり、デー
タバスUB29に転送される。SPDLヲは、スタック
ポインタSPl5の下位4ビットデータであり、データ
バスLB29に転送される。次にこのマイコンの基本的
な動作タイミングを第8図に基き述べる。
データであり、SPDUルは上位4ビットであり、デー
タバスUB29に転送される。SPDLヲは、スタック
ポインタSPl5の下位4ビットデータであり、データ
バスLB29に転送される。次にこのマイコンの基本的
な動作タイミングを第8図に基き述べる。
このマイコンはタイミングSφ,Sl,S2,S3の4
クロックサイクルをもつて、1マシンサイクルを構成す
る。タイミングSφでは命令ROM5のデータフエツチ
・アワセスを行なう。タイミングS1では命令デコーダ
7のアクセスを行なう。タイミングS2ではRAMll
のアドレスラッチと、スタックポインタSPl5をデク
レメントする。タイミングS3ではRAMll、レジス
タのデータをデータバスUB,LBに出力するとともに
、AL,T25,BLT26,PCl,2,3、命令R
OMアドレスラッチ回路4にラッチされる。
クロックサイクルをもつて、1マシンサイクルを構成す
る。タイミングSφでは命令ROM5のデータフエツチ
・アワセスを行なう。タイミングS1では命令デコーダ
7のアクセスを行なう。タイミングS2ではRAMll
のアドレスラッチと、スタックポインタSPl5をデク
レメントする。タイミングS3ではRAMll、レジス
タのデータをデータバスUB,LBに出力するとともに
、AL,T25,BLT26,PCl,2,3、命令R
OMアドレスラッチ回路4にラッチされる。
また、S3ではスタックポインタ15のインクレメント
も同時に行なう。タイミングSφではAl.T25,B
LT26,PCl,2,3をデータバスUB,LBに出
力するとともに、RAMll,レジスタにラッチする。
以上で基本命令実行の1マシンサイクルを終えるが、こ
のタイミングSφの時、次に実行すべき命令のフエツチ
アクセスを行なう。
も同時に行なう。タイミングSφではAl.T25,B
LT26,PCl,2,3をデータバスUB,LBに出
力するとともに、RAMll,レジスタにラッチする。
以上で基本命令実行の1マシンサイクルを終えるが、こ
のタイミングSφの時、次に実行すべき命令のフエツチ
アクセスを行なう。
すなわち、Sφにおいては、命令実行のタイミングの一
部と、命令フエツチのタイミングがオーバラップしてい
る。一言で言えば、SφとS1で命令アクセスを、S2
でRAMアドレス修飾を、S3とSφで演算転送処理を
行なつている。次に本発明の構成の中から特徴となる部
分を抜粋して説明する。
部と、命令フエツチのタイミングがオーバラップしてい
る。一言で言えば、SφとS1で命令アクセスを、S2
でRAMアドレス修飾を、S3とSφで演算転送処理を
行なつている。次に本発明の構成の中から特徴となる部
分を抜粋して説明する。
まず第10図は、AL,T,BLTのバスドライバは、
第7図バスドライバ27の内部を詳細に示したもので、
25はALT,26はBLTである。27は制御信号C
ABl,CAB2,SφによつてALT25,BLT2
6を選択的にUB,LBに出力制御して成るバスドライ
バーである。
第7図バスドライバ27の内部を詳細に示したもので、
25はALT,26はBLTである。27は制御信号C
ABl,CAB2,SφによつてALT25,BLT2
6を選択的にUB,LBに出力制御して成るバスドライ
バーである。
31,33はマルチプレクサ、33,34はバスドライ
バゲートである。
バゲートである。
35はAL,T25,BLT26のデータをSφのタイ
ミングで出力するためのN1ゲートである。
ミングで出力するためのN1ゲートである。
本回路はALT25,BLT26の両ラッチをタイミン
グSOでバスUB(5LBに出力制御するとき、マイコ
ンの命令制御デコーダよりの制御信号CABl,CAB
2によつて実行する。
グSOでバスUB(5LBに出力制御するとき、マイコ
ンの命令制御デコーダよりの制御信号CABl,CAB
2によつて実行する。
CABl,CAB2の制御動作説明を第11図に示す。
同図においてCAB2,CABl=(L.L)はタイミ
ングSφでALT−+LB,BLT→UBを実行する。
またCAB2,CABl=(L,H)はタイミングSφ
でALT→UB,ALT−+LBを実行する。次にRA
Mllの読出し、書込み制御回路部12を第9図て説明
する。
ングSφでALT−+LB,BLT→UBを実行する。
またCAB2,CABl=(L,H)はタイミングSφ
でALT→UB,ALT−+LBを実行する。次にRA
Mllの読出し、書込み制御回路部12を第9図て説明
する。
RAMllのアドレスはタイミングS2にデータバスU
B,LBの値をRAMアドレスラッチ回路10に、取り
込むことによつて指定される。このとき、UB,LBに
は命令によつてXレジスタ13及びYレジスタ14の対
,SPレジスタ15、あるいは直接番地指定時における
命令ROM5の読出しデータが乗せられている。
B,LBの値をRAMアドレスラッチ回路10に、取り
込むことによつて指定される。このとき、UB,LBに
は命令によつてXレジスタ13及びYレジスタ14の対
,SPレジスタ15、あるいは直接番地指定時における
命令ROM5の読出しデータが乗せられている。
R,AMllの内部構造は、奇数番地RAMと偶数番地
R,AMとに分割され,1マシンサイクル中は、奇数,
偶数番地のRAM(本実施例においては8ビット)がア
クセスされる。
R,AMとに分割され,1マシンサイクル中は、奇数,
偶数番地のRAM(本実施例においては8ビット)がア
クセスされる。
RAr!1読出し書込み制御回路12がRAM構成の特
徴となるところであり、この回路によつて、UB,LB
の各バスに対する4ビットの読出し、書込み,及びUB
,LBを対として扱う8ビット単位の読出し,書込みを
行う。マイクロコンピュータの命令制御デコーダよりの
制御信号CRAl,CRA2,CRA3,及びCRA4
によつて、4ビット単位の読出し、書込み、及び8ビッ
ト単位の読出し、書込みを行う。
徴となるところであり、この回路によつて、UB,LB
の各バスに対する4ビットの読出し、書込み,及びUB
,LBを対として扱う8ビット単位の読出し,書込みを
行う。マイクロコンピュータの命令制御デコーダよりの
制御信号CRAl,CRA2,CRA3,及びCRA4
によつて、4ビット単位の読出し、書込み、及び8ビッ
ト単位の読出し、書込みを行う。
以下CRAl〜CRA4の説明を行う。
CRAl,CRA2によつて読出し書込み制御を行う。
その制御モードを第12図に示す。CRA3,CRA4
によつて、4ビット,8ビット単位かのビット幅の制御
を行う。その制御モードを第13図に示す。以下例をあ
げて制御モードの説明をする。
その制御モードを第12図に示す。CRA3,CRA4
によつて、4ビット,8ビット単位かのビット幅の制御
を行う。その制御モードを第13図に示す。以下例をあ
げて制御モードの説明をする。
ACRA4,3,2,l=(L,L,L,L)タイミン
グS3でRAMllの8ビット単位(奇数,偶数番地)
の読出しを行い、タイミングSφでデータバスUB,L
B上の値をRAMllへ書き込む。
グS3でRAMllの8ビット単位(奇数,偶数番地)
の読出しを行い、タイミングSφでデータバスUB,L
B上の値をRAMllへ書き込む。
このとき、RAMアドレスラッチ回路10の最下位ビッ
トは無効である。また8ビット単位の読出し書込みの際
のUB,LBと奇数,偶数番地R,AMの対応は■←→
奇数番地,LB←→偶数番地のようになる。BCRA4
,3,2,l=(L,H,H,L)タイミングSφでU
Bの内容をRAMllに書込む。
トは無効である。また8ビット単位の読出し書込みの際
のUB,LBと奇数,偶数番地R,AMの対応は■←→
奇数番地,LB←→偶数番地のようになる。BCRA4
,3,2,l=(L,H,H,L)タイミングSφでU
Bの内容をRAMllに書込む。
RAMllの奇数番地へ書込むか、偶数番地へ書込むか
は、RAMアドレスラッチ回路10の最下位ビットで定
められる。その対応は、最下位ビツトニ0 偶数番
地 最下位ビツトニ1 奇数番地 となる。
は、RAMアドレスラッチ回路10の最下位ビットで定
められる。その対応は、最下位ビツトニ0 偶数番
地 最下位ビツトニ1 奇数番地 となる。
次に本発明の回路例を説明する上で必要な命令を第14
図に示す。
図に示す。
以下、各命令の動作説明を行う。ASTY命令
Aレジスタ8の内容をYレジスタ13へ転送する。
BLXY命令
Xレジスタ14の内容をEレジスタ9へ転送し,Yレジ
スタ13の内容をAレジスタ8へ転送する。
スタ13の内容をAレジスタ8へ転送する。
。
EXE命令Aレジスタ8の内容をEレジスタ9の内容と
交換する。
交換する。
DADD命令Aレジスタ8の内容と、xレジスタ14及
びYレジスタ13で指定されるRAMllの内容を加算
し,Aレジスタ8へ格納する。
びYレジスタ13で指定されるRAMllの内容を加算
し,Aレジスタ8へ格納する。
ES゛m命令
Eレジスタ9及びAレジスタ8の内容をXレジスタ14
及びYレジスタ13の上位7ビットで指定される1語8
ビット構成と見なされるR,AIl!411の番地へ格
納される。
及びYレジスタ13の上位7ビットで指定される1語8
ビット構成と見なされるR,AIl!411の番地へ格
納される。
FLD命令
命令語の2語目をRAMllのアドレスとし、アドレス
されたRAMllの内容をAレジスタ8へ転送する。
されたRAMllの内容をAレジスタ8へ転送する。
GJMP命令
命令語の1語目の下位4ビットをPCHlへ、命令語の
2語目の上位4ビットをPCM2へ、下位4ビットをP
CL3へ転送し、無条件分岐を行う。
2語目の上位4ビットをPCM2へ、下位4ビットをP
CL3へ転送し、無条件分岐を行う。
HRDTBL命令
ROM5のアドレスとして、上位4ビットに、実行しよ
うとしているRDTBL命令があるPCHを、PCM(
5PCLの下位8ビットに、レジスタE9及びレジスタ
A8の内容をもつて定め、その番地の上位内容をEレジ
スタ9へ、下位内容をAレジスタ8へ転送する。
うとしているRDTBL命令があるPCHを、PCM(
5PCLの下位8ビットに、レジスタE9及びレジスタ
A8の内容をもつて定め、その番地の上位内容をEレジ
スタ9へ、下位内容をAレジスタ8へ転送する。
ICAL.L命令
サブルーチン,コール命令である。
PCH,PCM,及びPCLへの分岐番地の転送はJM
P命令と同じ。
P命令と同じ。
CALL命令の2語目の次のアドレスをサブルーチンよ
りの戻り番地として、RAMllに設定されるスタック
領域へ書,込む。JRET命令 RAMllに設定されたスタック領域より、PCH,P
CM,及びPCLへサブルーチンの戻り番地を戻す。
りの戻り番地として、RAMllに設定されるスタック
領域へ書,込む。JRET命令 RAMllに設定されたスタック領域より、PCH,P
CM,及びPCLへサブルーチンの戻り番地を戻す。
前述した命令を用いて、以下に各クロックタイミングS
φ〜S3ごとに、第7図に示した本発明の実施例の動作
を説明する。
φ〜S3ごとに、第7図に示した本発明の実施例の動作
を説明する。
説明する命令は次の通りである。
s′RY命令
LXY命令
EXE命令
ADD命令
Sn3命令
LD命令
ハ伊命令
RDTBL命令
CAL.L命令
RET命令
STY命令
AレジスタのデータをYレジスタに転送する命令であり
、キャリ,ゼロフラッグは影響されない。
、キャリ,ゼロフラッグは影響されない。
また命令実行サイクルは、1バイト1サイクルである。
Sφ:ROMアドレスラッチ回路4に直前の 命令サイ
クルS3でラッチされたPドレ スデータへ,ト,チが
、ROM5に与え られ、STY命令がアクセスされる
。
Sφ:ROMアドレスラッチ回路4に直前の 命令サイ
クルS3でラッチされたPドレ スデータへ,ト,チが
、ROM5に与え られ、STY命令がアクセスされる
。
SlROM5よりの出力、ROMDUイ、ROMDL口
が、命令レジスタにフエツチ されて、命令デコーダ7
に与えられ、解 読されて命令実行に必要な制御信号を
各 回路へ送出開始するための命令デコーダ7のアクセ
ス期間である。
が、命令レジスタにフエツチ されて、命令デコーダ7
に与えられ、解 読されて命令実行に必要な制御信号を
各 回路へ送出開始するための命令デコーダ7のアクセ
ス期間である。
S2: プログラムカウンタPCM2とPCL3内でイ
ンクレメントを実行する。
ンクレメントを実行する。
S3Aレジスタ8はデータをLB3Oに転 送する。
MPX22はLB3Oのデータホ をALU2Oに与え
、ALU2Oの一方の 入力は入力禁止回路によりデー
タφが入 力される。
、ALU2Oの一方の 入力は入力禁止回路によりデー
タφが入 力される。
AL.U2Oの論理モードは0Rであるので、ALT2
5にLB3Oのデー タホとデータφが0R論理後ラッ
チされ る(以下転送モードと記す)。
5にLB3Oのデー タホとデータφが0R論理後ラッ
チされ る(以下転送モードと記す)。
従つて、Aレジスタ8のデータが、
LB3OとMPX22とALU2Oを介し て、AL,
T25に転送される。
T25に転送される。
Sφ:ALT25のデータがバスドライバー27を介し
てLB3Oに転送され、Yレ ジスタ13がLB3Oの
データホを取込 む。
てLB3Oに転送され、Yレ ジスタ13がLB3Oの
データホを取込 む。
以上により、Aレジスタのデータを、Yレジスタに
転送するSTY命令の実行 が完了する。
転送するSTY命令の実行 が完了する。
またS2でイソクレメント されたプログラムカウン
タのアドレスデ ータにより次のアドレスの命令をア
クセ スする。
タのアドレスデ ータにより次のアドレスの命令をア
クセ スする。
BLXY命令
Xレジスタ14のデータをEレジスタ9へ、Yレジスタ
13のデータをAレジスタ8に、それぞれのデータを同
時に転送する命令である。
13のデータをAレジスタ8に、それぞれのデータを同
時に転送する命令である。
この命令によりキャリー,ゼロフラッグは影響されない
。またLXY命令実行サイクルは、1バイト1サイクル
である。Sφ: 命令RnM5より、LXY命令がアク
セスされる。
。またLXY命令実行サイクルは、1バイト1サイクル
である。Sφ: 命令RnM5より、LXY命令がアク
セスされる。
SlLXY命令の命令デコード●アクセス 期間。
S2プログラムカウンタのPCM2とPCL3内でイン
クレメントを実行する。
クレメントを実行する。
S3XレジスタのデータをデータバスUB29に転送す
る。
る。
Yレジスタのデータを、データバス
UB3Oに転送する。
ALU2Oは0R論理モードであり、一 方の入
力はマルチプレクス回路22を介 して、データバス
LB3Oのデータが入 力される。
力はマルチプレクス回路22を介 して、データバス
LB3Oのデータが入 力される。
他方は入力禁止回路24が動 作してデータφが入力
されているので、 ALU2Oはデータφでない方の入
カデ ータをALU2Oの出力に送出するデー 夕
転送モードである。
されているので、 ALU2Oはデータφでない方の入
カデ ータをALU2Oの出力に送出するデー 夕
転送モードである。
従がつて、データラッチALT25に Yレジス
タ13のデータが、データバス UB29と、マルチプ
レクス回路22 と、ALU2Oを介してラッチされる。
タ13のデータが、データバス UB29と、マルチプ
レクス回路22 と、ALU2Oを介してラッチされる。
Xレジスタ13のデータはデータバス
UB29と、マルチプレクス回路23を 介して、
データラッチBLT26にラン チされる。
データラッチBLT26にラン チされる。
Sφ: バス・ドライバー27が制御され、デ ータ
ラツチALT25のデータがデータ バスLB3Oに
、データラッチBLT26のデータがデータバスUB2
9に転送さ れる。
ラツチALT25のデータがデータ バスLB3Oに
、データラッチBLT26のデータがデータバスUB2
9に転送さ れる。
Aレジスタ8はデータバスLB3Oの データを
、Eレジスタ9はデータバスUB29のデータを取り込
む。
、Eレジスタ9はデータバスUB29のデータを取り込
む。
以上の動作によりxレジスタ14のデ ータをEレ
ジスタ9に、Yレジスタ13のデータをAレジスタ8に
転送する LXY命令の実行が完了する。
ジスタ9に、Yレジスタ13のデータをAレジスタ8に
転送する LXY命令の実行が完了する。
また次のアドレスの命令ROMアクセ スも同時に
行なつている。
行なつている。
EXE命令
Aレジスタ8のデータとEレジスタ9のデータとを交換
する命令である。
する命令である。
この命令によりキャリー,ゼロフラッグは影響されない
。
。
またEXE命令は1バイト命令であり、1サイクルで命
令実行を完了する。Sφ: 命令ROM5よりEXE命
令がアクセス される。
令実行を完了する。Sφ: 命令ROM5よりEXE命
令がアクセス される。
SlEXE命令の命令デコーダによる制御 信号のアク
セス期間。
セス期間。
S2プログラムカウンタのPCM2とPCL3内で、イ
ンクレメントを実行する。
ンクレメントを実行する。
S3:Aレジスタ8のデータをデータバスLB3Oと、
マルチプレクス回路MPX22と、ALU2Oの転送モ
ードを介して データラッチAL.T25に転送する。
マルチプレクス回路MPX22と、ALU2Oの転送モ
ードを介して データラッチAL.T25に転送する。
Eレジスタ9のデータをデータバス
UB29と、マルチプレクス回路MPX23を介してデ
ータラッチBLT26に、 転送する。
ータラッチBLT26に、 転送する。
Sφ: バス・ドライバー27が制御され、デ ータラ
ツチALT25のデータがデータ バスUB29に、デ
ータラッチBLT26のデータがデータバスLB3Oに
転送さ れる。
ツチALT25のデータがデータ バスUB29に、デ
ータラッチBLT26のデータがデータバスLB3Oに
転送さ れる。
Aレジスタ8はデータバスLB3Oの
データを、Eレジスタ9はデータバス
UB29のデータを取り込む。
以上の動作によりAレジスタ8のデー 夕とEレジ
スタ9のデータとを交換するEXE命令が1命令実行サ
イクルで実行 完了する。
スタ9のデータとを交換するEXE命令が1命令実行サ
イクルで実行 完了する。
また、次のアドレスの命令ROMアク セスも同時
に行なつている。
に行なつている。
IADD命令
Aレジスタ8のデータと、xレジスタ14及びYレジス
タ13で指定されるRAM番地のR,AMllの内容を
加算し、Aレジスタ8へ格納する。
タ13で指定されるRAM番地のR,AMllの内容を
加算し、Aレジスタ8へ格納する。
この命令は加算時にキヤリーフラツプのデータが加算さ
れ、加算後に生じたキャリー,ゼロフラッグはそれぞれ
格納する。
れ、加算後に生じたキャリー,ゼロフラッグはそれぞれ
格納する。
またADD命令は1バイト命令であり、1サイクルで命
令実行を完了する。Sφ: 命令R(5M5よりADD
命令がアクセ スされる。
令実行を完了する。Sφ: 命令R(5M5よりADD
命令がアクセ スされる。
SlADD命令の命令デコーダによる、制 御信号のア
クセス期間。
クセス期間。
S2: プログラムカウンタのPCM2とPCL3内で
、イソクレメントを実行する。
、イソクレメントを実行する。
Xレジスタ14のデータがデータバス
UB29を介してRAMアドレスデータの 上位4ビッ
トRAMAUりとし、Yレジス 夕13のデータがデー
タバスLB3Oを 介してRAMアドレスデータの下位
4ビ ツトRAMAL.ルとして、RAMllのア ド
レス指定データがRAMアドレスラツ チ10にラッチ
される。
トRAMAUりとし、Yレジス 夕13のデータがデー
タバスLB3Oを 介してRAMアドレスデータの下位
4ビ ツトRAMAL.ルとして、RAMllのア ド
レス指定データがRAMアドレスラツ チ10にラッチ
される。
S3Aレジスタ8のデータがデータバス
LB3Oと、マルチプレクス回路MPX22を介してA
LU2Oの入力の一方(A 側)に入力される。
LU2Oの入力の一方(A 側)に入力される。
S2で記述したアドレス指定による
RAMllのデータがRAIS−4読出し、書込 み制
御回路12と、データバスUB29と、マルチプレクス
回路23と、入力禁 止回路24を介して前記JXL,U2Oの入 力でな
い他方(B側)に入力される。
御回路12と、データバスUB29と、マルチプレクス
回路23と、入力禁 止回路24を介して前記JXL,U2Oの入 力でな
い他方(B側)に入力される。
またキャリ・フラッグはALU2Oの 最下位ビッ
トに入力される。
トに入力される。
ALU2Oは加算モードであり、Aレ
ジスタ8のデータと、Xレジスタ14及 びYレジス
タ13で指定されるアドレス のRAMllのデータと
、キヤリーフラ ツグとの加算演算を行なう。
タ13で指定されるアドレス のRAMllのデータと
、キヤリーフラ ツグとの加算演算を行なう。
この結果を データラッチALT25にラッチすると
共に、桁上がりの信号によりキヤリーフ ラックを演算
結果のデータφによりゼロ フラッグがセットされる。
共に、桁上がりの信号によりキヤリーフ ラックを演算
結果のデータφによりゼロ フラッグがセットされる。
Sφ: バス・ドライバーが制御され、データ ラッチ
ALT25のデータがデータバスLB3Oに転送される
。
ALT25のデータがデータバスLB3Oに転送される
。
Aレジスタ8はデータバスLB3Oの
データを取り込む。
以上の動作によりAレジスタ8のデー 夕とXレジ
スタ14及びYレジスタ13で指定されるRAMllの
内容を加算演 算し、Aレジスタ8へ格納するADD命 令実行が完
了する。
スタ14及びYレジスタ13で指定されるRAMllの
内容を加算演 算し、Aレジスタ8へ格納するADD命 令実行が完
了する。
また次のアドレスの 命令ROMアクセスも同時に行な
つてい る。
つてい る。
STB命令
Eレジスタ9及びAレジスタ8のデータを、Xレジスタ
14及びYレジスタ13の上位7ビットで指定されるア
ドレス(8ビットでアドレス指定し、4ビット単位のデ
ータを読み書きするRAMllを、アドレスの最下位ビ
ットを無視してC4r′,′“φ13の2つのアドレス
エリアを用いる)に、8ビット単位で、書込み格納する
命令である。
14及びYレジスタ13の上位7ビットで指定されるア
ドレス(8ビットでアドレス指定し、4ビット単位のデ
ータを読み書きするRAMllを、アドレスの最下位ビ
ットを無視してC4r′,′“φ13の2つのアドレス
エリアを用いる)に、8ビット単位で、書込み格納する
命令である。
この命令により、キャリー●ゼロフラッグは影響されな
い。
い。
またSTB命令実行サイクルは1バイトサイクルである
。Sφ: 命令RiM5よりADD命令がアクセ スさ
れる。
。Sφ: 命令RiM5よりADD命令がアクセ スさ
れる。
SlSTB命令の命令デコーダによる制御 信号のアク
セス期間。
セス期間。
S2プログラムカウンタのPCM2とPCL3内でイン
クレメントを実行する。
クレメントを実行する。
Xレジスタ14、Yレジスタ13のデ
ータがRAMllのアドレスデータとし て、RAM
アドレスラッチ10にラッチ される(ADD命令のS
2参照)。
アドレスラッチ10にラッチ される(ADD命令のS
2参照)。
S3:Aレジスタ8のデータをデータバスLB3Oと、
マルチプレクス回路MPX22を介してAL.U2Oに
入力する。
マルチプレクス回路MPX22を介してAL.U2Oに
入力する。
Eレジスタ9のデータをデータバス
UB29と、マルチプレクス回路MPX23を介してデ
ータラッチBLT26に転 送する。
ータラッチBLT26に転 送する。
ALU2Oは転送モードであり、入力
されたAレジスタ8のデータがデータラ ツチAl.
T25にラッチされる。
T25にラッチされる。
Sφ: バス・ドライバーが制御され、データ ラッチ
ALT25のデータがデータバス1B30に、データラ
ッチBLT26のデ ータバスUB29に転送される
。
ALT25のデータがデータバス1B30に、データラ
ッチBLT26のデ ータバスUB29に転送される
。
RAMllはRAM読み出し書込み回路 12の制御
により、データバスUB2 9,LB3Oのデータを同時に格納す5 る。
により、データバスUB2 9,LB3Oのデータを同時に格納す5 る。
以上の動作によりAレジスタ8及びE レジスタ
9のデータをxレジスタ14と、Yレジスタ13の上位
7ビットで指 定されるアドレスに格納するSTB命令1( が、1
命令実行サイクルで完了する。
9のデータをxレジスタ14と、Yレジスタ13の上位
7ビットで指 定されるアドレスに格納するSTB命令1( が、1
命令実行サイクルで完了する。
ま た次のアドレスの命令ROMアクセスも 同時に行
なつている。
なつている。
FLD命令
命令語に続く即値語(2バイト目)でRAMljllの
アドレスを指定し、このアドレスのデータをAレジスタ
8に転送する。
アドレスを指定し、このアドレスのデータをAレジスタ
8に転送する。
この命令によりキャリー●ゼロフラッグは影響されない
。
。
またLD命令実行サイクルは2バイト2サイクルである
。(ISφ〜IS3は12rサイクル目、■Sφ〜■S
3は2サイクル目の命令実行を示す)ISφ: 命令R
iM5より、LD命令がアク セスされる。
。(ISφ〜IS3は12rサイクル目、■Sφ〜■S
3は2サイクル目の命令実行を示す)ISφ: 命令R
iM5より、LD命令がアク セスされる。
ISlLD命令の命令デコードによる、12サイクル目
の制御信号のアクセス期 間。
の制御信号のアクセス期 間。
IS2プログラムカウンタのPCM2と
PCL3内で、インクレメントを実行す る・
3IS3:S2で
インクレメントされたプログ ラムカウンタのRO
Mアドレスデータ がROMアドレスラッチ4にラ
ッチさ れる。
3IS3:S2で
インクレメントされたプログ ラムカウンタのRO
Mアドレスデータ がROMアドレスラッチ4にラ
ッチさ れる。
■Sφ: 命令ROM5より2バイト目の即値3
語がアクセスされる。
語がアクセスされる。
■SlLD命令の命令デコードによる2サ イクル
目の制御信号のアクセス期間。
目の制御信号のアクセス期間。
■S2プログラムカウンタのPCM2と PCL3内
で、インクレメントを実行す4 る。
で、インクレメントを実行す4 る。
命令ROM5より出力されたデータ の上
位4ビットROMDUイがデータバ スUB29を
介し、RAMアドレスの上 位4ビットRAMAUり
として、RAMアドレスラッチ10にラッチされる。
位4ビットROMDUイがデータバ スUB29を
介し、RAMアドレスの上 位4ビットRAMAUり
として、RAMアドレスラッチ10にラッチされる。
命令ROM5の下位4ビット出力
ROMDL口がデータバスLB3Oを介 し、RA
Mアドレスの下位4ビツトデ ータRAM,AL.ヌ
として、RAMアドレ スラツチ10にラッチされる
。
Mアドレスの下位4ビツトデ ータRAM,AL.ヌ
として、RAMアドレ スラツチ10にラッチされる
。
■S3RAMアドレスラッチ10で指定さ れるアド
レスによつて示されるRAMllのデータを、RAM読
出し書込み 制御回路11と、データバスUB29と、マルチプ
レクス回路rl!4px23と を介してデータラッ
チBLT26にラ ツチする。
レスによつて示されるRAMllのデータを、RAM読
出し書込み 制御回路11と、データバスUB29と、マルチプ
レクス回路rl!4px23と を介してデータラッ
チBLT26にラ ツチする。
Sφ: バス・ドライバー27が制御され、デ ータラ
ツチBLT26のデータが、デー タバスLB3Oに転
送される。
ツチBLT26のデータが、デー タバスLB3Oに転
送される。
Aレジスタ8はデータバスLB3Oの
データを取り込む。
以上により命令語に続く即値語(2バ イト目)で
、RAMllのアドレスを値 接指定し、このアドレス
のRAMllデ ータをAレジスタ8に転送するLD命
令 が2バイト2サイクルで命令実行を完了 する。
、RAMllのアドレスを値 接指定し、このアドレス
のRAMllデ ータをAレジスタ8に転送するLD命
令 が2バイト2サイクルで命令実行を完了 する。
また次のアドレスの命令ROMア クセスも同時に行な
つている。
つている。
ハ伊命令
命令語の下位4ビットと2バイト目の即値語8ビットの
合計12ビットのデータをプログラムカウンタにロード
して無条件分岐を行なう命令である。
合計12ビットのデータをプログラムカウンタにロード
して無条件分岐を行なう命令である。
この命令は2バイト命令であり、2サイクルで命令実行
を完了する。
を完了する。
ISφ: 命令ROM5より、JMP命令がアク セ
スされる。
スされる。
ISlJMP命令の命令デコードによる制御 信号の
アクセス期間。
アクセス期間。
IS2プログラムカウンタのPCM2と
PCL3内でインクレメントを実行す
る。
IS3:R′0Mアドレスラッチ4にIS2で イン
クレメントされたプログラムカウ ンタのデータガラ
ツチされる。
クレメントされたプログラムカウ ンタのデータガラ
ツチされる。
■Sφ: 命令R′0M5よりJMP命令に続く即
値語がアクセスされる。
値語がアクセスされる。
■SlJMP命令の命令デコードによる2サ イクル
目の実行に必要な制御信号のア クセス期間。
目の実行に必要な制御信号のア クセス期間。
■S2プログラムカウンタのPCM2と
PCL3内で、インクレメントを実行す る。
■S3: 命令レジスタ6にフエツチされた下 位4
ビットデータがデータバスIRL28と、マルチプレク
ス回路MPXl7を介して、PCHlとROMアドレス
ラ ツチ4に転送される。
ビットデータがデータバスIRL28と、マルチプレク
ス回路MPXl7を介して、PCHlとROMアドレス
ラ ツチ4に転送される。
命令ROM5より出力された2バイ 卜目の即
値語の上位4ビットデータ ROMDUイがデータバスUB29と、 マルチプ
レクス回路MPXl8を介し てPCM2とROMア
ドレスラッチ4に 転送される。
値語の上位4ビットデータ ROMDUイがデータバスUB29と、 マルチプ
レクス回路MPXl8を介し てPCM2とROMア
ドレスラッチ4に 転送される。
また下位4ビットデータROMDL口 はデー
タバスLB3Oと、マルチプレ クス回路MPXl9
を介してPCL3とROMアドレスラッチ4に転送され
る。
タバスLB3Oと、マルチプレ クス回路MPXl9
を介してPCL3とROMアドレスラッチ4に転送され
る。
従つて、ROMアドレスラッチ4に は無条件
分岐先のROMアドレスとし て、データバスI,R
L28,UB29,UB3Oを介して、命令語の下位 4ビットと、2バイト目の即値語が転 送される。
分岐先のROMアドレスとし て、データバスI,R
L28,UB29,UB3Oを介して、命令語の下位 4ビットと、2バイト目の即値語が転 送される。
プログラムカウンタは■S2でイン3 クレメ
ントしたが、無条件分岐命令な ので、ROMアドレス
ラッチ4に与え たデータが、ロードされる。
ントしたが、無条件分岐命令な ので、ROMアドレス
ラッチ4に与え たデータが、ロードされる。
Sφ: ■S3で与えられた無条件分岐先の命令ROM
アクセスを行なう。
アクセスを行なう。
3 以上により、無条件分岐であるル侶命
令を、2バイト2サイクルで実行完了す る。
令を、2バイト2サイクルで実行完了す る。
本発明ではPCHlのアドレスデータ
を命令デコーダよりデータバスIRL284とMPXl
7を介して、ROMアドレスラ ツチ4と、プログラム
カウンタPCHlに与えられるよう構成した。
7を介して、ROMアドレスラ ツチ4と、プログラム
カウンタPCHlに与えられるよう構成した。
別の方法と してデータバスIRL28のかわりに、デ
ータバスLB3Oのデータをラッチす る。
ータバスLB3Oのデータをラッチす る。
このラッチ回路をマルチプレクス回 路MPXl7との
間に付加して、JMP命 令の命令語が出力される1サ
イクル目 に、命令ROM5の出力下位4ビット (ROMDL)を、データバスLBを介して 前述の
ラッチ回路にラッチする。
間に付加して、JMP命 令の命令語が出力される1サ
イクル目 に、命令ROM5の出力下位4ビット (ROMDL)を、データバスLBを介して 前述の
ラッチ回路にラッチする。
2サイ
クル目のS3でプログラムカウンタ
PCM2、PCL3のデータが、データバ ス11LB
より与えられる時、PCHlは 前記ラッチ回路よりデ
ータを与えられる 様にすると、データバスIRL28
は不用 となる。
より与えられる時、PCHlは 前記ラッチ回路よりデ
ータを与えられる 様にすると、データバスIRL28
は不用 となる。
1RDTBL命令命令ROM5へのアドレス指定を、プ
ログラムカウンタのデータを変更することなく、PCH
lと、Eレジスタ9(PCM2の代り)とAレジスタ8
(PCL3の代り)のデータで行ない、このアドレスで
指定されたROM5のデータをEレジスタ9と、Aレジ
スタ8に転送する命令である。
ログラムカウンタのデータを変更することなく、PCH
lと、Eレジスタ9(PCM2の代り)とAレジスタ8
(PCL3の代り)のデータで行ない、このアドレスで
指定されたROM5のデータをEレジスタ9と、Aレジ
スタ8に転送する命令である。
この命令は1バイト命令であるが、命令実行には2サイ
クルを必要とする。
クルを必要とする。
ISφ: 命令ROM5よりRDTBL命令がアク
セスされる。
セスされる。
ISlRDTBL命令の命令デコードによる 制御信
号のアクセス期間。
号のアクセス期間。
IS2:1バイト2サイクル実行命令である ので、
プログラムカウンタのインクレ メントは禁止される
。
プログラムカウンタのインクレ メントは禁止される
。
IS3:Eレジスタ9のデータがデータバス UB29
と、マルチプレクス回路MPXl8を介して、ROMア
ドレスラッチ 4へ、送られる。
と、マルチプレクス回路MPXl8を介して、ROMア
ドレスラッチ 4へ、送られる。
Aレジスタ8のデータが、データバ
スLB3Oと、マルチプレクス回路
MPXl9を介して、ROMアドレスラ ツチ4へ
与えられる。
与えられる。
PCHlのデータもマルチプレクス
回路MPXl7を介してROMアドレス ラッチ
4に与えられる。
4に与えられる。
プログラムカ ゥンタPCM2、PCL3はマルチプ
レ クス回路MPXl8,l9の出力デー 夕の、
ロードを禁止し、RDTBL命令 のあるアドレスが
保持される。
レ クス回路MPXl8,l9の出力デー 夕の、
ロードを禁止し、RDTBL命令 のあるアドレスが
保持される。
■Sφ:ROMアドレスラッチ4にラッチさ れた、
PCHlと、Eレジスタ9と、 Aレジスタ8のデータ
によりアドレス が指定され、命令ROM5がアクセス される。
PCHlと、Eレジスタ9と、 Aレジスタ8のデータ
によりアドレス が指定され、命令ROM5がアクセス される。
■SlRDTBL命令の命令デコードによる 2サイク
ル目の実行に必要な制御信号 のアクセス期間。
ル目の実行に必要な制御信号 のアクセス期間。
■S2プログラムカウンタのPCM2とJPCL3内で
インクレメントを実行す る。
インクレメントを実行す る。
■S3ROM出力の上位4ビットデータ
ROMDUイがデータバスUB29と、 マルチプ
レクス回路MPX23を介し てデータラッチBLT
26にラッチさ れる。
レクス回路MPX23を介し てデータラッチBLT
26にラッチさ れる。
ROM出力の下位4ビットデータ
ROMDL口がデータバスLB3Oと、 マルチプ
レクス回路MPX22と、2AL−U2O(AL,Uは
転送モードであ る)を介してデータラッチALT2
5にラッチされる。
レクス回路MPX22と、2AL−U2O(AL,Uは
転送モードであ る)を介してデータラッチALT2
5にラッチされる。
Sφ: バスドライバー27が制御され、デー タラツ
チAL,T25のデータがデータバ スLB3Oに、デ
ータラッチBLT26の データがデータバスUB29
に転送され る。
チAL,T25のデータがデータバ スLB3Oに、デ
ータラッチBLT26の データがデータバスUB29
に転送され る。
Aレジスタ8はデータバスLB3Oのデータを、Eレジ
スタ9は、データバ スUB29のデータをそれぞれ取り込! む。
スタ9は、データバ スUB29のデータをそれぞれ取り込! む。
以上の動作によりPCHlと、Eレジ スタ9と、
Aレジスタ8によりアドレス 指定を行う。
Aレジスタ8によりアドレス 指定を行う。
次に、命令ROM5の出力 データをEレジスタ9と、
Aレジスタ8 に転送する。
Aレジスタ8 に転送する。
以上で1バイト2サイクル のRDTBL命令実行が完
了する。
了する。
また次のアドレスの命令ROMアクセ スも同時
に行なつている。
に行なつている。
ICALL命令
サブルーチン・コール命令であり、プログラムカウンタ
にはJr!4P命令と同じく、命令語の下位4ビットと
、2バイト目の即値語8ビットの合計12ビットデータ
が転送される。
にはJr!4P命令と同じく、命令語の下位4ビットと
、2バイト目の即値語8ビットの合計12ビットデータ
が転送される。
またCAL,L命令に続く次の命令の命令R′0Mアド
レスがサブルーチンよりの戻り番地としてスタックポイ
ンタ15によりアドレス指定されたRAMllのスタッ
ク領域へ待避される。
レスがサブルーチンよりの戻り番地としてスタックポイ
ンタ15によりアドレス指定されたRAMllのスタッ
ク領域へ待避される。
この命令は2バイト命令であり、2サイクルで命令実行
を終了する。ISφ: 命令ROM5より、CALL命
令が、 アクセスされる。
を終了する。ISφ: 命令ROM5より、CALL命
令が、 アクセスされる。
ISlCALL命令の命令デコードによる、 制御信
号のアクセス期間。
号のアクセス期間。
IS2プログラムカウンタのPCM2と
PCL3内で、インクレメントを実行す る。
CAI上命令により、スタツクポイン 夕SPl
5のデータがデクレメントさ れる。
5のデータがデクレメントさ れる。
このデータの上位4ビットがデ ータバスUB29を
介して、RAMアト レスデータ(R7V.4AU)
として、下位 4ビットが、データバスLB3Oを介
してRAMアドレスデータ (RAMAL)として、RAMアドレスラ ツチ
10に転送される。
介して、RAMアト レスデータ(R7V.4AU)
として、下位 4ビットが、データバスLB3Oを介
してRAMアドレスデータ (RAMAL)として、RAMアドレスラ ツチ
10に転送される。
IS3:IS2でインクレメントしたプログ ラムカ
ウンタPCHl,PCM2,PCL3のデータがマルチ
プレクス回路 ■止Xl7,l8,l9を介してRO
Mアドレスラッチ4に与えられる。
ウンタPCHl,PCM2,PCL3のデータがマルチ
プレクス回路 ■止Xl7,l8,l9を介してRO
Mアドレスラッチ4に与えられる。
■Sφ: 命令の2バイト目である即値語が命 令R
OM5よりアクセスされる。
OM5よりアクセスされる。
プログラムカウンタPCHlのデー 夕がデー
タバスLB3Oに転送され る。
タバスLB3Oに転送され る。
IS2でスタックポインタSPl5
のデータにより指定されたRAMll
のアドレスにデータバスLB3Oのデ
ータが格納される。
■SlCAL.L命令の命令デコードによる2 サイ
クル目の実行に必要な制御信号の アクセス期間。
クル目の実行に必要な制御信号の アクセス期間。
■S2プログラムカウンタのPCM2と
PCL3内で、インクレメントを実行す る。
IS2と同様にスタックポインタ
SPl5のデータがデクレメントされ
るとともにデータバスUB29,LB3Oを介して
RAMアドレスラッチ10に与えられる。
RAMアドレスラッチ10に与えられる。
■S3: 前述したJMP命令の■S3と同様に 命
令レジスタ6にフエツチされた下位 4ビットデータが
、データバスIRL28と、マルチプレクス回路MPX
l7 を介してPCHlとROMアドレスラツ チ4へ転送される。
令レジスタ6にフエツチされた下位 4ビットデータが
、データバスIRL28と、マルチプレクス回路MPX
l7 を介してPCHlとROMアドレスラツ チ4へ転送される。
命令ROM5より出力された2バイ ト目の即
値語の上位4ビットデータ ROMDUイがデータバスUB() と、マルチプレクス回路MPXl8を 介してP
CM2と、ROMアドレスラツ チ4に転送される。
値語の上位4ビットデータ ROMDUイがデータバスUB() と、マルチプレクス回路MPXl8を 介してP
CM2と、ROMアドレスラツ チ4に転送される。
また下位4ビツトデュタROMDL口 もデー
タバスLB3Oと、マルチプレ クス回路MPXl9
を介してPCL3と ROMアドレスラッチに転送され
る。
タバスLB3Oと、マルチプレ クス回路MPXl9
を介してPCL3と ROMアドレスラッチに転送され
る。
Sφ: ■S2でスタックポインタSPl5の データ
により指定されたRAMllのア ドレスにPCM2の
データがデータバスUB29を介して、PCL3のデー
タがデ 一タバスLB3Oを介して格納される。
により指定されたRAMllのア ドレスにPCM2の
データがデータバスUB29を介して、PCL3のデー
タがデ 一タバスLB3Oを介して格納される。
(■S3でプログラムカウンタに、サ ブルーチン
●コール先のアドレスがロー ドされるが、プログラム
カウンタをマス タースレーブ方式にし、S3でマスタ に、S1でスレーブにデータをラッチす る様にする
と、このタイミングではズレ ーブにサブルーチンより
の戻り番地であ るCAl.L命令に続く次の命令が格
納され ているアドレスがあるので、このスレー ブの
データをRAMに格納する。
●コール先のアドレスがロー ドされるが、プログラム
カウンタをマス タースレーブ方式にし、S3でマスタ に、S1でスレーブにデータをラッチす る様にする
と、このタイミングではズレ ーブにサブルーチンより
の戻り番地であ るCAl.L命令に続く次の命令が格
納され ているアドレスがあるので、このスレー ブの
データをRAMに格納する。
) また、サブルーチン・コール先の命令ROMアク
セスを同時に行なう。
セスを同時に行なう。
以上の動作により命令語の下位4ピン トと即値語
8ビットによりサブルーチン の先頭アドレスを指定す
るとともに、 CAL,L命令の次の命令のアドレスをサブ ルーチン
からの戻り番地として、RAM内に設けたスタック領域
のスタツクポイ ンタで指定されたアドレスに格納するサ ブルーチン
コール命令の実行を2バイト2サイクルで実行完了する
。
8ビットによりサブルーチン の先頭アドレスを指定す
るとともに、 CAL,L命令の次の命令のアドレスをサブ ルーチン
からの戻り番地として、RAM内に設けたスタック領域
のスタツクポイ ンタで指定されたアドレスに格納するサ ブルーチン
コール命令の実行を2バイト2サイクルで実行完了する
。
RET命令
スタックポインタSPl5でアドレス指定されるRAM
llに設けられたスタック領域のサブルーチンの戻り番
地データを読み出し、このデータをPCHl,PCM2
,PCL3と、ROMアドレスラッチへ転送する命令で
ある。
llに設けられたスタック領域のサブルーチンの戻り番
地データを読み出し、このデータをPCHl,PCM2
,PCL3と、ROMアドレスラッチへ転送する命令で
ある。
またこの命令は1バイト2サイクルで命令実行を完了す
る。ISφ: 命令ROM5よりRET命令がアクセ
スされる。
る。ISφ: 命令ROM5よりRET命令がアクセ
スされる。
ISlRET命令の命令デコードによる制 御信号の
アクセス期間。
アクセス期間。
IS2:1バイト2サイクル実行命令である ので、
プログラムカウンタのインクレ メントは禁止される
。
プログラムカウンタのインクレ メントは禁止される
。
RET命令によりスタックポインタ
SPl5のデータ上位4ビットデータ
がデータバスUB29を介してRAMア ドレス
ラッチ10に、下位4ビツトデ ータがデータバスL
B3Oを介して RAMアドレスラッチ10にそれぞれ 転送される。
ラッチ10に、下位4ビツトデ ータがデータバスL
B3Oを介して RAMアドレスラッチ10にそれぞれ 転送される。
IS3スタックポインタSPl5により指 定された
RAMllより8ビットのデ ータが読み出され、上
位4ビツトデー 夕がデータバスUB29と、マルチ
プ レクス回路MPXl8を介してPCM2とR間M
アドレスラッチ4に与えられ る。
RAMllより8ビットのデ ータが読み出され、上
位4ビツトデー 夕がデータバスUB29と、マルチ
プ レクス回路MPXl8を介してPCM2とR間M
アドレスラッチ4に与えられ る。
下位4ビットデータもデータバス
LB3Oと、マルチプレクス回路MPXl9を介して
PCL3とROMアドレス ラッチ4に与えられる。
PCL3とROMアドレス ラッチ4に与えられる。
スタックポインタSPl5はインク レメント
を実行する。
を実行する。
■Sφ: データ転送動作は行なわれない。
■SlRET命令の命令デコードによる2 サイクル
の実行に必要な制御信号のア クセス期間。
の実行に必要な制御信号のア クセス期間。
■S2:IS3でインクレメントされたスタ ツクポ
インタSPl5のデータがデー タバスUB29,L
B3Oを介して RAMアドレスラッチ10に転送され る。
インタSPl5のデータがデー タバスUB29,L
B3Oを介して RAMアドレスラッチ10に転送され る。
■S3スタックポインタSPl5により指 定され
たRAMllより読み出された データがデータバ
スLB3Oとマルチ プレクス回路MPXl7を介
してPCHlと、ROMアドレスラッチ4に与え
られる。
たRAMllより読み出された データがデータバ
スLB3Oとマルチ プレクス回路MPXl7を介
してPCHlと、ROMアドレスラッチ4に与え
られる。
またPCM2と、PCL3のデータも マ
ルチプレクス回路MPXl8,l9を介して、ROMア
ドレスラッチ4に 与えられる。
ルチプレクス回路MPXl8,l9を介して、ROMア
ドレスラッチ4に 与えられる。
スタックポインタSPl5はインク レメ
ントを実行する。
ントを実行する。
Sφ: ■S3で、ROMアドレスラッチ4に ラッ
チされたデータ(RAMllのスタ ツクより読み出
された、サブルーチンよ りの戻り番地)をアドレス
として、命令 ROM5が次の命令をアクセスする。
チされたデータ(RAMllのスタ ツクより読み出
された、サブルーチンよ りの戻り番地)をアドレス
として、命令 ROM5が次の命令をアクセスする。
以上の動作により、スタックポインタ SPl5
でアドレス指定されるRAMllに設けられたスタック
領域のサブルーチ ンの戻り番地データを読み出して
、プロ グラムカウンタPCHl,PCM2,PCL
3と、ROMアドレスラッチへ転送する 1バイト2サ
イクル命令実行のRET命 令が実行完了する。
でアドレス指定されるRAMllに設けられたスタック
領域のサブルーチ ンの戻り番地データを読み出して
、プロ グラムカウンタPCHl,PCM2,PCL
3と、ROMアドレスラッチへ転送する 1バイト2サ
イクル命令実行のRET命 令が実行完了する。
以上、本発明の実施例に於けるマイクロコンピュータ回
路の動作を、a)STY命令、b)LXY命令、c)E
XE命令、d)ADD命令、e)STB命令、f)LD
命令、g)JMP命令、h)RDTBL命令、i)CA
L.L命令、j)RET命令を用いて命令実行サイクル
の各クロックタイミングごとに説明した。
路の動作を、a)STY命令、b)LXY命令、c)E
XE命令、d)ADD命令、e)STB命令、f)LD
命令、g)JMP命令、h)RDTBL命令、i)CA
L.L命令、j)RET命令を用いて命令実行サイクル
の各クロックタイミングごとに説明した。
以下この効果を述べる。
まず第1に内部データバスUB,LBを用いた2バス構
成にデータバスUB,LBのいずれか一方をALUの一
方の入力に、データバスUB,LBの何れか一方を入力
禁止回路を介してALUの他方の入力にし、AI,Uの
出力にデータラッチAl.Uと入力禁止回路と入力を共
有するデータラッチBLTを設け、データラッチALT
<5BLTのデータをバス・ドライバーを介してデータ
バスUB,LBに転送することにより、データバスUB
,LBを効率的に使用している。
成にデータバスUB,LBのいずれか一方をALUの一
方の入力に、データバスUB,LBの何れか一方を入力
禁止回路を介してALUの他方の入力にし、AI,Uの
出力にデータラッチAl.Uと入力禁止回路と入力を共
有するデータラッチBLTを設け、データラッチALT
<5BLTのデータをバス・ドライバーを介してデータ
バスUB,LBに転送することにより、データバスUB
,LBを効率的に使用している。
従つてALUの論理演算ビット長が4ビットであるに拘
わらず各レジスタや、RAMや、ROMのデータが、デ
ータバスUBI:.LBに転送されもデータラッチAL
T,BLTを介して再びデータバスUBと、LBに転送
され、このデータが別の各レジスタや、RAMに与えら
れ取込まれる様になり、8ビットでのデータ転送が1命
令実行サイクルで行なえる。
わらず各レジスタや、RAMや、ROMのデータが、デ
ータバスUBI:.LBに転送されもデータラッチAL
T,BLTを介して再びデータバスUBと、LBに転送
され、このデータが別の各レジスタや、RAMに与えら
れ取込まれる様になり、8ビットでのデータ転送が1命
令実行サイクルで行なえる。
また前述の動作で、データラッチALTと、BLTのデ
ータを入力されたデータバスUB,LBとは逆のデータ
バスLB,UBに転送することにより各レジスタや、R
AMとのデータ交換が1命令実行サイクルで行なえる。
ータを入力されたデータバスUB,LBとは逆のデータ
バスLB,UBに転送することにより各レジスタや、R
AMとのデータ交換が1命令実行サイクルで行なえる。
以上のように2バス構成にデータラッチALTと、BL
Tと、入力禁止回路を付加することにより、ALUの論
理演算ビット長は勿論、ビット長倍長のデータ転送、デ
ータバスUBとLBに接続された各レジスタ、RAMの
データ交換が1命令実行サイクルで実行可能となつた。
第2にプログラムカウンタの命令ROMアドレスデータ
と、データバスUB,LB上のデータとを選択して命令
ROMアドレスラッチ回路と、プログラムカウンタに与
える様に構成したことにより、回路が簡単になると共に
、前述の2バス構成との組合せで、さらに機能が増加し
た。なお従来の回路では、プログラムカウンタを構成す
る時にマスタースレーグ方式のレジスタ回路では、スレ
ーブのデータがマスターにフィードバックされて戻され
、このフィードバックされるスレーブのデータと、デー
タバスのデータがマルチプレクスされてマスターにラッ
チされ、命令ROMへのアドレスデータはスレーブより
出力されていた。
Tと、入力禁止回路を付加することにより、ALUの論
理演算ビット長は勿論、ビット長倍長のデータ転送、デ
ータバスUBとLBに接続された各レジスタ、RAMの
データ交換が1命令実行サイクルで実行可能となつた。
第2にプログラムカウンタの命令ROMアドレスデータ
と、データバスUB,LB上のデータとを選択して命令
ROMアドレスラッチ回路と、プログラムカウンタに与
える様に構成したことにより、回路が簡単になると共に
、前述の2バス構成との組合せで、さらに機能が増加し
た。なお従来の回路では、プログラムカウンタを構成す
る時にマスタースレーグ方式のレジスタ回路では、スレ
ーブのデータがマスターにフィードバックされて戻され
、このフィードバックされるスレーブのデータと、デー
タバスのデータがマルチプレクスされてマスターにラッ
チされ、命令ROMへのアドレスデータはスレーブより
出力されていた。
従つてデータバス上のデータをプログラムカウンタヘロ
ード2ないでROMアドレスラッチにだけ与えるには、
プログラムカウンタのスレーブデータと、データバス上
のデータを選択するマルチプレクス回路が必要になる。
つまりマルチプレクス回路が多く必要であり、回路が複
雑である。ところが本実施例により実行できる機能とし
ては各レジスタのデータや、RAr!4のデータを、デ
ータバスUB,LBを介してプログラムカウンタにロー
ドすると共に、ROMアドレスラッチ回路に転送するこ
とにより、各レジスタのデータや、RAMのデータをプ
ログラムカウンタの命令ROMアドレスデータとしての
無条件分岐(ジャンプ命令)ができる。
ード2ないでROMアドレスラッチにだけ与えるには、
プログラムカウンタのスレーブデータと、データバス上
のデータを選択するマルチプレクス回路が必要になる。
つまりマルチプレクス回路が多く必要であり、回路が複
雑である。ところが本実施例により実行できる機能とし
ては各レジスタのデータや、RAr!4のデータを、デ
ータバスUB,LBを介してプログラムカウンタにロー
ドすると共に、ROMアドレスラッチ回路に転送するこ
とにより、各レジスタのデータや、RAMのデータをプ
ログラムカウンタの命令ROMアドレスデータとしての
無条件分岐(ジャンプ命令)ができる。
また前述の実行時に、各レジスタのデータやRAMのデ
ータをプログラムカウンタヘロードするのを禁止するこ
とにより、各レジスタのデータや、RAMのデータで指
定されたアドレスを命令ROMがアクセスして、命令R
OM内に格納された参照データを出力して、各レジスタ
や、RAMに転送するROM内のテーブル参照命令が容
易にできる。
ータをプログラムカウンタヘロードするのを禁止するこ
とにより、各レジスタのデータや、RAMのデータで指
定されたアドレスを命令ROMがアクセスして、命令R
OM内に格納された参照データを出力して、各レジスタ
や、RAMに転送するROM内のテーブル参照命令が容
易にできる。
第3にRAMのアドレス指定のRAMアドレスラッチ回
路をデータバスUBとLBに接続することにより、RA
Mアドレス指定をすべてのレジスタや、命令ROMや、
スタックポインタで指定できるため、RAMを有効に利
用できる。
路をデータバスUBとLBに接続することにより、RA
Mアドレス指定をすべてのレジスタや、命令ROMや、
スタックポインタで指定できるため、RAMを有効に利
用できる。
第4にRAMのデータバスUB,LB上のデータをプロ
グラムカウンタにロードし、プログラムカウンタのデー
タを、データバスUB,LBに出力する時、データバス
UB,LB上のデータを、RAMに書き込む様に構成し
ている。
グラムカウンタにロードし、プログラムカウンタのデー
タを、データバスUB,LBに出力する時、データバス
UB,LB上のデータを、RAMに書き込む様に構成し
ている。
したがつてサブルーチンコール命令の時にプログラムカ
ウンタのアドレスデータ(サブルーチンよりの戻り番地
)をデータバスUB,LBを介して、RAMのスタック
に書き込むことができ、戻り番地を待避しなが−ら、他
のクロックタイミングでデータバスUB,LBを介して
サブルーチンの先頭アドレスもロードできるので、命令
実行に際しては基本命令実行サイクル(Sφ〜S3のク
ロックタイミング)を変更しないで、できる。(サブル
ーチンコール命!令は2バイト命令であり、2サイクル
で実行が完了する)リターン命令の時、RAMのスタッ
ク領域のデータをデータバスUB,LBを介して直接プ
ログラムカウンタにロードする。
ウンタのアドレスデータ(サブルーチンよりの戻り番地
)をデータバスUB,LBを介して、RAMのスタック
に書き込むことができ、戻り番地を待避しなが−ら、他
のクロックタイミングでデータバスUB,LBを介して
サブルーチンの先頭アドレスもロードできるので、命令
実行に際しては基本命令実行サイクル(Sφ〜S3のク
ロックタイミング)を変更しないで、できる。(サブル
ーチンコール命!令は2バイト命令であり、2サイクル
で実行が完了する)リターン命令の時、RAMのスタッ
ク領域のデータをデータバスUB,LBを介して直接プ
ログラムカウンタにロードする。
(リターン命令は、1バイトであり、2サイクルで実行
が完了する)以上により、プログラムカウンタと、RA
Mのスタック領域とのデータ転送をデータラッチALT
,BLTを介さず、データバスUB,LBだけを介する
ので高速転送が行なえる。また、データ・バスUB,L
Bを常に使用しているためにバスの使用効率が高い。ま
た、命令実行を2サイクルの固定命令サイクルでできる
ため、クロック回路や命令デコーダ簡単になる。第5に
RAMの読出し、書き込みを4ビット単位、8ビット単
位どちらもできる様にしたことにより、プログラムカウ
ンタのアドレスデータを、スタックに待避したり、スタ
ックの戻り番地データをプログラムカウンタにロードし
て復帰する場合に高速化できる。
が完了する)以上により、プログラムカウンタと、RA
Mのスタック領域とのデータ転送をデータラッチALT
,BLTを介さず、データバスUB,LBだけを介する
ので高速転送が行なえる。また、データ・バスUB,L
Bを常に使用しているためにバスの使用効率が高い。ま
た、命令実行を2サイクルの固定命令サイクルでできる
ため、クロック回路や命令デコーダ簡単になる。第5に
RAMの読出し、書き込みを4ビット単位、8ビット単
位どちらもできる様にしたことにより、プログラムカウ
ンタのアドレスデータを、スタックに待避したり、スタ
ックの戻り番地データをプログラムカウンタにロードし
て復帰する場合に高速化できる。
4ビット単位のデータ転送では命令実行サイクルが多く
なり、基本的な命令実行サイクル内でできないので、ク
ロック回路や命令デコードが複雑になる。
なり、基本的な命令実行サイクル内でできないので、ク
ロック回路や命令デコードが複雑になる。
またデータバスUB,・LB−.RAMのデータを読出
し、書込みすることにより、データバスUB及びLBに
接続された各レジスタとのデータ転送が容易にできる。
以上、各レジスタや、RAMのデータ処理時に,AL.
Uの演算処理ビット長だけでなく、ビット倍長の処理も
同一の固定命令サイクルで実行できる。
し、書込みすることにより、データバスUB及びLBに
接続された各レジスタとのデータ転送が容易にできる。
以上、各レジスタや、RAMのデータ処理時に,AL.
Uの演算処理ビット長だけでなく、ビット倍長の処理も
同一の固定命令サイクルで実行できる。
また、1チップマイクロコンピュータを工場で製造する
場合、1命令RhMの内容が正しいか、2各回路が正し
く動作しているか、チップ自体のチェックをする必要が
ある。
場合、1命令RhMの内容が正しいか、2各回路が正し
く動作しているか、チップ自体のチェックをする必要が
ある。
本実施例の回路構成を用いて、データバスUB,LBが
入出力回路を介して外部と、データ転送ができること、
データバスUB,LBのデータを命令ROMに取り込む
回路を付加するだけで上記1,2のチェックができる。
1アクセスしたいROMアドレスデータをROMアドレ
スラッチに、外部より入出力回路と、データバスUB,
LBと、マルチプレクス回路を介して与え、アクセスさ
れたROM出力データをデータバスUB,LBと、入出
力回路を介して外部に出力し、外部でチェックする。
入出力回路を介して外部と、データ転送ができること、
データバスUB,LBのデータを命令ROMに取り込む
回路を付加するだけで上記1,2のチェックができる。
1アクセスしたいROMアドレスデータをROMアドレ
スラッチに、外部より入出力回路と、データバスUB,
LBと、マルチプレクス回路を介して与え、アクセスさ
れたROM出力データをデータバスUB,LBと、入出
力回路を介して外部に出力し、外部でチェックする。
2回路の動作に必要な命令を外部より入出力回路と、デ
ータバスUB,LBを介して命令レジスタにラッチさせ
、この命令を命令デコーダが解読して実行すると共にプ
ログラムカウンタの内容を、データバスUB,LBと、
入出力回路を介して外部に出力する様にし、外部よりチ
ェックしたい命令を順次実行させ、内部状能を外部に出
力し、判別することにより内部の各回路が正しく動作し
ているかチェックできる。
ータバスUB,LBを介して命令レジスタにラッチさせ
、この命令を命令デコーダが解読して実行すると共にプ
ログラムカウンタの内容を、データバスUB,LBと、
入出力回路を介して外部に出力する様にし、外部よりチ
ェックしたい命令を順次実行させ、内部状能を外部に出
力し、判別することにより内部の各回路が正しく動作し
ているかチェックできる。
上記実施例より明らかなように本発明によれば倍長処理
及びレジスタ間のデータ交換処理を容易にすると共に、
固定命令サイクルで実行可能としたことにより、タイミ
ングを含めた各回路制御が簡単になり、かつ実行処理ス
ピードが向上する。
及びレジスタ間のデータ交換処理を容易にすると共に、
固定命令サイクルで実行可能としたことにより、タイミ
ングを含めた各回路制御が簡単になり、かつ実行処理ス
ピードが向上する。
またスタック使用命令を基本的な命令サイクルを変更す
ることなく実行できると共に、専用スタックを設けるこ
となく、RAMと兼用が可能である。したがつてレジス
タ間のデータ交換に、待避レジスタを設けなくてもよい
。また各命令に対して、命令実行サイクルを変更するこ
となく、基本的な命令サイクルとして固定し、回路構成
を簡単にしたため、チツラ゜面積が減少でき、このよう
にチップ面積の減少にもとずいて消費電力の低減を図る
ことができる。
ることなく実行できると共に、専用スタックを設けるこ
となく、RAMと兼用が可能である。したがつてレジス
タ間のデータ交換に、待避レジスタを設けなくてもよい
。また各命令に対して、命令実行サイクルを変更するこ
となく、基本的な命令サイクルとして固定し、回路構成
を簡単にしたため、チツラ゜面積が減少でき、このよう
にチップ面積の減少にもとずいて消費電力の低減を図る
ことができる。
第1図は1バスシステムのブロック図、第2図はそのタ
イミング図、第3図は3バスシステムのブロック図、第
4図はそのタイミング図、第5図は2バスシステムのブ
ロック図、第6図はそのタイミング図、第7図は本発明
の一実施例によるマイクロコンピュータ回路のブロック
図、第8図はそのタイミング図、第9図および第10図
は要部の詳細な構成を示すブロック図、第11〜第14
図はそれぞれ動作を説明するための図である。 20・ ・・論理演算ユニット、24・・・・・入力禁
止回路、25,26・・・・・データラッチ、27・・
・・・・バスドライバー、29,30・・・・・・デー
タバス。
イミング図、第3図は3バスシステムのブロック図、第
4図はそのタイミング図、第5図は2バスシステムのブ
ロック図、第6図はそのタイミング図、第7図は本発明
の一実施例によるマイクロコンピュータ回路のブロック
図、第8図はそのタイミング図、第9図および第10図
は要部の詳細な構成を示すブロック図、第11〜第14
図はそれぞれ動作を説明するための図である。 20・ ・・論理演算ユニット、24・・・・・入力禁
止回路、25,26・・・・・データラッチ、27・・
・・・・バスドライバー、29,30・・・・・・デー
タバス。
Claims (1)
- 【特許請求の範囲】 1 2組のデータバスと、論理演算ユニットと、入力禁
止回路と、第1、第2の2組のデータラッチと、バスド
ライバを有し、上記データバスの何れか一方を上記論理
演算ユニットの一方の入力に、上記データバスの何れか
一方を上記入力禁止回路を介して上記論理演算ユニット
の他方の入力に接続するとともに、上記論理演算ユニッ
トの出力に接続された上記第1のデータラッチの出力と
、上記入力禁止回路とラッチ入力を共有する上記第2の
データラッチの出力とを上記バスドライバを介して上記
データバスに接続することを特徴とするマイクロコンピ
ュータ回路。 2 2組のデータバスと、論理演算ユニットと、入力禁
止回路と、第1、第2の2組のデータラッチと、バスド
ライバを有し、上記データバスの何れか一方を上記論理
演算ユニットの一方の入力に、上記データバスの何れか
一方を上記入力禁止回路を介して上記論理演算ユニット
の他方の入力に接続するとともに、上記論理演算ユニッ
トの出力に接続された上記第1のデータラッチの出力と
、上記入力禁止回路とラッチ入力を共有する上記第2の
データラッチの出力とを上記バスドライバを介して上記
データバスに接続するように構成し、かつ第1のデータ
バスに命令ROMと、RAMと、プログラマブルカウン
タと、スタックポインタと、レジスタとを接続するとと
もに、第2のデータバスに上記命令ROMと、上記RA
Mと、上記プログラマブルカウンタと、上記スタックポ
インタと、他のレジスタとを接続したことを特徴とする
マイクロコンピュータ回路。 3 命令ROMは、アドレスとしてプログラムカウンタ
の並列出力あるいは第1、第2のデータバス上のデータ
のいずれかが選択入力され、かつ上記選択入力信号は上
記プログラムカウンタにも入力されることを特徴とする
特許請求の範囲第2項記載のマイクロコンピュータ回路
。 4 RAMが第1、第2のデータバス上のデータをラッ
チ入力とするRAMアドレス生成用ラッチ回路を備えた
ことを特徴とする特許請求の範囲第2項記載のマイクロ
コンピュータ回路。 5 RAMとプログラムカウンタは、命令デコーダから
制御信号によりRAMから第1、第2のデータバスにデ
ータを読み出す時に、上記プログラムカウンタに上記デ
ータバス上のデータをロードし、また上記プログラムカ
ウンタから、上記第1、第2のデータバスにデータが出
力された時に、そのデータを上記RAMに書き込むよう
に構成されたことを特徴とする特許請求の範囲第2項記
載のマイクロコンピュータ回路。 6 RAMは演算論理ユニットの処理ビット長を持つ奇
数領域のRAMと、偶数領域のRAMと、RAM読み出
し・書込み制御回路を備え、上記RAM読み出し・書込
み制御回路は、命令デコーダからのビット長選択信号と
、RAMアドレス信号とにより、上記奇数領域RAMと
、上記偶数領領域RAMとを選択し、アクセスすること
を特徴とする特許請求の範囲第2項記載のマイクロコン
ピュータ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP53110425A JPS6057605B2 (ja) | 1978-09-07 | 1978-09-07 | マイクロコンピュ−タ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP53110425A JPS6057605B2 (ja) | 1978-09-07 | 1978-09-07 | マイクロコンピュ−タ回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5537651A JPS5537651A (en) | 1980-03-15 |
JPS6057605B2 true JPS6057605B2 (ja) | 1985-12-16 |
Family
ID=14535422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53110425A Expired JPS6057605B2 (ja) | 1978-09-07 | 1978-09-07 | マイクロコンピュ−タ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6057605B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57113144A (en) * | 1980-12-30 | 1982-07-14 | Seiko Epson Corp | Stored program computer |
JPS58167939U (ja) * | 1982-04-30 | 1983-11-09 | 横河電機株式会社 | 演算装置 |
EP0333235A3 (en) * | 1984-10-01 | 1989-11-23 | Unisys Corporation | Programmable data path width in a programmable unit having plural levels of subinstructions sets |
JPS63193237A (ja) * | 1987-02-06 | 1988-08-10 | Toshiba Corp | 半導体集積回路装置 |
US4912636A (en) * | 1987-03-13 | 1990-03-27 | Magar Surendar S | Data processing device with multiple on chip memory buses |
JPH01116730A (ja) * | 1987-10-30 | 1989-05-09 | Mitsubishi Electric Corp | デイジタル信号処理プロセツサ |
JP2617974B2 (ja) * | 1988-03-08 | 1997-06-11 | 富士通株式会社 | データ処理装置 |
JPH03201126A (ja) * | 1989-12-28 | 1991-09-03 | Sharp Corp | データ処理装置 |
EP0473805A1 (en) * | 1990-09-03 | 1992-03-11 | International Business Machines Corporation | Computer system with improved performance |
JPH07168713A (ja) * | 1994-10-24 | 1995-07-04 | Mitsubishi Electric Corp | ディジタル信号処理プロセッサ |
-
1978
- 1978-09-07 JP JP53110425A patent/JPS6057605B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5537651A (en) | 1980-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020188830A1 (en) | Bit replacement and extraction instructions | |
JPH05173837A (ja) | オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム | |
JPS6057605B2 (ja) | マイクロコンピュ−タ回路 | |
US6742058B2 (en) | Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input | |
US20050033938A1 (en) | Network processing system, core language processor and method of executing a sequence of instructions in a stored program | |
JPH1165840A (ja) | 演算処理装置およびその方法 | |
JPH0326864B2 (ja) | ||
JP2741514B2 (ja) | マルチcpuシステム | |
US7689864B2 (en) | Processor comprising an integrated debugging interface controlled by the processing unit of the processor | |
US20020004877A1 (en) | Method and system for updating user memory in emulator systems | |
US8677033B2 (en) | Method for initializing registers of peripherals in a microcontroller | |
JP2002163104A (ja) | マイクロコンピュータ | |
JPH0431410B2 (ja) | ||
JP2002132499A (ja) | データ処理装置及び記録媒体 | |
KR950006585B1 (ko) | 마이크로프로그램 제어장치 및 그 제어방법 | |
Lutsyk et al. | Cache Memory Systems | |
KR101118645B1 (ko) | 마이클로컨트롤러 개발 시스템 | |
JPH0232647B2 (ja) | ||
JPH01239485A (ja) | 大規模集積回路 | |
JP3515018B2 (ja) | パイプライン形データ処理装置 | |
JP3182796B2 (ja) | 中央演算処理装置 | |
JPH0991267A (ja) | 不揮発性メモリのデータ書き込み装置 | |
WO1996008775A1 (en) | Software programmable bus disable system | |
JPH02236734A (ja) | マイクロプロセッサのエミュレーション方式 | |
JPH033047A (ja) | 演算機能付きメモリ |