JP2689336B2 - コンピュータシステムに於けるアダプタ用アドレス変換装置 - Google Patents

コンピュータシステムに於けるアダプタ用アドレス変換装置

Info

Publication number
JP2689336B2
JP2689336B2 JP63190061A JP19006188A JP2689336B2 JP 2689336 B2 JP2689336 B2 JP 2689336B2 JP 63190061 A JP63190061 A JP 63190061A JP 19006188 A JP19006188 A JP 19006188A JP 2689336 B2 JP2689336 B2 JP 2689336B2
Authority
JP
Japan
Prior art keywords
address
memory
adapter
cpu
transfer
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 - Lifetime
Application number
JP63190061A
Other languages
English (en)
Other versions
JPH0239344A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63190061A priority Critical patent/JP2689336B2/ja
Publication of JPH0239344A publication Critical patent/JPH0239344A/ja
Application granted granted Critical
Publication of JP2689336B2 publication Critical patent/JP2689336B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 本発明は、コンピュータシステムのメモリ(主記憶装
置)とアダプタを介して接続したI/O装置間とのデータ
転送を行うのに、メモリとアダプタ間に簡易なアドレス
変換機能を有するRAMを用いることにより、メモリとI/O
装置間のデータ転送の性能の向上をはかるようにしたコ
ンピュータシステムに於けるアダプタ用アドレス変換装
置に関し、 I/O装置類からメモリへのデータ転送に対しては、特
殊な機能を必要とせず、単純に転送開始番地とい転送語
数を指定するだけでよく、I/O装置類のDMA機能が簡単化
でき、かつ、I/O装置を接続したアダプタとメモリ間の
データの転送におけるオーバーヘッドを最小にし、さら
に、装置の低価化および性能の向上をはかることを目的
とし、 主制御を行うCPUと、このCPUからの論理アドレスを物
理アドレスに変換するMMUと、このMMUで変換された物理
アドレスに従ってプログラムやデータが保持されるメモ
リと、このメモリとI/O装置との間にデータ転送を行う
機能を有するアダプタと、このアダプタからのI/O装置
のアドレスを変換しそれに従ってプログラムやデータを
前記メモリに保持させるアドレス変換機能を有するRAM
とからなり、前記CPUが、アダプタにメモリとI/O装置と
の間でデータ転送を行わせる場合、MMUを使用してメモ
リ上の転送領域のアドレスリストを得、そのアドレスリ
ストをRAMに与え、アダプタからのI/O装置のアドレスは
RAMに与えられた前記アドレスリストに従って変換され
てメモリに与えられるように構成したコンピュータシス
テムに於けるアダプタ用アドレス変換装置である。
〔産業上の利用分野〕
本発明は、コンピュータシステムのメモリ(主記憶装
置)とアダプタを介して接続したI/O装置間とのデータ
転送を行うのに、メモリとアダプタ間に簡易なアドレス
変換機能を有するRAMを用いることにより、メモリとI/O
装置との間のデータ転送の性能の向上をはかるようにし
たコンピュータシステムに於けるアダプタ用アドレス変
換装置に関するものである。
近年コンピュータシステムの巨大化に伴い、主メモリ
の管理に仮想記憶方式が用いられるようになってきてい
る。この仮想記憶方式は、CPUと主メモリとの間に、ア
ドレス変換装置(通常MMU:Memory Management Unitと呼
ばれる)を置き、CPUから出力されるアドレス(論理ア
ドレスと称される)をメモリアクセス用のアドレス(物
理アドレスと称される)に変換することにより、プログ
ラムに対して、主メモリ以上の記憶空間を提供するもの
である。この仮想記憶方式により、物理的なメモリはペ
ージサイズと呼ばれる単位ごとに管理される。CPUから
見えるアドレス空間(論理空間と称される)は、実際に
はこのページサイズ単位に分割され、主メモリ上や磁気
ディスクのような二次記憶媒体上に離散的に存在する。
したがって、CPUがプログラムに従ってI/O装置と主メ
モリとの間でデータ転送を行う場合、プログラムでは連
続的なメモリ領域であっても、物理的にはページサイズ
単位に分裂したメモリ領域に対してI/O起動を行うこと
になる。したがって、I/O装置と主メモリとの間でデー
タ転送を行う場合、物理的に不連続なメモリ領域を連続
的に見せる技術が必要とされている。
〔従来の技術〕 仮想記憶方式において物理メモリ上で不連続な領域を
転送するために、従来行われてきた手段としては、以下
の4つの手段がある。
(1) ページ単位に起動する方法…CPUから見える物
理メモリ上の記憶空間をページと呼ばれる単位の大きさ
に分割し、そのページ単位にI/O起動を行う方法であ
る。
(2) データチェインを使用する方法…転送アドレス
と転送語数の組からなるリストをページ数分だけ用意
し、このリストを解釈できる機能を有するアダプタを設
けて、I/O起動を行う方法である。
(3) アドレスリストを使用する方法…ページごとの
先頭アドレスの組からなるリストを用意し、このアドレ
スリストを解釈できる機能を有するアダプタを設けて、
I/O起動を行う方法である。
(4) CPUとメモリ間に有するMMUを利用する方法…第
4図に示すように、CPU1とメモリ3との間にMMU2を接続
するとともに、I/O装置4を接続したアダプタ5を、CPU
1とMMU2との接続点に接続して、I/O装置4からメモリ3
へのデータのDMA(Direct Memory Access)転送も、CPU
1からメモリ3へのデータ転送と同様にアドレスをアク
セスするのにMMU2を経由させる方法である。この方法で
はI/O装置側のDMA転送機構に特別な仕組みを必要としな
いため、I/O装置側のDMA転送機構を単純化できる。この
場合のオーバーヘッドは、CPU1とメモリ3との間に接続
したMMU2の処理時間に依存する。
〔発明が解決しようとする課題〕
前記従来の第(1)項に記載したような方法では、I/
Oの起動回数がページ数に比例するので、オーバーヘッ
ドが大きくなる。また、ブロック長を有しないデバイス
(キャラクタディスプレイ,プリンタなど)にしか対応
できない。すなわち、特定のデバイスにしか対応できな
い、などの課題がある。
また、前記従来の第(2)項に記載したような方法で
は、I/O装置を接続したアダプタごとに、チェインリス
トを解釈できる機能をもたせる必要がある。また、ペー
ジごとにチェインリストをアクセスするので、オーバー
ヘッドが生じる、などの課題がある。
また、前記従来の第(3)項に記載した方法では、I/
O装置を接続したアダプタごとに、アドレスリストを解
釈できる機能をもたせる必要がある。また、ページごと
にアドレスリストをアクセスするので、オーバーヘッド
が生じる、などの課題がある。
また、前記従来の第(4)項に記載した方法では、MM
Uはページとセグメントの2階層から構成される傾向で
あり、オーバーヘッドが大きくなっている。また、この
方法では、MMU2をCPU1とアダプタ5とが共用しているの
で、CPU1およびアダプタ5からメモリ3にデータ転送を
行う際にアドレスのアクセスが衝突するおそれがあるの
で、そのどちらかが譲り合いを行わなければならず、そ
れだけデータ転送の性能が落ちる。さらに、最近のCPU
は、CPUチップ内にMMUを内蔵する傾向にあり、このよう
なCPUではI/O装置4を接続したアダプタ5を接続する端
子がないので、この内蔵されたMMUをメモリとI/O装置間
のデータのDMA転送におけるアドレスのアクセスに使用
することができない、などの課題があった。
本発明は、前記のような課題に鑑みて創案されたもの
であり、I/O装置類からメモリへのデータ転送における
アドレスのアクセスに対しては、特殊な機能を必要とせ
ず、単純に転送開始番地と転送語数を指定するだけでよ
く、I/O装置類のDMA機能が簡単化でき、かつ、I/O装置
を接続したアダプタとメモリ間のデータ転送におけるオ
ーバーヘッドを最小にし、さらに装置の低価格化および
性能の向上をはかったコンピュータシステムに於けるア
ダプタ用アドレス変換装置を提供することを目的とす
る。
〔課題を解決するための手段〕
本発明において前記のような課題を解決するための手
段を、実施例に対応する第1図を用いて説明すると、主
制御を行うCPU1と、このCPU1からの論理アドレスを物理
アドレスに変換するMMU2と、このMMU2で変換された物理
アドレスに従ってプログラムやデータが保持されるメモ
リ3と、このメモリ3とI/O装置4との間にデータ転送
を行う機能を有するアダプタ5と、このアダプタ5から
のI/O装置のアドレスを変換しそれに従ってプログラム
やデータを前記メモリ3に保持させるアドレス変換機能
を有するRAM6とからなり、前記CPU1が、アダプタ5にメ
モリ3とI/O装置4との間でデータ転送を行わせる場
合、MMU2を使用してメモリ3上の転送領域のアドレスリ
ストを得、そのアドレスリストをRAM6に与え、アダプタ
5からのI/O装置のアドレスはRAM6に与えられた前記ア
ドレスリストに従って変換されてメモリ3に与えられる
ように構成したコンピュータシステムに於けるアダプタ
用アドレス変換装置としたものである。
〔作用〕
前記のような手段により、CPU1が、アダプタ5にI/O
装置4とメモリ3との間でデータ転送を行わせる場合、
転送開始アドレス(論理アドレス)および転送語数から
MMU2を使用して、実際にこの転送領域が存在するメモリ
3上の転送領域(物理アドレス)のアドレスリストを得
て、そのアドレスリストをRAM6に与える。メモリ3上で
は転送領域は複数のページにまたがるので、n個のアド
レス群(アドレスリスト)として与えられる。そして、
アダプタ5からのI/O装置4のアドレスは、RAM6に与え
られた前記アドレスリストに従って変換されてメモリ3
に与えられてI/O装置4とメモリ3との間でデータ転送
を行なう。アダプタ5がI/O装置4からメモリ3へのデ
ータ転送を終了すると、CPU1はRAM6に獲得していたアド
レスリストを開放する。
〔実施例〕 第1図は本発明の一実施例の構成図であり、1は主制
御を行うCPU、2はCPU1からの論理アドレスを物理アド
レスに変換するMMU、3はこのMMU2で変換された物理ア
ドレスにしたがってプログラムやデータが保持されるメ
モリ、4は磁気ディスクなどのI/O装置、5は前記メモ
リ3とI/O装置4との間でデータ転送を行う機能を有す
るアダプタ、6はこのアダプタ5からのI/O装置のアド
レスを変換しそれに従ってプログラムやデータを前記メ
モリ3に保持させるアドレス変換機能を有するRAMであ
り、このRAM6には後述するようにアドレスリストが与え
られる。
すなわち、CPU1が、アダプタ5にI/O装置4とメモリ
3との間でデータ転送を行わせる場合、転送開始アドレ
スおよび転送語数からMMU2を使用して、実際にこの転送
領域が存在するメモリ3上の転送領域のアドレスリスト
を得て、そのアドレスリストをRAM6に与える。メモリ3
上では転送領域は複数のページにまたがるので、n個の
アドレス群(アドレスリスト)として与えられる。そし
て、アダプタ5からのI/O装置4のアドレスは、RAM6に
与えられた前記アドレスリストに従って変換されたメモ
リ3に与えられてI/O装置4とメモリ3との間でデータ
転送を行う。アダプタ5がI/O装置4からメモリ3への
データ転送を終了すると、CPU1はRAM6に獲得していたア
ドレスリストを開放する。
さらに、第2図および第3図に従って説明する。
この例ではページサイズを4KB(キロバイト)、メモ
リ3の容量を4MB(メガバイト)、アドレス変換機能を
有するRAM6のアドレスリストのエントリ数を256個とし
ている。従って、256×4KB=1MBまで、CPU1は一度にI/O
装置4とメモリ3との間でDMA転送を行なわせることが
できる。通常UNIXなどのマルチタスクOS(Operating Sy
stem)を使用した場合、一回の転送単位は1KB〜32KB程
度であるので、前記CPU1が一度に1MBまでI/O装置4とメ
モリ3との間でDMA転送を行なわせることができれば十
分である。この例ではアダプタ5が出力するアドレスの
うち、上位1MB(00000000〜000FFFFF(16))に対してRAM
6によってアドレス変換が行われるようにしている。
CPU1が、CPUアドレス空間の00010000(16)番地(論理
アドレス)から16KBの領域に対してI/Oを行なうとする
と、まず、CPU1は、CPUアドレス空間の00010000(16)
地から16KBの領域に対応するメモリ3上のアドレスリス
トをMMU2から得る。そのアドレスリストの一例を第3図
に示す。続いてCPU1は、転送領域のページ数を計算す
る。この例の場合は、00010000(16)番地から16KBである
ので、ページ数は4個となる。
CPU1は、RAM6の256個のエントリの中から使用中でな
く、かつ、4個連続するエントリを得る。このRAM6のエ
ントリはCPU1が管理している。この例ではエントリ番号
128から131の4個を得る。CPU1は、得られたエントリに
対し、アドレスリスト中の各アドレスをページサイズ
(4KB)で割った値をRAM6に第3図に示すように書き込
む。
CPU1は、I/O装置4が接続されたアダプタ5に対し、D
MA転送用のアドレスと転送語数を与える。ここで、与え
るアドレスは、この例の場合、エントリ番号が128なの
で、128×ページサイズ=00080000(16)となる。
アダプタ5は、00080000(16)から16KBに対してDMA転
送を行なう。00080000(16)から16KBに対しては、RAM6に
よってアドレス変換を受けるので、その結果として、I/
O装置4が接続されたアダプタ5は、メモリ3上の分散
された領域をアクセスすることになる。
〔発明の効果〕
以上説明したように、本発明によれば、I/O装置類か
らメモリへのデータ転送に対しては、特殊な機能を必要
とせず、単純に転送開始番地と転送語数を指定するだけ
でよいことになり、I/O装置類のDMA機能が簡単化でき、
かつ、I/O装置を接続したアダプタとメモリ間のデータ
転送におけるオーバーヘッドを低減することができ、さ
らに、装置の低価格化および性能の向上に寄与するとこ
ろが大きい。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、 第2図および第3図はアドレス変換の説明図、 第4図は従来例の構成図である。 1……CPU、 2……MMU、 3……メモリ、 4……I/O装置、 5……アダプタ、 6……アドレス変換機能を有するRAM。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】主制御を行うCPU(1)と、 このCPU(1)からの論理アドレスを物理アドレスに変
    換するMMU(2)と、 このMMU(2)で変換された物理アドレスに従ってプロ
    グラムやデータが保持されるメモリ(3)と、 このメモリ(3)とI/O装置(4)との間にデータ転送
    を行う機能を有するアダプタ(5)と、 このアダプタ(5)からのI/O装置(4)のアドレスを
    変換しそれに従ってプログラムやデータを前記メモリ
    (3)に保持させるアドレス変換機能を有するRAM
    (6)とからなり、 前記CPU(1)が、前記アダプタ(5)にメモリ(3)
    とI/O装置(4)との間でデータ転送を行わせる場合、
    前記MMU(2)を使用してメモリ(3)上の転送領域の
    アドレスリストを得、そのアドレスリストを前記RAM
    (6)に与え、アダプタ(5)からのI/O装置(4)の
    アドレスはRAM(6)に与えられた前記アドレスリスト
    に従って変換されてメモリ(3)に与えられるように構
    成したことを特徴とするコンピュータシステムに於ける
    アダプタ用アドレス変換装置。
