JPH07302239A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH07302239A JPH07302239A JP11454494A JP11454494A JPH07302239A JP H07302239 A JPH07302239 A JP H07302239A JP 11454494 A JP11454494 A JP 11454494A JP 11454494 A JP11454494 A JP 11454494A JP H07302239 A JPH07302239 A JP H07302239A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- module
- transfer
- instruction
- 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
Links
Landscapes
- Small-Scale Networks (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 中央処理部にバスを介して複数のモジュ−ル
を接続したデータ処理装置においてモジュ−ル間で直接
データを転送する場合に高速な転送を行うこと。 【構成】 データの直接転送であることを指定したオペ
コードと、データの転送元及び転送先の夫々のモジュ−
ルの番号を指定した第1の転送情報コードと、読み出し
開始アドレス及び書き込み開始アドレス、転送バイト
数、読み出し側及び書き込み側のアドレスの変化パター
ンを指定した第2の転送情報コードとからなるDMA命
令を用意し、各モジュ−ルでDMA命令を監視して自己
のモジュ−ルが転送元か転送先であるか判断し、該当す
るときにはセレクト状態とし、一方中央処理部により第
2の情報転送コードを監視して、そのコードに基づき、
読み出し開始アドレス及び書き込み開始アドレスをアド
レスバスに同時に出力し、アドレスを制御する。
を接続したデータ処理装置においてモジュ−ル間で直接
データを転送する場合に高速な転送を行うこと。 【構成】 データの直接転送であることを指定したオペ
コードと、データの転送元及び転送先の夫々のモジュ−
ルの番号を指定した第1の転送情報コードと、読み出し
開始アドレス及び書き込み開始アドレス、転送バイト
数、読み出し側及び書き込み側のアドレスの変化パター
ンを指定した第2の転送情報コードとからなるDMA命
令を用意し、各モジュ−ルでDMA命令を監視して自己
のモジュ−ルが転送元か転送先であるか判断し、該当す
るときにはセレクト状態とし、一方中央処理部により第
2の情報転送コードを監視して、そのコードに基づき、
読み出し開始アドレス及び書き込み開始アドレスをアド
レスバスに同時に出力し、アドレスを制御する。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコントローラ
(MCU)、マイクロプロセッサ(MPU)あるいはR
ISC MCUなどにおいてバスに接続されたモジュ−
ル間でデータを直接転送する場合に特徴のあるデータ処
理装置に関するものである。
(MCU)、マイクロプロセッサ(MPU)あるいはR
ISC MCUなどにおいてバスに接続されたモジュ−
ル間でデータを直接転送する場合に特徴のあるデータ処
理装置に関するものである。
【0002】
【従来の技術】データ転送方式の一つとしてDMA(ダ
イレクトメモリアクセス)と呼ばれる方式がある。この
DMAは、CPUを介さず直接モジュ−ル間でデータ転
送を行うものであり、1バイトまたは1ワードずつプロ
グラムを用いてCPUを介して転送(データバス幅があ
れば32ビット、64ビット転送が可能)を行う場合に
比べて速度が早い利点がある。
イレクトメモリアクセス)と呼ばれる方式がある。この
DMAは、CPUを介さず直接モジュ−ル間でデータ転
送を行うものであり、1バイトまたは1ワードずつプロ
グラムを用いてCPUを介して転送(データバス幅があ
れば32ビット、64ビット転送が可能)を行う場合に
比べて速度が早い利点がある。
【0003】従来のDMAの方式としては、 DMA専用のDMAコントローラをCPUとは別途に
ハードウエハで設け、このコントローラを用いてモジュ
−ル間の直接データ転送を行う方式、 DMA専用のセットアッププログラムを用意すると共
に、CPU自身をDMAコントローラとして使用し、C
PUが前記プログラムを解読してCPUの内部レジスタ
に、読み出し開始アドレス及び書き込み開始アドレス
と、転送すべきデータの数と、読み出し側及び書き込み
側のアドレスの変化パターン(アドレスが増加するのか
減少するのかそのままなのかの種別)とを設定した後D
MA転送命令を用いてDMAを実行する方式。
ハードウエハで設け、このコントローラを用いてモジュ
−ル間の直接データ転送を行う方式、 DMA専用のセットアッププログラムを用意すると共
に、CPU自身をDMAコントローラとして使用し、C
PUが前記プログラムを解読してCPUの内部レジスタ
に、読み出し開始アドレス及び書き込み開始アドレス
と、転送すべきデータの数と、読み出し側及び書き込み
側のアドレスの変化パターン(アドレスが増加するのか
減少するのかそのままなのかの種別)とを設定した後D
MA転送命令を用いてDMAを実行する方式。
【0004】などが知られている。
【0005】
【発明が解決しようとしている課題】しかしながらの
DMAコントローラを用いる方式は、バイト数などの転
送方式を規定するためにDMAコントローラ内のメモリ
に転送用のパラメータをCPUを介して書き込む必要が
あるため、セットアップに時間がかかる上、広いシリコ
ンスペースを必要とするのでチップサイズが大きくなる
という欠点があるし、更にはモジュ−ルの数が増加した
場合にはチャンネルの数を変更しなければならず、対拠
が面倒であるという問題もある。更にDMAコントロー
ラは同じ種類の転送を繰り返すには有効な手段である
が、種々の転送を実行しようとすると、セットアップに
時間がかかるという問題もある。
DMAコントローラを用いる方式は、バイト数などの転
送方式を規定するためにDMAコントローラ内のメモリ
に転送用のパラメータをCPUを介して書き込む必要が
あるため、セットアップに時間がかかる上、広いシリコ
ンスペースを必要とするのでチップサイズが大きくなる
という欠点があるし、更にはモジュ−ルの数が増加した
場合にはチャンネルの数を変更しなければならず、対拠
が面倒であるという問題もある。更にDMAコントロー
ラは同じ種類の転送を繰り返すには有効な手段である
が、種々の転送を実行しようとすると、セットアップに
時間がかかるという問題もある。
【0006】またのソフトウエアによる方式は、転送
の命令に基づいてCPU内部レジスタによりDMAに必
要な上記の転送パラメータをセットアップしなければな
らないため、セットアップに要する時間が長くなる。更
にCPU内部レジスタのデータを一時他のモジュ−ルに
保存させなければならないが、この保存のための命令が
必要であるから、命令格納用のメモリ(通常はROM)
にその分の領域を確保しなければならないし、保存処理
のサイクルが必要になるのでオーバーヘッドが多くな
り、セットアップの時間も加えると全体として処理時間
が長くなるという問題があった。
の命令に基づいてCPU内部レジスタによりDMAに必
要な上記の転送パラメータをセットアップしなければな
らないため、セットアップに要する時間が長くなる。更
にCPU内部レジスタのデータを一時他のモジュ−ルに
保存させなければならないが、この保存のための命令が
必要であるから、命令格納用のメモリ(通常はROM)
にその分の領域を確保しなければならないし、保存処理
のサイクルが必要になるのでオーバーヘッドが多くな
り、セットアップの時間も加えると全体として処理時間
が長くなるという問題があった。
【0007】本発明は、このような事情のもとになされ
たものであり、その目的は、モジュ−ル間で直接データ
を転送するにあたり、高速に転送することのできるデー
タ処理装置を提供することにある。
たものであり、その目的は、モジュ−ル間で直接データ
を転送するにあたり、高速に転送することのできるデー
タ処理装置を提供することにある。
【0008】
【課題を解決するための手段】請求項1の発明は、各々
データ記憶部を備えた複数のモジュ−ルを信号路を介し
て中央処理部に接続し、信号路に出力された命令に基づ
いて一のモジュ−ルのデータ記憶部から他のモジュ−ル
のデータ記憶部へデータを転送するデータ処理装置にお
いて、命令種別がデータ直接転送命令であることを指定
したオペコードと、データの転送元及び転送先の各モジ
ュ−ルを指定した第1の転送情報コードと、転送すべき
データのアドレス情報を指定した第2の転送情報コード
とを含むデータ直接転送命令と、前記中央処理部におけ
る命令の読み出し時に命令ロードサイクル信号を中央処
理部より出力するための命令ロードサイクル信号線と、
各モジュ−ル毎に設けられた命令監視部と、前記中央処
理部に設けられたアドレス制御部と、を備え、前記命令
監視部は、前記命令ロードサイクル信号線、オペコード
が読み出される信号路及び第1の転送情報コードが読み
出される信号路を監視し、夫々が命令ロードサイクル信
号、データ直接転送命令に相当する信号及び自己のモジ
ュ−ルをデータの転送元として指定した信号であるとき
にはデータの転送サイクル時に自己のモジュ−ルのデー
タ記憶部を読み出し状態とし、また夫々が命令ロードサ
イクル信号、データ直接転送命令に相当する信号及び自
己のモジュ−ルをデータの転送先として指定した信号で
あるときにはデータの転送サイクル時に自己のモジュ−
ルのデータ記憶部を書き込み状態とするよう構成され、
前記アドレス制御部は、前記第2の転送情報コードに基
づいてデータの転送サイクル時に読み出し側のデータの
アドレスと書き込み側のデータのアドレスとを同時に、
予め割り当てられた信号路に夫々出力するように構成さ
れていることを特徴とする。
データ記憶部を備えた複数のモジュ−ルを信号路を介し
て中央処理部に接続し、信号路に出力された命令に基づ
いて一のモジュ−ルのデータ記憶部から他のモジュ−ル
のデータ記憶部へデータを転送するデータ処理装置にお
いて、命令種別がデータ直接転送命令であることを指定
したオペコードと、データの転送元及び転送先の各モジ
ュ−ルを指定した第1の転送情報コードと、転送すべき
データのアドレス情報を指定した第2の転送情報コード
とを含むデータ直接転送命令と、前記中央処理部におけ
る命令の読み出し時に命令ロードサイクル信号を中央処
理部より出力するための命令ロードサイクル信号線と、
各モジュ−ル毎に設けられた命令監視部と、前記中央処
理部に設けられたアドレス制御部と、を備え、前記命令
監視部は、前記命令ロードサイクル信号線、オペコード
が読み出される信号路及び第1の転送情報コードが読み
出される信号路を監視し、夫々が命令ロードサイクル信
号、データ直接転送命令に相当する信号及び自己のモジ
ュ−ルをデータの転送元として指定した信号であるとき
にはデータの転送サイクル時に自己のモジュ−ルのデー
タ記憶部を読み出し状態とし、また夫々が命令ロードサ
イクル信号、データ直接転送命令に相当する信号及び自
己のモジュ−ルをデータの転送先として指定した信号で
あるときにはデータの転送サイクル時に自己のモジュ−
ルのデータ記憶部を書き込み状態とするよう構成され、
前記アドレス制御部は、前記第2の転送情報コードに基
づいてデータの転送サイクル時に読み出し側のデータの
アドレスと書き込み側のデータのアドレスとを同時に、
予め割り当てられた信号路に夫々出力するように構成さ
れていることを特徴とする。
【0009】請求項2の発明は、請求項1記載のデータ
処理装置において、第2の転送情報コードは、読み出し
開始アドレス及び書き込み開始アドレスと、転送すべき
データの数と、読み出し側及び書き込み側のアドレスの
変化パターンとを含むものであることを特徴とする。
処理装置において、第2の転送情報コードは、読み出し
開始アドレス及び書き込み開始アドレスと、転送すべき
データの数と、読み出し側及び書き込み側のアドレスの
変化パターンとを含むものであることを特徴とする。
【0010】請求項3の発明は、請求項1または請求項
2記載のデータ処理装置において、データ記憶部のデー
タのアドレスは各モジュ−ルに固有の第1のアドレスコ
ードと、各データ記憶領域に割り当てられた第2のアド
レスコードとの組み合わせよりなり、データの転送サイ
クル時に、信号路に同時に出力される読み出し側のデー
タのアドレス及び書き込み側のデータのアドレスは前記
第2のアドレスコードであり、モジュ−ル内で第1のア
ドレスコードと第2のアドレスコードとが組み合わされ
てデータ記憶部のデータのアドレスが指定されることを
特徴とする。
2記載のデータ処理装置において、データ記憶部のデー
タのアドレスは各モジュ−ルに固有の第1のアドレスコ
ードと、各データ記憶領域に割り当てられた第2のアド
レスコードとの組み合わせよりなり、データの転送サイ
クル時に、信号路に同時に出力される読み出し側のデー
タのアドレス及び書き込み側のデータのアドレスは前記
第2のアドレスコードであり、モジュ−ル内で第1のア
ドレスコードと第2のアドレスコードとが組み合わされ
てデータ記憶部のデータのアドレスが指定されることを
特徴とする。
【0011】
【作用】データの直接転送命令がメモリから読み出さ
れ、この命令の第1の転送情報コードに例えばモジュ−
ルM1からモジュ−ルM2へデータを転送する旨指定さ
れていれば、モジュ−ルM1及びモジュ−ルM2は、第
1の転送情報コードを監視しているため夫々自己のモジ
ュ−ルが転送元、転送先であると判断してモジュ−ルM
1、M2内のデータ記憶部を夫々読み出し状態及び書き
込み状態とする。そして中央処理部は第2の転送情報を
解読してその情報に指定されている転送パターンに基づ
き読み出し側のアドレス及び書き込み側のアドレスを信
号路に同時に出力し、これによりモジュ−ルM1からモ
ジュ−ルM2へデータが直接転送される。このようにし
て転送を行えば、専用のDMAコントローラを用いなく
てもよいし、また中央処理部の内部レジスタを用いた転
送パラメータの指定が不要になる。
れ、この命令の第1の転送情報コードに例えばモジュ−
ルM1からモジュ−ルM2へデータを転送する旨指定さ
れていれば、モジュ−ルM1及びモジュ−ルM2は、第
1の転送情報コードを監視しているため夫々自己のモジ
ュ−ルが転送元、転送先であると判断してモジュ−ルM
1、M2内のデータ記憶部を夫々読み出し状態及び書き
込み状態とする。そして中央処理部は第2の転送情報を
解読してその情報に指定されている転送パターンに基づ
き読み出し側のアドレス及び書き込み側のアドレスを信
号路に同時に出力し、これによりモジュ−ルM1からモ
ジュ−ルM2へデータが直接転送される。このようにし
て転送を行えば、専用のDMAコントローラを用いなく
てもよいし、また中央処理部の内部レジスタを用いた転
送パラメータの指定が不要になる。
【0012】
【実施例】図1は本発明の実施例で用いられるデータの
直接転送命令(以下「DMA命令」という)を示す説明
図である。この命令は、例えば6個のアドレスに夫々割
り当てられた8ビットのコード群からなり、例えばアド
レス8000、8001には、この命令がDMA命令で
あることを指定したオペコードが、8002にはデータ
の転送元及び転送先のモジュ−ル番号並びに後述する転
送パタ−ンが、8003には転送データ(バイト)数
が、8004には読み出し開始アドレスの下位8ビット
が、8005には書き込み開始アドレスの下位8ビット
が夫々割り当てられている。
直接転送命令(以下「DMA命令」という)を示す説明
図である。この命令は、例えば6個のアドレスに夫々割
り当てられた8ビットのコード群からなり、例えばアド
レス8000、8001には、この命令がDMA命令で
あることを指定したオペコードが、8002にはデータ
の転送元及び転送先のモジュ−ル番号並びに後述する転
送パタ−ンが、8003には転送データ(バイト)数
が、8004には読み出し開始アドレスの下位8ビット
が、8005には書き込み開始アドレスの下位8ビット
が夫々割り当てられている。
【0013】図2は前記DMA命令の具体例を示す説明
図であり、この実施例では、便宜上図2のDMA命令が
用いられるものとして説明する。アドレス8002に割
り当てられたコード74(BCDコード)の「7」は転
送元のモジュ−ルがM2、転送先のモジュ−ルがM3で
あることを表わし、「4」は読み出し側のアドレスが増
加し、書き込み側のアドレスが減少することを夫々表わ
している。この例ではモジュ−ルの番号を2ビットで規
定し、図3に示すように「00」をモジュ−ルM1、
「01」をモジュ−ルM2、「10」をモジュ−ルM
3、「11」をモジュ−ルM4としている。そして上位
7ビット目、6ビット目の組み合わせが転送元のモジュ
−ルに、また5ビット目、4ビット目の組み合わせが転
送先のモジュ−ルに夫々割り当てられている。
図であり、この実施例では、便宜上図2のDMA命令が
用いられるものとして説明する。アドレス8002に割
り当てられたコード74(BCDコード)の「7」は転
送元のモジュ−ルがM2、転送先のモジュ−ルがM3で
あることを表わし、「4」は読み出し側のアドレスが増
加し、書き込み側のアドレスが減少することを夫々表わ
している。この例ではモジュ−ルの番号を2ビットで規
定し、図3に示すように「00」をモジュ−ルM1、
「01」をモジュ−ルM2、「10」をモジュ−ルM
3、「11」をモジュ−ルM4としている。そして上位
7ビット目、6ビット目の組み合わせが転送元のモジュ
−ルに、また5ビット目、4ビット目の組み合わせが転
送先のモジュ−ルに夫々割り当てられている。
【0014】アドレス8003に割り当てられたコード
「06」は、後述のモジュ−ル内のデータ記憶部におけ
る転送すべきデータ(バイト)の数を表わしている。ま
たアドレス8004に割り当てられたコード「00」
は、転送元のモジュ−ル内のデータ記憶部のアドレスの
うち下位2桁のコードを表わしている。データ記憶部の
アドレスはこの例では4桁のコードからなり、一例とし
てこのコードが「3010」であるとすると上位2桁の
「30」はそのモジュ−ルに固有の第1のアドレスコー
ドであり、下位2桁の「10」はデータ記憶部内の各記
憶領域に割り当てられた第2のアドレスコードである。
即ちモジュ−ルが特定されていれば、下位2桁のアドレ
スコードを指定することにより、モジュ−ルのデータ記
憶部内のアドレスが指定されることにる。同様にアドレ
ス8005に割り当てられたコード33は転送先のモジ
ュ−ル内のデータ記憶部のアドレスのうち下位2桁のコ
ードを表わしている。このように指定した理由は、16
ビットのアドレスバスを用いた場合に、そのアドレスバ
スの上位8ビット、下位8ビットに夫々転送元の第2の
アドレスコード、転送先の第2のアドレスコードを同時
に載せ、これにより転送元、転送先のモジュ−ルを同時
に夫々読み出し、書き込み状態とするためである。
「06」は、後述のモジュ−ル内のデータ記憶部におけ
る転送すべきデータ(バイト)の数を表わしている。ま
たアドレス8004に割り当てられたコード「00」
は、転送元のモジュ−ル内のデータ記憶部のアドレスの
うち下位2桁のコードを表わしている。データ記憶部の
アドレスはこの例では4桁のコードからなり、一例とし
てこのコードが「3010」であるとすると上位2桁の
「30」はそのモジュ−ルに固有の第1のアドレスコー
ドであり、下位2桁の「10」はデータ記憶部内の各記
憶領域に割り当てられた第2のアドレスコードである。
即ちモジュ−ルが特定されていれば、下位2桁のアドレ
スコードを指定することにより、モジュ−ルのデータ記
憶部内のアドレスが指定されることにる。同様にアドレ
ス8005に割り当てられたコード33は転送先のモジ
ュ−ル内のデータ記憶部のアドレスのうち下位2桁のコ
ードを表わしている。このように指定した理由は、16
ビットのアドレスバスを用いた場合に、そのアドレスバ
スの上位8ビット、下位8ビットに夫々転送元の第2の
アドレスコード、転送先の第2のアドレスコードを同時
に載せ、これにより転送元、転送先のモジュ−ルを同時
に夫々読み出し、書き込み状態とするためである。
【0015】次に本発明の実施例のハード構成について
図4及び図5を参照しながら述べると、1は中央処理部
であるCPUであり、例えば16ビットのデータバス2
及び16ビットのアドレスバス3に接続されている。C
PU1は命令のオペコードを解読して当該命令の種別や
行数を把握するためのオペコードデコーダ11、命令を
読み込むためにROMに対してアドレスを出力するとき
に命令ロードサイクル信号(LIC[Load Ins
truction Cycle])を出力する出力部1
2、及びDMA命令のオペランドを監視して前記第2の
転送情報コードに基づき読み出し側のデータのアドレス
と書き込み側のデータのアドレスとを同時にアドレスバ
ス3に出力するアドレス制御部13を備えている。
図4及び図5を参照しながら述べると、1は中央処理部
であるCPUであり、例えば16ビットのデータバス2
及び16ビットのアドレスバス3に接続されている。C
PU1は命令のオペコードを解読して当該命令の種別や
行数を把握するためのオペコードデコーダ11、命令を
読み込むためにROMに対してアドレスを出力するとき
に命令ロードサイクル信号(LIC[Load Ins
truction Cycle])を出力する出力部1
2、及びDMA命令のオペランドを監視して前記第2の
転送情報コードに基づき読み出し側のデータのアドレス
と書き込み側のデータのアドレスとを同時にアドレスバ
ス3に出力するアドレス制御部13を備えている。
【0016】前記データバス2及びアドレスバス3に
は、複数のモジュールM1〜M4(図示の例では4個)
が例えば着脱可能に接続されており、これらモジュール
は、ROM、RAM、同期式高速シリアル通信ポート、
非同期式高速シリアル通信ポートなどが相当する。前記
CPU1には、命令ロードサイクル信号出力部12から
の命令ロードサイクル信号をCPU1の外へ出力するた
めの命令ロードサイクル信号線41及び各モジュールM
1〜M4へ読み出し/書き込み(Read/Writ
e)信号を送るための読み出し/書き込み信号(以下
「R/W」と略す)線42が接続されている。
は、複数のモジュールM1〜M4(図示の例では4個)
が例えば着脱可能に接続されており、これらモジュール
は、ROM、RAM、同期式高速シリアル通信ポート、
非同期式高速シリアル通信ポートなどが相当する。前記
CPU1には、命令ロードサイクル信号出力部12から
の命令ロードサイクル信号をCPU1の外へ出力するた
めの命令ロードサイクル信号線41及び各モジュールM
1〜M4へ読み出し/書き込み(Read/Writ
e)信号を送るための読み出し/書き込み信号(以下
「R/W」と略す)線42が接続されている。
【0017】前記各モジュ−ルM1〜M4には図5に示
すように命令監視部5及びデータ記憶部6が設けられて
いる。前記命令監視部5はオペコード監視部51と、転
送元監視部52と、転送先監視部53と、カウンタ54
と、セレクト信号及びR/W信号を出力するロジック回
路と、DMAを行わない通常モード時にモジュールセレ
クト信号(Sct)及びモジュールR/Wを出力するた
めの通常R/W制御部8とを備えている。前記オペコー
ド監視部51は、データバス2の全ビットと命令ロード
サイクル信号線41とを監視し、命令ロードサイクル信
号が出力されかつデータバス2にDMA命令のオペコー
ドに相当するコードが出力されたときに転送元監視部5
2及び転送先監視部52にイネーブル信号を出力すると
共にカウンタ54にカウント指令信号を出力する機能を
有する。
すように命令監視部5及びデータ記憶部6が設けられて
いる。前記命令監視部5はオペコード監視部51と、転
送元監視部52と、転送先監視部53と、カウンタ54
と、セレクト信号及びR/W信号を出力するロジック回
路と、DMAを行わない通常モード時にモジュールセレ
クト信号(Sct)及びモジュールR/Wを出力するた
めの通常R/W制御部8とを備えている。前記オペコー
ド監視部51は、データバス2の全ビットと命令ロード
サイクル信号線41とを監視し、命令ロードサイクル信
号が出力されかつデータバス2にDMA命令のオペコー
ドに相当するコードが出力されたときに転送元監視部5
2及び転送先監視部52にイネーブル信号を出力すると
共にカウンタ54にカウント指令信号を出力する機能を
有する。
【0018】前記転送元監視部52はデータバスの上位
2ビットD15、D14を監視し、この2ビットの組み合わ
せが、先述したDMA命令にて指定された転送元のモジ
ュ−ル番号に対応するものであるときには後段のアンド
回路71に論理「1」の信号を出力する機能を有する。
また前記転送先監視部53は、データバスの上位2ビッ
トD13D12を監視し、この2ビットの組み合わせが、D
MA命令にて指定された転送先のモジュ−ル番号に対応
するものであるときには後段のアンド回路72に論理
「1」の信号を出力する機能を有する。
2ビットD15、D14を監視し、この2ビットの組み合わ
せが、先述したDMA命令にて指定された転送元のモジ
ュ−ル番号に対応するものであるときには後段のアンド
回路71に論理「1」の信号を出力する機能を有する。
また前記転送先監視部53は、データバスの上位2ビッ
トD13D12を監視し、この2ビットの組み合わせが、D
MA命令にて指定された転送先のモジュ−ル番号に対応
するものであるときには後段のアンド回路72に論理
「1」の信号を出力する機能を有する。
【0019】前記カウンタ54は前記カウント指令信号
が入力された後CPU1からのクロックをカウントし
て、オペコードがROMより読み出されてから4サイク
ル目つまりDMA命令の次のサイクル(DMA命令の実
行(転送)サイクル)中に論理「1」の信号を出力する
ように構成されている。前記アンド回路71、72及び
その後段のオア回路73並びにアンド回路(一方の入力
端にノット回路が組み合わされている)74は、自己の
モジュ−ルが転送元であるときには、DMA命令の次の
サイクルにてデータ記憶部6にセレクト信号(Sct)
及び読み出し信号「1」を出力し、また転送先であれば
同様にセレクト信号(Sct)及び書き込み信号「0」
を出力するように組まれたロジック回路である。
が入力された後CPU1からのクロックをカウントし
て、オペコードがROMより読み出されてから4サイク
ル目つまりDMA命令の次のサイクル(DMA命令の実
行(転送)サイクル)中に論理「1」の信号を出力する
ように構成されている。前記アンド回路71、72及び
その後段のオア回路73並びにアンド回路(一方の入力
端にノット回路が組み合わされている)74は、自己の
モジュ−ルが転送元であるときには、DMA命令の次の
サイクルにてデータ記憶部6にセレクト信号(Sct)
及び読み出し信号「1」を出力し、また転送先であれば
同様にセレクト信号(Sct)及び書き込み信号「0」
を出力するように組まれたロジック回路である。
【0020】前記通常R/W制御部8は、カウンタ54
の出力が論理「1」のときにはモジュールR/Wが
「1」で、カウンタ54の出力が論理「0」(通常モー
ド時)のときにはR/W線42の信号をそのままモジュ
ールR/Wとして出力すると共に、アドレスバス2の上
位8ビットA15〜A08が自己のモジュールに固有のコー
ドに対応したコードになったときにモジュールSctを
出力するように構成されている。
の出力が論理「1」のときにはモジュールR/Wが
「1」で、カウンタ54の出力が論理「0」(通常モー
ド時)のときにはR/W線42の信号をそのままモジュ
ールR/Wとして出力すると共に、アドレスバス2の上
位8ビットA15〜A08が自己のモジュールに固有のコー
ドに対応したコードになったときにモジュールSctを
出力するように構成されている。
【0021】前記データ記憶部6は、例えば256バイ
トのメモリよりなり、命令監視部5から読み出し信号及
びセレクト信号が入力されたときに読み出し状態にされ
るとと共に自己のモジュ−ルに固有のコードに対応した
8ビット分の信号とアドレスバス2の上位8ビットA15
〜A08の信号とを取り込み、また命令監視部5から書き
込み信号及びレクト信号が入力されたときに書き込み状
態にされると共に自己のモジュ−ルに固有のコードに対
応した8ビット分の信号とアドレスバス2の下位8ビッ
トA07〜A00の信号とを取り込むように構成されてい
る。
トのメモリよりなり、命令監視部5から読み出し信号及
びセレクト信号が入力されたときに読み出し状態にされ
るとと共に自己のモジュ−ルに固有のコードに対応した
8ビット分の信号とアドレスバス2の上位8ビットA15
〜A08の信号とを取り込み、また命令監視部5から書き
込み信号及びレクト信号が入力されたときに書き込み状
態にされると共に自己のモジュ−ルに固有のコードに対
応した8ビット分の信号とアドレスバス2の下位8ビッ
トA07〜A00の信号とを取り込むように構成されてい
る。
【0022】次に上述実施例の作用について、DMA命
令が図2に示すように構成されている場合を例にとって
説明する。先ず図6に示すようにサイクル1でCPU1
によりアドレス8000、8001のコードがROMか
らデータバス2に読み出される。このときCPU1内の
命令ロードサイクル信号出力部12より命令ロードサイ
クル信号線41に命令ロードサイクル信号が出力され、
データバスにはDMA命令であることのコードが出力さ
れるので各モジュ−ルのオペコード監視部51からは転
送元監視部52及び転送先監視部53にイネーブル信号
が出力されてラッチされると共にカウンタ54にカウン
ト指令を出力してカウントさせる。なお命令ロードサイ
クル信号を監視しているので、他の命令のオペランドに
DMA命令のオペコードと同じコードが出力されても誤
って解読することはない。
令が図2に示すように構成されている場合を例にとって
説明する。先ず図6に示すようにサイクル1でCPU1
によりアドレス8000、8001のコードがROMか
らデータバス2に読み出される。このときCPU1内の
命令ロードサイクル信号出力部12より命令ロードサイ
クル信号線41に命令ロードサイクル信号が出力され、
データバスにはDMA命令であることのコードが出力さ
れるので各モジュ−ルのオペコード監視部51からは転
送元監視部52及び転送先監視部53にイネーブル信号
が出力されてラッチされると共にカウンタ54にカウン
ト指令を出力してカウントさせる。なお命令ロードサイ
クル信号を監視しているので、他の命令のオペランドに
DMA命令のオペコードと同じコードが出力されても誤
って解読することはない。
【0023】続いてサイクル2で8002、8003の
コードがデータバス2に読みだされ、既に詳述したよう
にデータバス2の上位側2ビットD15、D14が「0
1」、次の2ビットD13、D12が「11」であるから
(図3の4段目参照),転送元、転送先のモジュ−ルは
夫々M2、M4である。従ってモジュ−ルM2の転送元
監視部52からは論理「1」の信号が出力されて例えは
当該転送元監視部52内のラッチ回路によりラッチされ
る一方、モジュ−ルM4の転送先監視部53からは論理
「1」の信号が出力されてラッチされる。
コードがデータバス2に読みだされ、既に詳述したよう
にデータバス2の上位側2ビットD15、D14が「0
1」、次の2ビットD13、D12が「11」であるから
(図3の4段目参照),転送元、転送先のモジュ−ルは
夫々M2、M4である。従ってモジュ−ルM2の転送元
監視部52からは論理「1」の信号が出力されて例えは
当該転送元監視部52内のラッチ回路によりラッチされ
る一方、モジュ−ルM4の転送先監視部53からは論理
「1」の信号が出力されてラッチされる。
【0024】そしてCPU1内のアドレス制御部13
は、データバス2の下位4ビットD3〜D0 を解読する
と共に続くサイクル3で読み出された8004、800
5に係るデータバス2のコードを解読し、これにより転
送パターンと、読み出し開始アドレスの下位2桁のコー
ド「00」と、書き込み開始アドレスの下位2行のコー
ド「33」とを認識する。こうしてDMA命令の読み出
しが終った後、サイクル4では、CPU1からアドレス
バスに読み出し開始アドレス「33」及び書き込み開始
アドレス「00」を同時に夫々A15〜A08及びA07〜A
00に出力する。
は、データバス2の下位4ビットD3〜D0 を解読する
と共に続くサイクル3で読み出された8004、800
5に係るデータバス2のコードを解読し、これにより転
送パターンと、読み出し開始アドレスの下位2桁のコー
ド「00」と、書き込み開始アドレスの下位2行のコー
ド「33」とを認識する。こうしてDMA命令の読み出
しが終った後、サイクル4では、CPU1からアドレス
バスに読み出し開始アドレス「33」及び書き込み開始
アドレス「00」を同時に夫々A15〜A08及びA07〜A
00に出力する。
【0025】一方カウンタ54からは4サイクル目に論
理「1」の信号が出力されるので、転送元であるモジュ
−ル2のアンド回路71から論理「1」の信号が出力さ
れ、これがオア回路73を通してセレクト信号になり、
またアンド回路74を通して読み出し信号になってデー
タ記憶部6に入力される。このときR/W線42の信号
は「1」であるが、カウンタ54の出力が「1」である
からモジュールR/Wは「1」である。これによりモジ
ュ−ルM2のデータ記憶部6は読み出し状態とされると
共に、図7の概念図に示すように、当該モジュ−ルM2
に固有の第1コード例えば「20」とアドレスバス3の
上位8ビットからなるコード「00」とを組み合わせ
た、データ記憶領域のアドレスである「2000」とし
てデータ記憶部6内のアドレス選択部に取り込まれる。
理「1」の信号が出力されるので、転送元であるモジュ
−ル2のアンド回路71から論理「1」の信号が出力さ
れ、これがオア回路73を通してセレクト信号になり、
またアンド回路74を通して読み出し信号になってデー
タ記憶部6に入力される。このときR/W線42の信号
は「1」であるが、カウンタ54の出力が「1」である
からモジュールR/Wは「1」である。これによりモジ
ュ−ルM2のデータ記憶部6は読み出し状態とされると
共に、図7の概念図に示すように、当該モジュ−ルM2
に固有の第1コード例えば「20」とアドレスバス3の
上位8ビットからなるコード「00」とを組み合わせ
た、データ記憶領域のアドレスである「2000」とし
てデータ記憶部6内のアドレス選択部に取り込まれる。
【0026】そして転送先であるモジュ−ル4のアンド
回路72から論理「1」の信号が出力され、同様にセレ
クト信号が生成されると共に、アンド回路74の反転入
力端により書き込み信号「0」になってデータ記憶部6
に入力される。これによりモジュ−ルM4のデータ記憶
部6は書き込み状態とされると共に、当該モジュ−ルM
4に固有の第1コード例えば「40」とアドレスバス3
の下位8ビットからなるコード「33」とを組み合わせ
たアドレス「4033」がデータ記憶部6内のアドレス
選択部に取り込まれる。
回路72から論理「1」の信号が出力され、同様にセレ
クト信号が生成されると共に、アンド回路74の反転入
力端により書き込み信号「0」になってデータ記憶部6
に入力される。これによりモジュ−ルM4のデータ記憶
部6は書き込み状態とされると共に、当該モジュ−ルM
4に固有の第1コード例えば「40」とアドレスバス3
の下位8ビットからなるコード「33」とを組み合わせ
たアドレス「4033」がデータ記憶部6内のアドレス
選択部に取り込まれる。
【0027】この結果モジュ−ルM2からのデータ記憶
部6のアドレス「2000]から例えばデータ(100
0)がモジュ−ルM4に直接転送され、データ記憶部6
のアドレス「4033」に書き込まれる。この例の転送
パターンは、読み出し側のアドレスが増加し、書き込み
側のアドレスが減少するので、サイクル5ではアドレス
バス3に「01」と「32」とが出力され、モジュ−ル
M2内のアドレス「2001」からモジュ−ルM4内の
アドレス「4032」にデータ(1001)が直接転送
される。こうして6バイト分のデータが順次転送される
とカウンタ54、転送元監視部52及び転送先監視部5
3がリセットされ、次の命令がROMから読み出され
る。
部6のアドレス「2000]から例えばデータ(100
0)がモジュ−ルM4に直接転送され、データ記憶部6
のアドレス「4033」に書き込まれる。この例の転送
パターンは、読み出し側のアドレスが増加し、書き込み
側のアドレスが減少するので、サイクル5ではアドレス
バス3に「01」と「32」とが出力され、モジュ−ル
M2内のアドレス「2001」からモジュ−ルM4内の
アドレス「4032」にデータ(1001)が直接転送
される。こうして6バイト分のデータが順次転送される
とカウンタ54、転送元監視部52及び転送先監視部5
3がリセットされ、次の命令がROMから読み出され
る。
【0028】上述実施例によれば、各モジュ−ルでオペ
コード及びオペランドを監視し、DMA命令がROMか
ら読み出されたときに、自己のモジュ−ルがデータの転
送元あるいは転送先であるかを判断して、該当するとき
には自己のモジュ−ルをセレクトする一方、CPUが読
み出し側のアドレス及び書き込み側のアドレス(この例
ではモジュ−ルに固有の第1のアドレスコードを除いた
下8ビットからなる第2のアドレスコード)をアドレス
バスに同時に出力し、そしてCPUが本来持っている機
能、つまりデータバスのデータをラッチする機能、アド
レスをドライブする機能、転送バイトを数える機能、及
び読み出し側と書き込み側のアドレスの変化パターンを
設定する機能などを利用してモジュ−ル間でのデータの
直接転送を行っているため、CPUの内部レジスタを用
いた転送パラメータ設定が不要であり、従ってセットア
ップの時間を要しないし、内部レジスタのデータを一時
他のモジュ−ルへ保存してなくて済むので高速なデータ
転送を行うことができる。
コード及びオペランドを監視し、DMA命令がROMか
ら読み出されたときに、自己のモジュ−ルがデータの転
送元あるいは転送先であるかを判断して、該当するとき
には自己のモジュ−ルをセレクトする一方、CPUが読
み出し側のアドレス及び書き込み側のアドレス(この例
ではモジュ−ルに固有の第1のアドレスコードを除いた
下8ビットからなる第2のアドレスコード)をアドレス
バスに同時に出力し、そしてCPUが本来持っている機
能、つまりデータバスのデータをラッチする機能、アド
レスをドライブする機能、転送バイトを数える機能、及
び読み出し側と書き込み側のアドレスの変化パターンを
設定する機能などを利用してモジュ−ル間でのデータの
直接転送を行っているため、CPUの内部レジスタを用
いた転送パラメータ設定が不要であり、従ってセットア
ップの時間を要しないし、内部レジスタのデータを一時
他のモジュ−ルへ保存してなくて済むので高速なデータ
転送を行うことができる。
【0029】また専用のDMAコントローラが不要であ
るため広いシリコンスペースが占有されることがなく、
デバイスのサイズの増大を抑えることができる。そして
1本のLICの信号線を追加し、各モジュ−ル毎に監視
部を追加するだけで対応できるし、モジュ−ルを増設す
る場合には、監視部を備えたモジュ−ルを用意すればよ
いのでパフォーマンスの拡張が容易である。
るため広いシリコンスペースが占有されることがなく、
デバイスのサイズの増大を抑えることができる。そして
1本のLICの信号線を追加し、各モジュ−ル毎に監視
部を追加するだけで対応できるし、モジュ−ルを増設す
る場合には、監視部を備えたモジュ−ルを用意すればよ
いのでパフォーマンスの拡張が容易である。
【0030】以上において読み出し側のアドレス及び書
き込み側のアドレスをアドレスバスに同時に出力する場
合、上述実施例のようにアドレスの第2のアドレスコー
ドのみを出力すれば、モジュ−ルのデータ記憶部内のア
ドレスとアドレスバスとがいずれも例えば16ビットの
場合に有効な手法であるが、本発明では、第1のアドレ
スコード、第2のアドレスコードを合わせたアドレス全
体のコードをバスに出力するようにしてもよい。データ
直接転送時におけるバスの使い方としては、上述実施例
に限定されるものではなく、例えば32ビットのデータ
バスを用いて読み出し側のアドレス及び書き込み側のア
ドレスをデータと共にデータバスに載せるようにしても
よいし、これとは逆にアドレスバスにアドレス及びデー
タを載せるようにしてもよく、これらは適宜設計するこ
とができる。更にDMA命令の読み出しについても例え
ばオペコード及びオペランドを1回のサイクルで同時に
バスに出力させるようにしてもよい。
き込み側のアドレスをアドレスバスに同時に出力する場
合、上述実施例のようにアドレスの第2のアドレスコー
ドのみを出力すれば、モジュ−ルのデータ記憶部内のア
ドレスとアドレスバスとがいずれも例えば16ビットの
場合に有効な手法であるが、本発明では、第1のアドレ
スコード、第2のアドレスコードを合わせたアドレス全
体のコードをバスに出力するようにしてもよい。データ
直接転送時におけるバスの使い方としては、上述実施例
に限定されるものではなく、例えば32ビットのデータ
バスを用いて読み出し側のアドレス及び書き込み側のア
ドレスをデータと共にデータバスに載せるようにしても
よいし、これとは逆にアドレスバスにアドレス及びデー
タを載せるようにしてもよく、これらは適宜設計するこ
とができる。更にDMA命令の読み出しについても例え
ばオペコード及びオペランドを1回のサイクルで同時に
バスに出力させるようにしてもよい。
【0031】
【発明の効果】以上のように本発明によれば、モジュ−
ル間でデータを直接転送する場合に高速に行うことがで
きるという効果がある。
ル間でデータを直接転送する場合に高速に行うことがで
きるという効果がある。
【図1】本発明の実施例で用いられるDMA命令を示す
説明図である。
説明図である。
【図2】DMA命令のオペランドの一部の内容を説明す
る説明図である。
る説明図である。
【図3】DMA命令の具体的な内容を示す説明図であ
る。
る。
【図4】本発明の実施例の全体構成を示すブロック回路
図である。
図である。
【図5】本発明の実施例に係るモジュ−ルの内部を示す
ブロック回路図である。
ブロック回路図である。
【図6】本発明の実施例の作用を説明するために、サイ
クル毎のアドレスバス、データバス、モジュ−ルのセレ
クト信号及びリード/ライト信号を対応づけて示す説明
図である。
クル毎のアドレスバス、データバス、モジュ−ルのセレ
クト信号及びリード/ライト信号を対応づけて示す説明
図である。
【図7】アドレスの取り込みを概念的に示す説明図であ
る。
る。
1 CPU 13 アドレス制御部 2 データバス 3 アドレスバス 41 命令ロードサイクル信号線 42 読み出し/書き込み信号線 5 命令監視部 6 データ記憶部
Claims (3)
- 【請求項1】 各々データ記憶部を備えた複数のモジュ
−ルを信号路を介して中央処理部に接続し、信号路に出
力された命令に基づいて一のモジュ−ルのデータ記憶部
から他のモジュ−ルのデータ記憶部へデータを転送する
データ処理装置において、 命令種別がデータ直接転送命令であることを指定したオ
ペコードと、データの転送元及び転送先の各モジュ−ル
を指定した第1の転送情報コードと、転送すべきデータ
のアドレス情報を指定した第2の転送情報コードとを含
むデータ直接転送命令と、 前記中央処理部における命令の読み出し時に命令ロード
サイクル信号を中央処理部より出力するための命令ロー
ドサイクル信号線と、 各モジュ−ル毎に設けられた命令監視部と、 前記中央処理部に設けられたアドレス制御部と、を備
え、 前記命令監視部は、前記命令ロードサイクル信号線、オ
ペコードが読み出される信号路及び第1の転送情報コー
ドが読み出される信号路を監視し、夫々が命令ロードサ
イクル信号、データ直接転送命令に相当する信号及び自
己のモジュ−ルをデータの転送元として指定した信号で
あるときにはデータの転送サイクル時に自己のモジュ−
ルのデータ記憶部を読み出し状態とし、また夫々が命令
ロードサイクル信号、データ直接転送命令に相当する信
号及び自己のモジュ−ルをデータの転送先として指定し
た信号であるときにはデータの転送サイクル時に自己の
モジュ−ルのデータ記憶部を書き込み状態とするよう構
成され、 前記アドレス制御部は、前記第2の転送情報コードに基
づいてデータの転送サイクル時に読み出し側のデータの
アドレスと書き込み側のデータのアドレスとを同時に、
予め割り当てられた信号路に夫々出力するように構成さ
れていることを特徴とするデータ処理装置。 - 【請求項2】 第2の転送情報コードは、読み出し開始
アドレス及び書き込み開始アドレスと、転送すべきデー
タの数と、読み出し側及び書き込み側のアドレスの変化
パターンとを含むものであることを特徴とする請求項1
記載のデータ処理装置。 - 【請求項3】 データ記憶部のデータのアドレスは各モ
ジュ−ルに固有の第1のアドレスコードと、各データ記
憶領域に割り当てられた第2のアドレスコードとの組み
合わせよりなり、データの転送サイクル時に、信号路に
同時に出力される読み出し側のデータのアドレス及び書
き込み側のデータのアドレスは前記第2のアドレスコー
ドであり、モジュ−ル内で第1のアドレスコードと第2
のアドレスコードとが組み合わされてデータ記憶部のデ
ータのアドレスが指定されることを特徴とする請求項1
または請求項2記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11454494A JPH07302239A (ja) | 1994-04-28 | 1994-04-28 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11454494A JPH07302239A (ja) | 1994-04-28 | 1994-04-28 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07302239A true JPH07302239A (ja) | 1995-11-14 |
Family
ID=14640441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11454494A Pending JPH07302239A (ja) | 1994-04-28 | 1994-04-28 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07302239A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11205357A (ja) * | 1998-01-14 | 1999-07-30 | Sharp Corp | 複数個の機器を含むシステムにおけるデータ転送方法、データ転送システム、転送機器指定装置、ネットワーク機器の遠隔制御装置および情報機器 |
-
1994
- 1994-04-28 JP JP11454494A patent/JPH07302239A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11205357A (ja) * | 1998-01-14 | 1999-07-30 | Sharp Corp | 複数個の機器を含むシステムにおけるデータ転送方法、データ転送システム、転送機器指定装置、ネットワーク機器の遠隔制御装置および情報機器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4514808A (en) | Data transfer system for a data processing system provided with direct memory access units | |
US5047922A (en) | Virtual I/O | |
JP3612186B2 (ja) | データ処理装置 | |
EP0036185B1 (en) | Information processing system incorporating 1-chip arithmetic control unit of very large scale integrated semiconductor element | |
JPS62206658A (ja) | 記憶管理装置 | |
JP2845433B2 (ja) | 集積回路装置 | |
JPH1083303A (ja) | コプロセッサを使用するための電子回路及び方法 | |
CN101313290A (zh) | 对仅m×n位外围设备执行n位写入访问 | |
US5317750A (en) | Microcontroller peripheral expansion bus for access to internal special function registers | |
US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
US6883041B2 (en) | Direct memory access device | |
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
JPH07302239A (ja) | データ処理装置 | |
JPS59114677A (ja) | ベクトル処理装置 | |
US4866608A (en) | Microprocessor with improved execution of instructions | |
JPH0634241B2 (ja) | 情報処理装置 | |
JPH0646413B2 (ja) | デ−タ処理プロセッサ | |
JP2006515446A (ja) | 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム | |
JPS6339945B2 (ja) | ||
JP2003173327A (ja) | 半導体集積回路 | |
JPS603049A (ja) | バスインタ−フエ−ス装置 | |
JPS5838437Y2 (ja) | プログラム計算機の表示制御装置 | |
JPH05324539A (ja) | 半導体装置 | |
JPS62166463A (ja) | デ−タ転送方式 | |
JPH0752416B2 (ja) | マイクロコンピユ−タ・システム |