JPS59136831A - Data transfer controller - Google Patents

Data transfer controller

Info

Publication number
JPS59136831A
JPS59136831A JP1073983A JP1073983A JPS59136831A JP S59136831 A JPS59136831 A JP S59136831A JP 1073983 A JP1073983 A JP 1073983A JP 1073983 A JP1073983 A JP 1073983A JP S59136831 A JPS59136831 A JP S59136831A
Authority
JP
Japan
Prior art keywords
data
bit
transferred
transfer
byte
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.)
Granted
Application number
JP1073983A
Other languages
Japanese (ja)
Other versions
JPS6237429B2 (en
Inventor
Hiroaki Kaneko
金子 博昭
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP1073983A priority Critical patent/JPS59136831A/en
Publication of JPS59136831A publication Critical patent/JPS59136831A/en
Publication of JPS6237429B2 publication Critical patent/JPS6237429B2/ja
Granted 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

PURPOSE:To process at a high speed the transfer of blocks of variable length bit data by reforming the bit data when the word data is transferred. CONSTITUTION:A source bit address register 21 shows the bit address of a block to be transferred, and a destination bit address register 22 shows the bit address of a transfer destination block. A detecting circuit 30 detects the difference of contents between registers 21 and 22. A shift circuit 25 gives a shift of digit to the word data of a block to be transferred in response to the output of the circuit 30. The data received the digit correction from the circuit 25 is synthesized with the word data on the transfer destination block, and these synthesized data are transferred. In other words, the word data is shifted when the word data which is used as the unit transfer of a memory device is transferred. Then the word data is connected to a part of the word data to be transferred next as well as the word data of the transfer destination to be reformed as new word data. Then this new word data is transferred.

Description

【発明の詳細な説明】 本発明は固定長のビットから成るワードをアクセス単位
とするメモリ装置を用いたデータ処理システムにおける
ダイレクト・メモリ・アクセス制御装置に関するもので
ある。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a direct memory access control device in a data processing system using a memory device whose access unit is a word consisting of fixed-length bits.

従来の一般的なダイレクト・メモリ・アクセス装置を採
用したデータ処理システムの構成を第1図に示す。ここ
ではプロセ、す1とダイレクト・メモリ・アクセス制御
装置2がメモリ装置3を共有し、周辺装置4からのデー
タ転送要求信号DREQに従ってプロセ、す1のプログ
ラム転送に依ることなしに、ダイレクト・メモリ・アク
セス制御装置2がメモリ装置3と周辺装置4との間のデ
ータ転送をプロセ、す1のプログラム転送の合間あるい
は強制的にプログラム転送を禁止した上で行なうことに
よシ、データ転送要求に対して直ちにデータ転送を応答
させることができるため、大きなデータ転送レートを得
ることができる。。
FIG. 1 shows the configuration of a data processing system employing a conventional general direct memory access device. Here, the processor 1 and the direct memory access control device 2 share the memory device 3, and according to the data transfer request signal DREQ from the peripheral device 4, the direct memory - The access control device 2 transfers data between the memory device 3 and the peripheral device 4 between the program transfers of the processor 1 or after forcibly prohibiting program transfers, thereby allowing data transfer requests to be performed. Since data transfer can be immediately responded to, a high data transfer rate can be obtained. .

またダイレクト・メモリ舎アクセス制御装置を用いたデ
ータ転送方式は前述のように周辺装置とメモリ装置間の
データ転送に利用できる他に、大きなデータ転送レート
を有するという特長を生かし、メモリ装置間におけるデ
ータ転送に応用することができる。第2図にメモリ装置
間のデータ転送にダイレクト・メモリOアクセス制御装
置を採用したデータ処理システムの一般的な構成を示す
〇かかる構成においてはメモリ装置11に配置されたメ
モリ空間に対して所定の比率で連続したデータ構造(以
下このデータ構造をプロ、りと称する)を、異なったメ
モリ装置12に転送するため、プロセッサ13はダイレ
クト・メモリ・アクセス制御装置14に対してデータ転
送要求信号DREQを発生することによシ、ダイレクト
・メモリ・アクセス制御装置14はメモリ装置11に配
置されたプロ、り・データをメモリ装置12に順次転送
することで極めて高速なプロ、り・データの転送を実現
できる。
In addition, the data transfer method using a direct memory access control device can not only be used for data transfer between peripheral devices and memory devices as described above, but also take advantage of its high data transfer rate to transfer data between memory devices. It can be applied to transfer. FIG. 2 shows a general configuration of a data processing system that employs a direct memory O access control device for data transfer between memory devices. In order to transfer a data structure that is consecutive at a ratio (hereinafter referred to as a data structure) to a different memory device 12, the processor 13 sends a data transfer request signal DREQ to the direct memory access control device 14. Due to this occurrence, the direct memory access control device 14 sequentially transfers the program data located in the memory device 11 to the memory device 12, thereby realizing extremely high-speed program data transfer. can.

ところでプロセッサのアクセスし得るメモリ空間をメモ
リ装置のアクセス単位であるワード・アドレスからワー
ド・データを構成する各ビットに対してアドレスを割り
振ったいわゆるビット書アドレスに展開し、これを第3
図に示すように直線りで表現すると、前述のプロ、り・
データの”転送はある長さを有した線分tが直線り上を
距離dだけ離れた位置に線分L′として複写されること
に他ならない。1Ii1分tの線分t′への移動距離d
はプロ、り・データ転送におけるブロック間のビ。
By the way, the memory space that can be accessed by the processor is developed from the word address, which is the access unit of the memory device, into a so-called bit write address in which an address is assigned to each bit that constitutes word data, and this is
If expressed as a straight line as shown in the figure, the above-mentioned pro, ri,
``Transfer of data'' is nothing but copying a line segment t with a certain length as a line segment L' at a distance d on a straight line.1Ii1Movement of 1 minute t to line segment t' distance d
This is a process between blocks in data transfer.

ト・アドレスの差と対応させることができるが、従来の
ダイレクト・メモリ・アクセス制御装置を用いたデータ
転送では1回のデータ転送単位がメモリ装置のアクセス
単位であるワード書アドレスで指定されるワード−デー
タで行なわれるため、ブロック会データの大きさtおよ
びブロック間の距離dはワード・データを構成するビッ
ト数すの整数倍に限定されるという欠点を七していた0
さらにグラフィ、クスにおける応用に例を見るように、
メモリ空間をワード・データの集合として取p扱うので
はなくビット・データの集会として取り扱うことを主眼
とする応用においては、第4a図に示すようにワード・
データ幅すと等しいにもかかわらず2つのワードにまた
がったデータ構造、あるいは第4b図に示すように1ワ
ード中に複数のデータまたはデータの一部を含むような
いわゆるビット可変長のデータ構造なプp、りとする場
合、従来のダイレクト・メモリ・アクセス制御装置でブ
l112.り・データ転送を試みると転送先のど、ト・
アドレスを含むワード・アドレスに対応するワード・デ
ータには本来転送の対象とならないビット・データも同
時に転送されることになり、本来このワードに含まれて
いたビット・データを失うことになる。シ斥がってビッ
ト可変長データのプロ、り転送に従来のダイレクト・メ
モリ・アクセス制御装置を採用することは不可能であり
もっばら低速なプログラム転送によシ実現せざるを得な
かった。
However, in data transfer using a conventional direct memory access control device, one data transfer unit is the word specified by the word address, which is the access unit of the memory device. - Because the data is used, the size t of the block meeting data and the distance d between blocks are limited to integral multiples of the number of bits constituting the word data.
Furthermore, as seen in the applications in graphics and computer science,
In applications where the main focus is to treat memory space as a collection of bit data rather than as a collection of word data, word and
A data structure that spans two words even though the data widths are equal, or a so-called bit variable length data structure that contains multiple pieces of data or part of data in one word as shown in Figure 4b. In the case of a program p, 112. When attempting to transfer data, the destination
Bit data that is not originally a target of transfer is also transferred to the word data corresponding to the word address including the address, and the bit data originally included in this word is lost. Therefore, it is impossible to use a conventional direct memory access control device for the transfer of bit variable length data, and this has to be realized by slow program transfer.

本発明は可変長ビットの転送を可能にしたデータ転送制
御装置を提供することを目的とし、メモリ装置の単位転
送となるシフト・データ転送時にワード−データ幅以下
の任意のビット数分前記ワード・データをシフトし、次
に転送すべきワード・データの1部および転送先のワー
ド・データと結合して新たなワード拳データとして再構
成した後にワードのデータとして転送するようにしたこ
とを特徴とし、固定長ビットから成るワード・データの
集合で構成されるメモリ装置を用いたデータ処理システ
ムにおいて、任意のビット可変長データをメモリ空間内
の任意のビット・アドレスにブa、り転送することがで
き、高速なブロック・データ転送を可能としたものであ
る。
An object of the present invention is to provide a data transfer control device that enables the transfer of variable length bits, and during shift data transfer, which is a unit transfer of a memory device, the word data is transferred by an arbitrary number of bits less than the word data width. The data is shifted and combined with a part of the word data to be transferred next and the word data of the transfer destination to be reconfigured as new word data and then transferred as word data. In a data processing system using a memory device consisting of a set of word data consisting of fixed-length bits, it is possible to transfer arbitrary bit-variable-length data to an arbitrary bit address in the memory space. This enabled high-speed block data transfer.

本発明は被転送ビット・データ・ブロックのメモリ空間
におけるソース・ビット・アドレスを示すソース・ビッ
ト・アドレス・レジスタ、前記ソース・ビット・アドレ
ス・レジスタで示されるビ、トを含むワード・データを
格納する入力バッファ、前記入力バッフγのワード・デ
ータを任意ビ、ト数シフトするシ7り、転送先ビット・
データ拳ブロックのメモリ空間におけるビット・アドレ
スを示すディストネーション・ビット−アドレス・レジ
スタ、前記ディストネーション・ビット・アドレス・レ
ジスタで示されるビットを含むワード・データを格納す
る出カバ、フγ、前記シフタの出力と前記出カバ、ノア
の入力を選択出力する合成器、転送ビット数を計数する
カウンク、前記ソース・ビットーアドレスΦレジスタと
前記ディストネーション・ビット・アドレス・レジスタ
の内容の差を検出する減算器、および前記構成要素のタ
イミング制御を行なう制御回路を有することを特徴とす
る。
The present invention includes a source bit address register indicating a source bit address in a memory space of a bit data block to be transferred, and storing word data including bits indicated by the source bit address register. An input buffer to shift the word data of the input buffer γ by an arbitrary number of bits, and a transfer destination bit.
a destination bit address register indicating a bit address in the memory space of the data fist block; an output cover storing word data including the bit indicated by the destination bit address register; A synthesizer that selects and outputs the output of the output and the output cover, the input of the NOR, a counter that counts the number of transferred bits, and detects the difference between the contents of the source bit address Φ register and the destination bit address register. The present invention is characterized in that it includes a subtracter and a control circuit that performs timing control of the components.

以下図面を参照して本発明の一実施例の構成および動作
について詳細に説明する。第5図はワード幅として8ビ
、トを有するいわゆるバイト・データを取り扱う本発明
の一実施例である。被転送ビット・データ・プロ、りの
ビット・アドレスを指定するためのソース・ビット・ア
ドレス・レジスタ21.転送先ビット・データ・ブロッ
クのビ、ト・アドレスを指定するためのディストネーシ
、ンービット・アドレス・レジスタ22.ソースΦビッ
ト審アドレスeレジスタ21で指定されたビットを含ん
でいるバイト・データを格納するための人カバ、ノア2
3.入力<’y 7723に格納された直前のバイト・
データを格納する拡張用人カバ、ノア24.入カバ、ノ
ア23および拡張用人カバ、ノア241C格納された一
連の16ビ、ト・データの中から任意の連続した8ビツ
トを選択するシフタ25.シフタ25の出力とディスト
ネーション・ビット・アドレス−レジスタ22で指定さ
れたビットを含んでいるバイト・データ紮選択するマル
チプレクサ26.マルチプレクサ26の出力を格納する
出力バッファ27.転送ビット数を計数するためのビッ
ト・カウンタ28.ビット・カウンタ28の内容を更新
するためのデクリメンタ29.ソース・ビット・アドレ
ス・レジスタ21とディストネーション豐ピット・アド
レス・レジスタ22の内容の差を検出する減算器30゜
お漬び前述のすべての構成要素の動作およびタイミング
を制御するための制御回路31を含む。
The configuration and operation of an embodiment of the present invention will be described in detail below with reference to the drawings. FIG. 5 shows an embodiment of the present invention that handles so-called byte data having a word width of 8 bits. A source bit address register 21 for specifying the bit address of the transferred bit data. Distone and bit address register 22 for specifying the bit address of the destination bit data block. A human cover for storing the byte data containing the bit specified in the source Φ bit address address e register 21, Noah 2
3. input <'y The previous byte stored in 7723
Noah 24, an expansion cover that stores data. A shifter 25 for selecting arbitrary consecutive 8 bits from a series of 16 bits of data stored in the input cover, Noah 23, and the extended user cover, Noah 241C. Multiplexer 26 which selects the output of shifter 25 and the byte data containing the destination bit address-register 22. Output buffer 27 for storing the output of multiplexer 26. Bit counter 28 for counting the number of transferred bits. Decrementer 29 for updating the contents of bit counter 28. A subtractor 30 for detecting the difference between the contents of the source bit address register 21 and the destination bit address register 22.A control circuit 31 for controlling the operation and timing of all the aforementioned components. including.

つぎにその動作について動作の流れを示した第6図を用
いて説明する。
Next, the operation will be explained using FIG. 6 which shows the flow of the operation.

ソース・ビット・アドレス・レジスタ21およびディス
トネーションeビット・アドレス嗜レジスタ22はそれ
ぞれ現在転送の対象としているビット・プロ、りOデー
タのビット・アドレスを保持しているが、指定されたビ
ット・データを格納しているあるいは格納すべきバイト
・データを指定するバイト指定部と、指定されたバイト
・データにおけるビット・データの相対位置を指定する
ビット指定部を有する。したがってビット・アドレスA
bはバイト指定部の内容をB、ビット指定部の内容をb
(θ〜7)とするとAb=Bx8+b、で表わされる。
The source bit address register 21 and the destination e-bit address register 22 each hold the bit address of the bit data currently being transferred. It has a byte specification section that specifies byte data that stores or should be stored, and a bit specification section that specifies the relative position of bit data in the specified byte data. Therefore bit address A
b is the content of the byte specification part, B is the content of the bit specification part.
(θ~7), it is expressed as Ab=Bx8+b.

ソース・ビットーアドレスeレジスタ210バイト指定
部指定された8B番地のバイト・データはストローブ信
号I B 、F’ 8により入力バッ7ア23に格納さ
れる。また人カバ、ノア23に格納されてい友直前のバ
イト・データは、ストローブ信号EIBFにより拡張用
人力バッファ24に格納される。この時人カバッファ2
3に格納されたバイト・データの中にディストネーショ
ン6ビツト・アドレス・レジスタ220バイト指定部で
指定されたDB番地にバイト転送する際に過不足のない
ビ、ト・データを含んでいるか否かをソース・ビット・
アドレスのレジスタ2゛1のビット指定部の内容sbと
ディストネーション嚇ピ、l・・アドレス参レジスタ2
2のビット指定部の内容Dbと減算器30で比較するこ
とで検査する。減算器30はDb−8bの結果が負なら
ば入カバ、ノア23に格納されたバイト・データだけで
はビット・データが不足することをデータ要求信号MO
凡Eで示し、現在の人カバッ7ア23のバイト・データ
をストローブ信号FIB8で拡張用人カバ、ノア24へ
転送するとともに8B、+1番地のバイト・データをス
トローブ1言号IBPSによ9人カバ、ノア23へ格納
する。こうして入力バッファ23および拡張用人力バッ
ファ24は連続した16ビツト・データを得ることにな
るが、これはSB番地のバイトΦデータを第Oビットを
起点としてO〜7ビツト右(ビット・アドレスの減小方
向)ヘシフトしたバイト・データを得るためには2バイ
トのデータを必要とすることから生ずる。
Source bit address e register 210 byte designation section The byte data at the designated address 8B is stored in the input buffer 23 by strobe signals I B and F' 8. Furthermore, the byte data immediately before the user stored in the human cover Noah 23 is stored in the expansion human power buffer 24 by the strobe signal EIBF. At this time people Kabuffa 2
Whether the byte data stored in 3 contains enough bit data to be transferred to the DB address specified by the 220-byte specification field of the destination 6-bit address register. source bit
Contents sb of bit designation part of address register 2-1, destination command pin, l...Address reference register 2
The subtracter 30 compares the contents Db of the bit designation section No. 2 with the contents Db of the bit designation section No. 2 to check. If the result of Db-8b is negative, the subtracter 30 outputs a data request signal MO indicating that the byte data stored in the NOR 23 is insufficient.
The byte data of the current human cover 7A23 is transferred to the extended human cover Noah 24 using the strobe signal FIB8, and the byte data of address 8B and +1 is transferred to the 9 person cover using the strobe 1 word IBPS. , stored in Noah 23. In this way, the input buffer 23 and expansion manual buffer 24 obtain continuous 16-bit data, but this is done by starting from the Oth bit of the byte Φ data at the SB address and moving it from O to 7 bits to the right (decreasing the bit address). This occurs because 2 bytes of data are required to obtain the byte data shifted in the smaller direction).

