JPH0573406A - Non-alignment data transfer device - Google Patents
Non-alignment data transfer deviceInfo
- Publication number
- JPH0573406A JPH0573406A JP23667191A JP23667191A JPH0573406A JP H0573406 A JPH0573406 A JP H0573406A JP 23667191 A JP23667191 A JP 23667191A JP 23667191 A JP23667191 A JP 23667191A JP H0573406 A JPH0573406 A JP H0573406A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- unit
- memory
- addresses
- 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
- 230000015654 memory Effects 0.000 claims abstract description 64
- 238000010586 diagram Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はいわゆる非整列データの
転送を、特に1回のデータ転送で完了する装置に関す
る。なお以下各図において同一の符号は同一もしくは相
当部分を示す。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a device for completing transfer of so-called unaligned data, particularly in one data transfer. In the following figures, the same reference numerals indicate the same or corresponding parts.
【0002】[0002]
【従来の技術】図2は非整列データのデータ転送の対象
となるメモリの構成例を示す。この例ではデータバス,
アドレスバスのビット幅は何れも32ビットとする。同
図において#0,#1,…と順番が付された領域DUは
夫々8ビットの単位データ領域であり、この単位データ
領域DUはこの図の例のように横方向に4バイト(32
ビット)連なり、かつこの4バイト領域が縦方向に積重
なっているものと見做すことができる。そして横方向に
4バイト連なった領域が32ビットのデータバスに一回
に転送されるデータ領域となる。2. Description of the Related Art FIG. 2 shows an example of the configuration of a memory which is the object of data transfer of unaligned data. In this example, the data bus,
The bit width of each address bus is 32 bits. In the figure, the areas DU numbered as # 0, # 1, ... Are 8-bit unit data areas, and the unit data area DU is 4 bytes (32 bytes) in the horizontal direction as in the example of this figure.
It can be considered that these 4 byte areas are stacked in the vertical direction. An area in which 4 bytes are continuously arranged in the horizontal direction becomes a data area which is transferred to the 32-bit data bus at one time.
【0003】各単位データ領域DUの先頭部には同図の
#0,#1,#2,…の順に32ビットのアドレスが順
次割付けられている。このアドレスビットに先頭部から
A31〜A0の符号を付すものとすると、横(水平)方
向に並ぶ4バイトの各単位データ領域DU(の先頭部)
は末尾2個のアドレスビットA1,A0で順次指定する
ことができ、また縦(垂直)方向に積重なる4バイト領
域は上位30個のアドレスビットA31〜A2で順次指
定することができる。ここで便宜上、アドレスビットA
1,A0からなるアドレスをXアドレス,同じくアドレ
スビットA31〜A2からなるアドレスをYアドレスと
呼ぶ。またYアドレスが同じ(横一列の)4バイト領域
の末尾のアドレスを便宜上4バイト境界または一般的に
Yアドレス境界と呼ぶ。At the beginning of each unit data area DU, 32-bit addresses are sequentially allocated in the order of # 0, # 1, # 2, ... Assuming that the address bits are given the symbols A31 to A0 from the beginning, the 4-byte unit data areas DU arranged in the horizontal direction (the beginning)
Can be sequentially specified by the last two address bits A1 and A0, and the 4-byte area that is vertically (vertically) stacked can be sequentially specified by the upper 30 address bits A31 to A2. Here, for convenience, the address bit A
An address composed of 1, A0 is called an X address, and an address composed of address bits A31 and A2 is called a Y address. Further, an end address of a 4-byte area having the same Y address (in one horizontal row) is called a 4-byte boundary or generally a Y address boundary for convenience.
【0004】図2のメモリに格納されるデータは1バイ
ト分ないし4バイト分の可変長のデータからなり、この
データは図2の単位データ領域DUの番号#0,#1,
…の順にこのメモリに順次読込まれる。このようにメモ
リに格納される可変バイト長のデータ領域はその先頭ア
ドレスA31〜A0とこれに続く2ビットのバイトサイ
ズSiz1,Siz0で領域指定される。図3はこの例にお
けるバイトサイズSiz1,Siz0の値とバイトサイズ
(但し図3ではビット数で表わしている)との関係を示
す。ところで図2の太い黒枠の#6〜#9の単位データ
領域DUからなるデータ(符号をDIRとする)は先頭
アドレスとしてA31…A0=0…0110(つまりX
アドレスA1,A0=1,0、YアドレスA31…A2
=0…01)またこれに続くバイトサイズとしてSiz
1,Siz0=0,0(つまり4バイト長)で領域指定さ
れたデータである。このデータDIRの先頭側2バイト
分(#6,#7の領域)はYアドレスA31…A2=0
…01にあるが末尾側の2バイト分(#8,#9の領
域)は次の隣接のYアドレスA31…A2=0…10に
ある。このようにメモリのYアドレスが異なる(2つ
の)領域に跨って格納されるデータを非整列データとい
う。The data stored in the memory of FIG. 2 consists of variable length data of 1 byte to 4 bytes, and this data is number # 0, # 1, of the unit data area DU of FIG.
The order of ... Is read into this memory. In this way, the variable byte length data area stored in the memory is designated by the head addresses A31 to A0 and the subsequent 2-bit byte sizes Siz1 and Siz0. FIG. 3 shows the relationship between the values of the byte sizes Siz1 and Siz0 and the byte size (represented by the number of bits in FIG. 3) in this example. By the way, the data (the code is DIR) including the unit data areas DU of thick black frames # 6 to # 9 in FIG. 2 has A31 ... A0 = 0 ... 0110 (that is, X) as the start address.
Address A1, A0 = 1, 0, Y address A31 ... A2
= 0 ... 01) Also, as the byte size following this, Siz
The data is the area specified by 1, Siz0 = 0, 0 (that is, 4 bytes long). The head side 2 bytes of this data DIR (areas # 6 and # 7) have Y addresses A31 ... A2 = 0.
.. 01, but the last 2 bytes (areas # 8 and # 9) are at the next adjacent Y addresses A31 ... A2 = 0. The data stored over the two (two) regions having different Y addresses in the memory is called unaligned data.
【0005】従来、データ転送の起動元としてのバスマ
スタが上述のような非整列データDIRの転送を行う場
合には、この非整列データの前述の領域指定に基づいて
2回のデータ転送を行っていた。すなわち第1回目のデ
ータ転送においてバスマスタはアクセス対象データの先
頭アドレスA31〜A0を出力し、その先頭アドレスと
同じYアドレスの4バイト領域(図2の例では#4〜#
7の単位データ領域DUの、つまり当該データDIRに
ついてはその先頭部からYアドレス境界までの#6,#
7の単位データ領域DUの)データ転送を実行する。続
いてバスマスタは第2回目のデータ転送として4バイト
境界を越えた位置のアドレスを出力し、次のYアドレス
の4バイト領域(図2の例では#8〜#11の単位デー
タ領域DUの、つまり当該データDIRについては残り
の(#8,#9の単位データ領域DUの)データ転送を
実行する。Conventionally, when a bus master as a data transfer activation source transfers the unaligned data DIR as described above, the data transfer is performed twice based on the above-described area designation of the unaligned data. It was That is, in the first data transfer, the bus master outputs the start addresses A31 to A0 of the access target data, and the 4-byte area of the same Y address as the start address (# 4 to # in the example of FIG. 2).
7 unit data area DU, that is, # 6, # from the beginning to the Y address boundary for the data DIR.
Data transfer (of unit data area DU of 7) is executed. Subsequently, the bus master outputs the address at a position beyond the 4-byte boundary as the second data transfer, and the 4-byte area of the next Y address (in the example of FIG. 2, the unit data area DU of # 8 to # 11, That is, the remaining data transfer (of the unit data areas DU of # 8 and # 9) is executed for the data DIR.
【0006】[0006]
【発明が解決しようとする課題】このように従来の非整
列データ転送方法ではバスマスタからバススレーブに対
する複数回のデータ転送を必要とし、Yアドレス境界を
跨がないデータ転送と比較してアクセス時間が大きくな
る。またデータの配置を変化させると非整列データ転送
回数が変化し、その結果同一システムのデータ転送性能
が変化してしまうという問題があった。そこで本発明は
非整列データの転送を1回で実行することができる非整
列データ転送装置を提供することを課題とする。As described above, the conventional unaligned data transfer method requires a plurality of data transfers from the bus master to the bus slave, and the access time is longer than that of the data transfer not crossing the Y address boundary. growing. In addition, when the data arrangement is changed, the number of non-aligned data transfers changes, resulting in a change in the data transfer performance of the same system. Therefore, it is an object of the present invention to provide a non-aligned data transfer device capable of transferring non-aligned data at one time.
【0007】[0007]
【課題を解決するための手段】前記の課題を解決するた
めに、請求項1の非整列データ転送装置はデータバスを
構成する共通の単位幅(8ビットなど)の複数(4個な
ど)の単位データバス(30〜33など)に夫々接続さ
れた同構造の単位メモリ(20〜23など)からなるメ
モリ群であって、このメモリ群の単位メモリ中の各デー
タ領域(単位データ領域DUなど)を指定するアドレス
(A31〜A0など、以下群アドレスという)の下位ア
ドレス(XアドレスA1,A0など)を前記単位メモリ
に順次割付け、前記群アドレスの前記下位アドレスに続
く上位アドレス(YアドレスA31〜A2など)を前記
単位メモリ同志共通にこの単位メモリのアドレス(以下
単位アドレスという)に順次割付けてなるメモリ群との
間で、前記データバスの幅(32ビットなど)以下の長
さであって、前記単位データバスの整数倍の長さを持つ
被転送データを、当該の被転送データの先頭位置を示す
前記群アドレス(以下先頭アドレスという)と、この被
転送データのデータ長(バイトサイズSiz1,Siz0な
ど)とを指定して転送する装置において、前記先頭アド
レス中の前記下位アドレスと前記被転送データのデータ
長とを(バイト指定バス7などを介して)入力し、当該
の被転送データが前記メモリ群を構成する単位メモリの
前記単位アドレスの隣接2領域に跨って転送される非整
列データ(DIRなど)であるか否かを判別し、該非整
列データと判別したときは、この被転送データの先頭部
と同一の前記単位アドレスをこの被転送データの先頭側
の転送先とする前記単位メモリを(アドレスバス4,ア
ドレスセレクタ60〜63などを介し)当該の先頭アド
レスの上位アドレスでアクセスすると同時に、該単位ア
ドレスに隣接する単位アドレスをこの被転送データの末
尾側の転送先とする前記単位メモリを(アドレスセレク
タ60〜63に加算指定信号100〜103を与えるこ
となどにより)当該の先頭アドレス中の上位アドレスに
(加算器50〜53などを介し)1を加算してなる上位
アドレスでアクセスする手段(メモリ選択回路8など)
を備えたものとする。In order to solve the above-mentioned problems, the unaligned data transfer device according to claim 1 has a plurality of common unit widths (e.g., 8 bits) (e.g., 4 pieces) constituting a data bus. A memory group including unit memories (20 to 23, etc.) having the same structure, which are respectively connected to the unit data buses (30 to 33, etc.), and each data area (unit data area DU, etc.) in the unit memory of this memory group ), The lower addresses (X addresses A1, A0, etc.) of addresses (A31 to A0, etc., hereinafter referred to as group addresses) are sequentially allocated to the unit memory, and higher addresses (Y address A31) following the lower addresses of the group addresses are sequentially allocated. ~ A2 etc.) is shared between the unit memories and the memory group formed by sequentially allocating the addresses of the unit memories (hereinafter referred to as unit addresses) to the data. The transferred data having a length equal to or less than the width (32 bits, etc.) of the unit data bus and an integer multiple of the unit data bus, the group address (hereinafter referred to as the start address) indicating the start position of the transferred data. And the data length of the transferred data (byte size Siz1, Siz0, etc.) is specified, and the lower address in the start address and the data length of the transferred data are specified (byte specification). Whether the transferred data is non-aligned data (DIR, etc.) that is input over the bus 7 or the like and transferred across two adjacent areas of the unit address of the unit memory that constitutes the memory group. When it is determined that the data is non-aligned data, the unit memory having the same unit address as the head portion of the transferred data as the transfer destination on the head side of the transferred data is At the same time the upper address of the start address is accessed via the address bus 4, address selectors 60 to 63, etc., the unit memory having the unit address adjacent to the unit address as the transfer destination on the end side of the transferred data is ( A means for accessing with a higher-order address obtained by adding 1 (via adders 50-53, etc.) to the higher-order address in the start address concerned (by giving addition specification signals 100-103 to the address selectors 60-63, etc.) Memory selection circuit 8 etc.)
Shall be provided.
【0008】[0008]
【作用】バスマスタが非整列データ転送を要求した場合
に、Yアドレス境界を越える分のデータアクセスに関し
てYアドレスを1だけ増加する機構をバススレーブに設
ける。When the bus master requests the unaligned data transfer, the bus slave is provided with a mechanism for incrementing the Y address by 1 for the data access exceeding the Y address boundary.
【0009】[0009]
【実施例】図1は本発明の1実施例としての構成を示す
回路図である。同図において1はバスマスタとしてのプ
ロセッサ、このプロセッサ1を除く部分はバススレーブ
である。20〜23は全体として32ビット幅のデータ
バスを構成する1バイト毎×4つの単位データバス30
〜33を介して夫々プロセッサ1と接続される単位メモ
リである。そしてこの単位メモリ20〜23内の各領域
はバイト毎にアドレスの昇順に分かれている。なお単位
データバス30,31,32,33は夫々データライン
D31〜D4,D23〜D16,D15〜D8,D7〜
D0からなる。4はプロセッサ1が出力する32ビット
のアドレスA31〜A0のうち前述のYアドレスA31
〜A2を出力するアドレスバス、7は同じくプロセッサ
1が前述のXアドレスA1,A0およびバイトサイズS
iz1,Siz0を出力するバイト指定バスである。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a circuit diagram showing the configuration of an embodiment of the present invention. In the figure, 1 is a processor as a bus master, and the parts other than this processor 1 are bus slaves. Numerals 20 to 23 are data buses each having a 32-bit width as a whole, and each unit data bus 30 is provided for each byte.
Is a unit memory connected to the processor 1 via .about.33. Each area in the unit memories 20 to 23 is divided byte by byte in ascending order of addresses. The unit data buses 30, 31, 32 and 33 have data lines D31 to D4, D23 to D16, D15 to D8 and D7 to respectively.
It consists of D0. 4 is the above-mentioned Y address A31 of the 32-bit addresses A31 to A0 output by the processor 1.
Address bus for outputting ~ A2, 7 is also the processor 1 for the above-mentioned X addresses A1, A0 and byte size S
This is a byte designation bus for outputting iz1 and Siz0.
【0010】5(50〜53)は夫々単位メモリ20〜
23に対応して設けられた加算器で、アドレスバス4の
Yアドレスを+1する。6(60〜63)は夫々アドレ
スバス4上のYアドレス、またはこのYアドレスが加算
器50〜53を通過した(つまり+1された)後のYア
ドレスを選択して対応する単位メモリ20〜23に与え
るアドレスセレクタ、10(100〜103)は夫々ア
ドレスセレクタ60〜63に+1加算されたYアドレス
を選択させる加算指定信号である。8はバイト指定バス
7の信号(アドレス情報)から当該の転送データが非整
列データであるか否かを判定し、判定に応じたメモリ選
択信号9(90〜93)の何れかを必要な単位メモリ2
0〜23に与えると共に、非整列データであるときは、
必要な加算指定信号100〜103の何れかを夫々対応
するアドレスセレクタ60〜63へ出力する。5 (50 to 53) are unit memories 20 to 50, respectively.
The Y address of the address bus 4 is incremented by 1 by the adder provided corresponding to 23. 6 (60 to 63) select the Y address on the address bus 4 or the Y address after the Y address has passed through the adders 50 to 53 (that is, are incremented by 1), and the corresponding unit memories 20 to 23 are selected. The address selectors 10 (100 to 103) given to the address selectors 60 to 63 are addition designation signals for causing the address selectors 60 to 63 to select the Y address incremented by +1. Numeral 8 determines whether the transfer data is unaligned data from the signal (address information) of the byte designation bus 7, and determines which of the memory selection signals 9 (90 to 93) corresponds to the required unit. Memory 2
0 to 23, and when it is unaligned data,
Any of the necessary addition designating signals 100 to 103 is output to the corresponding address selectors 60 to 63, respectively.
【0011】いま仮にメモリ単位メモリ30〜33から
なるメモリ群の先頭アドレスが0番地に割り付けられて
おり、プロセッサ1がこのメモリ群全体に対する32ビ
ットのアドレスA32〜A0の2番地から4バイトサイ
ズ分のデータのアクセスを行う場合、つまりメモリ群の
2番地(単位メモリ22の図2の#2領域),3番地
(単位メモリ23の図2の#3領域),4番地(単位メ
モリ20の図2の#4領域),5番地(単位メモリ21
の図2の#5領域)にわたって格納されてなる非整列デ
ータDIRの転送を行う場合を考える。なおこの時プロ
セッサ1はこの非整列データDIRを、その先頭アドレ
スA31…A1,A0=0…1,0およびバイトサイズ
Siz1,Siz0=0,0(4バイトサイズ)を出力する
ことによって指定する。従ってバイト指定バス7にはこ
の先頭アドレスの下位2ビット(Xアドレス)A1,A
0=1,0と前記のバイトサイズが出力されることにな
る。またアドレスバス4にはこの先頭アドレスの上位3
0ビット(Yアドレス)A31…A2=0…0が出力さ
れることになる。つまりこの非整列データDIRの4バ
イトのうち前者の2バイト(2番地,3番地)のYアド
レスA31〜A2は0番地であり、残りの2バイト(4
番地,5番地)のYアドレスは1番地である。It is assumed that the starting address of the memory group consisting of the memory unit memories 30 to 33 is assigned to address 0, and the processor 1 has a size of 4 bytes from address 2 of 32-bit addresses A32 to A0 for the entire memory group. 2 is accessed, that is, address 2 of the memory group (# 2 area of the unit memory 22 in FIG. 2), address 3 (# 3 area of the unit memory 23 in FIG. 2), address 4 (diagram of the unit memory 20). # 4 area of 2), address 5 (unit memory 21
Consider the case where the non-aligned data DIR stored over the area # 5 in FIG. 2) is transferred. At this time, the processor 1 specifies this non-aligned data DIR by outputting its head address A31 ... A1, A0 = 0 ... 1,0 and byte sizes Siz1, Siz0 = 0,0 (4 byte size). Therefore, the lower 2 bits (X address) A1 and A
The byte size of 0 = 1,0 is output. In addition, the upper 3 bits of this start address are stored in the address bus 4.
0 bits (Y address) A31 ... A2 = 0 ... 0 are output. That is, of the 4 bytes of the unaligned data DIR, the former 2 bytes (addresses 2 and 3) of the Y addresses A31 to A2 are addresses 0, and the remaining 2 bytes (4
The Y address of the address, address 5) is address 1.
【0012】さてこのデータ転送においてプロセッサ1
が出力するアドレス情報の下位2ビットA1,A0はバ
イト指定バス7として機能するため、アドレスバス4で
(つまりYアドレスA31〜A2=0番地で)指定され
るのは先の2つの単位メモリ22および23である。従
来技術ではこれら2つの単位メモリのアクセスのみ実行
され、単位メモリ20および21に対するアクセスは次
回のデータ転送に回された。しかし本発明ではメモリ選
択回路8はバイト指定バス7の情報から判断してメモリ
選択信号90〜93を全て有効にするとともに、単位メ
モリ20,21に対応したアドレスセレクタ60,61
に対する加算指定信号100,101のみを有効にす
る。すると単位メモリ22および23はプロセッサ1が
アドレスバス4に出力したアドレス(つまりYアドレス
=0番地)そのままでアクセスされ、単位メモリ20お
よび21はプロセッサ1がアドレスバス4に出力したY
アドレスA31〜A2に1を足したYアドレス(つまり
Yアドレス1番地)でアクセスされるため、1回のデー
タ転送で非整列データDIRの4バイト分の転送を完了
することができる。Now, in this data transfer, the processor 1
Since the lower two bits A1 and A0 of the address information output by the above function as the byte designation bus 7, the address bus 4 (that is, at the Y addresses A31 to A2 = 0) designates the previous two unit memories 22. And 23. In the conventional technique, only these two unit memories are accessed, and the access to the unit memories 20 and 21 is sent to the next data transfer. However, in the present invention, the memory selection circuit 8 makes all the memory selection signals 90 to 93 valid by judging from the information of the byte designation bus 7, and the address selectors 60, 61 corresponding to the unit memories 20, 21.
Only the addition designation signals 100 and 101 for are valid. Then, the unit memories 22 and 23 are directly accessed by the address output from the processor 1 to the address bus 4 (that is, the Y address = 0 address), and the unit memories 20 and 21 are accessed from the processor 1 to the address bus 4 by Y.
Since the address is accessed at the Y address obtained by adding 1 to the addresses A31 to A2 (that is, the Y address 1), the transfer of 4 bytes of the unaligned data DIR can be completed by one data transfer.
【0013】[0013]
【発明の効果】本発明によれば、バスマスタ(プロセッ
サ)1がバイト指定バス7上に出力するアドレス情報
(この例ではXアドレスA1,A0およびバイトサイズ
Siz1,Siz0)を受信して、当該の被転送データが非
整列データであることを判別したときは、たの被転送デ
ータのYアドレス境界を越えぬ部分のデータを格納する
単位メモリに対してはアドレスバス4に出力されるその
ままの(先頭アドレスA31〜A0の上位ビットとして
の)YアドレスA31〜A2でアクセスし、このアクセ
スと同時に被転送データのYアドレス境界を越えた部分
のデータを格納する単位メモリに対しては上記Yアドレ
スA31〜A2に1を加算したYアドレスでアクセスす
るようにしたので、非整列データ転送の速度を通常の整
列データ転送と同等にでき、バスのデータ転送性能が向
上する。またデータの配置により性能が大きく影響を受
けることもなく、安定したデータ転送性能を得ることが
できる。According to the present invention, the bus master (processor) 1 receives the address information (X addresses A1, A0 and byte sizes Siz1, Siz0 in this example) output on the byte designation bus 7, and When it is determined that the transferred data is non-aligned data, the unit memory storing the data of the part that does not cross the Y address boundary of the other transferred data is output to the address bus 4 as it is ( The Y addresses A31 to A2 (as upper bits of the start addresses A31 to A0) are accessed, and at the same time as this access, the above Y address A31 is applied to the unit memory that stores the data of the portion of the transferred data that exceeds the Y address boundary. Since access is made at the Y address obtained by adding 1 to ~ A2, the speed of non-aligned data transfer is made equal to that of normal aligned data transfer. This improves the data transfer performance of the bus. Further, the performance is not significantly affected by the data arrangement, and stable data transfer performance can be obtained.
【図1】本発明の一実施例としての構成を示す回路図FIG. 1 is a circuit diagram showing a configuration as an embodiment of the present invention.
【図2】非整列データ説明のためのメモリの構成図FIG. 2 is a block diagram of a memory for explaining unaligned data.
【図3】バイトサイズにより指定されるデータの説明図FIG. 3 is an explanatory diagram of data specified by byte size.
1 プロセッサ(バスマスタ) 20〜23 単位メモリ 30〜33 単位データバス 4 アドレスバス4 A31〜A2 Yアドレス 50〜53 加算器 60〜63 アドレスセレクタ 7 バイト指定バス A1,A0 Xアドレス Siz1,Siz0 バイトサイズ 8 メモリ選択回路 90〜93 メモリ選択信号 100〜103 加算指定信号 DU 単位データ領域 DIR 非整列データ 1 processor (bus master) 20 to 23 unit memory 30 to 33 unit data bus 4 address bus 4 A31 to A2 Y address 50 to 53 adder 60 to 63 address selector 7 byte designation bus A1, A0 X address Siz1, Siz0 byte size 8 Memory selection circuit 90 to 93 Memory selection signal 100 to 103 Addition designation signal DU Unit data area DIR Unaligned data
Claims (1)
の単位データバスに夫々接続された同構造の単位メモリ
からなるメモリ群であって、 このメモリ群の単位メモリ中の各データ領域を指定する
アドレス(以下群アドレスという)の下位アドレスを前
記単位メモリに順次割付け、 前記群アドレスの前記下位アドレスに続く上位アドレス
を前記単位メモリ同志共通にこの単位メモリのアドレス
(以下単位アドレスという)に順次割付けてなるメモリ
群との間で、前記データバスの幅以下の長さであって、
前記単位データバスの整数倍の長さを持つ被転送データ
を、当該の被転送データの先頭位置を示す前記群アドレ
ス(以下先頭アドレスという)と、この被転送データの
データ長とを指定して転送する装置において、 前記先頭アドレス中の前記下位アドレスと前記被転送デ
ータのデータ長とを入力し、当該の被転送データが前記
メモリ群を構成する単位メモリの前記単位アドレスの隣
接2領域に跨って転送される非整列データであるか否か
を判別し、 該非整列データと判別したときは、この被転送データの
先頭部と同一の前記単位アドレスをこの被転送データの
先頭側の転送先とする前記単位メモリを当該の先頭アド
レスの上位アドレスでアクセスすると同時に、該単位ア
ドレスに隣接する単位アドレスをこの被転送データの末
尾側の転送先とする前記単位メモリを当該の先頭アドレ
ス中の上位アドレスに1を加算してなる上位アドレスで
アクセスする手段を備えたことを特徴とする非整列デー
タ転送装置。1. A memory group comprising unit memories of the same structure, each of which is connected to a plurality of unit data buses having a common unit width forming a data bus, wherein each data area in the unit memory of the memory group is Lower addresses of designated addresses (hereinafter referred to as group addresses) are sequentially allocated to the unit memory, and upper addresses following the lower addresses of the group addresses are shared by the unit memories as addresses of the unit memory (hereinafter referred to as unit addresses). Between the memory groups that are sequentially allocated, the length is less than the width of the data bus,
The transferred data having a length that is an integral multiple of the unit data bus is specified by specifying the group address (hereinafter referred to as the start address) indicating the start position of the transferred data and the data length of the transferred data. In the transfer device, the lower address in the start address and the data length of the transferred data are input, and the transferred data is spread over two adjacent areas of the unit address of the unit memory forming the memory group. If it is determined that the data is unaligned data that is transferred, the unit address that is the same as the beginning of the transferred data is used as the transfer destination on the leading side of the transferred data. At the same time as accessing the unit memory with an upper address of the start address, the unit address adjacent to the unit address is transferred to the transfer destination on the end side of the transferred data. Unaligned data transfer apparatus of the unit memory characterized by comprising means for accessing the upper address formed by adding 1 to the upper address in the start address of the to be.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23667191A JPH0573406A (en) | 1991-09-18 | 1991-09-18 | Non-alignment data transfer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23667191A JPH0573406A (en) | 1991-09-18 | 1991-09-18 | Non-alignment data transfer device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0573406A true JPH0573406A (en) | 1993-03-26 |
Family
ID=17004061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23667191A Pending JPH0573406A (en) | 1991-09-18 | 1991-09-18 | Non-alignment data transfer device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0573406A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8539173B2 (en) | 2010-03-29 | 2013-09-17 | Renesas Electronics Corporation | Memory device, memory system and microcontroller including memory device, and memory control device |
-
1991
- 1991-09-18 JP JP23667191A patent/JPH0573406A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8539173B2 (en) | 2010-03-29 | 2013-09-17 | Renesas Electronics Corporation | Memory device, memory system and microcontroller including memory device, and memory control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5732041A (en) | Memory interface unit, shared memory switch system and associated method | |
JPH03147168A (en) | Data transfer method and apparatus | |
JPS60157646A (en) | Memory bank switching device | |
JP3619532B2 (en) | Semiconductor integrated circuit device | |
US5594878A (en) | Bus interface structure and system for controlling the bus interface structure | |
US7096312B2 (en) | Data transfer device and method for multidimensional memory | |
JPH0573406A (en) | Non-alignment data transfer device | |
JPH04363745A (en) | Dma controller | |
JPH0793274A (en) | Data transfer method and data transfer device | |
JPH01125644A (en) | Data transfer equipment | |
JP2003196156A (en) | Information processing apparatus and information processing method | |
JPH0520183A (en) | Memory access control method | |
JP2001319470A (en) | Fifo circuit | |
JPS6237429B2 (en) | ||
JPS62280956A (en) | Array data transfer method | |
JPS6336021B2 (en) | ||
JP3245488B2 (en) | List vector processing device | |
JP3270149B2 (en) | Data transfer device | |
JP3936694B2 (en) | Semiconductor integrated circuit device and data transfer method for semiconductor integrated circuit device | |
JP3496942B2 (en) | Memory access method | |
JPH10312356A (en) | Data transfer device | |
JP2540844B2 (en) | Data transfer control method | |
JPH10222460A (en) | Data transfer controller | |
JPH04225453A (en) | Data processor | |
JPH11249958A (en) | Memory control system |