JPS61250753A - アドレス拡張方式 - Google Patents
アドレス拡張方式Info
- Publication number
- JPS61250753A JPS61250753A JP9249585A JP9249585A JPS61250753A JP S61250753 A JPS61250753 A JP S61250753A JP 9249585 A JP9249585 A JP 9249585A JP 9249585 A JP9249585 A JP 9249585A JP S61250753 A JPS61250753 A JP S61250753A
- Authority
- JP
- Japan
- Prior art keywords
- address
- segment
- program
- segment register
- register
- 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
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
セグメント起点アドレスとオフセットとを加算して物理
アドレスを生成するアドレス方式において、従来はセグ
メントレジスタの内容を一定量シフトして加算していた
。
アドレスを生成するアドレス方式において、従来はセグ
メントレジスタの内容を一定量シフトして加算していた
。
そのためアドレス空間、セグメント起点アドレスが固定
化されていた。
化されていた。
本発明では、シフト量をセグメントレジスタの所定ビッ
トにシフト量を記入することにより、アドレス空間の拡
張、セグメント起点アドレスの任意設定を可能とするも
のである。
トにシフト量を記入することにより、アドレス空間の拡
張、セグメント起点アドレスの任意設定を可能とするも
のである。
本発明はプロセッサにおけるアドレス拡張方式近年、メ
モリアクセス方式としてアドレス空間を一定の論理的な
アドレス空間(以下セグメントと称する)に分割し、セ
グメントの起点アドレスと相対アドレス(オフセット)
との和で物理アドレスを生成する方式が採用されている
。
モリアクセス方式としてアドレス空間を一定の論理的な
アドレス空間(以下セグメントと称する)に分割し、セ
グメントの起点アドレスと相対アドレス(オフセット)
との和で物理アドレスを生成する方式が採用されている
。
例えば16ビツトプロセソサでは、セグメントレジスタ
は16ビツトであり、64にバイトのアドレス空間が直
接指定出来るが、その64にバイトをセグメントの取り
うる空間とし、その起点アドレスとオフセットとを加算
して物理アドレスとして送出している。
は16ビツトであり、64にバイトのアドレス空間が直
接指定出来るが、その64にバイトをセグメントの取り
うる空間とし、その起点アドレスとオフセットとを加算
して物理アドレスとして送出している。
しかし16ビツトで指定できる起点アドレスではアドレ
ス空間に限界があるため、プロセッサ内でその16ビツ
トの最下位ビットに一定数のOを付加(シフト)してお
り、例えば4ビツトシフトして起点アドレスを20ビツ
ト(1Mバイト)に拡張している。
ス空間に限界があるため、プロセッサ内でその16ビツ
トの最下位ビットに一定数のOを付加(シフト)してお
り、例えば4ビツトシフトして起点アドレスを20ビツ
ト(1Mバイト)に拡張している。
上記方式でシフト量を増加すれば最大32ビツトのアド
レス空間が得られるが、セグメント間隔が拡大し、シフ
ト量が一定のためプログラム単位ごとに格納するセグメ
ントが任意に設定できないという問題点があった。
レス空間が得られるが、セグメント間隔が拡大し、シフ
ト量が一定のためプログラム単位ごとに格納するセグメ
ントが任意に設定できないという問題点があった。
そのためアドレス空間が拡張可能であり、任意にセグメ
ントを設定し得るアドレス拡張方式が求められている。
ントを設定し得るアドレス拡張方式が求められている。
第3図(a)はプロセッサの機能ブロック図、第3図(
b)は物理アドレス生成方式を示すブロック図である。
b)は物理アドレス生成方式を示すブロック図である。
第3図(a)において、1は論理演算部ALU、2は実
行中のセグメントの起点アドレスを格納するセグメント
レジスタ、3は実行中のオフセットを表すプログラムカ
ウンタ、4は制御レジスタ等複数のレジスタ類を表すも
の、5は加算器、6はアドレス信号を一時格納するアド
レスバッファ、7はデータバッファ、8は命令を解読す
るインストラクションデコーダ、100は内部バス、1
01はアドレスバス、102はデータバスである。
行中のセグメントの起点アドレスを格納するセグメント
レジスタ、3は実行中のオフセットを表すプログラムカ
ウンタ、4は制御レジスタ等複数のレジスタ類を表すも
の、5は加算器、6はアドレス信号を一時格納するアド
レスバッファ、7はデータバッファ、8は命令を解読す
るインストラクションデコーダ、100は内部バス、1
01はアドレスバス、102はデータバスである。
上記プロセッサにおいて、セグメントレジスタ2とプロ
グラムカウンタ3とを加算器5で加算して生成した物理
アドレスをアドレスバッファ6を通じてメモリをアクセ
スし、該メモリに格納されている命令、データ等を読取
り、インストラクションデコーダ8で命令を解読したの
ち、指定の論理演算を行う。
グラムカウンタ3とを加算器5で加算して生成した物理
アドレスをアドレスバッファ6を通じてメモリをアクセ
スし、該メモリに格納されている命令、データ等を読取
り、インストラクションデコーダ8で命令を解読したの
ち、指定の論理演算を行う。
続いてプログラムカウンタ3を次のアドレスに設定し、
上記手順により処理を続行する。
上記手順により処理を続行する。
以上の動作において、セグメントレジスタ2、プログラ
ムカウンタ3の初期値は実行を依頼するプログラムに移
すときオペレーティングシステムO8により初期設定さ
れるものである。
ムカウンタ3の初期値は実行を依頼するプログラムに移
すときオペレーティングシステムO8により初期設定さ
れるものである。
プロセッサが16ビツトマシンであると、通常セグメン
トレジスタ2.プログラムカウンタ3゜レジスタ類4は
16ビツトで構成されており、1Mバイトのアドレス空
間はセグメントレジスタ2を4ビツトシフトし、プログ
ラムカウンタ3と加算している。
トレジスタ2.プログラムカウンタ3゜レジスタ類4は
16ビツトで構成されており、1Mバイトのアドレス空
間はセグメントレジスタ2を4ビツトシフトし、プログ
ラムカウンタ3と加算している。
第3図(b)は上記加算処理の詳細を表したものでセグ
メントレジスタ2の最下位ビット(L S B)に4ビ
ツトの0が付加されてプログラムカウンタ3の値と加算
されている。その結果セグメント起点アドレスは20ビ
ツトに拡張され且つ4ビット即ち16バイトごと、1M
バイトまで選択することができる。
メントレジスタ2の最下位ビット(L S B)に4ビ
ツトの0が付加されてプログラムカウンタ3の値と加算
されている。その結果セグメント起点アドレスは20ビ
ツトに拡張され且つ4ビット即ち16バイトごと、1M
バイトまで選択することができる。
以上説明したように制御装置の記憶容量の増設によるア
ドレス空間の拡張はシフト量を増大すればよいが、従来
の方式ではシフト量が一定であり、またシフト量を最大
に設定するとセグメント起点アドレスの取りうるアドレ
スの間隔が増大する。
ドレス空間の拡張はシフト量を増大すればよいが、従来
の方式ではシフト量が一定であり、またシフト量を最大
に設定するとセグメント起点アドレスの取りうるアドレ
スの間隔が増大する。
従って最大のアドレス空間を使用しない用途ではプログ
ラム単位に格納するセグメントの選択幅が狭くなってメ
モリに無駄が生じる等の問題点があった。
ラム単位に格納するセグメントの選択幅が狭くなってメ
モリに無駄が生じる等の問題点があった。
そのため本発明の目的は任意にシフト量を設定できるア
ドレス拡張方式を提供することにある。
ドレス拡張方式を提供することにある。
上記目的のため本発明は第1図の原理説明図に示すよう
に以下の手段を備える。
に以下の手段を備える。
セグメントレジスタの所定ビット(9)にシフト量を設
定する手段と、 該ヒツト情報をシフト量として上記セグメントレジスタ
の内容をシフトする手段(11)と、該シフト手段の出
力とオフセットとを加算する手段(12)と を有する。
定する手段と、 該ヒツト情報をシフト量として上記セグメントレジスタ
の内容をシフトする手段(11)と、該シフト手段の出
力とオフセットとを加算する手段(12)と を有する。
上記本発明によれば、セグメントレジスタの所定のビッ
トをシフト量に指定する手段を設け、セグメント起点ア
ドレスを指定するとき該当ビットにシフト量を記入する
。その結果セグメント起点アドレスが上記指定量シフト
されてオフセットに加算される。
トをシフト量に指定する手段を設け、セグメント起点ア
ドレスを指定するとき該当ビットにシフト量を記入する
。その結果セグメント起点アドレスが上記指定量シフト
されてオフセットに加算される。
例えば最下位の4ビツトをシフト量として設定すれば、
0.1.2・・16ビツトシフト指定可能であり、また
4、8.12.16ビツトシフトに対応してそれぞれ1
6,256.4に、64にバイトおきに起点アドレスが
設定できる。
0.1.2・・16ビツトシフト指定可能であり、また
4、8.12.16ビツトシフトに対応してそれぞれ1
6,256.4に、64にバイトおきに起点アドレスが
設定できる。
本発明の実施例を図を用いて説明する。
第2図は本発明のプロセッサのブロック図である。
図中、11はセグメントレジスタ2の所定ビット例えば
最下位4ビツトと接続されその内容により最下位ピント
に0を付加して左シフトするシフタである。なおシフタ
11、加算器12、アドレスバッファ13、アドレスバ
ス103はそれぞれ最大アドレス空間を指定し得るビッ
ト幅をもつものである。
最下位4ビツトと接続されその内容により最下位ピント
に0を付加して左シフトするシフタである。なおシフタ
11、加算器12、アドレスバッファ13、アドレスバ
ス103はそれぞれ最大アドレス空間を指定し得るビッ
ト幅をもつものである。
その他は第3図(a)と同一記号は同一対象物を表す。
以下動作を説明する。
各プログラムまたはオペレーティングシステムO8はプ
ログラム、データ等が指定のメモリに格納し得るようセ
グメント起点アドレスの指定ビットにシフト量を記入し
ておく。
ログラム、データ等が指定のメモリに格納し得るようセ
グメント起点アドレスの指定ビットにシフト量を記入し
ておく。
(1) 実行プログラムが起動されるとき、O8はセ
グメントレジスタ2にセグメント起点アドレスおよびプ
ログラムカウンタ3に所定の値を格納する。
グメントレジスタ2にセグメント起点アドレスおよびプ
ログラムカウンタ3に所定の値を格納する。
(2) シフタ11はセグメントレジスタ2の所定ビ
ット情報を読取り、その指令に基づきセグメントレジス
タ2の内容をシフトして加算器12に出力する。
ット情報を読取り、その指令に基づきセグメントレジス
タ2の内容をシフトして加算器12に出力する。
(3) 加算器12は上記出力とプログラムカウンタ
3との内容を加算して、アドレスバッファ13t−通じ
てアドレスバス103に出力する。
3との内容を加算して、アドレスバッファ13t−通じ
てアドレスバス103に出力する。
以上のごとくプログラマブルにセグメントレジスタのシ
フト量が設定でき、制御装置のアドレス空間の拡張に容
易に対処することができる。
フト量が設定でき、制御装置のアドレス空間の拡張に容
易に対処することができる。
以上説明のごとくセグメント起点アドレスの所定ビット
にシフト量を記入するのみで、任意にアドレス空間の拡
張およびセグメントベースアドレスを選定することがで
き、プログラムサイズの大小に従って容易にアドレス空
間を設定できる効果がある。
にシフト量を記入するのみで、任意にアドレス空間の拡
張およびセグメントベースアドレスを選定することがで
き、プログラムサイズの大小に従って容易にアドレス空
間を設定できる効果がある。
第1図は本発明の原理説明図、
第2図は実施例を示すプロセッサのブロック図、第3図
(a)は従来のプロセッサのブロック図、第3図(1+
)は従来のアドレス生成方式説明図、である。図中、 1は論理演算部ALU、 2はセグメントレジスタ、 3はプログラムカウンタ、 4はレジスタ類、 5.12は加算器、6.13は
アドレスバッファ、 7はデータバッファ、 8はインストラクションデコーダ、 11はシフタ、 100は内部バス、101.
103はアドレスバス、 102はデータバス、 である。
(a)は従来のプロセッサのブロック図、第3図(1+
)は従来のアドレス生成方式説明図、である。図中、 1は論理演算部ALU、 2はセグメントレジスタ、 3はプログラムカウンタ、 4はレジスタ類、 5.12は加算器、6.13は
アドレスバッファ、 7はデータバッファ、 8はインストラクションデコーダ、 11はシフタ、 100は内部バス、101.
103はアドレスバス、 102はデータバス、 である。
Claims (1)
- 【特許請求の範囲】 セグメント起点アドレスを格納するセグメントレジスタ
の内容をシフトし、そのシフト出力とオフセットとを加
算して物理アドレスを生成するアドレス拡張方式であっ
て、 上記セグメントレジスタの所定ビット(9)にシフト量
を設定する手段と、 該ビット情報をシフト量として上記セグメントレジスタ
の内容をシフトする手段(11)と、該シフト手段の出
力と上記オフセットとを加算する手段(12)と を備え、セグメント起点アドレスを所定量シフトせしめ
てアドレス空間を拡張することを特徴とするアドレス拡
張方式。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9249585A JPS61250753A (ja) | 1985-04-30 | 1985-04-30 | アドレス拡張方式 |
DE8686902895T DE3683123D1 (de) | 1985-04-30 | 1986-04-30 | Adressenerweiterungssystem. |
PCT/JP1986/000219 WO1986006521A1 (en) | 1985-04-30 | 1986-04-30 | Address expanding system |
US06/935,681 US4796177A (en) | 1985-04-30 | 1986-04-30 | Address extension system |
EP86902895A EP0220327B1 (en) | 1985-04-30 | 1986-04-30 | Address expanding system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9249585A JPS61250753A (ja) | 1985-04-30 | 1985-04-30 | アドレス拡張方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61250753A true JPS61250753A (ja) | 1986-11-07 |
JPH0376504B2 JPH0376504B2 (ja) | 1991-12-05 |
Family
ID=14055876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9249585A Granted JPS61250753A (ja) | 1985-04-30 | 1985-04-30 | アドレス拡張方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61250753A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03248240A (ja) * | 1990-02-26 | 1991-11-06 | Nec Corp | マイクロコンピュータ |
JPH05324316A (ja) * | 1992-04-02 | 1993-12-07 | Nec Corp | マイクロプロセッサ |
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 JP9249585A patent/JPS61250753A/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 | ペ−ジサイズ変更方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03248240A (ja) * | 1990-02-26 | 1991-11-06 | Nec Corp | マイクロコンピュータ |
JPH05324316A (ja) * | 1992-04-02 | 1993-12-07 | Nec Corp | マイクロプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
JPH0376504B2 (ja) | 1991-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4777588A (en) | General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance | |
JPH0248931B2 (ja) | ||
JPH0346850B2 (ja) | ||
JP2009223758A (ja) | 画像処理装置 | |
JPH0414385B2 (ja) | ||
JP2806171B2 (ja) | データ演算装置 | |
JPS5911921B2 (ja) | 数値制御装置 | |
JPS61250753A (ja) | アドレス拡張方式 | |
JP2565495B2 (ja) | デ−タ処理システム | |
JPS61250752A (ja) | アドレス拡張方式 | |
JPH0192851A (ja) | アドレス空間切替装置 | |
JPS61264378A (ja) | 記憶回路 | |
JP2005222519A (ja) | メモリに記憶されたデータワード内のビット値へのアクセス | |
JPH056281A (ja) | 情報処理装置 | |
JP3704927B2 (ja) | プログラマブルコントローラ | |
JPH0377137A (ja) | 情報処理装置 | |
JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
JP3733746B2 (ja) | プログラマブルコントローラ | |
JP2573711B2 (ja) | マイクロサブルーチン制御方式 | |
JPS62120543A (ja) | メモリバンクの切替方式 | |
JPH0478942A (ja) | メモリアクセス回路 | |
JPH0158522B2 (ja) | ||
JPS61201353A (ja) | アドレス変換装置 | |
JPH0315770B2 (ja) | ||
JPH04104349U (ja) | マイクロプログラム方式の情報処理装置 |