JPH02127751A - ミスアラインメント処理回路 - Google Patents
ミスアラインメント処理回路Info
- Publication number
- JPH02127751A JPH02127751A JP28112188A JP28112188A JPH02127751A JP H02127751 A JPH02127751 A JP H02127751A JP 28112188 A JP28112188 A JP 28112188A JP 28112188 A JP28112188 A JP 28112188A JP H02127751 A JPH02127751 A JP H02127751A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data transfer
- counter
- byte
- misalignment
- 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
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈産業上の利用分野〉
本発明は、汎用のダイレクト・メモリ・アクセス・コン
トローラDMACを用いた際に発生するミスアラインメ
ント(Misalignment ;転送データ幅の不
整合)を調整するミスアラインメント処理回路に関する
ものである。
トローラDMACを用いた際に発生するミスアラインメ
ント(Misalignment ;転送データ幅の不
整合)を調整するミスアラインメント処理回路に関する
ものである。
〈従来の技術〉
はじめに、DMACを用いて32ビット・データをL)
MA転送する際の概念を第5図に示し、説明する。
MA転送する際の概念を第5図に示し、説明する。
この図で、32ビット・データ・バス■)13について
、転送するデータは4バイト単位(8ビットX4)で構
成され、それぞれのデータについてアドレス(4n十0
.4n+1.4n+2.4n+3):n=0.1,2.
・・・)がMSB側からLSB側に向かって対応してい
る。
、転送するデータは4バイト単位(8ビットX4)で構
成され、それぞれのデータについてアドレス(4n十0
.4n+1.4n+2.4n+3):n=0.1,2.
・・・)がMSB側からLSB側に向かって対応してい
る。
そして、DMACはデータ転送を開始すると、各々のデ
ータに対応してデータ・ストローブ信号DSO,DSI
、DS2.DS3を同時にアサートし、32ビット・デ
ータ(4バイト・データ)の1) M Aデータ転送を
実現している。
ータに対応してデータ・ストローブ信号DSO,DSI
、DS2.DS3を同時にアサートし、32ビット・デ
ータ(4バイト・データ)の1) M Aデータ転送を
実現している。
〈発明が解決しようとする課題〉
ところで、第6図に示すような場合、即ち32ビット・
データ・バスDBを用いてアドレス4n+2から4n+
10までのデータ(斜線で示した部分;9バイト)をD
MA転送する要求が発生することがたびたびある。
データ・バスDBを用いてアドレス4n+2から4n+
10までのデータ(斜線で示した部分;9バイト)をD
MA転送する要求が発生することがたびたびある。
このDMA転送は、3サイクルで行われ、1サイクル目
はアドレス4n+0〜4n+3のデータについてデータ
・ストローブ信号DSO〜DS3が出力され、2サイク
ル目はアドレス4n+4〜4n+7のデータについてデ
ータ・ストローブ信号DSO〜DS3が出力され、3サ
イクル目にアドレス4n+8〜4n+11のデータにつ
いてデータ・ストローブ信号DSO〜DS3が出力され
る。
はアドレス4n+0〜4n+3のデータについてデータ
・ストローブ信号DSO〜DS3が出力され、2サイク
ル目はアドレス4n+4〜4n+7のデータについてデ
ータ・ストローブ信号DSO〜DS3が出力され、3サ
イクル目にアドレス4n+8〜4n+11のデータにつ
いてデータ・ストローブ信号DSO〜DS3が出力され
る。
この結果、得られたデータはアドレス4n+0〜4n+
11までの12バイト・データであり、1サイクル目の
アドレス4n+0.4n+1と、3サイクル目のアドレ
ス4n+11のデータについてミスアラインメントが発
生ずる。
11までの12バイト・データであり、1サイクル目の
アドレス4n+0.4n+1と、3サイクル目のアドレ
ス4n+11のデータについてミスアラインメントが発
生ずる。
従来は、このミスアラインメントをソフトウェアで処理
していたが、このソフトウェア処理は繁雑であった。
していたが、このソフトウェア処理は繁雑であった。
本発明はこのようなミスアラインメントを除去すること
を課題とし、常に所望のDMAデータ転送が可能である
ミスアラインメント処理回路をハードウェアで実現する
ことを目的とする。
を課題とし、常に所望のDMAデータ転送が可能である
ミスアラインメント処理回路をハードウェアで実現する
ことを目的とする。
く課題を解決するための手段〉
以上の課題を解決するため、本発明は、データ転送幅、
データ転送開始アドレス、データ転送バイト数を検出し
、これらの値よりデータ・ストローブ信号を制御するも
のであり、その具体的な構成は次の通りである。
データ転送開始アドレス、データ転送バイト数を検出し
、これらの値よりデータ・ストローブ信号を制御するも
のであり、その具体的な構成は次の通りである。
即ち、本発明は、汎用ダイレクト・メモリ・アクセス制
御回路に付加されて転送データのミスアラインメント処
理をするミスアラインメント処理回路であって、データ
転送開始アドレスが設定されるアドレス・カウンタと、
データ転送バイト数の補数値が設定されるバイト・カウ
ンタと、データ転送幅を保持するデータ転送幅レジスタ
と、前記データ転送幅と前記アドレス・カウンタ内の下
位2ビットと前記バイト・カウンタより得られる転送残
りバイト数値とよりアクティブとするデータ・ストロー
ブ信号を決定する信号生成部と、この°信号生成部の出
力値に従って前記アドレス・カウンタと前記バイト・カ
ウンタを加算するカウント数発生1部と、前記信号生成
部で決定したデータ・ストローブ信号によりデータ・バ
スを制御するバス・コントローラとを有することを特徴
とするミスアラインメント処理回路である。
御回路に付加されて転送データのミスアラインメント処
理をするミスアラインメント処理回路であって、データ
転送開始アドレスが設定されるアドレス・カウンタと、
データ転送バイト数の補数値が設定されるバイト・カウ
ンタと、データ転送幅を保持するデータ転送幅レジスタ
と、前記データ転送幅と前記アドレス・カウンタ内の下
位2ビットと前記バイト・カウンタより得られる転送残
りバイト数値とよりアクティブとするデータ・ストロー
ブ信号を決定する信号生成部と、この°信号生成部の出
力値に従って前記アドレス・カウンタと前記バイト・カ
ウンタを加算するカウント数発生1部と、前記信号生成
部で決定したデータ・ストローブ信号によりデータ・バ
スを制御するバス・コントローラとを有することを特徴
とするミスアラインメント処理回路である。
く作 用〉
本発明のミスアラインメント処理回路は次のように動作
する。
する。
データ転送幅、データ転送開始アドレスの下位2ビット
、転送データの残りバイト数より順次室められる論理構
成に従ってこのサイクルにて出力すべきデータ・ストロ
ーブ信号を決定し、更にアドレス・カウンタとバイト・
カウンタに前記論理構成により定められる値を加算し、
次のサイクルを同様に繰り返す。
、転送データの残りバイト数より順次室められる論理構
成に従ってこのサイクルにて出力すべきデータ・ストロ
ーブ信号を決定し、更にアドレス・カウンタとバイト・
カウンタに前記論理構成により定められる値を加算し、
次のサイクルを同様に繰り返す。
〈実施例〉
第1図に本発明を実施したミスアラインメント処理回路
の構成ブロック図を表わす。
の構成ブロック図を表わす。
この図において、Bはバス、1はDMA転送するデータ
幅(32ビット、16ビット、8ビット)が設定される
データ転送幅レジスタ、2はデータ転送開始アドレスが
設定されるアドレス・カウンタ、3はデータ転送バイト
数の補数値(2”sコンブリメント)が設定されるバイ
ト・カウンタ、4はDMA転送する残りバイト数が逐次
設定される残りバイト数検出部、5はデータ転送幅とア
ドレス・カウンタ2と残りバイト数検出部4からのビッ
ト情報によりバスBにアサートするデータ・ストローブ
信号(DSO,DSL、DS2.DS3)を決定する信
号生成部、6は信号生成部5のデータ・ストローブ信号
をバスBに与えるバス・コントローラ、7はアドレス・
カウンタ2とバイト・カウンタ3を加算する値(4,3
,2,1)を決定するカウント数発生部である。
幅(32ビット、16ビット、8ビット)が設定される
データ転送幅レジスタ、2はデータ転送開始アドレスが
設定されるアドレス・カウンタ、3はデータ転送バイト
数の補数値(2”sコンブリメント)が設定されるバイ
ト・カウンタ、4はDMA転送する残りバイト数が逐次
設定される残りバイト数検出部、5はデータ転送幅とア
ドレス・カウンタ2と残りバイト数検出部4からのビッ
ト情報によりバスBにアサートするデータ・ストローブ
信号(DSO,DSL、DS2.DS3)を決定する信
号生成部、6は信号生成部5のデータ・ストローブ信号
をバスBに与えるバス・コントローラ、7はアドレス・
カウンタ2とバイト・カウンタ3を加算する値(4,3
,2,1)を決定するカウント数発生部である。
ここで、以上説明した本発明回路の各構成要素である、
データ転送幅レジスタ1、アドレス・カウンタ2、バイ
ト・カウンタ3、残りバイト数検出部4、信号生成部5
、カウント数発生部7は、第2図または第3図または第
4図に示すような論理構成を備えるシーケンサによって
実現される。
データ転送幅レジスタ1、アドレス・カウンタ2、バイ
ト・カウンタ3、残りバイト数検出部4、信号生成部5
、カウント数発生部7は、第2図または第3図または第
4図に示すような論理構成を備えるシーケンサによって
実現される。
第2図はデータ転送幅が32ビットの時の本発明回路の
論理構成であり、第3図はデータ転送幅が16ビット、
第4図はデータ転送幅が8ビットの時の論理構成である
。
論理構成であり、第3図はデータ転送幅が16ビット、
第4図はデータ転送幅が8ビットの時の論理構成である
。
さて、このように構成された本発明回路Q動作を、バス
Bが32ビットの場合即ち、第2図の論理構成を備える
場合について説明する。
Bが32ビットの場合即ち、第2図の論理構成を備える
場合について説明する。
また、DMA転送するデータは、第6図に示したような
転送開始アドレスが4n+2、転送バイト数が9バイト
とする。
転送開始アドレスが4n+2、転送バイト数が9バイト
とする。
DMA転送開始が指定されると、データ転送開始アドレ
ス(4n+2;32ビット)はアドレス・カウンタ2に
設定され、データ転送バイト数“9″の補数値(−9;
9″の2−sコンブリメント)がバイト・カウンタ3に
設定される。このとき、アドレス・カウンタ2内の値を
AC、バイト・カウンタ3内の値をBCとする。
ス(4n+2;32ビット)はアドレス・カウンタ2に
設定され、データ転送バイト数“9″の補数値(−9;
9″の2−sコンブリメント)がバイト・カウンタ3に
設定される。このとき、アドレス・カウンタ2内の値を
AC、バイト・カウンタ3内の値をBCとする。
更に、データ転送幅レジスタ11にはデータ転送幅32
ビットが設定されて信号生成部5はこれを読み出し、ま
た信号生成部5にはアドレス・カウンタ2に設定される
32ビット・アドレスの下位2ピッl−(AC<1 :
O>)と、残りバイト数検出部4に設定される値(転
送残りバイト数:LAST<4.3,2.1>)が与え
られる。
ビットが設定されて信号生成部5はこれを読み出し、ま
た信号生成部5にはアドレス・カウンタ2に設定される
32ビット・アドレスの下位2ピッl−(AC<1 :
O>)と、残りバイト数検出部4に設定される値(転
送残りバイト数:LAST<4.3,2.1>)が与え
られる。
以上より、この回路に設定された初期条件は、AC=4
n+2.BC=−9 である。
n+2.BC=−9 である。
1サイクル目、AC=4n+2でその下位2ビットAC
<1 : O>は“1.0″かつBD=−9(転送残り
バイト数LAST<4.3,2.1>=9)であるので
、信号生成部5は第2図の論理構成■に従ってアクティ
ブとするデータ・ストローブ信号を決定し、バス・コン
トローラ6はデータ・ストローブ信号DS2.DS3を
“L″ (アクティブ)とする、これによって、データ
・バスDB上にはアドレス4n+2.4n+3に対応す
るデータのみが有効とされる。そして、信号生成部5の
出力により、カウント数発生部7から“2″が出力され
てアドレス・カウンタ2内の値AC及びバイト・カウン
タ3内の値BCは+2加算される。
<1 : O>は“1.0″かつBD=−9(転送残り
バイト数LAST<4.3,2.1>=9)であるので
、信号生成部5は第2図の論理構成■に従ってアクティ
ブとするデータ・ストローブ信号を決定し、バス・コン
トローラ6はデータ・ストローブ信号DS2.DS3を
“L″ (アクティブ)とする、これによって、データ
・バスDB上にはアドレス4n+2.4n+3に対応す
るデータのみが有効とされる。そして、信号生成部5の
出力により、カウント数発生部7から“2″が出力され
てアドレス・カウンタ2内の値AC及びバイト・カウン
タ3内の値BCは+2加算される。
即ち、
AC= (4n+2)+2=4n+4゜BC=−9+2
=−7 である。
=−7 である。
2サイクル目、AC=4n+4こAC<1 : 0〉=
“0.0”かつBC=−7(転送残りバイト数LAST
<4.3,2.1>=7)であるので、信号生成部5は
、第2図の論理構成■に従ってアクティブとするデータ
・ストローブ信号を決定し、バス・コントローラ6はデ
ータ・ストローブ信号DSO,DSI、DS2.DS3
を”L″ (アクティブ)とする、これによって、バス
B上にはアドレス4n+4.4n+5.4n+6.4n
+7に対応するデータが有効とされる。そして、信号生
成部5の出力により、カウント数発生部7から“4′が
出力されてアドレス・カウンタ2内の値AC及びバイト
・カウンタ3内の値BCは+4加算される。
“0.0”かつBC=−7(転送残りバイト数LAST
<4.3,2.1>=7)であるので、信号生成部5は
、第2図の論理構成■に従ってアクティブとするデータ
・ストローブ信号を決定し、バス・コントローラ6はデ
ータ・ストローブ信号DSO,DSI、DS2.DS3
を”L″ (アクティブ)とする、これによって、バス
B上にはアドレス4n+4.4n+5.4n+6.4n
+7に対応するデータが有効とされる。そして、信号生
成部5の出力により、カウント数発生部7から“4′が
出力されてアドレス・カウンタ2内の値AC及びバイト
・カウンタ3内の値BCは+4加算される。
2サイクル目は転送残りバイト数は3であり、残りバイ
ト数検出部4はこの値“3”を信号生成部に送出する。
ト数検出部4はこの値“3”を信号生成部に送出する。
即ち、
AC= (4n+4) +4=4n+8゜BC=−7+
4=−3 である。
4=−3 である。
3サイクル目、AC=4 n+8、AC<1 : 0〉
=“o、o”かつBC=−3(転送残りバイト数LAS
’r<4.3.2.1>=3)であるので、信号生成部
5は第2図の論理構成■に従ってアクティブとするデー
タ・ストローブ信号を決定し、バス・コントローラ6は
データ・ストローブ信号DSO,DSI、DS2を“L
″(アクティブ)とする、そして、信号生成部5の出力
により、カウント数発生部7から“2”が出力されてア
ドレス・カウンタ2内の値AC及びバイト・カウンタ3
内の#iocは+2加算される。
=“o、o”かつBC=−3(転送残りバイト数LAS
’r<4.3.2.1>=3)であるので、信号生成部
5は第2図の論理構成■に従ってアクティブとするデー
タ・ストローブ信号を決定し、バス・コントローラ6は
データ・ストローブ信号DSO,DSI、DS2を“L
″(アクティブ)とする、そして、信号生成部5の出力
により、カウント数発生部7から“2”が出力されてア
ドレス・カウンタ2内の値AC及びバイト・カウンタ3
内の#iocは+2加算される。
3サイクル目は、残りバイト数検出部3の出力値は“0
′である。
′である。
これによって、9バイト・データ全てが転送されてDM
Aデータ転送は完了となる。
Aデータ転送は完了となる。
以上は、データ・バスDBが32ビット構成の場合であ
り、データ・バスDBが16と・ットの場合は第3図に
示す論理構成に従い、データ・バス1) Bが8ビット
の場合は第4図に示す論理構成に従う。
り、データ・バスDBが16と・ットの場合は第3図に
示す論理構成に従い、データ・バス1) Bが8ビット
の場合は第4図に示す論理構成に従う。
第3図、第4図において、AC<1 : O>に示す値
Xは“0”、“1”どちらでも良いことを表わす。
Xは“0”、“1”どちらでも良いことを表わす。
このようにして、本発明回路によれば、ミスアラインメ
ントを確実に処理できる。
ントを確実に処理できる。
〈発明の効果〉
以上述べたように、本発明のミスアラインメント処理回
路は、データ転送幅、データ転送開始アドレス、データ
転送バイト数を抽出してハードウェア的にミスアライン
メント処理を行うことができ、データ・ミスアラインメ
ントに対するソフトウェア処理が不必要になる。
路は、データ転送幅、データ転送開始アドレス、データ
転送バイト数を抽出してハードウェア的にミスアライン
メント処理を行うことができ、データ・ミスアラインメ
ントに対するソフトウェア処理が不必要になる。
第1図は本発明を実施したミスアラインメント処理回路
の構成ブロック図、第2.3.4図はデータ・バス幅が
異なる場合に本発明回路に設定されるそれぞれの論理構
成を表わす図、第5.6図は32ビット幅でDMA転送
をする際の概念図である。 1・・・データ転送幅レジスタ、2・・・アドレス・カ
ウンタ、3・・・バイト・カウンタ、4・・・残りバイ
ト数検出部、5・・・信号生成部、6・・・バス・コン
トローラ、7・・・カウント数発生部、B・・・バス。 1ゝt〆几 第 図 第 図
の構成ブロック図、第2.3.4図はデータ・バス幅が
異なる場合に本発明回路に設定されるそれぞれの論理構
成を表わす図、第5.6図は32ビット幅でDMA転送
をする際の概念図である。 1・・・データ転送幅レジスタ、2・・・アドレス・カ
ウンタ、3・・・バイト・カウンタ、4・・・残りバイ
ト数検出部、5・・・信号生成部、6・・・バス・コン
トローラ、7・・・カウント数発生部、B・・・バス。 1ゝt〆几 第 図 第 図
Claims (1)
- (1)汎用ダイレクト・メモリ・アクセス制御回路に付
加されて転送データのミスアラインメント処理をするミ
スアラインメント処理回路であって、データ転送開始ア
ドレスが設定されるアドレス・カウンタと、データ転送
バイト数の補数値が設定されるバイト・カウンタと、デ
ータ転送幅を保持するデータ転送幅レジスタと、前記デ
ータ転送幅と前記アドレス・カウンタ内の下位2ビット
と前記バイト・カウンタより得られる転送残りバイト数
値とよりアクティブとするデータ・ストローブ信号を決
定する信号生成部と、この信号生成部の出力値に従つて
前記アドレス・カウンタと前記バイト・カウンタを加算
するカウント数発生部と、前記信号生成部で決定したデ
ータ・ストローブ信号によりデータ・バスを制御するバ
ス・コントローラとを有することを特徴とするミスアラ
インメント処理回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28112188A JPH02127751A (ja) | 1988-11-07 | 1988-11-07 | ミスアラインメント処理回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28112188A JPH02127751A (ja) | 1988-11-07 | 1988-11-07 | ミスアラインメント処理回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02127751A true JPH02127751A (ja) | 1990-05-16 |
Family
ID=17634653
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28112188A Pending JPH02127751A (ja) | 1988-11-07 | 1988-11-07 | ミスアラインメント処理回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02127751A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR970705076A (ko) * | 1995-05-26 | 1997-09-06 | 존 엠. 클락3세 | 메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 장치 및 방법(Apparatus and Method for Efficiently Determining Addresses for Misaligned Data Stored in Memory) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59212939A (ja) * | 1983-05-18 | 1984-12-01 | Nec Corp | Dmaコントロ−ラ |
-
1988
- 1988-11-07 JP JP28112188A patent/JPH02127751A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59212939A (ja) * | 1983-05-18 | 1984-12-01 | Nec Corp | Dmaコントロ−ラ |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR970705076A (ko) * | 1995-05-26 | 1997-09-06 | 존 엠. 클락3세 | 메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 장치 및 방법(Apparatus and Method for Efficiently Determining Addresses for Misaligned Data Stored in Memory) |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02127751A (ja) | ミスアラインメント処理回路 | |
| JPH0831033B2 (ja) | データ処理装置 | |
| JPS62252584A (ja) | デイスクユニツト制御装置 | |
| JPH0267665A (ja) | インタフェイス回路 | |
| JPH02299345A (ja) | 回線アドレス走査回路 | |
| JPH0553920A (ja) | 構造化アドレス生成装置 | |
| JP2792141B2 (ja) | ミスアラインメント制御装置 | |
| JP2726127B2 (ja) | 共有メモリアクセス制御回路 | |
| JPH0683618A (ja) | フラグ制御回路 | |
| JPS62221059A (ja) | 中央処理装置 | |
| JPS61294581A (ja) | メモリアクセス制御装置 | |
| JP2847741B2 (ja) | マイクロコンピュータ | |
| JPH0535472A (ja) | マイクロコンピユータ | |
| JP2599805B2 (ja) | Dmaコントローラ | |
| JP2566139B2 (ja) | バスインタフエ−ス回路 | |
| JPS63181030A (ja) | 特定デ−タパタ−ンにおける演算高速化システム | |
| JPH01316826A (ja) | レジスタファイルアドレス回路 | |
| JPH04112251A (ja) | マイクロコンピュータ | |
| JPS61198351A (ja) | ダイレクト・メモリ・アクセス制御回路 | |
| JPS6393006A (ja) | シ−ケンス演算制御装置 | |
| JPH03158942A (ja) | マイクロコンピュータシステム | |
| JPH01276241A (ja) | 多重割り込み装置 | |
| JPS61112272A (ja) | マイクロコンピユ−タ応用装置 | |
| JPS61236094A (ja) | 直列デ−タ入力メモリ | |
| JPS62106555A (ja) | デ−タ処理装置 |