シフタ25はソース・ビットφアドレス・レジメタ21
0バイト指定部で示された被転送バイト争データとディ
ストネーション・ビット−アドレス拳レジスタ22のバ
イト指定部で示された転送先パイ)−データのビットの
ずれを補正するために、このずれを示している減算器3
0の出力すなわちソース・ビ、1・・アドレス・レジス
タ21のビット指定部の内容sbとディストネーション
・ビット・アドレス−レジスタ22のビット指定部の内
容Dbとの差(8b−Db)をシフト選択信号8HTn
として、人力バッファ23および拡張人力バッファ24
の16ビツト・データを8b−Dbビ、ト右へ(ビット
・アドレス減小方向へ)シフトし、下位8ビ、トを得る
。この時5b−8d<0ならば左シフト(ビット・アド
レスの増加方向)を必要とする。
Shifter 25 is source bit φ address register 21
In order to correct the misalignment between the transferred byte contention data indicated by the 0-byte designation field and the destination bit (transfer destination pie indicated by the byte designation field of the address register 22)-data bit, this shift is Subtractor 3 shown
Output of 0, that is, source bit, 1...Shift selects the difference (8b-Db) between the content sb of the bit specification part of the address register 21 and the content Db of the bit specification part of the destination bit address register 22. Signal 8HTn
As, the human power buffer 23 and the extended human power buffer 24
The 16-bit data is shifted 8b-Db bits to the right (in the direction of decreasing the bit address) to obtain the lower 8 bits. At this time, if 5b-8d<0, a left shift (in the direction of increasing bit address) is required.

