JP3256558B2 - Address translation method for electronic computers - Google Patents

Address translation method for electronic computers

Info

Publication number
JP3256558B2
JP3256558B2 JP18456291A JP18456291A JP3256558B2 JP 3256558 B2 JP3256558 B2 JP 3256558B2 JP 18456291 A JP18456291 A JP 18456291A JP 18456291 A JP18456291 A JP 18456291A JP 3256558 B2 JP3256558 B2 JP 3256558B2
Authority
JP
Japan
Prior art keywords
address
memory
bit
input
bus
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
Application number
JP18456291A
Other languages
Japanese (ja)
Other versions
JPH0528085A (en
Inventor
邦男 藤岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP18456291A priority Critical patent/JP3256558B2/en
Publication of JPH0528085A publication Critical patent/JPH0528085A/en
Application granted granted Critical
Publication of JP3256558B2 publication Critical patent/JP3256558B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は互いに異なるアドレス
幅を有する2種類のシステムバスを有する電子計算機に
おいて、一方のバスに接続されているモジュールから他
方のバスに接続されているメモリをアクセスする際のア
ドレス変換方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic computer having two types of system buses having different address widths when accessing a memory connected to another bus from a module connected to one bus. Address conversion method.

【0002】[0002]

【従来の技術】一般に、互いに異なるアドレス幅を有す
る2種類のシステムバスを有する電子計算機は、図3の
ように構成されている。
2. Description of the Related Art Generally, an electronic computer having two types of system buses having different address widths is constructed as shown in FIG.

【0003】図3において、1は例えば32ビットのア
ドレス幅を有する第1のシステムバス、2は例えば24
ビットのアドレス幅を有する第2のシステムバス、11
はCPU、12はメインメモリ、13はバスアダプタ、
14はローカルメモリ、15は入出力装置(I/O)で
ある。ここで、入出力装置(I/O)15がメインメモ
リ12の特定の記憶領域をアクセスする場合を考える。
In FIG. 3, reference numeral 1 denotes a first system bus having an address width of, for example, 32 bits;
A second system bus having an address width of bits, 11
Is a CPU, 12 is a main memory, 13 is a bus adapter,
Reference numeral 14 denotes a local memory, and 15 denotes an input / output device (I / O). Here, a case where the input / output device (I / O) 15 accesses a specific storage area of the main memory 12 will be considered.

【0004】この場合、入出力装置(I/O)15は、
CPU11からバスアダプタ13を介して起動される。
この時、バスアダプタ13には、CPU11から、入出
力装置(I/O)15が使用するメインメモリ12内の
バッファアドレス(使用可能な記憶空間の先頭アドレ
ス)と、バッファレングス(その記憶空間の大きさ)が
通知される。
In this case, an input / output device (I / O) 15
It is started by the CPU 11 via the bus adapter 13.
At this time, a buffer address (a head address of a usable storage space) in the main memory 12 used by the input / output device (I / O) 15 and a buffer length (the storage space of the storage space) are transmitted from the CPU 11 to the bus adapter 13. Size) is notified.

【0005】従来は、システムバス1と2のアドレス幅
の違いにより、入出力装置(I/O)15がメインメモ
リ12を直接アクセスできないため、バスアダプタ13
が入出力装置(I/O)15への起動をCPU11から
受けた時には、バスアダプタ13は、入出力装置(I/
O)15が使用するメインメモリ12のバッファエリア
をローカルメモリ14にデータ転送してから、入出力装
置(I/O)15を起動していた。
Conventionally, the input / output device (I / O) 15 cannot directly access the main memory 12 due to the difference in the address width between the system buses 1 and 2, so that the bus adapter 13
When the bus adapter 13 receives the activation to the input / output device (I / O) 15 from the CPU 11, the bus adapter 13
O) The input / output device (I / O) 15 has been activated after transferring the buffer area of the main memory 12 used by the device 15 to the local memory 14.

【0006】入出力装置(I/O)15が起動される
と、入出力装置(I/O)15はローカルメモリ14の
バッファを作業エリアとして動作を行い、動作が完了す
るとバスアダプタ13に完了通知を行う。そして、バス
アダプタ13は、入出力装置(I/O)15から動作完
了を通知された時、入出力装置(I/O)15が使用し
ていたローカルメモリ14内のバッファエリアを元のメ
インメモリ12にデータ転送してから、CPU11に完
了通知を行っていた。
When the input / output device (I / O) 15 is activated, the input / output device (I / O) 15 operates using the buffer of the local memory 14 as a work area. Make a notification. When the bus adapter 13 is notified of the operation completion from the input / output device (I / O) 15, the bus adapter 13 uses the buffer area in the local memory 14 used by the input / output device (I / O) 15 as the main memory. After transferring the data to the memory 12, the CPU 11 is notified of the completion.

【0007】このように、入出力装置(I/O)15が
メインメモリ12をアクセスする際には、従来では、必
ずバスアダプタ13によるデータ転送が2回発生し、こ
れがオーバーヘッドの原因となっていた。
As described above, when the input / output device (I / O) 15 accesses the main memory 12, conventionally, data transfer by the bus adapter 13 always occurs twice, which causes overhead. Was.

