JPH05127979A - メモリアドレス空間拡張装置 - Google Patents
メモリアドレス空間拡張装置Info
- Publication number
- JPH05127979A JPH05127979A JP3290650A JP29065091A JPH05127979A JP H05127979 A JPH05127979 A JP H05127979A JP 3290650 A JP3290650 A JP 3290650A JP 29065091 A JP29065091 A JP 29065091A JP H05127979 A JPH05127979 A JP H05127979A
- Authority
- JP
- Japan
- Prior art keywords
- register
- address
- task
- bank
- memory
- 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
Links
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 3
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 タスク切り換えの際に、切り換えに要する時
間を短縮する。 【構成】 タスク管理で使用するレジスタバンクと、複
数のレジスタバンクの中で実行中のタスクのバンク番号
を格納するバンク番号レジスタ104と、物理アドレス
を拡張アドレスに変換するアドレス演算ユニット113
とから構成されるMMU103を設け、さらに、レジス
タバンクに設定されるべきページレジスタデータテーブ
ル301と,レジスタバンク選択テーブル203と,タ
スク管理プログラムとを格納したメモリを設ける。これ
により、レジスタバンクにタスクの実行環境が設定され
ている場合には、タスク切り換えがレジスタバンクの切
り換えとなり、タスクの切り換えに要する時間を短縮で
きる。
間を短縮する。 【構成】 タスク管理で使用するレジスタバンクと、複
数のレジスタバンクの中で実行中のタスクのバンク番号
を格納するバンク番号レジスタ104と、物理アドレス
を拡張アドレスに変換するアドレス演算ユニット113
とから構成されるMMU103を設け、さらに、レジス
タバンクに設定されるべきページレジスタデータテーブ
ル301と,レジスタバンク選択テーブル203と,タ
スク管理プログラムとを格納したメモリを設ける。これ
により、レジスタバンクにタスクの実行環境が設定され
ている場合には、タスク切り換えがレジスタバンクの切
り換えとなり、タスクの切り換えに要する時間を短縮で
きる。
Description
【0001】
【産業上の利用分野】本発明はメモリアドレス空間拡張
装置に関し、特にタスクのプログラム領域とタスク単位
で使用されるデータ領域(以下、タスクコンテキストと
称する。)とのアドレス空間拡張に関する。
装置に関し、特にタスクのプログラム領域とタスク単位
で使用されるデータ領域(以下、タスクコンテキストと
称する。)とのアドレス空間拡張に関する。
【0002】
【従来の技術】従来のメモリアドレス空間拡張装置にお
いてタスク切り換えが発生すると、次に実行されるタス
クのコード部が格納されている領域のEEAを、ページ
レジスタに書き込むことによって、拡張アドレス空間へ
マッピングしていた。
いてタスク切り換えが発生すると、次に実行されるタス
クのコード部が格納されている領域のEEAを、ページ
レジスタに書き込むことによって、拡張アドレス空間へ
マッピングしていた。
【0003】
【発明が解決しようとする課題】解決しようとする課題
は、タスク切り換えが発生すると、必ずEEAをページ
レジスタに書き込む必要があるため、タスク切り換えに
かなりの時間が必要であるという点である。
は、タスク切り換えが発生すると、必ずEEAをページ
レジスタに書き込む必要があるため、タスク切り換えに
かなりの時間が必要であるという点である。
【0004】
【課題を解決するための手段】本発明は、メモリとMM
Uとによってメモリアドレス空間を拡張することに特徴
がある。MMUは、拡張アドレスの上位アドレス(EE
A)をページレジスタに格納し、物理アドレスの上位ア
ドレス(PEA)の数だけページレジスタを組み合わせ
てレジスタバンクを構成しておき、PEAをEEAに変
換するためのレジスタバンクを指定し、このレジスタバ
ンクを使用して物理アドレス中のPEAでページレジス
タを選択し、EEAを求めることにより物理アドレスを
拡張アドレスに変換する。メモリ内容は、タスクに制御
を渡す際にレジスタバンク選択テーブルを参照し、タス
ク実行環境が設定されている時にはレジスタバンク番号
をMMUのバンク番号レジスタに設定するか、さもなけ
れば適当なレジスタバンクにタスクの実行環境を設定す
るのに使用される。
Uとによってメモリアドレス空間を拡張することに特徴
がある。MMUは、拡張アドレスの上位アドレス(EE
A)をページレジスタに格納し、物理アドレスの上位ア
ドレス(PEA)の数だけページレジスタを組み合わせ
てレジスタバンクを構成しておき、PEAをEEAに変
換するためのレジスタバンクを指定し、このレジスタバ
ンクを使用して物理アドレス中のPEAでページレジス
タを選択し、EEAを求めることにより物理アドレスを
拡張アドレスに変換する。メモリ内容は、タスクに制御
を渡す際にレジスタバンク選択テーブルを参照し、タス
ク実行環境が設定されている時にはレジスタバンク番号
をMMUのバンク番号レジスタに設定するか、さもなけ
れば適当なレジスタバンクにタスクの実行環境を設定す
るのに使用される。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。図1は、本発明によるメモリアドレス空間拡張装置
の一実施例を示すブロック図である。図1において,1
01はCPU,102はメモリ,103はMMU,10
4はバンク番号,105はCPUアドレス,106はレ
ジスタバンクアドレス,107はレジスタメモリバン
ク,108はメモリアドレス,109は物理アドレス,
110は拡張アドレス,111はページレジスタデー
タ,112はバンク番号レジスタ,113はアドレス変
換ユニットである。図1において、タスク切り換えが発
生し、次に実行されるタスクがディスパッチされると、
MMU103はCPU101からの物理アドレス109
をメモリ102への拡張アドレス110に変換する。図
2は、アドレス変換を示す説明図である。図2におい
て、201は物理アドレス,202は拡張アドレス,2
03はレジスタバンク選択テーブルである。
る。図1は、本発明によるメモリアドレス空間拡張装置
の一実施例を示すブロック図である。図1において,1
01はCPU,102はメモリ,103はMMU,10
4はバンク番号,105はCPUアドレス,106はレ
ジスタバンクアドレス,107はレジスタメモリバン
ク,108はメモリアドレス,109は物理アドレス,
110は拡張アドレス,111はページレジスタデー
タ,112はバンク番号レジスタ,113はアドレス変
換ユニットである。図1において、タスク切り換えが発
生し、次に実行されるタスクがディスパッチされると、
MMU103はCPU101からの物理アドレス109
をメモリ102への拡張アドレス110に変換する。図
2は、アドレス変換を示す説明図である。図2におい
て、201は物理アドレス,202は拡張アドレス,2
03はレジスタバンク選択テーブルである。
【0006】以下、アドレス変換手順について説明す
る。タスク管理プログラムにより、タスクIDからレジ
スタバンク選択テーブル203を用いて決定されたレジ
スタバンクのバンク番号104をバンク番号レジスタ1
12に書き込む。次に、物理アドレス109をCPUア
ドレス105とし、PEAを生成する。バンク番号10
4とPEAとからレジスタバンクアドレス106を生成
し、レジスタバンクメモリ107をアクセスする。次
に、レジスタバンクから出力されたページレジスタデー
タ111をEEAとし、かつ、CPUアドレス105の
下位アドレスをメモリアドレス108の下位アドレスと
してメモリアドレス108を生成する。そこでメモリア
ドレス108を拡張アドレス110としてメモリ102
をアクセスする。続いて、レジスタバンク選択テーブル
203の中からタスクIDを検索し、タスクIDをレジ
スタバンクのバンク番号104に変換する。PEAから
選択されるページレジスタデータ111をEEAとし、
物理アドレス201の下位アドレスを拡張アドレス20
2の下位アドレスとしてメモリアドレス108を生成す
る。
る。タスク管理プログラムにより、タスクIDからレジ
スタバンク選択テーブル203を用いて決定されたレジ
スタバンクのバンク番号104をバンク番号レジスタ1
12に書き込む。次に、物理アドレス109をCPUア
ドレス105とし、PEAを生成する。バンク番号10
4とPEAとからレジスタバンクアドレス106を生成
し、レジスタバンクメモリ107をアクセスする。次
に、レジスタバンクから出力されたページレジスタデー
タ111をEEAとし、かつ、CPUアドレス105の
下位アドレスをメモリアドレス108の下位アドレスと
してメモリアドレス108を生成する。そこでメモリア
ドレス108を拡張アドレス110としてメモリ102
をアクセスする。続いて、レジスタバンク選択テーブル
203の中からタスクIDを検索し、タスクIDをレジ
スタバンクのバンク番号104に変換する。PEAから
選択されるページレジスタデータ111をEEAとし、
物理アドレス201の下位アドレスを拡張アドレス20
2の下位アドレスとしてメモリアドレス108を生成す
る。
【0007】図3は、ページレジスタデータテーブルの
概念を示す説明図である。図3において、301はペー
ジレジスタデータテーブルである。図4は、レジスタバ
ンク切り換え処理を示す流れ図である。タスクIDがレ
ジスタバンク選択テーブル203に存在しない場合に
は、制御はレジスタバンクの空きを捜す。空きがある場
合には、制御は未使用のレジスタバンクをひとつ選択
し、ページレジスタデータテーブル301の値をレジス
タバンクに書き込む。空きがない場合には、制御は使用
レジスタバンクのひとつを選択し、レジスタバンクを書
き変える。次に、ページレジスタの書き変え時にレジス
タバンク選択テーブル203とバンク番号レジスタの内
容とを書き変え、レジスタバンクを切り換える。
概念を示す説明図である。図3において、301はペー
ジレジスタデータテーブルである。図4は、レジスタバ
ンク切り換え処理を示す流れ図である。タスクIDがレ
ジスタバンク選択テーブル203に存在しない場合に
は、制御はレジスタバンクの空きを捜す。空きがある場
合には、制御は未使用のレジスタバンクをひとつ選択
し、ページレジスタデータテーブル301の値をレジス
タバンクに書き込む。空きがない場合には、制御は使用
レジスタバンクのひとつを選択し、レジスタバンクを書
き変える。次に、ページレジスタの書き変え時にレジス
タバンク選択テーブル203とバンク番号レジスタの内
容とを書き変え、レジスタバンクを切り換える。
【0008】
【発明の効果】以上説明したように本発明は、タスク切
り換えが発生した時にタスクコンテキストの拡張アドレ
ス空間へのマッピングをレジスタバンクの切り換えによ
って行うことができるので、レジスタバンク選択テーブ
ルにタスクIDが登録されているタスクについて、タス
ク切り換えに要する時間を短縮できるという利点があ
る。
り換えが発生した時にタスクコンテキストの拡張アドレ
ス空間へのマッピングをレジスタバンクの切り換えによ
って行うことができるので、レジスタバンク選択テーブ
ルにタスクIDが登録されているタスクについて、タス
ク切り換えに要する時間を短縮できるという利点があ
る。
【図1】メモリアドレス変換装置の一実施例を示すブロ
ック図である。
ック図である。
【図2】アドレス変換を示す説明図である。
【図3】ページレジスタデータテーブルの概念を示す説
明図である。
明図である。
【図4】レジスタバンク切り換え処理を示す流れ図であ
る。
る。
101 CPU 102 メモリ 103 MMU 104 バンク番号 105 CPUアドレス 106 レジスタバンクアドレス 107 レジスタメモリバンク 108 メモリアドレス 109,201 物理アドレス 110,202 拡張アドレス 111 ページレジスタデータ 112 バンク番号レジスタ 113 アドレス変換ユニット 203 レジスタバンク選択テーブル 301 ページレジスタデータテーブル
Claims (3)
- 【請求項1】 物理アドレスを有するCPUと、前記物
理アドレスより長い拡張アドレスを有するメモリと、前
記物理アドレスを拡張アドレスに変換するメモリ管理ユ
ニット(以下、MMUと略記する。)とを備えて構成し
たメモリアドレス空間拡張装置。 - 【請求項2】 前記MMUは、拡張アドレスの上位アド
レス(以下、拡張装置アドレスと称し、EEAと略記す
る。)を格納するための複数のページレジスタと、前記
物理アドレスの上位アドレス(以下、物理装置アドレス
と称し、PEAと略記する。)の数だけの前記ページレ
ジスタを組み合わせて構成した複数のレジスタバンク
と、前記複数のレジスタバンクから前記PEAを前記E
EAに変換するために使用されるレジスタバンクを指定
するためのバンク番号レジスタと、前記バンク番号レジ
スタで指定されたレジスタバンクを使用して前記物理ア
ドレス中のPEAで前記レジスタバンク中のページレジ
スタを選択し、前記ページレジスタの内容であるEEA
を求めることによって前記物理アドレスを拡張アドレス
に変換するためのアドレス演算ユニットとを備えて構成
した請求項1のメモリアドレス空間拡張装置。 - 【請求項3】 前記メモリの内容は、タスク管理プログ
ラムからタスクに制御を渡す際に前記レジスタバンクに
設定すべき内容(以下、タスク環境と称する。)をタス
ク単位に管理するためのページレジスタデータテーブル
と、前記複数のレジスタバンクがどのタスクの実行環境
になっているかを管理するためのレジスタバンク選択テ
ーブルと、前記タスクに制御を渡す際に前記レジスタバ
ンク選択テーブルを参照して前記タスク実行環境が設定
されているときに前記レジスタバンク番号を前記MMU
のバンク番号レジスタに設定するか、さもなければ適当
なレジスタバンクに前記タスクの実行環境を設定するた
めのタスク管理プログラムとを備えた請求項1のメモリ
アドレス空間拡張装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3290650A JPH05127979A (ja) | 1991-10-09 | 1991-10-09 | メモリアドレス空間拡張装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3290650A JPH05127979A (ja) | 1991-10-09 | 1991-10-09 | メモリアドレス空間拡張装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05127979A true JPH05127979A (ja) | 1993-05-25 |
Family
ID=17758718
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3290650A Pending JPH05127979A (ja) | 1991-10-09 | 1991-10-09 | メモリアドレス空間拡張装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05127979A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07129463A (ja) * | 1993-11-02 | 1995-05-19 | Nec Corp | メモリアドレス空間拡張装置 |
-
1991
- 1991-10-09 JP JP3290650A patent/JPH05127979A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07129463A (ja) * | 1993-11-02 | 1995-05-19 | Nec Corp | メモリアドレス空間拡張装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9678862B2 (en) | Computer system, memory management method and program thereof | |
| KR940022250A (ko) | 가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 | |
| JP2006331378A (ja) | フラッシュメモリ保存システム | |
| JPH05210570A (ja) | アドレス拡張をする方法及び手段 | |
| JPH05127979A (ja) | メモリアドレス空間拡張装置 | |
| JP3699003B2 (ja) | データ処理装置および方法 | |
| JP2003196087A (ja) | マイクロコントローラのメモリアドレッシング方法及びページマッピング装置 | |
| JPS5850B2 (ja) | 主記憶拡張装置のアクセス方式 | |
| JPS62120543A (ja) | メモリバンクの切替方式 | |
| JP3074984B2 (ja) | メモリ管理装置 | |
| JP2010108381A (ja) | 集積回路、集積回路の制御方法および半導体デバイス | |
| JPH0756638B2 (ja) | メモリアドレス空間拡張装置 | |
| JP2659979B2 (ja) | コンピュータシステム | |
| JPS63237143A (ja) | プログラマブルコントロ−ラ | |
| JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
| JPH02196332A (ja) | 情報処理装置 | |
| JPH04350731A (ja) | 開発支援システム | |
| JPH03211641A (ja) | メモリ装置のアドレス指定方法 | |
| JPH0865497A (ja) | 画像処理システム | |
| JP2001209578A (ja) | メモリ更新履歴管理方式 | |
| JPH04360252A (ja) | 計算機の仮想記憶におけるアドレス変換方式 | |
| JPH0836522A (ja) | メモリ制御方式 | |
| JPS6144339B2 (ja) | ||
| JPH0343651B2 (ja) | ||
| KR20000044549A (ko) | 마이크로 컨트롤러의 메모리 어드레싱 방법 및 그 장치 |