シフタ25で得られたバイト・データは以下に述べる2
通シの場合を除いて、マルチプレクサ27において何の
修飾も受けずにストローブ信号OBF 8により出力バ
ッファOBFに格納される。
The byte data obtained by the shifter 25 is as described below.
Otherwise, the strobe signal OBF 8 is stored in the output buffer OBF without any modification in the multiplexer 27.

第1にディストネーション・ビット・アドレスない時(
1〜7)を考える。前述のとうシディストネーシ、ン・
ビット・アドレス・レジスタ22のビット指定部は転送
先バイト・データにおける転送ビットのビット位置を示
すが、ビット・データはバイト・ゲータとして転送され
るためビット・データ・プロ、りの最初のバイト転送時
以外は0にリセットされている。すなわちDb≠0はこ
の転送がビット・データ・プロ、り転送の最初のバイト
転送時でしかもDb以下のビット・データ(0〜Db−
1)はバイ)−データ転送によシ破壊してはならないこ
とを示している。この時シフタ25の出力は上位Db〜
7までのビットが選択され、下位0−Db−1までのど
、トはマルチプレクサ26の下位マルチプレクス選択信
号MPX Lにより、ディストネーション・ビット・ア
ドレス・レジスタ220バイト指定部で指定されたDB
番地のバイト・データの下位0−Db−1までのど、ト
・データが選択され、選択されたバイト・データはスト
ローブ信号0BFSによシ出力バッファ27に格納され
る。
First, when there is no destination bit address (
Consider 1 to 7). The aforementioned Toshidistonesi, N.
The bit specification part of the bit address register 22 indicates the bit position of the transfer bit in the transfer destination byte data, but since the bit data is transferred as a byte gater, the first byte transfer of the bit data processor It is reset to 0 at all other times. In other words, Db≠0 means that this transfer is the first byte of the bit data transfer, and the bit data less than Db (0 to Db-
1) indicates that it must not be destroyed during data transfer. At this time, the output of the shifter 25 is the upper Db~
The bits up to 7 are selected, and the lower bits from 0 to Db-1 are selected by the lower multiplex selection signal MPXL of the multiplexer 26, and the DB specified by the byte specification section of the destination bit address register 220 is selected.
The lower 0-Db-1 byte data of the address is selected, and the selected byte data is stored in the output buffer 27 by the strobe signal 0BFS.