【0008】また、バスアダプタ13が入出力装置(I
/O)15へのコマンドを解析し、例えば入出力装置
(I/O)15から見てリードだけの場合は、起動時の
みデータ転送をして完了時のデータ転送を省略すること
もできるが、この場合でも、オーバーヘッドの原因とな
るアダプタ13によるデータ転送が1回発生する。ま
た、コマンドを解析するための新たなオーバーヘッドも
発生する。
The bus adapter 13 is connected to an input / output device (I
In the case where the command to the (/ O) 15 is analyzed and, for example, only reading is performed when viewed from the input / output device (I / O) 15, the data transfer can be performed only at the time of activation and the data transfer at the time of completion can be omitted. Even in this case, data transfer by the adapter 13 which causes overhead occurs once. Also, a new overhead for analyzing the command is generated.

【0009】さらに、バスアダプタ13によるバッファ
エリアのデータ転送は、入出力装置(I/O)15によ
って実際に実行される入出力のサイズに関係なく、常に
CPU11から与えられたバッファレングス分だけ実行
しなければならない。このような無駄なデータ転送も、
オーバーヘッドの原因となる。
Further, the data transfer of the buffer area by the bus adapter 13 is always executed by the buffer length given from the CPU 11 irrespective of the size of the input / output actually executed by the input / output device (I / O) 15. Must. Such useless data transfer,
It causes overhead.

【0010】そこで、最近では、入出力装置(I/O)
15からの24ビットアドレスを、メインメモリ12を
アクセスするための32ビットアドレスに変換するため
のアドレス変換テーブルをバスアダプタ13内に設ける
構成が考えられている。
Therefore, recently, an input / output device (I / O)
A configuration is considered in which an address conversion table for converting a 24-bit address from 15 to a 32-bit address for accessing the main memory 12 is provided in the bus adapter 13.

【0011】このようなアドレス変換機構を用いれば、
メインメモリ12上の所定の記憶空間に対して入出力装
置(I/O)15が直接的にアクセスすることができ
る。このため、前述のように、バスアダプタ13から入
出力装置(I/O)15に対してメインメモリ12をア
クセスするために必要な起動情報(リード/ライトコマ
ンド、バッファアドレス、バッファレングス等)を直接
通知する方式においては、無駄なデータ転送を省け、効
率の良いメモリアクセスを実現できる。
With such an address translation mechanism,
An input / output device (I / O) 15 can directly access a predetermined storage space on the main memory 12. Therefore, as described above, the start information (read / write command, buffer address, buffer length, etc.) necessary for accessing the main memory 12 from the bus adapter 13 to the input / output device (I / O) 15 is stored. In the direct notification method, efficient data access can be realized by eliminating unnecessary data transfer.

【0012】しかしながら、入出力装置(I/O)15
がメインメモリ12をアクセスするために必要な起動情
報(リード/ライトコマンド、バッファアドレス、バッ
ファレングス等)をメインメモリ12上に予め登録して
おく方式のシステムにおいては、バスアダプタ13は、
入出力装置(I/O)15を起動する前に、メインメモ
リ12から起動情報を読み取る必要がある。このため、
このようなシステムに前述のアドレス変換機構を用いた
場合には、入出力装置(I/O)15は、起動を受け取
ると、まず、アドレス変換機構を用いてメインメモリ1
2の起動情報を読取り、その後、再びアドレス変換機構
を用いてメインメモリ12に対するデータ入出力を行う
ことになる。
However, the input / output device (I / O) 15
In a system in which startup information (read / write command, buffer address, buffer length, etc.) necessary for accessing the main memory 12 is registered in the main memory 12 in advance, the bus adapter 13
Before starting the input / output device (I / O) 15, it is necessary to read start information from the main memory 12. For this reason,
In the case where the above-described address translation mechanism is used in such a system, the input / output device (I / O) 15 first receives the activation and uses the address translation mechanism to start the main memory 1.
2 is read, and then data is input / output to / from the main memory 12 again using the address translation mechanism.

【0013】このようにメインメモリ12への2度に渡
るアクセスは、第1のシステムバス11に余分な負荷を
かける事になるので、システム全体の動作性能の低下を
引き起こす大きな原因となる。
As described above, the access to the main memory 12 twice puts an extra load on the first system bus 11, and is a major cause of lowering the operation performance of the entire system.

【0014】[0014]

【発明が解決しようとする課題】従来では、起動情報の
読取りのためにメインメモリに対するアクセス回数が増
加され、これによって電子計算機システム全体の動作性
能が低下される欠点があった。
Conventionally, there has been a drawback that the number of accesses to the main memory for reading the startup information has been increased, thereby reducing the operation performance of the entire electronic computer system.

【0015】この発明はこのような点に鑑みてなされた
もので、メインメモリをアクセスすること無く入出力装
置が起動情報を容易に読み取れるようし、電子計算機シ
ステム全体の動作性能を向上し得るアドレス変換方式を
提供することを目的とする。
The present invention has been made in view of the above points, and has an address which enables an input / output device to easily read startup information without accessing a main memory, and which can improve the operation performance of the entire computer system. It is intended to provide a conversion method.

【0016】[0016]

【課題を解決するための手段および作用】この発明によ
るアドレス変換方式は、互いに異なるアドレス幅を有す
る第1および第2のシステムバスと、これら第1および
第2のシステムバスにそれぞれ接続されたメモリおよび
入出力装置と、前記第1および第2のシステムバス間を
接続するバスアダプタとを備えた電子計算機において、
前記バスアダプタに、前記メモリに登録されている前記
入出力装置に対する起動情報が予め設定される内部メモ
リと、前記第2のシステムバスの上位ビットアドレスで
指定可能な複数の格納領域を有し、各格納領域に、前記
内部メモリ上に設定されている前記起動情報の記憶領域
を示す第1のアドレス値および前記メモリ上の所定の記
憶空間を示す第2のアドレス値のいずれか一方のアドレ
ス値、およびこれら第1および第2のアドレス値を識別
するための識別情報が登録されるアドレス記憶手段と、
前記第2のシステムバスの上位ビットアドレスでアドレ
ス指定された格納領域から読み出された前記第1または
第2のアドレス値と、前記第2のシステムバスの下位ビ
ットアドレスの値とに基づいて、前記メモリまたは内部
メモリをアクセスするためのアドレスを生成する手段
と、前記アドレス指定された格納領域から読み出された
前記識別情報に基づいて、前記メモリと内部メモリのい
ずれか一方をアクセス先として選定する手段とを具備
し、前記第2のシステムバスのアドレスを、前記メモリ
または前記内部メモリをアクセスのためのアドレスに変
換することを特徴とする。
An address conversion system according to the present invention comprises first and second system buses having mutually different address widths, and memories respectively connected to the first and second system buses. And an input / output device, and a bus adapter that connects the first and second system buses.
The bus adapter has an internal memory in which activation information for the input / output device registered in the memory is set in advance, and a plurality of storage areas that can be specified by an upper bit address of the second system bus, In each storage area, one of a first address value indicating a storage area of the boot information set on the internal memory and a second address value indicating a predetermined storage space on the memory And address storage means for registering identification information for identifying the first and second address values;
On the basis of the first or second address value read from the storage area addressed by the upper bit address of the second system bus and the value of the lower bit address of the second system bus, Means for generating an address for accessing the memory or the internal memory, and selecting one of the memory and the internal memory as an access destination based on the identification information read from the addressed storage area Means for converting the address of the second system bus into an address for accessing the memory or the internal memory.

【0017】このアドレス変換方式においては、バスア
ダプタの内部メモリに起動情報が予め設定されているの
で、入出力装置は、第1のシステムバスに接続されたメ
モリにアクセスすることなく、バスアダプタの内部メモ
リをアクセスすることによって起動情報を読み取ること
ができる。このため、第1のシステムバスを介したデー
タ転送回数が減り、システム性能を向上できる。
In this address conversion method, since the startup information is set in advance in the internal memory of the bus adapter, the input / output device can access the memory connected to the first system bus without accessing the memory connected to the first system bus. The startup information can be read by accessing the internal memory. For this reason, the number of times of data transfer via the first system bus is reduced, and system performance can be improved.

【0018】また、アドレス記憶手段には、内部メモリ
上に設定されている起動情報の記憶領域を示す第1のア
ドレス値と、メモリの所定記憶空間を示す第2アドレス
値、さらにはこれらアドレスを識別する識別情報が登録
されており、それらアドレス値は第2のシステムバスの
上位ビットアドレスでそれぞれ読み出される。この場
合、どちらのアドレスが読み出されたかは識別情報によ
って識別される。このため、第1および第2のどちらの
アドレスが読み出された場合でも、第2のシステムバス
のアドレスを、メモリまたは内部メモリをアクセスのた
めのアドレスにそれぞれ適切に変換する事ができる。し
たがって、メモリと内部メモリの双方に対するアクセス
を直接的に実行できるようになり、無駄なデータ転送無
しで効率の良いメモリアクセスを実現する事が可能とな
る。
The address storage means stores a first address value indicating a storage area of the start information set in the internal memory, a second address value indicating a predetermined storage space of the memory, and furthermore, these addresses. The identification information for identification is registered, and those address values are read with the upper bit address of the second system bus. In this case, which address has been read is identified by the identification information. Therefore, regardless of which of the first and second addresses is read, the address of the second system bus can be appropriately converted into an address for accessing the memory or the internal memory. Therefore, access to both the memory and the internal memory can be directly performed, and efficient memory access can be realized without unnecessary data transfer.

【0019】[0019]

【実施例】以下、図面を参照してこの発明の実施例を説
明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0020】図1にはこの発明の一実施例に係わる電子
計算機のシステム構成が示されている。この電子計算機
システムは、第3図の従来のシステムと同様に、アドレ
ス幅の異なる2種類のシステムバスを有するものであ
り、第1および第2のシステムバス21,22、CPU
31、メインメモリ32、バスアダプタ33を備えてい
る。
FIG. 1 shows a system configuration of an electronic computer according to an embodiment of the present invention. This computer system has two types of system buses having different address widths as in the conventional system shown in FIG. 3, and includes first and second system buses 21 and 22 and a CPU.
31, a main memory 32, and a bus adapter 33.

【0021】第1のシステムバス21は、データバス、
アドレスバス、およびコントロールラインから構成され
るものであり、そのアドレスバスは例えば32ビットの
バス幅を有している。
The first system bus 21 is a data bus,
It comprises an address bus and a control line, and the address bus has a bus width of, for example, 32 bits.

【0022】第2のシステムバス22は、データバス、
アドレスバス、およびコントロールラインから構成され
るものであり、そのアドレスバスは例えば24ビットの
バス幅を有している。
The second system bus 22 includes a data bus,
It comprises an address bus and a control line, and the address bus has a bus width of, for example, 24 bits.

【0023】CPU31は、この電子計算機の全体の制
御を司るものであり、第1のシステムバス21を介して
メインメモリ32、およびバスアダプタ33に接続され
ている。このCPU31は、入出力装置(I/O)38
を起動要求する際、入出力装置(I/O)38によって
使用されるメインメモリ32のバッファアドレス(使用
可能な記憶空間の先頭アドレス)と、そのバッファレン
グス(その記憶空間の大きさ)をバスアダプタ33に通
知する。
The CPU 31 controls the overall operation of the computer, and is connected to the main memory 32 and the bus adapter 33 via the first system bus 21. The CPU 31 includes an input / output device (I / O) 38
When the start request is issued, the buffer address (the head address of the usable storage space) of the main memory 32 used by the input / output device (I / O) 38 and the buffer length (the size of the storage space) are transferred to the bus. Notify the adapter 33.

【0024】メインメモリ32は、32ビットのアドレ
スによって定義されるアドレス空間を有するデータ記憶
部であり、CPU31または入出力装置(I/O)35
によってアクセスされる。このメインメモリ32には、
入出力装置(I/O)38を起動するための起動情報
(リード/ライトコマンド、バッファアドレス、バッフ
ァレングス等)が格納されている。
The main memory 32 is a data storage unit having an address space defined by a 32-bit address, and includes a CPU 31 or an input / output device (I / O) 35.
Accessed by In the main memory 32,
Activation information (read / write command, buffer address, buffer length, etc.) for activating the input / output device (I / O) 38 is stored.

【0025】バスアダプタ33は、第1のシステムバス
21と第2のシステムバス22を結合するためのもので
あって、アドレス変換機構34、ローカルメモリ35、
アダプタCPU36、および16ビットのアドレス幅を
持つアダプタ内部バス37を備えている。アドレス変換
機構34、ローカルメモリ35、およびアダプタCPU
36は、アダプタ内部バス37を介して相互接続されて
いる。
The bus adapter 33 connects the first system bus 21 and the second system bus 22 and includes an address conversion mechanism 34, a local memory 35,
An adapter CPU 36 and an adapter internal bus 37 having an address width of 16 bits are provided. Address translation mechanism 34, local memory 35, and adapter CPU
36 are interconnected via an adapter internal bus 37.

【0026】アドレス変換機構34は、第1のシステム
バス21、第2のシステムバス22およびアダプタ内部
バス37との間で、24ビットのアドレスと32ビット
のアドレスとの変換、および24ビットのアドレスと1
6ビットのアドレスとの変換を行う。このアドレス変換
機構34の具体的構成については、図2を参照して後述
する。
The address conversion mechanism 34 converts between a 24-bit address and a 32-bit address between the first system bus 21, the second system bus 22, and the adapter internal bus 37, and converts the 24-bit address. And 1
Conversion with a 6-bit address is performed. The specific configuration of the address translation mechanism 34 will be described later with reference to FIG.

【0027】ローカルメモリ35は、16ビットのアド
レスによって定義されるアドレス空間を有するデータ記
憶部であり、通常はアダプタCPU36によって作業エ
リアとして使用される。このローカルメモリ35には、
CPU31から指定される起動情報(リード/ライトコ
マンド、バッファアドレス、バッファレングス等)が格
納される。アダプタCPU36は、バスアダプタ33の
制御およびローカルメモリ35の管理等を行う。入出力
装置(I/O)38は、第2のシステムバス22に接続
されており、24ビットのアドレスでメインメモリ32
に対するアクセスを実行する。次に、図2を参照して、
アドレス変換機構34の具体的な構成を説明する。
The local memory 35 is a data storage unit having an address space defined by 16-bit addresses, and is normally used as a work area by the adapter CPU 36. In this local memory 35,
The boot information (read / write command, buffer address, buffer length, etc.) specified by the CPU 31 is stored. The adapter CPU 36 controls the bus adapter 33, manages the local memory 35, and the like. An input / output device (I / O) 38 is connected to the second system bus 22 and has a 24-bit address in the main memory 32.
Perform access to. Next, referring to FIG.
A specific configuration of the address translation mechanism 34 will be described.

【0028】図において、101はアドレス変換テーブ
ルであり、このアドレス変換テーブル101は、例え
ば、32ビット×256ワード構成のRAMによって構
成されている。このアドレス変換テーブル101は、ロ
ーカルメモリ35上に設定されている起動情報の記憶領
域を示す第1のバッファアドレス(16ビット)、およ
びCPU31によって与えられるメインメモリ32上の
第2のバッファアドレス(32ビット)をデータとして
登録するためのものであり、これらバッファアドレスを
示すデータの格納位置は、8ビットのアドレスで指定で
きるように構成されている。また、アドレス変換テーブ
ル101に登録されたデータを読み出す際にも、入出力
装置(I/O)38によって与えられる24ビットのア
ドレス(AB)111のうちの上位8ビットのアドレス
(A)112がその読み出しアドレスとして使用され、
これによってアドレス変換テーブル101から32ビッ
トのデータが読み出される。
In FIG. 1, reference numeral 101 denotes an address conversion table. The address conversion table 101 is composed of, for example, a 32-bit × 256-word RAM. The address conversion table 101 includes a first buffer address (16 bits) indicating the storage area of the start information set on the local memory 35 and a second buffer address (32 bits) on the main memory 32 given by the CPU 31. ) Is registered as data, and the storage position of the data indicating these buffer addresses can be specified by an 8-bit address. Also, when reading the data registered in the address conversion table 101, the upper 8-bit address (A) 112 of the 24-bit address (AB) 111 given by the input / output device (I / O) 38 is used. Used as its read address,
As a result, 32-bit data is read from the address conversion table 101.