JP63190061A 1988-07-29 1988-07-29 コンピュータシステムに於けるアダプタ用アドレス変換装置 Expired - Lifetime JP2689336B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63190061A JP2689336B2 (ja) 1988-07-29 1988-07-29 コンピュータシステムに於けるアダプタ用アドレス変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63190061A JP2689336B2 (ja) 1988-07-29 1988-07-29 コンピュータシステムに於けるアダプタ用アドレス変換装置

Publications (2)

Publication Number Publication Date
JPH0239344A JPH0239344A (ja) 1990-02-08
JP2689336B2 true JP2689336B2 (ja) 1997-12-10

Family

ID=16251696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63190061A Expired - Lifetime JP2689336B2 (ja) 1988-07-29 1988-07-29 コンピュータシステムに於けるアダプタ用アドレス変換装置

Country Status (1)

Country Link
JP (1) JP2689336B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3446653B2 (ja) 1999-03-26 2003-09-16 日本電気株式会社 データ転送装置
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu

Also Published As

Publication number Publication date
JPH0239344A (ja) 1990-02-08

Similar Documents

Publication Publication Date Title
US4742450A (en) Method to share copy on write segment for mapped files
US5511227A (en) Method for configuring a composite drive for a disk drive array controller
JP2974526B2 (ja) データ転送処理方法及びデータ転送処理装置
TW376488B (en) Virtual memory system with local and global virtual address translation
JPH03220644A (ja) コンピユータ装置
EP0837402A3 (en) Parallel I/O network file server architecture
EP0497600A2 (en) Memory access method and apparatus
CA2274031A1 (en) Computer interface for direct mapping of application data
JP2774862B2 (ja) Dma制御装置および情報処理装置
MY122111A (en) System input/output interface design for scaling.
US20150220452A1 (en) System, Method and Computer-Readable Medium for Dynamically Mapping a Non-Volatile Memory Store
US6092170A (en) Data transfer apparatus between devices
JP2689336B2 (ja) コンピュータシステムに於けるアダプタ用アドレス変換装置
US4654791A (en) Input/output paging mechanism in a data processor
EP0732656A3 (en) Cache MMU system
EP0522728B1 (en) Method for efficient access of data stored in a nexus table
US20050086442A1 (en) Fast paging of a large memory block
JPH0719222B2 (ja) ストアバッフア
US5303363A (en) Image processing apparatus having disk storage resembling ram memory
GB2221066A (en) Address translation for I/O controller
JP2823038B2 (ja) 論理ダイレクトメモリアクセス方式
TWI284806B (en) Method for managing external memory of a processor and chip for managing external memory
JP2848622B2 (ja) Icメモリカード
JP3256558B2 (ja) 電子計算機におけるアドレス変換方式
JPH0320777B2 (ja)

Legal Events

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

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 11

EXPY Cancellation because of completion of term