JPH0625970B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0625970B2
JPH0625970B2 JP62124781A JP12478187A JPH0625970B2 JP H0625970 B2 JPH0625970 B2 JP H0625970B2 JP 62124781 A JP62124781 A JP 62124781A JP 12478187 A JP12478187 A JP 12478187A JP H0625970 B2 JPH0625970 B2 JP H0625970B2
Authority
JP
Japan
Prior art keywords
instruction
stack
program
address signal
unit
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 - Lifetime
Application number
JP62124781A
Other languages
English (en)
Other versions
JPS63288331A (ja
Inventor
恭輔 杉下
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
Nippon 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP62124781A priority Critical patent/JPH0625970B2/ja
Publication of JPS63288331A publication Critical patent/JPS63288331A/ja
Publication of JPH0625970B2 publication Critical patent/JPH0625970B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に関し、特に内蔵されたプログラ
ムを組合わせて所望の処理を実現することができる情報
処理装置に関する。
〔従来の技術〕
最近、情報処理装置においては、その機能の複雑化に伴
い、所望の処理に対応するプログラムを効率的に作成す
ることが困難によってきている。その結果、予め内蔵さ
れた汎用的な処理単位に対応するプログラムを適宜組合
わせることによって所望の処理に対応するプログラムを
作成するという方法が広く採られるようになってきた。
このとき、処理単位に対応するプログラムが最適化され
たものであるならば、所望の処理に対応して処理単位を
適宜組合わせることにより得られるプログラムもほぼ最
適化されたものになり、同時にプログラム作成に要する
時間の短縮化を図ることができる。このような情報処理
装置には、処理単位の実行順序を保持する手段および処
理単位の実行順序を制御する手段を設ける必要がある。
第2図は上述した情報処理装置の従来例のブロック図で
ある。
命令メモリ2には、所望の処理を実行するために組合わ
せて使用される処理単位のそれぞれに対応するプログラ
ム(以下、単位プログラムと記す)がロードされてい
て、プログラムカウンタ1のアドレス指示により命令が
フェッチされると、命令デコーダ3はフェッチされた命
令をデコードする。スタック15は、単位プログラムが実
行されている途中で命令デコーダ3がCALL命令を出
力したとき、プログラムカウンタ1の値を退避させるた
めのスタックで、CALL命令によって、スタックポイ
ンタ14の値は1だけ加算されるとともに、CALL命令
の次の命令のアドレス(CALL命令の実行が終了した
後のメインプログラムの戻り番地)がスタック15に格納
される。サブルーチンプログラムが終了するとRET命
令でスタック15の値がプログラムカウンタ1に格納さ
れ、スタックポインタ14の値はデクリメントする。スタ
ックポインタ16は処理単位の実行順序を制御し、スタッ
ク17は該実行順序を保持する。すなわち、処理単位の実
行順序を初期設定するときには、PUSH命令によって
スタックポインタ16の値をインクリメントさせる毎に、
単位プログラムの先頭アドレスを前記実行順序と逆の順
序にスタック17にブッシュし、処理が実行されていると
きには、単位プログラムの実行が終了する毎にスタック
17がポップされ、読出されたデータがプログラムカウン
タ1に格納される。
この情報処理装置は次のように動作する。まずスタック
ポインタ16およびスタック17の内容をもとに、次に実行
されるべき単位処理プログラムの先頭アドレスがプログ
ラムカウンタ1に格納され、単位プログラムの処理が開
始する。同時にスタックポインタ16の値が更新される。
一方、処理単位実行中のサブルーチンコールに関して
は、スタックポインタ14およびスタック15によりプログ
ラムカウンタ1の値の退避が行なわれる。
〔発明が解決しようとする問題点〕
上述した従来の情報処理装置は、予め与えられた処理単
位を適宜選択して実行させるのに必要な実行順序を保持
する手段、および実行順序を制御する手段が常にハード
ウェアの一部を占有するので、情報処理装置全体のハー
ドウェア量の増加を招くという欠点がある。
〔問題点を解決するための手段〕
本発明による情報処理装置は、処理単位に対応する単位
プログラムの複数個を一定の順序に組合わせて実行する
ことにより、所望の処理を実行する情報処理装置であっ
て、前記複数個の単位プログラムが書込まれている命令
メモリと、命令メモリにアドレス信号を出力するプログ
ラムカウンタと、命令メモリからフェッチされた命令を
デコードする命令デコーダと、複数ビットでなるアドレ
ス信号を生成し、所定の命令に対する前記命令デコーダ
からのドコード信号に応答して、前記アドレス信号の最
上位ビットの情報と残りのビットの情報とを独立して変
更して出力するスタックポインタと、このスタックポイ
ンタからのアドレス信号の前記最上位ビットの情報によ
りいずれか一方が選択されかつ前記アドレス信号の残り
のビットの情報によってそれぞれアクセスされる第1お
よび第2のスタックであって、そのデータ入出力端子が
いずれもプログラムカウンタのデータ入出力端子に接続
されている第1および第2のスタックとを備え、前記処
理単位の実行順序の初期設定は、前記スタックポインタ
からのアドレス信号の最上位ビットを第1の値に固定し
たまま、処理単位が実行されるべき順序と逆の順序に、
各単位プログラムの先頭アドレスが前記第1のスタック
にプッシュされることによって行なわれ、初期設定され
た順序で処理単位を実行するときには、命令によって前
記スタックポインタからのアドレス信号の最上位ビット
を前記第1の値に設定し、各処理単位の処理が終了する
毎にスタックをポップし、読出されたデータを前記プロ
グラムカウンタに格納し、また、単位プログラムを実行
中に前記プログラムカウンタの内容を退避させるときに
は、命令によってスタックポインタからのアドレス信号
の最上位ビットを第2の値に設定し、前記プログラムカ
ウンタの戻り番地を前記第2のスタックにプッシュし、
再びもとの処理単位のプログラムの戻るときには、命令
によって前記第2のスタックをポップして読出されたデ
ータを前記プログラムカウンタに格納した後、前記スタ
ックポインタの最上位ビットを前記第1の値にもどす機
能を有している。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明の情報処理装置の第1の実施例のブロッ
ク図である。
本実施例は、第2図の従来の装置においてスタックポイ
ンタ14,16の代りに1+mビットスタックポインタ4が
用いられたものである。
スタックポインタ4の最上位1ビット(以下MSBと記
す)はスタックアドレスを指示し、“0”および“1”
はそれぞれスタック5および5に対応する。下位m
ビットはスタック5または5内に格納されているデ
ータの最大アドレスに対応する。スタックポインタ4の
MSBおよび下位mビットの値は、デコーダ3が出力す
る命令によって、それぞれ独立にインクリメントまたは
デクリメントされる。命令メモリ2には、予め複数の処
理単位に対応するプログラムが内蔵されている。それぞ
れの単位プログラムは、先頭にSET命令が配置され、
末尾にRET命令が配置されている。また、末尾のRE
T命令の直前にはRESET命令が配置されている。命
令メモリ2にロードされ、命令デコーダ3によってデコ
ードされた命令はスタックポインタ4および情報処理装
置内の他の図示されていない命令実行回路を制御してこ
の情報処理装置を表1のように機能させる。表1中、C
ALL命令あるいはPUSH命令によるスタックポイン
タ4のインクリメントおよびRET命令によるデクリメ
ントは、下位mビットの範囲内で実行される。
次に、本実施例の動作について説明する。
本実施例の情報処理装置は次のステップで動作する。
[1]まず、RESET命令によりスタックポインタ4の
MSBを0に設定する。
[2]PUSH命令により、所望の処理を構成する複数の
処理単位に対応するプログラムの先頭アドレスを最後に
実行される単位プログラムから順にスタック5にプッ
シュして処理単位の実行順序を初期設定する。
[3]RET命令によりプログラムカウンタ1に最初に実
行される単位プログラムの先頭アドレスを格納する。
[4]最初の単位プログラムの先頭におかれたSET命令
によりスタックポインタ4のMSBを1に設定し、以
後、最初の単位プログラムが実行される。
[5]現在、実行中の単位処理プログラム中にCALL命
令が含まれていない場合には、スタックポインタ4およ
びスタック5,5はそのままの状態で処理が進行
し、CALLx命令があったときにはスタックポインタ
4の下位mビットがインクリメントされ、プログラムカ
ウンタ1の値に1を加算した値(CALL命令が終了し
たときのメインプログラムの戻り番地)がスタック5
(ステップ4でスタックポインタ4のMSBが1になっ
ている)にプッシュされ、さらにプログラムカウンタ1
にxが格納されることにより、先頭アドレスがxのサブ
ルーチンプログラムが実行される。サブルーチン処理が
終了するとRET命令が出力され、スタック5のデー
タ(戻り番地)がポップされてプログラムカウンタ1に
格納されるとともにスタックポインタ4の下位mビット
がデクリメントする。
[6]最初の処理単位に対応するプログラムの末尾の直前
におかれたRESET命令により、スタックポインタ4
のMSBが0に設定され、スタック5が選択される。
続いてRET命令により、スタック5をポップしてプ
ログラムカウンタ1に2番目に実行される処理単位に対
応するプログラムの先頭アドレスがプログラムカウンタ
1に格納される。
[7]以後、[4][5][6]の動作を2番目以降の処理単位に対
して順次実行していく。
次に、本発明の情報処理装置の第2の実施例について説
明する。
本実施例は、第1の実施例と同一の装置を用いて表2に
示されている命令を含むプログラムを実行するものであ
る。すなわち、第1の実施例のステップ1と2のRES
ET・PUSH命令をPUSH*命令に、ステップ6の
RESET・RET命令をRET*命令に置換えてい
る。表2においてCALL命令、CALL*命令、PU
SH命令ならびにPUSH*命令による、スタックポイ
ンタ4インクリメントおよびRET命令ならびにRET
*命令によるデクリメントは、第1の実施例と同様にス
タックポインタ4の下位mビットの加減算である。
[1]PUSH*命令により所望の処理を構成する複数の
単位プログラムの先頭アドレスを最後に実行される処理
単位に対応するものから順にスタック5にプッシュす
る。
[2]RET*命令によりプログラムカウンタ1に最初に
実行される単位プログラムの先頭アドレスを格納する。
[3]最初の単位プログラムの内部におけるCALL命
令、RET命令に対してはスタック5がアクセスされ
る。
[4]最初の単位プログラムの末尾におかれたRET*命
令により、プログラムカウンタ1に2番目に実行される
単位プログラムの先頭アドレスを格納する。
[5]以後、[3],[4]の動作を2番目以降の処理単位に対し
て順次実行していく。
このように、第1の実施例では単位プログラムの先頭で
SET命令を、最後でRESET命令を実行する必要が
あるが、第2の実施例では、SET命令およびRESE
T命令の実行が不要になり、その分だけ処理時間が短縮
される。
なお、第1および第2の実施例はいずれもMSBの値に
より2つの機能をスタックポインタに持たせるものであ
ったが、2ビット以上の上位ビットの値によってスタッ
クポインタの機能を切換えることにより、さらに多種類
の処理方式を実現することが可能であることは明らかで
ある。
〔発明の効果〕
以上説明したように本発明は、スタックポインタを上、
下位ビットに分けて、上位ビットを複数のスタックのス
タックアドレスに、下位ビットを各スタックのスタック
ポインタに対応させ、上位ビットと下位ビットを命令に
よって独立にインクリメントまたはデクリメントさせる
ことにより、1個のスタックポインタを用いて、命令に
対応してプログラムカウンタの内容を任意のスタックに
退避させ、または任意のスタックから格納することがで
きるので、少ないハードウェア量で処理単位の実行順序
を制御することができる効果がある。
【図面の簡単な説明】
第1図は本発明の情報処理装置の一実施例のブロック
図、第2図は情報処理装置の従来例のブロック図であ
る。 1……プログラムカウンタ、 2……命令メモリ、3……命令デコーダ、 4……スタックポインタ、 5,5……スタック。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】処理単位に対応する単位プログラムの複数
    個を一定の順序に組合わせて実行することにより、所望
    の処理を実行する情報処理装置であって、 前記複数個の単位プログラムが書込まれている命令メモ
    リと、 命令メモリにアドレス信号を出力するプログラムカウン
    タと、 命令メモリからフェッチされた命令をデコードする命令
    デコーダと、 複数ビットでなるアドレス信号を生成し、所定の命令に
    対する前記命令デコーダからのデコード信号に応答し
    て、前記アドレス信号の最上位ビットの情報と残りのビ
    ットの情報とを独立して変更して出力するスタックポイ
    ンタと、 このスタックポインタからのアドレス信号の前記最上位
    ビットの情報によりいずれか一方が選択されかつ前記ア
    ドレス信号の残りのビットの情報によってそれぞれアク
    セスされる第1および第2のスタックであって、そのデ
    ータ入出力端子がいずれもプログラムカウンタのデータ
    入出力端子に接続されている第1および第2のスタック
    とを備え、 前記処理単位の実行順序の初期設定は、前記スタックポ
    インタからのアドレス信号の最上位ビットを第1の値に
    固定したまま、処理単位が実行されるべき順序と逆の順
    序に、各単位プログラムの先頭アドレスが前記第1のス
    タックにプッシュされることによって行なわれ、初期設
    定された順序で処理単位を実行するときには、命令によ
    って前記スタックポインタからのアドレス信号の最上位
    ビットを前記第1の値に設定し、各処理単位の処理が終
    了する毎にスタックをポップし、読出されたデータを前
    記プログラムカウンタに格納し、また、単位プログラム
    を実行中に前記プログラムカウンタの内容を退避させる
    ときには、命令によってスタックポインタからのアドレ
    ス信号の最上位ビットを第2の値に設定し、前記プログ
    ラムカウンタの戻り番地を前記第2のスタックにプッシ
    ュし、再びもとの処理単位のプログラムに戻るときに
    は、命令によって前記第2のスタックをポップして読出
    されたデータを前記プログラムカウンタに格納した後、
    前記スタックポインタの最上位ビットを前記第1の値に
    もどす機能を有する情報処理装置。
JP62124781A 1987-05-20 1987-05-20 情報処理装置 Expired - Lifetime JPH0625970B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62124781A JPH0625970B2 (ja) 1987-05-20 1987-05-20 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62124781A JPH0625970B2 (ja) 1987-05-20 1987-05-20 情報処理装置

Publications (2)

Publication Number Publication Date
JPS63288331A JPS63288331A (ja) 1988-11-25
JPH0625970B2 true JPH0625970B2 (ja) 1994-04-06

Family

ID=14893957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62124781A Expired - Lifetime JPH0625970B2 (ja) 1987-05-20 1987-05-20 情報処理装置

Country Status (1)

Country Link
JP (1) JPH0625970B2 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
インターフェス1980年5月号P.146〜176(CQ出版社)
インターフェス1981年8月号P.118〜200(CQ出版社)

Also Published As

Publication number Publication date
JPS63288331A (ja) 1988-11-25

Similar Documents

Publication Publication Date Title
US6205539B1 (en) Method for manipulating a stack pointer with post increment/decrement operation
US5142630A (en) System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching
JPH0625970B2 (ja) 情報処理装置
US6345353B2 (en) Stack pointer with post increment/decrement allowing selection from parallel read/write address outputs
JPS5919454A (ja) メトリツク正規化回路
JP2999101B2 (ja) インターリーブ装置
JPS63200234A (ja) デ−タ処理装置
KR100396189B1 (ko) 디지털신호 처리장치 및 그 제어방법
JPS6226486B2 (ja)
JPS622332B2 (ja)
JPS6339928B2 (ja)
JP2763655B2 (ja) 半導体集積回路
JP2985244B2 (ja) 情報処理装置
JPH03288228A (ja) 情報処理装置
JPS6124728B2 (ja)
JPS6260034A (ja) ストア−ドプログラム方式制御装置
JPH04358227A (ja) マイクロプロセッサ
JPS61220034A (ja) マイクロプロセツサ
JPS6232500B2 (ja)
JPH0363725A (ja) 情報処理装置
JPS58159149A (ja) 命令コ−ド変換方式
JPH01243120A (ja) ファームウェア制御装置
JPS59114622A (ja) イニシヤルマイクロプログラムロ−デイング方式
JPS58169247A (ja) 高速命令読出し方式
JPS5852261B2 (ja) プログラム処理方式