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

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

Info

Publication number
JP2906852B2
JP2906852B2 JP4217221A JP21722192A JP2906852B2 JP 2906852 B2 JP2906852 B2 JP 2906852B2 JP 4217221 A JP4217221 A JP 4217221A JP 21722192 A JP21722192 A JP 21722192A JP 2906852 B2 JP2906852 B2 JP 2906852B2
Authority
JP
Japan
Prior art keywords
register
address
bank
page
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.)
Expired - Lifetime
Application number
JP4217221A
Other languages
English (en)
Other versions
JPH0644131A (ja
Inventor
吉宏 甲田
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4217221A priority Critical patent/JP2906852B2/ja
Publication of JPH0644131A publication Critical patent/JPH0644131A/ja
Application granted granted Critical
Publication of JP2906852B2 publication Critical patent/JP2906852B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリアドレス空間拡
張装置に関し、特にタスクのプログラム領域とタスク単
位で使用するデータ領域(以下タスクコンテキストと称
す)のアドレス空間拡張装置に関する。
【0002】
【従来の技術】従来のメモリアドレス空間拡張装置は、
タスク切り換えが発生すると、次に実行されるタスクの
プログラムが格納されている領域の拡張アドレスの上位
アドレス(以下、拡張装置アドレスと称し、EEAとい
う)をページレジスタに書き込むことによって、拡張ア
ドレス空間へのマッピングを行っていた。
【0003】
【発明が解決しようとする課題】この従来のメモリアド
レス空間拡張装置では、タスク切り換えが発生すると、
その都度必ずEEAをページレジスタに設定する必要が
あり、タスク切り換えに要する時間がかかるという問題
点があった。
【0004】本発明の目的は、タスク切り換えに要する
時間を短縮したメモリアドレス空間拡張装置を提供する
ことにある。
【0005】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るメモリアドレス空間拡張装置は、
リ管理ユニットと、メモリとを有するメモリアドレス空
間拡張装置であって、メモリ管理ユニットは、拡張アド
レスの上位アドレスを格納しているページレジスタと、
該ページレジスタを複数個有ずるレジスタバンクと、該
レジスタバンク中の連続したべ一ジレジスタを幾つか組
み合わせたレジスタブロックと、レジスタバンクの複数
の空き領域を1つにまとめる区画の詰め合わせを実行後
にレジスタバンクをアクセスするバンクアクセスアドレ
スを補正するレジスタアドレス補正レジスタと、該アド
レス補正レジスタ中のアドレス補正値と物理アドレス中
のPEAからバンクアクセスアドレスを求めるバンクア
クセスアドレス演算ユニットと、物理アドレスを拡張ア
ドレスに変換する拡張アドレス演算ユニットとを有して
おり、メモリは、レジスタバンクの状態をタスク単位で
管理し、ページレジスタにデータを設定するタスク管理
プログラムと、ページレジスタに設定するページレジス
タデータをタスク単位に管理しているページレジスタデ
ータテーブルと、レジスタバンクがどのタスクの実行環
境になっているかを管理しているページレジスタ管理テ
ーブルと、レジスタバンクの空き傾域を管理しているレ
ジスタバンク空き領域管理テーブルとを有するものであ
【0006】
【0007】
【作用】タスク切り換えが発生した時点でタスクコンテ
キストの拡張アドレス空間へのマッピングをレジスタブ
ロックに切り換えて行う。これにより、ページレジスタ
管理テーブルにタスクIDが登録されているタスクにつ
いてタスク切り換えに要する時間の短縮が可能となる。
【0008】
【実施例】次に本発明について図面を参照して説明す
る。図1は、本発明の一実施例に係るメモリアドレス空
間拡張装置の基本構成図である。
【0009】図1において、本発明はCPU(S10
1)と、メモリ管理ユニット(S103)と、メモリ
(102)とを有するメモリアドレス空間拡張装置であ
って、CPU(S101)は、ある長さの物理アドレス
を有するものであり、メモリ管理ユニット(S103)
は、物理アドレスを拡張アドレスに変換するものであ
る。
【0010】メモリ(102)は、物理アドレスより長
い拡張アドレスを記憶するものである。
【0011】メモリ管理ユニットMMUは、拡張アドレ
スの上位アドレスを格納しているページレジスタを複数
個有するレジスタバンク(S107)と、レジスタバン
ク(S107)中の連続したページレジスタを幾つか組
み合わせたレジスタブロックと、レジスタバンクの複数
の空き領域を1つにまとめる区画の詰め合わせを実行後
にレジスタバンクをアクセスするバンクアクセスアドレ
スを補正するレジスタアドレス補正レジスタ(S11
2)と、アドレス補正レジスタ中のアドレス補正値と物
理アドレス中のPEAからバンクアクセスアドレスを求
めるバンクアクセスアドレス演算ユニット(S114)
と、物理アドレスを拡張アドレスに変換する拡張アドレ
ス演算ユニット(S113)とを有する。
【0012】メモリ(102)には、レジスタバンクの
状態をタスク単位で管理し、ページレジスタにデータを
設定するタスク管理プログラムと、ページレジスタに設
定する値(以下、ページレジスタデータと称す)をタス
ク単位に管理しているページレジスタデータテーブル
と、レジスタバンクがどのタスクの実行環境になってい
るかを管理しているページレジスタ管理テーブルと、レ
ジスタバンクの空き領域を管理しているレジスタバンク
空き領域管理テーブルとを有している。
【0013】タスク切り換えが発生し、次に実行される
タスクがディスパッチされると、メモリ管理ユニット
(以下、MMUという)(S103)は、CPU(S1
01)からの物理アドレス(S109)をメモリ(S1
02)への拡張アドレス(S110)に変換する。以
下、アドレス変換手順について説明する。タスク管理プ
ログラムがタスクIDからページレジスタ管理テーブル
(S203)を用いて決定したアドレス補正値(S10
4)をアドレス補正レジスタ(S112)に書き込む。
アドレス補正値(S104)は、レジスタバンク(S1
07)の区画の詰め合わせを実行時に生じたバンクアド
レスとバンクアクセスアドレスの変位を補正する値であ
る。
【0014】次に、物理アドレス(S109)をCPU
アドレス(S105)とし、PEAを生成する。バンク
アドレス演算ユニット(S114)は、アドレス補正値
(S104)とPEAからバンクアクセスアドレス(S
106)を生成する。
【0015】次に、バンクアクセスアドレス(S10
6)によって選択されたページレジスタの値、すなわち
ページレジスタデータ(S111)を拡張アドレスの上
位アドレス(以下、EEAという)CPUアドレス(S
105)の下位アドレスをメモリアドレス(S108)
の下位アドレスとしてメモリアドレス(S108)を生
成する。CPU(S101)は、メモリアドレス(S1
08)を拡張アドレス(S110)としてメモリ(S1
02)をアクセスする。
【0016】図2はアドレス変換図である。タスク管理
プログラムは、ページレジスタ管理テーブル(S20
3)にディスパッチされたタスクのタスクIDが登録さ
れているか検索する。登録されている場合はアドレス補
正値をアドレス補正レジスタ(S204)に設定し、バ
ンクアドレス変換テーブル(S205)の中からPEA
を検索し、PEAから選択されるレジスタバンクアドレ
スとアドレス補正値からバンクアクセスアドレスを求め
る。バンクアクセスアドレスにより選択されたページレ
ジスタの値、すなわちページレジスタデータをEEAと
し、物理アドレス(S201)の下位アドレスを拡張ア
ドレス(S202)の下位アドレスとしてメモリアドレ
スを生成する。
【0017】図3はレジスタバンク管理概念図である。
タスク管理プログラムはレジスタバンク(S301)を
連続した幾つかのページレジスタにより構成されるレジ
スタブロックで管理し、タスク単位にページレジスタデ
ータが設定されているレジスタブロックをページレジス
タ管理テーブル(S302)で、空き領域のレジスタブ
ロックをレジスタバンク空き領域管理テーブル(S30
3)で管理する。
【0018】ページレジスタ管理テーブル(S302)
はタスクIDと、レジスタブロックの先頭レジスタのレ
ジスタバンクアドレス(以下、ブロック先頭アドレスと
いう)と、レジスタブロックの大きさ(以下、ブロック
サイズという)と、アドレス補正値と、レジスタブロッ
クがバンクアドレス変換テーブルに登録されているか否
かという情報(以下、レジスタブロック状態という)を
持ち、レジスタバンク空き領域管理テーブル(S30
3)は、ブロック先頭アドレスと、ブロックサイズを持
っている。
【0019】図4はページレジスタデータテーブル概念
図、図5はレジスタブロック切り換え処理流れ図であ
る。ディスパッチされたタスクのタスクIDがページレ
ジスタ管理テーブルに存在する場合、すなわちページレ
ジスタデータがレジスタバンクに設定されている場合は
レジスタブロック状態を参照して、バンクアドレス変換
テーブルにレジスタブロックが登録されていなければバ
ンクアドレス変換テーブルを更新する。タスクIDがペ
ージレジスタ管理テーブルに存在しない場合、すなわち
ページレジスタデータがレジスタバンクに存在しない場
合は、タスク管理プログラムは、ページレジスタデータ
テーブル(S401)からディスパッチされたタスクの
ページレジスタデータを設定するのに必要なブロックサ
イズを判断し、レジスタバンクの空き領域にページレジ
スタデータを設定するのに十分なブロックサイズのレジ
スタブロックが存在するか確認する。
【0020】存在しない場合は空き領域のレジスタブロ
ックのブロックサイズの合計がページレジスタデータを
設定するのに十分か確認する。十分な場合はページレジ
スタ管理テーブルが管理しているレジスタブロックでバ
ンクアドレス変換テーブルにレジスタバンクアドレスが
設定されていないものを1つ選択し空き領域とする。
【0021】不十分な場合は、空き領域の区間の詰め合
わせを行い、ページレジスタ管理テーブルのアドレス補
正値とレジスタバンク空き領域管理テーブルを更新す
る。更にレジスタバンクの空き領域に十分なサイズのレ
ジスタブロックが存在するか確認する。十分なサイズの
レジスタブロックが存在しない場合は以上の処理を繰り
返す。存在しない場合は十分なサイズのレジスタブロッ
クを1つ選択し、ページレジスタデータを設定する。次
に、バンクアドレス変換テーブルとページレジスタ管理
テーブルとレジスタバンク空き領域管理テーブルを更新
する。これらの処理の後にタスク管理プログラムはアド
レス補正値をアドレス補正レジスタに設定する。
【0022】
【発明の効果】以上説明したように本発明は、タスク切
り換えが発生した時タスクコンテキストの拡張アドレス
空間へのマッピングをレジスタブロックを切り換えて行
うことができるので、ページレジスタ管理テーブルにタ
スクIDが登録されているタスクについてタスク切り換
えに要する時間を短縮できるという効果を有する。
【図面の簡単な説明】
【図1】本発明の一実施例に係るメモリアドレス空間拡
張装置の基本構成図である。
【図2】アドレス変換図である。
【図3】ページレジスタデータテーブル概念図である。
【図4】レジスタバンク管理概念図である。
【図5】レジスタバンク切り換え処理流れ図である。
【符号の説明】
S101 CPU S102 メモリ S103 MMU S104 アドレス補正値 S105 CPUアドレス S106 バンクアクセスアドレス S107 レジスタバンク S108 メモリアドレス S109 物理アドレス S110 拡張アドレス S111 ページレジスタデータ S112 アドレス補正レジスタ S113 拡張アドレス演算ユニット S114 バンクアドレス演算ユニット S201 物理アドレス S202 拡張アドレス S203 ページレジスタ管理テーブル S204 アドレス補正レジスタ S301 レジスタバンク S302 ページレジスタ管理テーブル S303 レジスタバンク空き領域管理テーブル S401 ページレジスタデータテーブル

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 モリ管理ユニットと、メモリとを有す
    るメモリアドレス空間拡張装置であって、 メモリ管理ユニットは、拡張アドレスの上位アドレスを
    格納しているページレジスタと、該ページレジスタを複
    数個有ずるレジスタバンクと、該レジスタバンク中の連
    続したべ一ジレジスタを幾つか組み合わせたレジスタブ
    ロックと、レジスタバンクの複数の空き領域を1つにま
    とめる区画の詰め合わせを実行後にレジスタバンクをア
    クセスするバンクアクセスアドレスを補正するレジスタ
    アドレス補正レジスタと、該アドレス補正レジスタ中の
    アドレス補正値と物理アドレス中のPEAからバンクア
    クセスアドレスを求めるバンクアクセスアドレス演算ユ
    ニットと、物理アドレスを拡張アドレスに変換する拡張
    アドレス演算ユニットとを有しており、 メモリは、レジスタバンクの状態をタスク単位で管理
    し、ページレジスタにデータを設定するタスク管理プロ
    グラムと、ページレジスタに設定するページレジスタデ
    ータをタスク単位に管理しているページレジスタデータ
    テーブルと、レジスタバンクがどのタスクの実行環境に
    なっているかを管理しているページレジスタ管理テーブ
    ルと、レジスタバンクの空き傾域を管理しているレジス
    タバンク空き領域管理テーブルとを有していることを特
    徴とするメモリアドレス空間拡張装置。
JP4217221A 1992-07-23 1992-07-23 メモリアドレス空間拡張装置 Expired - Lifetime JP2906852B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4217221A JP2906852B2 (ja) 1992-07-23 1992-07-23 メモリアドレス空間拡張装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4217221A JP2906852B2 (ja) 1992-07-23 1992-07-23 メモリアドレス空間拡張装置

Publications (2)

Publication Number Publication Date
JPH0644131A JPH0644131A (ja) 1994-02-18
JP2906852B2 true JP2906852B2 (ja) 1999-06-21

Family

ID=16700752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4217221A Expired - Lifetime JP2906852B2 (ja) 1992-07-23 1992-07-23 メモリアドレス空間拡張装置

Country Status (1)

Country Link
JP (1) JP2906852B2 (ja)

Also Published As

Publication number Publication date
JPH0644131A (ja) 1994-02-18

Similar Documents

Publication Publication Date Title
US8930659B2 (en) Computer system, memory management method and program thereof
US8055681B2 (en) Data storage method and data storage structure
EP1517504B1 (en) Method and apparatus for protocol processing in a computer system applying memory address translation
US6282700B1 (en) Mechanism for maintaining revisions of objects in flash memory
US6654855B1 (en) Method and apparatus for improving the efficiency of cache memories using chained metrics
US6487630B2 (en) Processor with register stack engine that dynamically spills/fills physical registers to backing store
EP2179361A1 (en) Cache sector allocation
KR940022250A (ko) 가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법
JP3900025B2 (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
JP2002073378A5 (ja)
JPH11259285A (ja) オペレーティングシステムのモジュール入れ替え方法及びモジュールの入れ替えを作う処理装置
JP2906852B2 (ja) メモリアドレス空間拡張装置
JP2002149491A (ja) プロセッサメモリシステム
JP2007304747A (ja) 計算機システム及びメモリアクセス方法
EP1103898A2 (en) Microprocessor and memory
EP1573553A1 (en) Selectively changeable line width memory
JP2001290704A (ja) マルチプロセス制御装置及びマルチプロセス制御方法
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
JPS5847784B2 (ja) キ−記憶システム
JPH09319658A (ja) 可変ページサイズのメモリ管理方式
US10817288B2 (en) Combined instruction for addition and checking of terminals
JPS63174145A (ja) デ−タ処理装置
JP2004152292A (ja) 予測アドレス値を生成するための計算回路、および計算回路で次アドレスを予測する方法
KR20020066283A (ko) 네트웍 메모리 관리 방법 및 그를 이용한 네트웍 드라이브장치
JP2000181793A (ja) キャッシュメモリ