JPS61223962A - Memory controller - Google Patents

Memory controller

Info

Publication number
JPS61223962A
JPS61223962A JP6342085A JP6342085A JPS61223962A JP S61223962 A JPS61223962 A JP S61223962A JP 6342085 A JP6342085 A JP 6342085A JP 6342085 A JP6342085 A JP 6342085A JP S61223962 A JPS61223962 A JP S61223962A
Authority
JP
Japan
Prior art keywords
transfer
data
mask
register
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6342085A
Other languages
Japanese (ja)
Inventor
Toyofumi Ozeki
豊文 大関
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP6342085A priority Critical patent/JPS61223962A/en
Publication of JPS61223962A publication Critical patent/JPS61223962A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

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 attain data transfer in high speed independently of data width by shifting a data in the unit of bits, masking the data in the unit of bits and writing it to a transfer destination. CONSTITUTION:A shift mask production section 12 gives a shift amount of data to a barrel shifter 10 and gives a command which bit is to be masked to a mask circuit 11. A control section 16 controls the shift mask production section, a transfer address production section 6, an address switch section 7 and a register 8 at each bus cycle by the start from a CPU 1 to control the execution from a VRAM to VRAM transfer.

Description

【発明の詳細な説明】 (産業上の利用分野) この発明はメモリを制御するメモリ制御装置に関し、更
に詳細には同一メモリ間又は異なるメモリ間でのデータ
転送を制御するメモリ装置に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a memory control device that controls memories, and more particularly to a memory device that controls data transfer between the same memory or between different memories.

(従来の技術) 従来、メモリの1ビツト又はそれ以上の情報でCRT等
のディスプレイの1点を表現するビットマツプ方式にお
ける文字描画や一部画面の移動など、リフレッシュメモ
リ(VRAM)への矩形エリアのデータ転送はソフトウ
ェアにより処理されていた。この構成は多くのプログラ
ムステップを必要とするので、データ転送の処理時間を
多く必要とするという問題点を有していた。
(Prior art) Conventionally, rectangular areas are stored in refresh memory (VRAM), such as when drawing characters or moving part of a screen using a bitmap method that expresses one point on a display such as a CRT using one or more bits of information in memory. Data transfer was handled by software. Since this configuration requires many program steps, it has the problem of requiring a large amount of processing time for data transfer.

そこで、この問題点を解決して高速化を図るために、例
えば特開昭58−4470号公報には、転送アドレスカ
ウンタをハードウェアで持ち、コントロールロジックに
より矩形エリアのデータ転送を高速化する技術が開示さ
れている。
Therefore, in order to solve this problem and increase the speed, for example, Japanese Patent Laid-Open No. 58-4470 discloses a technology that has a transfer address counter in hardware and uses control logic to speed up data transfer in a rectangular area. is disclosed.

(発明が解決しようとする問題点) しかしながら、上記文献に記載の構成にあってはデータ
転送の高速化は達成できるが、データ幅に関する考慮が
なされていないため、例えばlワードのビット数が多い
場合には転送装置、転送サイズとも制約を受けるという
問題点があった。
(Problem to be Solved by the Invention) However, although the configuration described in the above document can achieve high-speed data transfer, it does not take data width into account, so for example, the number of bits in an l word is large. In some cases, there is a problem in that there are restrictions on both the transfer device and the transfer size.

従って、この発明はこれらの問題点を解決し、データ幅
に関係なく転送サイズの制約を受けずに任意の位置にビ
ット単位に高速に行なうことを可能とするメモリ制御装
置を提供することを目的とする。
Therefore, an object of the present invention is to provide a memory control device that solves these problems and enables high-speed transfer of bits to any position regardless of data width and without restrictions on transfer size. shall be.

(問題点を解決するための手段) この発明は同一メモリ間又は異なるメモリ間のデータ転
送を制御するメモリ制御装置である。
(Means for Solving the Problems) The present invention is a memory control device that controls data transfer between the same memories or between different memories.

この発明によれば、このメモリ制御装置はシフト回路と
マスク回路とシフト・マスク回路とを具備する。シフト
回路は転送元に記憶されているデータをビット単位でシ
フトさせる。マスク回路はシフトされた転送元のデータ
をビット単位にマスクして転送先に書込むデータを出力
する。シフト・マスク回路は転送元及び転送先のデータ
の格納状態を含む情報に基づき、シフト回路のシフト量
とマスクに関する情報とを決定する。
According to the invention, this memory control device includes a shift circuit, a mask circuit, and a shift mask circuit. The shift circuit shifts the data stored in the transfer source bit by bit. The mask circuit masks the shifted data of the transfer source bit by bit and outputs data to be written to the transfer destination. The shift mask circuit determines the shift amount of the shift circuit and information regarding the mask based on information including the storage state of data at the transfer source and the transfer destination.

(作 用) 転送元のデータはシフト回路によりビット単位でシフト
され、マスク回路により更にビット単位でマスクされて
転送先に書込まれる。このビット単位のシフト及びマス
クは転送元及び転送先のデータの格納状態を含む情報に
基づき、シフトーマスク回路により制御される。
(Operation) Data at the transfer source is shifted bit by bit by the shift circuit, further masked bit by bit by the mask circuit, and written to the transfer destination. This bit-by-bit shifting and masking is controlled by a shift-mask circuit based on information including the data storage states of the transfer source and transfer destination.

例えば、同一メモリ間でのリードモディファイライト方
式によるデータ転送を例にとると、このメモリ内に記憶
されている転送すべきデータはシフト回路に入力される
。シフト回路は転送元のドツトアドレスと転送先のドツ
トアドレスの転送スタート点の差だけ転送元のデータを
シフトさせる。マスク回路はシフトされた転送元のデー
タに加え転送先のデータを入力し、マスク情報に基づき
いずれのデータを前記メモリの転送先へ書込むべきかを
決定する。例えば、同一メモリの転送元に現在書込まれ
ているデータを書き換える必要がない部分は転送元のデ
ータが再び書込まれ、書き換える必要がある部分はシフ
ト回路からのデータが書込まれる。いずれのデータを書
込むかは転送元及び転送先のデータの格納状態に関する
情報に基づきシフト・マスク回路により決定される。同
様にシフト回路のシフト量もシフト・マスク回路により
決定される。
For example, when data is transferred between the same memories using the read-modify-write method, data to be transferred stored in this memory is input to a shift circuit. The shift circuit shifts the data at the source by the difference between the transfer start points of the source dot address and the destination dot address. The mask circuit inputs the shifted data of the transfer source as well as the data of the transfer destination, and determines which data should be written to the transfer destination of the memory based on the mask information. For example, data from the transfer source is rewritten in a portion of the same memory where there is no need to rewrite the data currently written in the transfer source, and data from the shift circuit is written in a portion that needs to be rewritten. Which data to write is determined by a shift mask circuit based on information regarding the storage state of data at the transfer source and transfer destination. Similarly, the shift amount of the shift circuit is determined by the shift mask circuit.

(実施例) 以下、この発明を実施例に基づき図面を参照して詳細に
説明する。
(Example) Hereinafter, the present invention will be described in detail based on an example with reference to the drawings.

はじめに、以下の説明では転送元をソース、転送先をデ
ィスティネーションと称する。また、以下に述べる第1
の実施例はソース、ディスティネーションとも同一のメ
モリ(VRAM)とし、任意の矩形エリアのデータを転
送するものとして説明する。尚、この転送をここではV
RA)I→VRAM転送という。
First, in the following explanation, the transfer source will be referred to as the source, and the transfer destination will be referred to as the destination. In addition, the first
The following embodiment will be described assuming that both the source and destination are the same memory (VRAM) and that data of an arbitrary rectangular area is transferred. Note that this transfer is referred to here as V
This is called RA) I→VRAM transfer.

まず、第1の実施例で行なわれるVRAM→VRAM転
送の概念及びこれに関する符号の定義を、第2図(a)
及び(b)を参照して説明する。第2図(a)はVRA
Mの記憶領域を示す。
First, the concept of VRAM→VRAM transfer performed in the first embodiment and the definition of the symbols related thereto are shown in FIG. 2(a).
This will be explained with reference to and (b). Figure 2 (a) shows the VRA
The storage area of M is shown.

同図において、PはVRAMのピッチ、SPはソース側
の転送スタート点、0円士ディスティネーション側の転
送スタート点、HSは水平方向転送サイズ、vSは垂直
方向転送サイズである。これらの情報(以下、巾にsp
、 op等という)は第2図に図示しない中央処理装置
(以下、CPUという)によりセットされ、その後の転
送の起動によりSのデータがDに転送される。この際、
この発明によれば、後述するように、転送位置及び転送
サイズともビット単位に自由に行なうことができる。尚
、転送順序は左から右、上から下に行なわれる。また、
図中の小区画内の数字はVRAMのアドレスを示し、こ
の例ではVRAMの形状として横巾Pワード、縦Nライ
ンの場合を示している。
In the figure, P is the VRAM pitch, SP is the transfer start point on the source side, the transfer start point on the destination side, HS is the horizontal transfer size, and vs is the vertical transfer size. This information (hereinafter referred to as SP)
. On this occasion,
According to this invention, as will be described later, both the transfer position and the transfer size can be freely changed in bit units. Note that the transfer order is from left to right and from top to bottom. Also,
The numbers in the small sections in the figure indicate addresses of the VRAM, and in this example, the VRAM has a shape of P words in width and N lines in length.

