JPH0540621A - マイクロプロセツサ - Google Patents

マイクロプロセツサ

Info

Publication number
JPH0540621A
JPH0540621A JP21930691A JP21930691A JPH0540621A JP H0540621 A JPH0540621 A JP H0540621A JP 21930691 A JP21930691 A JP 21930691A JP 21930691 A JP21930691 A JP 21930691A JP H0540621 A JPH0540621 A JP H0540621A
Authority
JP
Japan
Prior art keywords
instruction
value
freeze
microprocessor
counter
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
JP21930691A
Other languages
English (en)
Inventor
Shinichi Okugawa
伸一 奥川
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP21930691A priority Critical patent/JPH0540621A/ja
Publication of JPH0540621A publication Critical patent/JPH0540621A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 マイクロプロセッサにおいて、種類や動作周
波数および命令CACHEの有無等に依存せず、容易に
かつ正確にリカバリタイムを確保する。 【構成】 フリーズ命令が実行されると、即値レジスタ
1に格納されているフリーズ命令中の即値がカウンタ値
レジスタ3に転送される。そして、フリーズ命令の実行
サイクルにおいて即値を初期値とした減算カウンタ6の
カウントダウンが開始すると共に、0判定ブロック7は
減算カウンタ6の値が0でなくなったことを判定し、制
御ブロック8,9に対しフリーズ信号を出力する。制御
ブロック8,9は、動作をフリーズさせ、内部動作をホ
ールドの状態にすると共に、新規バスアクセスの開始を
禁止するための信号を出力する。 【効果】 容易にかつ正確にリカバリタイムを確保する
ことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサに
関し、特に、容易かつ正確にリカバリタイムを確保する
ことができるようにしたマイクロプロセッサに関する。
【0002】
【従来の技術】マイクロプロセッサを使用したシステム
では、連続してI/Oアクセスを行なう場合、アクセス
とアクセスの間にリカバリタイムと呼ばれる一定の時間
を確保する必要があるが、従来はNOP命令やJUMP
命令等を必要数挿入するという手段で対応しており、ま
たその他にも性能調整等様々な理由のために、一定の時
間稼ぎを行なわせる必要がある場合、同様の手段で対応
している。
【0003】
【発明が解決しようとする課題】上述した従来のマイク
ロプロセッサを使用したシステムにあっては、一定時間
のリカバリタイムの確保のためNOP命令やJUMP命
令等を必要数実行させているが、これらの命令はマイク
ロプロセッサの種類や動作周波数、命令CACHEの有
無等により実行時間が異なり、どの程度実行させればよ
いか正確に把握するのがかなり困難であると共に、シス
テムが変るとプログラムも変更しなければならないとい
う問題があった。
【0004】本発明は、上記問題点にかんがみてなされ
たもので、種類や動作周波数および命令CACHEの有
無等に依存せず、容易にかつ正確にリカバリタイムを確
保することができるマイクロプロセッサの提供を目的と
する。
【0005】
【課題を解決するための手段】上記目的を達成するため
に本発明のマイクロプロセッサは、外部から与えられる
命令を解釈・実行することにより動作するマイクロプロ
セッサにおいて、指定した時間だけ動作の凍結を指示す
るフリーズ命令と、該フリーズ命令に含まれる即値を格
納する即値レジスタと、外部から与えられる基本クロッ
クにより動作するタイマと、該タイマに与える値を格納
するタイマ値レジスタと、前記タイマから一定時間ごと
に与えられる信号をクロックとして前記フリーズ命令が
出されたときに動作する減算カウンタと、前記即値レジ
スタに読み込まれた値を該減算カウンタに与えるカウン
ト値として格納するカウンタ値レジスタと、前記減算カ
ウンタの値が0かどうかを判定する0判定ブロックと、
該0判定ブロックが0でないと判断している間は内部動
作をホールドすると共にバスアクセスを禁止する制御ブ
ロックを有する。
【0006】
【作用】フリーズ命令が実行されると、即値レジスタに
格納されているフリーズ命令中の即値がカウンタ値レジ
スタに転送される。そして、フリーズ命令の実行サイク
ルにおいて即値を初期値とした減算カウンタのカウント
ダウンが開始すると共に、0判定ブロックは減算カウン
タの値が0でなくなったことを判定し、制御ブロックに
対しフリーズ信号を出力する。その信号を受け取った制
御ブロックでは、動作をフリーズさせ、内部動作をホー
ルドの状態にすると共に、新規バスアクセスの開始を禁
止するための信号を出力する。
【0007】
【実施例】以下、本発明の一実施例について図面を参照
して説明する。図1は本発明の一実施例によるマイクロ
プロセッサのブロック図である。図中、1は命令中に含
まれる即値を格納する即値レジスタ、2はタイマにセッ
トする値を格納するタイマレジスタ、3は即値レジスタ
1に格納されたカウント値を格納するカウント値レジス
タ、4は基本クロックにより減算を行なう減算カウン
タ、5は減算カウンタ4の値が0かどうかを判定すると
共に、0と判定された場合は減算カウンタ4に初期化
(タイマ値レジスタ2の内容をカウンタにセット)の指
示を出す0判定ブロック、6はフリーズ命令が出された
時0判定ブロック5から一定時間ごとに出される0判定
信号をクロックとして減算を行なう減算カウンタ、7は
減算カウンタ6の値が0かどうかを判定する0判定ブロ
ック、8は本マイクロプロセッサのパイプライン実行制
御を行うブロックであって、0判定ブロック7から0で
ある旨の信号を受け取っている間は通常の制御を行な
い、0でないとの信号を受け取ると0になるまでパイプ
ラインをフリーズし、マイクロプロセッサの内部動作を
一時的にホールド状態にする機能を有するパイプライン
制御ブロック、9は本マイクロプロセッサのバスアクセ
ス制御を行なうブロックであって、パイプライン制御ブ
ロック8からのバスアクセスフリーズ信号により新たな
バスアクセスの開始を禁止する働きを有するバスアクセ
ス制御ブロックである。
【0008】図2は本実施例における命令の流れを示す
フローチャートであり、命令1はA0F0番地に対する
IN命令、命令2は本発明の特徴であるフリーズ命令で
あり3msecのフリーズを指定している。また、命令
3はA0F2番地に対してDDというデータを出力する
OUT命令である。図3は本実施例におけるパイプライ
ン動作およびバスアクセス信号、パイプラインフリーズ
信号を示したタイミングチャートである。パイプライン
動作は、f(命令フェッチ)、d(命令デコーダ)、A
(アドレス計算)、B(バスアクセス)、E(命令実
行)の5段パイプラインの状態を示している。
【0009】次に、本実施例の作用について説明する。
なお、図3に示すように本マイクロプロセッサの動作周
波数は2MHzとし、周期500nsecの基本クロッ
クを与えることにする。初めに、本マイクロプロセッサ
を使用したシステムの立ち上がり時、内部タイマを1m
secのタイマとして設定するためにタイマ値レジスタ
2、減算カウンタ4、0判定ブロック5の初期化を行な
う。すなわち、500nsecの基本クロックを使用し
て1msecのタイマを構成するために、タイマ値とし
て”2”(500nsec×2=1msec)をセット
すればよいため、即値転送命令により即値レジスタ1を
経由しタイマ値レジスタ2に”2”の値をセットする。
これにより、0判定ブロック5からは基本クロックの2
周期すなわち1msecごとに信号が出力され、減算カ
ウンタ6は1msecごとにカウントダウンする動作が
可能となる。また、カウンタ値レジスタ3、0判定ブロ
ック5は、”0”になるように初期化しておき、フリー
ズ命令が指示されるのを待つ。
【0010】次に、システム立ち上がり後の動作につい
て説明する。ある時点で、図2に示す命令1・命令2・
命令3の実行が指示されたとする。これはI/O命令を
連続して出す時は、リカバリタイマとして3msec以
上間をあけることという仕様に基づくためとし、命令1
と命令3の間に3msecのバスアクセス禁止時間を設
定する命令2を挿入したものである。
【0011】図3に示すように、まず命令1(IN命
令)を実行するためf1−d1−a1とパイプラインの
処理を進め、B1サイクルでバスアクセスすなわちI/
Oリードを実行する。そして、得られたデータをe1サ
イクルで指定された格納場所にセットする。
【0012】続いて指示された命令2(フリーズ命令)
を実行するために、f2−d2−a2−B2(ただし、
命令2ではバスアクセスは行なわないため、B2サイク
ルはno−operation)と進めるが、即値レジ
スタ1に格納されている命令2中の即値”3”がa2サ
イクルにてカウンタ値レジスタ3に転送される。そし
て、e2サイクル、すなわちフリーズ命令の実行サイク
ルにおいて”3”を初期値とした減算カウンタ6のカウ
ントダウンが開始すると共に、0判定ブロック7は減算
カウンタ6の値が0でなくなったことを判定し、パイプ
ライン制御ブロック8に対しパイプラインフリーズ信号
を出力する。
【0013】その信号を受け取ったパイプライン制御ブ
ロック8では、パイプラインの動作をフリーズさせ、内
部動作をホールドの状態にすると共に、バスアクセス制
御ブロック9に対し新規バスアクセスの開始を禁止する
ための信号を出力する。減算カウンタ6は、1msec
ごとにデクリメントされるため、減算カウンタ6の初期
値”3”が”0”になるまでの時間は3msecであ
り、その間パイプライン動作はフリーズされる。
【0014】引き続いて指示されている命令3(OUT
命令)の実行のためf3−d3−a3と処理を進めた直
後にB3サイクルを実行しようとするが、そのとき既に
e2サイクルが始まっておりパイプラインがフリーズさ
れていると共にバスアクセスの開始が禁止されているた
め、B3サイクルすなわちI/Oライト動作(OUT)
の実行が保留される。そして、3msec後にパイプラ
インのフリーズが解除されると、初めてB3サイクルの
バスアクセスが開始される。
【0015】すなわち、命令1のIN命令と命令3のO
UT命令の間が3msec以上開いたことになり、仕様
のリカバリタイムを確保できたことになる。また、フリ
ーズ命令の実行サイクル(e2サイクル)自体が指定さ
れた時間を費やすため、バスアクセスの時間調整だけで
なく、性能調整時など一定の時間稼ぎが必要な場合で
も、高い精度で時間間隔を確保することができ、かつ命
令CACHEの有無による差もない。さらに、動作周波
数の異なるマイクロプロセッサを使用した場合、立ち上
がり時に行なうタイマ値の値を変えて0判定ブロック5
からの出力が1msecになるように調整すれば、図2
に示したようなプログラムは全く変更することなしにそ
のまま使用することができる。
【0016】
【発明の効果】以上説明したように、本発明のマイクロ
プロセッサは、パイプラインをフリーズさせる命令およ
び機能を持たせることにより、命令CACHEの有無や
動作周波数に依存せず、かつプログラムの変更を行なう
ことなく容易かつ正確にリカバリタイムを確保すること
ができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施例によるマイクロプロセッサの
構成を示すブロック図である。
【図2】本実施例における命令の流れを示すフローチャ
ートである。
【図3】本実施例におけるパイプライン動作およびバス
アクセス信号、パイプラインフリーズ信号を示したタイ
ミングチャートである。
【符号の説明】
1…即値レジスタ 2…タイマ値レジスタ 3…カウンタ値レジスタ 4…減算カウンタ 5…0判定ブロック 6…減算カウンタ 7…0判定ブロック 8…パイプライン制御ブロック 9…バスアクセス制御ブロック

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 外部から与えられる命令を解釈・実行す
    ることにより動作するマイクロプロセッサにおいて、 指定した時間だけ動作の凍結を指示するフリーズ命令
    と、該フリーズ命令に含まれる即値を格納する即値レジ
    スタと、 外部から与えられる基本クロックにより動作するタイマ
    と、該タイマに与える値を格納するタイマ値レジスタ
    と、 前記タイマから一定時間ごとに与えられる信号をクロッ
    クとして前記フリーズ命令が出されたときに動作する減
    算カウンタと、 前記即値レジスタに読み込まれた値を該減算カウンタに
    与えるカウント値として格納するカウンタ値レジスタ
    と、 前記減算カウンタの値が0かどうかを判定する0判定ブ
    ロックと、 該0判定ブロックが0でないと判断している間は内部動
    作をホールドすると共にバスアクセスを禁止する制御ブ
    ロックを有することを特徴とするマイクロプロセッサ。
