JPH06231038A - メモリアドレス空間拡張装置 - Google Patents

メモリアドレス空間拡張装置

Info

Publication number
JPH06231038A
JPH06231038A JP3732693A JP3732693A JPH06231038A JP H06231038 A JPH06231038 A JP H06231038A JP 3732693 A JP3732693 A JP 3732693A JP 3732693 A JP3732693 A JP 3732693A JP H06231038 A JPH06231038 A JP H06231038A
Authority
JP
Japan
Prior art keywords
task
register
bank
address
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.)
Granted
Application number
JP3732693A
Other languages
English (en)
Other versions
JPH0756638B2 (ja
Inventor
Yoshihiro Koda
吉宏 甲田
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 JP3732693A priority Critical patent/JPH0756638B2/ja
Publication of JPH06231038A publication Critical patent/JPH06231038A/ja
Publication of JPH0756638B2 publication Critical patent/JPH0756638B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 タスク切り換えの際に短時間でタスクの切り
換えを行う。 【構成】 切り換えられるタスクのバンク番号がレジス
タバンク選択ユニットのテーブル中に存在しない場合
は、一定時間内のタスクの切り換え毎に計数される選択
回数の最も少ないタスクに対応するバンク番号をバンク
番号レジスタに設定してページレジスタの選択を行い、
選択されたページレジスタに対し切り換えられるタスク
の実行環境を設定する。この結果、タスクの実行環境の
書き換えの頻度が減少し、タスクの切り換え時間を短縮
できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリアドレス空間拡
張装置に関し、特にメモリ中の各タスクのプログラム領
域と各タスク単位で用いられるデータ領域の各アドレス
空間を拡張するメモリアドレス空間拡張装置に関する。
【0002】
【従来の技術】従来、メモリ中の各タスクのプログラム
領域と各タスク単位で用いられるデータ領域の各アドレ
ス空間を拡張するようなメモリアドレス空間拡張装置に
おいては、タスク切り換えが生じたときに次に実行され
るタスクのアドレス情報等の実行環境がレジスタバンク
の中に設定されていれば、これに該当する内容をメモリ
の拡張アドレスとして出力してメモリをアクセスするよ
うにしている。また、次に実行されるタスクの実行環境
がレジスタバンク中に設定されていなければ、任意のレ
ジスタバンクの内容が新たに切り換えられるタスクの実
行環境に書き換えられ、この書き換え内容に応じた拡張
アドレスによりメモリがアクセスされるようになってい
る。
【0003】
【発明が解決しようとする課題】従来は、タスク切り換
えの際に該当するタスクの実行環境がレジスタバンクに
未設定の場合は、任意のレジスタバンクの内容を新たに
切り換えられるタスクの実行環境に書き換えて設定する
ようにしているため、例えばこの書き換えの直後にこの
書き換えにより消去されたタスクが再び起動されてその
実行環境に切り換えるような場合は、再度レジスタバン
クの書き換えを行わなければならず、したがってタスク
切り換えの際にレジスタバンクの書き換えが頻繁に生じ
て、全体としてタスクの切り換えに時間がかかるという
問題を生じている。
【0004】したがって本発明は、タスク切り換えの際
に短時間でタスクの切り換えを行うことを目的とする。
【0005】
【課題を解決するための手段】このような課題を解決す
るために本発明は、CPUの物理アドレスをこの物理ア
ドレスより広いアドレス空間を有する拡張アドレスに変
換してメモリへ出力するメモリ管理ユニットに、拡張ア
ドレスの上位アドレスを示す拡張装置アドレスを格納す
る複数のページレジスタと、物理アドレスの上位アドレ
スを示す物理装置アドレスの数だけの上記ページレジス
タを組み合わせて構成した複数のレジスタバンクと、こ
の複数のレジスタバンクの中から1つのレジスタバンク
を選択するバンク番号を格納するバンク番号レジスタ
と、複数のバンク番号をタスク単位で管理するテーブル
を有すると共にタスクの切り換えの際に書き換え対象と
なるバンク番号をバンク番号レジスタに設定するレジス
タバンク選択ユニットとを備えると共に、切り換えられ
るタスクのバンク番号が上記テーブル中に存在しない場
合は一定時間内のタスクの切り換え毎に計数される選択
回数の最も少ないタスクに対応するバンク番号をバンク
番号レジスタに設定し、この設定により選択されたペー
ジレジスタに切り換えられるタスクの実行環境を設定す
る手段を上記レジスタバンク選択ユニットに備えたもの
である。
【0006】
【作用】切り換えられるタスクのバンク番号がレジスタ
バンク選択ユニットのテーブル中に存在しない場合は、
一定時間内のタスクの切り換え毎に計数される選択回数
の最も少ないタスクに対応するバンク番号がバンク番号
レジスタに設定されてページレジスタの選択が行われ、
選択されたページレジスタに対し切り換えられるタスク
の実行環境が設定される。この結果、タスクの実行環境
の書き換えの頻度が減少し、タスクの切り換え時間が短
くなる。
【0007】
【実施例】以下、本発明について図面を参照して説明す
る。図1は本発明に係るメモリアドレス空間拡張装置の
一実施例を示すブロック図であり、同図において、1は
物理アドレスを有するCPU、2は物理アドレスよりも
広いアドレス空間を有するメモリ、3はメモリ管理ユニ
ット(以下、MMU)である。ここでMMU3は、レジ
スタバンク選択ユニット4、レジスタバンク選択ユニッ
ト4により選択されたバンク番号を記憶するバンク番号
レジスタ5、CPU1から出力される物理アドレスを格
納するCPUアドレス部6及びアドレス演算ユニット7
から構成されている。また、アドレス演算ユニット7に
は、ページレジスタ10が複数設けられているレジスタ
バンク11を複数記憶するレジスタバンクメモリ12、
各ページレジスタ10をアクセスするためのアドレスを
記憶するレジスタバンクアドレス部13、及びメモリ2
をアクセスするメモリアドレスを記憶するメモリアドレ
ス部14が設けられている。
【0008】次に、図2は、CPU1から出力される物
理アドレスをメモリ2のアクセスを行うメモリアドレス
に変換する場合のMMU3の動作状況を示す図であり、
図中のレジスタバンク選択テーブル40は、レジスタバ
ンク選択ユニット4に設けられ、複数のタスクIDに対
応して各バンク番号,選択回数及び選択時間が対に記憶
されている。
【0009】次に、図1,図2を用いて上記実施例装置
の動作の概要を説明する。CPU1によりタスク管理プ
ログラムが実行され、このタスク管理プログラムの実行
により次に実行されるタスクがディスパッチされる場
合、CPU1はMMU3に対し信号線9を介して該当タ
スクのIDを送出する。この場合MMU3は、ディスパ
ッチされるタスクのIDに一致するものが上記レジスタ
バンク選択テーブル40内に存在するか否かを検出し、
一致するタスクIDが存在すれば、このタスクIDに対
応するバンクの番号をバンク番号レジスタ部5に書き込
む。次に、MMU1はこのときのCPU1からの物理ア
ドレスをCPUアドレス部6に設定しその上位アドレス
(物理装置アドレス、以下PEAという)を生成して、
生成されたPEAを下位アドレスとし、上記バンク番号
を上位アドレスとするレジスタバンクアドレスを生成し
レジスタバンクアドレス部13に設定する。
【0010】この設定されたレジスタバンクアドレス中
の上位アドレスによりレジスタバンク11の何れかが選
択され、選択されたレジスタバンク11中の各ページレ
ジスタ10の何れかはレジスタバンクアドレス中の下位
アドレスにより選択される。そして選択されたページレ
ジスタのデータを上位アドレスとし、CPU1の物理ア
ドレスの下位アドレスを下位アドレスとするメモリアド
レスが生成されてメモリアドレス部14に設定され、こ
のメモリアドレスによりメモリ2がアクセスされること
になる。したがって、上記ページレジスタデータの値を
CPU1からの物理アドレスの上位アドレス値より大き
く設定すれば、メモリ2の拡張アドレスとして用いるこ
とができる。
【0011】次に、ディスパッチ、即ち切り換えられる
タスクのIDに一致するものが上記レジスタバンク選択
テーブル40内に存在しない場合は、このテーブル40
内の各タスクIDに対応して設けられ一定時間内にタス
クの切り換え毎に計数される選択回数及び各タスクの切
り換え後に計時される選択時間をそれぞれ検出し、選択
回数が最も少なくかつ選択時間が最も長いバンク番号を
選んでこれに対応するページレジスタ10を選択すると
共に、選択されたページレジスタ10に対し切り換えら
れるタスクのアドレス情報等のタスク実行環境を設定す
る。図3は、ページレジスタに対しアドレス情報等のデ
ータを設定する場合の設定状況を示す図であり、図中の
ページレジスタデータテーブル41は、レジスタバンク
選択ユニット4内に設けられている。ここで、このペー
ジレジスタデータテーブル41には、切り換えられる各
タスクのIDに対応して各ページレジスタデータ(アド
レス情報等)が設けられ、タスクを切り換える際にこの
タスクIDに対応するページレジスタデータが選択され
たページレジスタ10に設定される。
【0012】次に図4は、切り換えられるタスクのID
に一致するIDが上記レジスタバンク選択テーブル40
内に存在しない場合のMMU3の動作を示すフローチャ
ートであり、このフローチャートに基づいて上記MMU
3の動作を詳細に説明する。即ち、ステップ100にお
いてタスクの切り換えが発生すると、ステップ101に
おいてレジスタバンク選択テーブル40の中から該当す
るタスクのIDを検索する。この場合、該当のタスクI
Dが存在しなければ、ステップ102で上記テーブル4
0内の各タスクに対応する各選択回数を検索し、一定時
間内の選択回数の最も少ないバンク番号を選択する。
【0013】そして、選択回数の最も少ないバンク番号
が複数存在するか否かをステップ103で判断し、この
場合複数のバンク番号が存在していなければステップ1
05へ移行する一方、複数存在していればステップ10
4でこれらの中から最も選択時間の長いバンク番号を選
択してステップ105へ移行する。即ち、選択回数の最
も少ないバンク番号が複数存在していれば、これらの中
で直前にアクセスされたタスクのバンク番号は除外さ
れ、アクセス後に最も時間の経過しているものを選択す
る。
【0014】ステップ105では、選択されたバンク番
号及びPEAによりレジスタバンク内のページレジスタ
を選択すると共に、選択されたページレジスタに対しペ
ージレジスタデータテーブル41内の該当タスクに対応
するページレジスタデータを書き込む。そして、ステッ
プ106において、ページレジスタテーブル41内の該
当タスクのIDをレジスタバンク選択テーブル40内の
上記バンク番号に対応するタスクIDとして設定すると
共に選択回数を1つ増加させる等の更新処理を実行す
る。その後、ステップ107で上記バンク番号をバンク
番号レジスタ5に書き込むことにより、該当のページレ
ジスタのデータが上位アドレスとしてメモリ2に出力さ
れると共に、このときメモリ2の下位アドレスとしてC
PU1の下位アドレスが出力されることからメモリ2に
対するアクセスが行われ、切り換えられたタスクが始動
する。
【0015】このように、切り換えられるタスクのID
に該当するものがレジスタバンク選択テーブル40内に
存在しない場合は、頻繁にアクセスされないタスクのバ
ンク番号を選んでこれに対応するページレジスタ10を
選択すると共に、選択されたページレジスタ10に対し
切り換えられるタスクのタスク実行環境を設定するよう
にしたものである。この結果、任意のレジスタバンクの
書き換えの直後にこの書き換えにより消去されたタスク
が再び起動されてその実行環境に切り換えるような場
合、再度のレジスタバンクの書き換えが阻止され、した
がって書き換え頻度が減少してタスク切り換えの際の切
り換え時間が短縮される。
【0016】
【発明の効果】以上説明したように本発明によれば、切
り換えられるタスクのバンク番号がレジスタバンク選択
ユニットのテーブル中に存在しない場合は、一定時間内
のタスクの切り換え毎に計数される選択回数の最も少な
いタスクに対応するバンク番号をバンク番号レジスタに
設定してページレジスタの選択を行い、選択されたペー
ジレジスタに対し切り換えられるタスクの実行環境を設
定するようにしたので、タスクの実行環境の書き換えの
頻度が減少し、タスクの切り換え時間を短縮できるとい
う効果がある。
【図面の簡単な説明】
【図1】本発明のメモリアドレス空間拡張装置の一実施
例を示すブロック図である。
【図2】上記装置においてタスク切り換えの際のアドレ
スの出力状況を示す説明図である。
【図3】上記装置においてタスク切り換えの際のアドレ
スの設定状況を示す説明図である。
【図4】上記装置の動作を示すフローチャートである。
【符号の説明】
1 CPU 2 メモリ 3 メモリ管理ユニット(MMU) 4 レジスタバンク選択ユニット 5 バンク番号レジスタ 6 CPUアドレス部 7 アドレス演算ユニット 10 ページレジスタ 11 レジスタバンク 12 レジスタバンクメモリ 13 レジスタバンクアドレス部 14 メモリアドレス部 40 レジスタバンク選択テーブル 41 ページレジスタデータテーブル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 物理アドレスを有するCPUと、前記物
    理アドレスより広いアドレス空間である拡張アドレスを
    有するメモリと、前記物理アドレスを前記拡張アドレス
    に変換するメモリ管理ユニットとを備えたメモリアドレ
    ス空間拡張装置において、 前記メモリ管理ユニットに、前記拡張アドレスの上位ア
    ドレスを示す拡張装置アドレスを格納する複数のページ
    レジスタと、前記物理アドレスの上位アドレスを示す物
    理装置アドレスの数だけの前記ページレジスタを組み合
    わせて構成した複数のレジスタバンクと、この複数のレ
    ジスタバンクの中から1つのレジスタバンクを選択する
    バンク番号を格納するバンク番号レジスタと、複数の前
    記バンク番号をタスク単位で管理するテーブルを有する
    と共にタスクの切り換えの際に書き換え対象となるバン
    ク番号を前記バンク番号レジスタに設定するレジスタバ
    ンク選択ユニットとを備えると共に、切り換えられるタ
    スクのバンク番号が前記テーブル中に存在しない場合は
    一定時間内のタスクの切り換え毎に計数される選択回数
    の最も少ないタスクに対応するバンク番号を前記バンク
    番号レジスタに設定し、この設定により選択されたペー
    ジレジスタに前記切り換えられるタスクの実行環境を設
    定する手段を前記レジスタバンク選択ユニットに備えた
    ことを特徴とするメモリアドレス空間拡張装置。
JP3732693A 1993-02-03 1993-02-03 メモリアドレス空間拡張装置 Expired - Lifetime JPH0756638B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3732693A JPH0756638B2 (ja) 1993-02-03 1993-02-03 メモリアドレス空間拡張装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3732693A JPH0756638B2 (ja) 1993-02-03 1993-02-03 メモリアドレス空間拡張装置

Publications (2)

Publication Number Publication Date
JPH06231038A true JPH06231038A (ja) 1994-08-19
JPH0756638B2 JPH0756638B2 (ja) 1995-06-14

Family

ID=12494532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3732693A Expired - Lifetime JPH0756638B2 (ja) 1993-02-03 1993-02-03 メモリアドレス空間拡張装置

Country Status (1)

Country Link
JP (1) JPH0756638B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2359607B (en) * 2000-02-24 2003-09-17 Draftex Ind Ltd Vibration damping arrangements

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2359607B (en) * 2000-02-24 2003-09-17 Draftex Ind Ltd Vibration damping arrangements

Also Published As

Publication number Publication date
JPH0756638B2 (ja) 1995-06-14

Similar Documents

Publication Publication Date Title
US5737750A (en) Partitioned single array cache memory having first and second storage regions for storing non-branch and branch instructions
JPH06231038A (ja) メモリアドレス空間拡張装置
AU604101B2 (en) High availability cache organization
JPH06338195A (ja) 電気的消去可能な不揮発性メモリの書き込み回数管理装置
JP2757755B2 (ja) メモリアドレス空間拡張装置
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
JPH07182145A (ja) 乱数の初期値生成装置
JPH0784886A (ja) キャッシュメモリ制御方法およびキャッシュメモリ制御装置
JPH05127979A (ja) メモリアドレス空間拡張装置
KR200204909Y1 (ko) 분할된 내부 코드 메모리를 갖는 마이크로컨트롤러
JPH08174926A (ja) 印刷装置
KR960704270A (ko) 라이트 히트후 지연없는 저전력, 고성능, 온칩 캐쉬(low power, high performance, on-chip cache with no stall after a write hit)
JP3074984B2 (ja) メモリ管理装置
JPH06131899A (ja) 半導体記憶装置
JP2001209578A (ja) メモリ更新履歴管理方式
JPH04350731A (ja) 開発支援システム
JPH07152653A (ja) データ処理装置
JPH05298086A (ja) 情報処理装置
JPH05314003A (ja) キャッシュメモリ装置
JPH01318127A (ja) メモリ・バンクの切換方式
JPH0644131A (ja) メモリアドレス空間拡張装置
JPH04242431A (ja) 情報処理装置
JPH07281951A (ja) 拡張可能な記憶装置の制御方法とその装置
JPH02196332A (ja) 情報処理装置
JPH06187245A (ja) キャッシュメモリ制御装置