第2にビット・カウンタの内容すなわち残り転送ビット
数BOがバイト・データ構成ビット数8未満(BO(8
)になった時を考える。この状態は次の転送がビット・
データ・ブロックの最後のバイト転送時でしかもBCビ
、ト以上のビット・データ(BO〜7)はバイト・デー
タ転送により破壊してはならないことを示している。こ
の時シ7り25の出力は下位0−BC−1が選択され、
上位BO〜7までのビットはマルチプレクサ26の上位
マルチプレクス選択信号MPXHにより、ディストネー
ション・ビット・アドレス・レジスタ22のバイト指定
部で指定されたDB番地のバイト・データの上位BC〜
7までのビット・データが選択され、選択されたバイト
・データはストローブ信号0BFSによシ出力バッファ
27に格納される。
Second, the contents of the bit counter, that is, the number of remaining transfer bits BO is less than 8, which is the number of bits composing the byte data (BO(8
). This state indicates that the next transfer is
This indicates that bit data (BO to 7) of BC bits or more at the time of the last byte transfer of a data block must not be destroyed by byte data transfer. At this time, the lower 0-BC-1 is selected as the output of the controller 25,
The upper bits from BO to 7 are selected by the upper multiplex selection signal MPXH of the multiplexer 26 from the upper BC to the byte data of the DB address specified by the byte specification section of the destination bit address register 22.
Bit data up to 7 is selected, and the selected byte data is stored in output buffer 27 by strobe signal 0BFS.

上記の2つの条件は8ビ、ト未満のビット・データを転
送先バイト・データの第0ビツト以外から転送する時に
は同時に発生するが、上記の動作によって転送先バイト
・データのビットφプp。
The above two conditions occur simultaneously when bit data of less than 8 bits is transferred from bits other than the 0th bit of the transfer destination byte data, but the above operation causes bits φp and p of the transfer destination byte data to be transferred.

り・データ以外のビット・データは補償される。Bits and data other than data are compensated.

出カバ、ファ27に格納されたバイト・データはディス
トネーシ、ンΦビット・アドレス拳レジスタ22のバイ
ト指定部で指定されたDB番地へ転送され、1回のビッ
ト・プロ、り・データの転送が終了する。
The byte data stored in the output buffer 27 is transferred to the DB address specified by the byte specification field of the distonne bit address register 22, and one bit transfer data is transferred. ends.

ソース・ビット・アドレス・レジスタ21はバイト・デ
ータを入カバ、ファ23に転送する毎にバイト指定部の
内容を増加信号lNO3により1増し、ビット指定部は
寸前の内容sbとディストネーション・ビット・アドレ
ス拳レジスタ22のビ、ト指定部の内容Dbとの差S 
b −D bを減算器30によりで得たものを設定信号
5ET8によって設定する。この動作によってソース・
ビット・アドレス拳レジスタ21の内容は常に次に転送
すべきビ、ト嗜データ・プロ、りの先頭を示すことにな
る。
Each time the source bit address register 21 transfers byte data to the input buffer 23, the contents of the byte designation field are incremented by 1 by the increment signal lNO3, and the bit designation field is incremented by the previous content sb and the destination bit address register 21. Difference S from the contents Db of the bit and g designation parts of the address register 22
b - D b obtained by the subtracter 30 is set by the setting signal 5ET8. This behavior causes the source
The contents of the bit address register 21 always indicate the beginning of the next bit or bit data program to be transferred.

一方ディストネーシ、ン・ビット・アドレス・レジスタ
22は出力バッファ27に格納されたバイト・データを
外部へ転送する毎にバイト指定部の内容を増加信号lN
0Dによシ1増し、ビット指定部をリセット信号5BT
Dによ1)′0に設定する。
On the other hand, the distone bit address register 22 increments the contents of the byte designation field each time the byte data stored in the output buffer 27 is transferred to the outside.
Add 1 to 0D and reset the bit designation section with signal 5BT
1) Set to '0' by D.

