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

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

Info

Publication number
JPH0239344A
JPH0239344A JP63190061A JP19006188A JPH0239344A JP H0239344 A JPH0239344 A JP H0239344A JP 63190061 A JP63190061 A JP 63190061A JP 19006188 A JP19006188 A JP 19006188A JP H0239344 A JPH0239344 A JP H0239344A
Authority
JP
Japan
Prior art keywords
address
memory
adapter
transfer
data
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.)
Granted
Application number
JP63190061A
Other languages
English (en)
Other versions
JP2689336B2 (ja
Inventor
Keizo Azuma
圭三 東
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

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

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

Claims (1)

  1. 【特許請求の範囲】 主制御を行うCPU(1)と、 このCPU(1)からの論理アドレスを物理アドレスに
    変換するMMU(2)と、 このMMU(2)で変換された物理アドレスに従ってプ
    ログラムやデータが保持されるメモリ(3)と、このメ
    モリ(3)とI/O装置(4)との間にデータ転送を行
    う機能を有するアダプタ(5)と、 このアダプタ(5)からのI/O装置のアドレスを変換
    しそれに従ってプログラムやデータを前記メモリ(3)
    に保持させるアドレス変換機能を有するRAM(6)と
    からなり、 前記CPU(1)が、アダプタ(5)にメモリ(3)と
    I/O装置(4)との間でデータ転送を行わせる場合、
    MMU(2)を使用してメモリ(3)上の転送領域のア
    ドレスリストを得、そのアドレスリストをRAM(6)
    に与え、アダプタ(5)からのI/O装置のアドレスは
    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 true JPH0239344A (ja) 1990-02-08
JP2689336B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615292B1 (en) 1999-03-26 2003-09-02 Nec Corporation Data transfer apparatus performing DMA data transfer from non-consecutive addresses
JP2008033928A (ja) * 2006-07-31 2008-02-14 Nvidia Corp Gpuにおけるページマッピングのための専用機構

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615292B1 (en) 1999-03-26 2003-09-02 Nec Corporation Data transfer apparatus performing DMA data transfer from non-consecutive addresses
JP2008033928A (ja) * 2006-07-31 2008-02-14 Nvidia Corp Gpuにおけるページマッピングのための専用機構

Also Published As

Publication number Publication date
JP2689336B2 (ja) 1997-12-10

Similar Documents

Publication Publication Date Title
US7194740B1 (en) System for extending an addressable range of memory
US4742450A (en) Method to share copy on write segment for mapped files
US5864876A (en) DMA device with local page table
US5574944A (en) System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context
JP2974526B2 (ja) データ転送処理方法及びデータ転送処理装置
WO1998025210A3 (en) Computer interface for direct mapping of application data
KR20180041037A (ko) 멀티 코어 솔리드 스테이트 드라이브의 공유 분산 메모리 관리 방법
US8108873B1 (en) System for extending an addressable range of memory
EP0674269B1 (en) Translation mechanism for input/output addresses
JP2001051958A (ja) 多重プロセッサ多成分アーキテクチャのための統一メモリ管理システム
JPH0239344A (ja) コンピュータシステムに於けるアダプタ用アドレス変換装置
EP0732656A3 (en) Cache MMU system
EP0522728B1 (en) Method for efficient access of data stored in a nexus table
JP3004278B2 (ja) マルチプロセッサシステム
TWI284806B (en) Method for managing external memory of a processor and chip for managing external memory
GB2221066A (en) Address translation for I/O controller
US6301648B1 (en) Method and apparatus for processing memory accesses utilizing a TLB
JP2002123420A (ja) メモリアクセス装置
JP2823038B2 (ja) 論理ダイレクトメモリアクセス方式
JP3256558B2 (ja) 電子計算機におけるアドレス変換方式
JP2001022640A (ja) メモリ管理方法
JPH0744489A (ja) データ転送方法
JPH047653A (ja) 仮想記憶メモリ装置
CN116745754A (zh) 一种访问远端资源的系统及方法
JPH0553912A (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