【0029】また、アドレス変換テーブル101には、
登録されているアドレスデータが第1のバッファアドレ
スと第2のバッファアドレスのいずれであるかを示す識
別情報Vが登録されている。この識別情報Vは、アドレ
ス変換テーブル101の各エントリの最下位ビットに設
けられおり、対応するエントリに登録されているアドレ
スデータがローカルメモリ35上の格納領域を示す第1
のバッファアドレスの時は“0”に設定され、また対応
するエントリに登録されているアドレスデータがメイン
メモリ32上の格納領域を示す第2のバッファアドレス
の時は“1”に設定される。
The address conversion table 101 includes:
Identification information V indicating whether the registered address data is the first buffer address or the second buffer address is registered. The identification information V is provided in the least significant bit of each entry of the address conversion table 101, and the address data registered in the corresponding entry indicates the first storage area on the local memory 35.
Is set to "0" when the buffer address is "2", and is set to "1" when the address data registered in the corresponding entry is the second buffer address indicating the storage area on the main memory 32.

【0030】このような識別情報Vの“1”/“0”の
値は、アダプタCPU36が第1及び第2のバッファア
ドレスをアドレス変換テーブル101に登録する際に設
定される。ここで、識別情報Vを各エントリの最下位ビ
ットに設けたのは、第1および第2のバッファアドレス
の最下位ビットは通常“0”に固定されており、有効ア
ドレスとして使用する必要がないためである。
The value of “1” / “0” of the identification information V is set when the adapter CPU 36 registers the first and second buffer addresses in the address conversion table 101. Here, the reason why the identification information V is provided in the least significant bit of each entry is that the least significant bit of the first and second buffer addresses is usually fixed to “0”, and it is not necessary to use the same as an effective address. That's why.

