JPS589452B2 - フア−ムウエアホウシキ - Google Patents
フア−ムウエアホウシキInfo
- Publication number
- JPS589452B2 JPS589452B2 JP49009464A JP946474A JPS589452B2 JP S589452 B2 JPS589452 B2 JP S589452B2 JP 49009464 A JP49009464 A JP 49009464A JP 946474 A JP946474 A JP 946474A JP S589452 B2 JPS589452 B2 JP S589452B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- segment
- memory
- main memory
- firmware
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
この発明は情報処理装置において実行頻度がメきい処理
をマイクロプログラムで実行するファームウエア方式に
関する。
をマイクロプログラムで実行するファームウエア方式に
関する。
実行されるべきプログラムの少くとも一処理分は主メモ
リに記憶されなければならず、その一処理に必要な分の
プログラムが記憶されるだけの記憶容量が主メモリにな
ければそのプログラムを実行できない。
リに記憶されなければならず、その一処理に必要な分の
プログラムが記憶されるだけの記憶容量が主メモリにな
ければそのプログラムを実行できない。
そしてプログラム中の実行可能な分をファイルメモリか
ら主メモリに移して実行し、その実行が終ると、ファイ
ルメモリに戻すか、消去して新たな処理部分を主メモリ
に移して実行していた。
ら主メモリに移して実行し、その実行が終ると、ファイ
ルメモリに戻すか、消去して新たな処理部分を主メモリ
に移して実行していた。
従って主メモリの容量によりプログラムを変更する必要
があり、それだけプログラムの作成が面倒であった。
があり、それだけプログラムの作成が面倒であった。
この点を改善するために仮想メモリを使用し、プログラ
ム作成者はその仮想メモリにはプログラムの実行に必要
な記憶容量が充分あると考えてプログラムを作ることが
できるようにする方式が提案されている。
ム作成者はその仮想メモリにはプログラムの実行に必要
な記憶容量が充分あると考えてプログラムを作ることが
できるようにする方式が提案されている。
このプログラムの実行は、或る仮想アドレスが指定され
ると、仮想アドレスと実アドレスとの変換表が引かれ、
指定された情報が主メモリにない場合は、変換表に示さ
れるファイルアドレスより指定された情報を主メモリに
移し、この移した主メモリのアドレスを変換表に書込む
。
ると、仮想アドレスと実アドレスとの変換表が引かれ、
指定された情報が主メモリにない場合は、変換表に示さ
れるファイルアドレスより指定された情報を主メモリに
移し、この移した主メモリのアドレスを変換表に書込む
。
これにより仮想アドレスは主メモリ上の実アドレスに変
換され、その実アドレスにより主メモリがアクセスされ
てプログラムが実行される。
換され、その実アドレスにより主メモリがアクセスされ
てプログラムが実行される。
このようにしてプログラム作成者はそのプログラムが実
行される主メモリの記憶容量を意識することなくプログ
ラムを作成でき、フ殆グラムの作成が容易になる。
行される主メモリの記憶容量を意識することなくプログ
ラムを作成でき、フ殆グラムの作成が容易になる。
またプログラムの実行の際にその必要な部分のみを主メ
モリに移すので、一度に大きなプログラムを実行でき、
かつ一度に多数個のプログラムを実行でき、主メモリを
効率よく使用できる。
モリに移すので、一度に大きなプログラムを実行でき、
かつ一度に多数個のプログラムを実行でき、主メモリを
効率よく使用できる。
更に複数のプログラム中に同一プログラムルーチンがあ
る場合は、従来はそのルーチンをそれぞれのプログラム
に入れた状態で主メモリに記憶したため、そのルーチン
は重複されるが、仮想メモリの使用によればその共通の
ルーチンは1つだけを主メモリに記憶し、仮想アドレス
より実アドレスノ変換の際に複数のプログラムにおいて
共通のルーチンに対しては同一アドレスにそれぞれ変換
されるようにすることにより、主メモリを有効に利用で
きる。
る場合は、従来はそのルーチンをそれぞれのプログラム
に入れた状態で主メモリに記憶したため、そのルーチン
は重複されるが、仮想メモリの使用によればその共通の
ルーチンは1つだけを主メモリに記憶し、仮想アドレス
より実アドレスノ変換の際に複数のプログラムにおいて
共通のルーチンに対しては同一アドレスにそれぞれ変換
されるようにすることにより、主メモリを有効に利用で
きる。
一方機械語命令で書かれたプログラムの実行は次のよう
に行われる。
に行われる。
即ち、まず主メモリからある機械語命令が読出され、こ
の読出された機械語命令上の命令コードが解読され、こ
の命令コードに応じてこの命令コードが主メモリ上のデ
ータに対する処理を指定する場合には機械語命令上のオ
ペランドアドレスを用いて必要なデータを主メモリから
読出し、読出されたデータに対して指定された処理を行
った後、必要に応じてそのデータを主メモリに書込む。
の読出された機械語命令上の命令コードが解読され、こ
の命令コードに応じてこの命令コードが主メモリ上のデ
ータに対する処理を指定する場合には機械語命令上のオ
ペランドアドレスを用いて必要なデータを主メモリから
読出し、読出されたデータに対して指定された処理を行
った後、必要に応じてそのデータを主メモリに書込む。
このあと次の機械語命令を読出し、これを実行する。
このように主メモリから機械語命令の読出し、解読、必
要ならばデータの読出し、書込みをプログラムの各機械
語命令について順次行うことによってプログラムが実行
され,ることになる。
要ならばデータの読出し、書込みをプログラムの各機械
語命令について順次行うことによってプログラムが実行
され,ることになる。
よって主メモリに対するアクセス回数が多く、また解読
時間の合計も長くなる。
時間の合計も長くなる。
この点から1つの処理を直接マイクロプログラムで記述
してこれを実行すれば、いちいち読出し、解読を行うこ
となく、処理が行われるため、高速度で処理を行える。
してこれを実行すれば、いちいち読出し、解読を行うこ
となく、処理が行われるため、高速度で処理を行える。
従って、ある計算機システムにおいて、ある特定の処理
が実行される頻度が大きい場合には、これを、機械語プ
ログラムで実行するよりも、マイクロプログラムで実行
する(以後これをファーム?エア化するという)方が望
ましい。
が実行される頻度が大きい場合には、これを、機械語プ
ログラムで実行するよりも、マイクロプログラムで実行
する(以後これをファーム?エア化するという)方が望
ましい。
しかしながら、計算機の使用環境が異なれば、高速化し
たい処理部分も異なり、従ってファームウエア化する処
理部分も異なる。
たい処理部分も異なり、従ってファームウエア化する処
理部分も異なる。
よって種々のファームウエア化のされ方により、各々、
異なったプログラムを作成しなければならなくなり、フ
ァ、ームウエア化は、プログラム作成の面から困難なも
のとなる。
異なったプログラムを作成しなければならなくなり、フ
ァ、ームウエア化は、プログラム作成の面から困難なも
のとなる。
この発明の目的は高速処理が可能であり、かつファーム
ウエア化が容易で、しかもプログラム作成も容易なファ
ームウエア方式を提供するにある。
ウエア化が容易で、しかもプログラム作成も容易なファ
ームウエア方式を提供するにある。
本発明は、仮想アドレスを、プログラムの1つの処理区
切、即ち論理的な区切りで分割し(これを以下セグメン
トと呼ぶ)、このセグメントをファームウエア化の単位
とし、プログラムはファームウェア化の行われ方にかか
わらず、仮想アドレスを用いて作成し、プログラムの実
行に際し、仮想アドレスを主メモリ上の実アドレス、あ
るいは、制御メモリ上のマイクロプログラムアドレスに
変換し、前者の場合には、機械語プログラムとして実行
し、後者の場合には、ファームウエアで実行する。
切、即ち論理的な区切りで分割し(これを以下セグメン
トと呼ぶ)、このセグメントをファームウエア化の単位
とし、プログラムはファームウェア化の行われ方にかか
わらず、仮想アドレスを用いて作成し、プログラムの実
行に際し、仮想アドレスを主メモリ上の実アドレス、あ
るいは、制御メモリ上のマイクロプログラムアドレスに
変換し、前者の場合には、機械語プログラムとして実行
し、後者の場合には、ファームウエアで実行する。
更に仮想アドレスで指定された処理がファームウエア化
されているかどうかの情報をもたせ、ファームウエア化
されている場合において、その指定された処理を実行す
るためのマイクロプログラムルーチンが制御メモリに格
納されていれば、直ちにそれをファームウエアで実行し
、制御メモリ上に格納されていなければ、対応する処理
を行うマイクロプログラムルーチンをファイルメモリか
ら制御メモリに転送した後、ファームウエアにより実行
できるようにする。
されているかどうかの情報をもたせ、ファームウエア化
されている場合において、その指定された処理を実行す
るためのマイクロプログラムルーチンが制御メモリに格
納されていれば、直ちにそれをファームウエアで実行し
、制御メモリ上に格納されていなければ、対応する処理
を行うマイクロプログラムルーチンをファイルメモリか
ら制御メモリに転送した後、ファームウエアにより実行
できるようにする。
このようにすればファームウエア化により高速処理が可
能になり、又、ファームウエア化の行われ方にかかわら
ず、共通のプログラムを使用でき、プログラム作成が簡
単化される。
能になり、又、ファームウエア化の行われ方にかかわら
ず、共通のプログラムを使用でき、プログラム作成が簡
単化される。
又、本発明においては、セグメントを単位として、主メ
モリ、制御メモリへの割当てが行ワレルので、制御メモ
リへのアドレス変換のための連想メモリのキイ部のビッ
ト数を減少させることができる。
モリ、制御メモリへの割当てが行ワレルので、制御メモ
リへのアドレス変換のための連想メモリのキイ部のビッ
ト数を減少させることができる。
更に、ファームウエア化された処理に対応するマイクロ
プログラムルーチンが、実際に制御メモリに入っている
がどうかをプログラムを作成する人が意識しなくてもよ
く、プログラム作成が容易に行えるようになるとともに
、実際には小容量しかない制御メモリを見かけ上大容量
のものとして使用でき、制御メモリの有効利用が可能と
なる。
プログラムルーチンが、実際に制御メモリに入っている
がどうかをプログラムを作成する人が意識しなくてもよ
く、プログラム作成が容易に行えるようになるとともに
、実際には小容量しかない制御メモリを見かけ上大容量
のものとして使用でき、制御メモリの有効利用が可能と
なる。
次に本発明によるファームウエア方式の実施例を説明す
る。
る。
本実施例においては、仮想アドレスは、14ビットのセ
グメントアドレスと、14ビットのバイトアドレス、即
ちセグメント内アドレそからなる28ビットから構成さ
れ、セグイントアドビスは、6ビットおよび8ビットの
第1および第2セグメントアドレスSA1,SA2から
構成される。
グメントアドレスと、14ビットのバイトアドレス、即
ちセグメント内アドレそからなる28ビットから構成さ
れ、セグイントアドビスは、6ビットおよび8ビットの
第1および第2セグメントアドレスSA1,SA2から
構成される。
仮想メモリ上の情報は、セグメントを単位として、主メ
モリ、あるいは制御メモリに割り当てられる。
モリ、あるいは制御メモリに割り当てられる。
但し、セグメントが主メモリに割り当てられた場合には
、仮想メモリ上の情報がそのまま主メモリに転送される
のに対し、制御メモリに割り当てられた場合には、仮想
メモリ上の情報と等価の機能をもつマイクロプログラム
ルーチンが制御メモリに書き込まれる。
、仮想メモリ上の情報がそのまま主メモリに転送される
のに対し、制御メモリに割り当てられた場合には、仮想
メモリ上の情報と等価の機能をもつマイクロプログラム
ルーチンが制御メモリに書き込まれる。
本実施例においては、アドレス変換は、第1および第2
のテーブル用メモリ上の第1および第2セグメントテー
ブルを検策することにより行われる外に、連想メモリを
設け、よく使用されるアドレス変換はこのメモリにより
行われ、高速化が計られる。
のテーブル用メモリ上の第1および第2セグメントテー
ブルを検策することにより行われる外に、連想メモリを
設け、よく使用されるアドレス変換はこのメモリにより
行われ、高速化が計られる。
第1図において、1は第1セグメントテーブルST1を
もつ第1テーブル用メモリで、6ビットの第1セグメン
トアドレスSA1に対応して64個のエントリST1i
をもち、各エントリST1iは、第2図に示すように、
第1セグメントアドレスiに対応する第2セグメントテ
ーブルST2iの第2テーブル用メモリ2における開始
アドレスA(ST2i)を保持するアドレス部Aと、S
T2iのエントリ数N(ST2i)を保持するエントリ
数部Nとをもつ。
もつ第1テーブル用メモリで、6ビットの第1セグメン
トアドレスSA1に対応して64個のエントリST1i
をもち、各エントリST1iは、第2図に示すように、
第1セグメントアドレスiに対応する第2セグメントテ
ーブルST2iの第2テーブル用メモリ2における開始
アドレスA(ST2i)を保持するアドレス部Aと、S
T2iのエントリ数N(ST2i)を保持するエントリ
数部Nとをもつ。
第1セグメントアドレスSA1=iに対応する第2セグ
メントテーブルST2iの、SA2=jで指定される各
エントリST2ijは、第3図に示すように、セグメン
トijが主メモリにあることを示す第1タグビットT1
、制御メモリにあることを示す第2タグビットT2、セ
グメントijと等価の機能をもつマイクロプログラムル
ーチンが存在することを示す第3タグビットT3と、T
1が1のときセグメントijの主メモリ、あるいはT1
が0のとき、ファイルメモリ上の各機械語プログラムの
アドレス、又はT2が1のときセグメントijに対応す
るマイクロプログラムルーチンの制御メモリ上のアドレ
スを保持する現在アドレス部PAと、そのサイズを示す
CSと、T3が1のときに、対応するマイクロプログラ
ムルーチンのファイルメモリにおけるアドレスを保持す
る第2アドレス部FAと、そのサイズを示すFSとをも
つ。
メントテーブルST2iの、SA2=jで指定される各
エントリST2ijは、第3図に示すように、セグメン
トijが主メモリにあることを示す第1タグビットT1
、制御メモリにあることを示す第2タグビットT2、セ
グメントijと等価の機能をもつマイクロプログラムル
ーチンが存在することを示す第3タグビットT3と、T
1が1のときセグメントijの主メモリ、あるいはT1
が0のとき、ファイルメモリ上の各機械語プログラムの
アドレス、又はT2が1のときセグメントijに対応す
るマイクロプログラムルーチンの制御メモリ上のアドレ
スを保持する現在アドレス部PAと、そのサイズを示す
CSと、T3が1のときに、対応するマイクロプログラ
ムルーチンのファイルメモリにおけるアドレスを保持す
る第2アドレス部FAと、そのサイズを示すFSとをも
つ。
仮想アドレスは仮想アドレスレジスタVARに蓄積され
、第1テーブル用メモリST1は仮想第1セグメントア
ドレスSA1の値をアドレスとしてアクセスされ、読出
された値は、加算器A1の一方の入力に印加される。
、第1テーブル用メモリST1は仮想第1セグメントア
ドレスSA1の値をアドレスとしてアクセスされ、読出
された値は、加算器A1の一方の入力に印加される。
加算器A1のもう一方の入力には、仮想第2セグメント
アドレスSA2の値が印加され、その出力はアドレスと
して、第2テーブル用メモリST2に印加される。
アドレスSA2の値が印加され、その出力はアドレスと
して、第2テーブル用メモリST2に印加される。
第2テーブル用メモリST2の実アドレス部PAの値は
加算器A2の一方の入力に印加され、その加算器A2の
他方の入力には、仮想アドレスレジスタVARのバイト
アドレス部BAの値が印加されている。
加算器A2の一方の入力に印加され、その加算器A2の
他方の入力には、仮想アドレスレジスタVARのバイト
アドレス部BAの値が印加されている。
加算器A2の出力は、主メモリアドレスレジスタMMA
Rに印加されている。
Rに印加されている。
AMは仮想セグメントアドレスを実アドレスに変換する
ための連想メモリを示し、その1エントリは、第4図に
示すようにキイとして14ビットの仮想セグメントアド
レスSAをもちデータとして、セグメントに対応する情
報が主メモリ及び制御メモリにあることをそれぞれ示す
第1および第2タグT1およびT2,T1が1のときに
対応するセグメントの主メモリアドレスを、T2が1の
ときには対応するマイクロプログラムルーチンの制御メ
モリアドレスをそれぞれもつ現在アドレス部PAおよび
、そのサイズを示すサイズ部CSをもつ。
ための連想メモリを示し、その1エントリは、第4図に
示すようにキイとして14ビットの仮想セグメントアド
レスSAをもちデータとして、セグメントに対応する情
報が主メモリ及び制御メモリにあることをそれぞれ示す
第1および第2タグT1およびT2,T1が1のときに
対応するセグメントの主メモリアドレスを、T2が1の
ときには対応するマイクロプログラムルーチンの制御メ
モリアドレスをそれぞれもつ現在アドレス部PAおよび
、そのサイズを示すサイズ部CSをもつ。
連想メモリAMのキイ部には、14ビットの仮想アドレ
スのセグメントアドレス部SAの値が印加され、キイ部
に一致する内容をもつエントリがあると、一致検出信号
Fとともにそのデータ部の値を出力する。
スのセグメントアドレス部SAの値が印加され、キイ部
に一致する内容をもつエントリがあると、一致検出信号
Fとともにそのデータ部の値を出力する。
CMは中央処理装置の順序制御を行うためのマイクロプ
ログラムを格納する制御メモリで、制御メモリアドレス
レジスタCMARの値で指定される制御メモリCM内の
一語は制御メモリデータレジスタCMDRに読み出され
るが、この語、すなわち1マイクロ命令語は、中央処理
装置内の各種のゲート類等を制御するための制御信号G
Sを含む指令部Cと、次に実行すべきマイクロプログラ
ム命令語を指定するためのアドレス部Aとからなる。
ログラムを格納する制御メモリで、制御メモリアドレス
レジスタCMARの値で指定される制御メモリCM内の
一語は制御メモリデータレジスタCMDRに読み出され
るが、この語、すなわち1マイクロ命令語は、中央処理
装置内の各種のゲート類等を制御するための制御信号G
Sを含む指令部Cと、次に実行すべきマイクロプログラ
ム命令語を指定するためのアドレス部Aとからなる。
レジスタCMDRのアドレス部Aの値はマイクロプログ
ラムアドレス決定回路MADCに印加される。
ラムアドレス決定回路MADCに印加される。
回路MADCはアドレス部Aの値と、このMADCに印
加される中央処理装置における各種状態情報SSとによ
り次に実行すべきマイクロ命令アドレスを決定し、この
値はレジスタCMARに印加されている。
加される中央処理装置における各種状態情報SSとによ
り次に実行すべきマイクロ命令アドレスを決定し、この
値はレジスタCMARに印加されている。
又回路MADCは第2セグメントテーブルメモリST2
の実アドレス部の値、および、連想メモリAMの実アド
レス部PAの値も印加されている。
の実アドレス部の値、および、連想メモリAMの実アド
レス部PAの値も印加されている。
FM1は、その中に機械語プログラム及びプログラムで
使用するデータをもつ仮想メモリ用ファイルメモリで、
そのアドレスとして第2セグメントテーブルST2の実
アドレス部を用いて、主メモリデータレジスタMMDR
を介して主メモリとの情報の転送を行えるように構成さ
れている。
使用するデータをもつ仮想メモリ用ファイルメモリで、
そのアドレスとして第2セグメントテーブルST2の実
アドレス部を用いて、主メモリデータレジスタMMDR
を介して主メモリとの情報の転送を行えるように構成さ
れている。
FM2は、その中にセグメントで指定される処理に対応
するマイクロプログラムルーチンをもつ、マイクロプロ
グラム用ファイルメモリで、その内容はアドレスとして
第2セグメントテーブルから出力される第2アドレス部
FAの値を用いて、制御メモリデータレジスタCMDR
を介して制御メモリに転送され得る。
するマイクロプログラムルーチンをもつ、マイクロプロ
グラム用ファイルメモリで、その内容はアドレスとして
第2セグメントテーブルから出力される第2アドレス部
FAの値を用いて、制御メモリデータレジスタCMDR
を介して制御メモリに転送され得る。
次に本実施例の動作を説明する。
中央処理装置からメモリに対してアクセス要求,がある
と、仮想アドレスの14ビットのセグメント部の値が、
連想メモリAMのキイ部に印加され、検索が行なわれる
。
と、仮想アドレスの14ビットのセグメント部の値が、
連想メモリAMのキイ部に印加され、検索が行なわれる
。
連想メモリAMが一致を検出すると、一致した語におけ
るデータ部の値が読出され、第1および第2タグT1お
よびT2が調べられる。
るデータ部の値が読出され、第1および第2タグT1お
よびT2が調べられる。
T1が1の場合、即ち指定されたセグメントが主メモリ
MM上に存在する場合には、データ部の実アドレスPA
の値が第2加算器A2に印加され、仮想アドレスのバイ
トアドレス部BAの値と加算され、この結果が、主メモ
リアドレスレジスタMMARに格納され、この値により
主メモリMMに対するアクセスが行われる。
MM上に存在する場合には、データ部の実アドレスPA
の値が第2加算器A2に印加され、仮想アドレスのバイ
トアドレス部BAの値と加算され、この結果が、主メモ
リアドレスレジスタMMARに格納され、この値により
主メモリMMに対するアクセスが行われる。
連想メモリAMで一致が検出され、かつ第2タグT2が
1の場合、即ち指定されたセグメントに対応する処理を
行うマイクロプログラムルーチンが制御メモリ上に存在
する場合には、データ部の実アドレス部PAの値が制御
メモリアドレスレジスタCMARに格納され、この値に
より制御メモリCMが読出される。
1の場合、即ち指定されたセグメントに対応する処理を
行うマイクロプログラムルーチンが制御メモリ上に存在
する場合には、データ部の実アドレス部PAの値が制御
メモリアドレスレジスタCMARに格納され、この値に
より制御メモリCMが読出される。
即ち、実アドレス部PAから始まるマイクロプログラム
ルーチンが実行されることになる。
ルーチンが実行されることになる。
連想メモリAMが一致を検出しない場合には、まず、仮
想アドレスの第1セグメントアドレス部SA1の値をア
ドレスとして、第1セグメントテーブルST1が読出さ
れ、その読出された値と、第2セグメントアドレス部の
値SA2が第1加算、回路A1により加算され、この結
果の値をアドレスとして第2セグメントテーブルST2
が読出される。
想アドレスの第1セグメントアドレス部SA1の値をア
ドレスとして、第1セグメントテーブルST1が読出さ
れ、その読出された値と、第2セグメントアドレス部の
値SA2が第1加算、回路A1により加算され、この結
果の値をアドレスとして第2セグメントテーブルST2
が読出される。
読出された第2セグメントテーブルのエントリイの第1
タグT1が1の場合には、実アドレス部PAの値が第2
加算器A2に入力され、仮想アドレスのバイトアドレス
部の値BAと加算されその結果の値をアドレスとして主
メモリMMがアクセスされる。
タグT1が1の場合には、実アドレス部PAの値が第2
加算器A2に入力され、仮想アドレスのバイトアドレス
部の値BAと加算されその結果の値をアドレスとして主
メモリMMがアクセスされる。
第2タグT2が1の場合には、実アドレス部PAの値を
アドレスとして、制御メモリCMが読出される。
アドレスとして、制御メモリCMが読出される。
第1および第2タグピットがともにOのとき、即ち、必
要な情報が主メモリMM,制御メモリCMのいずれにも
存在しない場合には、制御メモリCMの特定の番地CM
A1に制御がわたされる。
要な情報が主メモリMM,制御メモリCMのいずれにも
存在しない場合には、制御メモリCMの特定の番地CM
A1に制御がわたされる。
即ち、CMA1の値が制御メモリアドレスレジスタCM
ARに格納される。
ARに格納される。
CMAIから始まるマイクロプログラムルーチンは次に
述べる処理を行う。
述べる処理を行う。
まず、第2セグメントテーブルST2から読出された第
3タグビットT3を調べる。
3タグビットT3を調べる。
これが0の場合にはこのセグメントに対応するマイクロ
プログラムルーチンは存在しない、即ち、ファームウエ
ア化されていないので、そのセグメントは必ず主メモリ
MMにもってくることになる。
プログラムルーチンは存在しない、即ち、ファームウエ
ア化されていないので、そのセグメントは必ず主メモリ
MMにもってくることになる。
これは、主メモリの空きエリアを管理するテーブル(主
メモリ内にとられているとする)を検索し、要求された
セグメントよりも大きい空きエリアをみつけ出し、この
エリアに、ST2の実アドレス部で指定されるファイル
メモリの内容を転送する。
メモリ内にとられているとする)を検索し、要求された
セグメントよりも大きい空きエリアをみつけ出し、この
エリアに、ST2の実アドレス部で指定されるファイル
メモリの内容を転送する。
空きエリアがない場合には、現在、主メモリ内にあるセ
グメントをファイルメモリに追出し、空きエリアを作っ
た後、要求されたセグメントの主メモリへの転送が行わ
れ、第2セグメントテーブルの第1タグに1が、実アド
レス部PAには、セグメントの格納された実アドレスが
書込まれる。
グメントをファイルメモリに追出し、空きエリアを作っ
た後、要求されたセグメントの主メモリへの転送が行わ
れ、第2セグメントテーブルの第1タグに1が、実アド
レス部PAには、セグメントの格納された実アドレスが
書込まれる。
第3タグピットが1の場合には、このセグメントはファ
ームウエア化されていて、このセグメントに対応するマ
イクロプログラムルーチンが存在し、それはFM2のF
A番地に格納されている。
ームウエア化されていて、このセグメントに対応するマ
イクロプログラムルーチンが存在し、それはFM2のF
A番地に格納されている。
この場合には、ST2のマイクロプログラムファイルア
ドレスFAから、FSで示される語数だけ、決定された
制御メモリの空きエリアに転送され、ST2の第2タグ
ピットには1が、実アドレス部PAに制御メモリアドレ
スが書込まれる。
ドレスFAから、FSで示される語数だけ、決定された
制御メモリの空きエリアに転送され、ST2の第2タグ
ピットには1が、実アドレス部PAに制御メモリアドレ
スが書込まれる。
連想メモリAMの内容は、セグメントがこのメモリAM
でみつからなかった場合にAM内の一語を追出し、この
語に新たに指定されたST2の内容を書込むことにより
更新される。
でみつからなかった場合にAM内の一語を追出し、この
語に新たに指定されたST2の内容を書込むことにより
更新される。
追出すべき語は、First−In−First−Ou
t,Least−Re−cently−Used等のア
ルゴリズムによって決定される。
t,Least−Re−cently−Used等のア
ルゴリズムによって決定される。
以上本発明の一実施例において説明したように、本発明
においては、セグメントを単位として、ファームウエア
化が行われており、仮想セグメントアドレスを実アドレ
スに変換する際に、対応するセグメントがファームウエ
ア化されているかどうかが識別され、ファームウエア化
されていない場合には主メモリ上の実セグメントアドレ
スに変換され、これとセグメント内アドレスを加算する
ことにより、主メモリの実アドレスが得られ、これによ
り主メモリに対してアクセスが行われる。
においては、セグメントを単位として、ファームウエア
化が行われており、仮想セグメントアドレスを実アドレ
スに変換する際に、対応するセグメントがファームウエ
ア化されているかどうかが識別され、ファームウエア化
されていない場合には主メモリ上の実セグメントアドレ
スに変換され、これとセグメント内アドレスを加算する
ことにより、主メモリの実アドレスが得られ、これによ
り主メモリに対してアクセスが行われる。
また、主メモリ上に対応するセグメントが存在しない場
合には、ファイルメモリ上から主メモリにセグメントを
転送したうえで主メモリへのアクセスが行われる。
合には、ファイルメモリ上から主メモリにセグメントを
転送したうえで主メモリへのアクセスが行われる。
また、セグメントがファームウェア化されている場合に
は対応するマイクロプログラムルーチンが制御メモリ上
に存在すれば、指定されたセグメントに対応するマイク
ロプログラムルーチンの制御メモリ上の実アドレスに変
換され、この実アドレスにより、ファームウエアとして
処理が実行される。
は対応するマイクロプログラムルーチンが制御メモリ上
に存在すれば、指定されたセグメントに対応するマイク
ロプログラムルーチンの制御メモリ上の実アドレスに変
換され、この実アドレスにより、ファームウエアとして
処理が実行される。
対応するマイクロプロクラムルーチンが制御メモリ上に
存在しない場合には、対応する処理を機械語プログラム
により実行するかファームウエアにより実行するかを決
定したうえで、ファームウエアで実行する場合には、フ
ァイルメモリから制御メモリに転送した後に、制御メモ
リ上でファームウエアにより実行される。
存在しない場合には、対応する処理を機械語プログラム
により実行するかファームウエアにより実行するかを決
定したうえで、ファームウエアで実行する場合には、フ
ァイルメモリから制御メモリに転送した後に、制御メモ
リ上でファームウエアにより実行される。
このような仮想アドレスの主メモリ上での実アドレスへ
の変換、あるいは制御メモリ上での実アドレスへの変換
が、従来の仮想アドレスから主メモリアドレスへのアド
レス変換のためのハードウェアとほとんど同じハードウ
エアにより行うことが可能である。
の変換、あるいは制御メモリ上での実アドレスへの変換
が、従来の仮想アドレスから主メモリアドレスへのアド
レス変換のためのハードウェアとほとんど同じハードウ
エアにより行うことが可能である。
また、プログラムを作成する人が対応する処理をソフト
ウエアで実行するかファームウエアで実行するかを意識
しなくてもよいだけでなく、ファームウエアで実行する
場合でも対応するファームウエアが制御メモリ上に存在
するかどうかを意識しなくてもよく、プログラムの作成
が頗る容易となる。
ウエアで実行するかファームウエアで実行するかを意識
しなくてもよいだけでなく、ファームウエアで実行する
場合でも対応するファームウエアが制御メモリ上に存在
するかどうかを意識しなくてもよく、プログラムの作成
が頗る容易となる。
本実施例においては、あるセグメントが主メモリにも制
御メモリにも存在しない場合の処理については、本発明
とは直接関係がないので、簡単に説明したが、これらの
処理については、従来行われていた、主メモリへのセグ
メントの割り当てのための各種の方式が適用できる。
御メモリにも存在しない場合の処理については、本発明
とは直接関係がないので、簡単に説明したが、これらの
処理については、従来行われていた、主メモリへのセグ
メントの割り当てのための各種の方式が適用できる。
又、本実施例においては、第1、第2セグメントテーブ
ルST1,ST2、連想メモリAMの各エントリの構成
が示されているが、必ずしもこのような構成にする必要
はなく、たとえば第2セグメントテーブルのマイクロプ
ログラムファイルのアドレスFA.サイズFS等は、S
T2に含ませないように構成することも可能であり、又
、AMの各エントリには、実際には、その使用状態を管
理するためのフィールドが設けられるであろう。
ルST1,ST2、連想メモリAMの各エントリの構成
が示されているが、必ずしもこのような構成にする必要
はなく、たとえば第2セグメントテーブルのマイクロプ
ログラムファイルのアドレスFA.サイズFS等は、S
T2に含ませないように構成することも可能であり、又
、AMの各エントリには、実際には、その使用状態を管
理するためのフィールドが設けられるであろう。
又ST1,ST2は特別のメモリで構成されるとしてい
るが、これを主メモリにおいて実現する事も可能である
。
るが、これを主メモリにおいて実現する事も可能である
。
同時に、第1および第2加算器のかわりに、中央処理装
置の他の加算器を使用することも可能である。
置の他の加算器を使用することも可能である。
又、実施例に示したAMの検索、セグメントテーブルの
検索等の処理は、制御メモリCMの制御により行うこと
もできるし、配線論理によって実現することも可能であ
る。
検索等の処理は、制御メモリCMの制御により行うこと
もできるし、配線論理によって実現することも可能であ
る。
第1図は本発明ファームウエア方式の一例を示すブロッ
ク図、第2図は第1セグメントテーブルの第1番目のエ
ントリを示す図、第3図は第2のセグメントテーブルの
第j番目のエントリを示す図、第4図は連想メモリの一
語を示す図である。
ク図、第2図は第1セグメントテーブルの第1番目のエ
ントリを示す図、第3図は第2のセグメントテーブルの
第j番目のエントリを示す図、第4図は連想メモリの一
語を示す図である。
Claims (1)
- 1 セグメントアドレス及びそのセグメント内のアドレ
スが格納された仮想アドレスレジスタと、該仮想アドレ
スのセグメントアドレスを主メモリの実セグメントアド
レス或は制御メモリの実セグメントアドレスに変換する
アドレス変換手段と、そのアドレス変換に際して対応す
る実アドレスが見つからなかった時に、アクセス要求さ
れたセグメントと対応する処理がファームウエア化され
ているか否かを調べる手段と、それがファームウエア化
されていない場合にはセグメント単位でファイルメモリ
から機械プログラムを主メモリに転送し、ファームウエ
ア化されている場合には対応するマイクロプログラムル
ーチンを制御メモリに転送する手段と、上記セグメント
内のアドレス及び上記主メモリの実セグメントアドレス
より主メモリ実アドレスを作る手段と、上記アドレス変
換された制御メモリの実セグメントアドレスにマイクロ
プログラムの制御を移す手段とを具備するファームウエ
ア方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP49009464A JPS589452B2 (ja) | 1974-01-21 | 1974-01-21 | フア−ムウエアホウシキ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP49009464A JPS589452B2 (ja) | 1974-01-21 | 1974-01-21 | フア−ムウエアホウシキ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS50104841A JPS50104841A (ja) | 1975-08-19 |
| JPS589452B2 true JPS589452B2 (ja) | 1983-02-21 |
Family
ID=11720983
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP49009464A Expired JPS589452B2 (ja) | 1974-01-21 | 1974-01-21 | フア−ムウエアホウシキ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS589452B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5440052A (en) * | 1977-09-06 | 1979-03-28 | Toshiba Corp | Information process system |
| JPS5558873A (en) * | 1978-10-26 | 1980-05-01 | Fujitsu Ltd | Data processor having common memory unit |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5640435B2 (ja) * | 1973-12-20 | 1981-09-21 |
-
1974
- 1974-01-21 JP JP49009464A patent/JPS589452B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS50104841A (ja) | 1975-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4608484B2 (ja) | ストレージの無効化、バッファ・エントリの消去 | |
| US8725956B2 (en) | Memory sharing among computer programs | |
| US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
| JP2825550B2 (ja) | 多重仮想空間アドレス制御方法および計算機システム | |
| JPH03142644A (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
| JPH0628262A (ja) | ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法 | |
| KR20150034662A (ko) | 다수의 순차적 어드레스 변환들을 위한 통합된 tlb 구조 | |
| JPH02150940A (ja) | データ処理システム及びその制御方法 | |
| US4757447A (en) | Virtual memory system having identity marking for common address space | |
| US5319761A (en) | Directory look-aside table for a virtual storage system including means for minimizing synonym entries | |
| JPS589452B2 (ja) | フア−ムウエアホウシキ | |
| JPH035851A (ja) | バッファ記憶装置 | |
| GB2037466A (en) | Computer with cache memory | |
| JPH0552539B2 (ja) | ||
| JPH06139147A (ja) | キャッシュメモリシステム | |
| JPWO1999057642A1 (ja) | データ処理装置 | |
| JPS5922315B2 (ja) | バツフア記憶制御方式 | |
| JP2540959B2 (ja) | 情報処理装置 | |
| WO1999057642A1 (en) | Data processing device and method | |
| JPH04205535A (ja) | コピーオンライト方式 | |
| JP2555461B2 (ja) | キャッシュメモリシステム | |
| JPS588073B2 (ja) | アドレス変換装置 | |
| JP2635310B2 (ja) | アドレス変換装置 | |
| JPS6367213B2 (ja) | ||
| JPH01177145A (ja) | 情報処理装置 |