この動作は最初のバイト転送を除いて、必らずバイト・
データの第0ビツトからビット・データを転送可能であ
ることを示している。
This behavior does not always result in a byte transfer, except for the first byte transfer.
This indicates that bit data can be transferred starting from the 0th bit of data.

またビット・カウンタ28は出カバ、ファ27からバイ
ト・データを転送する毎にデクリメンタ29によって8
−Dbを減する。この動作は最初のバイト転送を除いて
バイト転送によす8ビ、トのビット・ブロック・データ
を転送することを示している(Dbは前述のとりゃ2回
目以降のバイト転送時は0に設定されている)。またビ
ット拳カウンタ28は転送残9ビット数を示すことにな
るた′め下位3ビ、トを超える内容は転送残りバイト数
を示しており、下位3ビット以上の内容が0であること
をBOOで示し、最後の転送であることを示す。
Further, the bit counter 28 is set to 8 byte by the decrementer 29 every time byte data is transferred from the output buffer 27.
-Reduce Db. This operation indicates that, except for the first byte transfer, 8-bit bit block data is transferred according to the byte transfer (Db is set to 0 for the second and subsequent byte transfers as described above). ). In addition, since the bit counter 28 indicates the number of remaining 9 bits to be transferred, the content exceeding the lower 3 bits indicates the number of remaining bytes to be transferred, and BOO indicates that the content of the lower 3 bits or more is 0. , indicating that this is the last transfer.