【0031】102は加算回路(ADDR)であり、そ
の第1入力(IN1)には、アドレス変換テーブル10
1から読み出されたビット1からビット31までの31
ビットデータがベースアトレス114として入力され、
その第2入力(IN2)には、24ビットのアドレス
(AB)111 のうちの下位16ビットのアドレス
(B)113がオフセットアドレスとして入力される。
An adder circuit (ADDR) 102 has a first input (IN1) connected to the address conversion table 10 (ADDR).
31 from bit 1 to bit 31 read from 1
Bit data is input as base address 114,
The lower-order 16-bit address (B) 113 of the 24-bit address (AB) 111 is input to the second input (IN2) as an offset address.

【0032】加算回路(ADDR)102は、ベースア
ドレス114とオフセットアドレス113を桁合わせし
た状態で加算し、その加算結果である32ビットのデー
タをエラー検出回路103に出力する。
The adder (ADDR) 102 adds the base address 114 and the offset address 113 in a state where the digits are aligned, and outputs the 32-bit data resulting from the addition to the error detection circuit 103.

【0033】エラー検出回路103は、識別情報Vの
“1”/“0”の値にしたがってアドレスの出力先を選
定するためのものであり、識別情報Vが“1”の時は加
算回路(ADDR)102からの32ビットの出力デー
タをメインメモリ32をアクセスするためのアドレスと
して第1のシステムバス21に出力する。また、識別情
報Vが“0”の時は、エラー検出回路103は、加算回
路(ADDR)102からの32ビットの出力データの
うちの下位16ビットをローカルメモリ35をアクセス
するためのアドレスとしてアダプタ内部バス37に出力
する。この場合、エラー検出回路103は、ローカルメ
モリ35に対する16ビットアドレスにオバーフローが
発生しているか否か、つまりビット16へのキャリーの
有無を検出し、オバーフロー発生時にはエラー発生を検
出する。次に、入出力装置(I/O)38によるメイン
メモリ32、ローカルメモリ35のアクセス動作を説明
する。
The error detection circuit 103 is for selecting an address output destination according to the value of "1" / "0" of the identification information V. When the identification information V is "1", the adder circuit ( ADDR) outputs 32-bit output data to the first system bus 21 as an address for accessing the main memory 32. When the identification information V is “0”, the error detection circuit 103 uses the lower 16 bits of the 32-bit output data from the adder circuit (ADDR) 102 as an address for accessing the local memory 35. Output to the internal bus 37. In this case, the error detection circuit 103 detects whether or not an overflow has occurred at a 16-bit address for the local memory 35, that is, whether or not a carry has occurred at bit 16, and detects an error when an overflow has occurred. Next, an access operation of the main memory 32 and the local memory 35 by the input / output device (I / O) 38 will be described.