JP21930691A 1991-08-06 1991-08-06 マイクロプロセツサ Pending JPH0540621A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21930691A JPH0540621A (ja) 1991-08-06 1991-08-06 マイクロプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21930691A JPH0540621A (ja) 1991-08-06 1991-08-06 マイクロプロセツサ

Publications (1)

Publication Number Publication Date
JPH0540621A true JPH0540621A (ja) 1993-02-19

Family

ID=16733428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21930691A Pending JPH0540621A (ja) 1991-08-06 1991-08-06 マイクロプロセツサ

Country Status (1)

Country Link
JP (1) JPH0540621A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373536B2 (en) 2004-08-04 2008-05-13 Kabushiki Kaisha Toshiba Fine granularity halt instruction
US7719152B2 (en) 2005-03-18 2010-05-18 Rigaku Corporation Magnetic levitation actuator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373536B2 (en) 2004-08-04 2008-05-13 Kabushiki Kaisha Toshiba Fine granularity halt instruction
US7719152B2 (en) 2005-03-18 2010-05-18 Rigaku Corporation Magnetic levitation actuator

Similar Documents

Publication Publication Date Title
US7047399B2 (en) Computer system and method for fetching, decoding and executing instructions
US7991986B2 (en) Microprocessor starting to execute a computer program at a predetermined interval
KR0136019B1 (ko) 정보 처리 장치
JPH04306735A (ja) 非同期割込み禁止機構
CA1249373A (en) System for adjusting performance of information processing apparatus
US4642757A (en) Microinstruction controlled arithmetic control unit
JPH0540621A (ja) マイクロプロセツサ
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
JP3871461B2 (ja) シーケンス制御用マイクロコントローラ
KR100284287B1 (ko) 가변 리셋 어드레스를 가지는 마이크로프로세서
JPH0773034A (ja) 情報処理装置
JPS60124746A (ja) デ−タ処理装置
JPS6353643A (ja) 命令制御装置
JPS62214441A (ja) プロセツサのホルト制御方式
JPS6398735A (ja) マイクロ制御装置
JPH04286026A (ja) マイクロプロセッサ内の命令準備のための装置
JPS6049339B2 (ja) マイクロプログラム制御方式
JPH05143321A (ja) 性能調整回路
JPH0782434B2 (ja) マイクロプログラム制御装置
JPS6353644A (ja) 命令制御装置
JPH02191034A (ja) マイクロプログラム制御装置
JPH02207348A (ja) ヒストリメモリ制御方式
JPS61170831A (ja) 中央処理装置の命令実行制御装置
JPH01240941A (ja) 情報処理装置
JPH03291724A (ja) マイクロプログラム制御方式