以上の動作をビット・カウンタ27の内容BOが8以下
になることをBOO信号で検出するまで繰シ返すことに
よって前記の目的を達することができることは明白であ
る。
It is clear that the above object can be achieved by repeating the above operation until it is detected by the BOO signal that the content BO of the bit counter 27 becomes 8 or less.

つぎに本実施例を用いた場合のビット・プロ。Next is the bit pro when this embodiment is used.

り・データ転送の1例について第7図を用いて説明する
。本例では第7図(a)に示すビット・アドレス10番
地から初まシ24ビ、ト長を有するソース・ビット・デ
ータ・ブロックを、第7図(b)に示スヒ、ト・アドレ
ス110番地から初まるディストネーシ、ンφビット・
データ・ブロックへ転送することを目的とする。従って
ソース・ビット・アドレス・レジスタ21におけるバイ
ト指定部の内容8B、ビット指定部の内容sbおよびデ
ィストネーション・ビットoアドレス・レジスタ22に
おけるバイト指定部の、内容Db、ビ、ビッ定部の内容
Dbは次のとうシの値を有する。
An example of data transfer will be explained using FIG. In this example, a source bit data block having a length of 24 bits starting from the bit address 10 shown in FIG. 7(a) and starting from the bit address 110 shown in FIG. Distones starting from the address, nφ bit,
The purpose is to transfer data blocks. Therefore, the content 8B of the byte designation part in the source bit address register 21, the content sb of the bit designation part, and the content Db, B, and the content Db of the bit designation part of the byte designation part in the destination bit o address register 22. has the following values:

8B=1,5b=2.DB=13.Db=6第7図(C
)は第7図(a)に示したソース・ビット・データ・プ
ロ、りを左へ4ビツト・シフトした状態を示す。第7図
(d)はディストネーション・ビ。
8B=1, 5b=2. DB=13. Db=6 Figure 7 (C
) shows a state in which the source bit data shown in FIG. 7(a) is shifted to the left by 4 bits. Figure 7(d) shows the destination B.