【0034】まず、CPU31は、入出力装置(I/
O)38が使用するメインメモリ32のバッファアドレ
ス、バッファレングスと共に入出力装置(I/O)38
の起動要求をバスアダプタ33に供給する。バスアダプ
タ33は、アドレス変換機構34のアドレス変換テーブ
ル101の空きエントリに、与えられたメインメモリ3
2のバッファアドレスを登録する。そして、バスアダプ
タ33は、アダプタCPU36の制御によって、メイン
メモリ32からローカルメモリ35に起動情報(リード
/ライトコマンド、バッファアドレス、バッファレング
ス等)を転送し、ローカルメモリ35の所定記憶領域に
格納する。この場合、ローカルメモリ35に格納される
バッファアドレスの値は、CPU31から与えられたメ
インメモリ32のバッファアドレスではなく、そのバッ
ファアドレスが登録されているアドレス変換テーブル1
01のエントリ番号に変換される。この変換は、アダプ
タCPU36によって行われる。
First, the CPU 31 operates the input / output device (I /
O) 38 together with the buffer address and buffer length of the main memory 32 used by the input / output device (I / O) 38
Is supplied to the bus adapter 33. The bus adapter 33 stores, in the empty entry of the address conversion table 101 of the address conversion mechanism 34,
2 is registered. Then, the bus adapter 33 transfers the start information (read / write command, buffer address, buffer length, etc.) from the main memory 32 to the local memory 35 under the control of the adapter CPU 36, and stores it in a predetermined storage area of the local memory 35. . In this case, the value of the buffer address stored in the local memory 35 is not the buffer address of the main memory 32 given from the CPU 31 but the address conversion table 1 in which the buffer address is registered.
It is converted to an entry number of 01. This conversion is performed by the adapter CPU 36.

【0035】この後、アダプタCPU36は、その起動
情報を格納したローカルメモリ35の所定記憶領域を示
すバッファアドレスをアドレス変換テーブル101の空
きエントリに登録する。
Thereafter, the adapter CPU 36 registers a buffer address indicating a predetermined storage area of the local memory 35 storing the activation information in a free entry of the address conversion table 101.

【0036】このように、アドレス変換テーブル101
には、メインメモリ32上のバッファアドレスとローカ
ルメモリ35上のバッファアドレスとの2種類のアドレ
ス値が登録される。メインメモリ32上のバッファアド
レスは32ビットで表現され、ローカルメモリ35上の
バッファアドレスは16ビットで表現される。
As described above, the address conversion table 101
, Two types of address values, a buffer address on the main memory 32 and a buffer address on the local memory 35, are registered. The buffer address on the main memory 32 is represented by 32 bits, and the buffer address on the local memory 35 is represented by 16 bits.

【0037】また、アドレス変換テーブル101にメイ
ンメモリ32上のバッファアドレスを登録する際には、
アダプタCPU36は、対応するエントリのVビットに
“1”をセットする。一方、アドレス変換テーブル10
1にローカルメモリ35上のバッファアドレスを登録す
る際には、アダプタCPU36は、対応するエントリの
Vビットに“0”をセットする。
When registering a buffer address on the main memory 32 in the address conversion table 101,
Adapter CPU 36 sets “1” to the V bit of the corresponding entry. On the other hand, the address conversion table 10
When registering the buffer address on the local memory 35 in 1, the adapter CPU 36 sets “0” to the V bit of the corresponding entry.

【0038】次いで、アダプタCPU36は、ローカル
メモリ35上のバッファアドレスを示すアドレス変換テ
ーブル101のエリトリ番号と、オフフセットアドレス
とを24ビットのバッファアドレスとして入出力装置
(I/O)38に通知し、起動をかける。この場合、そ
の24ビットのアドレスのうちの上位8ビットを登録さ
れたアドレス変換テーブル101のエリトリ番号として
使用し、下位16ビットをオール“0”とするオフセッ
ト値として使用する。
Next, the adapter CPU 36 notifies the input / output device (I / O) 38 of the erritory number of the address conversion table 101 indicating the buffer address on the local memory 35 and the offset address as a 24-bit buffer address. , Start up. In this case, the upper 8 bits of the 24-bit address are used as the entry number of the registered address conversion table 101, and the lower 16 bits are used as an offset value that makes all “0”.

