JPH02125333A - プログラムメモリ - Google Patents
プログラムメモリInfo
- Publication number
- JPH02125333A JPH02125333A JP63279077A JP27907788A JPH02125333A JP H02125333 A JPH02125333 A JP H02125333A JP 63279077 A JP63279077 A JP 63279077A JP 27907788 A JP27907788 A JP 27907788A JP H02125333 A JPH02125333 A JP H02125333A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- address
- relative
- rom
- instruction
- 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
Links
- 239000000470 constituent Substances 0.000 claims 1
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 10
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、所定処理ルーチンのためのプログラムメモリ
に関し、例えば浮動小数点演算プログラムのようなそれ
自体各種システムに利用可能な独立機能をもったマスク
ROM (リード・オンリ・メモリ)で成るサブルーチ
ン用プログラムメモリに適用して有効な技術に関するも
のである。
に関し、例えば浮動小数点演算プログラムのようなそれ
自体各種システムに利用可能な独立機能をもったマスク
ROM (リード・オンリ・メモリ)で成るサブルーチ
ン用プログラムメモリに適用して有効な技術に関するも
のである。
プログラム内である目的のために繰返し利用されるプロ
グラムのサブセットなどをサブルーチンと呼び、例えば
基本演算や浮動小数点演算、さらには特定の入出力機器
へのデータ入出力を行うプログラムなどをサブルーチン
化することができる。
グラムのサブセットなどをサブルーチンと呼び、例えば
基本演算や浮動小数点演算、さらには特定の入出力機器
へのデータ入出力を行うプログラムなどをサブルーチン
化することができる。
プログラム中におけるメインルーチンからサブルーチン
への分岐は分岐命令を実行することにより行われる。
への分岐は分岐命令を実行することにより行われる。
ところで、演算プログラムなど特定制御機能を司るため
のプログラムをROM化したサブルーチン用ROMパッ
ケージが提供されているが、斯るROMパッケージは、
プログラム実行空間にマツピングされるべきアドレス空
間が固定化されていた。即ち、ROMパッケージは、メ
インルーチンの分岐命令に含まれる絶対番地表示の分岐
先アドレスによって特定処理ルーチンに分岐されるよう
になっており、これに従い、ROMパッケージに含まれ
る処理ルーチン内でさらに分岐する場合にも当該分岐命
令の分岐先アドレスはプログラム実行空間における絶対
番地で与えられるようになっていた。
のプログラムをROM化したサブルーチン用ROMパッ
ケージが提供されているが、斯るROMパッケージは、
プログラム実行空間にマツピングされるべきアドレス空
間が固定化されていた。即ち、ROMパッケージは、メ
インルーチンの分岐命令に含まれる絶対番地表示の分岐
先アドレスによって特定処理ルーチンに分岐されるよう
になっており、これに従い、ROMパッケージに含まれ
る処理ルーチン内でさらに分岐する場合にも当該分岐命
令の分岐先アドレスはプログラム実行空間における絶対
番地で与えられるようになっていた。
尚、サブルーチンについて記載された文献の例としては
昭和60年12月25日オーム社発行のrマイクロコン
ピュータハンドブックJ P2S5がある。
昭和60年12月25日オーム社発行のrマイクロコン
ピュータハンドブックJ P2S5がある。
しかしながら、ROMパッケージにおいて処理ルーチン
への分岐及び処理ルーチン内での分岐の双方がプログラ
ム実行空間の絶対番地で管理されていると、プログラム
実行空間において予めROMパッケージに割り当てられ
ているアドレス空間を変更する場合には、処理ルーチン
内での分岐先を指定するための絶対番地を変更しなけれ
ばならない、このため、システムの要求仕様に応じてR
OMパッケージのマツピング位置を変更したり。
への分岐及び処理ルーチン内での分岐の双方がプログラ
ム実行空間の絶対番地で管理されていると、プログラム
実行空間において予めROMパッケージに割り当てられ
ているアドレス空間を変更する場合には、処理ルーチン
内での分岐先を指定するための絶対番地を変更しなけれ
ばならない、このため、システムの要求仕様に応じてR
OMパッケージのマツピング位置を変更したり。
同−ROMパッケージを種類の異なるシステムに適用さ
せようとすると、ROMパッケージに割り当てられる絶
対番地の変更や相違に伴って、処理ルーチンの内容変更
、さらにはこれに伴うROMパッケージの記憶情報修正
、特にROMパッケージがマスクROMで成る場合には
マスクパターンを変更したりしなければならない。
せようとすると、ROMパッケージに割り当てられる絶
対番地の変更や相違に伴って、処理ルーチンの内容変更
、さらにはこれに伴うROMパッケージの記憶情報修正
、特にROMパッケージがマスクROMで成る場合には
マスクパターンを変更したりしなければならない。
本発明の目的は、サブルーチンのような所定の処理ルー
チンを内蔵したプログラムメモリを、プログラム実行空
間におけるその割り付はアドレスに対して汎用利用可能
にすることにある。
チンを内蔵したプログラムメモリを、プログラム実行空
間におけるその割り付はアドレスに対して汎用利用可能
にすることにある。
本発明の前記ならびにそのほかの目的と新規な特徴は本
明細書の記述及び添付図面から明らかになるであろう。
明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。
を簡単に説明すれば下記の通りである。
すなわち、処理ルーチン内での分岐を相対分岐とした処
理ルーチンの構成命令を格納する処理ルーチン格納領域
と、上記処理ルーチンへの分岐を相対分岐とする相対分
岐命令を格納した分岐テーブル領域とをメモリセルアレ
イに含めてプログラムメモリを構成するものである。
理ルーチンの構成命令を格納する処理ルーチン格納領域
と、上記処理ルーチンへの分岐を相対分岐とする相対分
岐命令を格納した分岐テーブル領域とをメモリセルアレ
イに含めてプログラムメモリを構成するものである。
上記相対分岐命令が、命令コードと、相対アドレスと、
相対アドレスの向きを指定する符号ビットとを含む形式
とされる場合には、上記分岐テーブル領域は、メモリセ
ルアレイにおける途中のアドレスから始まる領域に配置
するとよい。
相対アドレスの向きを指定する符号ビットとを含む形式
とされる場合には、上記分岐テーブル領域は、メモリセ
ルアレイにおける途中のアドレスから始まる領域に配置
するとよい。
上記した手段によれば、メインルーチンのような“所定
の動作プログラムがそれに含まれる絶対分岐命令により
分岐テーブル領域内の相対分岐命令に分岐すると、これ
により指定される相対分岐命令によりさらに処理ルーチ
ン格納領域内の所要処理ルーチンへ分岐される。処理ル
ーチン内での分岐も当該処理ルーチンに含まれる相対分
岐命令で行われる。このようにサブルーチンのような動
作プログラムのためのプログラムメモリを相対アドレス
を利用して管理する構造は、このプログラムメモリをプ
ログラム実行空間のどの位置に配置しても、そのプログ
ラムメモリに含まれる処理ルーチンの内容を一切変更し
ないでも済むように作用する。
の動作プログラムがそれに含まれる絶対分岐命令により
分岐テーブル領域内の相対分岐命令に分岐すると、これ
により指定される相対分岐命令によりさらに処理ルーチ
ン格納領域内の所要処理ルーチンへ分岐される。処理ル
ーチン内での分岐も当該処理ルーチンに含まれる相対分
岐命令で行われる。このようにサブルーチンのような動
作プログラムのためのプログラムメモリを相対アドレス
を利用して管理する構造は、このプログラムメモリをプ
ログラム実行空間のどの位置に配置しても、そのプログ
ラムメモリに含まれる処理ルーチンの内容を一切変更し
ないでも済むように作用する。
また、相対分岐命令に含まれる符号ビットは相対アドレ
スによる分岐先を分岐テーブル領域の前後2方向とする
から、分岐テーブル領域をメモリセルアレイの途中の領
域に配置しておくことは。
スによる分岐先を分岐テーブル領域の前後2方向とする
から、分岐テーブル領域をメモリセルアレイの途中の領
域に配置しておくことは。
相対アドレスのビット数に対して格納可能な処理ルーチ
ンの量を最大限とするように働く。
ンの量を最大限とするように働く。
第2図には本発明の一実施例であるサブルーチン用RO
MパッケージとしてのROM3を含むシステム構成例が
示される。
MパッケージとしてのROM3を含むシステム構成例が
示される。
第2図にはシステムバス1に結合されたCPU(セント
ラル・プロセッシング・ユニット)2、ROM3、及び
RAM4が代表的に示されている。
ラル・プロセッシング・ユニット)2、ROM3、及び
RAM4が代表的に示されている。
上記RAM4は、特に制限されないが1図示しないフロ
ッピディスクからロードされるメインルーチンとしての
動作プログラムが格納されると共に。
ッピディスクからロードされるメインルーチンとしての
動作プログラムが格納されると共に。
スタック領域5などCPU2のワーク領域とじて利用さ
れる。上記ROM3は、RAM4に格納される動作プロ
グラムの実行に際して繰返し利用されるような所要のサ
ブルーチンとされる処理ルーチンのための命令を格納し
た処理ルーチン格納領域10と、この処理ルーチン格納
領域10に含まれる処理ルーチンを相対アドレスで指定
するための相対分岐命令を格納した分岐テーブル領域1
1とを含んで成り、例えばマスクROMによって構成さ
れる。上記CPU2はプログラムカウンタ6の示すアド
レスに従って命令を読み込んで内部を制御する命令制御
部7やこの命令制御部7の制御に従って命令を実行する
演算実行部8などを備える。
れる。上記ROM3は、RAM4に格納される動作プロ
グラムの実行に際して繰返し利用されるような所要のサ
ブルーチンとされる処理ルーチンのための命令を格納し
た処理ルーチン格納領域10と、この処理ルーチン格納
領域10に含まれる処理ルーチンを相対アドレスで指定
するための相対分岐命令を格納した分岐テーブル領域1
1とを含んで成り、例えばマスクROMによって構成さ
れる。上記CPU2はプログラムカウンタ6の示すアド
レスに従って命令を読み込んで内部を制御する命令制御
部7やこの命令制御部7の制御に従って命令を実行する
演算実行部8などを備える。
第3図には上記ROM3の構成ブロック図の一例が示さ
れる。
れる。
ROM3は複数個のメモリセルをマトリクス配置したメ
モリセルアレイ14を有し、同一行に配置されたメモリ
セルの選択端子は行毎にワード線WL、〜WLiに結合
され、同一列に配置されたメモリセルのデータ出力端子
は列毎にビット線BL0〜BLnに結合される。ワード
線WL、〜WLiは、上記CPU2から与えられるロー
アドレス信号Arをデコードするローアドレスデコーダ
15の出力選択信号によりそのローアドレス信号Arに
対応するものが選択レベルにされる。ビット線BL、〜
BLnは、上記CPU2から与えられるカラムアドレス
信号Acをデコードするカラムアドレスデコーダ16の
出力選択信号にて制御されるカラム選択回路17のスイ
ッチ動作により、そのカラムアドレス信号Acに対応す
るものが選択されて読み出し回路18に導通にされる。
モリセルアレイ14を有し、同一行に配置されたメモリ
セルの選択端子は行毎にワード線WL、〜WLiに結合
され、同一列に配置されたメモリセルのデータ出力端子
は列毎にビット線BL0〜BLnに結合される。ワード
線WL、〜WLiは、上記CPU2から与えられるロー
アドレス信号Arをデコードするローアドレスデコーダ
15の出力選択信号によりそのローアドレス信号Arに
対応するものが選択レベルにされる。ビット線BL、〜
BLnは、上記CPU2から与えられるカラムアドレス
信号Acをデコードするカラムアドレスデコーダ16の
出力選択信号にて制御されるカラム選択回路17のスイ
ッチ動作により、そのカラムアドレス信号Acに対応す
るものが選択されて読み出し回路18に導通にされる。
読み出し回路18は、ローアドレス信号Ar及びカラム
アドレス信号Acにより選択されたメモリセルデータを
外部に出力する。
アドレス信号Acにより選択されたメモリセルデータを
外部に出力する。
ROM3において、上記処理ルーチン格納領域10と、
分岐テーブル領域11はメモリセルアレイ14に形成さ
れている。
分岐テーブル領域11はメモリセルアレイ14に形成さ
れている。
次にROM3の処理ルーチン格納領域10と分岐テーブ
ル領域11を第1図をも参照しながら詳細に説明する。
ル領域11を第1図をも参照しながら詳細に説明する。
第1図にはプログラム実行空間に配置されたRAM4の
動作プログラム格納領域とROM3の処理ルーチン格納
領域lO及び分岐テーブル領域11が示される。第1図
には68000系CPUの命令を利用した例が示されて
いる。
動作プログラム格納領域とROM3の処理ルーチン格納
領域lO及び分岐テーブル領域11が示される。第1図
には68000系CPUの命令を利用した例が示されて
いる。
処理ルーチン格納領域10には例えば浮動小数点演算に
必要とされるような所要のサブルーチン実行のための各
種命令が所定の順番に接結されている。この処理ルーチ
ンにROMa内での分岐命令が含まれる場合、当該分岐
命令は相対分岐命令とされる。相対分岐命令は少なくと
も命令コードと相対アドレスを対にして含むフォーマッ
トを有する。第1図において斯る相対分岐命令はBSR
(Branch to 5ubroutine)命
令とされる。このBSR命令は、プログラムカウンタの
値をスタック領域に退避すると共に、そのときのプログ
ラムカウンタの値に相対アドレスを加算して次の命令ア
ドレスとする処理内容を有する。
必要とされるような所要のサブルーチン実行のための各
種命令が所定の順番に接結されている。この処理ルーチ
ンにROMa内での分岐命令が含まれる場合、当該分岐
命令は相対分岐命令とされる。相対分岐命令は少なくと
も命令コードと相対アドレスを対にして含むフォーマッ
トを有する。第1図において斯る相対分岐命令はBSR
(Branch to 5ubroutine)命
令とされる。このBSR命令は、プログラムカウンタの
値をスタック領域に退避すると共に、そのときのプログ
ラムカウンタの値に相対アドレスを加算して次の命令ア
ドレスとする処理内容を有する。
分岐テーブル領域11は、処理ルーチン格納領域1oに
含まれる所定の処理ルーチンに分岐するための複数の相
対分岐命令が含まれている。第1図において斯る相対分
岐命令はBRA(Branc h A l w a
y s )命令とされる。このBRA命令は、プログラ
ムカウンタの値に相対アドレスを加算して次の命令アド
レスとする処理内容を有する。このBRA命令は、RA
M4に設定されているメインルーチンの分岐により実行
される。メインルーチンにおける分岐命令はJSR(J
ump to 5ubroutine)命令とされ
る。
含まれる所定の処理ルーチンに分岐するための複数の相
対分岐命令が含まれている。第1図において斯る相対分
岐命令はBRA(Branc h A l w a
y s )命令とされる。このBRA命令は、プログラ
ムカウンタの値に相対アドレスを加算して次の命令アド
レスとする処理内容を有する。このBRA命令は、RA
M4に設定されているメインルーチンの分岐により実行
される。メインルーチンにおける分岐命令はJSR(J
ump to 5ubroutine)命令とされ
る。
このJSR命令はプログラム実行空間における絶対アド
レス表示の分岐先アドレスをオペランドとして持ち、プ
ログラムカウンタの値をスタック領域に退避すると共に
、プログラムカウンタの値をそのオペランドとしての絶
対アドレスに変更して次の命令アドレスとする処理内容
を有する。
レス表示の分岐先アドレスをオペランドとして持ち、プ
ログラムカウンタの値をスタック領域に退避すると共に
、プログラムカウンタの値をそのオペランドとしての絶
対アドレスに変更して次の命令アドレスとする処理内容
を有する。
尚、処理ルーチン格納領域10に設定すべき処理ルーチ
ンと、分岐テーブル領域11に設定すべき分岐命令との
作成に当たって、両者をリンクするためのリンカは、ア
センブルされるべき相対分岐命令における分岐アドレス
部の外部参照シンボルと処理ルーチンの外部定義シンボ
ルとを相対番地形式で対応相は可能な機能が必要とされ
、このような機能は一般にFDO8と呼ばれるオペレー
ティングシステムによって得ることができる。
ンと、分岐テーブル領域11に設定すべき分岐命令との
作成に当たって、両者をリンクするためのリンカは、ア
センブルされるべき相対分岐命令における分岐アドレス
部の外部参照シンボルと処理ルーチンの外部定義シンボ
ルとを相対番地形式で対応相は可能な機能が必要とされ
、このような機能は一般にFDO8と呼ばれるオペレー
ティングシステムによって得ることができる。
次に第1図に従ってメインルーチンからサブルーチンへ
の分岐動作を説明する。
の分岐動作を説明する。
CPU2がRAM4に格納されているメインルーチンに
従って動作制御を行っているとき、CPU2がRAM4
に含まれる絶対分岐命令としてのJSR命令をフェッチ
すると、CPU2はそのときのプログラムカウンタの値
をスタック領域に退避させると共に、当該JSR命令に
含まれる分岐先絶対アドレス(α+lx)をプログラム
カウンタに設定する。ここでアドレス(α)はプログラ
ム実行空間におけるROM3の先頭アドレス、($X)
はROM3の先頭アドレスを起点とした相対アドレスと
する。
従って動作制御を行っているとき、CPU2がRAM4
に含まれる絶対分岐命令としてのJSR命令をフェッチ
すると、CPU2はそのときのプログラムカウンタの値
をスタック領域に退避させると共に、当該JSR命令に
含まれる分岐先絶対アドレス(α+lx)をプログラム
カウンタに設定する。ここでアドレス(α)はプログラ
ム実行空間におけるROM3の先頭アドレス、($X)
はROM3の先頭アドレスを起点とした相対アドレスと
する。
これにより、CPU2はその分岐先絶対アドレス(α+
$x)に従って相対分岐命令としてのBRA命令をフェ
ッチする。このBRA命令をフェッチしたCPU2は、
そのときのプログラムカウンタの値に、当該BRA命令
に含まれる相対アドレス($y)を加算し、このプログ
ラムカウンタの値(α+$x+$y)により指定される
アドレスの処理ルーチンに分岐して当該処理ルーチンを
実行開始する。CPU2が順次サブルーチンを実行する
途中でBSR命令をフェッチすると、そのときのプログ
ラムカウンタの値を退避させると共に、当該命令に含ま
れる相対アドレス($2)をプログラムカウンタに加算
し、このプログラムカウンタの値によりサブルーチン内
部でさらに分岐する0分岐した処理ルーチンの最後でR
TS (Return from 5ubrout
ine)′命令を実行することにより、CPU2は上記
BSR命令の次の命令に戻り、戻った先の処理ルーチン
を継続実行する。そして当該処理ルーチンの最後にRT
S命令を実行することにより、CPU2はメインルーチ
ンにおけるJSR命令の次の命令をフェッチして命令実
行動作を継続する。
$x)に従って相対分岐命令としてのBRA命令をフェ
ッチする。このBRA命令をフェッチしたCPU2は、
そのときのプログラムカウンタの値に、当該BRA命令
に含まれる相対アドレス($y)を加算し、このプログ
ラムカウンタの値(α+$x+$y)により指定される
アドレスの処理ルーチンに分岐して当該処理ルーチンを
実行開始する。CPU2が順次サブルーチンを実行する
途中でBSR命令をフェッチすると、そのときのプログ
ラムカウンタの値を退避させると共に、当該命令に含ま
れる相対アドレス($2)をプログラムカウンタに加算
し、このプログラムカウンタの値によりサブルーチン内
部でさらに分岐する0分岐した処理ルーチンの最後でR
TS (Return from 5ubrout
ine)′命令を実行することにより、CPU2は上記
BSR命令の次の命令に戻り、戻った先の処理ルーチン
を継続実行する。そして当該処理ルーチンの最後にRT
S命令を実行することにより、CPU2はメインルーチ
ンにおけるJSR命令の次の命令をフェッチして命令実
行動作を継続する。
第1図の説明では分岐テーブル領域11はROM3の先
頭アドレスから始まり、その後に処理ルーチン格納領域
10が設定されているが、BRA命令やBSR命令など
の相対分岐命令は、第4図に示されるように、オペレー
ションコード20と相対アドレス21の外に、相対アド
レスの向きを示す符号ビット22を含むフォーマットと
される。
頭アドレスから始まり、その後に処理ルーチン格納領域
10が設定されているが、BRA命令やBSR命令など
の相対分岐命令は、第4図に示されるように、オペレー
ションコード20と相対アドレス21の外に、相対アド
レスの向きを示す符号ビット22を含むフォーマットと
される。
相対分岐命令がこのようなフォーマットを有する場合、
第5図に示されるように、上記分岐テーブル領域11を
、メモリセルアレイ14における途中のアドレスから始
まる領域に配置しておくことが望ましい。相対分岐命令
に含まれる符号ビット22は相対アドレスによる分岐先
を分岐テーブル領域11の前後2方向とするから、分岐
テーブル領域11をメモリセルアレイの途中の領域に配
置しておくことは、相対アドレス21のビット数に対し
て格納可能な処理ルーチンの量を最大限とすることがで
きる。
第5図に示されるように、上記分岐テーブル領域11を
、メモリセルアレイ14における途中のアドレスから始
まる領域に配置しておくことが望ましい。相対分岐命令
に含まれる符号ビット22は相対アドレスによる分岐先
を分岐テーブル領域11の前後2方向とするから、分岐
テーブル領域11をメモリセルアレイの途中の領域に配
置しておくことは、相対アドレス21のビット数に対し
て格納可能な処理ルーチンの量を最大限とすることがで
きる。
上記実施例によれば以下の作用効果を得るものである。
(1)ROM3は、サブルーチンに対応する各種処理ル
ーチンを含む処理ルーチン格納領域10と、処理ルーチ
ン格納領域10に含まれる処理ルーチンを相対アドレス
で指定するための各種相対分岐命令を格納した分岐テー
ブル領域11とを含んで成り、処理ルーチン内の分岐命
令も相対分岐命令とされるから、プログラム実行空間に
おいてROM3が配置されるアドレス空間即ちROM3
の先頭アドレスであるα番地が変更になっても、ROM
3それ自体はもとよりROM3に格納される処理ルーチ
ンに対しても一切変更を要しない。例えば第1図におけ
るROM3の先頭アドレスがα番地からβ番地に変更に
なっても、ROM3におけるBRA命令の相対アドレス
ボッ番地やBSR命令の相対アドレス$2番地などRO
M3に対しては一切変更する必要はなく、メインルーチ
ンにおけるJSR命令の絶対番地などを変更するだけで
よい。
ーチンを含む処理ルーチン格納領域10と、処理ルーチ
ン格納領域10に含まれる処理ルーチンを相対アドレス
で指定するための各種相対分岐命令を格納した分岐テー
ブル領域11とを含んで成り、処理ルーチン内の分岐命
令も相対分岐命令とされるから、プログラム実行空間に
おいてROM3が配置されるアドレス空間即ちROM3
の先頭アドレスであるα番地が変更になっても、ROM
3それ自体はもとよりROM3に格納される処理ルーチ
ンに対しても一切変更を要しない。例えば第1図におけ
るROM3の先頭アドレスがα番地からβ番地に変更に
なっても、ROM3におけるBRA命令の相対アドレス
ボッ番地やBSR命令の相対アドレス$2番地などRO
M3に対しては一切変更する必要はなく、メインルーチ
ンにおけるJSR命令の絶対番地などを変更するだけで
よい。
(2)したがって、ROM3が適用されるシステの種類
や当該システムにおけるメインルーチンの内容、さらに
はメインルーチンの仕様変更やROM3の配置アドレス
の如何に拘らず、ROM3が保有する処理ルーチンの内
容やROM3のマスクパターンを変更したりする必要は
なく、この点において、サブルーチンとして利用される
ような処理ルーチンを内蔵したROM3の汎用性を向上
させることができるようになる。
や当該システムにおけるメインルーチンの内容、さらに
はメインルーチンの仕様変更やROM3の配置アドレス
の如何に拘らず、ROM3が保有する処理ルーチンの内
容やROM3のマスクパターンを変更したりする必要は
なく、この点において、サブルーチンとして利用される
ような処理ルーチンを内蔵したROM3の汎用性を向上
させることができるようになる。
(3)相対分岐命令が、命令コードと、相対アドレスと
、相対アドレスの向きを指定する符号ビットとを含む形
式とされる場合に、上記分岐テーブル領域11を、メモ
リセルアレイ14における途中のアドレスから始まる領
域に配置すると、相対分岐命令に含まれる符号ビット及
び相対アドレスによる分岐先は分岐テーブル領域11の
前後2方向で有効になるから、相対アドレスのビット数
に対して格納可能な処理ルーチンの量を最大限にするこ
とができるようになる。
、相対アドレスの向きを指定する符号ビットとを含む形
式とされる場合に、上記分岐テーブル領域11を、メモ
リセルアレイ14における途中のアドレスから始まる領
域に配置すると、相対分岐命令に含まれる符号ビット及
び相対アドレスによる分岐先は分岐テーブル領域11の
前後2方向で有効になるから、相対アドレスのビット数
に対して格納可能な処理ルーチンの量を最大限にするこ
とができるようになる。
以上本発明者によってなされた発明を実施例に基づいて
説明したが、本発明はそれに限定されるものではなく、
その要旨を逸脱しない範囲において種々変更することが
できる。
説明したが、本発明はそれに限定されるものではなく、
その要旨を逸脱しない範囲において種々変更することが
できる。
例えば、上記実施例ではROM3をマスクROMとして
説明したが、本発明はそれに限定されるものではなく、
エレクトリカリ・プログラマブルROMのようなプログ
ラマブルROMであってもよい、−旦サブルーチンをプ
ログラムした多数のエレクトリカリ・プログラマブルR
OMをシステムの仕様変更などに応じて書き換える手間
は無視できるほど短時間ではないから、本発明をプログ
ラマブルROMに適用する場合にも効果がある。
説明したが、本発明はそれに限定されるものではなく、
エレクトリカリ・プログラマブルROMのようなプログ
ラマブルROMであってもよい、−旦サブルーチンをプ
ログラムした多数のエレクトリカリ・プログラマブルR
OMをシステムの仕様変更などに応じて書き換える手間
は無視できるほど短時間ではないから、本発明をプログ
ラマブルROMに適用する場合にも効果がある。
また、メインルーチンはRAMに格納される場合に限定
されない。さらに、分岐命令は68000系命令に限定
されずその他の命令語体系にも適用することができる。
されない。さらに、分岐命令は68000系命令に限定
されずその他の命令語体系にも適用することができる。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるメインルーチンに対
して従属関係を有するサブルーチン格納用プログラムメ
モリに適用した場合について説明したが、本発明はそれ
に限定されず、相互に対等の関係を持つプログラムを相
互に呼び合うようにしてプログラムを組むようなコール
ルーチンのようなプログラム制御構造の一方の処理ルー
チン格納用メモリにも適用することができる。本発明は
少なくとも処理ルーチン内での分岐命令を含むようなプ
ログラムを格納する条件のものに適用することができる
。
をその背景となった利用分野であるメインルーチンに対
して従属関係を有するサブルーチン格納用プログラムメ
モリに適用した場合について説明したが、本発明はそれ
に限定されず、相互に対等の関係を持つプログラムを相
互に呼び合うようにしてプログラムを組むようなコール
ルーチンのようなプログラム制御構造の一方の処理ルー
チン格納用メモリにも適用することができる。本発明は
少なくとも処理ルーチン内での分岐命令を含むようなプ
ログラムを格納する条件のものに適用することができる
。
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、処理ルーチン内での分岐を相対分岐とした処
理ルーチンの構成命令を格納する処理ルーチン格納領域
と、上記処理ルーチンへの分岐を相対分岐とする相対分
岐命令を格納した分岐テーブル領域とをメモリセルアレ
イに含めてプログラムメモリを構成し、サブルーチンの
ような動作プログラムのためのプログラムメモリを相対
アドレスを利用して管理するから、プログラムメモリを
プログラム実行空間のどの位置に配置しても、そのプロ
グラムメモリに含まれる処理ルーチンの内容を一切変更
しないでも済むようになり、これにより、サブルーチン
のような所定の処理ルーチンを内蔵したプログラムメモ
リを、プログラム実行空間におけるその割り付はアドレ
スに対して汎用利用可能にすることができるという効果
がある。
理ルーチンの構成命令を格納する処理ルーチン格納領域
と、上記処理ルーチンへの分岐を相対分岐とする相対分
岐命令を格納した分岐テーブル領域とをメモリセルアレ
イに含めてプログラムメモリを構成し、サブルーチンの
ような動作プログラムのためのプログラムメモリを相対
アドレスを利用して管理するから、プログラムメモリを
プログラム実行空間のどの位置に配置しても、そのプロ
グラムメモリに含まれる処理ルーチンの内容を一切変更
しないでも済むようになり、これにより、サブルーチン
のような所定の処理ルーチンを内蔵したプログラムメモ
リを、プログラム実行空間におけるその割り付はアドレ
スに対して汎用利用可能にすることができるという効果
がある。
また、上記相対分岐命令が、命令コードと、相対アドレ
スと、相対アドレスの向きを指定する符号ビットとを含
む形式とされる場合に、上記分岐テーブル領域を、メモ
リセルアレイにおける途中のアドレスから始まる領域に
配置することにより、相対アドレスのビット数に対して
格納可能な処理ルーチンの量を最大限とすることができ
る。
スと、相対アドレスの向きを指定する符号ビットとを含
む形式とされる場合に、上記分岐テーブル領域を、メモ
リセルアレイにおける途中のアドレスから始まる領域に
配置することにより、相対アドレスのビット数に対して
格納可能な処理ルーチンの量を最大限とすることができ
る。
第1図は本発明の一実施例であるROMの記憶領域構成
説明図、 第2図は本発明の一実施例であるROMを含むシステム
構成の・−例を示すブロック図。 第3図は本発明の一実施例であるROMの構成ブロック
図、 第4図は相対分岐命令のフォーマット例を示す説明図、 第5図は分岐テーブル領域をメモリセルアレイにおける
途中のアドレスから始まる領域に配置する場合の当該領
域配置説明図である。 2・・・CPU、3・・・ROM、4・・・RAM、1
0・・・分岐テーブル領域、11・・・処理ルーチン格
納領域、14・・・メモリセルアレイ、20・・・オペ
レーションコード、21・・・相対アドレス、22・・
・符号ビット。 第1図 第2図 c 第4図 第5図
説明図、 第2図は本発明の一実施例であるROMを含むシステム
構成の・−例を示すブロック図。 第3図は本発明の一実施例であるROMの構成ブロック
図、 第4図は相対分岐命令のフォーマット例を示す説明図、 第5図は分岐テーブル領域をメモリセルアレイにおける
途中のアドレスから始まる領域に配置する場合の当該領
域配置説明図である。 2・・・CPU、3・・・ROM、4・・・RAM、1
0・・・分岐テーブル領域、11・・・処理ルーチン格
納領域、14・・・メモリセルアレイ、20・・・オペ
レーションコード、21・・・相対アドレス、22・・
・符号ビット。 第1図 第2図 c 第4図 第5図
Claims (1)
- 【特許請求の範囲】 1、処理ルーチン内での分岐を相対分岐とした処理ルー
チンの構成命令を格納する処理ルーチン格納領域と、上
記処理ルーチンへの分岐を相対分岐とする相対分岐命令
を格納した分岐テーブル領域とをメモリセルアレイに含
んで成るプログラムメモリ。 2、上記相対分岐命令は、命令コードと、相対アドレス
と、相対アドレスの向きを指定する符号ビットとを含み
、上記分岐テーブル領域は、メモリセルアレイにおける
途中のアドレスから始まる領域に配置されて成る請求項
1記載のプログラムメモリ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63279077A JPH02125333A (ja) | 1988-11-04 | 1988-11-04 | プログラムメモリ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63279077A JPH02125333A (ja) | 1988-11-04 | 1988-11-04 | プログラムメモリ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02125333A true JPH02125333A (ja) | 1990-05-14 |
Family
ID=17606094
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63279077A Pending JPH02125333A (ja) | 1988-11-04 | 1988-11-04 | プログラムメモリ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02125333A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6343357B1 (en) | 1991-06-24 | 2002-01-29 | Hitachi, Ltd. | Microcomputer and dividing circuit |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51134531A (en) * | 1975-05-16 | 1976-11-22 | Mitsubishi Electric Corp | Memory addressing system of the machine with microprocessor |
| JPS5267538A (en) * | 1975-12-03 | 1977-06-04 | Hitachi Ltd | Address designation method |
-
1988
- 1988-11-04 JP JP63279077A patent/JPH02125333A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51134531A (en) * | 1975-05-16 | 1976-11-22 | Mitsubishi Electric Corp | Memory addressing system of the machine with microprocessor |
| JPS5267538A (en) * | 1975-12-03 | 1977-06-04 | Hitachi Ltd | Address designation method |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6343357B1 (en) | 1991-06-24 | 2002-01-29 | Hitachi, Ltd. | Microcomputer and dividing circuit |
| US6996700B2 (en) | 1991-06-24 | 2006-02-07 | Renesas Technology Corp. | Microcomputer and dividing circuit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3649470B2 (ja) | データ処理装置 | |
| EP0330226B1 (en) | Apparatus of and method for executing subprogram in bank switching data processing system | |
| EP0138352B1 (en) | Method of operating a data processing system via depictor-linked microcode and logic circuitry | |
| US4370729A (en) | Microprogram sequencer | |
| GB2024475A (en) | Memory access controller | |
| US4639865A (en) | Computer system having conversion of operation codes | |
| US5127096A (en) | Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes | |
| JPS645330B2 (ja) | ||
| JPH02125333A (ja) | プログラムメモリ | |
| JP3452989B2 (ja) | 中央処理装置 | |
| CA1155231A (en) | Pipelined digital processor arranged for conditional operation | |
| US5291603A (en) | Microprocessor system with multiple interrupts masked for use in electronic control or monitoring of various solid-state products | |
| US4511983A (en) | Apparatus for controlling microinstructions stored in a data processing unit memory | |
| JPH09505428A (ja) | ページアドレスモードを有するマイクロコントローラ | |
| US6321319B2 (en) | Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction | |
| US5649229A (en) | Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage | |
| GB2136998A (en) | Computer System | |
| JPS6358536A (ja) | マイクロコンピユ−タシステム | |
| JP3190945B2 (ja) | マイクロプログラム制御回路 | |
| WO1996008763A2 (en) | Method, apparatus and instruction for performing a double jump register indirect operation transfer in a microcontroller | |
| US5479632A (en) | Microcomputer having two-level memory to facilitate calculation of effective addresses | |
| JPS6116334A (ja) | デ−タ処理装置 | |
| KR0159720B1 (ko) | 마이크로 컴퓨터의 프로그램영역 크기 확장회로 | |
| JPH1165622A (ja) | プログラマブルコントローラ | |
| JPH0778730B2 (ja) | 情報処理装置 |