第2図(b)の(イ)及び(ロ)はそれぞれSP及びD
Pの最上位ラインの詳細を示す、同図において、SPは
ワード単位のアドレスS%1lA(以下、SWAという
)とドツト単位の位置(ドツトアドレス)SDA  (
以下、S[]Aという)によりビット単位に指定される
。 DPもSPと同様に、ワード単位のアドレスOWa
  (以下、DWAという)とドツト単位の位置00A
(以下、[)DA )によりビット単位に指定される。
(a) and (b) in Figure 2(b) are SP and D, respectively.
In the figure, which shows details of the top line of P, SP is an address in word units S%1lA (hereinafter referred to as SWA) and a position in dot units (dot address) SDA (
(hereinafter referred to as S[]A) in bit units. Like SP, DP also uses word-based address OWa.
(hereinafter referred to as DWA) and position 00A in dot units
(hereinafter, [)DA) is specified in bit units.

また、図中、HSは横方向の転送サイズ(以下、単にH
5という)で、ワード単位の横方向転送サイズHIII
S  (以下、HWS という)とビット単位の横水平
方向転送サイズHDS  (以下、HDSという)によ
り指定される。
In addition, in the figure, HS is the horizontal transfer size (hereinafter simply H
5), and the horizontal transfer size in words HIII
S (hereinafter referred to as HWS) and horizontal transfer size HDS (hereinafter referred to as HDS) in bit units.

次に、上記VRAM→VRAI’1転送を行なう第1の
実施例のハードウェア構成を示すブロック図を第1図に
示す。同図において、lはCPU、2,3及び4はそれ
ぞれcpu tのアドレスバス、データバス及びコント
ロールバスである。5は図示しないCRTの表示アドレ
スを発生する表示アドレス発生部、6は第2図(a)の
記憶領域をもつVRAM13のソースアドレス及びディ
スティネーションアドレスを生成する転送アドレス生成
部、7は表示アドレス発生部5.転送アドレス生成部6
及びcpu iのアドレスバス2のうちいずれか1つを
選択しVRAM13へアドレスを供給するアドレス切替
部である。8はVRAM13から出力されるソースデー
タの一時記憶用のレジスタである。9はcpu iから
データを書込む場合と、VRAM→VRAM転送時にレ
ジスタ8内のソースデータを書込む場合の切替スイッチ
である。
Next, FIG. 1 shows a block diagram showing the hardware configuration of a first embodiment that performs the VRAM→VRAI'1 transfer. In the figure, 1 is a CPU, and 2, 3, and 4 are an address bus, a data bus, and a control bus of the CPU, respectively. Reference numeral 5 denotes a display address generation unit which generates a display address for a CRT (not shown); 6 a transfer address generation unit which generates a source address and a destination address for the VRAM 13 having the storage area shown in FIG. 2(a); and 7 a display address generation unit. Part 5. Transfer address generation unit 6
and an address switching unit that selects one of the address buses 2 of CPU i and supplies an address to the VRAM 13. 8 is a register for temporarily storing source data output from the VRAM 13. 9 is a changeover switch for writing data from CPU i and for writing source data in register 8 during VRAM→VRAM transfer.

lOは切替スイッチ9を介して供給されるデータをリン
グ状にシフトするバレルシフタである。11は書き換え
の必要のないデータを元のままに保持するためのマスク
回路である。12はバレルシフタ10とマスク回路11
を制御するシフト・マスク生成部である。シフト令マス
ク生成部12はバレルシフタlOに対しデータのシフト
量を与え、マスク回路11に対しどのビットをマスクす
るかの指示を与える。 14はVRAM13の内容をC
PU 1が読込むためのバッフ7レジスタである。 1
5はVRAM13の内容を図示しないCRTに表示する
ためにパラレルなデータをシリアルなデータに変換する
パラレル/シリアル変換部である。16はCPU 1か
らの起動により、転送アドレス生成部6.アドレス切替
部7.レジスタ8及びシフトマスク生成部12を1回の
バスサイクルごとに制御し、VRAM→VRAI’1転
送の実行を制御する制御部である。
IO is a barrel shifter that shifts the data supplied via the changeover switch 9 in a ring shape. Reference numeral 11 denotes a mask circuit for retaining data that does not need to be rewritten as it was. 12 is a barrel shifter 10 and a mask circuit 11
This is a shift mask generator that controls the The shift command mask generation unit 12 provides the amount of data shift to the barrel shifter 10, and provides an instruction to the mask circuit 11 as to which bit to mask. 14 is the contents of VRAM13
This is a buffer 7 register for PU 1 to read. 1
Reference numeral 5 denotes a parallel/serial converter that converts parallel data into serial data in order to display the contents of the VRAM 13 on a CRT (not shown). 16 is a transfer address generation unit 6.1 upon activation from the CPU 1. Address switching unit 7. This is a control unit that controls the register 8 and the shift mask generation unit 12 for each bus cycle, and controls the execution of VRAM→VRAI'1 transfer.

次に、転送アドレス生成部6の詳細な構成例を第3図に
示す、20はディスティネーションアドレスレジスタ(
以下、DAI)Rトイウ)−t’、VRAM13(7)
ディスティネーションアドレスを示す、この初期値は第
2図(b)のDWAにセットされている。このアドレス
はデータを1回又は2回書くごとに+1又は新しい値に
セットされる。 21はデイステイネーラインラインス
タートアドレスレジスタ(以下、DLSAという)で、
0ADR20と同様に初期値はDIIIAにセットされ
ており、ディスティネーション側の矩形エリアの左端の
アドレスを示す、このアドレスはlラインの転送が終る
まで同じ値を保持し、次のラインに転送を移すとき+ピ
ッチされる。このとき、同じ値がDADR20にも格納
され、ディスティネーションアドレスも次のラインの左
端へ移動する。22はソースアドレスレジスタ(以下、
5ADRという)、23はソースラインスタートアドレ
スレジスタ(以下、5LSAという)である。これらの
初期値はともに第2図(b)のSWAにセットされる。
Next, a detailed configuration example of the transfer address generation section 6 is shown in FIG. 3, where 20 is a destination address register (
Hereinafter, DAI) R toiu) -t', VRAM13 (7)
This initial value indicating the destination address is set in the DWA of FIG. 2(b). This address is set to +1 or a new value each time data is written once or twice. 21 is a destination line start address register (hereinafter referred to as DLSA);
Like 0ADR20, the initial value is set to DIIIA, which indicates the left end address of the rectangular area on the destination side. This address holds the same value until the transfer of l line is completed, and transfer is transferred to the next line. When + pitched. At this time, the same value is also stored in the DADR 20, and the destination address is also moved to the left end of the next line. 22 is a source address register (hereinafter referred to as
5ADR), and 23 is a source line start address register (hereinafter referred to as 5LSA). Both of these initial values are set in SWA in FIG. 2(b).

5ADH22はデータを1回読取るごとに+1又は新し
い値にセットされる。 5LSA23はlラインの転送
が終り、次のラインに転送を移すとき、後述するピッチ
レジスタ26の内容Pが加算される。このとき、同じ値
が5ADR22にも格納され、ソースアドレスも次のラ
インへ移動する。24はセレクタで。
5ADH22 is set to +1 or a new value each time data is read. When the 5LSA 23 completes the transfer of one line and moves on to the next line, the content P of the pitch register 26, which will be described later, is added. At this time, the same value is also stored in 5ADR22, and the source address also moves to the next line. 24 is a selector.

第1回に示す制御部1θから制御線24cを回して与え
られる制御信号により0AOR20、DLSA21 、
5ADR22及び5LSA23の出力のうちいずれか1
つを選択する。
0AOR20, DLSA21,
Any one of the outputs of 5ADR22 and 5LSA23
Select one.

25はデータlを格納するレジスタ、2BはCPU 1
からデータバス3を介して供給されるピッチPを格納す
るピッチレジスタ、2?はレジスタ25及びレジスタ2
Bの出力のうちいずれか1つを選択するセレクタである
。2Bは加算器で、セレクタ24とセレクタ27の出力
を加算する。29はセレクタで、制御線29cを介して
供給される制御信号に従って、加算器28の出力とcp
u tからのデータ(各レジスタの初期設定時のデータ
)のいずれか一方を選択し、0ADR20、0LSA2
1 、5AOR22及びSt、5A23の入力にそれぞ
れ供給する。30はアドレスセレクタで、制御部1Bか
ら制御線30cを介して供給される制御信号に従って、
DADR20の出力と5ADR22の出力のいずれか一
方を選択して、第1図に示されるアドレス切替部7を介
してVRAM13に供給する。尚、図中。
25 is a register that stores data l, 2B is CPU 1
A pitch register, 2?, stores the pitch P supplied via the data bus 3 from 2? is register 25 and register 2
This is a selector that selects one of the outputs of B. 2B is an adder that adds the outputs of the selectors 24 and 27. A selector 29 selects the output of the adder 28 and cp according to a control signal supplied via a control line 29c.
Select one of the data from u t (data at the time of initial setting of each register), 0ADR20, 0LSA2
1, 5AOR22 and St, 5A23 inputs, respectively. 30 is an address selector which selects the address selector according to the control signal supplied from the control unit 1B via the control line 30c.
Either the output of the DADR 20 or the output of the 5ADR 22 is selected and supplied to the VRAM 13 via the address switching unit 7 shown in FIG. In addition, in the figure.