【0039】起動された入出力装置(I/O)38は、
まず、起動情報を読むために、24ビットのメモリアド
レス(AB)111を第2のシステムバス22を介して
バスアダプタ33に供給する。この24ビットのメモリ
アドレス(AB)111は、その上位8ビット(A)1
12がアドレス変換テーブル101のリードアドレスと
して使用され、下位16ビット(B)113がオフセッ
トアドレスとして使用される。このオフセットアドレス
の値は、オール“0”である。
The activated input / output device (I / O) 38
First, a 24-bit memory address (AB) 111 is supplied to the bus adapter 33 via the second system bus 22 in order to read the activation information. The 24-bit memory address (AB) 111 has the upper 8 bits (A) 1
12 is used as a read address of the address conversion table 101, and the lower 16 bits (B) 113 are used as an offset address. The value of this offset address is all “0”.

【0040】アドレス変換テーブル101からの読み出
しデ−タ114は、起動時にバスアダプタ33がアドレ
ス変換テーブル101に登録したバッファアドレスであ
り、アダプタCPU36は、Vビットを参照する事によ
ってバッファアドレスが、メインメモリ32とローカル
メモリ35のどちらのバッファアドレスに対応するもの
であるかを判断する。
The data 114 read from the address conversion table 101 is the buffer address registered in the address conversion table 101 by the bus adapter 33 at the time of startup, and the adapter CPU 36 refers to the V bit to change the buffer address to the main address. It is determined which of the buffer addresses of the memory 32 and the local memory 35 corresponds to the buffer address.

【0041】アダプタCPU36、Vビットが“1”の
時はメインメモリ32へのアクセスであると認識し、V
ビットが“0”の時はローカルロモリ35へのアクセス
であると認識する。
The adapter CPU 36 recognizes that the access is to the main memory 32 when the V bit is "1".
When the bit is “0”, it is recognized that the access is to the local memory 35.

【0042】アドレス変換テーブル101からの読み出
されたビット1からビット31までのベースアドレス
は、下位16ビット(B)113と桁合わせされた状態
で加算され、その加算結果はエラー検出回路103に供
給される。この場合、その加算結果は、Vビットが
“1”の時は32ビットすべてが有効アドレスとなり、
Vビットが“0”の時は32ビットのうちの下位16ビ
ットが有効アドレスとなる。
The base addresses from bit 1 to bit 31 read from the address conversion table 101 are added while being digit-aligned with the lower 16 bits (B) 113, and the addition result is sent to the error detection circuit 103. Supplied. In this case, the result of the addition is that when the V bit is "1", all 32 bits are effective addresses,
When the V bit is "0", the lower 16 bits of the 32 bits are the effective address.

【0043】入出力装置(I/O)38がローカルメモ
リ35の起動情報を読む場合には、Vビットは“0”で
あるので、エラー検出回路103は、加算回路(ADD
R)102からの32ビット出力のうちの下位16ビッ
トを、アダプタ内部バス37に出力する。この時、エラ
ー検出回路103は、加算回路(ADDR)102から
の32ビット出力の中で、ローカルメモリ35に対する
16ビットアドレスにオバーフローが発生しているか否
か、つまりビット16へのキャリーの有無を検出し、オ
バーフロー発生時にはエラー発生を検出してアダプタC
PU36に通知する。
When the input / output device (I / O) 38 reads the start information of the local memory 35, the V bit is "0".
R) The lower 16 bits of the 32-bit output from 102 are output to the adapter internal bus 37. At this time, the error detection circuit 103 determines whether or not an overflow has occurred in the 16-bit address of the local memory 35 in the 32-bit output from the addition circuit (ADDR) 102, that is, whether or not the carry to bit 16 exists. When an overflow occurs, an error is detected and adapter C
Notify PU36.

【0044】このようにしてローカルメモリ35が16
ビットのバッファアドレスによりアクセスされ、ローカ
ルメモリ35に格納されている起動情報が入出力装置
(I/O)38に渡される。
As described above, the local memory 35
The boot information accessed by the bit buffer address and stored in the local memory 35 is passed to the input / output device (I / O) 38.

【0045】入出力装置(I/O)38は、その起動情
報によってメインメモリ32のバッファアドレスを認識
し、24ビットのメモリアドレス(AB)111を第2
のシステムバス22を介してバスアダプタ33に供給す
る。この24ビットのメモリアドレス(AB)111
は、その上位8ビット(A)112がアドレス変換テー
ブル101のリードアドレスとして使用され、下位16
ビット(B)113がオフセットアドレスとして使用さ
れる。このオフセットアドレスの値は、オール“0”で
ある。
The input / output device (I / O) 38 recognizes the buffer address of the main memory 32 based on the activation information, and stores the 24-bit memory address (AB) 111 in the second memory.
To the bus adapter 33 via the system bus 22. This 24-bit memory address (AB) 111
The upper 8 bits (A) 112 are used as a read address of the address conversion table 101 and the lower 16 bits (A) are used.
Bit (B) 113 is used as an offset address. The value of this offset address is all “0”.

【0046】アドレス変換テーブル101からの読み出
しデ−タ114は、起動時にバスアダプタ33がアドレ
ス変換テーブル101に登録したメインメモリ32上の
バッファアドレスであり、アダプタCPU36は、Vビ
ットが“1”であることによって、そのバッファアドレ
スが、メインメモリ32のバッファアドレスに対応する
ものであることを認識する。
The read data 114 from the address conversion table 101 is a buffer address on the main memory 32 registered in the address conversion table 101 by the bus adapter 33 at the time of startup, and the adapter CPU 36 sets the V bit to "1". The presence of the buffer address indicates that the buffer address corresponds to the buffer address of the main memory 32.

