JPH01114953A - マイクロプロセッサのアドレス空間拡張方式 - Google Patents

マイクロプロセッサのアドレス空間拡張方式

Info

Publication number
JPH01114953A
JPH01114953A JP27382887A JP27382887A JPH01114953A JP H01114953 A JPH01114953 A JP H01114953A JP 27382887 A JP27382887 A JP 27382887A JP 27382887 A JP27382887 A JP 27382887A JP H01114953 A JPH01114953 A JP H01114953A
Authority
JP
Japan
Prior art keywords
address
segment
value
microprocessor
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.)
Pending
Application number
JP27382887A
Other languages
English (en)
Inventor
Osamu Hatakeyama
修 畠山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP27382887A priority Critical patent/JPH01114953A/ja
Publication of JPH01114953A publication Critical patent/JPH01114953A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプロセッサのアドレス空間を越える
ようなアドレス空間を必要とするプログラムの開発にお
いて、特にアドレス空間を越えることによる複雑なコー
ディングを施すことなく、大規模なプロ、ダラムの開発
を可能とするマイクロプロセッサのアドレス空間拡張方
式に関する。
〔従来の技術〕
従来のマイクロプロセッサのアドレス空間拡張方式とし
て、アドレス空間の一部のメモリを多重に存在させ(以
後、バンクと称す)同時には、マイクロプロセッサのア
ドレス空間の範囲しか参照できないが、バンクを切替え
ることで、アドレス空間の一部で複数のバンクの内容を
交互に参照することによりアドレス空間を拡張する方式
がある。
また、セグメント・レジスタの数だけマイクロプロセッ
サのアドレス空間の範囲のメモリ(以後、セグメント空
間と称す)を用意しておき、1命令実行ごとに実効アド
レスの生成に使用したセグメント・レジスタに対応する
セグメント空間に切替えることで、1つのアドレス空間
をセグメント・レジスタ全部で参照していたところを、
各セグメント・レジスタごとにセグメント空間を配置す
ることによりアドレス空間を拡張する方式がある。
〔発明が解決しようとする問題点〕
上述した従来の方式では、生成できる実効アドレスの範
囲は変わらないが、多重化されたメモリを同一の実効ア
ドレスでありながら、バンクあるいはセグメント空間を
切替えて参照することにより、全体としてマイクロプロ
セッサのアドレス空間より大きなアドレス空間を得てい
る。
しかし、バンクを切替える方式では、バンクを切替える
必要があるたびにバンクを切替える命令をプログラム中
に挿入しなければならず、複数のバンクにまたがるプロ
グラムではバンクを切替える手順も複雑になる。
また、命令によって使用できるセグメント・レジスタが
固定されているため、参照したいメモリを指すことので
きる値を格納しているセグメント・レジスタを用いて命
令を実行できない場合は、メモリを参照することのでき
るセグメント・レジスタの値を命令で使用できるセグメ
ント・レジスタに設定した後、命令を実行しなければな
らない。
しかし、セグメント空間を切替える方式では、実効アド
レスの生成に使用したセグメント・レジスタごとに別々
のセグメント空間を持つため、複数のセグメント・レジ
スタの内容を同一にしてもまったく別のメモリを参照し
てしまうことになり、さらに、両方式とも、直線的なア
ドレス空間の拡張ではないため、同一の実効アドレスで
複数のメモリのアドレスを表現することになり、プログ
ラムのリンク時のメモリへの配置や、リンク後の実際の
メモリへのロードが複雑になるという欠点がある。
〔問題点を解決するための手段〕
本発明のマイクロプロセッサのアドレス空間拡張方式は
、メモリの参照ごとにアドレス・バスに出力される値を
セグメントのベース・アドレスとそのセグメント内のオ
フセット(セグメント・レジスタの値*24)に分解し
、セグメント・レジスタの値を2″′倍(nは0以上の
値)したのち前記セグメント内のオフセットを加算する
ことによりアドレス空間を20ビットから16+nビッ
ト(nは0以上の値)に変換するマイクロプロセッサの
アドレス空間の拡張を可能としていることにある。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図(a)及び(b)は24ビットのアドレス空間に
拡張する場合の本発明の一実施例のブロック図及びアド
レス拡張演算の例を示す図、第2図は本発明を実施した
マイクロプロセッサμPD70116(NEC製)によ
るプログラム例の図、第3図はメモリの参照ごとに行わ
れるアドレス空間の拡張方法を示す図である。
従来のマイクロプロセッサでは、16ビットのセグメン
ト・レジスタの値を24倍した20ビットのベース・ア
ドレスを16バイトの境界に設定し、そのベース・アド
レスより16ビットのセグメント内オフセットによって
20ビットの実効アドレスを生成していた(第1図(b
)イ)0本実施例では、16ビットのセグメント・レジ
スタの値を28倍することにより、24ビットのベース
・アドレスを256バイトの境界に設定し、16ビット
のセグメント内オフセットによって24ビットの実効ア
ドレス生成する(第1図(b)ロ)、構成は、実効アド
レスの生成に用いたセグメント・レジスタの値を得る外
部セグメント・レジスタ部と、そのセグメント・レジス
タの値を用いて20ビットのアドレス・バスの値から2
4ビットのアドレスへの変換を行う(第1図(b)ハ)
アドレス演算部よりなる。
ここでは、第2図のプログラム例に従って、プログラム
を実行する際、アドレス空間の拡張がどのように行われ
るかを第3図を用いて説明する。
プログラム・セグメント・レジスタ(以後、PSと称す
)に100OH、プログラム・カウンタ(以後、PCと
称す)に0が設定されていて8行目の命令を実行しよう
とした時、4本の外部レジスタと、各外部レジスタに接
続されている2段F I F O(First In 
First 0ut)バッファには、それぞれ対応する
セグメント・レジスタと同じ値が設定されているものと
する(第3図(a))。
このことは、マイクロプロセッサのリセット時に、各セ
グメント・レジスタに設定される値と同じ値を各セグメ
ント・レジスタに対応する外部レジスタと各外部レジス
タに接続されている2段FIFOバッファに設定するこ
とによって、これから説明するように以後プログラムの
動作中で各セグメント・レジスタの値が変わるたびに対
応する外部レジスタに同じ値を設定すれば実現すること
ができる。
8行目では、まず命令の読み出し前に、各外部レジスタ
に接続されている2段FIFOバッファの最後尾の内容
を先頭へ1段移動させ、各2段FIFOバッファの最後
尾に2段FIFOバッファを接続している外部レジスタ
の内容を設定する。命令の読み出しのためにPSとPC
で得られる20ビットのアドレスを24ビットのアドレ
スに変換する。変換したアドレスより命令を読み出し実
行する(第3図(b))。
9行目では、データ0・セグメント・レジスタ(以後、
DSOと称す)を用いて3〜5行目で定義したデータセ
グメント内のデータを参照できるように、10行目の命
令でDSOの内容を変更するため、その新しいDSOの
値をDSOに対応する外部レジスタに設定する命令であ
る。8行目と同様にまず命令の読み出し前に、各2段F
IFOバッファの内容を変更する。命令の読み出しのた
め、PSとPCで得られる20ビットのアドレスを24
ビットのアドレスに変換する。変換したアドレスより命
令を読み出し実行する。この時、命令の実行結果として
DSOに対応する外部レジスタに次の命令でDSOに設
定する値と同じ値を設定する。よって、20ビットのア
ドレスを24ビットのアドレスに変換する際、もう1命
令だけは、DSOに現在と同じ値で設定されているもの
とみなして命令を実行することができる(第3図(c)
)。
10行目は、DSOの変更のための命令である。8行目
と同様に、まず命令の読み出し前に、各2段FIFOバ
ッファの内容を変更する。命令の読み出しのため、PS
とPCで得られる20ビットのアドレスを24ビットの
アドレスに変換する。変換したアドレスより命令を読み
出し実行する。この時、命令の実行結果としてDSOに
新しい値を設定する(第3図(d))。
11行目は、8行目と同様の処理を行う。
12行目は、DSOのかわりにPSに対応する外部レジ
スタに対する処理である他は9行目と同様の処理を行う
。
13行目は、DSOを用いたメモリの参照を行い、その
メモリの内容をPSとPCに設定することにより、新た
な命令格納場所へ分岐する命令である。よって、PSと
PCを用いた命令の読み出し、DSOを用いたデータの
参照、スタック・セグメント・レジスタ(以後、SSと
称す)とスタ ゛ツク・ポインタ(以後、SPと称す)
を用いたスタックへのレジスタの退避の際のメモリ参照
時に、それぞれ20ビットのアドレスを24ビットのア
ドレスに変換する(第3図(e))。
13行目の実行後、PSとPCは17行目の命令を格納
しているアドレスを指している。
17〜19行目は、11〜13行目と同様に、セグメン
ト・レジスタの変更を伴った命令のための記述例である
。
よって、各セグメント・レジスタに対応した外部レジス
タに接続されている2段FIFOバッファの先頭には、
セグメント・レジスタと同じ値がいつも格納されており
、その値と、アドレス・バスから出力される20ビット
のアドレスを用いて変換を行う(第1図(b)ハ)こと
により、24ビットのアドレス空間に拡張することがで
きる。
〔発明の効果〕
以上、本発明によれば、メモリへのアクセスごとに20
ビットの実効アドレスを16+nビット(nは0以上の
値)の実効アドレスに変換する方式を提供することによ
り、セグメント・レジスタの内容に変更があるたびに、
各セグメント・レジスタに対応する外部レジスタの内容
も変更するだけで、マイクロプロセッサのアドレス空間
を拡張できるという効果がある。
【図面の簡単な説明】
第1図(a)及び(b)は24ビットのアドレス空間に
拡張する場合の本発明の一実施例のブロック図、及びア
ドレス拡張演算の例を示す図、第2図は本発明を実施し
たマイクロプロセッサμPD70116(NEC製)に
よるプログラム例の図、第3図はメモリの参照ごとに行
われるアドレス空間の拡張方法を示す図である。