トーデータ・ブ算、りへの最初の転送バイト・データを
示す(133番地0この時Db−8b=6−2=420
でsb人カバ、ファ23に格納されたバイト・データは
、ディストネーション・ビット・データ・プロ、りへの
バイト転送に対して十分なと、ト・データを含んでいる
ことが判る。ただしDb=6≠0であり、133番地バ
イト・データのビット0〜Db−1(Q〜5)は変更し
てはならないため、133番地バイト・データの下位6
ビ、トは保存しなければない。133番地のバイト・デ
ータ転送後SB、 8b、 DBおよびDbは次のとぅ
シの値を有する。
Indicates the first transferred byte data to the data block (address 133 0 at this time Db-8b=6-2=420
It can be seen that the byte data stored in the sb cover 23 contains enough data for the byte transfer to the destination bit data processor. However, since Db=6≠0 and bits 0 to Db-1 (Q to 5) of the byte data at address 133 must not be changed, the lower 6 bits of the byte data at address 133 must be changed.
The bits and pieces must be preserved. After the byte data transfer at address 133, SB, 8b, DB, and Db have the following values.

8B=2.8b=4. DB=14. Db=0第7図
(e)はディストネーシ、ン・ビット・データ・プロ、
りへの2番目の転送バイト・データを示す(144番地
。この詩人カバ、ファ23には2番地のバイト・データ
、拡張用人カバ、ファ24には1番地のバイト・データ
が格納されており。
8B=2.8b=4. DB=14. Db=0 FIG. 7(e) shows the distortion, bit data pro,
Indicates the second transfer byte data to RI (address 144. In this poet's cover, the byte data of address 2 is stored in F23, and the byte data of address 1 is stored in F24 of the extended user cover. .

出力バッファ27には1番地に格納されていた2バイト
(16ビツト)−データが右(ビット・アドレスの減小
方向)へ5b−Db=4−〇=4ビ、ビッシフトされた
下位8ビ、トのバイト・データが格納され、144番地
転送される。144番地のバイト・データ転送後SB、
 Sb、 DBおよびDbは次のとうりの値を有する。
In the output buffer 27, the 2 bytes (16 bits) stored at address 1 - data are shifted to the right (in the direction of decreasing bit address) 5b - Db = 4 - 〇 = 4 bits, the lower 8 bits are bit shifted, The first byte data is stored and transferred to address 144. After transferring the byte data at address 144, SB,
Sb, DB and Db have the following values.

8B=3,5b=4.DB=15.Db=0第゛7図(
f)はディストネーション・ビット・データ転送後、り
への3番目の転送バイト・データを示す(155番地。
8B=3, 5b=4. DB=15. Db=0 Figure 7 (
f) indicates the third transferred byte data to RI after destination bit data transfer (address 155).

155番地のバイト・データ転送後SB、 Sb、 D
BおよびDbは次のとうりの値を有する。
After transferring the byte data at address 155, SB, Sb, D
B and Db have the following values.

8B=4,5b=4.DB=16.Db=0第7図(2
))はディストネーション・ビット・データ・ブロック
への4番目(最後の)転送バイト・データを示す(16
6番地0この時人カパッファ23には4番地のバイト・
データ、拡張用人カバ、ファ24には3番地のバイト・
データが格納されておシ、ディストネーション・ビット
・データ拳ブロックへのバイト転送に対して十分など、
ト・データを含んでいるものメ、ソース・ビット・デー
タ・ブロックは残シ5ビ、トを残している(BO=6)
だけであシ、166番地バイト・データのビットBO〜
7(6〜7)は変更してはならないため166番地上位
2ピ、トは保存される。
8B=4, 5b=4. DB=16. Db=0 Figure 7 (2
)) indicates the fourth (last) transferred byte data to the destination bit data block (16
Address 6 0 At this time, Kapaffa 23 has a part-time job at address 4.
data, expansion user cover, and the byte at address 3 in F24.
If the data is stored in the block, the destination bit is sufficient for the byte transfer to the data block, etc.
The source bit data block has 5 bits left (BO=6).
Just bit BO of address 166 byte data
7 (6-7) must not be changed, the top two bits and pieces of address 166 are saved.

この結果前記目的を確実に達成できる。また本実施例に
おいてソース拳ビットΦアドレス拳レジスタ21および
ディストネーション・ビット・アドレス・レジスタ22
のビット指定部を共に0に初期設定することで、従来の
ダイレクト・メモリ・アクセス制御製電の機能すなわち
バイト・プロ、り・データ転送の機能を果たすことは明
白である0 さらに本実施例では転送方向をアドレスの増加方向に順
次転送することに限定したが、ビット・アドレス・レジ
スタの更新することで四ケージ。
As a result, the above objective can be achieved reliably. In addition, in this embodiment, the source bit Φ address register 21 and the destination bit address register 22
It is clear that by initializing both bit designation parts to 0, the function of the conventional direct memory access control electronic manufacturing, that is, the function of byte processing, data transfer, is achieved. Although the transfer direction is limited to sequential transfer in the direction of increasing addresses, four cages can be achieved by updating the bit address register.

ンの減小方向に転送することができるため、重複したア
ドレスを有するデータ・プロ、り間の転送も支障なく実
現できることは明白である。
Since the data can be transferred in the direction of decreasing the number of addresses, it is clear that transfer between data processors having overlapping addresses can be realized without any problem.

本発明は以上説明したようにワード・データ転送時にビ
ット・データの再構成を行なうことによって、可変長ビ
ット・データのブロック転送を高速で処理することが実
現でき、汎用性を有するダイレクト・メモリ・アクセス
制御装置を得ることができる。
As explained above, the present invention realizes high-speed block transfer of variable-length bit data by reconfiguring bit data during word data transfer, and is a versatile direct memory processor. An access control device can be obtained.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はダイレクト・メモリ・アクセス制御装置を周辺
装置とメモリ装置間のデータ転送に応用した場合のi般
的なプp、り図、第2図はダイレクト・メモリ・アクセ
ス制御装置をメモリ装置間のデータ転送に応用した場合
の一般的なブロック図、第3図は従来のダイレクト・メ
モリ・アクセス制御装置を用いたデータ転送におけるデ
ータの移動を示す図、第4a図および第4b図はビット
可変長データの1例を示す図、第5図は本発明の一実施
例を示大プロ、り図、第6図は前記実施例の動作を示す
流れ図、第7図は前記実施例における動作の一例を示す
図である。 1・・・・・・プロセッサ、2・・・・・・ダイレ°ク
ト・メモリーアクセス制御装置、3・・・・・・メモリ
装置、4・・・・・・周辺装fi、’s・・・・・・シ
ステム・バス、11.12・・・・・・メモリ装置、1
3・・・・・・プロセ、す、14・旧・・ダイレクト・
メモリ会アクセス制戸装置、15・・・・・・システム
・バス、21・・・・・・ソースeビット・アドレス・
レジスタ、22・・・・・・ディストネーション・ビッ
ト・アドレス・レジスタ、423・旧・・入カバ。 7ア、24・・・・・・拡張用人力バッファ、25・・
団・シフタ、26・・・・・・マルチプレクサ、27・
旧・・出力バッ7ア、28・・・・・・ビット−カウン
タ、29・旧・・デクリメンタ、30・・・・・・減算
器、31・・・・・・制御回路。 REQ DRεQ ヒー−N+1−−←−N+  −−ワード、アr°Lス
一一一−N+4             N −← 
−−ワード・アFムス(b) 第4区
Figure 1 is a general diagram of a direct memory access control device applied to data transfer between a peripheral device and a memory device, and Figure 2 is a diagram of a direct memory access control device applied to a memory device. FIG. 3 is a diagram showing data movement in data transfer using a conventional direct memory access control device, and FIGS. 4a and 4b are bit diagrams. FIG. 5 is a diagram showing an example of variable length data, FIG. 5 is a diagram illustrating an embodiment of the present invention, FIG. 6 is a flow chart showing the operation of the embodiment, and FIG. 7 is a diagram showing the operation of the embodiment. It is a figure showing an example. 1...Processor, 2...Direct memory access control device, 3...Memory device, 4...Peripheral equipment fi,'s... ...System bus, 11.12 ...Memory device, 1
3...Process...14...Old...Direct...
Memory access control device, 15...System bus, 21...Source e-bit address.
Register, 22... Destination bit address register, 423 Old... Input cover. 7a, 24... Human power buffer for expansion, 25...
Group shifter, 26...Multiplexer, 27.
Old: output buffer 7, 28: bit counter, 29: old: decrementer, 30: subtracter, 31: control circuit. REQ DRεQ He-N+1--←-N+ ---Word, Ar°LS-N+4 N-←
--Ward Ams (b) Ward 4

Claims (1)

【特許請求の範囲】 被転送プロ゛、りのビット・アドレスを示すソース−ビ
ット・アドレス・レジスタと、転送先プロ、りのビット
・アドレスを示すディストネーシ。 ン・ビット・アドレス嗜レジスタと、前記ソース・ビッ
ト・アドレス会レジスタの内容と前記ディストネーシt
ハビット・アドレス・レジスタの内容の差を検出する検
出回路と、該検出回路の出力に応じて前記被転送ブロッ
クのワード・データを桁移動するシフト回路とをきみ、
このシフト回路によって桁補正されたデータと前記転送
先ブリ、りのワード・データとを合成して転送するよう
にし/”にとを特徴とするダイレクト・メモリ・アクセ
ス制御装置。
[Scope of Claims] A source-bit address register indicating a bit address of a transferred program, and a distonity indicating a bit address of a destination program. the contents of the source bit address register, the source bit address register, and the destination bit address register;
a detection circuit that detects a difference in the contents of the habit address register; and a shift circuit that shifts the word data of the transferred block according to the output of the detection circuit;
A direct memory access control device characterized in that the data digit corrected by the shift circuit and the word data at the transfer destination are combined and transferred.
JP1073983A 1983-01-26 1983-01-26 Data transfer controller Granted JPS59136831A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1073983A JPS59136831A (en) 1983-01-26 1983-01-26 Data transfer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1073983A JPS59136831A (en) 1983-01-26 1983-01-26 Data transfer controller

Publications (2)

Publication Number Publication Date
JPS59136831A true JPS59136831A (en) 1984-08-06
JPS6237429B2 JPS6237429B2 (en) 1987-08-12

Family

ID=11758659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1073983A Granted JPS59136831A (en) 1983-01-26 1983-01-26 Data transfer controller

Country Status (1)

Country Link
JP (1) JPS59136831A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265204A (en) * 1984-10-05 1993-11-23 Hitachi, Ltd. Method and apparatus for bit operational process
USRE34635E (en) * 1984-10-05 1994-06-07 Hitachi, Ltd. Method and apparatus for bit operational process
US6437790B1 (en) 1984-10-05 2002-08-20 Hitachi, Ltd. Apparatus for bit operational process

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265204A (en) * 1984-10-05 1993-11-23 Hitachi, Ltd. Method and apparatus for bit operational process
USRE34635E (en) * 1984-10-05 1994-06-07 Hitachi, Ltd. Method and apparatus for bit operational process
US6437790B1 (en) 1984-10-05 2002-08-20 Hitachi, Ltd. Apparatus for bit operational process

Also Published As

Publication number Publication date
JPS6237429B2 (en) 1987-08-12

Similar Documents

Publication Publication Date Title
US6065070A (en) DMA configurable channel with memory width N and with steering logic comprising N multiplexors, each multiplexor having a single one-byte input and N one-byte outputs
KR940009094B1 (en) Data processing system
JPH05128054A (en) Data processor
JPH0760423B2 (en) Data transfer method
JPS58133696A (en) Storage control system
JPH10207717A (en) Microcomputer
US4652991A (en) Data transfer apparatus
JPS59136831A (en) Data transfer controller
JPH10124447A (en) Data transfer control method and device
JPH0447349A (en) Data storage device
JPH06103225A (en) Chain type dma system and dma controller therefor
JP2710219B2 (en) DMA controller
JP2594611B2 (en) DMA transfer control device
JPH10334038A (en) Data transfer device
JPH02190968A (en) Vector processor
JPS61289448A (en) Buffer memory device
JPH10326248A (en) Dma controller
JPH04160458A (en) Dma controller peripheral circuit
JP2635863B2 (en) Central processing unit
JP2001166916A (en) Ring buffer control method
JPH10254817A (en) Dma transfer control system
JP2000207227A (en) Arithmetic and logic unit
JPS60254238A (en) Data extraction processor
JPH0646412B2 (en) Data Flow Processor
JPH01309174A (en) Vector processor