【0047】アドレス変換テーブル101からの読み出
されたビット1からビット31までのベースアドレス
は、下位16ビット(B)113と桁合わせされた状態
で加算され、その加算結果はエラー検出回路103に供
給される。この場合、その加算結果は、32ビットすべ
てが有効アドレスとなる。
The base addresses from bit 1 to bit 31 read from the address conversion table 101 are added while being digit-aligned with the lower 16 bits (B) 113, and the addition result is sent to the error detection circuit 103. Supplied. In this case, in the result of the addition, all 32 bits are effective addresses.

【0048】エラー検出回路103は、加算回路(AD
DR)102からの32ビット出力を第1システムバス
21に供給する。これによって、入出力装置(I/O)
38は、メインメモリ32をアクセスする。
The error detection circuit 103 includes an addition circuit (AD
DR) 102 supplies the 32-bit output to the first system bus 21. Thereby, an input / output device (I / O)
38 accesses the main memory 32.

【0049】ここでは、入出力装置(I/O)38から
供給される24ビットアドレスの内の下位16ビット
(B)113をオール“0”である場合を説明したが、
このオフセットアドレスの値は、CPU31から与えら
れるバッファレングスで指定されるアドレス範囲内で可
変される。この結果、入出力装置(I/O)38は、メ
インメモリ32の所定のアドレス空間に対してアクセス
する事ができる。
Here, the case where the lower 16 bits (B) 113 of the 24-bit address supplied from the input / output device (I / O) 38 are all "0" has been described.
The value of this offset address is variable within the address range specified by the buffer length given from the CPU 31. As a result, the input / output device (I / O) 38 can access a predetermined address space of the main memory 32.

【0050】以上のように、この実施例においては、バ
スアダプタ33のローカルメモリ35に起動情報が予め
設定されているので、入出力装置38は、第1のシステ
ムバス21に接続されたメインメモリ32にアクセスす
ることなく、バスアダプタ33のローカルメモリ35を
アクセスすることによって起動情報を読み取ることがで
きる。このため、入出力装置(I/O)38がメインメ
モリ32に登録された起動情報を読み取る方式において
も、第1のシステムバス21を介したデータ転送回数が
減り、システム性能を向上できる。
As described above, in this embodiment, since the start information is preset in the local memory 35 of the bus adapter 33, the input / output device 38 is connected to the main memory connected to the first system bus 21. The access information can be read by accessing the local memory 35 of the bus adapter 33 without accessing the boot memory 32. Therefore, even in a method in which the input / output device (I / O) 38 reads the activation information registered in the main memory 32, the number of times of data transfer via the first system bus 21 is reduced, and the system performance can be improved.

【0051】また、アドレス変換テーブル101には、
ローカルメモリ35上に設定されている起動情報の記憶
位置を示すバッファアドレス値と、メインメモリ32の
所定記憶位置を示すバッファアドレス値、さらにはこれ
らアドレスを識別するVビットが登録されており、それ
らアドレス値は第2のシステムバス22の上位ビットア
ドレスでそれぞれ読み出される。この場合、どちらのア
ドレスが読み出されたかはVビットによって識別され
る。このため、メインメモリ32とローカルメモリ35
のどちらのバッファアドレスが読み出された場合でも、
第2のシステムバス22のアドレスを、メインメモリ3
2またはローカルメモリ35をアクセスのためのアドレ
スにそれぞれ適切に変換する事ができる。
The address conversion table 101 includes:
A buffer address value indicating a storage position of the start information set on the local memory 35, a buffer address value indicating a predetermined storage position in the main memory 32, and a V bit for identifying these addresses are registered. The address value is read by the upper bit address of the second system bus 22, respectively. In this case, which address has been read is identified by the V bit. Therefore, the main memory 32 and the local memory 35
Whichever buffer address is read,
The address of the second system bus 22 is stored in the main memory 3
2 or the local memory 35 can be appropriately converted into addresses for access.

【0052】したがって、メインメモリ32とローカル
メモリ35の双方に対するアクセスを直接的に実行でき
るようになり、無駄なデータ転送無しで効率の良いメモ
リアクセスを実現する事が可能となる。
Therefore, access to both the main memory 32 and the local memory 35 can be executed directly, and efficient memory access can be realized without unnecessary data transfer.

【0053】なお、ここでは、オフセットアドレスを1
6ビットとしたので、バッファレングスは64Kバイト
以下であることが必要となるが、オフセットアドレスの
ビット数を増加するか、あるいはアドレス変換テーブル
101のエントリを2つ以上使用すれば、64Kバイト
のバッファを扱うことが可能となる。
Here, the offset address is set to 1
Since it is 6 bits, the buffer length needs to be 64 Kbytes or less. However, if the number of bits of the offset address is increased or if two or more entries of the address conversion table 101 are used, the buffer length of 64 Kbytes is required. Can be handled.

【0054】また、ローカルメモリ35が16ビットア
ドレスで定義されている場合について説明したが、ロー
カルメモリ35の記憶空間は、メインメモリ32と同じ
32ビットアドレス、またはそれ以下の任意のビット数
のアドレスで定義することができる。
Although the case where the local memory 35 is defined by the 16-bit address has been described, the storage space of the local memory 35 is the same as the 32-bit address of the main memory 32, or an address having an arbitrary number of bits smaller than the 32-bit address. Can be defined as