20c 、 21c 、 22c及び23cはそれぞれ
制御部16からDADR20、DLSA21 、5AD
R22及び5LSA23に制御信号を供給するストロー
ブ信号線である。
20c, 21c, 22c, and 23c are the DADR 20, DLSA 21, and 5AD from the control unit 16, respectively.
This is a strobe signal line that supplies control signals to R22 and 5LSA23.

このような構成により、転送アドレス生成部6は転送ア
ドレス(ソースアドレスとディスティネーションアドレ
スの両方を含めたアドレス)がVRAM13の記憶領域
上を左から右、上から下へと移動する0例えば、この動
作の1つとして口LSA21の値にピッチレジスタ26
の値を加え、加算値を口LSA21とDADR20に格
納する場合には以下の通りに制御すれば実現できる。ま
ず、制御線24cを介してセレクタ24をDLSA21
のデータが選択されるようセットし、制御線27cを介
してセレクタ27をピッチレジスタ2Bのデータが選択
されるようにセットする。また、セレクタ29を制御線
29cを介して加算器28の出力が選択されるようにセ
ットする。加算器28の出力はストローブ信号線200
及び21cの制御により、0ADR20及びDLSA2
1に書込まれる。
With such a configuration, the transfer address generation unit 6 generates a transfer address (an address including both a source address and a destination address) that moves from left to right and from top to bottom on the storage area of the VRAM 13. As one of the operations, the pitch register 26 is set to the value of the mouth LSA 21.
Adding the value and storing the added value in the LSA 21 and DADR 20 can be realized by controlling as follows. First, the selector 24 is connected to the DLSA 21 via the control line 24c.
The selector 27 is set via the control line 27c so that the data in the pitch register 2B is selected. Further, the selector 29 is set so that the output of the adder 28 is selected via the control line 29c. The output of the adder 28 is connected to the strobe signal line 200.
and 21c, 0ADR20 and DLSA2
Written to 1.

尚、第3図に示される制御線及びストローブ信号線の制
御は、後述する制御フローチャートに従って動作する制
御部16により行なわれる。
The control lines and strobe signal lines shown in FIG. 3 are controlled by a control section 16 that operates according to a control flowchart described later.

第4図に第1図に示すシフト・マスク生成部12の詳細
な構成例を示す。同図において、31は第1のマスク情
報を格納するマスクレジスタ■(以下、Mlという)、
32は第2のマスク情報を格納するマスクレジスタII
 (以下、MIIという)である。42はMU32にデ
