JP2531162B2 - ビツトブロツクの転送方法 - Google Patents

ビツトブロツクの転送方法

Info

Publication number
JP2531162B2
JP2531162B2 JP61314921A JP31492186A JP2531162B2 JP 2531162 B2 JP2531162 B2 JP 2531162B2 JP 61314921 A JP61314921 A JP 61314921A JP 31492186 A JP31492186 A JP 31492186A JP 2531162 B2 JP2531162 B2 JP 2531162B2
Authority
JP
Japan
Prior art keywords
bits
address
data
bit
transfer
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.)
Expired - Lifetime
Application number
JP61314921A
Other languages
English (en)
Other versions
JPS63163549A (ja
Inventor
俊昭 脇田
喜孝 倉内
清一郎 岩瀬
俊之 島田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP61314921A priority Critical patent/JP2531162B2/ja
Publication of JPS63163549A publication Critical patent/JPS63163549A/ja
Application granted granted Critical
Publication of JP2531162B2 publication Critical patent/JP2531162B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Input (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はビットブロックの転送方法に関する。
〔発明の概要〕
この発明は、ビットブロックの転送を行う場合におい
て、レジスタを使用して転送されるビットブロックにシ
フトないしローテートを行うことにより、そのビットブ
ロックの転送元ないし転送先のアドレスがメモリのワー
ド境界にまたがっていても高速に転送ができるようにし
たものである。
〔従来の技術〕
例えばCADにおいて、図形などを表示する場合、一般
にビットマップディスプレイシステムが採用されている
が、このシステムにおいては、ラスタスキャン型のCRT
ディスプレイと、これに表示図形に対応したビットパタ
ーンのデータを供給するメモリ(フレームバッファ)と
が使用される。そして、その図形処理を行うとき、メモ
リ内においてデータの転送を伴うものがあるが、そのデ
ータの転送方法としてビットブロック転送と呼ばれる方
法がある。
第4図はそのビットブロック転送の基本を示し、この
図においては、1ワード=8ビットであり、メモリ
(1)のブロックアドレスAs〜As+2にまたがっている
2ワードのビットブロック(データ)BITBが、ブロック
アドレスAd〜Ad+2にまたがるように転送される場合で
ある。なお、ビットブロックBITBにおいて、A〜Pは各
ビットを示し、ビットA,Iが第1及び第2ワードの最上
位ビットである。
そして、このビットブロックBITBをビットブロック転
送する場合には、 アドレスAsのビットA,BをアドレスAdに転送する。
すなわち、 −i アドレスAsからビットA,Bを含む1ワードを読
み出すとともに、この読み出し時にその1ワードの左側
6ビットに対してマスク処理を行ってビットA,Bを得
る。
−ii そのビットA,Bを、アドレスAdの1ワードのデ
ータの中側2ビットの位置までシフトする。
−iii そのシフト結果とアドレスAdの1ワードとの
論理演算を行なう。
−iv その演算結果をアドレスAdに書き込む。
(以上の処理i〜ivは、以下の転送時も同様である) ビットC,Dを転送する。
ビットE〜Hを転送する。
ビットI,Jを転送する。
ビットK,Lを転送する。
ビットM〜Pを転送する。
というように、転送元のワード境界,転送先のワード境
界及び転送するビットブロックBITBのワード境界にした
がってその転送するビットブロックBITBを区切って数ビ
ットづつ転送するものである。
また、第5図に示すように、転送するビットブロック
BITBが2次元の大きさをもつ場合には、その2次元方向
について同様の処理を行う。
文献:「日経エレクトロニクス」1986年3月24日号 〔発明が解決しようとする問題点〕 ところが、上述のビットブロック転送による場合に
は、第4図の1次元のビットブロックBITBのときで〜
の6回の転送を必要とするので、第5図のときには18
回(=6×3)もの転送を必要としてしまい、転送の効
率が悪い。
この発明は、このような問題点を解決しようとするも
のである。
〔問題点を解決するための手段〕
本発明は、転送元の各ビットブロック内の転送すべき
データを、少なくとも1ブロックアドレスのビット容量
を有し、X方向及びY方向の配列を有するレジスタに夫
々ラッチし、上記ラッチされたデータを転送先のメモリ
の各ビットブロック内に夫々書き込まれるべきデータの
配列と同じになるように、上記レジスタ内のデータをX
方向のバレルシフタ及びY方向のバレルシフタにて水平
方向、垂直方向にシフトし、上記レジスタ内のシフトさ
れたデータを上記レジスタより上記転送先のメモリに転
送すると共に、夫々のデータに対応したビットブロック
に書き込むビットブロックの転送方法である。
〔作用〕
データの転送回数が減少する。
〔実施例〕
まず、第1図により1次元のビットブロックを転送す
る方法について説明しよう。
同図Aは、メモリ(1)の転送元のブロックアドレス
As〜As+2及びここにストアされている転送されるべき
ビットブロックBITBを示し、これらは従来例との比較の
ため第4図と同じにしてある。また、転送先についても
同じとする。
そして、同図Bに示すように、1ワードの容量を有す
るレジスタ(ラッチ)RGSTが設けられ、アドレスAsのビ
ットA,Bを含む1ワードのデータがレジスタRGSTに供給
される。この場合、ビットA,Bは、アドレスAsにおいて
右側2ビットに位置していたので、レジスタRGSTにおい
ても右側2ビットに位置することになる。また、アドレ
スAsの1ワードのデータのうち、ビットA,Bを除く左側
6ビットは不要なので、その1ワードをレジスタRGSTに
供給するとき、マスク処理を行ってもよい。
次に、アドレスAs+1の1ワードのデータ(ビットC
〜J)が読み出されるとともに、その右側2ビットI,J
にマスク処理が行われて左側6ビットC〜Hがレジスタ
RGSTに供給される。この場合、ビットC〜Hはアドレス
As+1において左側6ビットに位置しているので、レジ
スタRGSTにおいても左側6ビットに位置することにな
る。したがって、同図Cに示すように、レジスタRGSTの
左側6ビットにはビットC〜Hが位置し、右側2ビット
にはビットA,Bが位置することになる。
続いて、同図Dに示すように、レジスタRGSTのデータ
は、バレルシフタXSFTによりX方向(右方向)に6ビッ
トだけシフト(ローテート)されて(シフト量Sx=6)
左側4ビットにビットE〜H,右側4ビットにビットA〜
Dが位置して取り出される。
そして、このシフト出力のうち、右側4ビットA〜D
が転送先アドレスAdに供給される。この場合、不要な左
側4ビットE〜Hに対してマスク処理が行われるととも
に、ビットA〜DはバレルシフタXSFTから右側4ビット
として取り出されるので、同図Eに示すように、アドレ
スAdにおいてビットA〜Dは右側4ビットに位置するこ
とになる。
さらに、バレルシフタXSFTのシフト出力のうち、左側
4ビットE〜Hが転送先アドレスAd+1に供給される。
この場合、不要な右側4ビットA〜Dに対してマスク処
理が行われるとともに、ビットE〜HはバレルシフタXS
FTから左側4ビットとして取り出されるので、同図Fに
示すように、アドレスAd+1においてビットE〜Hは左
側4ビットに位置することになる。
したがって、以上の処理によりビットブロックBITBに
うち上位1ワード(ビットA〜H)がアドレスAs,As+
1からアドレスAd,Ad+1に転送されたことになる。
そして、ビットブロックBITBの下位1ワード(ビット
I〜P)も同図Gに示すように同様にしてアドレスAs+
1,As+2からアドレスAd+1,Ad+2に転送される。
したがって、ビットブロックBITBは2回の転送により
すべてが転送されたことになり、これは従来の転送回数
6回に比べ全体として転送速度が3倍に高速化されたこ
とになる。
第2図は2次元のデータをビットブロック転送する方
法を示す。
すなわち、同図Aは転送元のブロックアドレス(Xs,Y
s)〜(Xs+2,Ys+2)とビットブロックBITBとの関係
を示し、これらはやはり第5図と同じにしてある。
そして、同図Bに示すように、1ブロックアドレスの
ビット容量を有するレジスタ(ラッチ)RGSTが設けら
れ、第1図B,Cの場合と同様にしてアドレス(Xs,Ys)の
ビットA1〜B3が、レジスタRGSTのうち、アドレス(Xs,Y
s)のビット位置と同じビット位置に供給され、アドレ
ス(Xs+1,Ys)のビットC1〜H3がレジスタRGSTの同じビ
ット位置に供給されるとともに、アドレス(Xs,Ys+
1)のビットA4,B4がレジスタRGSTの同じビット位置に
供給され、さらに、アドレス(Xs+1,Ys+1)のビット
C4〜H4がレジスタRGSTの同じビット位置に供給される。
次に、同図Cに示すように、レジスタRGSTのデータが
X方向のバレルシフタXSFTによりX方向(右方向)に6
ビットだけシフトされ(Xシフト量Sx=6)、左側4ビ
ット群がビットA1〜D4、右側4ビット群がビットE1〜H4
のデータとして取り出され、さらに、同図Dに示すよう
に、そのシフト出力がY方向のバレルシフタYSFTにより
Y方向(下方向)に3ビットだけシフトされて(Yシフ
ト量Sy=3)取り出される。
そして、同図Eに示すように、第1図E,Fの場合と同
様にして、そのシフト出力のうち、ビットA1〜D1がアド
レス(Xd,Yd)の同じビット位置に供給され、ビットE1
〜H1がアドレス(Xd+1,Yd)の同じビット位置に供給さ
れるとともに、ビットA2〜D4がアドレス(Xd,Yd+1)
の同じビット位置に供給され、ビットE2〜H4がアドレス
(Xd+1,Yd+1)の同じビット位置に供給される。
したがって、以上の処理によりビットブロックBITBの
うち上位4ワード(ビットA1〜H4)がアドレス(Xs,Y
s)〜(Xs+1,Ys+1)からアドレス(Xd,Yd)〜(Xd+
1,Yd+1)に転送されたことになる。
そして、ビットブロックBITBの下位4ワード(ビット
I1〜P4)の同図Gに破線で示すように同様にしてアドレ
ス(Xs+1,Ys)〜(Xs+2,Ys+1)からアドレス(Xd+
1,Yd)〜(Xd+2,Yd+1)に転送される。
したがって、ビットブロックBITBはやはり2回の転送
によりすべてが転送されたことになり、これは従来の転
送回数18回に比べ全体として転送速度が9倍に高速化さ
れたことになる。
第3図は上述のビットブロック転送を実現する回路の
一例を示し、(2),(3)は不要なビットにマスク処
理を行うためのALU,(4),(5)はブロックアドレス
用の加算回路である。
そして、メモリ(1)のブロックアドレス(Xi,Yi)
として、転送元の先頭のブロックアドレス(Xs,Ys)が
加算回路(4),(5)に供給されるとともに、補助の
ブロックアドレス(ΔX,ΔY)として(0,0)が加算回
路(4),(5)に供給されて加算されたアドレス(X
s,Ys)が取り出され、このアドレス(Xs,Ys)がメモリ
(1)に供給されてアドレス(Xs,Ys)のデータ(ビッ
トA1〜B3)が読み出される。
そして、この読み出されたデータがALU(2)に供給
されるとともに、マスクデータMSKDがALU(2)に供給
されてメモリ(1)からのデータの不要なビットがマス
ク処理され、このマスク処理されたデータがレジスタRG
STにラッチされる。
また、アドレス(Xi,Yi)をアドレス(Xs,Ys)に固定
したままで、アドレス(ΔX,ΔY)が順に(1,0),
(0,1),(1,1)と変化することにより、アドレス(Xs
+1,Ys),(Xs,Ys+1),(Xs+1,Ys+1)からそれ
ぞれのデータが読み出され、このデータがALU(2)に
よりマスク処理されてからレジスタRGSTに順にラッチさ
れる。したがって、レジスタRGSTには、第2図Bに示す
ようなビットA1〜H4がラッチされていることになる。
そして、このレジスタRGSTのデータが、X方向のバレ
ルシフタXSFT及びY方向のバレルシフタYSFTを通じてAL
U(3)に供給されるとともに、このとき、X方向及び
Y方向のシフト量Sx,SyのデータがシフタXSFT,YSFTに供
給される。したがって、ALU(3)には、第2図Dに示
すビット配列でデータが供給される。
そして、ブロックアドレス(Xi,Yi)が転送先の先頭
アドレス(Xd,Yd)とされるとともに、、補助アドレス
(ΔX,ΔY)が(0,0)とされてメモリ(1)は(Xd,Y
d)がアドレスされ、ALU(3)からのデータがメモリ
(1)のアドレス(Xd,Yd)に書き込まれる。ただし、
このとき、ALU(3)にマスクデータMSKDが供給され、
不要なビットに対してマスク処理が行われる。
さらに、アドレス(Xi,Yi)をアドレス(Xd,Yd)に固
定したままで、アドレス(ΔX,ΔY)が順に(1,0),
(0,1),(1,1)と変化することにより、ALU(3)を
通じてシフタYSFTから得られるデータが、アドレス(Xd
+1,Yd),(Xd,Yd+1),(Xd+1,Yd+1)にそれぞ
れ書き込まれる。したがって、もとのビットブロックBI
TBの上位1ワード群A1〜H4の転送が行われたことにな
る。
そして、以後、ビットブロックBITBの下位1ワード群
I1〜P4についても同様にして転送される。
こうして、この発明によれば、ビットブロック転送が
行われるが、この場合、特にこの発明によれば、1ブロ
ックアドレスのビット容量に等しいビット容量のレジス
タRGSTを設け、このレジスタRGSTに、転送元のビットブ
ロックBITBを、この転送元のブロックアドレス内におけ
るビット位置と同じビット位置となるようにラッチし、
そのラッチ出力を、転送先のブロックアドレス内におけ
るビット位置と同じビット位置となるようにシフトして
転送先のブロックアドレスに書き込んでいるので、ビッ
トブロックBITBの転送回数を少なくでき、結果として高
速の転送を実現できる。しかも、そのための構成は簡単
である。
なお、例えば第2図において、(Xd,Yd)〜(Xd+2,Y
d+1)を転送元のブロックアドレス,(Xs,Ys)〜(Xs
+2,Ys+1)を転送先のブロックアドレスとすれば、第
2図E→D→C→B→Aの順に処理を行ってビットブロ
ックBITBの転送を行うこともでき、すなわち、転送元か
らのビットブロックを転送先のビット位置に対応するよ
うにシフトしてからレジスタRGSTにラッチし、このラッ
チ出力を転送先にそのまま書き込むこともできる。さら
に、X方向のシフトとY方向のシフトとをレジスタRGST
の入力側と出力側とで別個に行うこともできる。また、
転送元あるいは転送先のブロックアドレスが、減少方向
に変化するときには、ΔX=−1,ΔY=−1などとすれ
ばよい。
さらに、画像データだけでなくROMに書き込まれてい
るデータをRAMに転送する場合などにも適用できる。
〔発明の効果〕
上述せる本発明によれば、転送元の各ビットブロック
内の転送すべきデータを、少なくとも1ブロックアドレ
スのビット容量を有し、X方向及びY方向の配列を有す
るレジスタに夫々ラッチし、上記ラッチされたデータを
転送先のメモリの各ビットブロック内に夫々書き込まれ
るべきデータの配列と同じになるように、上記レジスタ
内のデータをX方向のバレルシフタ及びY方向のバレル
シフタにて水平方向、垂直方向にシフトし、上記レジス
タ内のシフトされたデータを上記レジスタより上記転送
先のメモリに転送すると共に、夫々のデータに対応した
ビットブロックに書き込むので、簡単な構成で、ビット
ブロックの転送回数を少なくして高速の転送を実現でき
るといった効果がある。
【図面の簡単な説明】
第1図,第2図はこの発明の一例を示す線図、第3図〜
第5図はその説明のための図である。 RGSTはレジスタ、XSFT,YSFTはバレルシフタである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 島田 俊之 東京都品川区北品川6丁目7番35号 ソ ニー株式会社内 (56)参考文献 特開 昭60−7678(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】転送元の各ビットブロック内の転送すべき
    データを、少なくとも1ブロックアドレスのビット容量
    を有し、X方向及びY方向の配列を有するレジスタに夫
    々ラッチし、 上記ラッチされたデータを転送先のメモリの各ビットブ
    ロック内に夫々書き込まれるべきデータの配列と同じに
    なるように、上記レジスタ内のデータをX方向のバレル
    シフタ及びY方向のバレルシフタにて水平方向、垂直方
    向にシフトし、 上記レジスタ内のシフトされたデータを上記レジスタよ
    り上記転送先のメモリに転送すると共に、夫々のデータ
    に対応したビットブロックに書き込むことを特徴とする
    ビットブロックの転送方法。
JP61314921A 1986-12-25 1986-12-25 ビツトブロツクの転送方法 Expired - Lifetime JP2531162B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61314921A JP2531162B2 (ja) 1986-12-25 1986-12-25 ビツトブロツクの転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61314921A JP2531162B2 (ja) 1986-12-25 1986-12-25 ビツトブロツクの転送方法

Publications (2)

Publication Number Publication Date
JPS63163549A JPS63163549A (ja) 1988-07-07
JP2531162B2 true JP2531162B2 (ja) 1996-09-04

Family

ID=18059247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61314921A Expired - Lifetime JP2531162B2 (ja) 1986-12-25 1986-12-25 ビツトブロツクの転送方法

Country Status (1)

Country Link
JP (1) JP2531162B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS607678A (ja) * 1983-06-25 1985-01-16 Fujitsu Ltd メモリ構成方式

Also Published As

Publication number Publication date
JPS63163549A (ja) 1988-07-07

Similar Documents

Publication Publication Date Title
EP0327003B1 (en) Pattern data generating system
US5321510A (en) Serial video processor
US6175852B1 (en) High-speed binary adder
EP0220323B1 (en) Image processor
KR970007011B1 (ko) 직렬 비디오 프로세서와 고장 허용성 직렬 비디오 프로세서 장치 및 프로세스 방법
EP0210434B1 (en) Configurable parallel pipeline image processing system
JP2531162B2 (ja) ビツトブロツクの転送方法
US6748514B2 (en) Parallel processor and image processing system for simultaneous processing of plural image data items without additional circuit delays and power increases
JPH0370431B2 (ja)
JPH0259943A (ja) 塗潰しパターン発生装置
KR900002631B1 (ko) 화상데이터의 처리방법 및 장치
EP0201261A2 (en) Processor for performing logical operations on picture element data bytes
JPH0527151B2 (ja)
JP2839597B2 (ja) 荷電ビーム描画用データの作成装置
JPS5892072A (ja) 印字装置
JPH01166268A (ja) データ構造変換装置
JPS61149989A (ja) 半導体記憶装置
JPH07118013B2 (ja) 画像データのラベリング方式
JPS63193524A (ja) Lsi描画パタ−ン・デ−タ作成装置
JPS62242251A (ja) ビツトマツプメモリ
JPH02108171A (ja) フレームメモリ装置
JPH0969159A (ja) テンプレートマッチング装置
JPH05189553A (ja) 画像処理方式
JPH03214368A (ja) 塗りつぶし回路
JPS63239542A (ja) 画像メモリ装置および画像処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term