JPS63163648A - メモリ管理装置 - Google Patents

メモリ管理装置

Info

Publication number
JPS63163648A
JPS63163648A JP61308446A JP30844686A JPS63163648A JP S63163648 A JPS63163648 A JP S63163648A JP 61308446 A JP61308446 A JP 61308446A JP 30844686 A JP30844686 A JP 30844686A JP S63163648 A JPS63163648 A JP S63163648A
Authority
JP
Japan
Prior art keywords
bus
address
signal
memory management
bus request
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
Application number
JP61308446A
Other languages
English (en)
Inventor
Norio Nakagawa
中川 典夫
Katsuaki Takagi
高木 克明
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61308446A priority Critical patent/JPS63163648A/ja
Priority to KR870014376A priority patent/KR880008154A/ko
Priority to EP19870119154 priority patent/EP0273396A3/en
Publication of JPS63163648A publication Critical patent/JPS63163648A/ja
Priority to US07/525,550 priority patent/US5109491A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/285Halt processor DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、メモリ管理装置(メモリ管理ユニ7ト)に
関するもので、例えば、ダイレクトメモリアクセス制御
装置(DMAコントローラ)とともにマイクロコンピュ
ータシステムのシステムバスに接続されるメモリ管理装
置などに利用して有効な技術に関するものである。
C従来の技術〕 記憶装置の物理的性質による制約を解き柔軟性のあるプ
ログラム体系をつくる一つの手段として、仮想記憶方式
がある。この仮想記憶方式において、処理装置から出力
される論理アドレスを記憶装置上の物理アドレスに変換
するメモリ管理装置がある。
このようなメモリ管理装置については、例えば日経マグ
ロウヒル社発行、1983年12月5日付「日経エレク
トロニクスjの137頁〜152頁に記載されている。
〔発明が解決しようとする問題点〕
餉4図には、仮想記憶方式を用いたマイクロコンピュー
タシステムの記憶系統が示されている。
同図において、処理装置とされるマイクロプロセッサM
PUはバスアービタABTを内蔵しており、バス制御機
能を持つ。マイクロプロセッサMPUからみた記憶系統
は、連続した論理アドレス空間に配置される。
メモリ管理装置MMUは、マイクロプロセッサMPUか
ら出力される論理アドレスVAを、主記憶装置MMのメ
モリエリアに対応した物理アドレスPAに変換する機能
を持つ。主記憶装置MMのメモリエリアは、所定の大き
さでページ分割される。メモリ管理装置MMUによるア
ドレス変換は、例えば論理アドレスVAの所定の上位ビ
ットを物理アドレスPA上のページアドレス(フレーム
番号)に変換するいわゆるページング方式によって行わ
れる。
論理アドレスVAの上位ビットと物理アドレスPA上の
ページアドレスは、主記憶装置MM内に設けられるペー
ジ変換テーブルPTEによって対応付けられる。メモリ
管理装置MMUは、このページ変換テーブルPTEを参
照することで、アドレス変換処理を実現する。
ところで、システムの処理能力が拡張され主記憶装置M
Mの記憶容量が増大されることにともなって、ページ変
換テーブルPTEを複数のレベルに段階化し複数レベル
のページング処理を行うことで、ページ変換テーブルに
供するメモリエリアを節約するマルチレベルページング
方式が採られるようになった。この方式では、メモリ管
理装置MMUによるページ変換テーブルPTEの参照回
数が増大し、アドレス変換処理に要する時間が長くなっ
て、システムの処理能力が低下する。これを防ぐため、
メモリ管理装置MMU内にアドレス変換バッファTLB
が用いられる。
すなわち、メモリ管理装置MMUよって行われるアドレ
ス変換処理の結果が、メモリ管理装置MMU内に設けら
れるアドレス変換バッファTLBに記録される。メモリ
管理装置MMUは、まずアドレス変換バッファTLBを
参照することによってアドレス変換処理を試みる。その
結果、アドレス変換バッファTLBに所望のアドレスが
記録されていない場合すなわちミスヒントの場合におい
てのみ、メモリ管理装置MMUは主記憶装置MM内のペ
ージ変換テーブルPTEを参照する。アドレス変換バッ
フy T L Bは、そのヒツト率が所定の大きさにな
るような必要最小限のエントリー数を持つようにされる
。したがって、アドレス変換バッファ’I’ L Bを
設けることでメモリ管理装置MMUのアドレス変換処理
は高速化され、マルチレベルページング方式の仮想記憶
方式を採ることによるシステムの処理能力の低下を抑え
ることができるものである。
ところが、第4図の論理アドレス空間又は物理アドレス
空間に、バッファリング機能な°どを持たない低機能の
ダイレクトメモリアクセス制御装置DMAC又はダイレ
クトメモリアクセス機能を持つ入出力デバイスなどが接
続される場合、次のような問題点が生じる。すなわち、
ダイレクトメモリアクセス制御装置DMACを介して主
記憶装置MM又は他のデバイスとの間で連続した一連の
データを授受する入出力デバイスは、その動作速度に応
じて許容しうるデータホールド時間を持つ。
デバイスにおいてデータ入出力の必要が生じると、ダイ
レクトメモリアクセス制御装置DMACはマイクロプロ
セッサMPUのバスアービタABTにバス要求信号を送
る。このとき、メモリ管理装置MMUがアドレス変換バ
ッフyTLBがミスヒツトしたことで主記憶装置MM内
のページ変換テーブルPTEによるアドレス変換処理を
実行していると、ダイレクトメモリアクセス制御装置D
MACはメモリ管理装置MMUのアドレス変換処理が終
了するまでの開時たされてしまう、この待ち合わせ時間
がデバイスのデータホールド時間を超えると、各デバイ
スはエラー状態となり、システムバグが発生するもので
ある。
この発明の目的は、バスの長時間占有によるシステムバ
グを防止したメモリ管理装置を提供することにある。
この発明の前記ならびにその他の目的と新規な特徴は、
この明細書の記述及び添付図面から明らかになるであろ
う。
〔問題点を解決するための手段〕
本願において開示される発明のうち代表的なも、)、)
概要を簡単、説明スレハ、下記の通りである。
すなわち、論理アドレス空間にバスマスタとなりうる他
のデバイスが接続される場合、メモリ管理装置に、上記
デバイスのバス要求信号を検出して実行中のアドレス変
換処理を中断し、処理装置にバスを解放させるとともに
上記デバイスのバス要求を受理させる機能を持たせるも
のである。また、物理アドレス空間にバスマスタとなり
うる他のデバイスが接続される場合、メモリ管理装置に
バス制御機能を持たせ、上記デバイスのバス要求信号を
ヰ★出し実行中のアドレス変換処理を中断してバスを解
放するとともに、上記デバイスのバス要求を受理する機
能を持たせるものである。
〔作  用〕
上記した手段によれば、メモリ管理装置がアドレス変換
処理を行っている間に発生する優先度の高いバス要求は
短時間の待ち合わせで受理されるため、待ち合わせ時間
が入出力デバイスのデータホールド時間を超えることな
どによって生じるシステムバグを防止することができる
〔実施例1〕 第1図には、この発明が通用されたメモリ管理装置MM
Uを含むマイクロコンピュータシステムの一実施例の接
続図が示されている。この実施例において、バスマスタ
となりうるダイレクトメモリアクセス制御装置DMAC
は、論理アドレス空間に接続される。同図においてダイ
レクトメモリアクセス制御装置DMACは個別の装置と
されているが、ダイレクトメモリアクセス機能を持つデ
バイスの一回路ブロックであってもよい。
この実施例では、マイクロプロセッサMPUがバスアー
ビタABTを内蔵し、バス制御機能を持つ。ただし、ダ
イレクトメモリアクセス制御装置DMACのバス要求(
バスリクエスト)信号BRが、メモリ管理装置MMUの
外部端子LBAに入力され、またバス要求受理確認(バ
スグランドアクノリフジ)信号BGACKがメモリ管理
装置MMUの外部端子BGACKに入力される。メモリ
管理装置MMUは、バス要求信号百1−によってダイレ
クトメモリアクセス制御装置DMACのバス要求を検出
する。このとき、バス要求受理確認信号BGACKがア
サート(ここで信号レベルにかかわらず信号がアクティ
ブ又は真であることをアサートと表現する。以下同じ)
されていない場合、メモリ管理装置MMUはアドレス変
換処理を中断し、物理アドレスストローブ信号PAS、
ホールト信号HALT及びバスエラー信号BERRをネ
ゲート(ここで信号レベルにかかわらず信号がインアク
ティブ又は偽であることをネゲートと表現する。以下同
じ)してバスを解放する。これにより、マイクロプロセ
ッサMPUは、ダイレクトメモリアクセス制御装置DM
ACをバスマスタとする。マイクロプロセッサMPUは
、ダイレクトメモリアクセス制御装置DMACの処理が
終了した後、中断した上記アドレス変換に係る処理をリ
トライする。
第1図において、マイクロプロセッサMPUに結合され
るアドレスバスは、下位のi+lビットのアドレス信号
AO〜Atを伝達する下位アドレスバスALと上位のj
−iビットのアドレス信号A i+1〜Ajを伝達する
上位アドレスバスAUに分割される。これらのアドレス
バスAL及びAUには、マイクロプロセッサMPU又は
ダイレクトメモリアクセス制御装置DMACからともに
論理アドレス信号が出力される。このうち、下位アドレ
スバスALによって伝達される下位の論理アドレス信号
は、メモリ管理装置MML+及び主記憶装置MMにその
まま供給される。また、上位アドレスバスAUによって
伝達される上位の論理アドレス信号はメモリ管理装置M
MUに供給され、物理アドレス信号に変換される。メモ
リ管理装置MMUによって変換された上位の物理アドレ
ス信号PAi+1〜PAj”は、上位物理アドレスバス
PAUを介して、主記憶装置MMに送られる。
上位アドレスバスAUを介して伝達される上位の論理ア
ドレス信号は、マイクロプロセッサMPU又はダイレク
トメモリアクセス制御装置DMACから供給されるアド
レスストローブ信号ASに従って、メモリ管理装置MM
Uに取り込まれる。
また、上位物理アドレスバスPAUを介して伝達される
上位の物理アドレス信号は、メモリ管理装置MMUから
供給される物理アドレスストローブ信号PASに従って
、主記憶装置MMに取り込まれる。下位アドレスバスA
Lを介して伝達される下位のアドレス信号は、上記アド
レスストローブ信号ASに従ってメモリ管理装置MMU
に取り込まれ、また上記物理アドレスストローブ信号P
ASに従って、主記憶装置MMに取り込まれる。メモリ
管理装置MMUにおいて、通常のアドレス変換動作では
下位のアドレス信号AO〜Atは必要とされないが、例
えばメモリ管理装置MMU内の各レジスタ等に対する制
御データが、下位アドレスバスALを介して入出力され
ることがある。
一方、データバスDTには、マイクロプロセッサMPU
、ダイレクトメモリアクセス制御装置DMA C,メモ
リ管理装置MMU及び主記憶装置MMが結合される。こ
のデータバスDTには、マイクロプロセッサMPU、ダ
イレクトメモリアクセス制御装置DMAC又は主記憶装
置MMから、データ転送確認(データ転送アクノリッジ
)信号DTACKとともに、k+1ビットのデータDO
〜Dkが出力される。データバスDTを介して伝達され
るデータDO−Dkの移動方向は、マイクロプロセッサ
MPU、ダイレクトメモリアクセス制御装置DMAC又
はメモリ管理装置MMUから送られるリード・ライト信
号R/Wによって決定される。
マイクロプロセッサMPUには、バスアービタABTが
内蔵される。このバスアービタABTには、ダイレクト
メモリアクセス制御装置DMACからバス要求信号BR
及びバス要求受理r4認信号BGACKが送られる。こ
のバス要求信号Wπとバス要求受理確認信号BGACK
は、メモリ管理装置MMUにも送られる。ダイレクトメ
モリアクセス制御装置DMACには、マイクロプロセッ
サMPUからバス要求受理()°マスグランド)信号B
ACKは、図示されない他のバスマスタにも結合され、
ワイアドオアとされる場合がある。
マイクロプロセッサMPUのバスアービタABTは、バ
ス要求信号■がアサートされることによってダイレクト
メモリアクセス制御装置DMACのバス要求をヰ食出す
る。これにより、バス要求受理信号If−をアサートし
、実行中のバスサイクルが終了した時点でダイレクトメ
モリアクセス制御装置DMACがバスマスタとなりうろ
ことを知らせる。ダイレクトメモリアクセス制御装置D
MACは、バス要求受理確認信号B GA CK、アド
レスストローブ信号π丁及びデータ転送確認信号rrT
τKがすべてネゲートされていることを条件に、バス要
求受理確認信号BGACKをアサートし、バスマスタと
なる。
ダイレクトメモリアクセス制御装置DMACは、待ち合
わせ時間がデータホールド時間を超えた場合に対処する
ためのバンファリング機能やりトライ機能などを持たな
い比較的低機能の装置である。
ダイレクトメモリアクセス制御装置DMACは、特に制
限されないが、二組のチャンネルCHI及びCH2を持
つ、これらのチャンネルCHI及びCH2には、それぞ
れ対応する入出力デバイスloi及び102が接続され
る。
ダイレクトメモリアクセス制御装置DMACに内蔵され
る各レジスタには、特に制限されないが、マイクロプロ
セッサMPUからデータバスDTを介して転送開始アド
レス及び転送終了アドレスが送られる。ダイレクトメモ
リアクセス制御装置DMACは、上記転送開始アドレス
から転送終了アドレスまでのアドレス信号を順次発生し
、入出力デバイス101又は102と主記憶装置MM又
はその他のデバイスとの間の一連のデータ授受を仲介す
る。これにより、一連の複数のデータが、マイクロプロ
セッサMPUを介在させることなく、高速度で伝達され
る。
メモリ管理装置MMUは、特に制限されないが、連想記
憶素子によって構成されるアドレス変換パ7ファTLB
を内蔵する。このアドレス変換バッファTLBには、後
述するように、メモリ管理装置M M Uによって行わ
れた最新のアドレス変換の結果が所定のエントリー数だ
け記録される。
メモリ管理装置MMUは、マイクロプロセッサMPU又
はダイレクトメモリアクセス制御装置DMACから上位
アドレスバスAUを介して供給される上位の論理アドレ
ス信号をタグとして、アドレス変換バッファTLBに記
憶される上位の物理アドレスを連想読み出しする。これ
らの上位の物理アドレス信号は、上位物理アドレスバス
PALを介して、主記憶装置MMに送られる。
アドレス変換バッファTLBにおいて供給された論理ア
ドレスに対応する物理アドレスが格納されていない場合
すなわちアドレス変換バッファTLBがミスヒントの場
合、メモリ管理装置MMUは、ホールト信号HALT及
びバスエラー信号BERRをアサートしてマイクロプロ
セッサMPUをホールト状態にし、バスを解放させると
ともに、主記憶装置MMに設けられるページ変換テーブ
ルPTEによってベージング処理を行う。
第3図には、この実施例のメモリ管理装置MMCにおけ
るアドレス変換処理のフロー図が示されている。同図に
より、アドレス変換処理の概要を説明する。
前述のように、この実施例のメモリ管理装置MMUにお
けるベージング処理は、特に制限されないが、2段階の
マルチページング方式が採られる。
したがって、論理アドレス信号VAの上位ビットは、第
3図に示されるように、二つのインデックス部X1及び
X2に分けられる。また、主記憶装置MM内のページ変
換テーブルPTEは、これらのインテ・7クス部X1及
びX2に対応して設けられる二組の変換テーブルPTE
1及びPTE−2によって構成される。このうち、第1
の変換テーブルPTEIは、主記憶装置MMの所定のア
ドレスP1を先頭アドレスとして配置される。変換テー
ブルPTEIには、メモリ保護用の制御ビットなどのば
か変換テーブルPTE2のアドレス修飾を行うためのブ
ロック番号BNが格納される。実際にアクセスされる変
換テーブルPTE1のアドレスは、論理アドレス信号V
Aの第1インデックス部X1によって修飾され、P1+
X1となる。一方、第2の変換テーブルPTE2は、主
記憶装置MMの所定のアドレスP2を先頭アドレスとし
て複数ブロック配置される。変換テーブルPTE2には
、メモリ保護用あ制御ビットなどのほか上位の物理アド
レスとして用いられるフレーム番号FNが格納される。
変換テーブルPTE2のブロック先頭アドレスは、上記
変換テーブルPTEIから読み出されるブロック番号B
Nによって修飾され、P 2 +BNとなる。また、実
際にアクセスされるブロック内のアドレスはさらに上記
論理アドレス信号VAの第2インデックス部X2によっ
て修飾され、P2+BN+X2となる。
メモリ管理装置MMUは、上記変換テーブル装置及びP
TE2をアクセスするためのアドレス演算等を行いつつ
主記憶装置MMのページ変換テーブルPTEを2回アク
セスし、物理アドレス信号を形成する。ここでメモリ管
理装置MMUは、変換テーブルPTE2から読み出され
るフレーム番号FNを、上位の物理アドレス信号PAi
+1〜PA j’  とする、この上位の物理アドレス
信号すなわちフレーム番号FNと与えられた論理アドレ
ス信号のインデックス部X1及びX2は、メモリ管理装
置MMU内に設けられるアドレス変換バッファTLBに
格納される。これらの物理アドレス信号は、メモリ管理
装置MMUのアドレス変換処理が終了した後行われるマ
イクロプロセッサMPUのりトライによって読み出され
、上位物理アドレスバスPAUを介して、主記憶装置M
Mに送られる。
メモリ管理装置MMU内に設けられるアドレス変換バッ
ファTLBは、第3図に示されるように、複数のエント
リーからなる連想メモリによって構成され、論理アドレ
ス信号VAのインデックス部X1及びX2と、上位物理
アドレスとして用いられるフレーム番号FNを格納する
。アドレス変換バッファTLBは、メモリ管理装置MM
Uのアドレス変換処理が終了するたびに随時書き換えら
れるので、アドレス変換バッファTLB内には常に最近
アクセスされた物理アドレスのフレーム番号とそれに対
応する論理アドレスのインデックス部が所定のエントリ
ー数だけ格納される。
メモリ管理装置MMUは、供給された論理アドレス信号
VAのインデックス部Xi及びX2をアドレス変換バッ
ファTLBの読み出し用タグとする。アドレス変換バッ
ファTLBは、与えられたタグすなわちインデックス部
X1及びX2と全エントリーに格納されるインデックス
部を瞬時に比較する。両インデックス部が一致した場合
すなわちアドレス変換バッファTLBがヒツトした場合
、そのエン[・リーのフレーム番号FNを読み出す。
読み出されたフレーム番号FNは、上位の物理アドレス
信号PAi+1〜PAj” として、主記憶装置M )
vlに出力される。これらの物理アドレス信号は、同時
に出力される物理アドレスストローブ信号PASに従っ
て、主記憶装置MM内に取り込まれる。
一方、両インデックス部が一致するエントリーが存在し
ない場合すなわちアドレス変換バッファTLBがミスヒ
ツトした場合、メモリ管理装置MMtJは上記ページ変
換テーブルPTEを用いたベージング処理を実行する。
メモリ管理装置MMUのアドレス変換バッファTLBは
、そのヒント率が例えば9526程になるようにエント
リー数が設定される。このため、メモリ管理装置MMU
の通常のアドレス変換処理は、アドレス変換バッファT
LBを読み出すのみでよく、高速に行われる。ところが
、アドレス変換バッファTLBにミスヒントが生じた場
合、第1変換テーブルP置及び第2変換テーブルPTE
2をアクセスするためのアドレス演算や主記憶装置MM
のアクセスを繰り返し行わなくてはならない。このため
、メモリ管理装置MMUのアドレス変換処理は比較的長
い時間を必要とし、その間メモリ管理装置MMUによっ
てバスが占有されてしまう。また、メモリ管理装置MM
Uによってアドレス変換処理が行われる間、マイクロプ
ロセッサMPUに対して上記ホールト信号HA L T
及びバスエラー信号BERRがアサートされたままとな
る。マイクロプロセッサMPUは、このホールト信号H
ALT及びバスエラー信号BERRによってバスがメモ
リ管理装置MMUによって占有されていることを識別し
、これらの信号がネゲートされることによって、リトラ
イを開始する。
前述のように、この実施例のメモリ管理装置MMUには
、論理アドレス空間に接続される他のバスマスタからの
バス要求信号「下及びバス要求受理確認信号BGACK
が入力される。メモリ管理装置M ?vI Uは、バス
要求信号BRがアサートされることによって例えばダイ
レクトメモリアクセス制御装置DMACのバス要求を検
出し、そのアドレス変換処理を中断するとともに、マイ
クロプロセッサMPUに対するホールト信号HALT及
びバスエラー信号BERRをネゲートする。これにより
、マイクロプロセッサMPUはりトライを開始しようと
するが、ダイレクトメモリアクセス制御装置DMACに
よってバス要求信号BRがアサートされているため、そ
のバス要求を優先的に受理する。マイクロプロセッサM
PUは、上記ダイレクトメモリアクセス制御装置DMA
Cのバスサイクルが終了した後、先にミスヒツトしたア
ドレス変換処理に係る処理をリトライする。
論理アドレス空間に複数のダイレクトメモリアクセス制
御装置DMACが接続される場合、メモリ管理装置MM
Uは、一方のダイレクトメモリアクセス制御装置DMA
Cのバス要求が検出された時点でバス要求受理確認信号
BGACKをモニターする。このとき、バス要求受理確
認信号Wτ玉CKがアサートされていない場合、メモリ
管理装置M M Uは上記のようにアドレス変換処理を
中断するが、バス要求受理確認信号BGACKが他のダ
イレクトメモリアクセス制御装置DMACによってアサ
ートされている場合、このダイレクトメモリアクセス制
御装置D MA Cに対するバス要求がすでに受理され
ているものとみなし、アドレス変換処理を続行する。
以上のように、この実施例のメモリ管理装置MMUには
、ダイレクトメモリアクセス制御装置DMACからバス
要求信号BRが入力される。メモリ管理装置MMUは、
このバス要求信号BRによってダイレクトメモリアクセ
ス制御装置DMACのバス要求を検出する。さらに、バ
ス要求受理確認信号BGACKがアサートされていない
ことを条件に、そのアドレス変換処理を中断するととも
に、ホールト信号HALT及びバスエラー信号百ERR
をネゲートし、マイクロプロセッサMPUにダイレクト
メモリアクセス制御装置DMAcのバス要求を受理させ
るとともに、上記アドレス変換処理に係る処理をリトラ
イさせる。このため、ダイレクトメモリアクセス制御袋
EDMACなどのバスマスタは、メモリ管理装置MMU
のアドレス変換バッファTLBがミスヒツトした場合で
も長時開時たされることがなく、待ち時間がデータホー
ルド時間を超えることによって生じるシステムバグが解
消される。
〔実施例2〕 第2図には、この発明が通用されたメモリ管理装置MM
Uを含むマイクロコンピュータシステムのもう一つの実
施例の接続図が示されている。この実施例において、ダ
イレクトメモリアクセス制御装置DMACはシステムの
物理アドレス空間に接続される。以下の説明において、
特に説明を加えない部分については上記実施例1の場合
と同じである。
この実施例において、メモリ管理装置MMUはバスアー
ビタABTを内蔵しており、バス制御機能を持つ。特に
制限されないが、マイクロプロセッサM P Uも同様
にバスアービタABTを内蔵しているが、この実施例で
はメモリ管理装置MMUのバスアービタABTがバス制
御を行う。システムの論理アドレス空間にはマイクロプ
ロセッサMPUが接続されているだけであり、マイクロ
プロセッサM P Uは、ホールト信号HA L T及
びバスエラー信号BERRがアサ−I・されることによ
って、メモリ管理装置MMUが物理アドレス空間でバス
を占有していることを識別する。また、マイクロプロセ
ッサMPUは、バス要求受理確認信号BGACKがアサ
ートされることによって、ダイレクトメモリアクセス制
御装置DMACが物理アドレス空間でバスを占有してい
ることを識別する。
システムの論理アドレス空間に他のバスマスタが接続さ
れる場合、メモリ管理装置MMUによる論理アドレス空
間のバス制御は、バス要求信号BR。
バス要求受理信号BG及びバス要求受理確認信号BGA
CKを用いて行われる。メモリ管理装置MMUのバスア
ービタABTによるバス制御は、そのアドレス変換処理
と並行して行われる。
メモリ管理装置M M Uは、上記実施例1のメモリ管
理装置MMUと同様なアドレス変換処理を行う。メモリ
管理装置MMUは、アドレス変換バッファT L Bが
ミスヒツトになると、7!ζ−ルト信号HA L T及
びバスエラー信号BERRをアサートしてマイクロプロ
セッサMPUにバスを解放させるとともに、主記憶装置
MM内のページ変換テーブルPTEによるマルチレベル
のページング処理を行う。このページング処理の間にダ
イレクトメモリアクセス制御装置DMACからのバス要
求を検出すると、バス要求受理確認信号BGACKがア
サートされていないことを条件に、そのアドレス変換処
理を中断し、物理アドレスストローブ信号PASをネゲ
ートしてバスを解放する。さらに、ダイレクトメモリア
クセス制御装置DMACのバス要求を受理し、所定のバ
ス制御手順に従って、ダイレクトメモリアクセス制御装
置DMACをバスマスタとする。これにより、メモリ管
理装置MM Uのアドレス変換処理が行われる間ダイレ
クトメモリアクセス制御装置DMACが長時開時たされ
ることがなくなり、ダイレクトメモリアクセス制御装置
DMACの待ち合わせ時間がデータホールド時間を超え
ることによるシステムバグは解消される。
第2図において、メモリ管理装置MMuのバスアービタ
ABTには、ダイレクトメモリアクセス制御装置DMA
Cからバス要求信号BR及びバス要求受理確認信号BG
ACKが供給される。このバス要求受理確認信号BGA
CKは、′フィクロプロセッサMPUにも供給される。
一方、メモリ管理装置M M Uからダイレクトメモリ
アクセス制御装置DMACに対して、バス要求受理信号
BGが供給される。メモリ管理装置M M Uは、アド
レスストローブ信号ASがアサートされることによって
マイクロプロセッサMPUがバスを占有していることを
識別する。また、マイクロプロセッサMPUは、ホール
ト信号HA L T及びバスエラー信号BERRによっ
てメモリ管理装置MMUがバスを占有していることを識
別し、バス要求受理確認信号B G A CKによって
他のデバイスがバスを占有し°Cいることを36別する
。マイクロプロセッサMPU及びメモリ管理装置MMU
のバス獲得優先度は、バスマスタとなりうる他のデバイ
スよりも低くされる。
下位アドレスバスALには、マイクロプロセッサMPU
、 メモリ管理装置MMU、ダイレクトメモリアクセス
制御装置DMAC及び主記憶装置MMが接続される。ま
た、上位アドレスバスAUには、マイクロプロセッサM
PU及びメモリ管理装E M M Uが接続される。こ
の上位アドレスバスAUには、アドレスストローブ信号
ASに従って、マイクロプロセッサMPUからメモリ管
理装置MMUに対する上位の論理アドレス信号が伝達さ
れる。上位物理アドレスバスPAUには、メモリ管理装
置MM U、ダイレクトメモリアクセス制御装置DMA
C及び主記憶装置MMが接続される。この上位物理アド
レスバスPAUには、物理アドレスストローブ信号PA
Sに従って、メモリ管理装置MMU又はダイレクトメモ
リアクセス制御装置DMACから主記憶装置MMに対す
る上位の物理アドレス信号が伝達される。
マイクロプロセッサMPUからメモリ管理装置MMUに
送られる上位の論理アドレス信号は、メモリ管理装置M
MUがアドレス変換バッファTLBを参照することによ
って上位の物理アドレス信号に変換される。メモリ管理
装置MMUにおいて、供給された論理アドレス信号に対
応する物理アドレスがアドレス変換バッファTLBに格
納されている場合すなわちアドレス変換バッファTLB
がヒツトした場合、アドレス変換バッファTLBから読
み出される上位の物理アドレス信号は、そのバスサイク
ルにおいて上位物理アドレスバスPAUを介して主記憶
装置MMに送られる。主記憶装置MMは、メモリ管理装
置MMUから同時に出力される物理アドレスストローブ
信号PASに従って、上位の物理アドレス信号を取り込
む。
一方、供給された論理アドレス信号に対応する物理アド
レスがメモリ管理装置MMUのアドレス変換バッファT
LBに格納されていない場合すなわちアドレス変換バッ
ファTLBがミスヒントした場合、マイクロプロセッサ
M P tJに対するホールト信号HALT及びバスエ
ラー信号BERRがアサートされる。これにより、マイ
クロプロセッサM P Uはバスを解放し、メモリ管理
装置MMUは主記憶装置MMのページ変換テーブルPT
Eによるページング処理を開始する。マイクロプロセッ
サMPUは、メモリ管理装′r!!、MMUのページン
グ処理が終了しホールト信号HALT及びバスエラー信
号BERRがネゲートされた時点で、上記アドレス変換
処理に係る処理をリトライする。
メモリ管理装置MMUにおいて、アドレス変換バッファ
TLBがミスヒツトすることによって行われるページン
グ処理の方法は、前述の実施例1の場合と同じである。
メモリ管理装置MMUによるアドレス変換処理が行われ
ている間に、ダイレクトメモリアクセス制御装置DMA
Cがバス要求信号BRをアサートしバス要求を行った場
合、そのバス要求はメモリ管理装置MMUに内蔵される
バスアービクABTによって検出される。このとき、ア
ドレスストローブ信号肩及びバス要求受理確認信号BG
ACKがネゲートされていてマイクロプロセッサMPU
及びダイレクトメモリアクセス制御装置DMACなどが
バスを占有せず、またメモリ管理装置MMU自身もバス
を占有していない場合、バス要求受理信号子τをアサー
トする。
これにより、バス要求を出したダイレクトメモリアクセ
ス制御装置DMACがバス要求受理確認信号BGACK
をアサートし、バスマスタとなる。
一方、ダイレクトメモリアクセス制御装置D MACの
バス要求が検出されたとき、アドレスストローブ信号A
Sがアサ゛−トされマイクロプロセッサMPUがバスを
占;Nし”Cいる場合、メモリ管理装置MMUはマイク
ロプロセッサMPUに対するホールト信号HA L T
及びバスエラー信号BERRをアサートする。これによ
り、マイクロプロセッサMPUは実行中の処理を中断し
、バスを解放する。マイクロプロセッサMPUは、ダイ
レクトメモリアクセス制御装置DMACがバスマスタと
なりその処理が終了した時点で、中断した処理をリトラ
イする、しかし、ダイレクトメモリアクセス制御装置D
MACのバス要求が検出されたとき、バス要求受理確認
信号BGACKがアサートされ他のダイレクトメモリア
クセス制御装置D M A Cのバス要求がすでに受理
されている場合、メモリ管理装置MMUは実行中のアド
レス変換処理を続行する。
以上のように、この実)品例のメモリ管理装置MMUに
はバスアービタA B T’が設けられ、メモリ管理装
置MMUはバス制fIm機能を持つようにされる。また
、メモリ管理装置MMUがアドレス変換処理を行ってい
る間にダイレクトメモリアクセス制御装置DMACがバ
ス要求信号丁πをアサートした場合、メモリ管理装置M
MUのバスアービタABTがそのバス要求を検出する。
このとき、バス要求受理確認信号BGACKがアサート
されていないことを条件に、メモリ管理装置MMUはバ
スを解放し、ダイレクトメモリアクセス制御装置DMA
Cのバス要求を受理する。これにより、ダイレクトメモ
リアクセス制御装置DMACは、長時開時たされること
はなくバスマスタとなりうる。
したがって、ダイレクトメモリアクセス制御装置D M
 A Cの待ち合わせ時間が入出力デバイスのデータホ
