JPS58215780A - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS58215780A JPS58215780A JP57097414A JP9741482A JPS58215780A JP S58215780 A JPS58215780 A JP S58215780A JP 57097414 A JP57097414 A JP 57097414A JP 9741482 A JP9741482 A JP 9741482A JP S58215780 A JPS58215780 A JP S58215780A
- Authority
- JP
- Japan
- Prior art keywords
- address
- segment
- logical
- memory
- 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.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
この発明はセグメントアドレスのデータ処理装置(−関
し、特(−セグメント間のブランチ方式(−係わるもの
である。
し、特(−セグメント間のブランチ方式(−係わるもの
である。
〈背 景〉
オフィスコンピュータを初めとする小型コン、ピユータ
では処理単位が16ピツト程度のものが一般的で、アド
レス情報としても能率上16ビツト(−限定されると6
4にバイトのアドレス能力を持つC1過ぎなくなる。そ
のためセグメント分割方式を導入し、アドレス情報とし
てセグメントアドレスと、セグメント内のオフセット、
ブトレスとから構成されるものが多い。この場合セグメ
ント間のプランy−M能が必装となるが、単にメモリ上
の物理アドレス(:てセグメントアドレス、オフセット
アドレスを示してブランチを行うのが最も単純である。
では処理単位が16ピツト程度のものが一般的で、アド
レス情報としても能率上16ビツト(−限定されると6
4にバイトのアドレス能力を持つC1過ぎなくなる。そ
のためセグメント分割方式を導入し、アドレス情報とし
てセグメントアドレスと、セグメント内のオフセット、
ブトレスとから構成されるものが多い。この場合セグメ
ント間のプランy−M能が必装となるが、単にメモリ上
の物理アドレス(:てセグメントアドレス、オフセット
アドレスを示してブランチを行うのが最も単純である。
しかしこの場合はブランチ先のセグメントはメモリ上l
:存在しなければセグメント・プランを命令を発するこ
とができないし、実メモリの容置以上のプログラムを実
行することができない。
:存在しなければセグメント・プランを命令を発するこ
とができないし、実メモリの容置以上のプログラムを実
行することができない。
また最近では小型コンピュータの分野でも多重プログラ
ミングが要求されており、メモリの使用効率上仮想アド
レス空間(:よる論理アドレスの導入が必要となってき
ている。
ミングが要求されており、メモリの使用効率上仮想アド
レス空間(:よる論理アドレスの導入が必要となってき
ている。
論理アドレスの導入法として、従来技術ではページング
制御方式があるが、これは実メモリ上の存在の有無、対
応する物理アドレス情報を有するテーブルを全論理ペー
ジに対して用意せねばならず、また全命令のアドレス生
成に対し効率よく動作せねばならないため、連想メモリ
等の道具室ても大変であり、小型コンピュータC二連し
た方式とは云えない。
制御方式があるが、これは実メモリ上の存在の有無、対
応する物理アドレス情報を有するテーブルを全論理ペー
ジに対して用意せねばならず、また全命令のアドレス生
成に対し効率よく動作せねばならないため、連想メモリ
等の道具室ても大変であり、小型コンピュータC二連し
た方式とは云えない。
〈発明の概要〉
そこでこの発明の目的はメモリ上(−オーバレイ対象と
なる複数個のセグメントを設定し、これらのメモリ上(
二存在するセグメントに対してのみ論理アドレス、物理
アドレスの対応テーブルを置くことC二より、論理アド
レス制御テーブルを小さくし、メモリ効率を上げ、また
道具室ても小さい、論理アドレスC:よるセグメントブ
ランチを可能にしたデータ処理装置を提供することC二
ある。
なる複数個のセグメントを設定し、これらのメモリ上(
二存在するセグメントに対してのみ論理アドレス、物理
アドレスの対応テーブルを置くことC二より、論理アド
レス制御テーブルを小さくし、メモリ効率を上げ、また
道具室ても小さい、論理アドレスC:よるセグメントブ
ランチを可能にしたデータ処理装置を提供することC二
ある。
この発明(=おいてはプログラムを常駐部と複数個のプ
ログラムセグメントに分割し、各セグメントに論理セグ
メントアドレスを割付ける。メモリ上にはプログラムの
常駐部エリア以外に複数個のオーバーレイセグメントを
用意する。そしてメモリ上のオーバーレイセグメントの
数だけエントリーを有し、その各エントリー(二は対応
するオーバーレイセグメントの物理アドレスと、そのセ
グメントに収容されているプログラムセグメントの論理
セグメントアドレスとの対応を示した論理セグメントテ
ーブル(LST)をメモリ上に設ける。
ログラムセグメントに分割し、各セグメントに論理セグ
メントアドレスを割付ける。メモリ上にはプログラムの
常駐部エリア以外に複数個のオーバーレイセグメントを
用意する。そしてメモリ上のオーバーレイセグメントの
数だけエントリーを有し、その各エントリー(二は対応
するオーバーレイセグメントの物理アドレスと、そのセ
グメントに収容されているプログラムセグメントの論理
セグメントアドレスとの対応を示した論理セグメントテ
ーブル(LST)をメモリ上に設ける。
次シ:その論理セグメントテーブルのメモリ上のアドレ
ス情報を有する論理セグメントテーブルディスクリツク
(L8TD)を設ける。論理セグメン ′トチープル
(LST)はプログラム毎(−独立(二設けることが可
能で、複数個メモリ上(=存在することができるようし
、各論理セグメントテーブル(LST)を示す論理セグ
メントテーブルディスクリブタ(L8TD)を複数個用
意する。従って論理セグメントアドレスはL8TD情報
を含めた情報とする。
ス情報を有する論理セグメントテーブルディスクリツク
(L8TD)を設ける。論理セグメン ′トチープル
(LST)はプログラム毎(−独立(二設けることが可
能で、複数個メモリ上(=存在することができるようし
、各論理セグメントテーブル(LST)を示す論理セグ
メントテーブルディスクリブタ(L8TD)を複数個用
意する。従って論理セグメントアドレスはL8TD情報
を含めた情報とする。
上記のプログラムセグメント間のブランチのために、プ
ランを先のプログラムセグメントが有する論理セグメン
トアドレスとセグメント内のオフセットアドレス情報を
有するセグメントブランチ命令(8B命令)を設ける。
ランを先のプログラムセグメントが有する論理セグメン
トアドレスとセグメント内のオフセットアドレス情報を
有するセグメントブランチ命令(8B命令)を設ける。
その8B命令の実行C二より命令がもつ論理セグメント
アドレスからLSTD情報を取出し、対象L8TDが示
す論理セグメントテーブルを参照し、論理セグメントテ
ーブル上1=登録されている論理セグメントアドレス内
に命令が示す論理セグメントアドレスが合致するものが
存在するかどうか探索する手段を設ける。この探索手段
(二より論理セグメントテーブル上(ユ合致する論理セ
グメントアドレスが在れば、対応するメモリ上のオーバ
ーレイセグメントCニブランチ先のプログラムセグメン
トが存在することからオーバーレイセグメントの物理ア
ドレスと命令がもつオフセットアドレス(二よりブラン
チするためのブランチ制御手段を設ける。また上記探索
手段C二て論理セグメントテーブル上(ユ合致するセグ
メントが存在しなければメモリ上にはブランチへ 先のプログラムセグメントが存在しないことがら割込を
発生させるための割込手段を設ける。
アドレスからLSTD情報を取出し、対象L8TDが示
す論理セグメントテーブルを参照し、論理セグメントテ
ーブル上1=登録されている論理セグメントアドレス内
に命令が示す論理セグメントアドレスが合致するものが
存在するかどうか探索する手段を設ける。この探索手段
(二より論理セグメントテーブル上(ユ合致する論理セ
グメントアドレスが在れば、対応するメモリ上のオーバ
ーレイセグメントCニブランチ先のプログラムセグメン
トが存在することからオーバーレイセグメントの物理ア
ドレスと命令がもつオフセットアドレス(二よりブラン
チするためのブランチ制御手段を設ける。また上記探索
手段C二て論理セグメントテーブル上(ユ合致するセグ
メントが存在しなければメモリ上にはブランチへ 先のプログラムセグメントが存在しないことがら割込を
発生させるための割込手段を設ける。
〈実施例〉
次に図面なt照してこの発明の詳細な説明を行う。第1
図(−この発明の装置にて実行されるプログラムの構成
例を示す。プログラムは常駐部11と5個のプログラム
セグメント12a〜12eがら成り、これらプログラム
セグメントは各々の論理セグメントアドレス(L8A)
としてA、B。
図(−この発明の装置にて実行されるプログラムの構成
例を示す。プログラムは常駐部11と5個のプログラム
セグメント12a〜12eがら成り、これらプログラム
セグメントは各々の論理セグメントアドレス(L8A)
としてA、B。
C,D、Bが割付けられている。
第2図はメモリ上に設けられた上記プログラムの収容セ
グメントで、常駐セグメン) 13 (:、はプログラ
ムの常駐部11を収容し、3ケのオーバーレイセグメン
ト■、■、■には5個のプログラムセグメン)12a〜
12eの中3ヶのプログラムセグメントを収容するため
のものである。
グメントで、常駐セグメン) 13 (:、はプログラ
ムの常駐部11を収容し、3ケのオーバーレイセグメン
ト■、■、■には5個のプログラムセグメン)12a〜
12eの中3ヶのプログラムセグメントを収容するため
のものである。
こJlらのオーバーレイセグメントの管理を行うため(
二メモリ上に第3図で示す論理セグメントテーブル(L
ET )を用意する。論理セグメントテーブルはヘッダ
一部と3ケのオーバーレイセグメントに対応する3つの
エントリ一部から成り、ヘッダ一部には論理セグメント
テーブルのエントリー数、空セグメントを探索するため
のサーチ開始ポインタ情報を収容し、各エントリー4:
は対応するオーバーレイセグメントに収容されたプログ
ラムセグメントの論理セグメントアドレスと、オーバー
レイセグメントの物理アドレスと、Rビット、Lビット
、Uビットの制御フラッフとを収容する。
二メモリ上に第3図で示す論理セグメントテーブル(L
ET )を用意する。論理セグメントテーブルはヘッダ
一部と3ケのオーバーレイセグメントに対応する3つの
エントリ一部から成り、ヘッダ一部には論理セグメント
テーブルのエントリー数、空セグメントを探索するため
のサーチ開始ポインタ情報を収容し、各エントリー4:
は対応するオーバーレイセグメントに収容されたプログ
ラムセグメントの論理セグメントアドレスと、オーバー
レイセグメントの物理アドレスと、Rビット、Lビット
、Uビットの制御フラッフとを収容する。
その物理アドレスは2バイト、即ち16ビツトの情報だ
が下位C二4ビットのOを付加して20ビツト(:拡張
して使用される。
が下位C二4ビットのOを付加して20ビツト(:拡張
して使用される。
第4図は論理セグメントテーブル(L8T)のアドレス
情報を有する論理セグメントテーブルディスクリブタ(
L8TD)をす0からす7までの8ヶ設けて、各々異な
る論理セグメントテーブル(LET)を示す。そごで論
理セグメントアドレス(LSA)は1にビットの中の3
ピツトを、論理セグメントテーブルディスクリプタ(L
S T D)番号情報を示すよう(ニする。従ってこ
の実施例ではメモリ上(二8ケまでのプログラムが各々
異なる論理セグメントテーブル(LET)を有して共存
することが可能である。
情報を有する論理セグメントテーブルディスクリブタ(
L8TD)をす0からす7までの8ヶ設けて、各々異な
る論理セグメントテーブル(LET)を示す。そごで論
理セグメントアドレス(LSA)は1にビットの中の3
ピツトを、論理セグメントテーブルディスクリプタ(L
S T D)番号情報を示すよう(ニする。従ってこ
の実施例ではメモリ上(二8ケまでのプログラムが各々
異なる論理セグメントテーブル(LET)を有して共存
することが可能である。
$5図はセグメントプランf(8B)命令の命令形式で
16ビツトから成り8ビツトの命令コードと、各4ビツ
トの()Rx、GR,フィールドを有する。GRXはブ
ランチ対象のプログラムセグメントが有する論理セグメ
ントアドレス(LSA)を収容する汎用レジスタを示し
、GRyはセグメント内のオフセットアドレスを収容す
る汎用レジスタを示す。
16ビツトから成り8ビツトの命令コードと、各4ビツ
トの()Rx、GR,フィールドを有する。GRXはブ
ランチ対象のプログラムセグメントが有する論理セグメ
ントアドレス(LSA)を収容する汎用レジスタを示し
、GRyはセグメント内のオフセットアドレスを収容す
る汎用レジスタを示す。
〈構 成〉
第6図(;この実施例のハードウェア構成を示す。
メモリ14はメモリアドレスバス15とメモリデータバ
ス16とに結合される。メモリ14から読出された命令
、データは各々命令レジスタ(IR)25、続出データ
レジスタ(RDR)24(二収容される。メモリ14へ
の書込データは書込データレジスタ(Wl)R)26+
ユ収容される。メモリアドレスは命令のアドレスを収容
する命令アドレスカウンタ(PC)43とメモリアドレ
スレジスタ(MAR)44に収容され、選択器42とア
ドレ°スゲート群48を介してメモリアドレスバス11
に乗せられる。汎用レジスタ(GR) 23は、各々1
6ビツトから成り16個存在するが、そのアドレスは命
令レジスタ(IR)25から与えられる。作業レジスタ
群(WKR)22は各々20ビツトから成り、各種制御
情報を収容する。メモリ14上(1在る論理セグメント
プランル(L8T)の物理アドレス20ビツトを収容す
る論理セグメントテーブルディスクリブタ(L8TD)
20は8ヶ存在し、そのアドレスは3ビツトから成り、
L8TDアドレスレジスタ21より与えられる。
ス16とに結合される。メモリ14から読出された命令
、データは各々命令レジスタ(IR)25、続出データ
レジスタ(RDR)24(二収容される。メモリ14へ
の書込データは書込データレジスタ(Wl)R)26+
ユ収容される。メモリアドレスは命令のアドレスを収容
する命令アドレスカウンタ(PC)43とメモリアドレ
スレジスタ(MAR)44に収容され、選択器42とア
ドレ°スゲート群48を介してメモリアドレスバス11
に乗せられる。汎用レジスタ(GR) 23は、各々1
6ビツトから成り16個存在するが、そのアドレスは命
令レジスタ(IR)25から与えられる。作業レジスタ
群(WKR)22は各々20ビツトから成り、各種制御
情報を収容する。メモリ14上(1在る論理セグメント
プランル(L8T)の物理アドレス20ビツトを収容す
る論理セグメントテーブルディスクリブタ(L8TD)
20は8ヶ存在し、そのアドレスは3ビツトから成り、
L8TDアドレスレジスタ21より与えられる。
これらの情報を乗せるパスとして各20ビツト幅のAバ
ス50 、Bパス51.Cバス52が在り、各々図のよ
うC:各レジスタ(−結合される。
ス50 、Bパス51.Cバス52が在り、各々図のよ
うC:各レジスタ(−結合される。
シフト選択器27はAバス50の20ビツトのデータを
そのまま演算器28に渡す機能と、Aパス50上の下位
16ビツトを4ビツト上方にシフトし、4ビj/)のO
を下位に付加して演算器28に渡す機能とが選択して動
作できる。演算器28はAバス50上のデータをシフト
選択器27を介して受け、それをBバス上のデータと演
算してその結果をCバス52に乗せる。演算器28は1
6ビツトの論理演算、加減算と、物理アドレス生成のた
め20ビツトの加減算能力とを有する。アドレス更新器
45は命令アドレスカウンタ(PC)43又はメモリア
ドレスレジスタ(MAR)44を選択器42にて選択さ
れたものをマイクロ命令にて指定された更新値C二て更
新す−る。その結果は選択器41を介して命令アドレス
カウンタ(PC)43又はメモリアドレスレジスタ(M
AR)45にセットされる。これらの八−ドウエア構成
要素を制御するためにマイクロ命令アドレス生成器30
と、マイクロプログラムを収容する制御メモリ31と、
マイ−クロ命令を収容するマイクロ命令レジメタ32と
、マイクロ命令をデコードして各へ−ドウェア構成要素
ζ二対する制御信号を発生するマイクロ命令デコーダ3
3とが設けられている。
そのまま演算器28に渡す機能と、Aパス50上の下位
16ビツトを4ビツト上方にシフトし、4ビj/)のO
を下位に付加して演算器28に渡す機能とが選択して動
作できる。演算器28はAバス50上のデータをシフト
選択器27を介して受け、それをBバス上のデータと演
算してその結果をCバス52に乗せる。演算器28は1
6ビツトの論理演算、加減算と、物理アドレス生成のた
め20ビツトの加減算能力とを有する。アドレス更新器
45は命令アドレスカウンタ(PC)43又はメモリア
ドレスレジスタ(MAR)44を選択器42にて選択さ
れたものをマイクロ命令にて指定された更新値C二て更
新す−る。その結果は選択器41を介して命令アドレス
カウンタ(PC)43又はメモリアドレスレジスタ(M
AR)45にセットされる。これらの八−ドウエア構成
要素を制御するためにマイクロ命令アドレス生成器30
と、マイクロプログラムを収容する制御メモリ31と、
マイ−クロ命令を収容するマイクロ命令レジメタ32と
、マイクロ命令をデコードして各へ−ドウェア構成要素
ζ二対する制御信号を発生するマイクロ命令デコーダ3
3とが設けられている。
マイクロ命令アドレス生成器30は命令レジスタ(I
R) 25の内容を信号線53を介して受け、また論理
セグメン) (T、 8 T )エントリー数を収容す
るカウンタ46のカウント終了情報、Cバス52の状態
を監視して演算器28の出力が全てOであることを検出
するゼロステータス47の状態、マイクロ命令が有する
ブランチアドレス情報を受けて次に実行すべきマイクロ
命令のアドレスを出力する。マイクロプログラムによる
命令の実行の制御は次のように行われる。命令アドレス
カウンタ(PC)43を選択器42、アドレスゲート群
48を介してメモリ14(二命令アドレスを送り、命令
を命令レジスタ(IR)251−続出しながらアドレス
更新器45(−より+2の更新を行い、選択器41を介
して再び命令アドレスカウンタ(PC)43(ニセット
することにより命令アドレスの更新を行う。命令レジス
タ(IR)25に収容された命令コードは、マイクロ命
令アドレス生成器30により命令コードに対応する命令
実行ルーチンの開始アドレスが生成され、命令実行ルー
チンが起動される。第5図のセグメントブランチ(8B
)命令の実行ルーチンは次の処理を行う。
R) 25の内容を信号線53を介して受け、また論理
セグメン) (T、 8 T )エントリー数を収容す
るカウンタ46のカウント終了情報、Cバス52の状態
を監視して演算器28の出力が全てOであることを検出
するゼロステータス47の状態、マイクロ命令が有する
ブランチアドレス情報を受けて次に実行すべきマイクロ
命令のアドレスを出力する。マイクロプログラムによる
命令の実行の制御は次のように行われる。命令アドレス
カウンタ(PC)43を選択器42、アドレスゲート群
48を介してメモリ14(二命令アドレスを送り、命令
を命令レジスタ(IR)251−続出しながらアドレス
更新器45(−より+2の更新を行い、選択器41を介
して再び命令アドレスカウンタ(PC)43(ニセット
することにより命令アドレスの更新を行う。命令レジス
タ(IR)25に収容された命令コードは、マイクロ命
令アドレス生成器30により命令コードに対応する命令
実行ルーチンの開始アドレスが生成され、命令実行ルー
チンが起動される。第5図のセグメントブランチ(8B
)命令の実行ルーチンは次の処理を行う。
(1)命令レジスタ(IR)25に収容されたGRxフ
ィールドにより汎用レジスタ(GR) 23よりGRX
の内容、即ちブランチ先のプログラムセグメントの論理
セグメントアドレス(LSA)をBバス51+:%=せ
、L8TDアドレスレジスタ211−L S T D番
号情報をセットし論理セグメントテーブルディスクリブ
タ(L8TD)20より論理セグメントテーブルアドレ
ス情報を続出しCバス52、選択器41を介してメモリ
アドレスレジスタ(MAR)441:セットする。
ィールドにより汎用レジスタ(GR) 23よりGRX
の内容、即ちブランチ先のプログラムセグメントの論理
セグメントアドレス(LSA)をBバス51+:%=せ
、L8TDアドレスレジスタ211−L S T D番
号情報をセットし論理セグメントテーブルディスクリブ
タ(L8TD)20より論理セグメントテーブルアドレ
ス情報を続出しCバス52、選択器41を介してメモリ
アドレスレジスタ(MAR)441:セットする。
(2) メモリアドレスレジスタ(MAR)44の論
理セグメントテーブルアドレスをメモリアドレスとして
メモリ14上の論理セグメントテーブルへラダーからL
STエントリー数を続出し、続出データレジヌタ(RD
R) 24、Aパス50、シフト選択器27、演算器
28、Cバス52を介してカウンタ46にセットする。
理セグメントテーブルアドレスをメモリアドレスとして
メモリ14上の論理セグメントテーブルへラダーからL
STエントリー数を続出し、続出データレジヌタ(RD
R) 24、Aパス50、シフト選択器27、演算器
28、Cバス52を介してカウンタ46にセットする。
同時にアドレス更新器45(−より+6の更新を行う。
次に(3)項の探索処理が行われる。
(3) 次にメモリアドレスレジスタ(MAR)44
のLSTアドレス(−より論理セグメントテーブル上の
■セグメントのエントリーから順C:登録されている論
理セグメントアドレス(LSA)を続出データレジスタ
1(DR241−続出し汎用レジスタ(GR)23のG
RXの内容なりバス51に乗せて演算器28(:て8B
命令の論理セグメントアドレスと論理セグメントテーブ
ル上の論理セグメントアドレスとの比較を行う。合致す
るとゼロステータス47嘔二よりマイクロ命令アドレス
生成器30は(4)項のブランチ処理のアドレスを出力
する。合致しない場合はカウンタ46の更新と、メモリ
アドレスレジスタ(MAR)44の+6更新を行い論理
セグメントテーブル(LST)上の次のエントリーの論
理セグメントアドレス(LSA)を読出しGRxの論理
セグメントアドレス(LSA)との比較を繰返す。
のLSTアドレス(−より論理セグメントテーブル上の
■セグメントのエントリーから順C:登録されている論
理セグメントアドレス(LSA)を続出データレジスタ
1(DR241−続出し汎用レジスタ(GR)23のG
RXの内容なりバス51に乗せて演算器28(:て8B
命令の論理セグメントアドレスと論理セグメントテーブ
ル上の論理セグメントアドレスとの比較を行う。合致す
るとゼロステータス47嘔二よりマイクロ命令アドレス
生成器30は(4)項のブランチ処理のアドレスを出力
する。合致しない場合はカウンタ46の更新と、メモリ
アドレスレジスタ(MAR)44の+6更新を行い論理
セグメントテーブル(LST)上の次のエントリーの論
理セグメントアドレス(LSA)を読出しGRxの論理
セグメントアドレス(LSA)との比較を繰返す。
かよう嬬二してカウンタ46のカウント終了情報をマイ
クロ命令アドレス生成器30が検出すると、(5)項の
割込処理のアドレスを出力する。
クロ命令アドレス生成器30が検出すると、(5)項の
割込処理のアドレスを出力する。
(4) 論理セグメントテーブル(LST)上に合致
したエントリーが在ればブランチ対象のプログラムセグ
メントが対応するオーバーレイセグメント仁収容されて
いることから、次のブランチ処理が行われる。メモリア
ドレスレジスタ(MAR)44の内容を+2更新して対
応するエントリーの物理アドレスを続出データレジスタ
(RDR)24に読出す。命令レジスタ(IR)25+
−在るGRyフィールド(二より汎用レジスタ(GR)
23よりGRyのもつセグメント内のオフセットアドレ
スなりバス51を介して演算器28(−送る。続出デー
タレジスタ(RDR)24の物理アドレスはAパス50
を介しシフト選択器27にて下位に4ビツトを付加して
20ビツトの物理セグメントアドレス各ユして演算器2
8にてオフセットアドレスとの加算を行いプランテアド
レスを生成して命令カウンタ(PC)43(ニーセット
する。
したエントリーが在ればブランチ対象のプログラムセグ
メントが対応するオーバーレイセグメント仁収容されて
いることから、次のブランチ処理が行われる。メモリア
ドレスレジスタ(MAR)44の内容を+2更新して対
応するエントリーの物理アドレスを続出データレジスタ
(RDR)24に読出す。命令レジスタ(IR)25+
−在るGRyフィールド(二より汎用レジスタ(GR)
23よりGRyのもつセグメント内のオフセットアドレ
スなりバス51を介して演算器28(−送る。続出デー
タレジスタ(RDR)24の物理アドレスはAパス50
を介しシフト選択器27にて下位に4ビツトを付加して
20ビツトの物理セグメントアドレス各ユして演算器2
8にてオフセットアドレスとの加算を行いプランテアド
レスを生成して命令カウンタ(PC)43(ニーセット
する。
(5)論理セグメントテーブル(LST)上(ユ合致し
たエントリーが無ければ、次の割込処理により割込を発
生し、ソフトウェアにて対象プログラムセグメントのロ
ードを実行する。命令カウンタ(P C) 43は20
ビツトの物理アドレスであることから、これをセグメン
トアドレスとオフセットアドレスと仁分解してメモリ1
4上の退避エリアに退避する。命令カウンタ(PC)4
3を選択器42、Cバス52を介して作業レジスタ!(
WKR)22(ニ一度収容する。作業レジスタ群(WK
R)22の他のレジスタには現物珪セグメントアドレス
を常に収容しておく。
たエントリーが無ければ、次の割込処理により割込を発
生し、ソフトウェアにて対象プログラムセグメントのロ
ードを実行する。命令カウンタ(P C) 43は20
ビツトの物理アドレスであることから、これをセグメン
トアドレスとオフセットアドレスと仁分解してメモリ1
4上の退避エリアに退避する。命令カウンタ(PC)4
3を選択器42、Cバス52を介して作業レジスタ!(
WKR)22(ニ一度収容する。作業レジスタ群(WK
R)22の他のレジスタには現物珪セグメントアドレス
を常に収容しておく。
作業レジスタ群(WKR)22に退避した命令物理アド
レスから現物理セグメントアドレスを演算器28(二て
減算しオフセットアドレスが得られる。現物理セグメン
トアドレスとこのオフセットアドレスをメモリ14上に
退避し、メモリ14上のソフトウェアの割込処理の開始
アドレス情報を読出して命令カウンタ(PC)43(二
セットする。
レスから現物理セグメントアドレスを演算器28(二て
減算しオフセットアドレスが得られる。現物理セグメン
トアドレスとこのオフセットアドレスをメモリ14上に
退避し、メモリ14上のソフトウェアの割込処理の開始
アドレス情報を読出して命令カウンタ(PC)43(二
セットする。
かよう(ニしてソフトウェアの割込処理が起動されると
、第3図の論理セグメントテーブル(LST)上のエン
トリーの中から空エントリーが在るかどうか調べる。そ
の際使用されるのが各エントリーのRビット、Lビット
、Uビットの制御フラッグである。各ビットは1のとき
次の意味をもつ。
、第3図の論理セグメントテーブル(LST)上のエン
トリーの中から空エントリーが在るかどうか調べる。そ
の際使用されるのが各エントリーのRビット、Lビット
、Uビットの制御フラッグである。各ビットは1のとき
次の意味をもつ。
Rピット:常駐セグメントを示す。ソフトウェアにて管
理される。従ってR=1のオー バーレイセグメントはロード対象セグ メントとすることはできない。
理される。従ってR=1のオー バーレイセグメントはロード対象セグ メントとすることはできない。
Lビット:L=1のオーバーレイセグメントはあるプロ
グラムセグメントをロード中で あることを示す。従って上記のマイク ロプログラムによる(4)項のブランチ処理C二て命令
の論理セグメントアドレス(LSA )と合致しても、
Lに1のときはプランブーを実行゛できないことから(
5)項の割込処理を起動する処置を行う必要がある。そ
れ故L=1のオーバー レイセグメントもロード対象セグメン トとはならない。
グラムセグメントをロード中で あることを示す。従って上記のマイク ロプログラムによる(4)項のブランチ処理C二て命令
の論理セグメントアドレス(LSA )と合致しても、
Lに1のときはプランブーを実行゛できないことから(
5)項の割込処理を起動する処置を行う必要がある。そ
れ故L=1のオーバー レイセグメントもロード対象セグメン トとはならない。
Uビット:使用状況を表わす制御フラッグで、上記のマ
イクロプログラムの(4)項のプランデ処理にてプツン
テ実行前(:U=1とする処置を追加する。即ちU=1
の オーバーレイセグメントは最近使用さ れたことを示すので、なるべくロード 対象セグメントとはしない方が望まし い。
イクロプログラムの(4)項のプランデ処理にてプツン
テ実行前(:U=1とする処置を追加する。即ちU=1
の オーバーレイセグメントは最近使用さ れたことを示すので、なるべくロード 対象セグメントとはしない方が望まし い。
ロード対象セグメントは論理セグメントテーブルのヘッ
ダ一部に在るサーチ開始ポインタが示すエントリーより
R,L、Uの各制御フラッグが全″COであるエントリ
ーを探索して求められる。この1回目の探索中(二探索
途上の各エントリーのUビットを04ユリセツトする。
ダ一部に在るサーチ開始ポインタが示すエントリーより
R,L、Uの各制御フラッグが全″COであるエントリ
ーを探索して求められる。この1回目の探索中(二探索
途上の各エントリーのUビットを04ユリセツトする。
1回目の探索でR=L=U=0のエントリーが見つから
ない場合は2回目の探索を行う。かようにしてR=L=
U=0のエントリーが見つかると、該当エントリーの論
理セグメントアドレス部(:は目的の論理セグメントア
ドレス(LSA)をセットし、Lビットを1にして目的
のプログラムセグメントのロードを行う。またこのとき
サーブ−開始ポインタを該当エントリーの次を示すよう
シー更新する。
ない場合は2回目の探索を行う。かようにしてR=L=
U=0のエントリーが見つかると、該当エントリーの論
理セグメントアドレス部(:は目的の論理セグメントア
ドレス(LSA)をセットし、Lビットを1にして目的
のプログラムセグメントのロードを行う。またこのとき
サーブ−開始ポインタを該当エントリーの次を示すよう
シー更新する。
上記のロード対象セグメントの探索は、マイクロプログ
ラムのの)項C二て割込処理C二先立ってマイクロプロ
グラム6ユて実行させることも可能である。
ラムのの)項C二て割込処理C二先立ってマイクロプロ
グラム6ユて実行させることも可能である。
かよう(ニしてメモリ14には142図1ユ示すように
、3ケのオーバーレイセグメントしか存在しなくても、
!i81図の5ケのプログラムセグメントを有するプロ
グラムの実行が可能となる。また第4図(:示すよう(
1複数個のプログラムが各々論理セグメントテーブルを
持ってメモリ14上に共存して実行することができる。
、3ケのオーバーレイセグメントしか存在しなくても、
!i81図の5ケのプログラムセグメントを有するプロ
グラムの実行が可能となる。また第4図(:示すよう(
1複数個のプログラムが各々論理セグメントテーブルを
持ってメモリ14上に共存して実行することができる。
各プロ、ダラムは各自の論理セグメントテーブル上で実
行するだけでなく、他のプログラムが有する論理セグメ
ントテーブルを使用して他のプログラムが持つサブルー
チンなどを利用することができ、メモリ効率の向上が図
れる。
行するだけでなく、他のプログラムが有する論理セグメ
ントテーブルを使用して他のプログラムが持つサブルー
チンなどを利用することができ、メモリ効率の向上が図
れる。
なおセグメントサブルーチンコール命令Cユ関しては、
945図のセグメントプランf(SB)命令と同様の形
式で有することができる。
945図のセグメントプランf(SB)命令と同様の形
式で有することができる。
作業レジスタ群22内(−現在実行中の論理セグメント
アドレスを収容しておき、8B命令実行時に上記の(4
)項のブランチ処理にてブランチ先の論理セグメントア
ドレスを作業レジスタ群22にセットする処理を追加す
る。
アドレスを収容しておき、8B命令実行時に上記の(4
)項のブランチ処理にてブランチ先の論理セグメントア
ドレスを作業レジスタ群22にセットする処理を追加す
る。
セグメントブランチコール命令実行時(−は、命令内の
GRx、GRyが有するブランチ先の論理セグメントア
ドレス(L8A)、オフセットアドレス情報と、上記の
現論理セグメントアドレスと、命令カウンタ(PC)4
3よ°リオフセットアドレスを抜き出してセグメントプ
ランデ命令中のGRx。
GRx、GRyが有するブランチ先の論理セグメントア
ドレス(L8A)、オフセットアドレス情報と、上記の
現論理セグメントアドレスと、命令カウンタ(PC)4
3よ°リオフセットアドレスを抜き出してセグメントプ
ランデ命令中のGRx。
GRyの内容と交換する。セグメントブランチコール命
令C二て起動されたサブルーチンのリターン命令はGR
x、GRy(ユ退避されたL8Aとオフセットアドレス
情報(−よる8B命令を実行すればよい。
令C二て起動されたサブルーチンのリターン命令はGR
x、GRy(ユ退避されたL8Aとオフセットアドレス
情報(−よる8B命令を実行すればよい。
第1図はこの発明の装置Cユて実行されるプログラムの
構成例を示す図、第2図はメモリ上C:設けるセグメン
トの構成例を示す図、第3図はこの発明の実施例におけ
る論理セグメントテーブル(LET)の形式を示す図、
第4図はこの発明の実施例の論理セグメントアドレス(
L8A)の形式と論理セグメントテーブルディスクリプ
タ(L8TD)と論理セグメントテーブル(LET)と
の関係を示す図、第5図はこの発明の実施例のセグメン
トプランデ命令(SB命令)の形式を示す図、第6図は
この発明の実施例のハードウェア構成例を示すブロック
図である。 14:メモリ、15:メモリアドレスバス、16:メモ
リデータバス、20:論理セグメントテーブルデスクリ
プタ(L8I11′D)、21 :L8TDアドレスレ
ジスタ、22:作業レジスタ群(WKR)23:汎用レ
ジスタ(GR)、24:続出データレジスタ(RDR)
、25:命令□レジスタ(IR)、26:@込データレ
ジスタ(WDR)、 ′27:シフト選択器、−28
:演算器、30:マイクロ命令アドレス生成器、31:
制御メモリ、32:マイクロ命令レジスタ、33:デコ
ーダ、41.42:選択器、43 :PC,44:MA
R。 45ニアドレス更新器、46:カウンタ、47:ゼロス
テータス、48ニアドレスゲ一ト群、50:Aパス、5
1:Bバス、52:Cバス。 特許出願人 日本電気株式会社 代理人 草軒 卓 ′)fy1図 才3図 74 図 才5図
構成例を示す図、第2図はメモリ上C:設けるセグメン
トの構成例を示す図、第3図はこの発明の実施例におけ
る論理セグメントテーブル(LET)の形式を示す図、
第4図はこの発明の実施例の論理セグメントアドレス(
L8A)の形式と論理セグメントテーブルディスクリプ
タ(L8TD)と論理セグメントテーブル(LET)と
の関係を示す図、第5図はこの発明の実施例のセグメン
トプランデ命令(SB命令)の形式を示す図、第6図は
この発明の実施例のハードウェア構成例を示すブロック
図である。 14:メモリ、15:メモリアドレスバス、16:メモ
リデータバス、20:論理セグメントテーブルデスクリ
プタ(L8I11′D)、21 :L8TDアドレスレ
ジスタ、22:作業レジスタ群(WKR)23:汎用レ
ジスタ(GR)、24:続出データレジスタ(RDR)
、25:命令□レジスタ(IR)、26:@込データレ
ジスタ(WDR)、 ′27:シフト選択器、−28
:演算器、30:マイクロ命令アドレス生成器、31:
制御メモリ、32:マイクロ命令レジスタ、33:デコ
ーダ、41.42:選択器、43 :PC,44:MA
R。 45ニアドレス更新器、46:カウンタ、47:ゼロス
テータス、48ニアドレスゲ一ト群、50:Aパス、5
1:Bバス、52:Cバス。 特許出願人 日本電気株式会社 代理人 草軒 卓 ′)fy1図 才3図 74 図 才5図
Claims (1)
- (1) メモリ上に複数個のセグメントと、そのメモ
リ上に存在するそのセグメントの物理アドレスと論理セ
グメントアドレスとの対応情報をもつ論理セグメントテ
ーブルと、その論理セグメントテーブルが存在する上記
メモリ上のアドレス情報を有する論理セグメントテーブ
ルディスクリプタと、ブランチ先のアドレス情報として
上記論理セグメントテーブルディスクリプタ情報を含む
論理セグメントアドレスとセグメント内のオフセットア
ドレスを有するセグメントブランチ命令と、そのセグメ
ントブランチ命令が有する論理セグメントディスクリブ
タ情報から対応するディスクリブタを参照し、そのディ
スクリブタが示す論理セグメントテーブル(−てその命
令の論理セグメントアドレスが存在するかどうか探索す
る手段と、その探索平膜(−て合致するセグメントが存
在した場合(:は物理アドレスを使用−てプランブーす
る手段と、上記探索手段仁て合致するセグメントが存在
しない場合の割込手段とを有するデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57097414A JPS58215780A (ja) | 1982-06-07 | 1982-06-07 | デ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57097414A JPS58215780A (ja) | 1982-06-07 | 1982-06-07 | デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58215780A true JPS58215780A (ja) | 1983-12-15 |
JPH024930B2 JPH024930B2 (ja) | 1990-01-31 |
Family
ID=14191814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57097414A Granted JPS58215780A (ja) | 1982-06-07 | 1982-06-07 | デ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58215780A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54161237A (en) * | 1978-06-12 | 1979-12-20 | Hitachi Ltd | Address converting method |
-
1982
- 1982-06-07 JP JP57097414A patent/JPS58215780A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54161237A (en) * | 1978-06-12 | 1979-12-20 | Hitachi Ltd | Address converting method |
Also Published As
Publication number | Publication date |
---|---|
JPH024930B2 (ja) | 1990-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4794524A (en) | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit | |
EP0327195B1 (en) | Processor simulation | |
US4951195A (en) | Condition code graph analysis for simulating a CPU processor | |
JP3649470B2 (ja) | データ処理装置 | |
US5167023A (en) | Translating a dynamic transfer control instruction address in a simulated CPU processor | |
US20010010072A1 (en) | Instruction translator translating non-native instructions for a processor into native instructions therefor, instruction memory with such translator, and data processing apparatus using them | |
JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
US6009509A (en) | Method and system for the temporary designation and utilization of a plurality of physical registers as a stack | |
JPS589455B2 (ja) | 多重長アドレス構成を有するマイクロプログラム化デ−タ処理システム | |
US7395199B2 (en) | Emulating the operation of a video graphics adapter | |
JPS6259812B2 (ja) | ||
US4394729A (en) | Jump return stack | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
US5930495A (en) | Method and system for processing a first instruction in a first processing environment in response to intiating processing of a second instruction in a emulation environment | |
JP2551167B2 (ja) | マイクロコンピュータ | |
EP0327198B1 (en) | Processor simulation | |
US6223275B1 (en) | Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions | |
CA1287177C (en) | Microprogrammed systems software instruction undo | |
JPS58215780A (ja) | デ−タ処理装置 | |
US5148530A (en) | Method for reexecuting instruction by altering high bits of instruction address based upon result of a subtraction operation with stored low bits | |
JPS6032220B2 (ja) | 情報処理装置 | |
Franca et al. | Design and realization of MLM: a multilingual machine | |
JP2583614B2 (ja) | ベクトル演算装置 | |
EP0401745A2 (en) | Data processor for high-speed access to stack area data | |
JPH0279122A (ja) | 浮動小数点演算機構 |