JPH0376503B2 - - Google Patents
Info
- Publication number
- JPH0376503B2 JPH0376503B2 JP60092461A JP9246185A JPH0376503B2 JP H0376503 B2 JPH0376503 B2 JP H0376503B2 JP 60092461 A JP60092461 A JP 60092461A JP 9246185 A JP9246185 A JP 9246185A JP H0376503 B2 JPH0376503 B2 JP H0376503B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- shift amount
- segment
- register
- bits
- 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
Links
- 238000000034 method Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
〔概要〕
セグメント起点アドレスとオフセツトとを加算
して物理アドレスを生成するアドレス方式におい
て、従来はセグメントレジスタの内容を一定量シ
フトして加算していたためアドレス空間、セグメ
ント起点アドレスが固定化されていた。
して物理アドレスを生成するアドレス方式におい
て、従来はセグメントレジスタの内容を一定量シ
フトして加算していたためアドレス空間、セグメ
ント起点アドレスが固定化されていた。
本発明は、シフト量を格納するレジスタを設
け、該レジスタにシフト量を設定してシフトせし
めるアドレス拡張方式を提供するもので、アドレ
ス空間の拡張、セグメント起点アドレスの任意設
定を可能とする。
け、該レジスタにシフト量を設定してシフトせし
めるアドレス拡張方式を提供するもので、アドレ
ス空間の拡張、セグメント起点アドレスの任意設
定を可能とする。
本発明はプロセツサにおけるアドレス拡張方式
に関する。
に関する。
近年、メモリアクセス方式としてアドレス空間
を一定の論理的なアドレス空間(以下セグメント
と称する)に分割し、セグメントの起点アドレス
と相対アドレス(オフセツト)との和で物理アド
レスを生成する方式が採用されている。
を一定の論理的なアドレス空間(以下セグメント
と称する)に分割し、セグメントの起点アドレス
と相対アドレス(オフセツト)との和で物理アド
レスを生成する方式が採用されている。
例えば16ビツトプロセツサでは、セグメントレ
ジスタ16ビツトであり、64kバイトのアドレス
空間が直接指定出来るが、その64kバイトをセグ
メントの取りうる空間とし、その起点アドレスと
オフセツトとを加算して物理アドレスとして送出
している。
ジスタ16ビツトであり、64kバイトのアドレス
空間が直接指定出来るが、その64kバイトをセグ
メントの取りうる空間とし、その起点アドレスと
オフセツトとを加算して物理アドレスとして送出
している。
しかし16ビツトで指定できる起点アドレスでは
アドレス空間に限界があるため、プロセツサ内で
その16ビツトの最下位ビツトに一定数の0を付加
(シフト)しており、例えば4ビツトシフトして
起点アドレスを20ビツト(1Mバイト)に拡張し
ている。
アドレス空間に限界があるため、プロセツサ内で
その16ビツトの最下位ビツトに一定数の0を付加
(シフト)しており、例えば4ビツトシフトして
起点アドレスを20ビツト(1Mバイト)に拡張し
ている。
上記方式でシフト量を増加すれば最大32ビツト
のアドレス空間が得られるが、セグメント間隔が
拡大し、シフト量が一定のためプログラム単位ご
とに格納するセグメントが任意に設定できないと
いう問題点があつた。
のアドレス空間が得られるが、セグメント間隔が
拡大し、シフト量が一定のためプログラム単位ご
とに格納するセグメントが任意に設定できないと
いう問題点があつた。
そのためアドレス空間が拡張可能であり、任意
にセグメントを設定し得るアドレス拡張方式が求
められている。
にセグメントを設定し得るアドレス拡張方式が求
められている。
第3図aはプロセツサの機能ブロツク図、第3
図bは物理アドレス生成方式を示すブロツク図で
ある。
図bは物理アドレス生成方式を示すブロツク図で
ある。
第3図aにおいて、1は論理演算部ALU、2
は実行中のセグメントの起点アドレスを格納する
セグメントレジスタ、3は実行中のオフセツトを
表すプログラムカウンタ、4は制御レジスタ等複
数のレジスタ類を表すもの、5は加算器、6はア
ドレス信号を一時格納するアドレスバツフア、7
はデータバツフア、8は命令を解読するインスト
ラクシヨンデコーダ、100は内部バス、101
はアドレスバス、102はデータバスである。
は実行中のセグメントの起点アドレスを格納する
セグメントレジスタ、3は実行中のオフセツトを
表すプログラムカウンタ、4は制御レジスタ等複
数のレジスタ類を表すもの、5は加算器、6はア
ドレス信号を一時格納するアドレスバツフア、7
はデータバツフア、8は命令を解読するインスト
ラクシヨンデコーダ、100は内部バス、101
はアドレスバス、102はデータバスである。
上記プロセツサにおいて、セグメントレジスタ
2とプログラムカウンタ3とを加算器5で加算し
て生成した物理アドレスをアドレスバツフア6を
通じてメモリをアクセスし、該メモリに格納され
ている命令、データ等を読取り、インストラクシ
ヨンデコーダ8で命令を解読したのち、指定の論
理演算を行う。
2とプログラムカウンタ3とを加算器5で加算し
て生成した物理アドレスをアドレスバツフア6を
通じてメモリをアクセスし、該メモリに格納され
ている命令、データ等を読取り、インストラクシ
ヨンデコーダ8で命令を解読したのち、指定の論
理演算を行う。
続いてプログラムカウンタ3を次のアドレスに
設定し、上記手順により処理を続行する。
設定し、上記手順により処理を続行する。
以上の動作において、セグメントレジスタ2、
プログラムカウンタ3の初期値は実行を依頼する
プログラムに移すときオペレーテイングシステム
OSにより初期設定されるものである。
プログラムカウンタ3の初期値は実行を依頼する
プログラムに移すときオペレーテイングシステム
OSにより初期設定されるものである。
プロセツサが16ビツトマシンであると、通常セ
グメントレジスタ2、プログラムカウンタ3、レ
ジスタ類4は16ビツトで構成されており、IMバ
イトのアドレス空間はセグメントレジスタ2を4
ビツトシフトし、プログラムカウンタ3と加算し
ている。
グメントレジスタ2、プログラムカウンタ3、レ
ジスタ類4は16ビツトで構成されており、IMバ
イトのアドレス空間はセグメントレジスタ2を4
ビツトシフトし、プログラムカウンタ3と加算し
ている。
第3図bは上記加算処理の詳細を表したもの
で、セグメントレジスタ2の最下位ビツト
(LSB)に4ビツトの0が付加されてプログラム
カウンタ3の値と加算されている。その結果セグ
メント起点アドレスは20ビツトに拡張され且つ4
ビツト即ち16バイトごと、IMバイトまで選択す
ることができる。
で、セグメントレジスタ2の最下位ビツト
(LSB)に4ビツトの0が付加されてプログラム
カウンタ3の値と加算されている。その結果セグ
メント起点アドレスは20ビツトに拡張され且つ4
ビツト即ち16バイトごと、IMバイトまで選択す
ることができる。
以上説明したように、制御装置の記憶容量の増
設によるアドレス空間の拡張はシフト量を増大す
ればよいが、従来の方式ではシフト量が一定であ
り、またシフト量を最大に設定するとセグメント
起点アドレスの取り得るアドレスの間隔が増大す
る。従つて最大のアドレス空間を使用しない用途
ではプログラム単位に格納するセグメントの選択
幅が狭くなつてメモリに無駄が生じる等の問題点
があつた。
設によるアドレス空間の拡張はシフト量を増大す
ればよいが、従来の方式ではシフト量が一定であ
り、またシフト量を最大に設定するとセグメント
起点アドレスの取り得るアドレスの間隔が増大す
る。従つて最大のアドレス空間を使用しない用途
ではプログラム単位に格納するセグメントの選択
幅が狭くなつてメモリに無駄が生じる等の問題点
があつた。
そのため本発明の目的は任意にシフト量が設定
できるアドレス拡張方式を提供することにある。
できるアドレス拡張方式を提供することにある。
上記目的のため本発明は第1図原理説明図に示
すように以下の手段を有する。
すように以下の手段を有する。
シフト量を格納するレジスタ9を設け該レジス
タに上記シフト量を設定する手段と、 上記セグメントレジスタの内容を該シフト量に
従いシフトするシフト手段10と、 該シフト手段の出力と上記オフセツトとを加算
する手段11と、 を備える。
タに上記シフト量を設定する手段と、 上記セグメントレジスタの内容を該シフト量に
従いシフトするシフト手段10と、 該シフト手段の出力と上記オフセツトとを加算
する手段11と、 を備える。
即ち、セグメントレジスタの内容をシフトする
シフト量を格納するレジスタを設け、プログラム
によりそのシフト量を設定する手段(命令)を設
け、その指定シフト量によりセグメントレジスタ
の値をシフトせしめる任意にセグメント起点アド
レスが設定でき、必要なアドレス空間を設定する
ことができる。
シフト量を格納するレジスタを設け、プログラム
によりそのシフト量を設定する手段(命令)を設
け、その指定シフト量によりセグメントレジスタ
の値をシフトせしめる任意にセグメント起点アド
レスが設定でき、必要なアドレス空間を設定する
ことができる。
本発明の実施例を図を用いて説明する。
第2図は本発明のプロセツサのブロツク図であ
る。
る。
図中、9はプログラムの命令によりシフト量を
設定し得るシフト量設定レジスタ、10はセレク
タ等で構成されるシフタ、11は所定のビツト数
を備えた加算器、13は上記ビツト数を有するア
ドレスバツフア、103はアドレスバツフア13
に対応するアドレスバス、12はシフト量設定命
令を解除する機能を付加したインストラクシヨン
デコーダである。
設定し得るシフト量設定レジスタ、10はセレク
タ等で構成されるシフタ、11は所定のビツト数
を備えた加算器、13は上記ビツト数を有するア
ドレスバツフア、103はアドレスバツフア13
に対応するアドレスバス、12はシフト量設定命
令を解除する機能を付加したインストラクシヨン
デコーダである。
上記構成において、シフタ11はセグメントレ
ジスタ2の内容をシフト量設定レジスタ9に格納
されたシフト量に基づきシフトして加算器11に
送出し、加算器11では上記シフトされたセグメ
ント起点アドレスとプログラムカウンタ3とを加
算してアドレスバス103に送出する。
ジスタ2の内容をシフト量設定レジスタ9に格納
されたシフト量に基づきシフトして加算器11に
送出し、加算器11では上記シフトされたセグメ
ント起点アドレスとプログラムカウンタ3とを加
算してアドレスバス103に送出する。
シフト量設定は以下の様に行われる。
(1) 各プログラムは所定のシフト量を定義する。
(2) オペレーテイングシステムOSはシステム編
集時上記シフト量をテーブル化しておくととも
に電源投入時、該プログラムを所定のアドレス
に格納する。
集時上記シフト量をテーブル化しておくととも
に電源投入時、該プログラムを所定のアドレス
に格納する。
プログラム処理開始時に格納命令によりシフ
ト量を設定せしめる。
ト量を設定せしめる。
以上によりプロセツサはシフト量を設定してセ
グメントレジスタ2をシフトし、プログラムカウ
ンタ3と加算して物理アドレスを生成すれば、そ
のプログラムをアクセスすることができる。
グメントレジスタ2をシフトし、プログラムカウ
ンタ3と加算して物理アドレスを生成すれば、そ
のプログラムをアクセスすることができる。
なお非常駐プログラム等では格納メモリのアド
レスに対応してOSがシフト量を作成してシフト
せしめる。
レスに対応してOSがシフト量を作成してシフト
せしめる。
また上記説明ではセグメントレジスタについて
述べたが、その他、スタツク領域、データ領域等
をセグメントで指定する場合も同様に実施でき
る。
述べたが、その他、スタツク領域、データ領域等
をセグメントで指定する場合も同様に実施でき
る。
以上説明したように、本発明によればプログラ
マブルにセグメント起点アドレスのシフト量を設
定することができるため、アドレス空間を拡張し
うるとともに、任意にセグメント先頭アドレスを
選択することができる。
マブルにセグメント起点アドレスのシフト量を設
定することができるため、アドレス空間を拡張し
うるとともに、任意にセグメント先頭アドレスを
選択することができる。
第1図は本発明の原理説明図、第2図は本発明
の実施例を示すプロセツサのブロツク図、第3図
aは従来の示すプロセツサのブロツク図、第3図
bは従来のアドレス生成方式説明図、である。図
中、 1は論理演算部ALU、2はセグメントレジス
タ、3はプログラムカウンタ、4はレジスタ類、
5は加算器、6はアドレスバツフア、7はデータ
バツフア、8はインストラクシヨンデコーダ、9
はシフト量設定レジスタ、10はシフタ、11は
加算器、12はインストラクシヨンデコーダ、1
3はアドレスバツフア、100は内部バス、10
1,103はアドレスバス、102はデータバ
ス、である。
の実施例を示すプロセツサのブロツク図、第3図
aは従来の示すプロセツサのブロツク図、第3図
bは従来のアドレス生成方式説明図、である。図
中、 1は論理演算部ALU、2はセグメントレジス
タ、3はプログラムカウンタ、4はレジスタ類、
5は加算器、6はアドレスバツフア、7はデータ
バツフア、8はインストラクシヨンデコーダ、9
はシフト量設定レジスタ、10はシフタ、11は
加算器、12はインストラクシヨンデコーダ、1
3はアドレスバツフア、100は内部バス、10
1,103はアドレスバス、102はデータバ
ス、である。
Claims (1)
- 【特許請求の範囲】 1 セグメントの起点アドレスを格納するセグメ
ントレジスタの内容をシフトし、該シフト出力と
セグメント内アドレスを指定するオフセツトとを
加算して物理アドレスを生成するアドレス拡張方
式であつて、 シフト量を格納するレジスタ9を設け該レジス
タに上記シフト量を設定する手段と、 上記セグメントレジスタの内容を該シフト量に
従いシフトするシフト手段10と、 該シフト手段の出力と上記オフセツトとを加算
する手段11と を備えることを特徴とするアドレス拡張方式。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9246185A JPS61250752A (ja) | 1985-04-30 | 1985-04-30 | アドレス拡張方式 |
DE8686902895T DE3683123D1 (de) | 1985-04-30 | 1986-04-30 | Adressenerweiterungssystem. |
US06/935,681 US4796177A (en) | 1985-04-30 | 1986-04-30 | Address extension system |
PCT/JP1986/000219 WO1986006521A1 (en) | 1985-04-30 | 1986-04-30 | Address expanding system |
EP86902895A EP0220327B1 (en) | 1985-04-30 | 1986-04-30 | Address expanding system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9246185A JPS61250752A (ja) | 1985-04-30 | 1985-04-30 | アドレス拡張方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61250752A JPS61250752A (ja) | 1986-11-07 |
JPH0376503B2 true JPH0376503B2 (ja) | 1991-12-05 |
Family
ID=14054997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9246185A Granted JPS61250752A (ja) | 1985-04-30 | 1985-04-30 | アドレス拡張方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61250752A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63192144A (ja) * | 1987-02-05 | 1988-08-09 | Nec Corp | アドレスの生成回路 |
JPH01216426A (ja) * | 1988-02-24 | 1989-08-30 | Nec Corp | マイクロコンピュータ |
JP2658473B2 (ja) * | 1990-02-26 | 1997-09-30 | 日本電気株式会社 | マイクロコンピュータ |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS49129456A (ja) * | 1973-04-11 | 1974-12-11 | ||
JPS58133695A (ja) * | 1982-01-30 | 1983-08-09 | Fujitsu Ltd | ペ−ジサイズ変更方式 |
-
1985
- 1985-04-30 JP JP9246185A patent/JPS61250752A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS49129456A (ja) * | 1973-04-11 | 1974-12-11 | ||
JPS58133695A (ja) * | 1982-01-30 | 1983-08-09 | Fujitsu Ltd | ペ−ジサイズ変更方式 |
Also Published As
Publication number | Publication date |
---|---|
JPS61250752A (ja) | 1986-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2678183B2 (ja) | デジタルプロセッサ制御装置および実行時記憶割当ての方法 | |
JPH0346850B2 (ja) | ||
US5077659A (en) | Data processor employing the same microprograms for data having different bit lengths | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
JPS6055849B2 (ja) | 命令制御方式 | |
JPS5911921B2 (ja) | 数値制御装置 | |
JPH0376503B2 (ja) | ||
JPH02242355A (ja) | 拡張アドレス空間を持つマイクロプロセシングシステム | |
WO1986006521A1 (en) | Address expanding system | |
JPH0376504B2 (ja) | ||
JPH0447349A (ja) | データ記憶装置 | |
US6363469B1 (en) | Address generation apparatus | |
JPS6148174B2 (ja) | ||
JPH0377137A (ja) | 情報処理装置 | |
JP2573711B2 (ja) | マイクロサブルーチン制御方式 | |
JPS60241135A (ja) | アドレス生成方式 | |
JPS61190642A (ja) | 主記憶制御方式 | |
JPS6388657A (ja) | メモリ装置 | |
JP2002544619A (ja) | 専用ポインタメモリを使用するオブジェクト指向処理 | |
JPS6126089B2 (ja) | ||
JPS6051736B2 (ja) | 情報処理装置 | |
JPH0478942A (ja) | メモリアクセス回路 | |
JPH0158522B2 (ja) | ||
JPS6242300B2 (ja) | ||
JPH0459652B2 (ja) |