ールド時間を超えることによるシステムバグは解消され
る。
以上の本実施例に示されるように、この発明をダイレク
トメモリアクセス制御装置等バスマスタとなりうる他の
装置とともにマイクロコンピュータシステムのシステム
バスに接本売されるメモリ管理装置に適用した場合、次
のような効果が得られる。すなわち、 (1)ハスマスタとなりうる他のデバイスとともに論理
アドレス空間に接続されるメモリ管理装置に、上記デバ
イスのバス要求信号を検出して実行中のアドレス変換処
理を中断し、処理装置にバスを解放させる機能を持たせ
ることで、上記デバイスを長時開時たせることなくバス
マスタとすることができるという効果が得られる。
(2)バスマスタとなりうる他のデバイスとともに物理
アドレス空間に接続されるメモリ管理F装置に、バス制
御機能を持たせ、上記デバイスのバス要求信号を挟出し
実行中のアドレス変換処理を中[折してバスをiλ放す
るとともに、上記デバイスのバス要求を受理する機能を
持たせることで、上記デバイスを長時開時たせることな
くバスマスタとすることができるという効果が得られる
(3)上記ti)項及び(2)項により、メモリ管理装
置がアドレス変換処理を行っている間に発生する優先度
の高いバス要求は、短時間の待ち合わせで受理され、待
ち合わせ時間が例えばダイレクトメモリアクセス9制御
装置に接続される入出力デバイスのデータホールド時間
+超えることなどによって生じるシステムバグ侘・防止
することができるという効果が得られる。
(4)上2fi1項〜(3)項により、ダイレクトメモ
リアクセス制御装置の構成を簡略化し、低コスト化を図
ることができるという効果が得られる。
(5)上記+11項〜(4)項により、メモリ管理装置
と複数のバスマスタとなりうるデバイスを含むマイクロ
コンピュータシステムのスルーブツト・お改善し、その
イδ頌性を向上することができるという効果が?7られ
る。
以上本発明者によってなされた発明を実施例にjkづき
具体的に説明したが、この発明は上記実施例に限定され
るものではなく、その要旨を通説しない範囲でfN h
変更可能であることはいうまでもない。例えば、上:C
実施例1及び実施例2では、論理アドレス、空間又は物
理アドレス空間のいずれか一方にバスマスタとなりうる
ダ・イレクトメモリアクセス制御装置DMAC等が接続
されるものと゛したが、論理アドレス空間及び物理アド
レス空間の両方にダイレクトメモリアクセス制御装置D
MAC等か接続されるものであってもよい、また、上記
実り例では2段階によるマルチレベルページング方式を
採用しているが、3段階以上のマルチレベルベージング
方式を採るものであってもよい。
実施例1において、バスアービタABTはマイクロプロ
セッサMPUの外部に設けられてもよいし、ダ・イレク
トメモリアクセス制御装置DMACは入出力デバイスに
内蔵されるものとしてもよい。これらの実施例では、ホ
ールト係号HA L T及びバスエラー!N号BERR
をアサートすることによってマイクロプロセッサMPU
の処理を中断させ、バスを解放させた後、リトライさせ
ているが、これらの信号線の構成と組み合わせは、特に
この実施例によって制限されるものではない。さらに、
その池のシステムバスの具体的な構成や組み合わせある
いはメモリ管理装置MMUにおけるページング方式等、
種々の実施形態を採りうるちのである。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるマイクロコンピュー
タシステムのメモリ管理装f&に通用した場合について
説明したが、それに限定されるものではなく、例えば、
その他のディジタルシステムに用いられるメモリ管理装
置などにも適用できる。本発明は、少なくともバスマス
タとなりうる他のデバイスとともにシステムバスにff
1bNされるメモリ管理装置又はこのようなメモリ管理
装置を含む装置には通用できるゆ 〔発明の効果〕 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば、下記のとおりであ
る。すなわち、バスマスタとなりうる他のデバ・イスと
ともに8A哩アドレス空間又は物理アドレス空間に接続
されるメモリ管理装置に、上記デバ・イスのバス要求信
号を検出して実行中のアドレス変換処理を中断し、処理
装置にバスを解放させる機能又は上記デバイスのバス要
求信号を検出しメモリ管理装置0冴が実行中のアドレス
変換処理を中断してバスを解放するとともに、上記デバ
イスのバス要求を受理するバス制御機能を持たせること
で、上記デバイスを長時開時たせることなくバスマスタ
とすることができ、待ち合わせ時間が例えばダイレクト
メモリアクセス制jai!装置に接続される入出力デバ
イスのデータホールド時間を超えることなどによって生
じるシステムバグを防止することができるものである。
【図面の簡単な説明】
第1図は、この発明が適用されたメモリ管理装置を含む
マイクロコンピュータシステムの一実施例を示す接続図
、 第2図は、この発明が通用されたメモリ管理装置を含む
マイクロコンピュータシステムのもう一つの実施例を示
す接続図、 第3国は、第1図及び第2図のメモリ管理装置における
アドレス変換処理の一実施例を示すフロー図、 第4図は、従来のマイクロコンピュータシステムの一例
を示す接続図である。 M M U・・・メモリ管理装置、M P U・・・マ
イクロプロセッサ、MM・・・主記憶装置、DMAC・
・・ダイレクトメモリアクセス制御装置、CHI、CH
2−・・チ、ヒンネル、101,102・・・入出力デ
バイス。 VA・・・論理アドレス、PA・・・物理アドレス、T
LB・・・アドレス変換バッファ、PTE、PTEl、
PTE2・・・ページ変換テーブル。 第1図 第2図 第  3  岱η 第4図

