JPH043226A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH043226A
JPH043226A JP10484590A JP10484590A JPH043226A JP H043226 A JPH043226 A JP H043226A JP 10484590 A JP10484590 A JP 10484590A JP 10484590 A JP10484590 A JP 10484590A JP H043226 A JPH043226 A JP H043226A
Authority
JP
Japan
Prior art keywords
subroutine
program
memory
address
read
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
JP10484590A
Other languages
English (en)
Inventor
Michiyuki Nakama
中間 倫之
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP10484590A priority Critical patent/JPH043226A/ja
Publication of JPH043226A publication Critical patent/JPH043226A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、同一アドレスの複数のパンクメモリに格納さ
れたサブルーチンプログラムを実行可能な演算処理装置
に関する。
〔従来の技術〕
プログラム命令を実行する演算処理装置、たとエハマイ
クロコンビーータではメモリに記憶されたプログラム命
令を11m1t次に読出し、そのプログラム命令で規定
されている処理を実行する。この処理には、四則演算処
理の他、メモリへの情報の書き込/読出し処理1表示装
置や入出力インタフェースへの情報送信処理が広く知ら
れている。これら各装置と演算処理装置はシステムバス
により共通接続されている。各装置には使用可能なアド
レス範囲を予め割当て、演算処理装置がアドレス信号を
発生することにより情報の迷信/受信対象の装置を指定
している。システム全体で使用可能なアドレスはシステ
ムバス内のアドレスバスの信号線の個数(ビット!りに
より定まる、たとえば8ビツトデータを取扱うマイクロ
コンピュータではアドレスバスが12ビツトであるため
、システムで使用可能なアドレス範囲は2〜2 の範囲
となる。
このように演算処理装置で取扱い可能なアドレス範囲に
制限があるために、バンク方式と呼ばれるメモリの読み
/′書き処理を行うことにより、上記アドレス範囲以上
の情報処理が可能となってきた。
バンク方式を用いた代表的な演算処理回路の構成を第4
図に示す。第4図において、中央演算処理装置(CPU
)21.  システムメモリ22.ワーキングメモリオ
、iピ憶制御回路鴎、バンクメモ1J24A〜24Cが
バス接続されている。CPU21はシステムメモリ乙に
格納されているプログラム命令をl1liに読出し、プ
ログラム命令を実行する。プログラム命令か四則演算命
令の場合はそのyi算結果をワーキングメモリおζこ記
憶し、外部出力命令に応じて、ワーキングメモリ乙から
演算結果を読出し外部出力する。第1メモ1J24A〜
第3メモ1J24cには同一のメモリアドレスを割当て
おり、各メモリの選択(こはバンク番号と呼はれるメモ
リの識別斎号を使用する。記憶制御回路囚はCP U 
21からバンク番号を受信すると、対応のメモリに対し
てチップセレクト(c/s)信号を発生し、そのメモリ
のみを動作可能状態(データバス上の信号をメモリセル
内に書き込む処理またはメモリセルの情報をデータバス
に出力する処理を実行可能な状態)に設定する。このよ
うに、バンク番号をアドレス番号と共に用いることで3
個分のメモリアドレスを1個分のメモリアドレスで節約
する。
〔発明が解決しようとする課題〕
しかしながら、バンク方式を用いた演算処理回路では、
バンク用メモリをワーキングメモリとして用いる場合に
は問題がないのであるが、システムメモリの一部として
使用したい場合、バンクメモリ相互にアクセスする必要
があるプログラム。
たとえば、サブルーチンプログラムを格納できないとい
う不具合があった。
この点について詳しく説明する。
通常CPUはサブルーチン分割命令を検出した場合、サ
ブルーチン実行命令で指定されるステ、ブ(メモリの読
出しアドレス)へ移行する前に。
CPU内部のレジスタ(スタックレジスタと呼はれる)
に、サブルーチンプログラム終了後の復帰先の読出しア
ドレスを記憶する。、シかしながら、バンクメモリのよ
うに複数のメモリが同一アドレスを有する場合、スタッ
クレジスタのアドレス情報だけでは復帰先のメモリをC
P U自体は判別できない。そこで1本発明の目的はこ
のような不具合を解消し、既存のCPUを用いてもバン
クメモリにCPUの実行プログラムを格納し、演算処理
を間順なく実行できる演算処理装置を提供することにあ
る。
〔課題を解決するための手段〕 このような目的を達成するために5本発明は。
同一アドレスを割当てた複数のバンクメモリを有し、当
該バンクメモリにはサブルーチンプログラムを記憶し、
その他のメモリにはメインプログラムを記憶したプログ
ラム記憶手段と。
前記メインプログラムの実行開始に際し、当該メインプ
ログラムのメモリの先頭アドレスから実行対象のプログ
ラム命令を読出し、前記サブルーチンプログラムの実行
開始又は終了に際しては外部装置により指定されたメモ
リの指示アドレスから実行対象の仄のプログラム命令を
読出す読出し手段と。
該読出し手段の読出しのプログラム命令の中でサブルー
チンプログラムの実行命令を検出するサブルーチン実行
命令検出手段と、 前記読出し手段の読出しのプログラム命令の中でサブル
ーチンプログラムの終了命令を検出するサブルーチン終
了命令検出手段と、復帰先情報記憶手段と、前記サブル
ーチン実行命令検出手段によりサブルーチン実行命令が
検出されたときには、現在、読出し手段が読出しを行っ
ているメモリおよびその復帰アドレスを示す復帰先情報
を前記復帰先情報記憶手段に書き込み、当該検出のサブ
ルーチン実行命令により現定されたメモリおよびその読
出し開始アドレスを前記読出し手段に対して指示する第
1制御手段と、前記サブルーチン終了命令検出手段によ
りサブルーチン終了館令か検出されたときには、前記怪
帰先悄釉記憶手段の復帰先情報の示すメモリおよびその
6mアドレスを前記読出し手段に対して指示する第2制
御手段とを具えたことを特徴とする。
〔作用〕
本発明は、サブルーチンプログラムの実行時には、サブ
ルーチンプログラム終了後の復帰メモリを示す情報を従
来の復帰アドレスIこ刀0えて記憶しておくようにした
ので、バンクメモリのように共有アドレスを用いるメモ
リに対してもサブルーチンプログラムを格納することが
可能であり、ホス上のサブルーチンプログラム(すブル
ーチンプロダラム するプログラムンをバンクメ七りζこ格納してもサブル
ーチンプログラム終了後の復帰メモリか判る。
また、復帰メモリを示す情報を記憶するための手段は既
存の(?PUを用いてソフトウェアの改造のみで達成で
きる。
〔実施例〕
以下、図面を参照して本発明の実施例を詳細に説明する
。
第1図は本発明実施例の是本構成を示す。
第1図において、プログラム記憶手段100は、同一ア
ドレスを割肖でた複数のバンクメモリを有し、当該バン
クメモリにはサブルーチンプログラムを記憶し,その他
のメモリにはメインプログラムを記憶している。
読出し手段200は前記メインプログラムの実行開始に
際し.当該メインプログラムのメモリの先頭アドレスか
ら実行対象のプログラム命令を読出し、前記サブルーチ
ンプログラムの実行開始又は終了に際しては外部装置に
より指定されたメモリの指定アドレスから実行対象の次
のプログラム命令を読出す。
サブルーチン実行命令検出手段300は前記読出し手段
の読出しのプログラム命令の中からサブルーチンプログ
ラムの実行館令を検出する。
サブルーチン終了検出手段400は前記読出し手段の読
出しのプログラム命令の中でサブルーチンプログラムの
終了命@を検出する。
第1制御手段600は、前記サブルーチン実行命令手段
によりサブルーチン実行命令が検出されたときには,境
在.読出し手段が胱出しを行っているメモリおよびその
復帰アドレスを示す復帰先情報を前記復帰先情報記憶手
段に書き込み,当該検出のサブルーチン実行命令により
規定されたメモリおよびその読出し開始アドレスを前記
読出し手段;こ対して指示する。
第2制御手段700は前記サブルーチン終了命令検出手
段りこよりケブルーチン終了命令が検出されたときには
、前記復帰先情報記憶手段の復帰先情報の示すメモリお
よびその復帰アドレスを前記読出し手段に灼して指示す
る。
なお、演算処理回路の具体的な回路ダ成は第4図に示す
従来例とほぼ同様の構成とすることができるか、本実施
例ではシステムメモリηの中に後辺のディレクトリテー
ブル7を設けている点および、サブルーチンプログラム
の実行のために第3図の制御手順をCPU21が実行す
る点が従来例とは異なる。
本実施例におけるアドレス空間の構成を第2図に示す。
第2図ζこ8いて、先頭アドレスからアドレスA1はメ
インツーログラムのアドレス傾城である。アドレスA1
〜A2はバンクメモリ24A−24C(第4図参照)に
対して割当てた共通アドレス領域である。
アドレスA2〜A3はディレクトリテーブル7に割当て
たアドレス領域であり、ディレクトリチーフル7に本発
明に関わるサブルーチンプログラム終了後の復帰先アド
レスを格納する。
アドレス人3〜A5は第3図に示す制御手順の中のサブ
ルーチン呼び出しプログラムの他、メインプログラム甲
で共通円に使用される使用プログラムを指示するための
アドレス領域である。アドレスA5以後は演算データの
指定アドレスとして用いられる。
このようなアドレスlI&において、システムメモリη
では先頭アドレス〜Al、アドレスA2〜A5を便用し
、ワーキングメモするかアドレスA5−八〇を使用する
。
次に、サブルーチンの実行処理に際してCPU21内実
行の本発明に関わる処理を第4図のフローチャートを参
熱して脱明する。このために、各バンクメモリ24A−
2ACにはそれぞれ第1サブルーチンプログラム〜@3
サブルーチンプログラムが格納されているものとする。
また、メインプログラムの中で第1サブルーチンプログ
ラムおよび第2サブルーチンプログラムの実行命令が記
載されており、さらに第2サブルーチンプログラムの中
で第3サブルーチンプログラムの実行命令が記載されて
いるものとする。
なお、本実施例ではバンク番号としてシステムメモリ乙
にlog 、 g 1メモリ〜第3メモリ24A〜24
Cには111〜131を割当てる。
(1]メインプログラムの起動 不図示のキーホード入力装置からCPU21  に対し
てメインプログラムの起動命令が入力されると、CPU
2]は第3図の制御手順を開始する。
すなわち、第3図において、CPU21はワーキングメ
モIJ Z3又はCPU21内の内部レジスタに、読出
しバンクとしてバンク番号I01.読出しアドレスとし
て先頭アドレスを設定記憶する。次に、指定されたバン
ク番号のメモリの指定アドレスからプログラム命令を読
出す。具体的にはCPU21は設定されたアドレス信号
およびリード信号を発生し、指定のメモリ(システムメ
モリ22)から出力されたデータバス上のプログラム命
令を内部レジスタに取り込む(ステップS 10111
→S 101 )。この処理手順を実行するときのCP
U21は読出し手段として動作する。
次に、CPU21は読出しの命令内容を規定の各命令コ
ードと比較することにより、サブルーチン実行命令(た
とえばベーシック言語ではGO8UB命令、フォートラ
ン言語ではCALL命令)を検出する(ステップS 1
02 )。この比較判定処理を実行するときのCPU2
1がサブルーチン実行命令検田手段として動作する。
読出しの先頭プログラム命令がサブルーチン実行命令で
はないときは1次に、サブルーチンの終了命令であるか
否かの検出処理を行う。すなわち、読出しの命令コード
と終了命令コードが合致し、読出しのメモリがシステム
メモIJ 22ではないことを検出したときに、読出し
のプログラム命令はサブルーチンの終了命令であると識
別する(ステ、ブS 103→S 104 )。このと
きのCPU21はサブルーチン終了台金検出手段として
動作する。
なお、プログラム終了命令とサブルーチンの終了命令(
通常復帰(RETUI(N )命令と呼ばれる)とが別
個に設けであるプログラム言語では、サブルーチンの終
了命令を検出すればよい。
また、読出しのプログラム命令がサブルーチン実行命令
や終了命令で無いと判定されたときは他の命令コードと
読出しのプログラム命令コードを比較することにより読
出しのプログラム命令コードの指示内接を識別した後、
この読出しのプログラム命令コードの指示する処理を実
行する(ステップS 110 )。次に、読出しアドレ
スを+111シて次のプログラム命令を読出す。
本例の場合はシステムプログラム乙の第21i目のプロ
グラム命令が読出される(ステップ5111→5IOL
)。
以下、サブルーチンの実行命令が検出されるまではステ
ップ8101″′−8IO3→S 110 、S111
→S 101 )のループ処理が繰り返され、システム
メモリnにおけるメインプログラムのプログラム命令が
順次に読出され、実行される。
+21サブルーチンプログラムの実行 メインプログラム中の、たとえば第2サブルーチンプロ
グラムの実行命令が検出されると(ステップ8102)
、CPU21は現在設定されている読出しバンクの膏号
(’O’)を、サブルーチンプログラム終了後の復帰バ
ンク番号としてディレクトリテーブル7に記憶し1次に
、現在の読出しアドレスに11′を加算したアドレスを
復帰アドレスとしてディレクトリテーブル7に書き込む
(ステ、ブ5121)。また、サブルーチンの第1回目
の実行であることを示すレベルカウンタを111に設定
する。本例ではサブルーチンプログラムを実行中lこ、
さらに別のサブルーチンプログラムを実行することが可
能であり、レベルカウンタはサブルーチンプログラムの
現在の実行回数を計数する。このレベルカウンタの示す
回数だけディレクトリテーブル7iこは復帰先情報が累
積的に記憶される。
続いて% CPU21は読出しのプログラム命令の甲で
指示しているサブルーチンプログラムの名称に基き、デ
ィレクトリテーブル7内のアドレス変換表によりプログ
ラム格納バンク番号および開始アドレスを検索抽出する
(ステップS L22)。
次に抽出の結果に基き、プログラム命令の読出しバンク
を°O1から121に設定し%読出しアドレスを’AI
’(第2図参照)に設定した後、プログラム命令の読出
し処理を実行する(ステ、ブ5123→5121)。以
下、プログラム命令実行のための処理手順(ステップ5
101〜5103→5110〜S 101 )が繰り返
し実行され、サブプログラムの演算処理が行なわれる。
次に、第2サブルーチンプログラムの中の第3サブルー
チンプログラムの実行命令が(、’PU21において検
出されると(ステップ5102)、上述と同様の手順が
繰り返され、ディレクトリテーブル7の第2査目の復帰
先情報として、現在のバンク番号121.およびその復
帰アドレスが言己憶された後、@3サフ゛ル−チンプロ
グラムのための欣出しバンク番号131および読出しア
ドレス# A I ′が初期設定される(ステップ51
21〜5123)。
(31サブル一チンプログラム冥行後の復帰処理CPU
21が第3サブルーチンプログラムのプログラム命令を
実行し、最後部に記載された終了命令を検出すると(ス
テップS 103 )、現在の読出しバンクがサブルー
チンプログラム用0)バンク番号に役足されていること
を確認した後、ブイレフl−IJテーブルの復帰情報の
千の最後部の復帰情報Cζ基き、読出しバンク、読出し
アドレスを更新設定する(ステップ8104〜S 10
6 )。
続いてレベルカウンタを11″減算した後、最後部の復
帰情報を消去して、次回のプログラム命令の読出し処理
を行う(ステップ5107→5IOI)。
この結果%第2サブルーチンプログラムの実行が栴開さ
れ、第2サブルーチンプログラムの終了命令により、C
PtJ21の実行プログラムはシステムメモリ乙のメイ
ンプログラムへと戻る。
以下、メインプログラム中の終了命令によりメインプロ
グラムの実行が停止される2(ステップ5104)。
以上、説明したようlこ、本実施例ではサブルーチンプ
ログラムの実行lこ先Xlりて、0!帰先のアドレス情
報だけでなく、読出し対象のメモリの識別蒼号をも記憶
しておくので、バンク方式のメモリにサブルーチンプロ
グラムを格納しておくことが可能となる。
本実施例の他lこ次の例か挙げられる。
l)本実施例ではサブルーチンプログラムを名称により
呼び田す例を示したが、プログラムのステップ番号で呼
び出す演算処理装置では、ステップ番号と読出し開始ア
ドレスの変換表をディレクトリテーブル7に設ける。
2)本実施例ではバンクメモリ’;MA−24Cjこそ
れぞれ1つすつサブルーチンプログラムを格納する例を
示したが、1以上のサブルーチンプログラムを格納して
もよいことは勿論である。
3)本実施例ではサブルーチンプログラムに対すTa1
l帰後のアドレスをワークメモリnに記憶しているが、
演算処理プロセッサが復帰アドレスを自動記憶する機部
を持っている場合は、復帰先のメモリ番号のみをワーク
メモIJ Z3に記憶させればよい。
4)fブルーチンプログラムを格納するためのバンクメ
モリを固定設置する必要はなく、増設することも可能で
あるっこの場合はディレクトリテーブルを書き換え可能
となし、増設後のサブルーチンプログラムの格納バンク
番号および格納アドレスをディレクトリテーブルlこ追
加記憶する。
〔発明の効果〕
以上、説明したように本発明によれば、サブルーチンプ
ログラムをバンクメモリに記憶する0とができるので、
たとえば同一の長さのn個のサブルーチンプログラムを
記憶する場合、従来例よりも1/hのアドレスの割当て
に減少させることができるので、余ったアドレスを演算
処理用の一般データに割当てることができる。また、ノ
ットウェアの交換のみでハードウェアの改造を要しない
という新たな効果も得られる。
【図面の簡単な説明】
第1図は本発明実施例の基本構成を示すブロック図、第
2図は本発明実施例のアドレス仝間を示す説明図%第3
図は本発明実施例のCPUの実行するプログラム命令の
処理手順を示すフローチャート、第4図は従来例の回路
構成を示すフロック図である。 2]:CPU、ηニジステムメモリ、 24A−24C:バンク用メモリ%24:記憶制御回路
。 捉東仔−1つ回)駄王育へを丁、A−7“U・72図第
4 図