【0055】さらに、この実施例では、入出力装置(I
/O)38からローカルメモリ35に対するアクセス
は、リード/ライトを特に限定してないが、仮にローカ
ルメモリ35に対してのリードのみを許可するとして、
Vビットが“0”で且つライト命令であるとするとライ
トエラーとしてローカルメモリ35の情報を保護する事
により、簡易な保護回路を構成できる。
Further, in this embodiment, the input / output device (I
The access from the (/ O) 38 to the local memory 35 is not particularly limited to read / write. However, assuming that only read from the local memory 35 is permitted,
If the V bit is "0" and the command is a write command, a simple protection circuit can be configured by protecting the information in the local memory 35 as a write error.

【0056】[0056]

【発明の効果】以上のように、この発明によれば、メイ
ンメモリをアクセスすること無く入出力装置が起動情報
を容易に読み取れるようになり、電子計算機システム全
体の動作性能を向上することができる。
As described above, according to the present invention, the input / output device can easily read the startup information without accessing the main memory, and the operation performance of the entire electronic computer system can be improved. .

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の一実施例に係わる電子計算機のシス
テム構成を示すブロック図。
FIG. 1 is a block diagram showing a system configuration of a computer according to an embodiment of the present invention.

【図2】図1に示した電子計算機に設けられたアドレス
変換機構の構成の一例を示すブロック図。
FIG. 2 is a block diagram showing an example of a configuration of an address translation mechanism provided in the computer shown in FIG.

【図3】従来の電子計算機のシステム構成を示すブロッ
ク図である。
FIG. 3 is a block diagram showing a system configuration of a conventional computer.

【符号の説明】[Explanation of symbols]

21,22…システムバス、32…メインメモリ、33
…バスアダプタ、34…アドレス変換機構、35…ロー
カルメモリ、36…アダプタCPU、37…アダプタ内
部バス、38…入出力装置、101…アドレス変換テー
ブル、102…加算器、103…エラー検出回路。
21, 22 ... system bus, 32 ... main memory, 33
... bus adapter, 34 ... address conversion mechanism, 35 ... local memory, 36 ... adapter CPU, 37 ... adapter internal bus, 38 ... input / output device, 101 ... address conversion table, 102 ... adder, 103 ... error detection circuit.

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 13/10 - 13/14 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 13/10-13/14

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 互いに異なるアドレス幅を有する第1お
よび第2のシステムバスと、これら第1および第2のシ
ステムバスにそれぞれ接続されたメモリおよび入出力装
置と、前記第1および第2のシステムバス間を接続する
バスアダプタとを備えた電子計算機において、前記バス
アダプタは、 前記メモリに登録されている前記入出力装置に対する起
動情報が予め設定される内部メモリと、 前記第2のシステムバスの上位ビットアドレスで指定可
能な複数の格納領域を有し、各格納領域に、前記内部メ
モリ上に設定されている前記起動情報の記憶領域を示す
第1のアドレス値および前記メモリ上の所定の記憶空間
を示す第2のアドレス値のいずれか一方のアドレス値、
およびこれら第1および第2のアドレス値を識別するた
めの識別情報が登録されるアドレス記憶手段と、 前記第2のシステムバスの上位ビットアドレスでアドレ
ス指定された格納領域から読み出された前記第1または
第2のアドレス値と、前記第2のシステムバスの下位ビ
ットアドレスの値とに基づいて、前記メモリまたは内部
メモリをアクセスするためのアドレスを生成する手段
と、 前記アドレス指定された格納領域から読み出された前記
識別情報に基づいて、前記メモリと内部メモリのいずれ
か一方をアクセス先として選定する手段とを具備し、 前記第2のシステムバスのアドレスを、前記メモリまた
は前記内部メモリをアクセスのためのアドレスに変換す
ることを特徴とするアドレス変換方式。
1. First and second system buses having different address widths, memories and input / output devices respectively connected to the first and second system buses, and the first and second systems In a computer provided with a bus adapter for connecting buses, the bus adapter includes: an internal memory in which activation information for the input / output device registered in the memory is set in advance; A plurality of storage areas that can be specified by an upper bit address, a first address value indicating a storage area of the activation information set in the internal memory, and a predetermined storage area in the memory in each storage area; One of the second address values indicating the space;
Address storage means for registering identification information for identifying the first and second address values; and the second storage area read from a storage area addressed by an upper bit address of the second system bus. Means for generating an address for accessing the memory or the internal memory based on one or a second address value and a value of a lower bit address of the second system bus; and the storage area designated by the address. Means for selecting one of the memory and the internal memory as an access destination based on the identification information read from the memory. The address of the second system bus is stored in the memory or the internal memory. An address conversion method characterized by converting an address for access.
JP18456291A 1991-07-24 1991-07-24 Address translation method for electronic computers Expired - Fee Related JP3256558B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18456291A JP3256558B2 (en) 1991-07-24 1991-07-24 Address translation method for electronic computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18456291A JP3256558B2 (en) 1991-07-24 1991-07-24 Address translation method for electronic computers

Publications (2)

Publication Number Publication Date
JPH0528085A JPH0528085A (en) 1993-02-05
JP3256558B2 true JP3256558B2 (en) 2002-02-12

Family

ID=16155382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18456291A Expired - Fee Related JP3256558B2 (en) 1991-07-24 1991-07-24 Address translation method for electronic computers

Country Status (1)

Country Link
JP (1) JP3256558B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6273845B2 (en) * 2014-01-09 2018-02-07 日本電気株式会社 I / O processing device, I / O processing method, and I / O processing program

Also Published As

Publication number Publication date
JPH0528085A (en) 1993-02-05

Similar Documents

Publication Publication Date Title
JPH11161547A (en) Storage device for data processor and method for accessing storage place
JPS5834038B2 (en) Addressing method
JPH0250499B2 (en)
JPH0695972A (en) Digital computer system
JP3256558B2 (en) Address translation method for electronic computers
EP0196244A3 (en) Cache mmu system
JPH0719222B2 (en) Store buffer
JP3453761B2 (en) Address translation method
JP3373535B2 (en) Address translation method for electronic computers
JP2823038B2 (en) Logical direct memory access method
JP2617813B2 (en) Address translation device
JPH0211931B2 (en)
JPH04167035A (en) Address conversion system for electronic computer
JPS63245545A (en) Dma system
JPH0535582A (en) Address conversion system of electronic computer
JP3299147B2 (en) Cache control circuit
JPS6211952A (en) Data transfer system
JP2503059B2 (en) Connection device between different types of buses
JP3217815B2 (en) Address translation method
JPS62151970A (en) Lock byte access system
JPH0344748A (en) Read control system for memory data
JPH0239344A (en) Adapter address converting system for computer system
JPH04337851A (en) Memory access system
JPH02101552A (en) Address conversion buffer processing system
JPS6349815B2 (en)

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071130

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees