JPS61250752A - アドレス拡張方式 - Google Patents
アドレス拡張方式Info
- Publication number
- JPS61250752A JPS61250752A JP9246185A JP9246185A JPS61250752A JP S61250752 A JPS61250752 A JP S61250752A JP 9246185 A JP9246185 A JP 9246185A JP 9246185 A JP9246185 A JP 9246185A JP S61250752 A JPS61250752 A JP S61250752A
- Authority
- JP
- Japan
- Prior art keywords
- address
- segment
- register
- shift
- shift amount
- 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ビツトプロセツサでは、セグメントレジス
タは16ビツトであり、64にバイトのアドレス空間が
直接指定出来るが、その64にバイトをセグメントの取
りうる空間とし、その起点アドレスとオフセットとを加
算して物理アドレスとして送出している。
しかし16ビントで指定できる起点アドレスではアドレ
ス空間に限界があるため、プロセッサ内でその16ビツ
トの最下位ビットに一定数の0を付加(シフト)してお
り、例えば4ピントシフトして起点アドレスを20ビツ
ト (1Mバイト)に拡張している。
ス空間に限界があるため、プロセッサ内でその16ビツ
トの最下位ビットに一定数の0を付加(シフト)してお
り、例えば4ピントシフトして起点アドレスを20ビツ
ト (1Mバイト)に拡張している。
上記方式でシフト量を増加すれば最大32ビツトのアド
レス空間が得られるが、セグメント間隔が拡大し、シフ
ト量が一定のためプログラム単位ごとに格納するセグメ
ントが任意に設定できないという問題点があった。
レス空間が得られるが、セグメント間隔が拡大し、シフ
ト量が一定のためプログラム単位ごとに格納するセグメ
ントが任意に設定できないという問題点があった。
そのためアドレス空間が拡張可能であり、任意にセグメ
ントを設定し得るアドレス拡張方式が求められている。
ントを設定し得るアドレス拡張方式が求められている。
第3図(a)はプロセッサの機能ブロック図、第3図世
)は物理アドレス生成方式を示すブロック図である。
)は物理アドレス生成方式を示すブロック図である。
第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図世)は上記加算処理の詳細を表したもので、セグ
メントレジスタ2の最下位ビット(L S B)に4ビ
ツトの0が付加されてプログラムカウンタ3の値と加算
されている。その結果セグメント起点アドレスは201
ツトに拡張され且つ4ビット即ち16バイトごと、1M
バイトまで選択することができる。
メントレジスタ2の最下位ビット(L S B)に4ビ
ツトの0が付加されてプログラムカウンタ3の値と加算
されている。その結果セグメント起点アドレスは201
ツトに拡張され且つ4ビット即ち16バイトごと、1M
バイトまで選択することができる。
〔発明が解決しようとする問題点3
以上説明したように、制御装置の記憶容量の増設による
アドレス空間の拡張はシフト量を増大すればよいが、従
来の方式ではシフト量が一定であり、またシフト量を最
大に設定するとセグメント起点アドレスの取り得るアド
レスの間隔が増大する。従って最大のアドレス空間を使
用しない用途ではプログラム単位に格納するセグメント
の選択幅が狭くなってメモリに無駄が生じる等の問題点
があった。
アドレス空間の拡張はシフト量を増大すればよいが、従
来の方式ではシフト量が一定であり、またシフト量を最
大に設定するとセグメント起点アドレスの取り得るアド
レスの間隔が増大する。従って最大のアドレス空間を使
用しない用途ではプログラム単位に格納するセグメント
の選択幅が狭くなってメモリに無駄が生じる等の問題点
があった。
そのため本発明の目的は任意にシフト量が設定できるア
ドレス拡張方式を提供することにある。
ドレス拡張方式を提供することにある。
上記目的のため本発明は第1図原理説明図に示すように
以下の手段を有する。
以下の手段を有する。
シフト量を格納するレジスタ(9)を設け該レジスタに
上記シフト量を設定する手段と、上記セグメントレジス
タの内容を該シフト量に従いシフトするシフト手段(1
0)と、該シフト手段の出力と上記オフセントとを加算
する手段(11)と、 を備える。
上記シフト量を設定する手段と、上記セグメントレジス
タの内容を該シフト量に従いシフトするシフト手段(1
0)と、該シフト手段の出力と上記オフセントとを加算
する手段(11)と、 を備える。
〔作用〕
即ち、セグメントレジスタの内容をシフトするシフト量
を格納するレジスタを設け、プログラムによりそのシフ
ト量を設定する手段(命令)を設け、その指定シフト量
によりセグメントレジスタの値をシフトせしめると任意
にセグメント起点アドレスが設定でき、必要なアドレス
空間を設定することができる。
を格納するレジスタを設け、プログラムによりそのシフ
ト量を設定する手段(命令)を設け、その指定シフト量
によりセグメントレジスタの値をシフトせしめると任意
にセグメント起点アドレスが設定でき、必要なアドレス
空間を設定することができる。
本発明の実施例を図を用いて説明する。
第2図は本発明のプロセッサのブロック図である。
図中、9はプログラムの命令によりシフト量を設定し得
るシフト量設定レジスタ、10はセレクタ等で構成され
るシック、11は所定のビア)数を備えた加算器、13
は上記ビット数を有するアドレスバッファ、103はア
ドレスバッファ13に対応するアドレスバス、12はシ
フト量設定命令を解読する機能を付加したインストラク
ションデコーダである。
るシフト量設定レジスタ、10はセレクタ等で構成され
るシック、11は所定のビア)数を備えた加算器、13
は上記ビット数を有するアドレスバッファ、103はア
ドレスバッファ13に対応するアドレスバス、12はシ
フト量設定命令を解読する機能を付加したインストラク
ションデコーダである。
上記構成において、シフタ11はセグメントレジスタ2
の内容をシフト量設定レジスタ9に格納されたシフト量
に基づきシフトして加算器11に送出し、加算器11で
は上記シフトされたセグメント起点アドレスとプログラ
ムカウンタ3とを加算してアドレスバス103に送出す
る。
の内容をシフト量設定レジスタ9に格納されたシフト量
に基づきシフトして加算器11に送出し、加算器11で
は上記シフトされたセグメント起点アドレスとプログラ
ムカウンタ3とを加算してアドレスバス103に送出す
る。
シフト量設定は以下の様に行われる。
(1) 各プログラムは所定のシフト量を定義する。
(2) オペレーティングシステムosはシステム編
集時上記シフト量をテーブル化しておくとともに電源投
入時、該プログラムを所定のアドレスに格納する。
集時上記シフト量をテーブル化しておくとともに電源投
入時、該プログラムを所定のアドレスに格納する。
プログラム処理開始時に格納命令によりシフト量を設定
せしめる。
せしめる。
以上によりプロセッサはシフト量を設定してセグメント
レジスタ2をシフトし、プログラムカウンタ3と加算し
て物理アドレスを生成すれば、そのプログラムをアクセ
スすることができる。
レジスタ2をシフトし、プログラムカウンタ3と加算し
て物理アドレスを生成すれば、そのプログラムをアクセ
スすることができる。
なお非常駐プログラム等では格納メモリのアドレスに対
応してO8がシフト量を作成してシフトせしめる。
応してO8がシフト量を作成してシフトせしめる。
また上記説明ではセグメントレジスタについて述べたが
、その他、スタック領域、データ領域等をセグメントで
指定する場合も同様に実施できる。
、その他、スタック領域、データ領域等をセグメントで
指定する場合も同様に実施できる。
以上説明したように、本発明によればプログラマブルに
セグメント起点アドレスのシフト量を設定することがで
きるため、アドレス空間を拡張しうるとともに、任意に
セグメント先頭アドレスを選択することができる。
セグメント起点アドレスのシフト量を設定することがで
きるため、アドレス空間を拡張しうるとともに、任意に
セグメント先頭アドレスを選択することができる。
第1図は本発明の原理説明図、
第2図は本発明の実施例を示すプロセッサのブロック図
、 第3図(alは従来の示すプロセッサのブロック図、第
3図(b)は従来のアドレス生成方式説明図、である0
図中、 1は論理演算部ALU、 2はセグメントレジスタ、 3はプログラムカウンタ、 4はレジスタ類、 5は加算器、 6はアドレスバッファ、7はデ
ータバッファ、 10はシック、 11は加算器、12はインスト
ラクションデコーダ、 13はアドレスバッファ、 100は内部バス、 101.103はアドレスバス、 102はデータバス、 である。 慶(−口 ′#−3目(ユフ
、 第3図(alは従来の示すプロセッサのブロック図、第
3図(b)は従来のアドレス生成方式説明図、である0
図中、 1は論理演算部ALU、 2はセグメントレジスタ、 3はプログラムカウンタ、 4はレジスタ類、 5は加算器、 6はアドレスバッファ、7はデ
ータバッファ、 10はシック、 11は加算器、12はインスト
ラクションデコーダ、 13はアドレスバッファ、 100は内部バス、 101.103はアドレスバス、 102はデータバス、 である。 慶(−口 ′#−3目(ユフ
Claims (1)
- 【特許請求の範囲】 セグメントの起点アドレスを格納するセグメントレジス
タの内容をシフトし、該シフト出力とセグメント内アド
レスを指定するオフセットとを加算して物理アドレスを
生成するアドレス拡張方式であって、 シフト量を格納するレジスタ(9)を設け該レジスタに
上記シフト量を設定する手段と、 上記セグメントレジスタの内容を該シフト量に従いシフ
トするシフト手段(10)と、 該シフト手段の出力と上記オフセットとを加算する手段
(11)と を備えることを特徴とするアドレス拡張方式。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9246185A JPS61250752A (ja) | 1985-04-30 | 1985-04-30 | アドレス拡張方式 |
EP86902895A EP0220327B1 (en) | 1985-04-30 | 1986-04-30 | Address expanding system |
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 |
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 true JPS61250752A (ja) | 1986-11-07 |
JPH0376503B2 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) |
Cited By (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 | マイクロコンピュータ |
JPH03248240A (ja) * | 1990-02-26 | 1991-11-06 | 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 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 | ペ−ジサイズ変更方式 |
Cited By (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 | マイクロコンピュータ |
JPH03248240A (ja) * | 1990-02-26 | 1991-11-06 | Nec Corp | マイクロコンピュータ |
Also Published As
Publication number | Publication date |
---|---|
JPH0376503B2 (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 | |
US4835734A (en) | Address translation apparatus | |
JPH0346850B2 (ja) | ||
US5423013A (en) | System for addressing a very large memory with real or virtual addresses using address mode registers | |
JPS5911921B2 (ja) | 数値制御装置 | |
JPS61250752A (ja) | アドレス拡張方式 | |
JP3413344B2 (ja) | 画像演算処理装置およびその動作方法 | |
JPH02242355A (ja) | 拡張アドレス空間を持つマイクロプロセシングシステム | |
WO1986006521A1 (en) | Address expanding system | |
JPS61250753A (ja) | アドレス拡張方式 | |
JPH0192851A (ja) | アドレス空間切替装置 | |
JP3704927B2 (ja) | プログラマブルコントローラ | |
JPS6148174B2 (ja) | ||
JPH0814791B2 (ja) | 処理システム | |
JPH0553920A (ja) | 構造化アドレス生成装置 | |
JP2573711B2 (ja) | マイクロサブルーチン制御方式 | |
KR920002829B1 (ko) | 메모리 액세스 제어 시스템 | |
JPS60241135A (ja) | アドレス生成方式 | |
JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
JPH0478942A (ja) | メモリアクセス回路 | |
JPS63261446A (ja) | 拡張仮想記憶制御方式 | |
JPS6126089B2 (ja) | ||
JPS63142430A (ja) | アドレス生成方式 | |
JPH0322052A (ja) | メモリマッパ装置 | |
JPS63646A (ja) | メモリアクセス待ち制御回路 |