JPS60101642A - マイクロコンピユ−タ入力制御回路 - Google Patents

マイクロコンピユ−タ入力制御回路

Info

Publication number
JPS60101642A
JPS60101642A JP58210241A JP21024183A JPS60101642A JP S60101642 A JPS60101642 A JP S60101642A JP 58210241 A JP58210241 A JP 58210241A JP 21024183 A JP21024183 A JP 21024183A JP S60101642 A JPS60101642 A JP S60101642A
Authority
JP
Japan
Prior art keywords
stack
program
signal line
instruction
branch
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
JP58210241A
Other languages
English (en)
Inventor
Mizuhiko Kajimoto
梶本 端彦
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP58210241A priority Critical patent/JPS60101642A/ja
Publication of JPS60101642A publication Critical patent/JPS60101642A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、プログラムカウンタ、プログラムスタックお
よびスタックポインタをそなえたマイクロコンピュータ
で、そのプログラムカウンタの退避動作がスタックポイ
ンタへの命令入カド同システップで実行できる入力制御
回路に関する。
従来例の構成とその問題点 マイクロコンピュータの入力制御部は、例えば、第1図
の概要構成図で示されるように、プログラムカウンタ1
、ページレジスタ2、バンクレジスタ3、プログラムス
タック4、スタックポインタ6を有し、それらに対して
、プログラムカウンタ・インクリメントクロック信号線
6、プログラムカウンタ・アドレスラッチ信号線7、ペ
ージレジスタラッチ信号線8、バンクレジスタラッチ信
号線9、プログラムスタック・ランチ信号線10、スタ
ック・ポツプ(アンプ)信号線11、スタック・ブソン
ユ(ダウン)信号線12およびアドレス・バス(群)1
3を、それぞれ、機能ごとに結合したものが知られてい
る。
ところで、このコンピュータ入力制御部の各個別の機能
回路部について、その構成および動作をみると、プログ
ラムカウンタ1は、そのコンピュータが所有するプログ
ラム領域の全てをアドレスするために、そのプログラム
領域がm語であれば、(ff0g2m)ビットが必要で
ある。しだがって、プログラム上で分岐を実現するため
には、プログラムカウンタ1に(#Og2m)ビットを
転送する必要がある。しかし、プログラム上では、全て
のプログラム領域内を広範囲に分岐することは少なく、
通常の場合、比較的近い領域への分岐で済むことが多い
。そのため、多くのコンピュータにおいては、全てのプ
ログラム領域内を自由に分岐できる命令とは別に、限定
された領域内では短かい命令ステップで分岐できる命令
系を備え、プログラム領域を効率よく使用できるように
構成される。
第1図で、ページレジスタ2ならびにバンクレジスタ3
が、それぞれ、その機能を分担するものであシ、ページ
レジスタ2は、線形なプログラム領域ごとに分割して、
それを一括的にプログラムカウンタ1に転送し得るもの
であり、また、バンクレジスタ3は、プログラムカウン
タ1へ一11Kk送できる分量のピット数を越える領域
までプログラム領域を拡張して、この拡張領域を動作さ
せるためのものである。なお、この場合、全てのアドレ
ス・バス(ff)13U、;y’ログラムカウンタ1ニ
結合される内部アドレス・バスC群) 14 ト、バン
クレジスタ3に結合される拡張アドレス・バス(群)1
5とに、それぞれ、分かれ、さらに、内部アドレス・バ
ス(群)14は、近距離分岐の際にアドレスするページ
内アドレス・バス(群)16とページレジスタ2で保持
されるページアドレス・バス(群)17とに区分されて
いる。プログラムスタック4は、全てのプログラム領域
を記憶するために、ページ内アドレス・バス(群)16
に連結される町ビットと、ページアドレス・バス(群)
17に連結されるm2ビツトおよび拡張アドレス・バス
(群)16に連結されるm3ビツトとを加えた( J 
+m2 +m3)ビットのビット長を有し、その深さが
、スタックポインタ5のビット長をnビットとすると、
最大で2nであり、したがって、最大容量((m+ +
m2+m3 )x2n)である。
また、プログラムカウンタ1は、通常、インクリメント
クロック信号線6からのクロック入力信号によって、1
つずつ増加され、これに応じて、グログシム領域の命令
を順次実行していくが、分岐が発生すると、内部アドレ
ス・バス(群)14に新しいアドレスが設定され、アド
レスラッチ信号線7の信号とページレジスタラッチ信号
線8の信号とによって、そのカウント内容が書き換えら
れる。ページ内アドレス16の範囲内のみでの分岐(以
降、ページ内分岐と呼ぶ)が発生すると、アドレス・バ
ス(群) 14のうちのページ内アドレス16に新しい
アドレスが設定され、アドレスラッチ信号線7の信号の
みが出されることになる。
さらに、バンクレジスタ3は、通常、分岐命令に先立ち
、別の命令によって、拡張アドレス・バス(群)16内
のプログラム領域が設定され、その後、分岐命令に同期
し、て、バンクレジスクラッチ信号線9からのラッチ信
号にょシ、その動作を遂行する。このバンクレジスタ3
は、プログラムカウンタ1の桁上りによって、カウント
内容が増加するものと完全に分離するものとがある。
さて、サブ・プログラムへの分岐が発生すると、現時点
の実行アドレスをプログラムスタック4に退避して、ス
タックポインタ5を深くするために、スタック・ブツシ
ュ(ダウン)信号lll!i!12に信号を出し、新し
いアドレス位置をプログラムカウンタ1に書き込む。サ
ブ・プログラムからの復帰は、プログラムスタック4か
ら、先に退避させたアドレスを取シ出し、プログラムカ
ウンタ1を復帰するために、スタックポインタ6も浅く
する命令をスタック・ポツプ(アンプ)信号線11に信
号を与え、プログラムスタック・ラッチ信号線1oに信
号を与えることによシ、プログラムカウンタ1の動作を
回復させる。
第1図のような構成を有するコンピュータにおいては、
通常の分岐を実行しようとすると、次のような手順が必
要である。まず、全てのプログラム領域に及ぶ全アドレ
ス・バス(群)13の分岐の場合、バンクレジスタ3の
設定命令、ページレジスタ2を含む内部アドレス・バス
(群)14の全体を指示する長飛越しくLONG JU
MP)命令の順に実行する。次に、内部アドレス・バス
(群)14内の分岐(以降、バンク内分岐と呼ぶ)の場
合、長飛越し命令を実行する。また、ページ内分岐の場
合、すでに説明したように、ページ内アドレス・バス(
群)16内のみを設定する短飛越しく5HORT JU
MP)命令を実行する。
これらの分岐の最も容易な実現の仕方は、絶対番地分岐
方式をとることである。しかし、絶対番地分岐方式を採
用する場合、最終的に得られるオブジェクト・コードの
中にアドレスデータを含むため、プログラム作成時にア
ドレス範囲を常に確認する必要があシ、第1図の構成で
は、バンク領域およびページ領域の境界を認識しながら
、分岐命令を使い分ける必要がある。例えば、バンク境
界付近で、後方分岐として10番地程度を戻るだけなら
、長飛越し命令に依らず、短飛越し命令だけでよいが、
プログラム領域を追加したために、分岐命令の部分が後
方に大きくずれて、バンク境界を越えてしまい、あるい
は、バンク境界にまたがるようになると、わずか10番
地程度の後方分岐のために、?くンクレジスタ設定命令
と長飛越し命令とが必要になり、アドレスの再計数だけ
でなく、それ以降の分岐命令を再度書き換える必要が出
てくるという難点がある。また、この例では、命令ステ
ップ自体も、短飛越し命令のみで済むものにくらべると
、バンクレジスタ設定命令と長飛越し命令との両方が必
要で、最低2命令ステツプ異なり、ますます、アドレス
を乱す要因が加わることになる。さらに、マイクロコン
ピュータレベルでの実際上のプログラムデパックは、最
終的に得られるオブジェクト・コードレベルで行なわれ
ることが多く、その際、アドレス・データを含むオブジ
ェクト・コードの場合、データの挿入。
削除を行なう都度、アドレスの再計数が必要になるとい
う問題点がある。
発明の目的 本発明は、上述の従来例にみられる問題点をことごとく
解決するもので、単純な論理ゲート手段の伺゛加のみに
よって、プログラムで多用されるループの制御が短い命
令で実行できるマイクロコンピュータ入力制御回路を提
供するものである。
発明の構成 本発明は、要約すると、プログラムカウンタ、プログラ
ムスタックおよびスタックポインタをそなえ、前記スタ
ックポインタへのポツプ信号を前記プログラムスタック
の読出し命令入力部に分岐供与する回路手段を有するマ
イクロコンピュータ入力制御回路であり、これによシ、
バンクやページの機能部に制約されることなく、短い命
令で多用されるループの制御が再配置可能なオブジェク
ト・コードによって実現可能である。
実施例の説明 第2図に本発明の実施例回路構成を示す。この実施例構
成は、第1図の従来構成に、スタック・ポツプ信号線1
1の入力信号を分岐し、これをプログラムスタック4の
読出し信号入力部に供給するだめの2つのORゲー)1
8.19を付加したものである。
この回路構成で後方分岐を行なうには、従来のマイクロ
コンピュータに3種類の命令を付加する。
第1はスタックに現在の実行アドレスを退避する命令、
第2はスタックトップにあるアドレスに飛越しく JU
MP )を行なう命令、そして、第3はスタックポイン
タを操作して、現在のスタックトップの値を無効にする
命令であり、このうち、第2の命令を条件分岐する。こ
とにすれば、第3の命令は禁止することも可能である。
これらの命令系は、スタックトップアップ信号線11と
スタックアンプ信号線2oとにより実行される。
仮りに付けた命令の二−モニソクと簡単な動作を次に示
す。このことから、第2の命令の分岐は複数個存在し得
ることがわかる。
LOOP (Loop point) ; SP 4−
5P+1.(SP)←PC+1LBR(Loop br
anch) ; PC<−(SP)LBNZ (Loo
p branch not zero)LBC(Loo
p branch carry)LBNC(Loop 
branch not carry)? WIPE (Stack top data wipe
 out)H5P←SP −1第3図に実際の使用フロ