ータを格納する時、後述する加算器37のキャリーを同
時に格納するレジスタ(以下、MIIcという)である
、33はソース側の転送スタート点のドツト位ii 5
DADを記憶するソースドツトアドレスレジスタ(以下
、5DADという)、34はディスティネーション側の
転送スタート点のドツト位置DDADから5DADを減
算した結果書られるバレルシフタlO(第1図)のシフ
ト1sHIFTを記憶するレジスタ(以下、5HIFT
という)である、35は水平方向のビット単位の転送サ
イズHDSを記憶する水平ドツトレジスタ(以下、HO
OTという)である、3Bはセレクタで、制御部1B(
第1図)から制御線38cを介して与えられる制御信号
に基づき、5DAD33 、5HIFT 34及びHD
OT35の出力のいずれか1つを選択し出力する。3B
は初期設定時にCPU lからデータバス3を介して与
えられるDDADを格納するレジスタ、39はデータ0
を格納するレジスタ、40は制御部16から制御線40
cを介して与えられる制御信号に基づきレジスタ38及
び39のいずれか1つの出力を選択するセレクタである
。尚、レジスタ38が選択されたことは、セレクタ36
の出力をそのまま加算減算器37から出力することを意
味する。37は加算器で、セレクタ3B及び40の出力
を加算又は減算する。加算と減算の選択は、制御部I8
から制御線37cを介して与えられる制御信号によって
行なわれる。41はセレクタで、制御部16から制御線
41cを介して与えられる制御信号に基づき、加算減算
器37とCPU lからのデータ(各レジスタの初期設
定時のデータ)のいずれか1つを選択しM I 31 
、 M II 32 、 SDA[133、5t(EF
T34及びHDOT35に出力する。選択されたデータ
を取込むかどうかは、ストローブ信号線31c 、 3
2c 。
FIG. 4 shows a detailed configuration example of the shift mask generation section 12 shown in FIG. 1. In the figure, 31 is a mask register (hereinafter referred to as Ml) that stores first mask information;
32 is a mask register II that stores second mask information.
(hereinafter referred to as MII). 42 is a register (hereinafter referred to as MIIc) that simultaneously stores the carry of the adder 37, which will be described later, when data is stored in the MU 32. 33 is the dot position ii 5 of the transfer start point on the source side.
A source dot address register (hereinafter referred to as 5DAD) stores the DAD, and 34 is a register that stores the shift 1sHIFT of the barrel shifter IO (Fig. 1) written as a result of subtracting 5DAD from the dot position DDAD of the transfer start point on the destination side. (Hereinafter, 5HIFT
35 is a horizontal dot register (hereinafter referred to as HO) that stores the transfer size HDS in bit units in the horizontal direction.
3B is a selector, and control unit 1B (referred to as OT) is a selector.
5DAD 33, 5HIFT 34 and HD
Select and output one of the outputs of the OT35. 3B
is a register that stores DDAD given from CPU l via data bus 3 during initial setting, and 39 is data 0.
A register 40 stores the control line 40 from the control unit 16.
This is a selector that selects the output of one of registers 38 and 39 based on a control signal given via c. Note that the selection of the register 38 means that the selector 36
This means that the output from the adder/subtracter 37 is output as is. 37 is an adder that adds or subtracts the outputs of selectors 3B and 40; The selection between addition and subtraction is made by the control unit I8.
This is performed by a control signal applied from the control line 37c to the control line 37c. 41 is a selector that selects either one of the data from the adder/subtractor 37 and the data from the CPU I (data at the time of initial setting of each register) based on a control signal given from the control unit 16 via the control line 41c. MI 31
, M II 32 , SDA [133, 5t (EF
Output to T34 and HDOT35. Whether or not to capture the selected data is determined by the strobe signal lines 31c and 3.
2c.

33c、34c及び35cを介した制gI部16からの
制御信号により決定される。
It is determined by the control signal from the control gI section 16 via 33c, 34c and 35c.

MI31及びM TI 32の出力は、それぞれマスク
源I43及びマスク源Tl44の入力に接続されている
The outputs of MI31 and M TI 32 are connected to the inputs of mask source I43 and mask source Tl44, respectively.

マスク源I43はMI31から出力される第1のマスク
情報に対応して、VRAM1Bから出力されるデータの
各ビットに対してマスクをすべきかどうかの情報を出力
する。ここで、第1のマスク情報とマスク源I43との
関係を規定するマスク源I真理値表を第1表に示す。
The mask source I43 outputs information as to whether each bit of data output from the VRAM 1B should be masked, in response to the first mask information output from the MI 31. Here, Table 1 shows a mask source I truth table that defines the relationship between the first mask information and the mask source I43.

(以下余白) 同表は第1のマスク情報が4ビツトで、lワード16ビ
ツト幅の場合を示している。同表かられかるように、マ
スク源I43からは、第1のマスク情報がすべてOのと
きは16ビツト全部をノーマスク(0°°で示される)
とし、他の場合は第1のマスク情報をデコードしたビッ
トを含まずにこれによりLSB側をマスクする(“l”
で示される)出力が得られる。同様に、マスク源H44
は下記の第2表に示されるマスク源■真理値表を具備す
る。
(Left below) This table shows the case where the first mask information is 4 bits and the width of 1 word is 16 bits. As can be seen from the table, when the first mask information is all O from the mask source I43, all 16 bits are left unmasked (indicated by 0°).
In other cases, the LSB side is masked without including the bit decoded from the first mask information (“l”
) output is obtained. Similarly, mask source H44
has a mask source truth table shown in Table 2 below.

(以下余白) 同表かられかるように、マスク源1144からは、第2
のマスク情報がすべて0のときはIBビット全部をマス
クし、他の場合は第2のマスク情報をデコードしたビッ
トを含み、これよりMSB側をマスクする出力が得られ
る。
(Left below) As can be seen from the table, from the mask source 1144, the second
When the mask information is all 0, all IB bits are masked, and in other cases, bits obtained by decoding the second mask information are included, and from this, an output that masks the MSB side is obtained.

マスク源Iの出力(マスクビット)はEORゲート45
の一方の入力に供給され、マスク源■の出力(マスクビ
ット)はEORゲート46の一方の入力に供給される。
The output of mask source I (mask bits) is output from EOR gate 45.
The output of the mask source (mask bit) is supplied to one input of the EOR gate 46.

EORゲート45及び46の他方の入力は第1図の制御
部1Bからのマスク反転制御線51に接続される。マス
ク源I43及びマスク源1144の出力はマスク反転制
御線51の状態により反転、非反転の制御を受ける。 
EORゲート45及び4Bの出力はそれぞれANDゲー
ト47及び48の一方の入力に接続される。 ANDゲ
ート47及び48の他方の入力はそれぞれ制御部1Bに
接続されたマスクI有効制御線52及びマスクII有効
制御線53に接続されている。これらの制御線52及び
53の状態により、マスク源I43及びマスク源lI4
4の出力がいずれも有効な場合と、マスク源I43の出
力のみが有効な場合と、マスク源1144の出力のみが
有効な場合とのいずれかに制御される。 ANDゲート
47及び48の出力はORゲート48及びマスク線50
を介して、第1図のマスク回路11の端子Mに接続され
る。
The other inputs of EOR gates 45 and 46 are connected to mask inversion control line 51 from control section 1B in FIG. The outputs of the mask source I43 and the mask source 1144 are controlled to be inverted or non-inverted depending on the state of the mask inversion control line 51.
The outputs of EOR gates 45 and 4B are connected to one input of AND gates 47 and 48, respectively. The other inputs of the AND gates 47 and 48 are connected to a mask I valid control line 52 and a mask II valid control line 53, respectively, which are connected to the control section 1B. Depending on the states of these control lines 52 and 53, mask source I43 and mask source lI4
Control is performed so that all outputs of the mask source I43 are valid, only the output of the mask source I43 is valid, or only the output of the mask source 1144 is valid. The outputs of AND gates 47 and 48 are connected to OR gate 48 and mask line 50.
is connected to the terminal M of the mask circuit 11 in FIG.

以上のように、2種類のマスク源を有し、これらをEO
Rゲート45.4B、ANDゲート47.48及びOR
ゲート48を介することによりマスク線50において、
任意の位置に任意の幅で連続したマスクエリア、ノーマ
スクエリアを作り出すことができることはこの発明の最
大の特徴である。
As mentioned above, there are two types of mask sources, and these are used as EO.
R gate 45.4B, AND gate 47.48 and OR
At the mask line 50 through the gate 48,
The greatest feature of this invention is that it is possible to create continuous mask areas and non-mask areas at arbitrary positions and with arbitrary widths.

第5図に、第1図に示すマスク回路11の詳細な構成例
を1ビツトについて示す、同図において、60はバレル
シフタ10の出力に接続され、ANDゲート62にソー
ス側のデータを供給するための信号線、81はVRAM
13の出力に接続され、これからデータを書込むべきデ
ィスティネーシ目ン側の書込み実行以前のデータをAN
Dゲート63に供給するための信号線である。マスク線
50はANDゲート62にインバータを介して接続され
、ANDゲート63の入力に接続される。 ANDゲー
ト62及び83の出力はORゲート64の入力となる。
FIG. 5 shows a detailed configuration example of the mask circuit 11 shown in FIG. signal line, 81 is VRAM
It is connected to the output of
This is a signal line for supplying to the D gate 63. The mask line 50 is connected to an AND gate 62 via an inverter and to an input of an AND gate 63. The outputs of AND gates 62 and 83 become inputs to OR gate 64.

ORゲート84の出力はVRAM13の入力に接続され
る。動作について説明すると、マスク線50が“1”の
ビットのときはディスティネーション側が選択され、“
O”のビットのときはソース側が選択され、VRAM1
3の書込みデータとなる。従って、マスクビットが1の
データに対しては前と同じデータが書込まれ、0のデー
タに対してはソース側のデータが書込まれる。
The output of OR gate 84 is connected to the input of VRAM13. To explain the operation, when the mask line 50 is a “1” bit, the destination side is selected;
When the bit is “O”, the source side is selected and VRAM1
This will be the write data of 3. Therefore, for data whose mask bit is 1, the same data as before is written, and for data whose mask bit is 0, source side data is written.

第6図に、第1図に示す制御部1Bの詳細な構成例を示
す、 70はVRAM→VRAM転送を起動するスター
トレジスタで、CPU lがセットすることによりコン
トロールツリー71に起動がかかり、コントロールツリ
ー71が動作を開始することでリセットされる。72は
横方向の転送ワードサイズHWSを記憶するレジスタで
、cpu tが初期設定する。73は水平方向の転送量
を管理するカウンタで、横方向に1ワードデータ転送が
終るたびに−1され、0になるとコントロールツリー7
1にそれを知らせるとコントロールツリーによりHWS
がロードされ初期値に戻る。74は縦方向の転送ワード
数vsを管理するカウンタで、CPU lが初期値をセ
ットする。 VRAに→VRAM転送が開始されると横
1ライン転送が終るごとに−lされ、Oになるとコント
ロールツリー71にそれを知らせ、転送が終了する。7
5は、ソース側とディスティネーション側のドツト位置
関係を記憶するレジスタで、あらかじめCPU lが計
算し初期設定する。この状態により、コントロールツリ
ー71の動作が後述するように異なる。76はコントロ
ールツリー71が動作する時のフラグを与えるフリップ
フロップ(ILFFという)、矩形エリアの左端の転送
を行なっている事を示し、コントロールツリー71がセ
リト、リセットする。77はフリップフロップ78と同
じくコントロールツリー71が動作する時のフラグを与
えるフリップフロップ(RFD、Fという)である、7
1は本装置の各部を後述するアルゴリズムに従って制御
するコントロールツリーである。コントロールツリー7
1からは前述した各種制御線が出力されている。
FIG. 6 shows a detailed configuration example of the control unit 1B shown in FIG. It is reset when the tree 71 starts operating. A register 72 stores the horizontal transfer word size HWS, and is initialized by CPU t. 73 is a counter that manages the amount of data transferred in the horizontal direction, and is decremented by 1 every time one word of data is transferred in the horizontal direction, and when it reaches 0, the control tree 7
1, the HWS will be notified by the control tree.
is loaded and returns to the initial value. Reference numeral 74 denotes a counter for managing the number of words to be transferred in the vertical direction vs. the initial value is set by the CPU l. When VRA → VRAM transfer is started, -1 is set every time one horizontal line transfer is completed, and when it becomes 0, the control tree 71 is notified of this and the transfer ends. 7
A register 5 stores the dot positional relationship between the source side and the destination side, and is calculated and initialized by the CPU 1 in advance. Depending on this state, the operation of the control tree 71 differs as will be described later. A flip-flop (ILFF) 76 provides a flag when the control tree 71 operates, indicating that the left end of the rectangular area is being transferred, and the control tree 71 is reset. Similarly to the flip-flop 78, 77 is a flip-flop (referred to as RFD, F) that provides a flag when the control tree 71 operates.
Reference numeral 1 denotes a control tree that controls each part of the apparatus according to an algorithm described later. control tree 7
1 outputs the various control lines described above.

以上が、この発明の一実施例の構成である。The above is the configuration of one embodiment of the present invention.

次に、動作を説明する。Next, the operation will be explained.

:s7図に、動作概要を示すフローチャートを示す。同
図において、100はGPIJIが行なう初期設定であ
る。まずステップ101(以下、ステップを単にSと略
す)でVRA旧3の横幅ピッチPを設定する0次にソー
ススタートポイントSPを5102で設定する。具体的
には、$2図(b)にて説明したワードアドレスsWA
が第3図に示す5ADR22及びSl、5A23にそれ
ぞれ書込まれる0次にステップ103でディスティネー
ションスタートポイントDPを設定する。具体的には第
2図(b)にて説明したツー1フれぞれ書込まれる0次
に、ステップ104で横(水平)方向の転送サイズHS
を設定する。この際,cpulであらかじめDDAD 
+ HOOTを計算し、この値がIBより大のときは横
方向の転送ワードサイズHWSを+ll,て、第6図の
レジスタ72に書込む.またドツト部分HDSは第4図
に示すHDOT35に書込まれる。次に、縦方向の転送
サイズVSをステップ105で設定する。この際、第6
図に示すカウンタ74に初期値VSが設定される0次に
、ステップ10BでソースSとディスティネーションD
の大小関係をCPU 1で計算し、第6図に示すレジス
タ75に設定する0次に、ステップ107で第6図に示
すレジスタ70をセットし、コントロールツリー71に
動作起動を起こし、転送を開始する0以上のようにして
初期設定をした後、ソース側からディスティネーション
側へ、第2図(a)で示すような矩形・エリアのVRA
M→VRAM転送が実行される。
:s7 Figure shows a flowchart showing an outline of the operation. In the figure, 100 is the initial setting performed by GPIJI. First, in step 101 (hereinafter, step is simply abbreviated as S), the width pitch P of the old VRA 3 is set, and the source start point SP of the 0th order is set in 5102. Specifically, the word address sWA explained in $2 figure (b)
are respectively written to 5ADR22, Sl, and 5A23 shown in FIG. 3. Next, in step 103, a destination start point DP is set. Specifically, in step 104, the transfer size HS in the horizontal (horizontal) direction is
Set. At this time, use DDAD in advance using cpul.
+ HOOT is calculated, and if this value is larger than IB, the horizontal transfer word size HWS is +ll and written to the register 72 in FIG. Further, the dot portion HDS is written to HDOT 35 shown in FIG. Next, the vertical transfer size VS is set in step 105. At this time, the 6th
The initial value VS is set in the counter 74 shown in the figure. Next, in step 10B, the source S and the destination D are set.
The CPU 1 calculates the magnitude relationship of 0 and sets it in the register 75 shown in FIG. 6. Next, in step 107, the register 70 shown in FIG. After making the initial settings as described above, move the VRA from the source side to the destination side in a rectangular area as shown in Figure 2 (a).
M→VRAM transfer is performed.

次に、VRAM→VRAM転送を制御する第6図のコン
トロールツリー71の動作を動作フローチャートに従っ
て説明する.ここで、第12図(a)〜(d)を用いて
動作フローチャートで用いる図の記法を説明する.11
0はフリップフロップで、各ステップをきざんで行<、
111は条件判定で、論理ゲートで構成する.112は
そのステップで、コントロールツリー71が行なう動作
を示している. 113は記号の左側に、右側のデータ
が格納される様制御信号を出し1次のフリップフロップ
がセットされた時データが格納される.114は左側の
信号を右側の状態にする事を示す。115はフローチャ
ート間の結合関係を示し、この図形中の記号の同じ物同
志が結ばれる。
Next, the operation of the control tree 71 shown in FIG. 6, which controls VRAM→VRAM transfer, will be explained according to an operation flowchart. Here, the notation used in the operation flowchart will be explained using FIGS. 12(a) to 12(d). 11
0 is a flip-flop, and each step is divided into rows <,
Reference numeral 111 indicates conditional judgment, which is composed of logic gates. 112 indicates the operation performed by the control tree 71 at that step. 113 outputs a control signal so that the data on the right side is stored on the left side of the symbol, and when the primary flip-flop is set, the data is stored. 114 indicates that the left signal is changed to the right state. Reference numeral 115 indicates a connection relationship between flowcharts, in which objects having the same symbols in this figure are connected.

第8図はコントロールツリー71の初期動作フローであ
る。5201は動作起動を待っているフリップフロップ
で、第6図のスタートレジスタ70がセットされるまで
セットされ続ける。3202は第6図のスタートレジス
タ70の出力によるスタート判定部であり、スタートレ
ジスタ70がセットされると8203でSlがセットさ
れる。Slがセットされている時には5204に示す制
御動作を行なう補信号を出し、S2がセットされた時動
作が終了する。5TART R9Tは、スタートレジス
タ70をリセットする信号を出す、5HIFT −DD
AD−9DADは第1図及び第4図に示したシフト−マ
スク発生部12の各制御線に信号を出L IIDAD 
−5DAD(7)値を5)IIFT34に格納する。H
C←旧は6に示すレジスタ72の内容HSWをカウンタ
73に格納することを意味する。
FIG. 8 shows the initial operation flow of the control tree 71. A flip-flop 5201 waits for activation and continues to be set until the start register 70 in FIG. 6 is set. 3202 is a start determination section based on the output of the start register 70 in FIG. 6, and when the start register 70 is set, Sl is set at 8203. When S1 is set, a complementary signal for performing the control operation shown at 5204 is output, and when S2 is set, the operation ends. 5TART R9T issues a signal to reset the start register 70, 5HIFT -DD
AD-9DAD outputs signals to each control line of the shift-mask generator 12 shown in FIGS. 1 and 4.
-5DAD(7) value is stored in 5) IIFT34. H
C←old means that the contents HSW of the register 72 shown in 6 are stored in the counter 73.

5205で82がセットされたときには、第6図に示す
ソースとディスティネーションの位置関係を示すフラグ
SDに応じ、520Bの判定によりS=Dのとき、SA
Dのとき及びSADのいずれかに分岐し、処理される。
When 82 is set in 5205, SA is set according to the flag SD indicating the positional relationship between the source and destination shown in FIG.
It branches to either D or SAD and is processed.

第9図(a)にS=Dの場合を示す、まず、第8図の8
205の82がセットされ、このフローに分岐したとき
、5301に示す処理を行なうための各種制御信号を出
し、R1がセットされた時動作が完了する。
FIG. 9(a) shows the case where S=D. First, 8 in FIG.
When 82 of 205 is set and branching to this flow, various control signals for performing the processing shown at 5301 are issued, and when R1 is set, the operation is completed.

301はソースデータを第1図のレジスタ8に格納する
サイクルである。まず、33011ではレジスタ8にロ
ード信号を第1図に示す制御線80を介して出力し、転
送アドレス生成部6のアドレスセレクタ30(第3図)
に制御線30cを介して5ADR22の出力を選択する
制御信号を出力する。尚、以下の説明で、VRAM13
へ供給されるアドレスをVADRという、 53012
ではカウンタ73のHCの値に応じ、次の2通りに分れ
る。すなわち、IC=Oのときは今回が水平方向で最後
のディスティネーションリードを示し、H#Oのときは
水平方向のディスティネーションリードがまだ続行され
ていることを示す。
301 is a cycle in which source data is stored in register 8 in FIG. First, the 33011 outputs a load signal to the register 8 via the control line 80 shown in FIG.
A control signal for selecting the output of the 5ADR 22 is output via the control line 30c. In addition, in the following explanation, VRAM13
The address supplied to 53012 is called VADR.
Then, depending on the value of HC of the counter 73, the following two types are used. That is, when IC=O, it indicates that this is the last destination read in the horizontal direction, and when H#O, it indicates that the destination read in the horizontal direction is still being continued.

53013では、第4図のM n 32と5HIFT3
4にD[lAD −9DADを格納し、第3図の5AD
R22を+1し、第6図のカウンタ73を−1する。 
53014ではソースアドレスを次の行の先頭へ移し、
カウンタ73を初期化し、カウンタ74を−1し、M 
II 32をDDAD +HDOTに占き換える様、各
制御信号がコントロールツリー71から出力される。
53013, M n 32 and 5HIFT3 in Fig. 4
4 stores D[lAD -9DAD, and 5AD in Figure 3.
R22 is incremented by +1, and counter 73 in FIG. 6 is decremented by -1.
53014 moves the source address to the beginning of the next line,
Initialize the counter 73, increment the counter 74 by 1, and
Each control signal is output from the control tree 71 so that II 32 is replaced with DDAD +HDOT.

302ハレジスタ8の内容をバレルシフタ10でシフト
し、マスク回路11でマスクされたデータがディスティ
ネーションに書込まれる動作に関する。
302 relates to an operation in which the contents of the register 8 are shifted by the barrel shifter 10 and data masked by the mask circuit 11 is written to the destination.

53021ではMASK=MI  (有効とされるマス
ク源をMASK =で表わす)とするため第4図に示す
マスクI有効線52に制御信号を出し、VADRをDA
DRとするため、第3図に示すアドレスセレクタ30を
0ADR20が出力される補信号を出し、VRAM13
へのライトイネーブル信号を出す。
53021, in order to set MASK=MI (a valid mask source is represented by MASK=), a control signal is output to the mask I valid line 52 shown in FIG. 4, and VADR is changed to DA.
To set it as DR, the address selector 30 shown in FIG. 3 outputs a complementary signal that outputs 0ADR20,
Outputs a write enable signal to.

S 3022ではカウンタ73のHCの値に応じ二つに
分かれる。前記53012と同様にHC=Oの時は今が
水平方向最後のメキリライトを示し、HCζ0の時はま
だ処理が続行することを示す、 53024では次のワ
ード転送のため、J 31に5HIFT 34の値を書
込み、DADR20を+1する様制御信号を出す、 3
3024では転送を次のラインの左端に移すため、第3
図のDADR2G及び[1ISA21にDISA+ P
を格納するとともに、今回のライトが右端のため、マス
ク信号としてM n 32もMI31とともに出し、右
側の不要部分が書き換わるのを防ぐ。
In S3022, the process is divided into two depending on the HC value of the counter 73. Similarly to 53012, when HC=O, it indicates that this is the last write in the horizontal direction, and when HCζ0, it indicates that the process is still continuing. In 53024, for the next word transfer, the value of 5HIFT 34 is set in J 31. Write and issue a control signal to increase DADR20 by 1, 3
In 3024, in order to move the transfer to the left end of the next line, the third
DISA+P to DADR2G and [1ISA21 in the figure
Since the current write is at the right end, M n 32 is also output as a mask signal along with MI 31 to prevent unnecessary parts on the right side from being rewritten.

303は横方向の転送終了、縦方向の転送終了を判定す
る部分である。53031及びS 3032における1
(c= o 、 vc= oで全エリアの転送が終了し
、第8図のN0TBUSY 201をセラ)し、次の転
送起動まで待つ。
Reference numeral 303 is a part that determines the end of horizontal direction transfer and the end of vertical direction transfer. 1 in 53031 and S 3032
(The transfer of all areas is completed when c=o, vc=o, and NOTBUSY 201 in FIG. 8 is executed) and waits until the next transfer starts.

第9図(b)に5DAD= DDADの転送例を示す0
図は1ラインのみのソース及びディスティネーションを
示している。001は第1番目のソースデータでレジス
タ8に読込まれる。MI31にはDDADの値(この例
では7)があらかじめセットされているのでMIを有効
とする事で001 Aの部分がマスクされ、 0OIB
にのみソースデータが書込まれる。
Figure 9(b) shows an example of transfer of 5DAD=DDAD0
The figure shows only one line of source and destination. 001 is the first source data and is read into register 8. The value of DDAD (7 in this example) is preset in MI31, so by enabling MI, the 001A part is masked and becomes 0OIB.
Source data is written only to

次にソース、ディスティネーションともア、レスを+1
し、002をレジスタ8に読込む、MI132にはoo
tを読込む時DDAD+ HDOTの値(この例では1
5+7=22  下4ビットをとり6)がセットされて
おり、M II 32を有効とする事で002Aがマス
クされ、 002Bにのみソースデータが書込まれる。
Next, add 1 to the source and destination.
and reads 002 into register 8, oo to MI132
When reading t, the value of DDAD + HDOT (in this example, 1
5+7=22 The lower 4 bits are taken and 6) is set, and by enabling M II 32, 002A is masked and source data is written only to 002B.

この様にして必要な部分のみにデータが書込まれる。In this way, data is written only to the necessary portions.

あとはソースアドレス、ティステイネ−ジョンアドレス
を次のライン先頭へ移し、同様の処理がくり返され矩形
エリアのデータ転送が行なわれる。
After that, the source address and the destination address are moved to the beginning of the next line, and the same process is repeated to perform data transfer in the rectangular area.

第1O図(a)に5DAD< [1DADの場合の処理
フローを示す。401はソースからデータを読出しレジ
スタ8に格納するサイクルで、第9図(a)に示した3
01 と同じ動作をする。402はディスティネーショ
ンの左側への書込みで、403は右側への着込みサイク
ルである。すなわち1ワード転送するのに読んだデータ
を2回に分けてディスティネーションに書込む。S 4
021ではMI31を有効とし、VADR@ DADR
トI、 VRAM ライトイネーブル信号(VRAMW
E)を出し、0AOR20を+1する。 54022で
はカウンタ73のHe値に応じ二、つに分岐する。 5
4023ではHC″r、0、すなわち横方向の転送途中
であり、5HIFT 34の値をM T 31に格納し
、DADR20を+1する。
FIG. 1O(a) shows a processing flow when 5DAD<[1DAD. 401 is a cycle for reading data from the source and storing it in the register 8, which is the cycle 3 shown in FIG. 9(a).
Performs the same operation as 01. 402 is a write cycle to the left side of the destination, and 403 is a write cycle to the right side of the destination. That is, the data read to transfer one word is divided into two parts and written to the destination. S4
In 021, MI31 is enabled and VADR@DADR
I, VRAM write enable signal (VRAMW
E) and add 1 to 0AOR20. At 54022, the process branches into two depending on the He value of the counter 73. 5
At 4023, HC″r, 0, that is, horizontal transfer is in progress, the value of 5HIFT 34 is stored in M T 31, and DADR20 is incremented by 1.

S 4024は、横方向での最後の左側′転送の検出の
ため、MIIc42が0の判定を行なう、 54025
はMIIc42が0の時、すなわち、最後の転送が左側
だけで十分な時であり、MII32もマスク条件とし。
S4024 determines that MIIc42 is 0 in order to detect the last left 'transfer in the lateral direction.54025
is when MIIc42 is 0, that is, when the last transfer is sufficient only to the left side, and MII32 is also a mask condition.

次の右側転送を無効とする様に、MI31にDDAD 
+HDOTすなわちMII32と同じ値を格納する。4
03は右側への書込サイクルである。 54031では
VADRをDADRとし、 VRAMライトイネーブル
信号を出す、54032はHC=O判定を行なう、 5
4033はHCxOlすなわち横方向の転送がまだ続く
時に動作するもので、402で書込まれたディスティネ
ーションの次のアドレスの左側へデータを書込む場合で
ある。
DDAD to MI31 to disable the next right transfer.
+HDOT, that is, the same value as MII32 is stored. 4
03 is a write cycle to the right side. 54031 sets VADR to DADR and outputs a VRAM write enable signal, 54032 performs HC=O determination, 5
4033 operates when HCxOl, that is, horizontal transfer is still continuing, and is when writing data to the left side of the next address of the destination written in 402.

したがって、MI31の反対側をマスクするため、マス
ク反転制御線51の制御信号によりマスク源!43及び
マスク源n44の出力をそれぞれEORゲート45及び
4B−t’反転さセ(MASK INV)  、 M 
I 31を有効とする。54035では前述の4024
と同様の判定をする。 8403Bは横方向の最後で左
側転送が不要な場合であり、54025でMI31はM
II32と同じ値にセットされている。ここで、MI3
1をイネーブルとすることで、54034でMII32
がイネーブルとなっているので両方がイネーブルとなり
、全ビットがマスクされ書込み動作は行なわれない、4
04は、第9図(b)の303と同様である。
Therefore, in order to mask the opposite side of MI 31, the mask source! 43 and mask source n44 are respectively inverted by EOR gate 45 and 4B-t' (MASK INV), M
I 31 shall be valid. In 54035, the above-mentioned 4024
Make the same judgment. 8403B is the case where left side transfer is not required at the end of the horizontal direction, and MI31 is M at 54025.
It is set to the same value as II32. Here, MI3
By enabling 1, MII32 with 54034
is enabled, so both are enabled, all bits are masked, and no write operation is performed.4
04 is similar to 303 in FIG. 9(b).

第1O図(b)にSDA口< DDADの転送例を示す
、Ollは第1番目のソースデータで、第1図に示すレ
ジスタ8に読込まれる。読込まれたデータはバレルシフ
タ10でシフトされ、M I 31を有効にすることで
0OIAがマスクされ、001Bのみにデータが書込ま
れる。ディスティネーションアドレスを+1し、M I
 31を有効とし、マスク反転される(M I )こと
により0110がマスクされ、011Gにのみデータが
書込まれる。次にソースアドレスを+1し、012のデ
ータをレジスタ8に読込む、MII32は口DA口+)
IDOTにセットされているので、MI31とM II
 32を有効にすることで012Aと0120がマスク
され、012Bのみデータが書込まれる0次はMI31
がD[]A[l+HDOT、すなわちM I 31と同
じ値にセットされMI31とMI32を有効とすること
で0120 、012Eともマスク、すなわち全ビット
マスクされる。これらの動作をくり返し、矩形エリアの
データ転送が行なわれる。
FIG. 1(b) shows an example of a transfer where SDA<DDAD. Oll is the first source data and is read into the register 8 shown in FIG. The read data is shifted by the barrel shifter 10, and by enabling M I 31, 0OIA is masked and data is written only to 001B. Add 1 to the destination address and M I
31 is made valid and the mask is inverted (M I ), thereby masking 0110 and writing data only to 011G. Next, add 1 to the source address and read the data of 012 into register 8, MII32 is 口DA口+)
Since it is set to IDOT, MI31 and M II
By enabling 32, 012A and 0120 are masked, and only 012B is written. The 0th order is MI31.
is set to D[]A[l+HDOT, that is, the same value as MI31, and MI31 and MI32 are enabled, thereby masking both 0120 and 012E, that is, all bits are masked. These operations are repeated to transfer data in a rectangular area.

第11図(a)にSDA口〉DDADの場合の処理を示
す。
FIG. 11(a) shows the processing in the case of SDA>DDAD.

501はソースからデータを読出しレジスタ8に格納す
るサイクルで第1θ図(a)に示した401と同じ動作
に加え、無条件で第6図のフリー2プフロツプ7Bをセ
ットしくRED 5ET) 、 IC= Oの時にはフ
リップフロップ77をセットする(ILFF 5ET)
、 502はディスティネーションの右側への書込みサ
イクル、503は左側への書込みサイクルで5DAD<
 DDADの場合と同様にlワード読んで2回に分けて
書込む。
501 is a cycle for reading data from the source and storing it in the register 8. In addition to the same operation as 401 shown in FIG. When O, set flip-flop 77 (ILFF 5ET)
, 502 is a write cycle to the right side of the destination, 503 is a write cycle to the left side of the destination, and 5DAD<
As in the case of DDAD, l words are read and written in two parts.

S 5021 、 S 5022は各々S 4021 
、 S 4022と同じ働きをする。35023はフリ
ップフロップ76のILPPの判定をする。 5502
4はILFF= 1 、すなわち横方向の第1ワードの
時で、第11図(b)の012Bの部分の書込み動作を
するのでM II 32も出力させる。また022Bの
書込みのためDADRは+1しないでおく必要がある。
S 5021 and S 5022 are each S 4021
, has the same function as S4022. 35023 determines the ILPP of the flip-flop 76. 5502
4 is when ILFF=1, that is, the first word in the horizontal direction, and since the writing operation of the part 012B in FIG. 11(b) is performed, M II 32 is also output. Furthermore, in order to write 022B, DADR must not be +1.

また、022Cの書込みを行なわせないためフリップフ
ロップ77をリセットする。 35027はHC= 0
 、 MIIc = Oの場合、すなわち横方向最後の
転送で2回目の書込み動作が不要の時であるのでフリッ
プフロップ7Bをリセットし、マスク情報としてM n
 32もイネーブルにする。 35028では、フリッ
プフロップ7Bの値により2回目のメモリライトを飛越
す、503は2回目のメモリライトサイ’)Ay−QT
o6.5503141、VADRf DADRトL、V
RAM ライトイネーブル信号を出す、55032は横
方向最後の転送か否かを判定する。 35033は横方
向の転送がまだ続行される場合で、M I 31の転送
された状態でマスクする。35034は横方向最後のラ
イト動作の場合で、MII32でデータをマスクし、D
LSA21 。
Furthermore, the flip-flop 77 is reset to prevent writing of 022C. 35027 is HC=0
, MIIc = O, that is, when the second write operation is unnecessary in the last transfer in the horizontal direction, the flip-flop 7B is reset and M n is used as mask information.
32 is also enabled. 35028 skips the second memory write depending on the value of flip-flop 7B, 503 indicates the second memory write size') Ay-QT
o6.5503141, VADRf DADR L, V
55032, which issues a RAM write enable signal, determines whether or not it is the last transfer in the horizontal direction. 35033 is a case where the horizontal transfer is still continued, and the transferred state of M I 31 is masked. 35034 is the last write operation in the horizontal direction, data is masked by MII32, and D
LSA21.

DADR20を次のラインの先頭に移す、504は第9
図(a)の303 と同様である。
Move DADR20 to the beginning of the next line, 504 is the ninth
This is similar to 303 in Figure (a).

第11図(b)にSDA口〉口DADの例を示す、02
1はSDA口< DDA口の例と同様レジスタ8に読込
まれ、バレルシフタ10でシフトされる。Mn31はD
DA口、MII32は5)IIFT 量にセットされ、
両方を有効とすることで012Bのみ書き換わる0次は
ソースアドレスのみ+1し、レジスタ8にソースデータ
が読込まれる。次にM I 31を5HIFT量にセッ
トし、Mn31のマスクにより022Bのみデータが書
き換わる0次にはディスティネーションアドレスを+1
 、Mlを反転しマスクする事で、002Cにのみデー
タが書込まれる0次にソースアドレスを+1し、レジス
タ8にデータを読込み、MII32をDDAD+ HD
OTにセットし、M I 31とMn32を有効とし、
023B+71み書き換えlラインの転送を終える。以
後同様にくり返し、矩形エリアの転送を行なう。
FIG. 11(b) shows an example of SDA>mouth DAD, 02
1 is read into the register 8 and shifted by the barrel shifter 10 as in the example of SDA port < DDA port. Mn31 is D
DA port, MII32 is set to 5) IIFT amount,
By enabling both, only the source address of the 0th order where only 012B is rewritten is incremented by 1, and the source data is read into the register 8. Next, set M I 31 to 5 HIFT amount, and by masking Mn 31, only 022B data is rewritten. Next, set the destination address by +1.
, By inverting and masking Ml, data is written only to 002C. Add 1 to the source address of the 0th order, read data to register 8, and set MII32 to DDAD+ HD.
Set to OT, enable M I 31 and Mn 32,
023B+71 completes the transfer of the rewritten l line. Thereafter, the same process is repeated to transfer the rectangular area.

以上、この発明の第1の実施例を説明した。この実施例
によればVRAM→VRAM転送をデータ幅に関係なく
、ビット単位に高速に行なうことができる。また、この
実施例ではlアドレス18ビツトなト一般のマイクロC
PUと同じ形態のアドレッシングが可能となり、CPU
 lからのVRAM13への直接のアクセスやデータの
処理がやりやすい利点を持っている。更に、転送処理中
はCPU 1のバスが空くので、cpu tは他のプロ
グラムを実行出来、システムスループットが向上する。
The first embodiment of this invention has been described above. According to this embodiment, VRAM→VRAM transfer can be performed in bit units at high speed regardless of the data width. In addition, in this embodiment, an address of 18 bits is used for a general microC.
The same form of addressing as the PU is now possible, and the CPU
It has the advantage that it is easy to directly access the VRAM 13 from l and process data. Furthermore, since the bus of CPU 1 is free during the transfer process, CPU 1 can execute other programs, improving system throughput.

更に、マスク回路!Iにリードモディファイライトを使
用しているため、回路を追加する事によりディスティネ
ーションデータとのマスクオペレーションが容易に行な
え、グラフィック処理にも大きな効果を発揮する。更に
、画面の一部移動が高速に行なえるため、画面の編集が
容易に行なえる。この実施例を現在−膜化しつつあるマ
ルチウィンドウシステムに応用すれば非常に高速なウィ
ンドウのオープン、クローズが可能となる。
Furthermore, a mask circuit! Since read-modify-write is used for I, masking operations with destination data can be easily performed by adding a circuit, which is also highly effective for graphic processing. Furthermore, since a portion of the screen can be moved at high speed, the screen can be easily edited. If this embodiment is applied to a multi-window system, which is currently being developed into a multi-window system, it will be possible to open and close windows at very high speed.

次に、この発明の第2の実施例について説明する。第1
3図(a)及び(b)に、この実施例の概念を示す。同
図(a)はVRAMの記憶領域を示し、(b)はフォン
トメモリの記憶領域を示す、この実施例はフォントメモ
リからVRAMへデータを転送する場合である。フォン
トメモリは通常連続アドレス0゜1.2・・・にイメー
ジが格納されている。この実施例によればVRAMのピ
ッチP、フォントの横及び縦サイズ、フォントスタート
ポイントFP及びVRAMスタートポイントDPを指定
することにより、VRAM上の任意の位置に任意の大き
さでフォントメモリの情報を転送することができる。第
13図(C)に、この第2の実施例の構成を示す、同図
(C)かられかるようにこの構成は第1図に示されるレ
ジスタ8をフォントメモリ17に置き換えたものと同一
である。動作はフォントメモリ17のアドレスインクリ
メントに第1の実施例の様な+ピッチが無い点を除けば
第1の実施例と同様であるので、ここでの詳細な説明は
省略する。
Next, a second embodiment of the invention will be described. 1st
The concept of this embodiment is shown in FIGS. 3(a) and 3(b). 3(a) shows the storage area of VRAM, and FIG. 2(b) shows the storage area of font memory. In this embodiment, data is transferred from the font memory to the VRAM. In the font memory, images are normally stored at consecutive addresses 0°1.2, . . . . According to this embodiment, by specifying the pitch P of the VRAM, the horizontal and vertical sizes of the font, the font start point FP, and the VRAM start point DP, information in the font memory can be stored at any position on the VRAM in any size. Can be transferred. FIG. 13(C) shows the configuration of this second embodiment. As can be seen from FIG. 13(C), this configuration is the same as that shown in FIG. 1 in which the register 8 is replaced with the font memory 17. It is. The operation is the same as that of the first embodiment except that the address increment of the font memory 17 does not have a + pitch like the first embodiment, so a detailed explanation will be omitted here.

以上説明した第2の実施例では大きさの異なる文字フォ
ントを任意の位置に高速に描画出来、科学技術計算式や
スプリクト文字の描画が可能である。
In the second embodiment described above, character fonts of different sizes can be drawn at arbitrary positions at high speed, and scientific and technical calculation formulas and scripted characters can be drawn.

第14図(a)に、この発明の第3の実施例の概念を示
す、この実施例は、第1図に示したVRAM13を多プ
レーン化したもので、多ブレーン同時にVRAM→VR
AM転送を行なう、第14図(b)に、この第3の実施
例の構成を示す、同図(b)かられかるようにレジスタ
9、バレルシフタ10、マスク回路11、VRAM13
、バッファレジスタ14及びパラレル/シリアル変換部
15はそれぞれ、図示のように複数個の要素で構成され
る。動作は第1の実施例と同様である。
FIG. 14(a) shows the concept of a third embodiment of the present invention. This embodiment is a multi-plane version of the VRAM 13 shown in FIG.
FIG. 14(b) shows the configuration of this third embodiment, which performs AM transfer. As shown in FIG. 14(b), the register 9, barrel shifter 10, mask circuit 11, and VRAM 13 are shown.
, the buffer register 14, and the parallel/serial converter 15 are each composed of a plurality of elements as shown in the figure. The operation is similar to the first embodiment.

この実施例によれば、1画素のビット数を増大させるこ
とができるので、カラー表示が可能となるとともに、転
送速度の高速化も可能となる。
According to this embodiment, since the number of bits per pixel can be increased, color display is possible and the transfer speed can be increased.

(発明の効果) 以上説明したように、この発明によれば、同一メモリ間
及び異なるメモリ間でのデータ転送を、データ幅に関係
なく任意の位置にビット単位に高速に行なうことができ
る。また、この発明によれば、データ転送中は中央処理
装置は全く別の制御を行なうことができ、システムのス
ルーブツトを向上させることができる。
(Effects of the Invention) As described above, according to the present invention, data can be transferred between the same memories and between different memories at high speed in units of bits at arbitrary positions regardless of the data width. Further, according to the present invention, the central processing unit can perform completely different control during data transfer, and the throughput of the system can be improved.

この発明はCR7表示に係るリフレッシュメモリのデー
タ転送、フォントメモリとリフレッシュメモリ間のデー
タ転送及び多プレーン化したリフレッシュメモリ間のデ
ータ転送のみならず、リフレッシュメモリとディスク装
置等の外部記憶装置との間のデータ転送等のあらゆるメ
モリのデータ転送の制御に適用することができる。
This invention applies not only to data transfer of refresh memory related to CR7 display, data transfer between font memory and refresh memory, and data transfer between multi-plane refresh memories, but also data transfer between refresh memory and external storage devices such as disk devices. It can be applied to control of data transfer of all kinds of memories, such as data transfer of memory.

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

第1図はこの発明の第1の実施例を示すブロック図、第
2図は第1の実施例におけるデータ転送の概念を説明す
るための図、第3図は第1図に示す転送アドレス生成部
の構成例を示すブロック図、第4図は第iBに示すシフ
ト・マスク生成部の構成例を示すブロック図、第5図は
第1図に示すマスク回路の構成例を示すブロック図、第
6図は第1図に示す制御部の構成例を示すブロック図、
第7図は第1の実施例の概略動作のフローチャート、第
8図は第1の実施例の初期動作のフローチャート、第9
図(a)は第1の実施例における5DAD= DDAD
の場合の動作フローチャート、第9図(b)はこの動作
に従うデータ転送例を示す図。 第1θ図(a)は第1の実施例における5t)AD<0
OAOの場合の動作フローチャート、第1θ図(b)は
この動作に従うデータ転送例を示す図、第11図(a)
は第1の実施例における5OAO>口04口の場合の動
作フローチャート、第11図(b)はこの動作に従−)
データ転送例を示す図、第12図(a)〜(b)は上記
動作フローチャートで用いられる図形の定義を説明する
ための図、第13図(a)及び(b)はこの発明の第2
の実施例のデータ転送の概念を説明するための図、第1
3図(C)は第2の実施例の構成を示すブロック図、第
14図(a)はこの発明の第3の実施例のデータ転送の
概念を説明するための図、第14図(b)は第3の実施
例の構成を示すブロック図である。 l・・・CPU、5・・・表示アドレス発生部、6・・
・転送アドレス生成部、7・・・アドレス切替部。 8・・・レジスタ、  9・・・切替スイッチ、10・
・・バレルシフタ、11・・・マスク回路、12・・・
シフト・マスク生成部、13・・・VRAM、14・・
・バッファレジスタ、 15・・・パラレル/シリアル変換部、16・・・制御
部、  17・・・リフレッシュメモリ、20・・・デ
ィスティネーションアドレスレジスタ(DADR)、 21・・・ディスティネーションラインスタートアドレ
スレジスタ(DLSA )、 22・・・ソースアドレスレジスタ(5ADH)、23
・・・ソースラインスタートアドレスレジスタ(5LS
A )、 24.27.29・・・セレクタ、25・・・レジスタ
、26・・・ピッチレジスタ、28・・・加算器、30
・・・アドレスセレクタ、
FIG. 1 is a block diagram showing a first embodiment of the present invention, FIG. 2 is a diagram for explaining the concept of data transfer in the first embodiment, and FIG. 3 is a transfer address generation shown in FIG. 1. 4 is a block diagram showing an example of the structure of the shift mask generating section shown in FIG. iB. FIG. 5 is a block diagram showing an example of the structure of the mask circuit shown in FIG. FIG. 6 is a block diagram showing an example of the configuration of the control section shown in FIG.
FIG. 7 is a flowchart of the general operation of the first embodiment, FIG. 8 is a flowchart of the initial operation of the first embodiment, and FIG. 9 is a flowchart of the initial operation of the first embodiment.
Figure (a) shows 5DAD=DDAD in the first embodiment.
FIG. 9(b) is a flowchart of the operation in the case of , and is a diagram showing an example of data transfer according to this operation. Figure 1θ (a) shows 5t) AD<0 in the first embodiment.
An operation flowchart in the case of OAO, FIG. 1θ (b) is a diagram showing an example of data transfer according to this operation, FIG. 11 (a)
is an operation flowchart in the case of 5OAO>口04口 in the first embodiment, and FIG. 11(b) follows this operation.)
A diagram showing an example of data transfer, FIGS. 12(a) and 12(b) are diagrams for explaining the definitions of figures used in the above operation flowchart, and FIGS. 13(a) and (b) are diagrams showing the second example of this invention.
Figure 1 for explaining the concept of data transfer in the embodiment of
3(C) is a block diagram showing the configuration of the second embodiment, FIG. 14(a) is a diagram for explaining the concept of data transfer in the third embodiment of this invention, and FIG. 14(b) is a block diagram showing the configuration of the second embodiment. ) is a block diagram showing the configuration of a third embodiment. l...CPU, 5...Display address generation section, 6...
- Transfer address generation section, 7...address switching section. 8...Register, 9...Selector switch, 10.
...Barrel shifter, 11...Mask circuit, 12...
Shift mask generation unit, 13...VRAM, 14...
- Buffer register, 15... Parallel/serial converter, 16... Control unit, 17... Refresh memory, 20... Destination address register (DADR), 21... Destination line start address register (DLSA), 22... Source address register (5ADH), 23
...Source line start address register (5LS
A), 24.27.29...Selector, 25...Register, 26...Pitch register, 28...Adder, 30
...address selector,