Claims (1)

  1. 【特許請求の範囲】 1、バスマスタとなりうる他のデバイスとともに論理ア
    ドレス空間に接続され、上記デバイスのバス要求信号を
    検出して実行中のアドレス変換処理を中断するとともに
    、バス制御機能を有する処理装置にバスを解放させ上記
    デバイスのバス要求を受理させる機能を有することを特
    徴とするメモリ管理装置。 2、バス制御機能を有し、バスマスタとなりうる他のデ
    バイスとともに物理アドレス空間に接続され、上記デバ
    イスのバス要求信号を検出して実行中のアドレス変換処
    理を中断するとともに、バスを解放し上記デバイスのバ
    ス要求を受理する機能を有することを特徴とするメモリ
    管理装置。
JP61308446A 1986-12-26 1986-12-26 メモリ管理装置 Pending JPS63163648A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP61308446A JPS63163648A (ja) 1986-12-26 1986-12-26 メモリ管理装置
KR870014376A KR880008154A (ko) 1986-12-26 1987-12-17 마이크로 컴퓨터 시스템 및 그 메모리 관리장치
EP19870119154 EP0273396A3 (en) 1986-12-26 1987-12-23 Memory management device
US07/525,550 US5109491A (en) 1986-12-26 1990-05-18 Memory management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61308446A JPS63163648A (ja) 1986-12-26 1986-12-26 メモリ管理装置