ー図を示す。命令の実行手順として、ループ(LOOP
 )命令を見つけると、このループ命令の次の命令のア
ドレスを戻υ番地としてスタックに退避する。これは、
従来から存在するサブルーチンコール命令のプログラム
カウンタ1の退避手順をそのまま使用することが可能な
ため、ハードウェアの増加を伴なわずに行ない得る。次
に、ループにネスティングがなければ、ループに関係し
た分岐命令が現われる。ここで、条件によっては、ルー
プ分岐が発生する場合としない場合とがあるが、この条
件の成立の可否は従来からある条件分岐命令のそれをそ
のまま使用することが可能である。ループ分岐をする場
合は、プログラムカウンタ1にプログラムスタック4の
スタックトップの値を転送(Load)する必要がある
ため、ORゲート19を通じて、スタックリード信号線
21に信号を加え、 次にスタックデータ・ランチ信号線10に信号を与える
ことが必要である。これは従来からあるサブルーチンか
らのリターン(Rθturn )命令のシーケンスから
スタックポインタ6のカウントダウンをする動作を省略
したものである。!た、ループ分岐が発生しない場合は
、プログラムカウンタ1が通常のカウントアンプを行な
う。この動作は普通に行なわれる動作であり、問題にな
らない。
なお、同時に、スタックの整合をとるため、スタックト
ップの値を読み捨てる必要があるが、これはスタックポ
インタ5をカランI・ダウンすることで十分である。
以上の動作でわかるように、ハードウェアスタックを用
いているため、ループからの飛出しの際に注意を必要と
する。すなわち、スタックポインタ6を合わせておかな
ければならないため、単にスタックをカウントダウンす
る命令が必要になり、とりわけ、無条件ループ分岐命令
を使用する場合には、この命令系が不可欠になる。
第2図では、動作説明上、スタック・トップアップ信号
線11を付設しているが、マイクロコンピュータの命令
デコード部に手を加えることと、スタックアンプ信号線
2oとスタックリード信号線21とを新たに設けること
によって、スタック・トップアンプ信号線11を不要に
することも、設計よでは十分可能であり、その場合には
、2個のDRゲート18−.19も省くことができる。
発明の効果 本発明によれば、ハードウェアスタックを利用すること
によシ、プログラミングで多用されるループが容易に実
現できる。また、全てのループ制御命令は、マイクロコ
ンピュータの最短命令長で実現可能であり、通常の分岐
命令よりも短い場合が多い。とくに、バンクやページ境
界での分岐を行なう際に大きな効果があられれる。さら
に、最終的に得られるオブジェクトコードとしては、分
岐命令に伴なうアドレスを意味するコードを一切含まな
いために、アドレス演算器を持たないにもかかわらず、
再配置可能なフログラーになり、オブジェクトコードレ
ベルでのプログラム(機械語レベル)の際にもアドレス
計算が不用になるという利点を有する。
【図面の簡単な説明】
第1図は従来例のマイクロコンピュータ入力制制部口、
第2図は本発明実施例のマイクロコンピュータ入力制御
部l、第3図は本発明実施例で用いたフロー(命令の実
行手順)図である。 1・・・・・・プログラムカウンタ、2・−・・・ペー
ジレジスタ、3・・・・・バンクレジスタ、4・・・・
・プログラムスタック、6・・・・・スタックポインタ
、6・・・ プログラムカウンタ・インクリメントクロ
ック信号線、7・・・・・・プログラムカウンタ・アド
レスラッチ信号線、8・・・・ページレジスタランチ信
号線、バンクレジスクラッチ信号線、10・・・・・・
プログラムスタック・ラッチ信号線、11・・・・・・
スタック・ポツプ(アップ)信号線、12・−・−スタ
ック・ブツシュ(ダウン)信号線、13・・・・アドレ
ス・ノくス(群)、14・・・・・・内部アドレス・バ
ス(群)、16・−・・・拡張アドレス・バス(群)、
16・・・・ページ内アドレス・バス(群)、17・・
・・・・ページアドレス・ノくス(群)、18.19・
・・・・・ORゲート、20・・・・・−スタックアッ
プ信号線、21・・−・・スタックリード信号線。