Claims (1)

    【特許請求の範囲】
  1. 4本の16ビットのセグメント・レジスタのうちの1本
    の内容を2^4倍した値であるセグメントのベース・ア
    ドレスとそのセグメント内のオフセット(16ビット)
    との加算によって20ビットの命令格納アドレスや命令
    実行中のメモリ参照時の実効アドレスである実効アドレ
    スを生成する手段を有したメモリ管理機能を持たないマ
    イクロプロセッサにおいて、前記実効アドレスの生成に
    使用したセグメント・レジスタの値を得る機能を有する
    外部セグメント・レジスタ部と、メモリの参照ごとにそ
    の外部セグメント・レジスタ部より得た値とアドレス・
    バスとの値より前記セグメントのベース・アドレスとそ
    のセグメント内のオフセットに分解し、前記セグメント
    ・レジスタの値を2^n倍(nは0以上の値)したのち
    そのセグメント内のオフセットを加算する機能を有する
    アドレス演算部により、アドレス空間を20ビットから
    16+nビット(nは0以上の値)に変換する事を特徴
    とするマイクロプロセッサのアドレス空間拡張方式。
JP27382887A 1987-10-28 1987-10-28 マイクロプロセッサのアドレス空間拡張方式 Pending JPH01114953A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27382887A JPH01114953A (ja) 1987-10-28 1987-10-28 マイクロプロセッサのアドレス空間拡張方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27382887A JPH01114953A (ja) 1987-10-28 1987-10-28 マイクロプロセッサのアドレス空間拡張方式