Claims (1)

  1. 【特許請求の範囲】 同一アドレスを割当てた複数のバンクメモリを有し、当
    該バンクメモリにはサブルーチンプログラムを記憶し、
    その他のメモリにはメインプログラムを記憶したプログ
    ラム記憶手段と、 前記メインプログラムの実行開始に際し、当該メインプ
    ログラムのメモリの先頭アドレスから実行対象のプログ
    ラム命令を読出し、前記サブルーチンプログラムの実行
    開始又は終了に際しては外部装置により指定されたメモ
    リの指定アドレスから実行対象の次のプログラム命令を
    読出す読出し手段と、 該読出し手段の読出しのプログラム命令の中でサブルー
    チンプログラムの実行命令を検出するサブルーチン実行
    命令検出手段と、 前記読出し手段の読出しのプログラム命令の中でサブル
    ーチンプログラムの終了命令を検出するサブルーチン終
    了命令検出手段と、 復帰先情報記憶手段と、 前記サブルーチン実行命令検出手段によりサブルーチン
    実行命令が検出されたときには、現在、読出し手段が読
    出しを行っているメモリおよびその復帰アドレスを示す
    復帰先情報を前記復帰先情報記憶手段に書き込み、当該
    検出のサブルーチン実行命令により規定されたメモリお
    よびその読出し開始アドレスを前記読出し手段に対して
    指示する第1制御手段と、 前記サブルーチン終了命令検出手段によりサブルーチン
    終了命令が検出されたときには、前記復帰先情報記憶手
    段の復帰先情報の示すメモリおよびその復帰アドレスを
    前記読出し手段に対して指示する第2制御手段と を具えたことを特徴とする演算処理装置。