Claims (1)

【特許請求の範囲】[Claims] 同一メモリ間又は異なるメモリ間のデータ転送を制御す
るメモリ制御装置において、転送元に記憶されているデ
ータをビット単位でシフトさせるシフト回路と、該シフ
ト回路によりシフトされた転送元のデータをビット単位
にマスクして転送先に書込むマスク回路と、前記転送元
及び転送先のデータの格納状態を含む情報に基づき前記
シフト回路のシフト量とマスクに関する情報とを決定す
るシフト・マスク回路とを具備することを特徴とするメ
モリ制御装置。
A memory control device that controls data transfer between the same memory or between different memories includes a shift circuit that shifts data stored in a transfer source bit by bit, and a shift circuit that shifts data stored in a transfer source bit by bit. and a shift mask circuit that determines a shift amount of the shift circuit and information regarding the mask based on information including storage states of data at the transfer source and the transfer destination. A memory control device characterized by:
JP6342085A 1985-03-29 1985-03-29 Memory controller Pending JPS61223962A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6342085A JPS61223962A (en) 1985-03-29 1985-03-29 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6342085A JPS61223962A (en) 1985-03-29 1985-03-29 Memory controller

Publications (1)

Publication Number Publication Date
JPS61223962A true JPS61223962A (en) 1986-10-04

