JPH0969072A - メモリマップトi/o制御回路 - Google Patents
メモリマップトi/o制御回路Info
- Publication number
- JPH0969072A JPH0969072A JP7223359A JP22335995A JPH0969072A JP H0969072 A JPH0969072 A JP H0969072A JP 7223359 A JP7223359 A JP 7223359A JP 22335995 A JP22335995 A JP 22335995A JP H0969072 A JPH0969072 A JP H0969072A
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- mapped
- register
- central processing
- 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
Landscapes
- Memory System (AREA)
Abstract
(57)【要約】
【課題】 特定のマシンアーキテクチャにのみサポート
するI/OマップトI/Oレジスタを、異なるアーキテ
クチャのマシンでも自由に使えるようにする。 【解決手段】 CPU3からメモリマップトI/Oのア
クセスを行うと、メモリマップトアドレスMAがアドレ
ス比較部12へ渡される。アドレス比較部12は、メモ
リマップアドレスMAとベースアドレスBAとを比較
し、一致すれば、セレクト信号SELを出力する。アド
レスマッピングテーブル13は、テーブル選択アドレス
TAによって示されたテーブルから探索されたアドレス
変換方式CMをアドレス変換部14に渡すと共に、メモ
リ・I/O選択信号MISを生成し、テーブル選択アド
レスTAがメモリマップトI/O領域であるかI/Oマ
ップトI/O領域であるかをコントローラ2に通知す
る。アドレス変換部14は、上記アドレス変換方式にの
っとり、コントローラ2へ変換アドレスCAを渡す。
するI/OマップトI/Oレジスタを、異なるアーキテ
クチャのマシンでも自由に使えるようにする。 【解決手段】 CPU3からメモリマップトI/Oのア
クセスを行うと、メモリマップトアドレスMAがアドレ
ス比較部12へ渡される。アドレス比較部12は、メモ
リマップアドレスMAとベースアドレスBAとを比較
し、一致すれば、セレクト信号SELを出力する。アド
レスマッピングテーブル13は、テーブル選択アドレス
TAによって示されたテーブルから探索されたアドレス
変換方式CMをアドレス変換部14に渡すと共に、メモ
リ・I/O選択信号MISを生成し、テーブル選択アド
レスTAがメモリマップトI/O領域であるかI/Oマ
ップトI/O領域であるかをコントローラ2に通知す
る。アドレス変換部14は、上記アドレス変換方式にの
っとり、コントローラ2へ変換アドレスCAを渡す。
Description
【0001】
【発明の属する技術分野】この発明は、メモリマップト
I/O制御回路に係り、特に、入力されたメモリアドレ
スによって、メモリマップトI/Oレジスタ及びI/O
マップトI/Oレジスタのいずれにもアクセスできる機
能を備えたメモリマップトI/O制御回路に関する。
I/O制御回路に係り、特に、入力されたメモリアドレ
スによって、メモリマップトI/Oレジスタ及びI/O
マップトI/Oレジスタのいずれにもアクセスできる機
能を備えたメモリマップトI/O制御回路に関する。
【0002】
【従来の技術】従来、1個の半導体チップで構成される
CPU(中央処理装置)がその周辺に設置されるI/O
装置(外部入出力装置)にアクセスする方式として、I
/OマップトI/Oアクセス方式と、メモリマップトI
/Oアクセス方式とが知られている。I/OマップトI
/Oアクセス方式とは、CPUからの入出力命令によっ
て発生されるI/O装置の番号(アドレス)と、I/O
装置への書込み及び読出し信号を用いてCPUとI/O
装置との間でデータのやりとりを行うもので、I/O空
間からアクセスするときに見える(I/O装置内の)I
/Oレジスタは、I/OマップトI/Oレジスタと呼ば
れる。これに対して、メモリマップトI/Oアクセス方
式とは、本来主メモリのために用意されているアドレス
領域の一部にI/O装置のアドレスを割り当て、主メモ
リに対する書込み及び読出し命令、演算命令等に基づい
て発生される主メモリへのアドレスと主メモリへの書込
み及び読出し信号とを用いてCPUとI/O装置との間
でデータのやりとりを行うもので、メモリ空間からアク
セスするときに見える(I/O装置内の)I/Oレジス
タは、メモリマップトI/Oレジスタと呼ばれる。メモ
リマップトI/Oアクセス方式の特徴は、一般の算術論
理演算命令や転送命令等のオペランドを用いて主メモリ
と同様にI/O装置をも指定することが可能なことであ
る。
CPU(中央処理装置)がその周辺に設置されるI/O
装置(外部入出力装置)にアクセスする方式として、I
/OマップトI/Oアクセス方式と、メモリマップトI
/Oアクセス方式とが知られている。I/OマップトI
/Oアクセス方式とは、CPUからの入出力命令によっ
て発生されるI/O装置の番号(アドレス)と、I/O
装置への書込み及び読出し信号を用いてCPUとI/O
装置との間でデータのやりとりを行うもので、I/O空
間からアクセスするときに見える(I/O装置内の)I
/Oレジスタは、I/OマップトI/Oレジスタと呼ば
れる。これに対して、メモリマップトI/Oアクセス方
式とは、本来主メモリのために用意されているアドレス
領域の一部にI/O装置のアドレスを割り当て、主メモ
リに対する書込み及び読出し命令、演算命令等に基づい
て発生される主メモリへのアドレスと主メモリへの書込
み及び読出し信号とを用いてCPUとI/O装置との間
でデータのやりとりを行うもので、メモリ空間からアク
セスするときに見える(I/O装置内の)I/Oレジス
タは、メモリマップトI/Oレジスタと呼ばれる。メモ
リマップトI/Oアクセス方式の特徴は、一般の算術論
理演算命令や転送命令等のオペランドを用いて主メモリ
と同様にI/O装置をも指定することが可能なことであ
る。
【0003】ところで、この種のI/OマップトI/O
レジスタの中には、大量生産され、原価低下効果が期待
できるにもかかわらず、アドレス(装置番号)が固定さ
れ、特定のマシンアーキテクチャにのみ依存するI/O
マップトI/Oレジスタ(汎用チップ)が多種類存在す
る。しかしながら、メモリ空間からI/Oレジスタに対
しては直接にはアクセスできず、I/Oアドレス空間か
らメモリアドレス空間に対しても、直接にはアクセスで
きない。アドレス変換の手段としては、例えば、特開平
2−287645号公報、特開昭64−84353号公
報等に記載されているように、アドレス変換テーブルを
持つ管理ユニットが提供されている。
レジスタの中には、大量生産され、原価低下効果が期待
できるにもかかわらず、アドレス(装置番号)が固定さ
れ、特定のマシンアーキテクチャにのみ依存するI/O
マップトI/Oレジスタ(汎用チップ)が多種類存在す
る。しかしながら、メモリ空間からI/Oレジスタに対
しては直接にはアクセスできず、I/Oアドレス空間か
らメモリアドレス空間に対しても、直接にはアクセスで
きない。アドレス変換の手段としては、例えば、特開平
2−287645号公報、特開昭64−84353号公
報等に記載されているように、アドレス変換テーブルを
持つ管理ユニットが提供されている。
【0004】
【発明が解決しようとする課題】しかしながら、上記公
報記載の従来技術は、あくまで、論理アドレスを物理ア
ドレスに変換する仮想記憶操作を行うもので、メモリマ
ップ上での変換は可能であるが、メモリアドレスによっ
て、メモリアドレス空間からI/Oアドレス空間へ自動
的に切り替える機構にはなっていなかった。このため、
上記したように、特定のマシンアーキテクチャにのみ依
存する汎用性のI/OマップトI/Oレジスタを、異な
るアーキテクチャのマシンでは、使用できないという、
不都合が生じていた。
報記載の従来技術は、あくまで、論理アドレスを物理ア
ドレスに変換する仮想記憶操作を行うもので、メモリマ
ップ上での変換は可能であるが、メモリアドレスによっ
て、メモリアドレス空間からI/Oアドレス空間へ自動
的に切り替える機構にはなっていなかった。このため、
上記したように、特定のマシンアーキテクチャにのみ依
存する汎用性のI/OマップトI/Oレジスタを、異な
るアーキテクチャのマシンでは、使用できないという、
不都合が生じていた。
【0005】この発明は、上述の事情に鑑みてなされた
もので、特定のマシンアーキテクチャにのみ依存する汎
用性のI/OマップトI/Oレジスタを、異なるアーキ
テクチャのマシンでも、自由に使用できるようにしたメ
モリマップトI/O制御回路を提供することを目的とし
ている。
もので、特定のマシンアーキテクチャにのみ依存する汎
用性のI/OマップトI/Oレジスタを、異なるアーキ
テクチャのマシンでも、自由に使用できるようにしたメ
モリマップトI/O制御回路を提供することを目的とし
ている。
【0006】
【課題を解決するための手段】上記課題を解決するため
に、請求項1記載の発明は、中央処理装置からのメモリ
マップトI/Oのアクセスに応答して、メモリマップト
I/Oレジスタ及びI/OマップトI/Oレジスタを有
する周辺装置を制御するためのメモリマップトI/O制
御回路であって、予めベースアドレスを保持するベース
アドレスレジスタと、中央処理装置から第2のメモリア
ドレス範囲が供給されると、該メモリアドレス範囲と上
記ベースアドレスをベースとした第1のメモリアドレス
範囲とを比較し、同じであれば、セレクト信号を出力す
るアドレス比較部と、上記中央処理装置から入力される
第3のメモリアドレス範囲には、I/OマップトI/O
領域のアドレスが割り当てられているか否かを示すマッ
ピング情報及び上記第3のメモリアドレス範囲の変換ア
ドレス又はアドレス変換方式を格納しているアドレスマ
ッピングテーブルと、当該第3のメモリアドレス範囲が
上記アドレスマッピングテーブル上でI/OマップトI
/O領域であると予め定義されているならば、上記アド
レスマッピングテーブルの変換アドレス又はアドレス変
換方式に従って、上記中央処理装置から入力されたメモ
リアドレスを上記周辺装置のI/OマップトI/Oレジ
スタのI/Oアドレスにアドレス変換するアドレス変換
部とを備えてなることを特徴としている。
に、請求項1記載の発明は、中央処理装置からのメモリ
マップトI/Oのアクセスに応答して、メモリマップト
I/Oレジスタ及びI/OマップトI/Oレジスタを有
する周辺装置を制御するためのメモリマップトI/O制
御回路であって、予めベースアドレスを保持するベース
アドレスレジスタと、中央処理装置から第2のメモリア
ドレス範囲が供給されると、該メモリアドレス範囲と上
記ベースアドレスをベースとした第1のメモリアドレス
範囲とを比較し、同じであれば、セレクト信号を出力す
るアドレス比較部と、上記中央処理装置から入力される
第3のメモリアドレス範囲には、I/OマップトI/O
領域のアドレスが割り当てられているか否かを示すマッ
ピング情報及び上記第3のメモリアドレス範囲の変換ア
ドレス又はアドレス変換方式を格納しているアドレスマ
ッピングテーブルと、当該第3のメモリアドレス範囲が
上記アドレスマッピングテーブル上でI/OマップトI
/O領域であると予め定義されているならば、上記アド
レスマッピングテーブルの変換アドレス又はアドレス変
換方式に従って、上記中央処理装置から入力されたメモ
リアドレスを上記周辺装置のI/OマップトI/Oレジ
スタのI/Oアドレスにアドレス変換するアドレス変換
部とを備えてなることを特徴としている。
【0007】また、請求項2記載の発明は、中央処理装
置からのメモリマップトI/Oのアクセスに応答して、
メモリマップトI/Oレジスタ及びI/OマップトI/
Oレジスタを有する周辺装置を制御するためのメモリマ
ップトI/O制御回路であって、予めベースアドレスを
保持するベースアドレスレジスタと、中央処理装置から
第2のメモリアドレス範囲が供給されると、該メモリア
ドレス範囲と上記ベースアドレスをベースとした第1の
メモリアドレス範囲とを比較し、同じであれば、セレク
ト信号を出力するアドレス比較部と、上記中央処理装置
から入力される第3のメモリアドレス範囲には、I/O
マップトI/O領域のアドレスが割り当てられているか
否かを示すマッピング情報及び上記第3のメモリアドレ
ス範囲の変換アドレス又はアドレス変換方式を格納して
いるアドレスマッピングテーブルと、当該第3のメモリ
アドレス範囲が上記アドレスマッピングテーブル上でI
/OマップトI/O領域であると予め定義されているな
らば、上記アドレスマッピングテーブルの変換アドレス
又はアドレス変換方式に従って、上記中央処理装置から
入力されたメモリアドレスを上記周辺装置のI/Oマッ
プトI/OレジスタのI/Oアドレスにアドレス変換
し、当該第3のメモリアドレス範囲が上記アドレスマッ
ピングテーブル上でメモリマップトI/O領域であると
もI/OマップトI/Oの領域であるとも定義されてい
ないならば、上記中央処理装置から入力されたメモリア
ドレスをアドレス変換することなしにそのまま出力する
アドレス変換部とを備えてなることを特徴としている。
置からのメモリマップトI/Oのアクセスに応答して、
メモリマップトI/Oレジスタ及びI/OマップトI/
Oレジスタを有する周辺装置を制御するためのメモリマ
ップトI/O制御回路であって、予めベースアドレスを
保持するベースアドレスレジスタと、中央処理装置から
第2のメモリアドレス範囲が供給されると、該メモリア
ドレス範囲と上記ベースアドレスをベースとした第1の
メモリアドレス範囲とを比較し、同じであれば、セレク
ト信号を出力するアドレス比較部と、上記中央処理装置
から入力される第3のメモリアドレス範囲には、I/O
マップトI/O領域のアドレスが割り当てられているか
否かを示すマッピング情報及び上記第3のメモリアドレ
ス範囲の変換アドレス又はアドレス変換方式を格納して
いるアドレスマッピングテーブルと、当該第3のメモリ
アドレス範囲が上記アドレスマッピングテーブル上でI
/OマップトI/O領域であると予め定義されているな
らば、上記アドレスマッピングテーブルの変換アドレス
又はアドレス変換方式に従って、上記中央処理装置から
入力されたメモリアドレスを上記周辺装置のI/Oマッ
プトI/OレジスタのI/Oアドレスにアドレス変換
し、当該第3のメモリアドレス範囲が上記アドレスマッ
ピングテーブル上でメモリマップトI/O領域であると
もI/OマップトI/Oの領域であるとも定義されてい
ないならば、上記中央処理装置から入力されたメモリア
ドレスをアドレス変換することなしにそのまま出力する
アドレス変換部とを備えてなることを特徴としている。
【0008】また、請求項3記載の発明は、中央処理装
置からのメモリマップトI/Oのアクセスに応答して、
メモリマップトI/Oレジスタ及びI/OマップトI/
Oレジスタを有する周辺装置を制御するためのメモリマ
ップトI/O制御回路であって、予めベースアドレスを
保持するベースアドレスレジスタと、中央処理装置から
第2のメモリアドレス範囲が供給されると、該メモリア
ドレス範囲と上記ベースアドレスをベースとした第1の
メモリアドレス範囲とを比較し、同じであれば、セレク
ト信号を出力するアドレス比較部と、上記中央処理装置
から入力される第3のメモリアドレス範囲には、I/O
マップトI/O領域のアドレスが割り当てられているか
メモリマップトI/O領域のアドレスが割り当てられて
いるかを示すマッピング情報及び上記第3のメモリアド
レス範囲の変換アドレス又はアドレス変換方式を格納し
ているアドレスマッピングテーブルと、当該第3のメモ
リアドレス範囲が上記アドレスマッピングテーブル上で
I/OマップトI/O領域であると予め定義されている
ならば、上記アドレスマッピングテーブルの変換アドレ
ス又はアドレス変換方式に従って、上記中央処理装置か
ら入力されたメモリアドレスを上記周辺装置のI/Oマ
ップトI/OレジスタのI/Oアドレスにアドレス変換
し、当該第3のメモリアドレス範囲が上記アドレスマッ
ピングテーブル上でメモリマップトI/O領域であると
予め定義されているならば、上記アドレスマッピングテ
ーブルのアドレス変換方式に従って、上記中央処理装置
から入力されたメモリアドレスを上記周辺装置のメモリ
マップトI/Oレジスタのメモリアドレスにアドレス変
換し、当該第3のメモリアドレス範囲が上記アドレスマ
ッピングテーブル上でメモリマップトI/O領域である
ともI/OマップトI/Oの領域であるとも定義されて
いないならば、上記中央処理装置から入力されたメモリ
アドレスをアドレス変換することなしにそのまま出力す
るアドレス変換部とを備えてなることを特徴としてい
る。
置からのメモリマップトI/Oのアクセスに応答して、
メモリマップトI/Oレジスタ及びI/OマップトI/
Oレジスタを有する周辺装置を制御するためのメモリマ
ップトI/O制御回路であって、予めベースアドレスを
保持するベースアドレスレジスタと、中央処理装置から
第2のメモリアドレス範囲が供給されると、該メモリア
ドレス範囲と上記ベースアドレスをベースとした第1の
メモリアドレス範囲とを比較し、同じであれば、セレク
ト信号を出力するアドレス比較部と、上記中央処理装置
から入力される第3のメモリアドレス範囲には、I/O
マップトI/O領域のアドレスが割り当てられているか
メモリマップトI/O領域のアドレスが割り当てられて
いるかを示すマッピング情報及び上記第3のメモリアド
レス範囲の変換アドレス又はアドレス変換方式を格納し
ているアドレスマッピングテーブルと、当該第3のメモ
リアドレス範囲が上記アドレスマッピングテーブル上で
I/OマップトI/O領域であると予め定義されている
ならば、上記アドレスマッピングテーブルの変換アドレ
ス又はアドレス変換方式に従って、上記中央処理装置か
ら入力されたメモリアドレスを上記周辺装置のI/Oマ
ップトI/OレジスタのI/Oアドレスにアドレス変換
し、当該第3のメモリアドレス範囲が上記アドレスマッ
ピングテーブル上でメモリマップトI/O領域であると
予め定義されているならば、上記アドレスマッピングテ
ーブルのアドレス変換方式に従って、上記中央処理装置
から入力されたメモリアドレスを上記周辺装置のメモリ
マップトI/Oレジスタのメモリアドレスにアドレス変
換し、当該第3のメモリアドレス範囲が上記アドレスマ
ッピングテーブル上でメモリマップトI/O領域である
ともI/OマップトI/Oの領域であるとも定義されて
いないならば、上記中央処理装置から入力されたメモリ
アドレスをアドレス変換することなしにそのまま出力す
るアドレス変換部とを備えてなることを特徴としてい
る。
【0009】また、請求項4記載の発明は、請求項1,
2又は3記載のメモリマップトI/O制御回路であっ
て、上記セレクト信号は、上記中央処理装置にも送出さ
れることを特徴としている。
2又は3記載のメモリマップトI/O制御回路であっ
て、上記セレクト信号は、上記中央処理装置にも送出さ
れることを特徴としている。
【0010】また、請求項5記載の発明は、請求項1,
2又は3記載のメモリマップトI/O制御回路であっ
て、上記ベースアドレスレジスタ、アドレス比較部、ア
ドレスマッピングテーブル及びアドレス変換部は、フリ
ップフロップ回路及び論理積回路を有するハードウェア
によって構成されていることを特徴としている。
2又は3記載のメモリマップトI/O制御回路であっ
て、上記ベースアドレスレジスタ、アドレス比較部、ア
ドレスマッピングテーブル及びアドレス変換部は、フリ
ップフロップ回路及び論理積回路を有するハードウェア
によって構成されていることを特徴としている。
【0011】
【発明の実施の形態】以下、図面を参照して、この発明
の実施の形態について説明する。説明は、実施例を用い
て具体的に行う。図1は、この発明の一実施例であるメ
モリマップトI/O制御回路の電気的構成を示すブロッ
ク図である。この例のメモリマップトI/O制御回路1
は、メモリマップトI/Oレジスタ21a,21b,…
及びI/OマップトI/Oレジスタ22a,22b,…
を備えた周辺LSIチップとしてのコントローラ2を制
御するための回路であり、ベースアドレスレジスタ11
と、アドレス比較部12と、アドレスマッピングテーブ
ル13と、アドレス変換部14とから概略構成されてい
る。これら各部11〜14は、フリップフロップ回路や
論理積回路等のハードウェアによって構成されている。
の実施の形態について説明する。説明は、実施例を用い
て具体的に行う。図1は、この発明の一実施例であるメ
モリマップトI/O制御回路の電気的構成を示すブロッ
ク図である。この例のメモリマップトI/O制御回路1
は、メモリマップトI/Oレジスタ21a,21b,…
及びI/OマップトI/Oレジスタ22a,22b,…
を備えた周辺LSIチップとしてのコントローラ2を制
御するための回路であり、ベースアドレスレジスタ11
と、アドレス比較部12と、アドレスマッピングテーブ
ル13と、アドレス変換部14とから概略構成されてい
る。これら各部11〜14は、フリップフロップ回路や
論理積回路等のハードウェアによって構成されている。
【0012】上記ベースアドレスレジスタ11は、CP
U3から供給されるベースアドレスBAを記憶保持する
と共に、アドレス比較部12に供給する。このベースア
ドレスBAは、CPU3から任意の値に設定され、ま
た、下位何ビットかを特定しないことにより、ベースア
ドレスBAを先頭アドレスとした所定のメモリアドレス
範囲が設定できるようになっている。アドレス比較部1
2は、CPU3がメモリマップトI/Oのアクセスを行
う際に、CPU3から供給されるメモリマップアドレス
(範囲)MAが、ベースアドレスBAを先頭アドレスと
した上記メモリアドレス範囲と同じであるか否かを比較
し、肯定結果が得られれば、セレクト信号SELをCP
U3及びアドレスマッピングテーブル13に出力する。
ここで、メモリマップアドレスMAとは、メモリマップ
トI/Oのアクセス範囲を指定するアドレスであり、下
位何ビットかを特定しないことにより、メモリアドレス
範囲が指定できるようになっている。また、CPU3
は、当該アドレス範囲が、コントローラ2の各種レジス
タ21a,22a,…へのアクセス範囲かどうかを素早
く知るために、セレクト信号SELをモニタする。
U3から供給されるベースアドレスBAを記憶保持する
と共に、アドレス比較部12に供給する。このベースア
ドレスBAは、CPU3から任意の値に設定され、ま
た、下位何ビットかを特定しないことにより、ベースア
ドレスBAを先頭アドレスとした所定のメモリアドレス
範囲が設定できるようになっている。アドレス比較部1
2は、CPU3がメモリマップトI/Oのアクセスを行
う際に、CPU3から供給されるメモリマップアドレス
(範囲)MAが、ベースアドレスBAを先頭アドレスと
した上記メモリアドレス範囲と同じであるか否かを比較
し、肯定結果が得られれば、セレクト信号SELをCP
U3及びアドレスマッピングテーブル13に出力する。
ここで、メモリマップアドレスMAとは、メモリマップ
トI/Oのアクセス範囲を指定するアドレスであり、下
位何ビットかを特定しないことにより、メモリアドレス
範囲が指定できるようになっている。また、CPU3
は、当該アドレス範囲が、コントローラ2の各種レジス
タ21a,22a,…へのアクセス範囲かどうかを素早
く知るために、セレクト信号SELをモニタする。
【0013】アドレスマッピングテーブル13は、CP
U3から入力されるテーブル選択アドレス(範囲)TA
には、I/OマップトI/Oレジスタ22a,22b,
…のアドレスが割り当てられているか、メモリマップト
I/Oレジスタ21a,21b,…のアドレスが割り当
てられているかを示すマッピング情報及びテーブル選択
アドレス(範囲)TAのアドレス変換方式を格納する。
ここで、テーブル選択アドレスTAとは、メモリマップ
トI/Oの範囲内の任意のロケーションを選択するアド
レスである。また、アドレス変換方式とは、アドレスの
各位のビットを入れ換えたり、反転したりすることによ
り、例えば、I/OマップトI/Oレジスタのアドレス
がぶつからないようにする処理である。アドレス変換部
14は、上記アドレス変換方式に則り、変換されたアド
レスCAをコントローラ2の該当するI/Oレジスタに
渡す。
U3から入力されるテーブル選択アドレス(範囲)TA
には、I/OマップトI/Oレジスタ22a,22b,
…のアドレスが割り当てられているか、メモリマップト
I/Oレジスタ21a,21b,…のアドレスが割り当
てられているかを示すマッピング情報及びテーブル選択
アドレス(範囲)TAのアドレス変換方式を格納する。
ここで、テーブル選択アドレスTAとは、メモリマップ
トI/Oの範囲内の任意のロケーションを選択するアド
レスである。また、アドレス変換方式とは、アドレスの
各位のビットを入れ換えたり、反転したりすることによ
り、例えば、I/OマップトI/Oレジスタのアドレス
がぶつからないようにする処理である。アドレス変換部
14は、上記アドレス変換方式に則り、変換されたアド
レスCAをコントローラ2の該当するI/Oレジスタに
渡す。
【0014】次に、動作について説明する。まず、コン
ピュータシステムに電源が投入されると、初期化プログ
ラムの動作手順に従って、CPU3は、ベースアドレス
レジスタ11に、適当なベースアドレスBAを設定す
る。設定されたベースアドレスBAは、ベースアドレス
レジスタ11からアドレス比較部12に供給される。こ
の後、例えば、アプリケーション・プログラムの起動
後、CPU3がメモリマップトI/Oのアクセスを行う
と、CPU3からアドレス比較部12に対してメモリマ
ップアドレス(範囲)MAが、アドレスマッピングテー
ブル13に対してテーブル選択アドレスTAが、アドレ
ス変換部14に対して入力アドレスIAが、また、コン
トローラ2へデータDAが、同時に供給される。
ピュータシステムに電源が投入されると、初期化プログ
ラムの動作手順に従って、CPU3は、ベースアドレス
レジスタ11に、適当なベースアドレスBAを設定す
る。設定されたベースアドレスBAは、ベースアドレス
レジスタ11からアドレス比較部12に供給される。こ
の後、例えば、アプリケーション・プログラムの起動
後、CPU3がメモリマップトI/Oのアクセスを行う
と、CPU3からアドレス比較部12に対してメモリマ
ップアドレス(範囲)MAが、アドレスマッピングテー
ブル13に対してテーブル選択アドレスTAが、アドレ
ス変換部14に対して入力アドレスIAが、また、コン
トローラ2へデータDAが、同時に供給される。
【0015】アドレス比較部12は、CPU3から供給
されるメモリマップアドレス(範囲)MAが、ベースア
ドレスBAを先頭アドレスとした上記メモリアドレス範
囲と同じであるか否かを比較し、肯定結果が得られれ
ば、セレクト信号SELをCPU3及びアドレスマッピ
ングテーブル13に出力する。
されるメモリマップアドレス(範囲)MAが、ベースア
ドレスBAを先頭アドレスとした上記メモリアドレス範
囲と同じであるか否かを比較し、肯定結果が得られれ
ば、セレクト信号SELをCPU3及びアドレスマッピ
ングテーブル13に出力する。
【0016】アドレスマッピングテーブル13は、アド
レス比較部12からセレクト信号SELの供給を受ける
と、CPU3から入力されるテーブル選択アドレス(範
囲)TAによって示されたアドレスマッピングテーブル
13内のテーブル上のデータによって、メモリ・I/O
選択信号MISを生成し、入力されたテーブル選択アド
レスTAが、メモリマップトI/Oレジスタ21a,2
1b,…に割り当てられたアドレスであるかI/Oマッ
プトI/Oレジスタ22a,22b,…に割り当てられ
たアドレスであるかをコントローラ2に通知する。ま
た、アドレスマッピングテーブル13は、テーブルから
探索された該当するアドレス変換方式CMをアドレス変
換部14に渡す。
レス比較部12からセレクト信号SELの供給を受ける
と、CPU3から入力されるテーブル選択アドレス(範
囲)TAによって示されたアドレスマッピングテーブル
13内のテーブル上のデータによって、メモリ・I/O
選択信号MISを生成し、入力されたテーブル選択アド
レスTAが、メモリマップトI/Oレジスタ21a,2
1b,…に割り当てられたアドレスであるかI/Oマッ
プトI/Oレジスタ22a,22b,…に割り当てられ
たアドレスであるかをコントローラ2に通知する。ま
た、アドレスマッピングテーブル13は、テーブルから
探索された該当するアドレス変換方式CMをアドレス変
換部14に渡す。
【0017】例えば、テーブル選択アドレスTAがアド
レスマッピングテーブル13上でI/OマップトI/O
領域であると予め定義されているならば、アドレスマッ
ピングテーブル13のアドレス変換方式に従って、CP
U3からの入力アドレスIAをコントローラ2の該当す
る例えばI/OマップトI/Oレジスタ22aのI/O
アドレスにアドレス変換して出力し、テーブル選択アド
レスTAがアドレスマッピングテーブル13上でメモリ
マップトI/O領域であると予め定義されているなら
ば、アドレスマッピングテーブル13のアドレス変換方
式に従って、CPU3からの入力アドレスIAをコント
ローラ2の該当する例えばメモリマップトI/Oレジス
タ21aのメモリアドレスにアドレス変換して出力し、
テーブル選択アドレスTAがアドレスマッピングテーブ
ル13上でメモリマップトI/O領域であるともI/O
マップトI/Oの領域であるとも定義されていないなら
ば、CPU3からの入力アドレスIAをアドレス変換す
ることなしにそのままコントローラ2の該当する例えば
メモリマップトI/Oレジスタ21bに渡す。
レスマッピングテーブル13上でI/OマップトI/O
領域であると予め定義されているならば、アドレスマッ
ピングテーブル13のアドレス変換方式に従って、CP
U3からの入力アドレスIAをコントローラ2の該当す
る例えばI/OマップトI/Oレジスタ22aのI/O
アドレスにアドレス変換して出力し、テーブル選択アド
レスTAがアドレスマッピングテーブル13上でメモリ
マップトI/O領域であると予め定義されているなら
ば、アドレスマッピングテーブル13のアドレス変換方
式に従って、CPU3からの入力アドレスIAをコント
ローラ2の該当する例えばメモリマップトI/Oレジス
タ21aのメモリアドレスにアドレス変換して出力し、
テーブル選択アドレスTAがアドレスマッピングテーブ
ル13上でメモリマップトI/O領域であるともI/O
マップトI/Oの領域であるとも定義されていないなら
ば、CPU3からの入力アドレスIAをアドレス変換す
ることなしにそのままコントローラ2の該当する例えば
メモリマップトI/Oレジスタ21bに渡す。
【0018】このように、上記構成によれば、入力され
たメモリアドレスによってコントローラ2に対してメモ
リマップトI/OとI/OマップトI/Oとの複数のア
クセス方式を選択できるアドレス変換部14を有するの
で、メモリアドレス同士の相互変換は勿論のこと、メモ
リアドレス空間からI/Oアドレス空間へのアドレス変
換も可能となる。したがって、特定のマシンアーキテク
チャにのみ対応する汎用性のI/OマップトI/Oレジ
スタを、異なるアーキテクチャのマシンでも、自由に使
用できる。しかも、ハードウェアで構成されているの
で、高速に変換できる。
たメモリアドレスによってコントローラ2に対してメモ
リマップトI/OとI/OマップトI/Oとの複数のア
クセス方式を選択できるアドレス変換部14を有するの
で、メモリアドレス同士の相互変換は勿論のこと、メモ
リアドレス空間からI/Oアドレス空間へのアドレス変
換も可能となる。したがって、特定のマシンアーキテク
チャにのみ対応する汎用性のI/OマップトI/Oレジ
スタを、異なるアーキテクチャのマシンでも、自由に使
用できる。しかも、ハードウェアで構成されているの
で、高速に変換できる。
【0019】以上、この発明の実施例を図面により詳述
してきたが、具体的な構成はこの実施例に限られるもの
ではなく、この発明の要旨を逸脱しない範囲の設計の変
更等があってもこの発明に含まれる。例えば、コントロ
ーラ側のI/Oレジスタが、全てI/OマップトI/O
レジスタからなり、メモリマップトI/Oレジスタを1
つも有さない場合は、アドレスマッピングテーブル13
には、CPU3から入力されるテーブル選択アドレス
(範囲)TAに対し、I/OマップトI/Oレジスタ2
2a,22b,…のアドレスが割り当てられているか否
かを示すマッピング情報及びテーブル選択アドレス(範
囲)TAのアドレス変換方式が格納されていれば充分で
ある。また、アドレス変換方式に代えて、単純に、変換
アドレスを格納するようにしても良い。
してきたが、具体的な構成はこの実施例に限られるもの
ではなく、この発明の要旨を逸脱しない範囲の設計の変
更等があってもこの発明に含まれる。例えば、コントロ
ーラ側のI/Oレジスタが、全てI/OマップトI/O
レジスタからなり、メモリマップトI/Oレジスタを1
つも有さない場合は、アドレスマッピングテーブル13
には、CPU3から入力されるテーブル選択アドレス
(範囲)TAに対し、I/OマップトI/Oレジスタ2
2a,22b,…のアドレスが割り当てられているか否
かを示すマッピング情報及びテーブル選択アドレス(範
囲)TAのアドレス変換方式が格納されていれば充分で
ある。また、アドレス変換方式に代えて、単純に、変換
アドレスを格納するようにしても良い。
【0020】
【発明の効果】以上説明したように、この発明のメモリ
マップトI/O制御回路によれば、入力されたメモリア
ドレスによって周辺装置に対してメモリマップトI/O
とI/OマップトI/Oとの複数のアクセス方式を選択
できるアドレス変換部を有するので、メモリアドレス同
士の相互変換は勿論のこと(請求項3記載の構成の場
合)、メモリアドレス空間からI/Oアドレス空間への
アドレス変換も可能となる。したがって、特定のマシン
アーキテクチャにのみ対応する汎用性のI/Oマップト
I/Oレジスタを、異なるアーキテクチャのマシンで
も、自由に使用できる。しかも、ハードウェアで構成さ
れているので、高速に変換できる。
マップトI/O制御回路によれば、入力されたメモリア
ドレスによって周辺装置に対してメモリマップトI/O
とI/OマップトI/Oとの複数のアクセス方式を選択
できるアドレス変換部を有するので、メモリアドレス同
士の相互変換は勿論のこと(請求項3記載の構成の場
合)、メモリアドレス空間からI/Oアドレス空間への
アドレス変換も可能となる。したがって、特定のマシン
アーキテクチャにのみ対応する汎用性のI/Oマップト
I/Oレジスタを、異なるアーキテクチャのマシンで
も、自由に使用できる。しかも、ハードウェアで構成さ
れているので、高速に変換できる。
【図面の簡単な説明】
【図1】この発明の一実施例であるメモリマップトI/
O制御回路の電気的構成を示すブロック図である。
O制御回路の電気的構成を示すブロック図である。
1 メモリマップトI/O制御回路 11 ベースアドレスレジスタ 12 アドレス比較部 13 アドレスマッピングテーブル 14 アドレス変換部 2 コントローラ(周辺装置) 21a,21b,… メモリマップトI/Oレジス
タ 22a,22b,… I/OマップトI/Oレジス
タ 3 CPU(中央処理装置) BA ベースアドレス(第1のメモリアドレス範
囲) MA メモリマップアドレス(第2のメモリアドレ
ス範囲) TA テーブル選択アドレス(第3のメモリアドレ
ス範囲) IA 入力アドレス
タ 22a,22b,… I/OマップトI/Oレジス
タ 3 CPU(中央処理装置) BA ベースアドレス(第1のメモリアドレス範
囲) MA メモリマップアドレス(第2のメモリアドレ
ス範囲) TA テーブル選択アドレス(第3のメモリアドレ
ス範囲) IA 入力アドレス
Claims (5)
- 【請求項1】 中央処理装置からのメモリマップトI/
Oのアクセスに応答して、メモリマップトI/Oレジス
タ及びI/OマップトI/Oレジスタを有する周辺装置
を制御するためのメモリマップトI/O制御回路であっ
て、 予めベースアドレスを保持するベースアドレスレジスタ
と、 中央処理装置から第2のメモリアドレス範囲が供給され
ると、該メモリアドレス範囲と前記ベースアドレスをベ
ースとした第1のメモリアドレス範囲とを比較し、同じ
であれば、セレクト信号を出力するアドレス比較部と、 前記中央処理装置から入力される第3のメモリアドレス
範囲には、I/OマップトI/O領域のアドレスが割り
当てられているか否かを示すマッピング情報及び前記第
3のメモリアドレス範囲の変換アドレス又はアドレス変
換方式を格納しているアドレスマッピングテーブルと、 当該第3のメモリアドレス範囲が前記アドレスマッピン
グテーブル上でI/OマップトI/O領域であると予め
定義されているならば、前記アドレスマッピングテーブ
ルの変換アドレス又はアドレス変換方式に従って、前記
中央処理装置から入力されたメモリアドレスを前記周辺
装置のI/OマップトI/OレジスタのI/Oアドレス
にアドレス変換するアドレス変換部とを備えてなること
を特徴とするメモリマップトI/O制御回路。 - 【請求項2】 中央処理装置からのメモリマップトI/
Oのアクセスに応答して、メモリマップトI/Oレジス
タ及びI/OマップトI/Oレジスタを有する周辺装置
を制御するためのメモリマップトI/O制御回路であっ
て、 予めベースアドレスを保持するベースアドレスレジスタ
と、 中央処理装置から第2のメモリアドレス範囲が供給され
ると、該メモリアドレス範囲と前記ベースアドレスをベ
ースとした第1のメモリアドレス範囲とを比較し、同じ
であれば、セレクト信号を出力するアドレス比較部と、 前記中央処理装置から入力される第3のメモリアドレス
範囲には、I/OマップトI/O領域のアドレスが割り
当てられているか否かを示すマッピング情報及び前記第
3のメモリアドレス範囲の変換アドレス又はアドレス変
換方式を格納しているアドレスマッピングテーブルと、 当該第3のメモリアドレス範囲が前記アドレスマッピン
グテーブル上でI/OマップトI/O領域であると予め
定義されているならば、前記アドレスマッピングテーブ
ルの変換アドレス又はアドレス変換方式に従って、前記
中央処理装置から入力されたメモリアドレスを前記周辺
装置のI/OマップトI/OレジスタのI/Oアドレス
にアドレス変換し、 当該第3のメモリアドレス範囲が前記アドレスマッピン
グテーブル上でメモリマップトI/O領域であるともI
/OマップトI/Oの領域であるとも定義されていない
ならば、前記中央処理装置から入力されたメモリアドレ
スをアドレス変換することなしにそのまま出力するアド
レス変換部とを備えてなることを特徴とするメモリマッ
プトI/O制御回路。 - 【請求項3】 中央処理装置からのメモリマップトI/
Oのアクセスに応答して、メモリマップトI/Oレジス
タ及びI/OマップトI/Oレジスタを有する周辺装置
を制御するためのメモリマップトI/O制御回路であっ
て、 予めベースアドレスを保持するベースアドレスレジスタ
と、 中央処理装置から第2のメモリアドレス範囲が供給され
ると、該メモリアドレス範囲と前記ベースアドレスをベ
ースとした第1のメモリアドレス範囲とを比較し、同じ
であれば、セレクト信号を出力するアドレス比較部と、 前記中央処理装置から入力される第3のメモリアドレス
範囲には、I/OマップトI/O領域のアドレスが割り
当てられているかメモリマップトI/O領域のアドレス
が割り当てられているかを示すマッピング情報及び前記
第3のメモリアドレス範囲の変換アドレス又はアドレス
変換方式を格納しているアドレスマッピングテーブル
と、 当該第3のメモリアドレス範囲が前記アドレスマッピン
グテーブル上でI/OマップトI/O領域であると予め
定義されているならば、前記アドレスマッピングテーブ
ルの変換アドレス又はアドレス変換方式に従って、前記
中央処理装置から入力されたメモリアドレスを前記周辺
装置のI/OマップトI/OレジスタのI/Oアドレス
にアドレス変換し、 当該第3のメモリアドレス範囲が前記アドレスマッピン
グテーブル上でメモリマップトI/O領域であると予め
定義されているならば、前記アドレスマッピングテーブ
ルのアドレス変換方式に従って、前記中央処理装置から
入力されたメモリアドレスを前記周辺装置のメモリマッ
プトI/Oレジスタのメモリアドレスにアドレス変換
し、 当該第3のメモリアドレス範囲が前記アドレスマッピン
グテーブル上でメモリマップトI/O領域であるともI
/OマップトI/Oの領域であるとも定義されていない
ならば、前記中央処理装置から入力されたメモリアドレ
スをアドレス変換することなしにそのまま出力するアド
レス変換部とを備えてなることを特徴とするメモリマッ
プトI/O制御回路。 - 【請求項4】 前記セレクト信号は、前記中央処理装置
にも送出されることを特徴とする請求項1,2又は3記
載のメモリマップトI/O制御回路。 - 【請求項5】 前記ベースアドレスレジスタ、アドレス
比較部、アドレスマッピングテーブル及びアドレス変換
部は、フリップフロップ回路及び論理積回路を有するハ
ードウェアによって構成されていることを特徴とする請
求項1,2又は3記載のメモリマップトI/O制御回
路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7223359A JPH0969072A (ja) | 1995-08-31 | 1995-08-31 | メモリマップトi/o制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7223359A JPH0969072A (ja) | 1995-08-31 | 1995-08-31 | メモリマップトi/o制御回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0969072A true JPH0969072A (ja) | 1997-03-11 |
Family
ID=16796923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7223359A Pending JPH0969072A (ja) | 1995-08-31 | 1995-08-31 | メモリマップトi/o制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0969072A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7146482B2 (en) | 2003-11-25 | 2006-12-05 | International Business Machines Corporation | Memory mapped input/output emulation |
US7234037B2 (en) | 2003-11-25 | 2007-06-19 | International Business Machines Corporation | Memory mapped Input/Output operations |
US7552436B2 (en) | 2003-11-25 | 2009-06-23 | International Business Machines | Memory mapped input/output virtualization |
JP2019114303A (ja) * | 2019-04-18 | 2019-07-11 | 株式会社エルイーテック | 制御チップ及びこれを用いた遊技機 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03276357A (ja) * | 1990-03-27 | 1991-12-06 | Hitachi Ltd | i/oアドレス変換方式 |
JPH05189352A (ja) * | 1992-01-16 | 1993-07-30 | Hitachi Ltd | I/oアドレス変換方式 |
-
1995
- 1995-08-31 JP JP7223359A patent/JPH0969072A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03276357A (ja) * | 1990-03-27 | 1991-12-06 | Hitachi Ltd | i/oアドレス変換方式 |
JPH05189352A (ja) * | 1992-01-16 | 1993-07-30 | Hitachi Ltd | I/oアドレス変換方式 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7146482B2 (en) | 2003-11-25 | 2006-12-05 | International Business Machines Corporation | Memory mapped input/output emulation |
US7234037B2 (en) | 2003-11-25 | 2007-06-19 | International Business Machines Corporation | Memory mapped Input/Output operations |
US7552436B2 (en) | 2003-11-25 | 2009-06-23 | International Business Machines | Memory mapped input/output virtualization |
JP2019114303A (ja) * | 2019-04-18 | 2019-07-11 | 株式会社エルイーテック | 制御チップ及びこれを用いた遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3136257B2 (ja) | コンピュータメモリインタフェース装置 | |
US20140337585A1 (en) | Page table management | |
JPH11161547A (ja) | データ処理装置用記憶装置、および記憶場所にアクセスする方法 | |
KR19980041957A (ko) | 프로그램가능 공용 메모리 시스템 및 방법 | |
JP2001202270A (ja) | 内部バストレース機能付プロセッサ | |
JPH05210570A (ja) | アドレス拡張をする方法及び手段 | |
JP2001043180A (ja) | マイクロプロセッサおよびそのための記憶装置 | |
GB2216306A (en) | Load and synchronize computer architecture and process | |
JPH0969072A (ja) | メモリマップトi/o制御回路 | |
US5727179A (en) | Memory access method using intermediate addresses | |
JPH08221319A (ja) | 半導体記憶装置 | |
JP2618223B2 (ja) | シングルチツプマイクロコンピユータ | |
US20160259310A1 (en) | Initialising control data for a device | |
JP2972557B2 (ja) | データ転送制御装置および制御方法 | |
JP3810175B2 (ja) | グラフィックスプロセッサおよび図形処理装置 | |
JPS6014435B2 (ja) | 記憶装置 | |
JP2847729B2 (ja) | 情報処理装置 | |
JP3345050B2 (ja) | 二次元配列型メモリシステム | |
JPH10247150A (ja) | データ処理システム | |
JPS63261446A (ja) | 拡張仮想記憶制御方式 | |
JPH03214275A (ja) | 半導体集積回路 | |
JPH10333903A (ja) | マイクロプログラム制御装置 | |
JPH0320834A (ja) | 情報処理装置の初期診断方法 | |
JPH03119438A (ja) | マイクロプロセッサ | |
JPH05143445A (ja) | 仮想記憶コンピユータのメモリ高速化機構 |