Claims (2)

    【特許請求の範囲】
  1. (1) プログラムカウンタ、・プログラムスタックお
    よびスタックポインタをそなえ、前記スタソクポイ7り
    へのポツプ信号を前記プログラムスタックの読出し命令
    入力部に分岐供与する回路手段を有するマイクロコンピ
    ュータ入力制御回路。
  2. (2) ポツプ信号を分岐供与する回路手段が論理ゲー
    トでなる特許請求の範囲第1項に記載のマイクロコンピ
    ュータ入力制御回路。
JP58210241A 1983-11-08 1983-11-08 マイクロコンピユ−タ入力制御回路 Pending JPS60101642A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58210241A JPS60101642A (ja) 1983-11-08 1983-11-08 マイクロコンピユ−タ入力制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58210241A JPS60101642A (ja) 1983-11-08 1983-11-08 マイクロコンピユ−タ入力制御回路

Publications (1)

Publication Number Publication Date
JPS60101642A true JPS60101642A (ja) 1985-06-05

Family

ID=16586117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58210241A Pending JPS60101642A (ja) 1983-11-08 1983-11-08 マイクロコンピユ−タ入力制御回路

Country Status (1)

Country Link
JP (1) JPS60101642A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62277813A (ja) * 1986-03-06 1987-12-02 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド プログラム可能論理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62277813A (ja) * 1986-03-06 1987-12-02 アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド プログラム可能論理装置