JP10484590A 1990-04-20 1990-04-20 演算処理装置 Pending JPH043226A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10484590A JPH043226A (ja) 1990-04-20 1990-04-20 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10484590A JPH043226A (ja) 1990-04-20 1990-04-20 演算処理装置

Publications (1)

Publication Number Publication Date
JPH043226A true JPH043226A (ja) 1992-01-08

Family

ID=14391665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10484590A Pending JPH043226A (ja) 1990-04-20 1990-04-20 演算処理装置

Country Status (1)

Country Link
JP (1) JPH043226A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086298A (ja) * 2009-10-19 2011-04-28 Arm Ltd プログラム・フロー制御

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086298A (ja) * 2009-10-19 2011-04-28 Arm Ltd プログラム・フロー制御
CN102063286A (zh) * 2009-10-19 2011-05-18 Arm有限公司 程序流控制

Similar Documents

Publication Publication Date Title
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
JPS6376034A (ja) 多重アドレス空間制御方式
US4623962A (en) Register control processing system
JP3192354B2 (ja) コンピュータシステムのリトライ処理装置
US4985826A (en) Method and device to execute two instruction sequences in an order determined in advance
JPS5914775B2 (ja) 共通メモリロツク方式
JP3130798B2 (ja) バス転送装置
JPS62120543A (ja) メモリバンクの切替方式
JPS59112479A (ja) キヤツシユメモリの高速アクセス方式
JPH0447350A (ja) 主記憶読み出し応答制御方式
JPS6126701B2 (ja)
JPS59144955A (ja) 情報処理装置
JPH0475147A (ja) 情報処理システムにおける時間監視装置
JP2825589B2 (ja) バス制御方式
JPH0578052B2 (ja)
JPH06332508A (ja) プログラマブルコントローラ
JPS596411B2 (ja) チヤネルのデ−タ転送制御方式
JPS61248152A (ja) プロシ−ジヤ切替制御方式
CA2091075A1 (en) Method and apparatus for storing dos program in high memory area
JPS6337416B2 (ja)
JPS6133213B2 (ja)
JPH05265942A (ja) Dma制御部におけるデータ入出力方法
JPH0736631A (ja) 記憶装置
JPS6130296B2 (ja)
JPH01233526A (ja) データアクセス及びプログラム呼出方式