Publications (1)

Publication Number Publication Date
JPS63163648A true JPS63163648A (ja) 1988-07-07

Family

ID=17981123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61308446A Pending JPS63163648A (ja) 1986-12-26 1986-12-26 メモリ管理装置

Country Status (4)

Country Link
US (1) US5109491A (ja)
EP (1) EP0273396A3 (ja)
JP (1) JPS63163648A (ja)
KR (1) KR880008154A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007012065A (ja) * 2005-07-01 2007-01-18 Samsung Electronics Co Ltd バスシステム及びバス仲裁方法
JP2007287143A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121487A (en) * 1989-02-21 1992-06-09 Sun Microsystems, Inc. High speed bus with virtual memory data transfer capability using virtual address/data lines
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
JPH04309128A (ja) * 1991-04-08 1992-10-30 Toshiba Corp プログラマブルコントローラ
EP0665501A1 (en) * 1994-01-28 1995-08-02 Compaq Computer Corporation Bus master arbitration circuitry with retry mechanism
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US5860025A (en) * 1996-07-09 1999-01-12 Roberts; David G. Precharging an output peripheral for a direct memory access operation
US9495303B2 (en) * 2015-02-03 2016-11-15 Intel Corporation Fine grained address remapping for virtualization

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5248440A (en) * 1975-10-15 1977-04-18 Toshiba Corp Memory access control system
JPS5362945A (en) * 1976-11-17 1978-06-05 Toshiba Corp Disc address system
US4558412A (en) * 1978-12-26 1985-12-10 Honeywell Information Systems Inc. Direct memory access revolving priority apparatus
US4417304A (en) * 1979-07-30 1983-11-22 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4245307A (en) * 1979-09-14 1981-01-13 Formation, Inc. Controller for data processing system
JPS5654535A (en) * 1979-10-08 1981-05-14 Hitachi Ltd Bus control system
DE3135134A1 (de) * 1981-09-04 1983-03-24 Otto 7750 Konstanz Müller Verfahren und schaltung zum prioritaetsbeguenstigten aufschalten einer steuereinheit einer digitalen rechenanlage auf einen rechnerbus
US4535330A (en) * 1982-04-29 1985-08-13 Honeywell Information Systems Inc. Bus arbitration logic
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
JPS60178568A (ja) * 1984-02-24 1985-09-12 Fujitsu Ltd ダイレクトメモリアクセス制御装置
US4805097A (en) * 1984-08-03 1989-02-14 Motorola Computer Systems, Inc. Memory management unit with dynamic page allocation
US4648029A (en) * 1984-08-27 1987-03-03 International Business Machines Corporation Multiplexed interrupt/DMA request arbitration apparatus and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007012065A (ja) * 2005-07-01 2007-01-18 Samsung Electronics Co Ltd バスシステム及びバス仲裁方法
JP2007287143A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション

Also Published As

Publication number Publication date
KR880008154A (ko) 1988-08-30
EP0273396A3 (en) 1991-11-06
US5109491A (en) 1992-04-28
EP0273396A2 (en) 1988-07-06

Similar Documents

Publication Publication Date Title
AU651747B2 (en) Arbitration control logic for computer system having dual bus architecture
US5247648A (en) Maintaining data coherency between a central cache, an I/O cache and a memory
JP4562919B2 (ja) ダイナミック・ディスプレイ・メモリを実装するための方法および装置
US5079737A (en) Memory management unit for the MIL-STD 1750 bus
US5611058A (en) System and method for transferring information between multiple buses
US20060190640A1 (en) Data transfer system and data transfer method
JPS5821353B2 (ja) チヤネル対メモリ書込み装置
JPH0137773B2 (ja)
JPS63163648A (ja) メモリ管理装置
US20050253858A1 (en) Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
US5388232A (en) Method and system for providing successive data transfers among data processing units in a non-multiplexed asynchronous manner using unique pipelined arbitration, address, and data phase operations
JPH0743682B2 (ja) 中央処理装置 cpu とシステムバスを有するワークステーションすなわちサーバ
JPS63101944A (ja) 記憶制御装置
JP2001282704A (ja) データ処理装置及びデータ処理方法とデータ処理システム
JPS61275946A (ja) キャッシュメモリ管理装置
US7185122B2 (en) Device and method for controlling data transfer
JPH0830546A (ja) バス制御装置
JP3643601B2 (ja) 情報処理装置
JPH0877099A (ja) Dmaコントローラ
JP3830438B2 (ja) メモリアクセスアービタ、メモリ制御装置
US20020169930A1 (en) Memory access control system, method thereof and host bridge
US5790892A (en) Information handling system for modifying coherency response set to allow intervention of a read command so that the intervention is not allowed by the system memory
JPH01235100A (ja) 半導体記憶装置
JPS6237754A (ja) 仮想拡張記憶方式
TWI262435B (en) Microcomputer structure and method having direct memory access function