Publications (1)

Publication Number Publication Date
JPH01114953A true JPH01114953A (ja) 1989-05-08

Family

ID=17533114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27382887A Pending JPH01114953A (ja) 1987-10-28 1987-10-28 マイクロプロセッサのアドレス空間拡張方式

Country Status (1)

Country Link
JP (1) JPH01114953A (ja)

Similar Documents

Publication Publication Date Title
JP2011003214A (ja) オフセット表を使用する完全ハッシュの生成
US6931507B2 (en) Memory allocation method using multi-level partition
CN112035380A (zh) 一种数据处理方法、装置、设备及可读存储介质
JPH0195347A (ja) アドレス変換方式
US4602330A (en) Data processor
JP2551167B2 (ja) マイクロコンピュータ
JPH02242355A (ja) 拡張アドレス空間を持つマイクロプロセシングシステム
US6363469B1 (en) Address generation apparatus
JPS62245467A (ja) シンボリツク処理システムおよび方法
JP2005505848A (ja) 拡張アドレス指定可能空間を有したマイクロプロセッサ
JPH0744489A (ja) データ転送方法
JPH073659B2 (ja) マイクロプロセッサ
JP3474347B2 (ja) マイクロコンピュータの命令解読部
JPH1091439A (ja) プロセッサ
EP0755000A2 (en) Microcomputer and address generation method
JPH0376503B2 (ja)
JPH0661067B2 (ja) 情報処理装置
JPH03276357A (ja) i/oアドレス変換方式
JPS6052448B2 (ja) マイクロプログラム制御装置
JPS63271567A (ja) 非対称密結合マルチプロセツサシステム
JPH0293935A (ja) アドレス空間の動的変換方式
JP2624738B2 (ja) 丸め処理方式
JPH0363847A (ja) アドレス生成方式
JPH0376504B2 (ja)
JPH07262085A (ja) 計算機