Family

ID=13228777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6342085A Pending JPS61223962A (en) 1985-03-29 1985-03-29 Memory controller

Country Status (1)

Country Link
JP (1) JPS61223962A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02273844A (en) * 1989-04-17 1990-11-08 Canon Inc Memory access circuit
JPH0573403A (en) * 1991-09-18 1993-03-26 Matsushita Electric Ind Co Ltd Mask information generating device
JPH06202601A (en) * 1993-01-07 1994-07-22 Nec Corp Memory integrated circuit for video display
JP2017126190A (en) * 2016-01-14 2017-07-20 東芝三菱電機産業システム株式会社 Design support device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51101435A (en) * 1975-03-04 1976-09-07 Hitachi Ltd
JPS5319728A (en) * 1976-08-06 1978-02-23 Fujitsu Ltd Data treansfer processing system
JPS59226957A (en) * 1983-06-07 1984-12-20 Nec Corp Data control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51101435A (en) * 1975-03-04 1976-09-07 Hitachi Ltd
JPS5319728A (en) * 1976-08-06 1978-02-23 Fujitsu Ltd Data treansfer processing system
JPS59226957A (en) * 1983-06-07 1984-12-20 Nec Corp Data control system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02273844A (en) * 1989-04-17 1990-11-08 Canon Inc Memory access circuit
JPH0573403A (en) * 1991-09-18 1993-03-26 Matsushita Electric Ind Co Ltd Mask information generating device
JPH06202601A (en) * 1993-01-07 1994-07-22 Nec Corp Memory integrated circuit for video display
JP2017126190A (en) * 2016-01-14 2017-07-20 東芝三菱電機産業システム株式会社 Design support device

Similar Documents

Publication Publication Date Title
KR100241049B1 (en) Vector processor mechanism
JPS62295134A (en) Pixel processor
KR860002872A (en) Image memory peripherals
US5737761A (en) Memory control architecture for high-speed transfer operations
JPH06208369A (en) Equipment and method for processing of pixel data
JPS61223962A (en) Memory controller
JPH0192851A (en) Switching device for address space
EP0359255A2 (en) Pattern data generating system
JPS63225290A (en) Display control circuit
JPS63108381A (en) Raster computation circuit
JP2613364B2 (en) Graphic processing system
JPS59194255A (en) Writing method of data to memory
JP2656754B2 (en) Image data processing apparatus and system using the same
JPS6055389A (en) Character/graphic display
JP2740359B2 (en) Display control device
JP2771350B2 (en) Image processing device
JP2824708B2 (en) Graphic drawing device
JPH10275225A (en) Image processor
JPS61241871A (en) Information processor
JPH01128095A (en) Memory writing circuit
JPS61182089A (en) Method and apparatus for processing character
JPS61278886A (en) Memory access unit
JPS604984A (en) Display unit
JPS5957283A (en) Graphic display
JPH02226334A (en) Picture operation circuit