JPH05143322A - マイクロコンピユータ - Google Patents

マイクロコンピユータ

Info

Publication number
JPH05143322A
JPH05143322A JP30053391A JP30053391A JPH05143322A JP H05143322 A JPH05143322 A JP H05143322A JP 30053391 A JP30053391 A JP 30053391A JP 30053391 A JP30053391 A JP 30053391A JP H05143322 A JPH05143322 A JP H05143322A
Authority
JP
Japan
Prior art keywords
instruction
program data
instruction decoder
switching
output
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
JP30053391A
Other languages
English (en)
Inventor
Toru Watanabe
徹 渡辺
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP30053391A priority Critical patent/JPH05143322A/ja
Publication of JPH05143322A publication Critical patent/JPH05143322A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明は、同一のプログラムデータに基づい
て異なるマイクロインストラクションを発生し、命令数
を増大することのできるマイクロコンピュータを提供す
ることを目的とする。 【構成】 本発明によれば、第1又は第2のインストラ
クションデコーダ(3)(4)の一方の動作中に切換命令が
実行されて第1又は第2のインストラクションデコーダ
(3)(4)の他方が動作可能となった時、切換命令直後に
実行される第1又は第2のインストラクションデコーダ
(3)(4)の他方のマイクロインストラクションのサイク
ル数だけ、第1又は第2のインストラクションデコーダ
(3)(4)の他方を動作状態とでき、その後、第1又は第
2のインストラクションデコーダ(3)(4)の一方が動作
状態に戻ることになる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、同一のプログラムデー
タから異なるマイクロインストラクションを発生するの
に好適なマイクロコンピュータに関する。
【0002】
【従来の技術】一般に、マイクロコンピュータにおいて
プログラム処理を行う場合、ROMの所定アドレスから
プログラムデータを読み出し、該ROMの読み出しデー
タをインストラクションレジスタに保持し、該インスト
ラクションレジスタの保持内容をインストラクションデ
コーダで解読し、この解読結果に応じてCPUを動作さ
せている。
【0003】例えば、ROMの各アドレスに記憶すべき
1バイトのプログラムデータのビット長が8ビットの場
合、このビット長で表すことのできるプログラムデータ
数は256(=28)種類となり、マイクロコンピュータ
は256種類の命令に応じた処理を行っていた。ところ
が、マイクロコンピュータの機能拡大を目的として、2
56種類以上のプログラムデータ数を必要とする場合が
ある。この場合、ROMの各プログラムデータのビット
長を例えば8ビットから10ビットへと長くしてプログ
ラムデータに基づく命令(マイクロインストラクション)
数を増大させたり、或は、ROMの特定アドレスに記憶
された1バイトのプログラムデータを共通プログラムデ
ータとして2バイトのプログラムデータによる1命令形
態を作成し、命令数を増大させたりしていた。
【0004】
【発明が解決しようとする課題】しかしながら、前者の
場合、ROMの1バイト当りのビット数が増大してしま
うことから、ROM自体が大型化してしまい、特にRO
Mを内蔵する1チップマイクロコンピュータにおいては
チップサイズが大型化してしまう問題点があった。ま
た、量産用マイクロコンピュータのプログラム開発を行
う際には、量産用マイクロコンピュータと略同一機能を
有する評価用マイクロコンピュータ、及び、プログラム
データの書き込み読み出しが可能な外付EPROMを用
いている。ところが、一般にEPROMの各アドレスの
ビット長は8ビットである為、ビット長を10ビットと
したマスクROMを内蔵する量産用マイクロコンピュー
タのプログラム開発を行う場合、8ビット長のEPRO
Mを2個並列に使用するか、10ビット長のEPROM
を新たに開発しなければならなかった。その為、8ビッ
ト長のEPROMを2個並列に使用すると、EPROM
に対するプログラムデータの書き込み読み出し処理が繁
雑になると共に一方のEPROMの残り6ビットが使用
されずに無駄になってしまい、新たに10ビット長のE
PROMを開発するとなると、膨大な開発コストがかか
ると共に量産用マイクロコンピュータのプログラム開発
期間に支障を来す問題点があった。
【0005】また、後者の場合、命令数の増大を確保す
る為、1バイトで実行できる処理を常に2バイトで実行
しなければならず、命令処理速度が常に遅くなってしま
う問題点があった。そこで、本発明は、同一のプログラ
ムデータに基づいて異なるマイクロインストラクション
を発生し、命令数を増大することのできるマイクロコン
ピュータを提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、前記問題点を
解決する為に成されたものであり、その特徴とするとこ
ろは、所定ビット長のプログラムデータが記憶されたR
OMと、該ROMから読み出されたプログラムデータが
保持されるインストラクションレジスタと、一方が動作
状態の時に他方が動作禁止状態とされ、前記インストラ
クションレジスタの保持内容を解読する第1及び第2の
インストラクションデコーダと、前記第1又は第2のイ
ンストラクションデコーダの何れか一方に代わって他方
を動作状態とするための切換指示信号と、前記第1又は
第2のインストラクションデコーダから出力されるマイ
クロインストラクションのサイクル数を指示するサイク
ル指示信号とが印加される切換制御回路と、を備え、前
記切換指示信号が発生した直後に前記第1又は第2のイ
ンストラクションデコーダの他方から出力されるマイク
ロインストラクションのサイクル数だけ、前記切換制御
回路から出力される切換制御信号に基づいて、前記第1
又は第2のインストラクションデコーダの他方を動作状
態とし、同一のプログラムデータから異なるマイクロイ
ンストラクションを発生させる点である。
【0007】
【作用】本発明によれば、第1又は第2のインストラク
ションデコーダの一方の動作中に切換命令が実行されて
第1又は第2のインストラクションデコーダの他方が動
作可能となった時、切換命令直後に実行される第1又は
第2のインストラクションデコーダの他方のマイクロイ
ンストラクションのサイクル数だけ、第1又は第2のイ
ンストラクションデコーダの他方を動作状態とでき、そ
の後、第1又は第2のインストラクションデコーダの一
方が動作状態に戻ることになる。
【0008】
【実施例】本発明の詳細を図面に従って具体的に説明す
る。図1は本発明を示す図であり、マイクロコンピュー
タ内部の要部構成を示すものである。図1において、
(1)はマイクロコンピュータを動作制御するためのプロ
グラムデータが記憶されたROMであり、該ROM(1)
の各アドレスに記憶されたプログラムデータは例えば8
ビットから成るものとする。マイクロコンピュータは内
部に構成されたCPU、RAM、周辺回路等をイニシャ
ルクリアするためのリセット端子を有しており、マイク
ロコンピュータ外部から前記リセット端子にリセットパ
ルスが印加されると、イニシャルクリアのためのプログ
ラムデータが記憶されたROM(1)のアドレスがアクセ
スされ、マイクロコンピュータは、このプログラムデー
タを後述のインストラクションレジスタ及びインストラ
クションデコーダを介することによって得られるマイク
ロインストラクションによってイニシャルクリアされる
ことになる。その後、ROM(1)は、実行中のマイクロ
インストラクションに応じた次のアドレスをアクセスさ
れることになる。
【0009】(2)は前述したインストラクションレジス
タであり、ROM(1)から読み出されたプログラムデー
タを保持するものである。 (3)は第1のインストラクションデコーダであり、イン
ストラクションレジスタ(2)の保持内容を解読し、解読
結果に応じたマイクロインストラクションMI1を発生
するものである。また、(4)は第2のインストラクショ
ンデコーダであり、第1のインストラクションデコーダ
(3)と同様にインストラクションレジスタ(2)の保持内
容を解読し、解読結果に応じたマイクロインストラクシ
ョンMI2を発生するものである。ここで、第1のイン
ストラクションデコーダ(3)及び第2のインストラクシ
ョンデコーダ(4)は互いに相補的に動作するものであ
り、即ち、一方のインストラクションデコーダが動作し
ている時に他方のインストラクションデコーダは停止し
ている様に選択制御される。
【0010】(5)は第1のインストラクションデコーダ
(3)又は第2のインストラクションデコーダ(4)を切換
制御するための切換制御信号ECを出力する切換制御回
路である。切換制御回路(5)には、第1のインストラク
ションデコーダ(3)又は第2のインストラクションデコ
ーダ(4)の動作状態を切り換えるための切換命令が実行
された時に発生する切換指示信号EDが印加される。ま
た、切換命令に基づいて、例えば第1のインストラクシ
ョンデコーダ(3)に代わって第2のインストラクション
デコーダ(4)を動作状態とする時、切換命令直後にRO
M(1)の所定アドレスから読み出されたプログラムデー
タはインストラクションレジスタ(2)及び第2のインス
トラクションデコーダ(4)を介してマイクロインストラ
クションとなるが、このマイクロインストラクションが
1バイト2サイクル命令の時に切換命令直後の1マシン
サイクルだけハイレベル(以下「H」と称する)となるサ
イクル指示信号CD1、及び、このマイクロインストラ
クションが2バイト2サイクル命令の時に切換命令直後
の1マシンサイクルだけ「H」となるサイクル指示信号
CD2も、データバス(6)を介して切換制御回路(5)に
印加される。尚、切換制御回路(5)の詳細については図
2に示しており、後で説明する。
【0011】(7)は第1のインストラクションデコーダ
(3)及び第2のインストラクションデコーダ(4)を相補
的に動作させるためのインバータであり、切換制御回路
(5)出力は、インバータ(7)を介して第1のインストラ
クションデコーダ(3)の制御入力CE1と接続されると
共に第2のインストラクションデコーダ(4)の制御入力
CE2とそのまま接続されている。ここで、第1のイン
ストラクションデコーダ(3)及び第2のインストラクシ
ョンデコーダ(4)は共に制御入力CE1,CE2が
「1」になることによって動作状態となるものであり、
つまり、切換制御回路(5)の切換制御信号ECが「0」
の時に第1のインストラクションデコーダ(3)が動作
し、また切換制御信号ECが「1」の時に第2のインス
トラクションデコーダ(4)が動作することになるのであ
る。
【0012】切換制御回路(5)内部を示す図2におい
て、(8)はサイクル指示信号CD1、CD2が印加され
るORゲートである。(9)はNANDゲートであり、一
方の入力にはインバータ(10)を介して切換指示信号ED
が印加され、他方の入力にはNANDゲート(11)の出力
bが印加される。尚、該NANDゲート(11)の一方の入
力にはORゲート(8)の出力aが印加される。(12)はク
ロックCLK1で反転動作を制御されるインバータであ
り、クロックCLK1に同期してNANDゲート(9)の
出力cを反転出力するものである。また、(13)はクロッ
クCLK2で反転動作を制御されるインバータであり、
クロックCLK2に同期してインバータ(12)出力dを反
転出力するものである。このインバータ(13)の出力は切
換制御信号ECとして第1のインストラクションデコー
ダ(3)及び第2のインストラクションデコーダ(4)に印
加されるが、その他にNANDゲート(11)の他方の入力
にも印加される。
【0013】こうして構成された図2の動作について、
図3のタイミングチャートを用いて説明する。図3は、
切換命令直後における第2のインストラクションデコー
ダ(4)の出力が1バイト1サイクルで実行される場合の
例である。クロックCLK1は各マシンサイクルの最後
に発生し、クロックCLK2は各マシンサイクルの最初
に発生するものとする。通常、ROM(1)から読み出さ
れたプログラムデータはインストラクションレジスタ
(2)を介して第1のインストラクションデコーダ(3)で
解読されており、この時、マシンサイクルMC1におい
て、ROM(1)の特定アドレスのプログラムデータに基
づくマイクロインストラクションによって第1のインス
トラクションデコーダ(3)から第2のインストラクショ
ンデコーダ(4)への動作切換が指示されると、クロック
CLK2の立ち下がりからクロックCLK1の立ち上が
りまで切換指示信号EDが「H」となり、この切換指示
信号EDはインバータ(10)を介してNANDゲート(9)
の一方の入力に印加される。すると、次のマシンサイク
ルMC2においてはROM(1)の指定アドレスから読み
出されたプログラムデータはインストラクションレジス
タ(2)を介して第2のインストラクションデコーダ(4)
で解読されることになる。ここで、この時得られるマイ
クロインストラクションが1バイト1サイクル命令であ
ると、ORゲート(8)出力aは変化することなく常に
「L」であるが、マイクロインストラクションが1バイ
ト2サイクル命令又は2バイト2サイクル命令である
と、サイクル指示信号CD1又はCD2がクロックCL
K2の立ち下がりからクロックCLK1の立ち上がりま
で「H」となり、即ち、ORゲート(8)出力aはクロッ
クCLK2の立ち下がりからクロックCLK1の立ち上
がりまで「H」となることになる。但し、図3は1バイ
ト1サイクル命令の例である為、ORゲート(8)出力a
は常に「L」であり、また、NANDゲート(11)出力b
は常に「H」となる。すると、NANDゲート(9)の他
方の入力が常に「H」となる為、NANDゲート(9)出
力cは切換指示信号EDと同一波形となる。NANDゲ
ート(9)出力cはクロックCLK1に同期してインバー
タ(12)から反転出力されることになり、即ち、マシンサ
イクルMC1のクロックCLK1の立ち上がりに同期し
て立ち下がり、マシンサイクルMC2のクロックCLK
1の立ち上がりに同期して立ち上がる出力dが得られる
ことになる。この出力dはクロックCLK2に同期して
インバータ(13)から出力されることになり、即ち、マシ
ンサイクルMC2の期間だけ「H」となる切換制御信号
ECが得られることになる。
【0014】従って、マシンサイクルMC2の期間だ
け、インバータ(7)を介した切換制御信号ECの反転出
力「L」が第1のインストラクションデコーダ(3)の制
御入力CE1に印加され、且つ、「H」の切換制御信号
ECが第2のインストラクションデコーダ(4)の制御入
力CE2にそのまま印加される為、マシンサイクルMC
2の期間だけ第2のインストラクションデコーダ(4)が
動作状態となり、同一のプログラムデータであるにも関
わらずマイクロインストラクションMI1と異なるマイ
クロインストラクションMI2が発生することになる。
【0015】また、図4のタイミングチャートについて
も図1及び図2を用いて動作を説明する。尚、図4は、
切換命令直後のマイクロインストラクションが1バイト
2サイクル或は2バイト2サイクルで実行される場合の
例である。マシンサイクルMC1において、ROM(1)
の特定アドレスのプログラムデータが読み出され、第1
のインストラクションデコーダ(3)から出力されるマイ
クロインストラクションMI1によって切換命令が実行
され、第1のインストラクションデコーダ(3)から第2
のインストラクションデコーダ(4)への動作切換が指示
されると、マシンサイクルMC1のクロックCLK2の
立ち下がりからクロックCLK1の立ち下がりまで切換
指示信号EDが「H」となる。そして、切換命令直後に
ROM(1)の所定アドレスから読み出されるプログラム
データはインストラクションレジスタ(2)を介して第2
のインストラクションデコーダ(4)で解読され、マイク
ロインストラクションMI2として発生することになる
が、このマイクロインストラクションMI2が1バイト
2サイクル或は2バイト2サイクルで実行されるものと
すると、前述した如く、サイクル指示信号CD1或はC
D2が「H」となる為、ORゲート(8)出力aはマシン
サイクルMC2のクロックCLK2の立ち下がりからク
ロックCLK1の立ち下がりまで「H」となる。する
と、NANDゲート(11)の出力bはマシンサイクルMC
1のクロックCLK2の立ち下がりからクロックCLK
1の立ち下がりまで「L」となる。従って、NANDゲ
ート(9)の出力cはマシンサイクルMC1,MC2のク
ロックCLK2の立ち下がりからクロックCLK1の立
ち下がりまで「H」となることになる。この出力cはイ
ンバータ(12)によってクロックCLK1に同期して反転
された後にインバータ(13)によってクロックCLK2に
同期してされることになり、これより、マシンサイクル
MC2及びMC2の期間だけ続けて「H」となる切換制
御信号ECが発生することになる。
【0016】従って、マシンサイクルMC2及びMC3
の期間だけ、インバータ(7)を介した切換制御信号EC
の反転出力「L」が第1のインストラクションデコーダ
(3)の制御入力CE1に印加され、且つ、「H」の切換
制御信号ECが第2のインストラクションデコーダ(4)
の制御入力CE2にそのまま印加される為、マシンサイ
クルMC2及びMC3の期間だけ第2のインストラクシ
ョンデコーダ(4)が動作状態となり、同一のプログラム
データであるにも関わらずマイクロインストラクション
MI1と異なるマイクロインストラクションMI2が発
生することになる。
【0017】以上より、第1のインストラクションデコ
ーダ(3)の動作中にROM(1)の特定アドレスがアクセ
スされて所望のプログラムデータが読み出され、該プロ
グラムデータに基づいて第1のインストラクションデコ
ーダ(3)から第2のインストラクションデコーダ(4)に
動作を切り換えるための切換命令が実行されると、該切
換命令直後に第2のインストラクションデコーダ(4)か
ら出力されるマイクロインストラクションMI2の実行
サイクル数だけ第2のインストラクションデコーダ(4)
を動作状態に切り換えることができる。これより、RO
M(1)の所定アドレスを切換命令用に特定するのみで、
必要に応じて同一のプログラムデータから異なるマイク
ロインストラクションを発生できるので、ROM容量を
増大させることなく、且つ、常に命令処理速度を低下さ
せることなく、マイクロインストラクションの数を増大
できることになる。
【0018】
【発明の効果】本発明によれば、第1のインストラクシ
ョンデコーダの動作中にROMの特定アドレスがアクセ
スされて所望のプログラムデータが読み出され、該プロ
グラムデータに基づいて第1のインストラクションデコ
ーダから第2のインストラクションデコーダに動作を切
り換えるための切換命令が実行されると、該切換命令直
後に第2のインストラクションデコーダから出力される
マイクロインストラクションの実行サイクル数だけ第2
のインストラクションデコーダを動作状態に切り換える
ことができる。これより、ROMの所定アドレスを切換
命令用に特定するのみで、必要に応じて同一のプログラ
ムデータから異なるマイクロインストラクションを発生
できるので、ROM容量を増大させることなく、且つ、
常に命令処理速度を低下させることなく、マイクロイン
ストラクションの数を増大できる利点が得られる。更
に、量産用マイクロコンピュータのプログラム開発を行
う際に既存のEPROMをそのまま使用できる為、プロ
グラム開発効率を向上できる等の利点も得られる。
【図面の簡単な説明】
【図1】本発明のマイクロコンピュータを示す図であ
る。
【図2】図1の要部を示す図である。
【図3】図2の動作を示すタイミングチャートである。
【図4】図2の異なる動作を示すタイミングチャートで
ある。
【符号の説明】
(1) ROM (2) インストラクションレジスタ (3) 第1のインストラクションデコーダ (4) 第2のインストラクションデコーダ (5) 切換制御回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 所定ビット長のプログラムデータが記憶
    されたROMと、 該ROMから読み出されたプログラムデータが保持され
    るインストラクションレジスタと、 一方が動作状態の時に他方が動作禁止状態とされ、前記
    インストラクションレジスタの保持内容を解読する第1
    及び第2のインストラクションデコーダと、 前記第1又は第2のインストラクションデコーダの何れ
    か一方に代わって他方を動作状態とするための切換指示
    信号と、前記第1又は第2のインストラクションデコー
    ダから出力されるマイクロインストラクションのサイク
    ル数を指示するサイクル指示信号とが印加される切換制
    御回路と、を備え、 前記切換指示信号が発生した直後に前記第1又は第2の
    インストラクションデコーダの他方から出力されるマイ
    クロインストラクションのサイクル数だけ、前記切換制
    御回路から出力される切換制御信号に基づいて、前記第
    1又は第2のインストラクションデコーダの他方を動作
    状態とし、同一のプログラムデータから異なるマイクロ
    インストラクションを発生させることを特徴とするマイ
    クロコンピュータ。
