JP3373535B2 - 電子計算機におけるアドレス変換方式 - Google Patents
電子計算機におけるアドレス変換方式Info
- Publication number
- JP3373535B2 JP3373535B2 JP18633191A JP18633191A JP3373535B2 JP 3373535 B2 JP3373535 B2 JP 3373535B2 JP 18633191 A JP18633191 A JP 18633191A JP 18633191 A JP18633191 A JP 18633191A JP 3373535 B2 JP3373535 B2 JP 3373535B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- state
- conversion table
- system bus
- input
- 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 - Fee Related
Links
Landscapes
- Bus Control (AREA)
- Memory System (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は互いに異なるアドレス
幅を有する2種類のシステムバスを有する電子計算機に
おいて、一方のバスに接続されているモジュールから他
方のバスに接続されているメモリをアクセスする際のア
ドレス変換方式に関する。 【0002】 【従来の技術】一般に、互いに異なるアドレス幅を有す
る2種類のシステムバスを有する電子計算機は、図5の
ように構成されている。 【0003】図5において、1は例えば32ビットのア
ドレス幅を有する第1のシステムバス、2は例えば24
ビットのアドレス幅を有する第2のシステムバス、11
はCPU、12はメインメモリ、13はバスアダプタ、
14はローカルメモリ、15は入出力装置(I/O)で
ある。ここで、入出力装置(I/O)15がメインメモ
リ12の特定の記憶領域をアクセスする場合を考える。 【0004】この場合、入出力装置(I/O)15は、
CPU11からバスアダプタ13を介して起動される。
この時、バスアダプタ13には、CPU11から、入出
力装置(I/O)15が使用するメインメモリ12内の
バッファアドレス(使用可能な記憶空間の先頭アドレ
ス)と、バッファレングス(その記憶空間の大きさ)が
通知される。 【0005】従来は、システムバス1と2のアドレス幅
の違いにより、入出力装置(I/O)15がメインメモ
リ12を直接アクセスできないため、バスアダプタ13
が入出力装置(I/O)15への起動をCPU11から
受けた時には、バスアダプタ13は、入出力装置(I/
O)15が使用するメインメモリ12のバッファエリア
をローカルメモリ14にデータ転送してから、入出力装
置(I/O)15を起動していた。 【0006】入出力装置(I/O)15が起動される
と、入出力装置(I/O)15はローカルメモリ14の
バッファを作業エリアとして動作を行い、動作が完了す
るとバスアダプタ13に完了通知を行う。そして、バス
アダプタ13は、入出力装置(I/O)15から動作完
了を通知された時、入出力装置(I/O)15が使用し
ていたローカルメモリ14内のバッファエリアを元のメ
インメモリ12にデータ転送してから、CPU11に完
了通知を行っていた。 【0007】このように、入出力装置(I/O)15が
メインメモリ12をアクセスする際には、従来では、必
ずバスアダプタ13によるデータ転送が2回発生し、こ
れがオーバーヘッドの原因となっていた。 【0008】また、バスアダプタ13が入出力装置(I
/O)15へのコマンドを解析し、例えば入出力装置
(I/O)15から見てリードだけの場合は、起動時の
みデータ転送をして完了時のデータ転送を省略すること
もできるが、この場合でも、オーバーヘッドの原因とな
るアダプタ13によるデータ転送が1回発生する。ま
た、コマンドを解析するための新たなオーバーヘッドも
発生する。 【0009】さらに、バスアダプタ13によるバッファ
エリアのデータ転送は、入出力装置(I/O)15によ
って実際に実行される入出力のサイズに関係なく、常に
CPU11から与えられたバッファレングス分だけ実行
しなければならない。このような無駄なデータ転送も、
オーバーヘッドの原因となる。 【0010】そこで、最近では、入出力装置(I/O)
15からの24ビットアドレスを、メインメモリ12を
アクセスするための32ビットアドレスに変換するため
のアドレス変換テーブルをバスアダプタ13内に設ける
構成が考えられている。このアドレス変換テーブルは、
複数の格納領域を有し、その格納領域の1つにメインメ
モリ12をアクセスするためのアドレスが登録されてい
る。 【0011】このようなアドレス変換機構を用いれば、
メインメモリ12上の所定の記憶空間に対して入出力装
置(I/O)15が直接的にアクセスすることができ
る。このため、前述のように、バスアダプタ13から入
出力装置(I/O)15に対してメインメモリ12をア
クセスするために必要な起動情報(リード/ライトコマ
ンド、バッファアドレス、バッファレングス等)を直接
通知する方式においては、無駄なデータ転送を省け、効
率の良いメモリアクセスを実現できる。 【0012】しかしながら、例えば、アドレス変換テー
ブルの初期化またはデータ更新中においては、アドレス
変換テーブルの内容が不定状態であるので、この様な時
に入出力装置(I/O)15がバスアダプタ13にアド
レスの変換要求を発行すると、メインメモリ12をアク
セスするための誤ったアドレスが生成されてしまう。こ
の場合、入出力装置(I/O)15が、メインメモリ1
2上の他の装置に割り当てられたアドレス空間をアクセ
スしてしまうという誤動作が生じる事がある。このよう
な誤動作は、電子計算機のシステム全体の動作の信頼性
を低下させる大きな原因となる。 【0013】 【発明が解決しようとする課題】従来では、アドレス変
換テーブルの内容が不定状態の時に入出力装置からアド
レス変換要求が発行されると、入出力装置がメインメモ
リ上の他の装置に割り当てられたアドレス空間を誤って
アクセスしてしまうという誤動作が生じる欠点があっ
た。 【0014】この発明はこのような点に鑑みてなされた
もので、アドレス変換テーブルの内容が不定状態の時に
は入出力装置によるメインメモリのアクセスを禁止でき
るようにして、充分に動作の信頼性が高い電子計算機を
実現できるアドレス変換方式を提供することを目的とす
る。 【0015】 【課題を解決するための手段および作用】この発明によ
るアドレス変換方式は、第1のアドレス幅を有する第1
のシステムバスと、前記第1のアドレス幅よりも小さい
第2のアドレス幅を有する第2のシステムバスとを備え
た電子計算機において、前記第1のシステムバスに接続
されたCPUおよびメモリと、前記第2のシステムバス
に接続された入出力装置と、前記第1のシステムバスと
前記第2のシステムバスとの間に接続され、前記第1お
よび第2のシステムバス間を接続するバスアダプタ装置
とを具備し、前記バスアダプタ装置は、前記第2のシス
テムバスの上位ビットアドレスで指定可能な複数の格納
領域を有し、各格納領域に、前記メモリの所定の記憶空
間を示す前記第1のアドレス幅を有するアドレス値が登
録されるアドレス変換テーブルと、前記第1のシステム
バスを介して前記CPUから供給される前記入出力装置
に対する起動要求に応じて、前記CPUから指定された
前記メモリの所定の記憶空間を示すアドレス値を前記ア
ドレス変換テーブルの空き格納領域に登録するアドレス
登録手段と、前記アドレス値が登録された格納領域の番
号を上位ビットアドレスとし、且つ前記メモリの所定の
記憶空間内のオフセットアドレスを下位ビットアドレス
とする、前記第2のアドレス幅を有するアドレスを、前
記第2のシステムバスを介して前記入出力装置に通知す
る手段と、前記入出力装置から出力される前記第2のシ
ステムバス上のアドレスの上位ビットアドレスでアドレ
ス指定された前記アドレス変換テーブルの格納領域に登
録されているアドレス値と、前記入出力装置から出力さ
れる前記第2のシステムバス上のアドレスの下位ビット
アドレスとに基づいて、前記第2のシステムバス上のア
ドレスを、前記メモリをアクセスするためのアドレスに
変換するアドレス変換手段と、前記アドレス変換テーブ
ルのアドレスが当該アドレス変換テーブルの初期化また
は登録内容の更新によって不定状態に設定されているか
否かを示す識別情報を保持する手段と、前記第1のシス
テムバス上のCPUから指定されたアドレス値を前記ア
ドレス登録手段を用いて前記アドレス変換テーブルに登
録する際に、その登録に先立って前記識別情報を前記ア
ドレス変換テーブルが不定状態であることを示す第1状
態に設定し、登録終了後に前記識別情報を前記アドレス
変換テーブルが確定状態であるこ とを示す第2状態に設
定する手段と、前記バスアダプタ装置の電源投入時また
はそのリセット時に、前記アドレス変換テーブルの初期
化処理の実行に先だって前記識別情報を前記アドレス変
換テーブルが不定状態であることを示す第1状態に設定
し、前記初期化処理の終了後に前記識別情報を前記アド
レス変換テーブルが確定状態であることを示す第2状態
に設定する手段と、前記識別情報が前記第1状態である
か前記第2状態であるかを判別し、前記第1状態である
場合には前記アドレス変換テーブルを用いた前記アドレ
ス変換手段によるアドレス変換の実行を禁止し、前記第
2状態である場合には前記アドレス変換テーブルを用い
た前記アドレス変換手段によるアドレス変換の実行を許
可する手段とを具備することを特徴とする。 【0016】このアドレス変換方式においては、バスア
ダプタ装置それ自体内に、アドレス変換テーブルのアド
レスが当該アドレス変換テーブルの初期化または登録内
容の更新によって不定状態に設定されているか否かを示
す識別情報を自ら管理し、その識別情報に基づいて、ア
ドレス変換テーブルを用いたアドレス変換を許可または
禁止するという変換制御機能を設けているので、CPU
からの制御無しで、バスアダプタ装置それ自体が自らの
状態に基づいて、アドレス変換テーブルを用いたアドレ
ス変換を許可または禁止することができる。よって、ア
ドレス変換テーブルのアドレスが確定状態の時にのみ入
出力装置からのアドレスをメモリをアクセスするための
アドレスに変換することが可能となり、アドレス変換テ
ーブルの内容が不定状態の時には入出力装置によるメイ
ンメモリのアクセスを禁止できる。したがって、充分に
動作の信頼性が高い電子計算機を実現できる。 【0017】 【実施例】以下、図面を参照してこの発明の実施例を説
明する。 【0018】図1にはこの発明の一実施例に係わる電子
計算機のシステム構成が示されている。この電子計算機
システムは、図5の従来のシステムと同様に、アドレス
幅の異なる2種類のシステムバスを有するものであり、
第1および第2のシステムバス21,22、CPU3
1、メインメモリ32、バスアダプタ33を備えてい
る。 【0019】第1のシステムバス21は、データバス、
アドレスバス、およびコントロールラインから構成され
るものであり、そのアドレスバスは例えば32ビットの
バス幅を有している。 【0020】第2のシステムバス22は、データバス、
アドレスバス、およびコントロールラインから構成され
るものであり、そのアドレスバスは例えば24ビットの
バス幅を有している。 【0021】CPU31は、この電子計算機の全体の制
御を司るものであり、第1のシステムバス21を介して
メインメモリ32、およびバスアダプタ33に接続され
ている。このCPU31は、入出力装置(I/O)37
を起動要求する際、入出力装置(I/O)37によって
使用されるメインメモリ32のバッファアドレス(使用
可能な記憶空間の先頭アドレス)と、そのバッファレン
グス(その記憶空間の大きさ)をバスアダプタ33に通
知する。 【0022】メインメモリ32は、32ビットのアドレ
スによって定義されるアドレス空間を有するデータ記憶
部であり、CPU31または入出力装置(I/O)37
によってアクセスされる。 【0023】バスアダプタ33は、第1のシステムバス
21と第2のシステムバス22を結合するためのもので
あって、アドレス変換テーブル34、制御回路35、お
よびイネーブルフラグレジスタ36とから構成されてい
る。アドレス変換テーブル34は、複数のデータ格納領
域を有しており、そのデータ格納領域には、メインメモ
リ32のバッファアドレスが登録されている。アドレス
変換テーブル34の各データ格納領域は、入出力装置
(I/O)37および制御回路35によって指定され
る。 【0024】制御回路35は、バスアダプタ33全体の
動作を制御するものであり、例えば、入出力装置(I/
O)37からメインメモリ32に対するアクセスにおい
て、アドレス変換テーブル34を用いたアドレス変換制
御を実行する。この場合、制御回路35は、イネーブル
フラグレジスタ36のフラグの内容に基づいて、アドレ
ス変換テーブル34へのアクセスの実行を制御する。す
なわち、制御回路35は、イネーブルフラグがOFFの
場合には、入出力装置(I/O)37からの要求に応じ
てアドレス変換テーブル34をアクセスするが、イネー
ブルフラグがONの場合には、アドレス変換テーブル3
4をアクセスせずに、入出力装置(I/O)37にエラ
ー通知を発行する。 【0025】イネーブルフラグレジスタ36のイネーブ
ルフラグは、アドレス変換テーブル34のアドレスデー
タが初期化または登録内容の更新によって不定状態に設
定されているか否かを示す識別フラグであり、イネーブ
ルフラグがONの場合には不定状態であり、OFFの場
合は確定状態である。このようなイネーブルフラグのO
N/OFFの設定は、制御回路35によって実行され
る。これらアドレス変換テーブル34および制御回路3
5から構成されるアドレス変換機構の具体的構成につい
ては、図2を参照して後述する。入出力装置(I/O)
37は、第2のシステムバス22に接続されており、2
4ビットのアドレスでメインメモリ32に対するアクセ
スを実行する。次に、図2を参照して、アドレス変換テ
ーブル34および制御回路35によって実現されるアド
レス変換機構の具体的な構成を説明する。 【0026】図において、アドレス変換テーブル34
は、例えば、32ビット×256ワード構成のRAM1
01によって構成されている。このアドレス変換テーブ
ル34(RAM101)は、CPU31によって与えら
れるメインメモリ32上のバッファアドレス(32ビッ
ト)をデータとして登録するためのものであり、これら
バッファアドレスを示すデータの格納位置は、8ビット
のアドレスで指定できるように構成されている。また、
アドレス変換テーブル34に登録されたデータを読み出
す際にも、入出力装置(I/O)37によって与えられ
る24ビットのアドレス(AB)111のうちの上位8
ビットのアドレス(A)112がその読み出しアドレス
として使用され、これによってアドレス変換テーブル1
01から32ビットのデータが読み出される。 【0027】102は加算回路(ADDR)であり、そ
の第1入力(IN1)には、アドレス変換テーブル34
から読み出されたビット0からビット31までの32ビ
ットデータがベースアドレス114として入力され、そ
の第2入力(IN2)には、24ビットのアドレス(A
B)111 のうちの下位16ビットのアドレス(B)1
13がオフセットアドレスとして入力される。 【0028】加算回路(ADDR)102は、ベースア
ドレス114とオフセットアドレス113を桁合わせし
た状態で加算し、その加算結果である32ビットのデー
タを、メインメモリ32をアクセスするためのアドレス
として第1のシステムバス21に出力する。次に、図3
のフローチャートを参照して、制御回路35によるイネ
ーブルフラグのON/OFF設定動作について説明す
る。 【0029】バスアダプタ33の電源投入時、あるいは
バスアダプタ33に設けられた強制初期化用のリセット
スイッチが押下された場合には、制御回路35は、ま
ず、イネーブルフラグレジスタ36のイネーブルフラグ
をON状態にセットする(ステップS1)。次いで、制
御回路35は、アドレス変換テーブル34の初期化を行
い(ステップS2)、初期化が終了した後(ステップS
3)、イネーブルフラグレジスタ36のイネーブルフラ
グをOFF状態にリセットする(ステップS4)。 【0030】また、制御回路35は、アドレス変換テー
ブル34の内容を更新する場合においても、その更新に
先立ってイネーブルフラグレジスタ36のイネーブルフ
ラグをON状態にセットし、更新終了後にイネーブルフ
ラグをOFF状態にリセットする。 【0031】次に、図4のフローチャートを参照して、
入出力装置(I/O)37からバスアダプタ33にアド
レス変換要求が発行された場合における制御回路の動作
を説明する。 【0032】まず、CPU31は、入出力装置(I/
O)37が使用するメインメモリ32のバッファアドレ
ス、バッファレングスと共に入出力装置(I/O)38
の起動要求をバスアダプタ33に供給する。バスアダプ
タ33の制御回路35は、アドレス変換テーブル34の
空きエントリに、与えられたメインメモリ32のバッフ
ァアドレスを登録する。アドレス変換テーブル34にメ
インメモリ32上のバッファアドレスを登録する際に
は、前述したように、その登録に先立ってイネーブルフ
ラグレジスタ36のイネーブルフラグをON状態にセッ
トし、登録終了後にイネーブルフラグをOFF状態にリ
セットする。 【0033】次いで、制御回路35は、アドレス変換テ
ーブル34のエントリ番号と、オフフセットアドレスと
を24ビットのバッファアドレスとして入出力装置(I
/O)37に通知し、起動をかける。この場合、その2
4ビットのアドレスのうちの上位8ビットを登録された
アドレス変換テーブル34のエントリ番号として使用
し、下位16ビットを例えばオール“0”とするオフセ
ット値として使用する。 【0034】起動された入出力装置(I/O)37は、
24ビットのメモリアドレス(AB)111を第2のシ
ステムバス22を介してバスアダプタ33に供給し、ア
ドレスの変換をバスアダプタ33に要求する。この場
合、制御回路35は、まず、イネーブルフラグレジスタ
36のイネーブルフラグを参照し、イネーブルフラグが
ON状態かOFF状態かを判断する(ステップS1
1)。 【0035】イネーブルフラグがON状態の場合は、ア
ドレス変換テーブル34へのアクセスは禁止され、その
代わりに、バスアダプタ33から入出力装置(I/O)
37にエラー通知が発行される(ステップS12)。 【0036】一方、イネーブルフラグがOFF状態の場
合は、アドレス変換テーブル34へのアクセスが許可さ
れ、制御回路35は、入出力装置(I/O)37からの
24ビットのメモリアドレス(AB)111の内の上位
8ビット(A)112をアドレス変換テーブル34のリ
ードアドレスとして使用し、下位16ビット(B)11
3をオフセットアドレス(例えばオール“0”)として
使用することによって、アドレス変換を行う。 【0037】アドレス変換テーブル34からの読み出し
デ−タ114は、起動時にバスアダプタ33がアドレス
変換テーブル34に登録したメインメモリ32上のバッ
ファアドレスである。アドレス変換テーブル34から読
み出されたビット1からビット31までのベースアドレ
スは、下位16ビット(B)113と桁合わせされた状
態で加算され、その加算結果は、第1システムバス21
を介してメインメモリ32に供給される。 【0038】ここでは、入出力装置(I/O)37から
供給される24ビットアドレスの内の下位16ビット
(B)113がオール“0”である場合を説明したが、
このオフセットアドレスの値は、CPU31から与えら
れるバッファレングスで指定されるアドレス範囲内で可
変される。この結果、入出力装置(I/O)37は、メ
インメモリ32の所定のアドレス空間に対してアクセス
する事ができる。 【0039】以上のように、この実施例においては、ア
ドレス変換テーブル34のアドレスが初期化または登録
内容の更新によって不定状態に設定されているか否かが
イネーブルフラグによって判別され、アドレス変換テー
ブル34が不定状態の際には、アドレス変換テーブル3
4へのアクセスが禁止される。このため、アドレス変換
テーブル34のアドレスが確定状態の時にのみ入出力装
置37からのアドレスをメインメモリ32をアクセスす
るためのアドレスに変換することが可能となり、アドレ
ス変換テーブル34の内容が不定状態の時には入出力装
置37によるメインメモリ32のアクセスを禁止でき
る。したがって、充分に動作の信頼性が高い電子計算機
を実現できる。 【0040】なお、ここでは、オフセットアドレスを1
6ビットとしたので、バッファレングスは64Kバイト
以下であることが必要となるが、オフセットアドレスの
ビット数を増加するか、あるいはアドレス変換テーブル
34のエントリを2つ以上使用すれば、64Kバイトの
バッファを扱うことが可能となる。 【0041】 【発明の効果】以上のように、この発明によれば、アド
レス変換テーブルの内容が不定状態の際には入出力装置
によるメインメモリのアクセスを禁止できるようにな
り、充分に動作の信頼性が高い電子計算機を実現でき
る。
幅を有する2種類のシステムバスを有する電子計算機に
おいて、一方のバスに接続されているモジュールから他
方のバスに接続されているメモリをアクセスする際のア
ドレス変換方式に関する。 【0002】 【従来の技術】一般に、互いに異なるアドレス幅を有す
る2種類のシステムバスを有する電子計算機は、図5の
ように構成されている。 【0003】図5において、1は例えば32ビットのア
ドレス幅を有する第1のシステムバス、2は例えば24
ビットのアドレス幅を有する第2のシステムバス、11
はCPU、12はメインメモリ、13はバスアダプタ、
14はローカルメモリ、15は入出力装置(I/O)で
ある。ここで、入出力装置(I/O)15がメインメモ
リ12の特定の記憶領域をアクセスする場合を考える。 【0004】この場合、入出力装置(I/O)15は、
CPU11からバスアダプタ13を介して起動される。
この時、バスアダプタ13には、CPU11から、入出
力装置(I/O)15が使用するメインメモリ12内の
バッファアドレス(使用可能な記憶空間の先頭アドレ
ス)と、バッファレングス(その記憶空間の大きさ)が
通知される。 【0005】従来は、システムバス1と2のアドレス幅
の違いにより、入出力装置(I/O)15がメインメモ
リ12を直接アクセスできないため、バスアダプタ13
が入出力装置(I/O)15への起動をCPU11から
受けた時には、バスアダプタ13は、入出力装置(I/
O)15が使用するメインメモリ12のバッファエリア
をローカルメモリ14にデータ転送してから、入出力装
置(I/O)15を起動していた。 【0006】入出力装置(I/O)15が起動される
と、入出力装置(I/O)15はローカルメモリ14の
バッファを作業エリアとして動作を行い、動作が完了す
るとバスアダプタ13に完了通知を行う。そして、バス
アダプタ13は、入出力装置(I/O)15から動作完
了を通知された時、入出力装置(I/O)15が使用し
ていたローカルメモリ14内のバッファエリアを元のメ
インメモリ12にデータ転送してから、CPU11に完
了通知を行っていた。 【0007】このように、入出力装置(I/O)15が
メインメモリ12をアクセスする際には、従来では、必
ずバスアダプタ13によるデータ転送が2回発生し、こ
れがオーバーヘッドの原因となっていた。 【0008】また、バスアダプタ13が入出力装置(I
/O)15へのコマンドを解析し、例えば入出力装置
(I/O)15から見てリードだけの場合は、起動時の
みデータ転送をして完了時のデータ転送を省略すること
もできるが、この場合でも、オーバーヘッドの原因とな
るアダプタ13によるデータ転送が1回発生する。ま
た、コマンドを解析するための新たなオーバーヘッドも
発生する。 【0009】さらに、バスアダプタ13によるバッファ
エリアのデータ転送は、入出力装置(I/O)15によ
って実際に実行される入出力のサイズに関係なく、常に
CPU11から与えられたバッファレングス分だけ実行
しなければならない。このような無駄なデータ転送も、
オーバーヘッドの原因となる。 【0010】そこで、最近では、入出力装置(I/O)
15からの24ビットアドレスを、メインメモリ12を
アクセスするための32ビットアドレスに変換するため
のアドレス変換テーブルをバスアダプタ13内に設ける
構成が考えられている。このアドレス変換テーブルは、
複数の格納領域を有し、その格納領域の1つにメインメ
モリ12をアクセスするためのアドレスが登録されてい
る。 【0011】このようなアドレス変換機構を用いれば、
メインメモリ12上の所定の記憶空間に対して入出力装
置(I/O)15が直接的にアクセスすることができ
る。このため、前述のように、バスアダプタ13から入
出力装置(I/O)15に対してメインメモリ12をア
クセスするために必要な起動情報(リード/ライトコマ
ンド、バッファアドレス、バッファレングス等)を直接
通知する方式においては、無駄なデータ転送を省け、効
率の良いメモリアクセスを実現できる。 【0012】しかしながら、例えば、アドレス変換テー
ブルの初期化またはデータ更新中においては、アドレス
変換テーブルの内容が不定状態であるので、この様な時
に入出力装置(I/O)15がバスアダプタ13にアド
レスの変換要求を発行すると、メインメモリ12をアク
セスするための誤ったアドレスが生成されてしまう。こ
の場合、入出力装置(I/O)15が、メインメモリ1
2上の他の装置に割り当てられたアドレス空間をアクセ
スしてしまうという誤動作が生じる事がある。このよう
な誤動作は、電子計算機のシステム全体の動作の信頼性
を低下させる大きな原因となる。 【0013】 【発明が解決しようとする課題】従来では、アドレス変
換テーブルの内容が不定状態の時に入出力装置からアド
レス変換要求が発行されると、入出力装置がメインメモ
リ上の他の装置に割り当てられたアドレス空間を誤って
アクセスしてしまうという誤動作が生じる欠点があっ
た。 【0014】この発明はこのような点に鑑みてなされた
もので、アドレス変換テーブルの内容が不定状態の時に
は入出力装置によるメインメモリのアクセスを禁止でき
るようにして、充分に動作の信頼性が高い電子計算機を
実現できるアドレス変換方式を提供することを目的とす
る。 【0015】 【課題を解決するための手段および作用】この発明によ
るアドレス変換方式は、第1のアドレス幅を有する第1
のシステムバスと、前記第1のアドレス幅よりも小さい
第2のアドレス幅を有する第2のシステムバスとを備え
た電子計算機において、前記第1のシステムバスに接続
されたCPUおよびメモリと、前記第2のシステムバス
に接続された入出力装置と、前記第1のシステムバスと
前記第2のシステムバスとの間に接続され、前記第1お
よび第2のシステムバス間を接続するバスアダプタ装置
とを具備し、前記バスアダプタ装置は、前記第2のシス
テムバスの上位ビットアドレスで指定可能な複数の格納
領域を有し、各格納領域に、前記メモリの所定の記憶空
間を示す前記第1のアドレス幅を有するアドレス値が登
録されるアドレス変換テーブルと、前記第1のシステム
バスを介して前記CPUから供給される前記入出力装置
に対する起動要求に応じて、前記CPUから指定された
前記メモリの所定の記憶空間を示すアドレス値を前記ア
ドレス変換テーブルの空き格納領域に登録するアドレス
登録手段と、前記アドレス値が登録された格納領域の番
号を上位ビットアドレスとし、且つ前記メモリの所定の
記憶空間内のオフセットアドレスを下位ビットアドレス
とする、前記第2のアドレス幅を有するアドレスを、前
記第2のシステムバスを介して前記入出力装置に通知す
る手段と、前記入出力装置から出力される前記第2のシ
ステムバス上のアドレスの上位ビットアドレスでアドレ
ス指定された前記アドレス変換テーブルの格納領域に登
録されているアドレス値と、前記入出力装置から出力さ
れる前記第2のシステムバス上のアドレスの下位ビット
アドレスとに基づいて、前記第2のシステムバス上のア
ドレスを、前記メモリをアクセスするためのアドレスに
変換するアドレス変換手段と、前記アドレス変換テーブ
ルのアドレスが当該アドレス変換テーブルの初期化また
は登録内容の更新によって不定状態に設定されているか
否かを示す識別情報を保持する手段と、前記第1のシス
テムバス上のCPUから指定されたアドレス値を前記ア
ドレス登録手段を用いて前記アドレス変換テーブルに登
録する際に、その登録に先立って前記識別情報を前記ア
ドレス変換テーブルが不定状態であることを示す第1状
態に設定し、登録終了後に前記識別情報を前記アドレス
変換テーブルが確定状態であるこ とを示す第2状態に設
定する手段と、前記バスアダプタ装置の電源投入時また
はそのリセット時に、前記アドレス変換テーブルの初期
化処理の実行に先だって前記識別情報を前記アドレス変
換テーブルが不定状態であることを示す第1状態に設定
し、前記初期化処理の終了後に前記識別情報を前記アド
レス変換テーブルが確定状態であることを示す第2状態
に設定する手段と、前記識別情報が前記第1状態である
か前記第2状態であるかを判別し、前記第1状態である
場合には前記アドレス変換テーブルを用いた前記アドレ
ス変換手段によるアドレス変換の実行を禁止し、前記第
2状態である場合には前記アドレス変換テーブルを用い
た前記アドレス変換手段によるアドレス変換の実行を許
可する手段とを具備することを特徴とする。 【0016】このアドレス変換方式においては、バスア
ダプタ装置それ自体内に、アドレス変換テーブルのアド
レスが当該アドレス変換テーブルの初期化または登録内
容の更新によって不定状態に設定されているか否かを示
す識別情報を自ら管理し、その識別情報に基づいて、ア
ドレス変換テーブルを用いたアドレス変換を許可または
禁止するという変換制御機能を設けているので、CPU
からの制御無しで、バスアダプタ装置それ自体が自らの
状態に基づいて、アドレス変換テーブルを用いたアドレ
ス変換を許可または禁止することができる。よって、ア
ドレス変換テーブルのアドレスが確定状態の時にのみ入
出力装置からのアドレスをメモリをアクセスするための
アドレスに変換することが可能となり、アドレス変換テ
ーブルの内容が不定状態の時には入出力装置によるメイ
ンメモリのアクセスを禁止できる。したがって、充分に
動作の信頼性が高い電子計算機を実現できる。 【0017】 【実施例】以下、図面を参照してこの発明の実施例を説
明する。 【0018】図1にはこの発明の一実施例に係わる電子
計算機のシステム構成が示されている。この電子計算機
システムは、図5の従来のシステムと同様に、アドレス
幅の異なる2種類のシステムバスを有するものであり、
第1および第2のシステムバス21,22、CPU3
1、メインメモリ32、バスアダプタ33を備えてい
る。 【0019】第1のシステムバス21は、データバス、
アドレスバス、およびコントロールラインから構成され
るものであり、そのアドレスバスは例えば32ビットの
バス幅を有している。 【0020】第2のシステムバス22は、データバス、
アドレスバス、およびコントロールラインから構成され
るものであり、そのアドレスバスは例えば24ビットの
バス幅を有している。 【0021】CPU31は、この電子計算機の全体の制
御を司るものであり、第1のシステムバス21を介して
メインメモリ32、およびバスアダプタ33に接続され
ている。このCPU31は、入出力装置(I/O)37
を起動要求する際、入出力装置(I/O)37によって
使用されるメインメモリ32のバッファアドレス(使用
可能な記憶空間の先頭アドレス)と、そのバッファレン
グス(その記憶空間の大きさ)をバスアダプタ33に通
知する。 【0022】メインメモリ32は、32ビットのアドレ
スによって定義されるアドレス空間を有するデータ記憶
部であり、CPU31または入出力装置(I/O)37
によってアクセスされる。 【0023】バスアダプタ33は、第1のシステムバス
21と第2のシステムバス22を結合するためのもので
あって、アドレス変換テーブル34、制御回路35、お
よびイネーブルフラグレジスタ36とから構成されてい
る。アドレス変換テーブル34は、複数のデータ格納領
域を有しており、そのデータ格納領域には、メインメモ
リ32のバッファアドレスが登録されている。アドレス
変換テーブル34の各データ格納領域は、入出力装置
(I/O)37および制御回路35によって指定され
る。 【0024】制御回路35は、バスアダプタ33全体の
動作を制御するものであり、例えば、入出力装置(I/
O)37からメインメモリ32に対するアクセスにおい
て、アドレス変換テーブル34を用いたアドレス変換制
御を実行する。この場合、制御回路35は、イネーブル
フラグレジスタ36のフラグの内容に基づいて、アドレ
ス変換テーブル34へのアクセスの実行を制御する。す
なわち、制御回路35は、イネーブルフラグがOFFの
場合には、入出力装置(I/O)37からの要求に応じ
てアドレス変換テーブル34をアクセスするが、イネー
ブルフラグがONの場合には、アドレス変換テーブル3
4をアクセスせずに、入出力装置(I/O)37にエラ
ー通知を発行する。 【0025】イネーブルフラグレジスタ36のイネーブ
ルフラグは、アドレス変換テーブル34のアドレスデー
タが初期化または登録内容の更新によって不定状態に設
定されているか否かを示す識別フラグであり、イネーブ
ルフラグがONの場合には不定状態であり、OFFの場
合は確定状態である。このようなイネーブルフラグのO
N/OFFの設定は、制御回路35によって実行され
る。これらアドレス変換テーブル34および制御回路3
5から構成されるアドレス変換機構の具体的構成につい
ては、図2を参照して後述する。入出力装置(I/O)
37は、第2のシステムバス22に接続されており、2
4ビットのアドレスでメインメモリ32に対するアクセ
スを実行する。次に、図2を参照して、アドレス変換テ
ーブル34および制御回路35によって実現されるアド
レス変換機構の具体的な構成を説明する。 【0026】図において、アドレス変換テーブル34
は、例えば、32ビット×256ワード構成のRAM1
01によって構成されている。このアドレス変換テーブ
ル34(RAM101)は、CPU31によって与えら
れるメインメモリ32上のバッファアドレス(32ビッ
ト)をデータとして登録するためのものであり、これら
バッファアドレスを示すデータの格納位置は、8ビット
のアドレスで指定できるように構成されている。また、
アドレス変換テーブル34に登録されたデータを読み出
す際にも、入出力装置(I/O)37によって与えられ
る24ビットのアドレス(AB)111のうちの上位8
ビットのアドレス(A)112がその読み出しアドレス
として使用され、これによってアドレス変換テーブル1
01から32ビットのデータが読み出される。 【0027】102は加算回路(ADDR)であり、そ
の第1入力(IN1)には、アドレス変換テーブル34
から読み出されたビット0からビット31までの32ビ
ットデータがベースアドレス114として入力され、そ
の第2入力(IN2)には、24ビットのアドレス(A
B)111 のうちの下位16ビットのアドレス(B)1
13がオフセットアドレスとして入力される。 【0028】加算回路(ADDR)102は、ベースア
ドレス114とオフセットアドレス113を桁合わせし
た状態で加算し、その加算結果である32ビットのデー
タを、メインメモリ32をアクセスするためのアドレス
として第1のシステムバス21に出力する。次に、図3
のフローチャートを参照して、制御回路35によるイネ
ーブルフラグのON/OFF設定動作について説明す
る。 【0029】バスアダプタ33の電源投入時、あるいは
バスアダプタ33に設けられた強制初期化用のリセット
スイッチが押下された場合には、制御回路35は、ま
ず、イネーブルフラグレジスタ36のイネーブルフラグ
をON状態にセットする(ステップS1)。次いで、制
御回路35は、アドレス変換テーブル34の初期化を行
い(ステップS2)、初期化が終了した後(ステップS
3)、イネーブルフラグレジスタ36のイネーブルフラ
グをOFF状態にリセットする(ステップS4)。 【0030】また、制御回路35は、アドレス変換テー
ブル34の内容を更新する場合においても、その更新に
先立ってイネーブルフラグレジスタ36のイネーブルフ
ラグをON状態にセットし、更新終了後にイネーブルフ
ラグをOFF状態にリセットする。 【0031】次に、図4のフローチャートを参照して、
入出力装置(I/O)37からバスアダプタ33にアド
レス変換要求が発行された場合における制御回路の動作
を説明する。 【0032】まず、CPU31は、入出力装置(I/
O)37が使用するメインメモリ32のバッファアドレ
ス、バッファレングスと共に入出力装置(I/O)38
の起動要求をバスアダプタ33に供給する。バスアダプ
タ33の制御回路35は、アドレス変換テーブル34の
空きエントリに、与えられたメインメモリ32のバッフ
ァアドレスを登録する。アドレス変換テーブル34にメ
インメモリ32上のバッファアドレスを登録する際に
は、前述したように、その登録に先立ってイネーブルフ
ラグレジスタ36のイネーブルフラグをON状態にセッ
トし、登録終了後にイネーブルフラグをOFF状態にリ
セットする。 【0033】次いで、制御回路35は、アドレス変換テ
ーブル34のエントリ番号と、オフフセットアドレスと
を24ビットのバッファアドレスとして入出力装置(I
/O)37に通知し、起動をかける。この場合、その2
4ビットのアドレスのうちの上位8ビットを登録された
アドレス変換テーブル34のエントリ番号として使用
し、下位16ビットを例えばオール“0”とするオフセ
ット値として使用する。 【0034】起動された入出力装置(I/O)37は、
24ビットのメモリアドレス(AB)111を第2のシ
ステムバス22を介してバスアダプタ33に供給し、ア
ドレスの変換をバスアダプタ33に要求する。この場
合、制御回路35は、まず、イネーブルフラグレジスタ
36のイネーブルフラグを参照し、イネーブルフラグが
ON状態かOFF状態かを判断する(ステップS1
1)。 【0035】イネーブルフラグがON状態の場合は、ア
ドレス変換テーブル34へのアクセスは禁止され、その
代わりに、バスアダプタ33から入出力装置(I/O)
37にエラー通知が発行される(ステップS12)。 【0036】一方、イネーブルフラグがOFF状態の場
合は、アドレス変換テーブル34へのアクセスが許可さ
れ、制御回路35は、入出力装置(I/O)37からの
24ビットのメモリアドレス(AB)111の内の上位
8ビット(A)112をアドレス変換テーブル34のリ
ードアドレスとして使用し、下位16ビット(B)11
3をオフセットアドレス(例えばオール“0”)として
使用することによって、アドレス変換を行う。 【0037】アドレス変換テーブル34からの読み出し
デ−タ114は、起動時にバスアダプタ33がアドレス
変換テーブル34に登録したメインメモリ32上のバッ
ファアドレスである。アドレス変換テーブル34から読
み出されたビット1からビット31までのベースアドレ
スは、下位16ビット(B)113と桁合わせされた状
態で加算され、その加算結果は、第1システムバス21
を介してメインメモリ32に供給される。 【0038】ここでは、入出力装置(I/O)37から
供給される24ビットアドレスの内の下位16ビット
(B)113がオール“0”である場合を説明したが、
このオフセットアドレスの値は、CPU31から与えら
れるバッファレングスで指定されるアドレス範囲内で可
変される。この結果、入出力装置(I/O)37は、メ
インメモリ32の所定のアドレス空間に対してアクセス
する事ができる。 【0039】以上のように、この実施例においては、ア
ドレス変換テーブル34のアドレスが初期化または登録
内容の更新によって不定状態に設定されているか否かが
イネーブルフラグによって判別され、アドレス変換テー
ブル34が不定状態の際には、アドレス変換テーブル3
4へのアクセスが禁止される。このため、アドレス変換
テーブル34のアドレスが確定状態の時にのみ入出力装
置37からのアドレスをメインメモリ32をアクセスす
るためのアドレスに変換することが可能となり、アドレ
ス変換テーブル34の内容が不定状態の時には入出力装
置37によるメインメモリ32のアクセスを禁止でき
る。したがって、充分に動作の信頼性が高い電子計算機
を実現できる。 【0040】なお、ここでは、オフセットアドレスを1
6ビットとしたので、バッファレングスは64Kバイト
以下であることが必要となるが、オフセットアドレスの
ビット数を増加するか、あるいはアドレス変換テーブル
34のエントリを2つ以上使用すれば、64Kバイトの
バッファを扱うことが可能となる。 【0041】 【発明の効果】以上のように、この発明によれば、アド
レス変換テーブルの内容が不定状態の際には入出力装置
によるメインメモリのアクセスを禁止できるようにな
り、充分に動作の信頼性が高い電子計算機を実現でき
る。
【図面の簡単な説明】
【図1】この発明の一実施例に係わる電子計算機のシス
テム構成を示すブロック図。 【図2】同実施例の電子計算機に設けられたアドレス変
換機構の構成の一例を示すブロック図。 【図3】同実施例のイネーブルフラグ設定動作を説明す
るフローチャート。 【図4】同実施例のアドレス変換動作を説明するフロー
チャート。 【図5】従来の電子計算機のシステム構成を示すブロッ
ク図である。 【符号の説明】 21,22…システムバス、32…メインメモリ、33
…バスアダプタ、34…アドレス変換テーブル、35…
制御回路、36…イネーブルフラグレジスタ、37…入
出力装置。
テム構成を示すブロック図。 【図2】同実施例の電子計算機に設けられたアドレス変
換機構の構成の一例を示すブロック図。 【図3】同実施例のイネーブルフラグ設定動作を説明す
るフローチャート。 【図4】同実施例のアドレス変換動作を説明するフロー
チャート。 【図5】従来の電子計算機のシステム構成を示すブロッ
ク図である。 【符号の説明】 21,22…システムバス、32…メインメモリ、33
…バスアダプタ、34…アドレス変換テーブル、35…
制御回路、36…イネーブルフラグレジスタ、37…入
出力装置。
─────────────────────────────────────────────────────
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
G06F 12/00 - 12/06
G06F 13/16 - 13/18
Claims (1)
- (57)【特許請求の範囲】 【請求項1】 第1のアドレス幅を有する第1のシステ
ムバスと、前記第1のアドレス幅よりも小さい第2のア
ドレス幅を有する第2のシステムバスとを備えた電子計
算機において、前記第1のシステムバスに接続されたC
PUおよびメモリと、前記第2のシステムバスに接続さ
れた入出力装置と、前記第1のシステムバスと前記第2
のシステムバスとの間に接続され、前記第1および第2
のシステムバス間を接続するバスアダプタ装置とを具備
し、 前記バスアダプタ装置は、 前記第2のシステムバスの上位ビットアドレスで指定可
能な複数の格納領域を有し、各格納領域に、前記メモリ
の所定の記憶空間を示す前記第1のアドレス幅を有する
アドレス値が登録されるアドレス変換テーブルと、 前記第1のシステムバスを介して前記CPUから供給さ
れる前記入出力装置に対する起動要求に応じて、前記C
PUから指定された前記メモリの所定の記憶空間を示す
アドレス値を前記アドレス変換テーブルの空き格納領域
に登録するアドレス登録手段と、 前記アドレス値が登録された格納領域の番号を上位ビッ
トアドレスとし、且つ前記メモリの所定の記憶空間内の
オフセットアドレスを下位ビットアドレスとする、前記
第2のアドレス幅を有するアドレスを、前記第2のシス
テムバスを介して前記入出力装置に通知する手段と、 前記入出力装置から出力される前記第2のシステムバス
上のアドレスの上位ビットアドレスでアドレス指定され
た前記アドレス変換テーブルの格納領域に登録されてい
るアドレス値と、前記入出力装置から出力される前記第
2のシステムバス上のアドレスの下位ビットアドレスと
に基づいて、前記第2のシステムバス上のアドレスを、
前記メモリをアクセスするためのアドレスに変換するア
ドレス変換手段と、 前記アドレス変換テーブルのアドレスが当該アドレス変
換テーブルの初期化または登録内容の更新によって不定
状態に設定されているか否かを示す識別情報を保持する
手段と、 前記第1のシステムバス上のCPUから指定されたアド
レス値を前記アドレス 登録手段を用いて前記アドレス変
換テーブルに登録する際に、その登録に先立って前記識
別情報を前記アドレス変換テーブルが不定状態であるこ
とを示す第1状態に設定し、登録終了後に前記識別情報
を前記アドレス変換テーブルが確定状態であることを示
す第2状態に設定する手段と、 前記バスアダプタ装置の電源投入時またはそのリセット
時に、前記アドレス変換テーブルの初期化処理の実行に
先だって前記識別情報を前記アドレス変換テーブルが不
定状態であることを示す第1状態に設定し、前記初期化
処理の終了後に前記識別情報を前記アドレス変換テーブ
ルが確定状態であることを示す第2状態に設定する手段
と、 前記識別情報が前記第1状態であるか前記第2状態であ
るかを判別し、前記第1状態である場合には前記アドレ
ス変換テーブルを用いた前記アドレス変換手段によるア
ドレス変換の実行を禁止し、前記第2状態である場合に
は前記アドレス変換テーブルを用いた前記アドレス変換
手段によるアドレス変換の実行を許可する手段とを具備
する ことを特徴とするアドレス変換方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18633191A JP3373535B2 (ja) | 1991-07-25 | 1991-07-25 | 電子計算機におけるアドレス変換方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18633191A JP3373535B2 (ja) | 1991-07-25 | 1991-07-25 | 電子計算機におけるアドレス変換方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0535581A JPH0535581A (ja) | 1993-02-12 |
| JP3373535B2 true JP3373535B2 (ja) | 2003-02-04 |
Family
ID=16186480
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18633191A Expired - Fee Related JP3373535B2 (ja) | 1991-07-25 | 1991-07-25 | 電子計算機におけるアドレス変換方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3373535B2 (ja) |
-
1991
- 1991-07-25 JP JP18633191A patent/JP3373535B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0535581A (ja) | 1993-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6282643B1 (en) | Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running | |
| JPH11161547A (ja) | データ処理装置用記憶装置、および記憶場所にアクセスする方法 | |
| US7509456B2 (en) | Apparatus and method for discovering a scratch pad memory configuration | |
| US6775734B2 (en) | Memory access using system management interrupt and associated computer system | |
| US7007126B2 (en) | Accessing a primary bus messaging unit from a secondary bus through a PCI bridge | |
| JPS61114353A (ja) | 要求時ペ−ジングメモリを有するデジタルデ−タ処理システムのアクセス照合構成体 | |
| US4896257A (en) | Computer system having virtual memory configuration with second computer for virtual addressing with translation error processing | |
| JP3202700B2 (ja) | 信号処理装置 | |
| JPH0232659B2 (ja) | ||
| JP3373535B2 (ja) | 電子計算機におけるアドレス変換方式 | |
| KR930003443B1 (ko) | 회복 시간을 설정하기 위한 방법 및 컴퓨터 시스템 | |
| JP3256558B2 (ja) | 電子計算機におけるアドレス変換方式 | |
| JP2587586B2 (ja) | データ転送方法 | |
| JP3078000B2 (ja) | 情報処理装置 | |
| CN1004945B (zh) | 地址控制装置 | |
| JP3130798B2 (ja) | バス転送装置 | |
| JP2527964B2 (ja) | 予備系プログラム初期起動制御方式 | |
| JP3143103B2 (ja) | 仮想メモリシステム用分散型参照変換テーブル | |
| JPH0535582A (ja) | 電子計算機におけるアドレス変換方式 | |
| JPH0320834A (ja) | 情報処理装置の初期診断方法 | |
| JPS6227423B2 (ja) | ||
| JPS6349935A (ja) | 中央制御装置 | |
| JPS62151970A (ja) | ロツクバイトアクセス方式 | |
| JPS62187956A (ja) | Dma制御方式 | |
| JPH01261759A (ja) | コンピュータ装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071122 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081122 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |