JPS6385851A - Dma転送制御方式 - Google Patents

Dma転送制御方式

Info

Publication number
JPS6385851A
JPS6385851A JP23088886A JP23088886A JPS6385851A JP S6385851 A JPS6385851 A JP S6385851A JP 23088886 A JP23088886 A JP 23088886A JP 23088886 A JP23088886 A JP 23088886A JP S6385851 A JPS6385851 A JP S6385851A
Authority
JP
Japan
Prior art keywords
address
memory
memory block
dma transfer
bank
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
JP23088886A
Other languages
English (en)
Inventor
Akiyoshi Miura
三浦 明義
Takao Maeda
多可雄 前田
Yasuhito Wakasugi
若杉 康仁
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP23088886A priority Critical patent/JPS6385851A/ja
Publication of JPS6385851A publication Critical patent/JPS6385851A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、DMA転送制御方式に関し、特に電子計算機
システムにおいて、複数のメモリブロックを有するバン
クメモリ装置へのデータのDMA転送制御方式に関する
〔従来の技術〕
従来、バンクメモリ装置については1日経バイト198
5年No13.の第109頁から第120頁rMSXの
スロット仕様と使い方」において論じられている。同文
献に示されているように、バンクメモリとは複数のメモ
リブロックを持ち、中央処理装置からの選択により、任
意のメモリブロックを中央処理装置のアドレス空間にマ
ツプし、中央処理装置の持つアドレス空間より多くのメ
モリを使用可能とする装置である。
このようなバンクメモリ装置を有する電子計算機システ
ムにおいては、中央処理装置(CPU:Central
 Processing Unit)が自アドレス空間
にマツプしたメモリブロックに対してのみ、入出力制御
装置からのデータのD M A (D 1rect M
enory A ccess )転送が許容される。
【発明が解決しようとする問題点〕
上記従来技術は、マルチタスク環境への適用について配
慮されておらず、CPUが自アドレス空間にマツプして
いないメモリブロックに対する入出力制御装置からのデ
ータのDMA転送ができないという問題があった。すな
わち、マルチタスク環境において、成るメモリブロック
に割り当てられたタスクがOS (Operating
 S ystem)に対して入出力要求を行なうと、O
5は入出力制御装置を起動する。この場合、O5が別タ
スクをスケジューリングするために、バンクメモリを上
記別タスクのメモリブロックに切替えると、既に起動さ
れている入出力制御装置がデータを転送しようとしても
、転送先のアドレス空間には上記側のメモリブロックが
マツプされているため、要求元タスクのメモリエリアに
対してデータを転送できない状態となってしまう。
本発明の目的は、このような従来の問題を解決し、バン
クメモリ装置を有する電子計算機システムにおいて、マ
ルチタスク環境下で人出力制御装置からのデータのDM
A転送を可能とするDMA転送制御方式を提供すること
にある。
〔問題点を解決するための手段〕
上記問題点を解決するため、本発明では、アドレス・バ
ス上の所定のアドレス空間に対して複数のメモリブロッ
クのうちの1つを選択的に割当てるバンクメモリ装置と
、CPUから指定されたアドレス空間に対してデータを
DMA転送する入出力制御装置とを備えた電子計算機シ
ステムにおいて、上記バンクメモリ装置内の1つのメモ
リブロックに上記入出力制御装置との間でのDMA転送
要求が生じた時、上記メモリブロックを特定するだめの
情報と該メモリブロック内のDMA転送先を示す数値を
記憶し、上記入出力制御装置に対して上記バンクメモリ
装置のアドレス空間以外の特定のアドレス空間(以下、
バンクメモリウィンドウという)をDMA転送アドレス
として指定し、上記アドレス・バス上に上記特定のアド
レス空間のアドレスが生じた時、上記バンクメモリ装置
に対して、上記記憶されたメモリブロックを選択させる
と共に、該アドレス・バス上のアドレスを上記記憶数値
に基づいて変換して得たアドレスを与えるようにしたこ
とに特徴がある。
〔作用〕
本発明においては、成るユーザタスクが、入出力制御装
置からのデータを自タスクが所有するバンク・メモリブ
ロックにDMA転送することを要求すると、O3は該メ
モリブロックの番号と、データ転送すべきメモリブロッ
ク内のアドレス値をアドレス変換回路に設定する。また
人出力制御装置に対しては、バンクメモリウィンドウ宛
にデータ転送するようにアドレス設定した後、同装置を
起動する。入出力制御装置を起動すると、O8はバンク
・メモリを切替え、他のメモリブロックをアドレス空間
にマツピングし、当該メモリブロックに割り当てられた
別のタスクを起動する。この状態で、上記入出力制御装
置がバンク・メモリウィンドウに対してデータのDMA
転送を開始すると、アドレス変換回路が前記設定値に従
ってアドレス変換動作とメモリブロックの切替動作を行
ない、入出力制御装置からの転送データを所定のメモリ
ブロックに対して書込む0以上のように、入出力制御装
置からのデータのDMA転送は、CPUが選択している
バンクメモリのメモリブロックとは無関係に行われるの
で、マルチタスク環境下においてもバンクメモリのメモ
リブロックへデータのDMA転送を行うことが可能とな
る。
〔実施例〕
以下、本発明の一実施例を、図面により詳細に説明する
第2図は、本発明を適用した電子計算機システムの全体
構成を示す図であり、CPUI、入出力制御装置2.バ
ンクメモリ装置3.メモリユニット4.システムバス5
および入出力機器6から構成される。
メモリユニット4はバンクメモリ以外のアドレス空間に
配置され、O5のプログラムとデータを格納する。シス
テムバス5にはアドレス信号、データ信号、メモリのリ
ード/ライト等を示す制御信号が含まれ、CPU1およ
び入出力制御装置2は、システムバス5を介してバンク
メモリ機構3およびメモリユニット4にアクセスする。
また、システムバス5にはバスの調停イ言号が含まれ、
CPU1と入出力制御装置2が同時にシステムバス5を
使用するのを防いでいる。システムバス5の調停機能は
CPUIに含まれ、入出力制御装置2はバンクメモリ装
置3あるいはメモリユニット4をアクセスする際、シス
テムバス5の調停信号を通してCPUIにシステムバス
5の使用要求を出す。CPUIは自分がシステムバス5
を使用中であれば使用後に、使用中でなければ直ちに、
使用許可をシステムバス5の調停信号を通して人出力制
御装置2に送る。入出力制御装置2は、システムバス5
の使用を終わると、システムバス5の調停信号を通して
その旨cpuiに通知する。
第1図は第2図のバンクメモリ装置3の構成を示す図で
、アドレス比較器10.アドレス変換器11、メモリブ
ロック切替器12およびメモリブロック13〜15から
構成される。ここで、特徴的なものは、メモリブロック
切替器12の前段にアドレス比較器10とアドレス変換
器11を設けた点である。本図における各種信号線、ア
ドレス比較器10およびアドレス変換器11等について
の動作は後述する本実施例の動作の中で詳述する。
第3図はアドレス空間を示す図であり、メモリユニット
4に割り当てられる固定空間30.バンクメモリに割り
当てられるバンク空間31〜33゜バンクメモリウィン
ドウに割り当てられるウィンドウ空間34、アドレス変
換器11への変換データの設定等に用いる制御空間35
から構成される。
バンク空間31〜33はそれぞれメモリブロック13〜
15に対応し、同時にはcpuiによって選択されたメ
モリブロック13〜15のうちの1つに対応する空間し
か存在しない。
第4図はプログラムの構成を示す図であり、0540の
もとでユーザタスク41とユーザタスク42が動作して
おり、ユーザタスク41のプログラムとデータはバンク
空間31.すなわちメモリブロック13に存在し、ユー
ザタスク42のプログラムとデータはバンク空間32.
すなわちメモリブロック14に存在し、0840のプロ
グラムとデータは固定空間30に存在する。
第5図は第1図のアドレス変換器11内のアドレス変換
テーブル50〜52の構成を示す図であり、1つのアド
レス変換テーブルは、メモリブロック番号部54とアド
レス部55かも構成されている。ここでは、バンクメモ
リウィンドウの4にバイト毎にアドレス変換テーブルを
対応させ、アドレス部55には4にバイト分に相当する
アドレスの下位12ビツトは設定していない。この場合
、アドレス変換テーブルのアドレス部55に設定される
転送先アドレスは1回のDMA転送のみ有効となる。ま
た、このように複数のアドレス変換テーブルを設けたの
は、同時に複数の入出力制御装置からのDMA転送を可
能にするためである。
上記構成のもとで、今、CPUのメモリ空間にバンク空
間31がマツピングされ、ユーザタスク41が実行され
ている状態で、タスク41が○S40に対し入出力要求
システムコールを発行した場合を例にとり、本実施例の
動作を説明する。
ユーザタスク41が、入出力要求システムコールを発行
すると、○S40は制御空間35にマツプされるアドレ
ス変換器11内のアドレス変換テーブル50に、ユーザ
タスク41が存在しているメモリブロックの番号と転送
先アドレスとを書き込む。これは、アドレス比較器10
がアドレス変換テーブル50のアドレスを検出し、アド
レス変換器11にアドレス設定信号26を出力し、アド
レス変換器11がその時のデータ信号Ia21の内容を
取り込み、アドレス変換テーブル50に書くというシー
ケンスで設定される。
次に、0540は、入出力制御装置2に対し、データ転
送先アドレスとしてバンクウィンドウ空間34のアドレ
スを指定し、入出力動作の起動をかける。ここで、ユー
ザタスク41は入出力完了待ちとなるため、O540は
別の実行可能なユーザタスク42をスケジューリングし
、メモリブロック切替器12に対してメモリブロック1
4への切替えを指示する。これは、アドレス比較器10
がメモリブロック切替器12にマツプされたアドレスを
検出してメモリブロック切替信号線27をオンにし、メ
モリブロック切替器12が、その時点でデータ信号線2
1にあるメモリブロック番号を取り込み、現在出力して
いるメモリブロック13セレクト信号llA29をオフ
にし、メモリブロック14をセレクトする信号線30を
オンにすることにより行われる。そして、0540はユ
ーザタスク42に制御を移す。
入出力制御装置2は、データを入出力機器6から取り込
むと、CPUIの動作とは独立に指定されたバンクウィ
ンドウ空間34のアドレスに対し、該データのライト動
作を行う、バンクウィンドウ空間34に対するアクセス
は、アドレス比較器10によって検出される。このとき
、アドレス比較器10は、アドレス変換器11およびメ
モリブロック切替器12に対するアドレス変換信号線2
5をオンにする。アドレス変換器11は、アドレス変換
信号HA25がオフの間は、システムバス5からのアド
レス信号線20をメモリブロック13〜15へのアドレ
ス信号線23に素通りさせているが、アドレス変換信号
線25がオンになると、システムバス5からのアドレス
信号ta20に現われるアドレスに対応して、アドレス
変換テーブル50のアドレス部55の内容を、アドレス
信号!23に出力する。また、これと同時に、同テーブ
ルのメモリブロック番号部54の内容を、メモリブロッ
ク番号線24に出力する。メモリブロック切替器12は
、アドレス変換信号線25がオフの間は、CPUIによ
り指定されたメモリブロック14に対するセレクト信号
@30のみをオンにしているが、アドレス変換信号線2
5がオンになると、メモリブロック番号綿24の内容(
メモリブロック13の番号)に対応するセレクト信号線
29のみをオンとする。メモリブロック13〜15は、
対応するセレクト線29〜31がオンのときのみ動作す
る。従って、この場合はメモリブロック13がセレクト
され、アドレス信号it!123に現われるアドレス位
置にデータ信号線21の内容が書き込まれる。尚、cp
utがバンク空間33をアクセスすると、アドレス変換
信号線25はオフとなり、セレクト信号線30のみが再
びオンとなり、メモリブロック14がアクセスされる。
このように1本実施例においては、複数のアドレス変換
テーブルを設けることにより、DMA転送を行う複数の
入出力制御装置の起動が可能になる。
〔発明の効果〕− 以上説明したように、本発明によれば、バンクメモリ機
構を有する電子計算機システムにおいて。
マルチタスク環境下における入出力制御装置からのデー
タをDMAにより転送可能になる。
【図面の簡単な説明】
第1図は本発明の主要部を示すバンクメモリ機構の構成
を示す図、第2図は本発明を適用した電子計算機システ
ムの全体構成を示す図、第3図は″アドレス空間の構成
を示す図、第4図はプログラムの構成を示す図、第5図
は第1図のアドレス変換器内のアドレス変換テーブルの
構成を示す図である。 1:CPU、2:入出力制御装置、3:バンクメモリ装
置、4:メモリユニット、5ニジステムバス、6:入出
力機器、lOニアドレス比較器、11ニアドレス変換器
、12:メモリブロック切替器、13〜15ニメモリブ
ロツク、3〇二固定空間、31〜33:バンク空間、3
4:バンクウインドウ空間、35:制御空間、40:0
5.41゜42:ユーザタスク、50〜52ニアドレス
変換テーブル、54:メモリブロック番号部、55ニア
ドレス部。 第     1     図 第    2    図 第     3     図

Claims (1)

    【特許請求の範囲】
  1. 1、アドレス・バス上の所定のアドレス空間に対して複
    数のメモリブロックのうちの1つを選択的に割当てるバ
    ンクメモリ装置と、CPUから指定されたアドレス空間
    に対してデータをDMA転送する入出力制御装置とを備
    えた電子計算機システムにおいて、上記バンクメモリ装
    置内の1つのメモリブロックに上記入出力制御装置との
    間でのDMA転送要求が生じた時、上記メモリブロック
    を特定するための情報と該メモリブロック内のDMA転
    送先を示す数値を記憶し上記入出力制御装置に対して上
    記バンクメモリ装置のアドレス空間以外の特定のアドレ
    ス空間をDMA転送アドレスとして指定し、上記アドレ
    ス・バス上に上記特定のアドレス空間のアドレスが生じ
    た時、上記バンクメモリ装置に対して、上記記憶された
    メモリブロックを選択させると共に、該アドレス・バス
    上のアドレスを上記記憶数値に基づいて変換して得たア
    ドレスを与えるようにしたことを特徴とするDMA転送
    制御方式。
JP23088886A 1986-09-29 1986-09-29 Dma転送制御方式 Pending JPS6385851A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23088886A JPS6385851A (ja) 1986-09-29 1986-09-29 Dma転送制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23088886A JPS6385851A (ja) 1986-09-29 1986-09-29 Dma転送制御方式

Publications (1)

Publication Number Publication Date
JPS6385851A true JPS6385851A (ja) 1988-04-16

Family

ID=16914877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23088886A Pending JPS6385851A (ja) 1986-09-29 1986-09-29 Dma転送制御方式

Country Status (1)

Country Link
JP (1) JPS6385851A (ja)

Similar Documents

Publication Publication Date Title
US4453214A (en) Bus arbitrating circuit
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
US6092170A (en) Data transfer apparatus between devices
JPS6385851A (ja) Dma転送制御方式
JPH11232213A (ja) 入出力装置におけるデータ転送方式
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
JPH0227696B2 (ja) Johoshorisochi
KR100362061B1 (ko) 로칼 버스 제어 장치
JPS5897758A (ja) 共有メモリの制御方式
JPS62276663A (ja) プログラム転送方法
JPS6345669A (ja) マルチプロセツサシステム
JPS60134940A (ja) 情報処理装置のレジスタ選択方式
JPH0156418B2 (ja)
JPS63158654A (ja) マイクロコントロ−ラ
JPS61234447A (ja) バス獲得制御装置
JPS6340953A (ja) 入出力制御装置の識別番号設定方式
JPS58179977A (ja) メモリ制御装置
JPH0239344A (ja) コンピュータシステムに於けるアダプタ用アドレス変換装置
JPS635786B2 (ja)
JPH0522938B2 (ja)
JPH01261748A (ja) バッファ記憶制御装置
JPH04167160A (ja) 情報処理装置
JPH03263253A (ja) マルチプロセッサ数値制御装置
JPH04199449A (ja) デバイス制御装置