JPH0969072A - Memory mapped i/o control circuit - Google Patents
Memory mapped i/o control circuitInfo
- 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
Description
【0001】[0001]
【発明の属する技術分野】この発明は、メモリマップト
I/O制御回路に係り、特に、入力されたメモリアドレ
スによって、メモリマップトI/Oレジスタ及びI/O
マップトI/Oレジスタのいずれにもアクセスできる機
能を備えたメモリマップトI/O制御回路に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory-mapped I / O control circuit, and more particularly to a memory-mapped I / O register and I / O according to an input memory address.
The present invention relates to a memory mapped I / O control circuit having a function of accessing any of the mapped I / O registers.
【0002】[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装置をも指定することが可能なことであ
る。2. Description of the Related Art Conventionally, an I / O in which a CPU (Central Processing Unit) composed of one semiconductor chip is installed around the CPU
As a method for accessing a device (external input / output device), I
/ O mapped I / O access method and memory mapped I
The / O access method is known. I / O Mapped I
The I / O access method is the I / O device number (address) generated by an input / output command from the CPU, and the I / O
CPU and I / O using write and read signals to device
It exchanges data with the device and is visible when accessing from the I / O space (in the I / O device).
The / O register is called an I / O mapped I / O register. On the other hand, the memory-mapped I / O access method assigns the address of the I / O device to a part of the address area originally prepared for the main memory, and writes and reads instructions to the main memory, operation instructions, etc. The data is exchanged between the CPU and the I / O device by using the address to the main memory and the write and read signals to and from the main memory, which are seen when accessing from the memory space. I / O registers (in the I / O device) are called memory-mapped I / O registers. A feature of the memory-mapped I / O access method is that it is possible to specify an I / O device as well as a main memory by using operands such as general arithmetic logic operation instructions and transfer instructions.
【0003】ところで、この種のI/OマップトI/O
レジスタの中には、大量生産され、原価低下効果が期待
できるにもかかわらず、アドレス(装置番号)が固定さ
れ、特定のマシンアーキテクチャにのみ依存するI/O
マップトI/Oレジスタ(汎用チップ)が多種類存在す
る。しかしながら、メモリ空間からI/Oレジスタに対
しては直接にはアクセスできず、I/Oアドレス空間か
らメモリアドレス空間に対しても、直接にはアクセスで
きない。アドレス変換の手段としては、例えば、特開平
2−287645号公報、特開昭64−84353号公
報等に記載されているように、アドレス変換テーブルを
持つ管理ユニットが提供されている。By the way, this kind of I / O mapped I / O
I / O that has a fixed address (device number) and is dependent only on a specific machine architecture, despite being mass-produced in the register and expected to reduce costs
There are many types of mapped I / O registers (general-purpose chips). However, the memory space cannot directly access the I / O register, and the I / O address space cannot directly access the memory address space. As means for address translation, for example, a management unit having an address translation table is provided, as described in JP-A-2-287645, JP-A-64-84353 and the like.
【0004】[0004]
【発明が解決しようとする課題】しかしながら、上記公
報記載の従来技術は、あくまで、論理アドレスを物理ア
ドレスに変換する仮想記憶操作を行うもので、メモリマ
ップ上での変換は可能であるが、メモリアドレスによっ
て、メモリアドレス空間からI/Oアドレス空間へ自動
的に切り替える機構にはなっていなかった。このため、
上記したように、特定のマシンアーキテクチャにのみ依
存する汎用性のI/OマップトI/Oレジスタを、異な
るアーキテクチャのマシンでは、使用できないという、
不都合が生じていた。However, the prior art described in the above publication merely performs a virtual memory operation for converting a logical address into a physical address, and although conversion on a memory map is possible, There was no mechanism for automatically switching from the memory address space to the I / O address space depending on the address. For this reason,
As described above, general-purpose I / O mapped I / O registers that depend only on a specific machine architecture cannot be used on machines of different architectures.
Inconvenience had occurred.
【0005】この発明は、上述の事情に鑑みてなされた
もので、特定のマシンアーキテクチャにのみ依存する汎
用性のI/OマップトI/Oレジスタを、異なるアーキ
テクチャのマシンでも、自由に使用できるようにしたメ
モリマップトI/O制御回路を提供することを目的とし
ている。The present invention has been made in view of the above circumstances, and allows general-purpose I / O mapped I / O registers that depend only on a specific machine architecture to be used freely even on machines of different architectures. It is an object of the present invention to provide a memory-mapped I / O control circuit according to the present invention.
【0006】[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アドレスにアドレス変換するアドレス変換
部とを備えてなることを特徴としている。In order to solve the above-mentioned problems, the present invention according to claim 1 responds to a memory-mapped I / O access from a central processing unit, with a memory-mapped I / O register and an I / O. A memory mapped I / O control circuit for controlling a peripheral device having a mapped I / O register, wherein a base address register holding a base address in advance and a second memory address range supplied from a central processing unit. , The memory address range is compared with a first memory address range based on the base address, and if they are the same, an address comparing section which outputs a select signal and a third memory which is input from the central processing unit. I / O mapped I / O in the memory address range
An address mapping table that stores mapping information indicating whether or not an address of an area is assigned and a translation address or an address translation method of the third memory address range, and the address mapping table for the third memory address range. I / O mapped I on the table
If it is previously defined as the I / O area, the memory address input from the central processing unit is converted into the I / O mapped I / O register of the peripheral device according to the conversion address of the address mapping table or the address conversion method. And an address conversion unit for converting the address into the I / O address of the above.
【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の領域であるとも定義されてい
ないならば、上記中央処理装置から入力されたメモリア
ドレスをアドレス変換することなしにそのまま出力する
アドレス変換部とを備えてなることを特徴としている。According to the second aspect of the invention, in response to the memory mapped I / O access from the central processing unit,
Memory mapped I / O register and I / O mapped I /
A memory-mapped I / O control circuit for controlling a peripheral device having an O register, the base address register holding a base address in advance, and the second memory address range supplied from the central processing unit, the memory. An address comparison unit that compares the address range with a first memory address range based on the base address and outputs a select signal if the same, and a third memory address range input from the central processing unit I / O
An address mapping table storing mapping information indicating whether or not an address of the mapped I / O area is assigned, and a translation address or an address translation method of the third memory address range, and the third memory address range In the above address mapping table
If it is defined in advance as an I / O mapped I / O area, the memory address input from the central processing unit is mapped to the I / O mapped I / O of the peripheral device according to the conversion address of the address mapping table or the address conversion method. It is also defined that the third memory address range is translated into an I / O address of an I / O register, and the third memory address range is a memory-mapped I / O area or an I / O-mapped I / O area on the address mapping table. If not, it is characterized by comprising an address conversion unit for directly outputting the memory address input from the central processing unit without performing address conversion.
【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の領域であるとも定義されて
いないならば、上記中央処理装置から入力されたメモリ
アドレスをアドレス変換することなしにそのまま出力す
るアドレス変換部とを備えてなることを特徴としてい
る。According to the third aspect of the invention, in response to the memory mapped I / O access from the central processing unit,
Memory mapped I / O register and I / O mapped I /
A memory-mapped I / O control circuit for controlling a peripheral device having an O register, the base address register holding a base address in advance, and the second memory address range supplied from the central processing unit, the memory. An address comparison unit that compares the address range with a first memory address range based on the base address and outputs a select signal if the same, and a third memory address range input from the central processing unit I / O
Address mapping storing mapping information indicating whether an address of the mapped I / O area is allocated or an address of the memory mapped I / O area and a conversion address or address conversion method of the third memory address range. If the table and the third memory address range are defined in advance as I / O mapped I / O areas on the address mapping table, then according to the translation address or address translation method of the address mapping table, The memory address input from the central processing unit is converted into the I / O address of the I / O mapped I / O register of the peripheral device, and the third memory address range is stored in the memory mapped I / O on the address mapping table. Predefined as a region Then, according to the address conversion method of the address mapping table, the memory address input from the central processing unit is converted into the memory address of the memory-mapped I / O register of the peripheral device, and the third memory address range is If neither the memory mapped I / O area nor the I / O mapped I / O area is defined on the address mapping table, the memory address input from the central processing unit is directly converted without address conversion. It is characterized by comprising an address conversion unit for outputting.
【0009】また、請求項4記載の発明は、請求項1,
2又は3記載のメモリマップトI/O制御回路であっ
て、上記セレクト信号は、上記中央処理装置にも送出さ
れることを特徴としている。[0009] The invention described in claim 4 is the first invention.
The memory-mapped I / O control circuit described in 2 or 3 is characterized in that the select signal is also sent to the central processing unit.
【0010】また、請求項5記載の発明は、請求項1,
2又は3記載のメモリマップトI/O制御回路であっ
て、上記ベースアドレスレジスタ、アドレス比較部、ア
ドレスマッピングテーブル及びアドレス変換部は、フリ
ップフロップ回路及び論理積回路を有するハードウェア
によって構成されていることを特徴としている。[0010] The invention according to claim 5 is based on claim 1,
2. The memory mapped I / O control circuit according to 2 or 3, wherein the base address register, the address comparison unit, the address mapping table and the address conversion unit are configured by hardware having a flip-flop circuit and an AND circuit. Is characterized by.
【0011】[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は、フリップフロップ回路や
論理積回路等のハードウェアによって構成されている。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. The description will be specifically made using the embodiments. FIG. 1 is a block diagram showing the electrical configuration of a memory mapped I / O control circuit according to an embodiment of the present invention. Memory-mapped I / O control circuit 1 of this example
Are memory-mapped I / O registers 21a, 21b, ...
And I / O mapped I / O registers 22a, 22b, ...
Is a circuit for controlling the controller 2 as a peripheral LSI chip including the base address register 11
, An address comparison unit 12, an address mapping table 13, and an address conversion unit 14. Each of these units 11 to 14 is composed of hardware such as a flip-flop circuit and an AND circuit.
【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をモニタする。The base address register 11 is a CP
The base address BA supplied from U3 is stored and held, and also supplied to the address comparison unit 12. The base address BA is set to an arbitrary value by the CPU 3, and by not specifying the lower bits, a predetermined memory address range can be set with the base address BA as the start address. Address comparison unit 1
2 indicates whether or not the memory map address (range) MA supplied from the CPU 3 when the CPU 3 accesses the memory mapped I / O is the same as the above-mentioned memory address range with the base address BA as the start address. If a positive result is obtained by comparison, the select signal SEL is set to CP.
Output to U3 and address mapping table 13.
Here, the memory map address MA is an address that specifies the access range of the memory mapped I / O, and the memory address range can be specified by not specifying the lower bits. CPU3
Monitors the select signal SEL in order to quickly know whether the address range is an access range to the various registers 21a, 22a, ... Of the controller 2.
【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レジスタに
渡す。The address mapping table 13 is a CP
Table selection address (range) TA input from U3
Includes I / O mapped I / O registers 22a, 22b,
Stores mapping information indicating whether the address of ... Is assigned or the addresses of the memory-mapped I / O registers 21a, 21b, ... And the address conversion method of the table selection address (range) TA.
Here, the table selection address TA is an address that selects an arbitrary location within the range of the memory mapped I / O. In addition, the address conversion method is a process in which, for example, the bits of each address are exchanged or inverted so that the addresses of the I / O mapped I / O register do not collide. The address conversion unit 14 passes the converted address CA to the corresponding I / O register of the controller 2 according to the address conversion method.
【0014】次に、動作について説明する。まず、コン
ピュータシステムに電源が投入されると、初期化プログ
ラムの動作手順に従って、CPU3は、ベースアドレス
レジスタ11に、適当なベースアドレスBAを設定す
る。設定されたベースアドレスBAは、ベースアドレス
レジスタ11からアドレス比較部12に供給される。こ
の後、例えば、アプリケーション・プログラムの起動
後、CPU3がメモリマップトI/Oのアクセスを行う
と、CPU3からアドレス比較部12に対してメモリマ
ップアドレス(範囲)MAが、アドレスマッピングテー
ブル13に対してテーブル選択アドレスTAが、アドレ
ス変換部14に対して入力アドレスIAが、また、コン
トローラ2へデータDAが、同時に供給される。Next, the operation will be described. First, when the computer system is powered on, the CPU 3 sets an appropriate base address BA in the base address register 11 according to the operation procedure of the initialization program. The set base address BA is supplied from the base address register 11 to the address comparison unit 12. Thereafter, for example, when the CPU 3 accesses the memory-mapped I / O after the application program is activated, the memory map address (range) MA is sent from the CPU 3 to the address comparison unit 12 and the address mapping table 13 is sent to the table. The selection address TA, the input address IA to the address conversion unit 14, and the data DA to the controller 2 are simultaneously supplied.
【0015】アドレス比較部12は、CPU3から供給
されるメモリマップアドレス(範囲)MAが、ベースア
ドレスBAを先頭アドレスとした上記メモリアドレス範
囲と同じであるか否かを比較し、肯定結果が得られれ
ば、セレクト信号SELをCPU3及びアドレスマッピ
ングテーブル13に出力する。The address comparison unit 12 compares whether or not the memory map address (range) MA supplied from the CPU 3 is the same as the above-mentioned memory address range with the base address BA as the start address, and a positive result is obtained. If so, the select signal SEL is output to the CPU 3 and the address mapping table 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に渡す。When the address mapping table 13 is supplied with the select signal SEL from the address comparison section 12, the address mapping table 13 receives the data on the table in the address mapping table 13 indicated by the table selection address (range) TA input from the CPU 3. , Memory / I / O
The selection signal MIS is generated, and the input table selection address TA is stored in the memory mapped I / O registers 21a, 2
1b, ... Or the address assigned to the I / O mapped I / O registers 22a, 22b ,. Also, the address mapping table 13 passes the corresponding address conversion method CM searched from the table to the address conversion unit 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に渡す。For example, the table selection address TA is I / O mapped I / O on the address mapping table 13.
If the area is pre-defined, the CP is converted according to the address conversion method of the address mapping table 13.
The input address IA from U3 is applied to the corresponding I / O of the controller 2, for example, I / O of the I / O mapped I / O register 22a.
If the table selection address TA is previously defined as a memory-mapped I / O area on the address mapping table 13, it is input from the CPU 3 according to the address conversion method of the address mapping table 13. The address IA is converted into a corresponding memory address of the memory mapped I / O register 21a of the controller 2, for example, and output.
If the table selection address TA is a memory mapped I / O area on the address mapping table 13,
If it is not defined as a mapped I / O area, the input address IA from the CPU 3 is directly passed to the corresponding memory mapped I / O register 21b of the controller 2 without address conversion.
【0018】このように、上記構成によれば、入力され
たメモリアドレスによってコントローラ2に対してメモ
リマップトI/OとI/OマップトI/Oとの複数のア
クセス方式を選択できるアドレス変換部14を有するの
で、メモリアドレス同士の相互変換は勿論のこと、メモ
リアドレス空間からI/Oアドレス空間へのアドレス変
換も可能となる。したがって、特定のマシンアーキテク
チャにのみ対応する汎用性のI/OマップトI/Oレジ
スタを、異なるアーキテクチャのマシンでも、自由に使
用できる。しかも、ハードウェアで構成されているの
で、高速に変換できる。As described above, according to the above configuration, the address conversion unit 14 capable of selecting a plurality of access methods of the memory-mapped I / O and the I / O-mapped I / O for the controller 2 according to the input memory address. Since it has, it is possible to perform not only the mutual conversion of memory addresses but also the address conversion from the memory address space to the I / O address space. Therefore, the versatile I / O mapped I / O register corresponding only to a specific machine architecture can be freely used by machines of different architectures. Moreover, since it is composed of hardware, it can be converted at high speed.
【0019】以上、この発明の実施例を図面により詳述
してきたが、具体的な構成はこの実施例に限られるもの
ではなく、この発明の要旨を逸脱しない範囲の設計の変
更等があってもこの発明に含まれる。例えば、コントロ
ーラ側のI/Oレジスタが、全てI/OマップトI/O
レジスタからなり、メモリマップトI/Oレジスタを1
つも有さない場合は、アドレスマッピングテーブル13
には、CPU3から入力されるテーブル選択アドレス
(範囲)TAに対し、I/OマップトI/Oレジスタ2
2a,22b,…のアドレスが割り当てられているか否
かを示すマッピング情報及びテーブル選択アドレス(範
囲)TAのアドレス変換方式が格納されていれば充分で
ある。また、アドレス変換方式に代えて、単純に、変換
アドレスを格納するようにしても良い。The embodiment of the present invention has been described in detail above with reference to the drawings. However, the specific structure is not limited to this embodiment, and there are design changes and the like within the scope not departing from the gist of the present invention. Also included in the present invention. For example, all I / O registers on the controller side are I / O mapped I / O
Consisting of registers, 1 memory-mapped I / O register
If there is neither, the address mapping table 13
Is the I / O mapped I / O register 2 for the table selection address (range) TA input from the CPU 3.
It is sufficient if the mapping information indicating whether or not the addresses 2a, 22b, ... Are allocated and the address conversion method of the table selection address (range) TA are stored. Further, instead of the address conversion method, the converted address may be simply stored.
【0020】[0020]
【発明の効果】以上説明したように、この発明のメモリ
マップトI/O制御回路によれば、入力されたメモリア
ドレスによって周辺装置に対してメモリマップトI/O
とI/OマップトI/Oとの複数のアクセス方式を選択
できるアドレス変換部を有するので、メモリアドレス同
士の相互変換は勿論のこと(請求項3記載の構成の場
合)、メモリアドレス空間からI/Oアドレス空間への
アドレス変換も可能となる。したがって、特定のマシン
アーキテクチャにのみ対応する汎用性のI/Oマップト
I/Oレジスタを、異なるアーキテクチャのマシンで
も、自由に使用できる。しかも、ハードウェアで構成さ
れているので、高速に変換できる。As described above, according to the memory-mapped I / O control circuit of the present invention, the memory-mapped I / O is supplied to the peripheral device by the input memory address.
Since there is an address conversion unit capable of selecting a plurality of access methods for I / O mapped I / O and I / O mapped I / O, not only mutual conversion of memory addresses (in the case of the configuration according to claim 3) but also I from the memory address space is performed. Address conversion to the / O address space is also possible. Therefore, the versatile I / O mapped I / O register corresponding only to a specific machine architecture can be freely used by machines of different architectures. Moreover, since it is composed of hardware, it can be converted at high speed.
【図面の簡単な説明】[Brief description of drawings]
【図1】この発明の一実施例であるメモリマップトI/
O制御回路の電気的構成を示すブロック図である。FIG. 1 is a memory-mapped I / E which is an embodiment of the present invention.
It is a block diagram which shows the electric constitution of an O control circuit.
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 入力アドレス1 memory mapped I / O control circuit 11 base address register 12 address comparison unit 13 address mapping table 14 address conversion unit 2 controller (peripheral device) 21a, 21b, ... Memory mapped I / O register 22a, 22b, ... I / O mapped I / O O register 3 CPU (central processing unit) BA base address (first memory address range) MA memory map address (second memory address range) TA table selection address (third memory address range) IA input address
Claims (5)
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制御回路。1. A memory-mapped I / C from a central processing unit.
A memory-mapped I / O control circuit for controlling a peripheral device having a memory-mapped I / O register and an I / O-mapped I / O register in response to an O access, the base address register holding a base address in advance. When the second memory address range is supplied from the central processing unit, the memory address range and the first memory address range based on the base address are compared, and if they are the same, a select signal is output. Address comparing unit, mapping information indicating whether or not an address of an I / O mapped I / O area is assigned to the third memory address range input from the central processing unit, and the third memory. An address mapping table that stores the translation address or address translation method of the address range; If the memory address range of No. 3 is previously defined as an I / O mapped I / O area on the address mapping table, input from the central processing unit according to the conversion address or address conversion method of the address mapping table. A memory mapped I / O control circuit comprising: an address conversion unit that converts the generated memory address into an I / O address of an I / O mapped I / O register of the peripheral device.
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制御回路。2. A memory-mapped I / C from a central processing unit.
A memory-mapped I / O control circuit for controlling a peripheral device having a memory-mapped I / O register and an I / O-mapped I / O register in response to an O access, the base address register holding a base address in advance. When the second memory address range is supplied from the central processing unit, the memory address range and the first memory address range based on the base address are compared, and if they are the same, a select signal is output. Address comparing unit, mapping information indicating whether or not an address of an I / O mapped I / O area is assigned to the third memory address range input from the central processing unit, and the third memory. An address mapping table that stores the translation address or address translation method of the address range; If the memory address range of No. 3 is previously defined as an I / O mapped I / O area on the address mapping table, input from the central processing unit according to the conversion address or address conversion method of the address mapping table. The converted memory address is converted into an I / O address of the I / O mapped I / O register of the peripheral device, and the third memory address range is a memory mapped I / O area on the address mapping table.
If it is not defined as an I / O mapped I / O area, an address conversion unit for directly outputting a memory address input from the central processing unit without address conversion is provided. Memory mapped I / O control circuit.
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制御回路。3. A memory mapped I / from a central processing unit.
A memory-mapped I / O control circuit for controlling a peripheral device having a memory-mapped I / O register and an I / O-mapped I / O register in response to an O access, the base address register holding a base address in advance. When the second memory address range is supplied from the central processing unit, the memory address range and the first memory address range based on the base address are compared, and if they are the same, a select signal is output. Whether the address of the I / O mapped I / O area or the address of the memory mapped I / O area is allocated to the address comparison unit and the third memory address range input from the central processing unit. Information indicating the mapping address and the translation address or address translation method of the third memory address range And an address mapping table storing the third memory address range is previously defined as an I / O mapped I / O area on the address mapping table, the conversion address of the address mapping table. Alternatively, according to an address conversion method, the memory address input from the central processing unit is converted into an I / O address of an I / O mapped I / O register of the peripheral device, and the third memory address range is the address mapping. If the memory mapped I / O area is previously defined on the table, the memory address input from the central processing unit is stored in the memory mapped I / O register of the peripheral device according to the address conversion method of the address mapping table. Address conversion to memory address, If the third memory address range is a memory mapped I / O area on the address mapping table, I
If it is not defined as an I / O mapped I / O area, an address conversion unit for directly outputting a memory address input from the central processing unit without address conversion is provided. Memory mapped I / O control circuit.
にも送出されることを特徴とする請求項1,2又は3記
載のメモリマップトI/O制御回路。4. The memory mapped I / O control circuit according to claim 1, wherein the select signal is also sent to the central processing unit.
比較部、アドレスマッピングテーブル及びアドレス変換
部は、フリップフロップ回路及び論理積回路を有するハ
ードウェアによって構成されていることを特徴とする請
求項1,2又は3記載のメモリマップトI/O制御回
路。5. The base address register, the address comparison unit, the address mapping table, and the address conversion unit are configured by hardware having a flip-flop circuit and an AND circuit. 3. The memory mapped I / O control circuit described in 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7223359A JPH0969072A (en) | 1995-08-31 | 1995-08-31 | Memory mapped i/o control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7223359A JPH0969072A (en) | 1995-08-31 | 1995-08-31 | Memory mapped i/o control circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0969072A true JPH0969072A (en) | 1997-03-11 |
Family
ID=16796923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7223359A Pending JPH0969072A (en) | 1995-08-31 | 1995-08-31 | Memory mapped i/o control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0969072A (en) |
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 (en) * | 2019-04-18 | 2019-07-11 | 株式会社エルイーテック | Control chip and game machine using the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03276357A (en) * | 1990-03-27 | 1991-12-06 | Hitachi Ltd | I/o address conversion system |
JPH05189352A (en) * | 1992-01-16 | 1993-07-30 | Hitachi Ltd | I/o address translation system |
-
1995
- 1995-08-31 JP JP7223359A patent/JPH0969072A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03276357A (en) * | 1990-03-27 | 1991-12-06 | Hitachi Ltd | I/o address conversion system |
JPH05189352A (en) * | 1992-01-16 | 1993-07-30 | Hitachi Ltd | I/o address translation system |
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 (en) * | 2019-04-18 | 2019-07-11 | 株式会社エルイーテック | Control chip and game machine using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3136257B2 (en) | Computer memory interface device | |
JPH11161547A (en) | Storage device for data processor and method for accessing storage place | |
KR19980041957A (en) | Programmable shared memory system and method | |
JP2001202270A (en) | Processor with internal bus tracing function | |
JPH05210570A (en) | Method and means extending address | |
JP2001043180A (en) | Microprocessor and storage device therefor | |
GB2216306A (en) | Load and synchronize computer architecture and process | |
JPH0969072A (en) | Memory mapped i/o control circuit | |
US5727179A (en) | Memory access method using intermediate addresses | |
JPH08221319A (en) | Semiconductor memory device | |
JP2618223B2 (en) | Single chip microcomputer | |
US20160259310A1 (en) | Initialising control data for a device | |
JPS6065342A (en) | Microcomputer | |
JP3810175B2 (en) | Graphics processor and graphics processing apparatus | |
JPS6014435B2 (en) | Storage device | |
JP2847729B2 (en) | Information processing device | |
JP3345050B2 (en) | Two-dimensional array type memory system | |
JPH10247150A (en) | Data processing system | |
JPS63261446A (en) | Extended virtual memory control system | |
JPH03214275A (en) | Semiconductor integrated circuit | |
JPH10333903A (en) | Microprogram control device | |
JPH0320834A (en) | Initial diagnostic method for information processor | |
JPH03119438A (en) | Microprocessor | |
JPH05143445A (en) | Memory accelerating mechanism for virtual memory computer | |
JPH10133872A (en) | Processor equipment having command buffer |