JP30053391A 1991-11-15 1991-11-15 マイクロコンピユータ Pending JPH05143322A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30053391A JPH05143322A (ja) 1991-11-15 1991-11-15 マイクロコンピユータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30053391A JPH05143322A (ja) 1991-11-15 1991-11-15 マイクロコンピユータ

Publications (1)

Publication Number Publication Date
JPH05143322A true JPH05143322A (ja) 1993-06-11

Family

ID=17885969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30053391A Pending JPH05143322A (ja) 1991-11-15 1991-11-15 マイクロコンピユータ

Country Status (1)

Country Link
JP (1) JPH05143322A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104675A (ja) * 1997-11-03 2009-05-14 Freescale Semiconductor Inc デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置
JP2013546036A (ja) * 2010-09-24 2013-12-26 インテル コーポレイション 命令のクラス及び内容に基づくプロセッサの電力管理

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104675A (ja) * 1997-11-03 2009-05-14 Freescale Semiconductor Inc デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置
JP2013546036A (ja) * 2010-09-24 2013-12-26 インテル コーポレイション 命令のクラス及び内容に基づくプロセッサの電力管理

Similar Documents

Publication Publication Date Title
US3623017A (en) Dual clocking arrangement for a digital computer
US4631663A (en) Macroinstruction execution in a microprogram-controlled processor
US5361371A (en) Microprocessor with reset execution from an arbitrary address
US4251862A (en) Control store organization in a microprogrammed data processing system
JPS5849881B2 (ja) デ−タシヨリソウチ
EP0229734A2 (en) Microprogram control device
US5247624A (en) Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out
EP0110227B1 (en) Control memory organization
US4126896A (en) Microprogrammed large-scale integration (LSI) microprocessor
JPH05143322A (ja) マイクロコンピユータ
JPS58192154A (ja) 自動デ−タ処理機能を有するメモリ装置
JPS638493B2 (ja)
JPH1091430A (ja) 命令解読装置
JP2583506B2 (ja) データ処理装置
JP2784001B2 (ja) プログラマブルコントローラの命令処理回路
KR100488536B1 (ko) 마이크로프로세서제어회로
KR0153537B1 (ko) 메모리 번지 데이타를 선행 선택하는 신호처리 구조
JPH05298088A (ja) マイクロコンピュータ
JPH05120003A (ja) マイクロコンピユータ
SU1195364A1 (ru) Микропроцессор
JP2637070B2 (ja) マイクロ命令先頭アドレス生成方式
KR880004413Y1 (ko) 마이크로 프로그램에 의한 계산기의 콘트롤 신호장치
JPH02118811A (ja) マイクロコンピュータ
KR940000221B1 (ko) 래더명령 처리장치
JP2543589B2 (ja) デ―タ処理装置