Similar Documents

Publication Publication Date Title
EP0470570B1 (en) Method and apparatus for byte order switching in a computer
US5125011A (en) Apparatus for masking data bits
EP1348167A2 (en) Handling conditional processing in a single instruction multiple datapath processor architecture
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
JPS6212529B2 (ja)
JPS60101642A (ja) マイクロコンピユ−タ入力制御回路
EP0660229A1 (en) Method and apparatus for modifying the contents of a register
EP0461631B1 (en) Data storing device having a plurality of registers allotted for one address
JPH02128266A (ja) 保護機能付レジスタ
JPS6342293B2 (ja)
JPH0831033B2 (ja) データ処理装置
CA1106978A (en) Simple flexible indexing method for ros storage microcomputers
JPS6220032A (ja) 情報処理装置
JPH01273132A (ja) マイクロプロセッサ
JPS5875250A (ja) デジタル情報処理装置
JPH033037A (ja) マイクロプログラム制御方式
JPS62194545A (ja) デ−タフロ−型計算機のプログラム書換装置
JPH01116702A (ja) シーケンスコントローラ
JPS63249206A (ja) プログラマブルコントロ−ラ
JP3428253B2 (ja) シーケンサ
JPS6250855B2 (ja)
JPH01236327A (ja) 割込みマスク制御方法
JPH02284232A (ja) 計算機システム
JPH01145730A (ja) データ行先き制御方式
JPH01191934A (ja) 集積回路計算機システム