JPS62166453A - メモリ回路 - Google Patents
メモリ回路Info
- Publication number
- JPS62166453A JPS62166453A JP61282229A JP28222986A JPS62166453A JP S62166453 A JPS62166453 A JP S62166453A JP 61282229 A JP61282229 A JP 61282229A JP 28222986 A JP28222986 A JP 28222986A JP S62166453 A JPS62166453 A JP S62166453A
- Authority
- JP
- Japan
- Prior art keywords
- rectangle
- destination
- data
- source
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
- Memory System (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明はビデオ表示システムに関し、さらに詳細には、
ビット・ブロック転送能力を備えたビデオ表示システム
に関するものである。
ビット・ブロック転送能力を備えたビデオ表示システム
に関するものである。
B、従来技術
ビット・マツプ表示装置は、表示画面をドツトから成る
不連続な矩形のメツシュまたはマトリックスとして扱う
。これらのドツトは、画素と呼ばれ、各画素は表示装置
のメモリ・アレイ内の1つまたは複数のビットで表わさ
れる。ビット・マツプ表示装置にとって非常に有用な機
能は、画素の矩形ブロックをビット・マツプ内のある場
所がら別の場所に移動し、転送元矩形と転送先矩形を論
理的に結合する能力である。これらの論理機能には、A
ND、OR1排他的OR1置換等がある。
不連続な矩形のメツシュまたはマトリックスとして扱う
。これらのドツトは、画素と呼ばれ、各画素は表示装置
のメモリ・アレイ内の1つまたは複数のビットで表わさ
れる。ビット・マツプ表示装置にとって非常に有用な機
能は、画素の矩形ブロックをビット・マツプ内のある場
所がら別の場所に移動し、転送元矩形と転送先矩形を論
理的に結合する能力である。これらの論理機能には、A
ND、OR1排他的OR1置換等がある。
この機能はハードウェアからのいがなる支援もなしに実
行できるが、コード・スペース及び実行時間の点で費用
が高くつく。
行できるが、コード・スペース及び実行時間の点で費用
が高くつく。
ビット・アドレス可能性とは、メモリ内の任意の特定の
画素位置にある一連の画素データの読取りまたは書込み
を開始する能力である。ビット・マツプのメモリの従来
のレイアウト及び制御のせいで、この能力は一連の水平
画素だけに限定されていたが、ソフトウェアから負荷を
幾らか取り除くのに役立っていた。
画素位置にある一連の画素データの読取りまたは書込み
を開始する能力である。ビット・マツプのメモリの従来
のレイアウト及び制御のせいで、この能力は一連の水平
画素だけに限定されていたが、ソフトウェアから負荷を
幾らか取り除くのに役立っていた。
画像処理メモリの一例は、米国特許第4090174号
に開示されている。
に開示されている。
C0発明が解決しようとする問題点
従来技術では、メモリ内のデータのブロックを融通性の
ある態様で迅速に転送することは困難であった。
ある態様で迅速に転送することは困難であった。
D0問題点を解決するための手段
本発明に従って、ビット・アドレス可能な2進データを
複数の次元方向で記憶するための記憶手段を備えたメモ
リ回路が提供される。少くとも2つの次元方向で記憶手
段内の2進データのグループにアクセスし、データをグ
ループ内に保持しながら別の次元位置に移動するための
アクセス手段も設けられる。
複数の次元方向で記憶するための記憶手段を備えたメモ
リ回路が提供される。少くとも2つの次元方向で記憶手
段内の2進データのグループにアクセスし、データをグ
ループ内に保持しながら別の次元位置に移動するための
アクセス手段も設けられる。
さらに、本発明に従って、ビット・アドレス可能な2進
データを、直交する複数の次元方向に記憶するための記
憶手段と、少なくとも1つの方向でデータを昇順または
降順にアドレスして記憶手段内のデータにアクセスする
ためのアクセス手段を備えたメモリ回路が提供される。
データを、直交する複数の次元方向に記憶するための記
憶手段と、少なくとも1つの方向でデータを昇順または
降順にアドレスして記憶手段内のデータにアクセスする
ためのアクセス手段を備えたメモリ回路が提供される。
好ましい実施例では、メモリは、マイクロプロセッサと
、アドレスを自動的に減分または増分する特別な回路を
用いてデータをアクセスすることによりビット・ブロッ
ク転送を実行するための特別な回路構成とを備えた、ビ
ット・アドレス可能な多次元アレイ・メモリである。こ
の回路構成はさらに、アクセス方向を水平次元方向から
垂直次元方向に切り換え、さらに転送中に読取り動作と
書込み動作の間で方向を切り替える特別なラッチを含ん
でいる。1つのアクセス・サイクル中に可変数のビット
にアクセスできる他の回路構成が提供され、メモリ内の
データについて論理演算を実行する能力も提供される。
、アドレスを自動的に減分または増分する特別な回路を
用いてデータをアクセスすることによりビット・ブロッ
ク転送を実行するための特別な回路構成とを備えた、ビ
ット・アドレス可能な多次元アレイ・メモリである。こ
の回路構成はさらに、アクセス方向を水平次元方向から
垂直次元方向に切り換え、さらに転送中に読取り動作と
書込み動作の間で方向を切り替える特別なラッチを含ん
でいる。1つのアクセス・サイクル中に可変数のビット
にアクセスできる他の回路構成が提供され、メモリ内の
データについて論理演算を実行する能力も提供される。
=3=
E、実施例
本発明によれば、表示装置メモリ・マツプ内でビット・
ブロック転送を実行するためのシステムが提供される。
ブロック転送を実行するためのシステムが提供される。
本発明は、効率的な実行速度と極めてコンパクトなコー
ド・スペースを特徴とする多数のビット・ブロック転送
機能をもたらすための、プロセッサ及び回路構成ならび
にマイクロコードを含んでいる。
ド・スペースを特徴とする多数のビット・ブロック転送
機能をもたらすための、プロセッサ及び回路構成ならび
にマイクロコードを含んでいる。
マイクロコード化されたプロセッサは、ラスタ演算エン
ジンと呼ばれる。ラスタとは、画面上の画素またはドツ
ト等の不連続要素から成る矩形である。ラスタ演算エン
ジンは、ラスタに関する演算を実行するプロセッサであ
る。この場合、ラスタは画素から成る矩形部分である。
ジンと呼ばれる。ラスタとは、画面上の画素またはドツ
ト等の不連続要素から成る矩形である。ラスタ演算エン
ジンは、ラスタに関する演算を実行するプロセッサであ
る。この場合、ラスタは画素から成る矩形部分である。
この独自の回路構成を使うと、ビット・ブロック転送コ
ードの内部ループ及び外部ループを作成して一組の機能
をもたらすことができるが、この同じコードが別のセッ
トアツプ・コードによって適正に使用可能にされると、
非常に異なる機能をもたらす。これらのハードウェア機
能の種々の組合せを用いることにより、多数の非常に有
用な機能が実行される。内部ループは、第2B図のステ
ップ42.44.46.48.50及び52として定義
される。外部ループは第2B図のステップ40.54.
56.58及び60として定義される。
ードの内部ループ及び外部ループを作成して一組の機能
をもたらすことができるが、この同じコードが別のセッ
トアツプ・コードによって適正に使用可能にされると、
非常に異なる機能をもたらす。これらのハードウェア機
能の種々の組合せを用いることにより、多数の非常に有
用な機能が実行される。内部ループは、第2B図のステ
ップ42.44.46.48.50及び52として定義
される。外部ループは第2B図のステップ40.54.
56.58及び60として定義される。
これらのハードウェア機能は、垂直方向ならびに水平方
向におけるビット・アドレス可能性を含んでいる(ビッ
ト・アドレス可能な多次元アクセス・メモリ即ちBAM
DAメモリを示す1985年2月13日出願の米国特許
第701328号参照)。このメモリは、任意のビット
境界上で16ビツトの読取りと16ビツトまでの書込み
が可能であり、書込みの方向は水平と垂直のどちらにも
できる。これにより、ビット・アドレス可能性を持たな
いビット・マツプ表示装置でふつう見られる初期エツジ
状態がなくなる。ビット・アドレス可能性がないと、転
送元アドレスおよび転送先アドレスは、バイト境界また
はワード境界に関して同じアラインメントを有すること
ができない。初期エツジ状態では、転送先アドレスへの
最初の書込みを形成するため、転送元データへの読取り
アクセス2回とシフト動作及びマスキングが必要となる
ことがある。ビット・アドレス可能性があると、コード
・スペースが一層小さくなり、ビット・ブロック転送機
能を実行するのに必要な実行時間が短縮される。
向におけるビット・アドレス可能性を含んでいる(ビッ
ト・アドレス可能な多次元アクセス・メモリ即ちBAM
DAメモリを示す1985年2月13日出願の米国特許
第701328号参照)。このメモリは、任意のビット
境界上で16ビツトの読取りと16ビツトまでの書込み
が可能であり、書込みの方向は水平と垂直のどちらにも
できる。これにより、ビット・アドレス可能性を持たな
いビット・マツプ表示装置でふつう見られる初期エツジ
状態がなくなる。ビット・アドレス可能性がないと、転
送元アドレスおよび転送先アドレスは、バイト境界また
はワード境界に関して同じアラインメントを有すること
ができない。初期エツジ状態では、転送先アドレスへの
最初の書込みを形成するため、転送元データへの読取り
アクセス2回とシフト動作及びマスキングが必要となる
ことがある。ビット・アドレス可能性があると、コード
・スペースが一層小さくなり、ビット・ブロック転送機
能を実行するのに必要な実行時間が短縮される。
転送元データと転送先データの結合を可能にするための
論理機能生成機構も含まれている。これは、転送元デー
タに対するアクセスの方向または転送先データに対する
アクセスの方向とは無関係に等しく働く。
論理機能生成機構も含まれている。これは、転送元デー
タに対するアクセスの方向または転送先データに対する
アクセスの方向とは無関係に等しく働く。
さらに、ビット・ブロック転送コードの内部にループ・
カウントの内容に基いて書込みマスクを形成するマスク
生成ハードウェアが含まれている。
カウントの内容に基いて書込みマスクを形成するマスク
生成ハードウェアが含まれている。
初期エツジの問題は、ビット・アドレス可能性により解
決された。ビット・マツプの読取り及び書込みは、内部
ループ・カウントが16を下回るまで、16ビツトのス
ライスを使って継続される。
決された。ビット・マツプの読取り及び書込みは、内部
ループ・カウントが16を下回るまで、16ビツトのス
ライスを使って継続される。
内部ループの終りで部分書込みを実行するには、従来は
ルーチンが外部コードに分岐しなければならなかった。
ルーチンが外部コードに分岐しなければならなかった。
この外部コードで、部分書込み用の適正なマスクが計算
され、作成されていた。本発明では、書込みマスクが常
にこの回路構成によってビット・ブロック転送コードの
内部ループ・カウントから自動的に生成されるので、そ
れは必要でなく、コード・スペースおよび実行時間が節
約される。
され、作成されていた。本発明では、書込みマスクが常
にこの回路構成によってビット・ブロック転送コードの
内部ループ・カウントから自動的に生成されるので、そ
れは必要でなく、コード・スペースおよび実行時間が節
約される。
転送元アドレス及び転送先アドレスを変更するトグル増
減回路が含まれている。このトグル増分/減分回路を使
うと、複数の機能を含むループが作成できる。実行時に
は、トグル増減回路を使用可能にして反対の機能を実行
するようにできる。
減回路が含まれている。このトグル増分/減分回路を使
うと、複数の機能を含むループが作成できる。実行時に
は、トグル増減回路を使用可能にして反対の機能を実行
するようにできる。
使用可能になった場合、増分命令は減分として実行され
、逆もまた同様である。これにより、コーグは別のセッ
トアツプ・ルーチンを使うだけで、1つのループに異な
る機能を実行させることができる。その結果、コード・
スペースが大幅に節約される。
、逆もまた同様である。これにより、コーグは別のセッ
トアツプ・ルーチンを使うだけで、1つのループに異な
る機能を実行させることができる。その結果、コード・
スペースが大幅に節約される。
ビット・マツプ・アクセスを省略時の値(水平=7一
方向)から垂直方向に切り替える垂直設定回路構成が設
けられている。これを使うと、同じループに異なる機能
を実行させるセットアツプ・ルーチンを作成する際に融
通性が得られる。
けられている。これを使うと、同じループに異なる機能
を実行させるセットアツプ・ルーチンを作成する際に融
通性が得られる。
使用可能にされると、アクセスの方向を水平から垂直に
、または垂直から水平に切り替える、90度トグル回路
構成が設けられている。この回路を使うと、90度トグ
ル機能が使用可能になっているかどうかに応じて、同じ
ループに異なる機能を実行させることができる。
、または垂直から水平に切り替える、90度トグル回路
構成が設けられている。この回路を使うと、90度トグ
ル機能が使用可能になっているかどうかに応じて、同じ
ループに異なる機能を実行させることができる。
以下の説明では、8つの異なるビット・ブロック転送機
能が同じ内部および外部コード・ループによってどのよ
うに実行されるかを示す。このことは、上記の特別なハ
ードウェア回路構成を種々に組合わせて呼び出すマイク
ロコード化されたそれぞれのセットアツプ・ルーチンか
ら生じる。
能が同じ内部および外部コード・ループによってどのよ
うに実行されるかを示す。このことは、上記の特別なハ
ードウェア回路構成を種々に組合わせて呼び出すマイク
ロコード化されたそれぞれのセットアツプ・ルーチンか
ら生じる。
本発明は、画素から成る矩形の、転送元位置から転送先
位置への移動に関するものである。この実施例では、多
数のビット・ブロック転送機能を実行するためにハード
ウェア回路の独自の組合わせを用いる。この表示システ
ムでの画面の起点は左上隅にあることに留意すべきであ
る。Xアドレスは右に向って正の方向に増加し、Yアド
レスは画面の下方に向って正の方向に増加する。
位置への移動に関するものである。この実施例では、多
数のビット・ブロック転送機能を実行するためにハード
ウェア回路の独自の組合わせを用いる。この表示システ
ムでの画面の起点は左上隅にあることに留意すべきであ
る。Xアドレスは右に向って正の方向に増加し、Yアド
レスは画面の下方に向って正の方向に増加する。
第1図は、ラスク演算エンジンおよびそのビット・マツ
プ・メモリのブロック・ダイヤグラムである。プロセッ
サ20は、ハードウェアの種々の構成要素を制御するこ
とができる水平にマイクロコード化された命令を取り出
す。このプロセッサは、レジスタ・アレイ1、Xレジス
タ9.Yレジスタ8、第1及び第2のトグル増減フラッ
グ3と4、トグル90度フラッグ5、垂直/水平フラッ
グ6、マスク生成ハードウェア7、および論理機能生成
機構19の各機能に作用し、かつ制御する。
プ・メモリのブロック・ダイヤグラムである。プロセッ
サ20は、ハードウェアの種々の構成要素を制御するこ
とができる水平にマイクロコード化された命令を取り出
す。このプロセッサは、レジスタ・アレイ1、Xレジス
タ9.Yレジスタ8、第1及び第2のトグル増減フラッ
グ3と4、トグル90度フラッグ5、垂直/水平フラッ
グ6、マスク生成ハードウェア7、および論理機能生成
機構19の各機能に作用し、かつ制御する。
フラッグ3乃至6は制御ラッチ22に含まれている。プ
ロセッサは、線21上でこれらの機能を全て制御する。
ロセッサは、線21上でこれらの機能を全て制御する。
プロセッサは、線21、制御フラッグ3.4.5.6及
び線15を介して演算論理機構(ALU)2を制御する
。ビット・アドレス可能な多次元アクセス(BAMDA
)メモ+J 10 Li、、ビット・マツプ用のメモリ
を備え、そこに原始データおよび宛先データが常駐する
。Xレジスタ9及びYレジスタ8は、線16及び17を
介してメモリ10にアドレスを供給する。これらのアド
レスは、レジスタ・アレイ1から線12及びALU2を
経てくる。これらのアドレスは、線11を介してレジス
タ・アレイ1に戻すことができ、またレジスタ9または
Yレジスタ8のどちらか一方に送ることもできる。メモ
リ10に対するアクセスの方向(水平または垂直)は、
線15を介してトグル90度フラッグ5及び垂直/水平
フラッグ6の組合わせによって制御される。データをメ
モリ10に書込むときは、トグル90度フラッグ5およ
び垂直/水平フラッグ6が線15を介してアクセスの方
向を指定する。書込みマスクを生成する場合は、レジス
タ・アレイ1内の内部ループ・カウントが、線12を介
して、後で考察する組合わせ論理であるマスク生成機構
7に送られる。マスク生成機構は、線13上にメモリ1
0のための書込み制御論理信号を生じる。転送元データ
は、線18を介して論理機能生成機構19(後で考察す
る組合わせ論理)によって転送先データと結合される。
び線15を介して演算論理機構(ALU)2を制御する
。ビット・アドレス可能な多次元アクセス(BAMDA
)メモ+J 10 Li、、ビット・マツプ用のメモリ
を備え、そこに原始データおよび宛先データが常駐する
。Xレジスタ9及びYレジスタ8は、線16及び17を
介してメモリ10にアドレスを供給する。これらのアド
レスは、レジスタ・アレイ1から線12及びALU2を
経てくる。これらのアドレスは、線11を介してレジス
タ・アレイ1に戻すことができ、またレジスタ9または
Yレジスタ8のどちらか一方に送ることもできる。メモ
リ10に対するアクセスの方向(水平または垂直)は、
線15を介してトグル90度フラッグ5及び垂直/水平
フラッグ6の組合わせによって制御される。データをメ
モリ10に書込むときは、トグル90度フラッグ5およ
び垂直/水平フラッグ6が線15を介してアクセスの方
向を指定する。書込みマスクを生成する場合は、レジス
タ・アレイ1内の内部ループ・カウントが、線12を介
して、後で考察する組合わせ論理であるマスク生成機構
7に送られる。マスク生成機構は、線13上にメモリ1
0のための書込み制御論理信号を生じる。転送元データ
は、線18を介して論理機能生成機構19(後で考察す
る組合わせ論理)によって転送先データと結合される。
レジスタ・アレイ1内の外部ループ変数は、線12を介
してALUlに送られ、トグル増減フラッグ3および4
によって増分または減分される。
してALUlに送られ、トグル増減フラッグ3および4
によって増分または減分される。
これらの制御フラッグは、線15を介してALU2に送
られる。
られる。
マスク生成機構7は、明細書末尾の表■に示すように実
行される組合わせ論理のネットワークを含んでいる。こ
の表は、レジスタ・アレイ1がら内部ループ・カウント
の10ビツトがこの組合わせ論理によってどのようにし
て書込みマスクに変換されるかを示す。メモリ1oがら
常に同数のビットが読取られるが、時にはもっと少ない
ビットをメモリにロードしたい場合がある。好ましい実
施例では、書込みマスクを使って、0ないし16の任意
の数のビットが選択的に書込みできる。表Iで、「マス
ク生成機構の出力」と表示された2番目の欄は、最初の
欄の内部ループ・カウントに一11= 対する結果として生じる書込みマスクを示す。書込みマ
スクの2進数1は、対応するビットが更新されることを
示す。2進数Oは、メモリ10の対応するビットが更新
されないことを示す。垂直方向及び水平方向でのメモリ
10のビット・アドレス可能性とは、書込みマスクの最
左端のビットが、Yレジスタ8内の10ビツトのYアド
レスとXレジスタ9内の10ビツトのXアドレスによっ
て指示されるビットに作用することを意味する。書込ま
れるべき一連のビットのうちの他のビットは、正の方向
にある。アクセス方向が水平の場合は、それらは書込み
マスクの最左端のビットに対して正の方向に(右に向っ
て)書込まれる。アクセス方向が垂直の場合は、それら
は書込みマスクの最左端のビットに対して正の方向に(
下方に)書込まれる。マスク生成機構7は、レジスタ・
アレイ1内の内部ループ・カウントから書込みマスクを
作成する。内部ループ・カウントの初期値は、書込まれ
るべき画素の数から1を差し引いたものである。このこ
とについては、後で第2A図及び第2B図のフローチャ
ートの詳細な説明と共にさらに詳しく説明する。マスク
生成機構7が書込まれるべき画素の数から1を差し引い
たものを用いる理由は、マイクロコードの条件付き分岐
論理のためである。読取られた画素の数の減算と同時に
、内部ループがいつ完了したかを検出することが望まし
い。好都合な唯一の条件は、内部ループ・カウントがO
より小さい(負)のときである。実施上の制約により条
件付き分岐は機能が強化されなかったので、画素数では
なく、画素数から1を差し引いたものから書込みマスク
を生成する方が効率よくなる。
行される組合わせ論理のネットワークを含んでいる。こ
の表は、レジスタ・アレイ1がら内部ループ・カウント
の10ビツトがこの組合わせ論理によってどのようにし
て書込みマスクに変換されるかを示す。メモリ1oがら
常に同数のビットが読取られるが、時にはもっと少ない
ビットをメモリにロードしたい場合がある。好ましい実
施例では、書込みマスクを使って、0ないし16の任意
の数のビットが選択的に書込みできる。表Iで、「マス
ク生成機構の出力」と表示された2番目の欄は、最初の
欄の内部ループ・カウントに一11= 対する結果として生じる書込みマスクを示す。書込みマ
スクの2進数1は、対応するビットが更新されることを
示す。2進数Oは、メモリ10の対応するビットが更新
されないことを示す。垂直方向及び水平方向でのメモリ
10のビット・アドレス可能性とは、書込みマスクの最
左端のビットが、Yレジスタ8内の10ビツトのYアド
レスとXレジスタ9内の10ビツトのXアドレスによっ
て指示されるビットに作用することを意味する。書込ま
れるべき一連のビットのうちの他のビットは、正の方向
にある。アクセス方向が水平の場合は、それらは書込み
マスクの最左端のビットに対して正の方向に(右に向っ
て)書込まれる。アクセス方向が垂直の場合は、それら
は書込みマスクの最左端のビットに対して正の方向に(
下方に)書込まれる。マスク生成機構7は、レジスタ・
アレイ1内の内部ループ・カウントから書込みマスクを
作成する。内部ループ・カウントの初期値は、書込まれ
るべき画素の数から1を差し引いたものである。このこ
とについては、後で第2A図及び第2B図のフローチャ
ートの詳細な説明と共にさらに詳しく説明する。マスク
生成機構7が書込まれるべき画素の数から1を差し引い
たものを用いる理由は、マイクロコードの条件付き分岐
論理のためである。読取られた画素の数の減算と同時に
、内部ループがいつ完了したかを検出することが望まし
い。好都合な唯一の条件は、内部ループ・カウントがO
より小さい(負)のときである。実施上の制約により条
件付き分岐は機能が強化されなかったので、画素数では
なく、画素数から1を差し引いたものから書込みマスク
を生成する方が効率よくなる。
第1図の論理機能生成機構19は、メモリ10へのデー
タ入力に関する論理演算を実行するものであり、テキサ
ス・インスツルメント(TexasInstrumen
ts)社の部品番号74181または同様の機能を有す
るその他の市販製品である。
タ入力に関する論理演算を実行するものであり、テキサ
ス・インスツルメント(TexasInstrumen
ts)社の部品番号74181または同様の機能を有す
るその他の市販製品である。
第2A図及び第2B図は、内部ルーチンおよび外部ルー
チンに供給される8つの異なるセットアツプ゛・コード
(ルーチン)30.31.32.33.34.35.3
6.37を示すフローチャートである。内部ループは、
命令42.44.46.48.50及び52から成る。
チンに供給される8つの異なるセットアツプ゛・コード
(ルーチン)30.31.32.33.34.35.3
6.37を示すフローチャートである。内部ループは、
命令42.44.46.48.50及び52から成る。
外部ループは、命令40.54.56.58及び60か
ら成る。第2B図の内部ループ及び外部ループへの経路
は、指定された5つの操作のうちの1つから始まる。
ら成る。第2B図の内部ループ及び外部ループへの経路
は、指定された5つの操作のうちの1つから始まる。
操作が第3図ないし第6図に示すようなコピー機能であ
る場合、4つの場合のうちのどれがこのコピー操作に適
用されるかをマイクロコードが検出する。第2A図及び
第2B図に示されている様に、4つの場合に応じて線6
2.64.66.68のいずれかに分岐して、対応する
セットアツプ・コード30.31.32.33を選択す
る。それ以外の4つのコピー機能は、直接指定される。
る場合、4つの場合のうちのどれがこのコピー操作に適
用されるかをマイクロコードが検出する。第2A図及び
第2B図に示されている様に、4つの場合に応じて線6
2.64.66.68のいずれかに分岐して、対応する
セットアツプ・コード30.31.32.33を選択す
る。それ以外の4つのコピー機能は、直接指定される。
即ち、線70.72.74.76を介して、対応するセ
ットアツプ・コード34.35.36.37への分岐が
行われる。同じ内部ループ30.31.32.33.3
4.35.36及び37に入力される8つのマイクロコ
ード機能は、第1図の2つのトグル増減フラッグ3と4
、トグル90度フラッグ5及び垂直/水平フラッグ6の
種々の組合わせを用いる。これらの制御フラッグの組合
わせを使うと、1つの内部及び外部マイクロコード・ル
ープが8つの異なる機能を実行することができる。
ットアツプ・コード34.35.36.37への分岐が
行われる。同じ内部ループ30.31.32.33.3
4.35.36及び37に入力される8つのマイクロコ
ード機能は、第1図の2つのトグル増減フラッグ3と4
、トグル90度フラッグ5及び垂直/水平フラッグ6の
種々の組合わせを用いる。これらの制御フラッグの組合
わせを使うと、1つの内部及び外部マイクロコード・ル
ープが8つの異なる機能を実行することができる。
第3図に示すように、転送先矩形が物理的に転送元矩形
の上にある状態で、転送元矩形と転送先矩形がオーバラ
ップできる省略時の場合について、フローチャートを詳
細に考察することにする。
の上にある状態で、転送元矩形と転送先矩形がオーバラ
ップできる省略時の場合について、フローチャートを詳
細に考察することにする。
第3図ないし第10図は、これらのハードウェア機能が
どのようにして組合わされて表示装置100上で本発明
の8つのビット・ブロック転送機能を形成するかを示し
たものである。図中の→は内部ループ方向を示し、−m
−は外部ループ方向を示す。第3図ないし第6図は、ビ
ット・ブロック転送機能がマージまたはコピーであり、
転送元矩形及び転送先矩形がオーバラップできる場合を
示す。この種のマージ操作またはコピー操作は、データ
転送中にデータを回転させない。転送先データが書込ま
れるのと同じ方向(水平または垂直)で転送元データが
読取られる。
どのようにして組合わされて表示装置100上で本発明
の8つのビット・ブロック転送機能を形成するかを示し
たものである。図中の→は内部ループ方向を示し、−m
−は外部ループ方向を示す。第3図ないし第6図は、ビ
ット・ブロック転送機能がマージまたはコピーであり、
転送元矩形及び転送先矩形がオーバラップできる場合を
示す。この種のマージ操作またはコピー操作は、データ
転送中にデータを回転させない。転送先データが書込ま
れるのと同じ方向(水平または垂直)で転送元データが
読取られる。
第3図は、転送先矩形81が物理的に転送元矩形80の
上にある場合を示したものである。これは、省略時の場
合であり、他の7つの場合は全てその変形であると考え
ることができる。転送元矩形と転送先矩形の間の水平変
位の量は考慮する必要がない。ビット・マツプのアクセ
スは、転送元矩形と転送先矩形のどちらに対しても水平
であり、外部ループは転送元アドレスと宛先アドレスの
どちらのYアドレスをも増分する。内部ループは転送元
データを読み取り、内部ループが尽きるまで、転送先を
水平モードで左から右に書込む。矩形の次の部分を走査
するため、外部ループは転送元アドレスと転送先アドレ
スの両方についてYアドレスを増分する。内部ループ・
カウントは、第1図のレジスタ・アレイ1から補充され
、再び矩形の別の部分が左から右に走査される。
上にある場合を示したものである。これは、省略時の場
合であり、他の7つの場合は全てその変形であると考え
ることができる。転送元矩形と転送先矩形の間の水平変
位の量は考慮する必要がない。ビット・マツプのアクセ
スは、転送元矩形と転送先矩形のどちらに対しても水平
であり、外部ループは転送元アドレスと宛先アドレスの
どちらのYアドレスをも増分する。内部ループは転送元
データを読み取り、内部ループが尽きるまで、転送先を
水平モードで左から右に書込む。矩形の次の部分を走査
するため、外部ループは転送元アドレスと転送先アドレ
スの両方についてYアドレスを増分する。内部ループ・
カウントは、第1図のレジスタ・アレイ1から補充され
、再び矩形の別の部分が左から右に走査される。
第3図に示す例を使って、第2A図及び第2B図のフロ
ーチャートを説明する。これは、転送先矩形81が転送
元矩形80の上にある場合である。
ーチャートを説明する。これは、転送先矩形81が転送
元矩形80の上にある場合である。
これは、第2B図の30に対応する。このセットアップ
・コードは、どの制御フラッグもセットしない。2つの
トグル増減フラッグ3と4のどちらも、またトグル90
度フラッグ5も垂直/水平フラッグ6もセットしない。
・コードは、どの制御フラッグもセットしない。2つの
トグル増減フラッグ3と4のどちらも、またトグル90
度フラッグ5も垂直/水平フラッグ6もセットしない。
外部ループ・ステップ40では、内部ループ・カウント
のコピーを保持するレジスタから内部ループ・カウント
がロードされる。どちらのレジスタも、第1図のレジス
タ・アレイ1中にある。第3図の場合、内部ループ・カ
ウントは、水平方向の画素数から1を差し引いたもの、
言い換えれば、矩形の幅から1を差し引いたものである
。
のコピーを保持するレジスタから内部ループ・カウント
がロードされる。どちらのレジスタも、第1図のレジス
タ・アレイ1中にある。第3図の場合、内部ループ・カ
ウントは、水平方向の画素数から1を差し引いたもの、
言い換えれば、矩形の幅から1を差し引いたものである
。
ステップ42で、内部ループが開始される。このステッ
プで転送元矩形のデータが読取られる。
プで転送元矩形のデータが読取られる。
垂直/水平フラッグ6が、セットアツプ・コード30に
よって省略時の(水平)方向から変更されていないので
、転送元データは水平方向でアクセスされる690度ト
グル・フラッグ5がセットされていないので、ステップ
44では何のアクションも起きない。トグル90度フラ
ッグがセットされている場合、メモリ・アクセスの方向
は水平から垂直に、またはその逆に変更されたはずであ
る。
よって省略時の(水平)方向から変更されていないので
、転送元データは水平方向でアクセスされる690度ト
グル・フラッグ5がセットされていないので、ステップ
44では何のアクションも起きない。トグル90度フラ
ッグがセットされている場合、メモリ・アクセスの方向
は水平から垂直に、またはその逆に変更されたはずであ
る。
ステップ42で読取られたデータが、ステップ46でメ
モリ10に書込まれる。ステップ44では、メモリ・ア
クセスの方向は変更されず、またセットアツプ・コード
30からのアクセスの最初の方向は水平であったので、
データは水平方向でメモリ10に書込まれる。セットア
ツプ・コードがトグル90度フラッグ5を使用可能に(
セット)しなかったので、ステップ48では何の効果も
ない。
モリ10に書込まれる。ステップ44では、メモリ・ア
クセスの方向は変更されず、またセットアツプ・コード
30からのアクセスの最初の方向は水平であったので、
データは水平方向でメモリ10に書込まれる。セットア
ツプ・コードがトグル90度フラッグ5を使用可能に(
セット)しなかったので、ステップ48では何の効果も
ない。
ステップ50では、1つのメモリ・サイクル中に読取ら
れた画素の数だけ内部ループ・カウントが減分される。
れた画素の数だけ内部ループ・カウントが減分される。
ステップ52で、内部ループ・カウントが尽きたかどう
かテストする。第3図の矩形の幅を完成するための画素
がもっとある場合は、ステップ42に戻るように分岐が
行なわれ、内部ループ処理が継続される。内部ループ・
カウントが尽きた場合、ステップ54に制御権が渡され
、そこで外部ループ・カウントが1だけ減分される。
かテストする。第3図の矩形の幅を完成するための画素
がもっとある場合は、ステップ42に戻るように分岐が
行なわれ、内部ループ処理が継続される。内部ループ・
カウントが尽きた場合、ステップ54に制御権が渡され
、そこで外部ループ・カウントが1だけ減分される。
最後の書込みが部分書込み(16ビツトより少ない)の
場合は、適切な書込みマスクが適切にマスク生成される
。これは、レジスタ・アレイ1内の内部ループ・カウン
トが常に線12上をマスク生成機構7に送られるためで
ある。内部ループ・カウントが15以上の場合、書込ま
れるビットの数は16であるが、内部ループ・カウント
が15未満の場合は、書込まれるビットの数は内部ルー
プ・カウントに1を加えたものである。
場合は、適切な書込みマスクが適切にマスク生成される
。これは、レジスタ・アレイ1内の内部ループ・カウン
トが常に線12上をマスク生成機構7に送られるためで
ある。内部ループ・カウントが15以上の場合、書込ま
れるビットの数は16であるが、内部ループ・カウント
が15未満の場合は、書込まれるビットの数は内部ルー
プ・カウントに1を加えたものである。
内部ループ・カウントが尽きると、制御権はステップ5
4に移る。このステップで、外部ループ・カウントが1
だけ減分される。外部ループ・カウントは、内部ループ
によって走査された矩形の辺に直角な辺を形成する画素
の数である。第3図では、これは垂直辺9o、言い換え
れば、矩形の高さである。ステップ56で外部ループ・
カウントが尽きたかどうがテストする。そうである場合
は、ビット・ブロック転送は終了する。そうでない場合
、まだ実行すべきことがあり、制御権はステップ58に
渡される。ステップ58は、省略時の場合に転送元矩形
の外部ループ・アドレスを増分するようにコード化され
ている。トグル増減フラング3がセットアツプ・コード
によってセットされていた場合、これは転送元矩形の外
部ループ・アドレスの減分として実行される。第3図で
は、セットアツプ・コード30はどのトグル増減フラッ
グもセットしておらず、ステップ58は増分として実行
される。ステップ60の目的はステップ58と同様であ
るが、ステップ60は転送先の外部ループ・アドレスに
作用する。ステップ6oでは。
4に移る。このステップで、外部ループ・カウントが1
だけ減分される。外部ループ・カウントは、内部ループ
によって走査された矩形の辺に直角な辺を形成する画素
の数である。第3図では、これは垂直辺9o、言い換え
れば、矩形の高さである。ステップ56で外部ループ・
カウントが尽きたかどうがテストする。そうである場合
は、ビット・ブロック転送は終了する。そうでない場合
、まだ実行すべきことがあり、制御権はステップ58に
渡される。ステップ58は、省略時の場合に転送元矩形
の外部ループ・アドレスを増分するようにコード化され
ている。トグル増減フラング3がセットアツプ・コード
によってセットされていた場合、これは転送元矩形の外
部ループ・アドレスの減分として実行される。第3図で
は、セットアツプ・コード30はどのトグル増減フラッ
グもセットしておらず、ステップ58は増分として実行
される。ステップ60の目的はステップ58と同様であ
るが、ステップ60は転送先の外部ループ・アドレスに
作用する。ステップ6oでは。
第1図のトグル増減フラッグ4がセットアツプ・コード
によってセットされていない限り、転送先の外部ループ
・アドレスが増分される。セットアツプ・コードが第4
図のトグル増減フラッグ4をセット(使用可能に)して
いた場合、この命令は転送先の外部ループ・アドレスを
減分することになる。セットアツプ・コード30がトグ
ル増減フラッグ4をセットしていなかったので、ステッ
プ60で転送先の外部ループ・アドレスが増分される。
によってセットされていない限り、転送先の外部ループ
・アドレスが増分される。セットアツプ・コードが第4
図のトグル増減フラッグ4をセット(使用可能に)して
いた場合、この命令は転送先の外部ループ・アドレスを
減分することになる。セットアツプ・コード30がトグ
ル増減フラッグ4をセットしていなかったので、ステッ
プ60で転送先の外部ループ・アドレスが増分される。
制御権がステップ40に分岐し、そこで既に尽きた内部
ループ・カウントが回復され、内部ループは上述の継続
をする。
ループ・カウントが回復され、内部ループは上述の継続
をする。
第3図を要約すると、内部ループは転送元矩形を水平方
向にアクセスし、転送元矩形のXアドレスを増分する。
向にアクセスし、転送元矩形のXアドレスを増分する。
内部ループは転送先矩形を水平方向にアクセスし、転送
先矩形のXアドレスを増分する。外部ループは転送元矩
形のYアドレスを増分し、転送先矩形のYアドレスを増
分する。
先矩形のXアドレスを増分する。外部ループは転送元矩
形のYアドレスを増分し、転送先矩形のYアドレスを増
分する。
第4図は、転送先矩形83が物理的に転送元矩形82の
下にある場合を示したものである。第3図と同様に、転
送元矩形と転送先矩形の間の水平変位は考慮する必要が
ない。第4図は、転送元アクセス及び転送先アクセスは
依然として水平であるが転送元及び転送先のYアドレス
に対する外部ループの更新のために第1図のトグル増減
機能3及び4が呼び出された場合を示している。これは
、内部ループでは矩形を左から右に走査し、外部ループ
では下から上に走査する効果をもつ。第3図及び第4図
で垂直変位がOでない限り、転送元データを妨害または
破壊することなく転送先データが書込まれる。制御フラ
ッグ3と4をセットするセットアツプ・コードは、第2
B図のブロック31である。ステップ58及び60は、
第1図のトグル増減フラッグ3と4が第2B図のセット
アツプ・コード31中で使用可能になるため、減分とし
て実行される。
下にある場合を示したものである。第3図と同様に、転
送元矩形と転送先矩形の間の水平変位は考慮する必要が
ない。第4図は、転送元アクセス及び転送先アクセスは
依然として水平であるが転送元及び転送先のYアドレス
に対する外部ループの更新のために第1図のトグル増減
機能3及び4が呼び出された場合を示している。これは
、内部ループでは矩形を左から右に走査し、外部ループ
では下から上に走査する効果をもつ。第3図及び第4図
で垂直変位がOでない限り、転送元データを妨害または
破壊することなく転送先データが書込まれる。制御フラ
ッグ3と4をセットするセットアツプ・コードは、第2
B図のブロック31である。ステップ58及び60は、
第1図のトグル増減フラッグ3と4が第2B図のセット
アツプ・コード31中で使用可能になるため、減分とし
て実行される。
第4図を要約すると、内部ループは転送元矩形を水平方
向にアクセスし、Xアドレスを増分する。
向にアクセスし、Xアドレスを増分する。
内部ループは転送先矩形を水平方向にアクセスし、Xア
ドレスを増分する。外部ループは転送元矩形のYアドレ
スを減分し、転送先矩形のYアドレスを減分する。
ドレスを増分する。外部ループは転送元矩形のYアドレ
スを減分し、転送先矩形のYアドレスを減分する。
第5図は、転送元矩形84と転送先矩形85の間の垂直
変位がOであるが、転送先矩形が物理的に転送元矩形の
左側にある場合を示す。水平変位は任意の数の画素とな
ることができるので、内部ループで垂直に転送元データ
を読取り、転送先データを書込むのが確実な方法である
。これは、セットアツプ・コード32が、第1図の垂直
/水平フラッグ6を垂直モードにセットするとき実行さ
れる。90度トグル・フラッグ5はセットアツプ・コー
ドによってセット(使用可能に)されていないので、ス
テップ44は効果がない。従って、転送元データの書込
みは垂直モードで行なわれ、ステップ48もアクセスの
方向に影響を及ぼさない。
変位がOであるが、転送先矩形が物理的に転送元矩形の
左側にある場合を示す。水平変位は任意の数の画素とな
ることができるので、内部ループで垂直に転送元データ
を読取り、転送先データを書込むのが確実な方法である
。これは、セットアツプ・コード32が、第1図の垂直
/水平フラッグ6を垂直モードにセットするとき実行さ
れる。90度トグル・フラッグ5はセットアツプ・コー
ドによってセット(使用可能に)されていないので、ス
テップ44は効果がない。従って、転送元データの書込
みは垂直モードで行なわれ、ステップ48もアクセスの
方向に影響を及ぼさない。
第1図の増減フラッグ3と4は、セットアツプ・コード
32によってセット(使用可能に)されていない。ステ
ップ58及び60は、転送元及び転送先の外部ループ・
アドレスに対する更新のために増分として実行される。
32によってセット(使用可能に)されていない。ステ
ップ58及び60は、転送元及び転送先の外部ループ・
アドレスに対する更新のために増分として実行される。
矩形は内部ループで上から下に走査され、次に外部ルー
プで左から右に走査される。制御フラッグ6をセットす
るセットアツプ・コードは、第2B図のブロック32で
ある。
プで左から右に走査される。制御フラッグ6をセットす
るセットアツプ・コードは、第2B図のブロック32で
ある。
第5図を要約すると、内部ループは転送元矩形を垂直方
向にアクセスし、Yアドレスを増分する。
向にアクセスし、Yアドレスを増分する。
内部ループは転送先矩形を垂直方向にアクセスし、Yア
ドレスを増分する。外部ループは転送元矩形のXアドレ
スを増分し、転送先矩形のXアドレスを増分する。
ドレスを増分する。外部ループは転送元矩形のXアドレ
スを増分し、転送先矩形のXアドレスを増分する。
第6図は、転送元矩形86と転送先矩形87の間の垂直
変位はOであるが転送先矩形が物理的に転送元矩形の右
側にある場合を示したものである。
変位はOであるが転送先矩形が物理的に転送元矩形の右
側にある場合を示したものである。
第5図と同様にアクセスは垂直方向なので、垂直/水平
フラッグ6は垂直モードにセットされ、外部ループの転
送元及び転送先アドレスは減分される。これは第1図の
トグル増減フラッグ3と4を介してトグル増減機能を呼
び出すことによって行われる。従って、ステップ58お
よび60は、転送元及び転送先の外部ループ・アドレス
の減分として実行される。次に、矩形は内部ループで上
から下に走査され、外部ループで右から左に走査される
。この場合で並行マージまたはコピー・ビット・ブロッ
ク転送は終了する。フラッグ3.4および6をセットす
るセットアツプ・コードは、第2B図のブロック33で
ある・ 第6図を要約すると、内部ループは転送元矩形を垂直方
向にアクセスし、Yアドレスを増分する。
フラッグ6は垂直モードにセットされ、外部ループの転
送元及び転送先アドレスは減分される。これは第1図の
トグル増減フラッグ3と4を介してトグル増減機能を呼
び出すことによって行われる。従って、ステップ58お
よび60は、転送元及び転送先の外部ループ・アドレス
の減分として実行される。次に、矩形は内部ループで上
から下に走査され、外部ループで右から左に走査される
。この場合で並行マージまたはコピー・ビット・ブロッ
ク転送は終了する。フラッグ3.4および6をセットす
るセットアツプ・コードは、第2B図のブロック33で
ある・ 第6図を要約すると、内部ループは転送元矩形を垂直方
向にアクセスし、Yアドレスを増分する。
内部ループは転送先矩形を垂直方向にアクセスし、Yア
ドレスを増分する。外部ループは転送元矩形のXアドレ
スを減分し、転送先矩形のXアドレスを減分する。
ドレスを増分する。外部ループは転送元矩形のXアドレ
スを減分し、転送先矩形のXアドレスを減分する。
第7図ないし第10図はその他のビット・ブロック転送
機能を示したものである。これらの場合、転送元矩形8
8と転送先矩形89はオーバラップしてはならない。+
90度回転は、データが時計回りの方向に90度回転さ
れることを意味する。
機能を示したものである。これらの場合、転送元矩形8
8と転送先矩形89はオーバラップしてはならない。+
90度回転は、データが時計回りの方向に90度回転さ
れることを意味する。
=90度回転は、データが反時計回りの方向に90度回
転されることを意味する。
転されることを意味する。
第7図は、転送先矩形89を転送元矩形88に対して+
90度回転させる場合を示したものである。セットアツ
プ・ルーチン34は、転送元データの読取りと転送先デ
ータの書込みの間でアクセスの方向を変更するため、第
1図のトグル90度フラッグ5をセットする。セットア
ツプ・コード34はメモリ・アクセスの省略時の方向、
すなわち、水平方向を保持するが、トグル90度フラッ
グ5はセットしない。ステップ42で転送元データが水
平方向に読取られる。トグル90度フラッグ5がセット
されているので、次にステップ44でアクセスの方向が
90度変更される。従って、ブロック46で転送先デー
タが垂直に書込まれる。
90度回転させる場合を示したものである。セットアツ
プ・ルーチン34は、転送元データの読取りと転送先デ
ータの書込みの間でアクセスの方向を変更するため、第
1図のトグル90度フラッグ5をセットする。セットア
ツプ・コード34はメモリ・アクセスの省略時の方向、
すなわち、水平方向を保持するが、トグル90度フラッ
グ5はセットしない。ステップ42で転送元データが水
平方向に読取られる。トグル90度フラッグ5がセット
されているので、次にステップ44でアクセスの方向が
90度変更される。従って、ブロック46で転送先デー
タが垂直に書込まれる。
ステップ48で方向が再度90度変更されて、水平方向
になる。転送先Xアドレスは第1図のトグル増減フラッ
グ4を用いて減分される。ステップ58は、転送元外部
ループ・アドレスの省略時の増分として実行されるが、
ステップ6oは転送先外部ループ・アドレスの減分とし
て実行される。
になる。転送先Xアドレスは第1図のトグル増減フラッ
グ4を用いて減分される。ステップ58は、転送元外部
ループ・アドレスの省略時の増分として実行されるが、
ステップ6oは転送先外部ループ・アドレスの減分とし
て実行される。
従って、転送元矩形は内部ループによって水平に走査さ
れ、外部ループによって上から下に走査される。転送先
矩形は内部ループで垂直に走査され、外部にループで右
から左に走査される。その結果、データが+90度回転
させられる。
れ、外部ループによって上から下に走査される。転送先
矩形は内部ループで垂直に走査され、外部にループで右
から左に走査される。その結果、データが+90度回転
させられる。
第7図を要約すると、内部ループは転送元矩形を水平方
向にアクセスし、Xアドレスを増分する。
向にアクセスし、Xアドレスを増分する。
内部ループは転送先矩形を垂直方向にアクセスし、Yア
ドレスを増分する。外部ループは転送元矩形のYアドレ
スを増分し、転送先矩形のXアドレスを減分する。
ドレスを増分する。外部ループは転送元矩形のYアドレ
スを増分し、転送先矩形のXアドレスを減分する。
第8図は、転送先矩形93を転送元矩形92に対して一
90度回転させる場合を示したものである。セットアツ
プ・ルーチン35は、第1図の垂直/水平フラッグ6を
垂直にセットし、第1図のトグル90度フラッグ5をセ
ットして、転送元データの読取りと転送先データの書込
みの間でアクセスの方向を変更する。垂直/水平フラッ
グ6をセットすると、アクセスの方向はセットアツプ・
コード内で垂直にセットされる。従って、ステップ42
で転送元データが垂直方向に読取られる。
90度回転させる場合を示したものである。セットアツ
プ・ルーチン35は、第1図の垂直/水平フラッグ6を
垂直にセットし、第1図のトグル90度フラッグ5をセ
ットして、転送元データの読取りと転送先データの書込
みの間でアクセスの方向を変更する。垂直/水平フラッ
グ6をセットすると、アクセスの方向はセットアツプ・
コード内で垂直にセットされる。従って、ステップ42
で転送元データが垂直方向に読取られる。
トグル90度フラッグ5がセットされているので、ステ
ップ44でアクセスの方向が水平方向に変更される。ス
テップ46で転送先データが水平方向に書込まれる。ト
グル90度のフラッグ5が依然としてセットされている
ので、ステップ48でアクセスの方向が変更されて垂直
に戻る。転送先Yアドレスは、第1図のトグル増減フラ
ッグ4を用いて減分される。ステップ58で転送元外部
ループ・アドレスが増分(省略時の場合)され、ステッ
プ60でトグル増分/減分フラッグ4のため転送先外部
ループ・アドレスが減分される。従って、転送元矩形は
内部ループによって垂直に走査され、外部ループによっ
て左から右に走査される。転送先組形は内部ループによ
って水平に走査され、外部ループによって下から上に走
査される。その結果、データは一90度回転される。
ップ44でアクセスの方向が水平方向に変更される。ス
テップ46で転送先データが水平方向に書込まれる。ト
グル90度のフラッグ5が依然としてセットされている
ので、ステップ48でアクセスの方向が変更されて垂直
に戻る。転送先Yアドレスは、第1図のトグル増減フラ
ッグ4を用いて減分される。ステップ58で転送元外部
ループ・アドレスが増分(省略時の場合)され、ステッ
プ60でトグル増分/減分フラッグ4のため転送先外部
ループ・アドレスが減分される。従って、転送元矩形は
内部ループによって垂直に走査され、外部ループによっ
て左から右に走査される。転送先組形は内部ループによ
って水平に走査され、外部ループによって下から上に走
査される。その結果、データは一90度回転される。
第8図を要約すると、内部ループは転送元矩形を水平方
向にアクセスし、Yアドレスを増分する。
向にアクセスし、Yアドレスを増分する。
内部ループは転送先矩形を水平方向にアクセスし、Xア
ドレスを増分する。外部ループは転送元矩形のXアドレ
スを増分し、転送先矩形のYアドレスを減分する。
ドレスを増分する。外部ループは転送元矩形のXアドレ
スを増分し、転送先矩形のYアドレスを減分する。
第9図は、データをどのようにコピーすると、180度
X軸対称にすることができるかを示したものである。転
送先矩形95は、X軸の回りで反転されて、転送先矩形
のデータとマージされた、または転送先矩形ヘコピーさ
れた転送元矩形94の像である。転送元矩形と転送先矩
形のどちらに対するアクセスも水平である。セットアツ
プ・コードは、転送先Yアドレスがステップ60で減分
されるように、第1図のトグル増減フラッグ4をセット
する。転送元矩形は内部ループで水平に走査され、外部
ループで上から下に走査される。転送先矩形は内部ルー
プで水平に走査され、外部ループで下から上に走査され
る。トグル増減フラッグ4をセットするセットアツプ・
コードは、第2図のブロック36である。
X軸対称にすることができるかを示したものである。転
送先矩形95は、X軸の回りで反転されて、転送先矩形
のデータとマージされた、または転送先矩形ヘコピーさ
れた転送元矩形94の像である。転送元矩形と転送先矩
形のどちらに対するアクセスも水平である。セットアツ
プ・コードは、転送先Yアドレスがステップ60で減分
されるように、第1図のトグル増減フラッグ4をセット
する。転送元矩形は内部ループで水平に走査され、外部
ループで上から下に走査される。転送先矩形は内部ルー
プで水平に走査され、外部ループで下から上に走査され
る。トグル増減フラッグ4をセットするセットアツプ・
コードは、第2図のブロック36である。
第9図を要約すると、内部ループは転送元矩形を水平方
向にアクセスし、Xアドレスを増分する。
向にアクセスし、Xアドレスを増分する。
内部ループは転送先矩形を水平方向にアクセスし、Xア
ドレスを増分する。外部ループは転送元矩形のYアドレ
スを増分し、転送先矩形のYアドレスを減分する。
ドレスを増分する。外部ループは転送元矩形のYアドレ
スを増分し、転送先矩形のYアドレスを減分する。
第10図は、180度Y軸対称マージまたはコピー・ビ
ット・ブロック転送がどのようにして実行できるかを示
す。第1図の垂直/水平フラッグ6が垂直モードにセッ
トされている。第1図のトグル増減フラッグ4が宛先X
アドレスのために呼び出される。転送元矩形96は内部
ループで上から下に走査され、外部ループで左から右に
走査される。転送先矩形97は内部ループで上から下に
走査され、外部ループで右から左に走査される。
ット・ブロック転送がどのようにして実行できるかを示
す。第1図の垂直/水平フラッグ6が垂直モードにセッ
トされている。第1図のトグル増減フラッグ4が宛先X
アドレスのために呼び出される。転送元矩形96は内部
ループで上から下に走査され、外部ループで左から右に
走査される。転送先矩形97は内部ループで上から下に
走査され、外部ループで右から左に走査される。
この結果、転送元データはY軸の回りに180度反転さ
れ、転送先データとマージされるか、または転送先デー
タにコピーされる。フラッグ6および4をセットするセ
ットアツプ・コードは、第2図のブロック37である。
れ、転送先データとマージされるか、または転送先デー
タにコピーされる。フラッグ6および4をセットするセ
ットアツプ・コードは、第2図のブロック37である。
第10図を要約すると、内部ループは転送元矩形を垂直
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分し
、転送先矩形のXアドレスを減分する。
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分し
、転送先矩形のXアドレスを減分する。
表■は転送元矩形及び転送先矩形に対するアクセスの方
向及び外部ループ上での増分及び減分機能の使用との組
合わせを要約した表である。上述の特別なハードウェア
機能を用いると、ビット・ブロック転送タスクは最低8
つの特別な場合に分類できる。このためコード・スペー
スが節約されるだけでなく、実行時間も節約される。上
述の8つの場合全てについて同じ内部ループと外部ルー
プを用いることにより、コード・スペースがさらに節約
される。内部および外部ループの全コード・カウントは
23命令であった。第3図ないし第6図の場合のセット
アツプ命令は、合計29個であった。+90度回転(第
7図)及び−90度回転(第8図)のためのセットアツ
プは、それぞれ命令4個を要した。180度X軸対称(
第9図)および180度Y軸対称(第10図)のための
セットアツプは、命令2個を要した。この結果、全コー
ド・カウントは64 (10進数)命令になる。
向及び外部ループ上での増分及び減分機能の使用との組
合わせを要約した表である。上述の特別なハードウェア
機能を用いると、ビット・ブロック転送タスクは最低8
つの特別な場合に分類できる。このためコード・スペー
スが節約されるだけでなく、実行時間も節約される。上
述の8つの場合全てについて同じ内部ループと外部ルー
プを用いることにより、コード・スペースがさらに節約
される。内部および外部ループの全コード・カウントは
23命令であった。第3図ないし第6図の場合のセット
アツプ命令は、合計29個であった。+90度回転(第
7図)及び−90度回転(第8図)のためのセットアツ
プは、それぞれ命令4個を要した。180度X軸対称(
第9図)および180度Y軸対称(第10図)のための
セットアツプは、命令2個を要した。この結果、全コー
ド・カウントは64 (10進数)命令になる。
水平マイクロコードと特別なアーキテクチャのハードウ
ェア機能が平行になっているため、ビット・ブロック転
送操作に完全に適合した強力なタスク演算エンジンが提
供される。
ェア機能が平行になっているため、ビット・ブロック転
送操作に完全に適合した強力なタスク演算エンジンが提
供される。
F0発明の効果
本発明によれば、メモリ内のデータを融通性のある態様
で迅速に転送することができる。又、制御のためのマイ
クロコードも少なくてすむ。
で迅速に転送することができる。又、制御のためのマイ
クロコードも少なくてすむ。
表■
表■
第1図はマイクロコード化されたプロセッサを含むメモ
リ制御システムのブロック・ダイヤグラム、第2A図お
よび第2B図は明細書に記載された機能を実行するため
プロセッサが実行するステップのフローチャート、第3
図は転送先矩形が物理的に転送元矩形の上にある場合の
ビット・ブロック転送の説明図、第4図は転送先矩形が
物理的に転送元矩形の下にある場合のビット・ブロック
転送の説明図、第5図は転送先矩形が物理的に転送元矩
形の左側にある場合のビット・ブロック転送の説明図、
第6図は転送先矩形が物理的に転送元矩形の右側にある
場合のビット・ブロック転送の説明図、第7図は+90
度ビット・ブロック転送の説明図、第8図は一90度ブ
ロック転送の説明図、第9図は180度X軸対称ビット
・ブロック転送の説明図、さらに第10図は180度Y
軸対称ビット・ブロック転送の説明図である。 ■・・・・レジスタ・アレイ、2・・・・演算論理機構
、3・・・・第1のトグル増減フラッグ、4・・・・第
2のトグル増減フラッグ、5・・・・トグル90度フラ
ッグ、6・・・・垂直/水平フラッグ、7・・・・マス
ク生成機構、8・・・・Yレジスタ、9・・・・Xレジ
スタ、10・・・・BAMDAメモリ、19・・・・論
理機能生成機構、20・・・・プロセッサ。
リ制御システムのブロック・ダイヤグラム、第2A図お
よび第2B図は明細書に記載された機能を実行するため
プロセッサが実行するステップのフローチャート、第3
図は転送先矩形が物理的に転送元矩形の上にある場合の
ビット・ブロック転送の説明図、第4図は転送先矩形が
物理的に転送元矩形の下にある場合のビット・ブロック
転送の説明図、第5図は転送先矩形が物理的に転送元矩
形の左側にある場合のビット・ブロック転送の説明図、
第6図は転送先矩形が物理的に転送元矩形の右側にある
場合のビット・ブロック転送の説明図、第7図は+90
度ビット・ブロック転送の説明図、第8図は一90度ブ
ロック転送の説明図、第9図は180度X軸対称ビット
・ブロック転送の説明図、さらに第10図は180度Y
軸対称ビット・ブロック転送の説明図である。 ■・・・・レジスタ・アレイ、2・・・・演算論理機構
、3・・・・第1のトグル増減フラッグ、4・・・・第
2のトグル増減フラッグ、5・・・・トグル90度フラ
ッグ、6・・・・垂直/水平フラッグ、7・・・・マス
ク生成機構、8・・・・Yレジスタ、9・・・・Xレジ
スタ、10・・・・BAMDAメモリ、19・・・・論
理機能生成機構、20・・・・プロセッサ。
Claims (3)
- (1)複数の次元方向に配列されたビット・アドレス可
能な2進データを記憶するための記憶手段と、前記複数
の次元方向のうちの少なくとも2つの方向で、前記記憶
手段内のデータのグループにアクセスし、前記データを
グループ内に保持しながら別の次元位置に移動するため
のアクセス手段とを有するメモリ回路。 - (2)前記アクセス手段が少なくとも1つの次元方向に
おいて昇順又は降順にデータをアドレスする手段を有す
る特許請求の範囲第(1)項記載のメモリ回路。 - (3)前記アクセス手段が前記記憶手段内のデータを第
1の次元方向において読取り且つ該データを第2の次元
方向において前記記憶手段に書込む手段を有する特許請
求の範囲第(1)項記載のメモリ回路。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/820,466 US4763251A (en) | 1986-01-17 | 1986-01-17 | Merge and copy bit block transfer implementation |
| US820466 | 1986-01-17 | ||
| SG148794A SG148794G (en) | 1986-01-17 | 1994-10-13 | Graphic and data display system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62166453A true JPS62166453A (ja) | 1987-07-22 |
| JPH081612B2 JPH081612B2 (ja) | 1996-01-10 |
Family
ID=26664425
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61282229A Expired - Fee Related JPH081612B2 (ja) | 1986-01-17 | 1986-11-28 | メモリ回路 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4763251A (ja) |
| EP (1) | EP0230352B1 (ja) |
| JP (1) | JPH081612B2 (ja) |
| DE (1) | DE3788141T2 (ja) |
| HK (1) | HK139594A (ja) |
| SG (1) | SG148794G (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2210239B (en) * | 1987-09-19 | 1992-06-17 | Hudson Soft Co Ltd | An apparatus for controlling the access of a video memory |
| US5254979A (en) * | 1988-03-12 | 1993-10-19 | Dupont Pixel Systems Limited | Raster operations |
| EP0334622A3 (en) * | 1988-03-23 | 1991-05-29 | Du Pont Pixel Systems Limited | Raster operations |
| US5265005A (en) * | 1990-08-31 | 1993-11-23 | Allen-Bradley Company, Inc. | Processor for a programmable controller |
| US5212631A (en) * | 1990-08-31 | 1993-05-18 | Allen-Bradley Company, Inc. | Programmable controller processor module having multiple program instruction execution sections |
| US5345555A (en) * | 1990-11-23 | 1994-09-06 | Network Computing Devices, Inc. | Image processor memory for expediting memory operations |
| US5313576A (en) * | 1990-11-23 | 1994-05-17 | Network Computing Devices, Inc. | Bit aligned data block transfer method and apparatus |
| JP3150342B2 (ja) * | 1991-11-27 | 2001-03-26 | セイコーエプソン株式会社 | 直交方向(オーソゴナル)ローテータ |
| US5929872A (en) * | 1997-03-21 | 1999-07-27 | Alliance Semiconductor Corporation | Method and apparatus for multiple compositing of source data in a graphics display processor |
| US9557993B2 (en) * | 2012-10-23 | 2017-01-31 | Analog Devices Global | Processor architecture and method for simplifying programming single instruction, multiple data within a register |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58178470A (ja) * | 1982-04-14 | 1983-10-19 | Hitachi Ltd | メモリ制御装置 |
| JPS59189470A (ja) * | 1983-04-12 | 1984-10-27 | Mita Ind Co Ltd | 画像処理方式 |
| JPS6081659A (ja) * | 1983-10-12 | 1985-05-09 | Canon Inc | デ−タ転送方式 |
| JPS6081657A (ja) * | 1983-10-11 | 1985-05-09 | Canon Inc | デ−タ制御方式 |
| JPS60172085A (ja) * | 1984-02-17 | 1985-09-05 | 株式会社日立製作所 | 図形処理装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3973245A (en) * | 1974-06-10 | 1976-08-03 | International Business Machines Corporation | Method and apparatus for point plotting of graphical data from a coded source into a buffer and for rearranging that data for supply to a raster responsive device |
| US3976982A (en) * | 1975-05-12 | 1976-08-24 | International Business Machines Corporation | Apparatus for image manipulation |
| US4090174A (en) * | 1976-11-01 | 1978-05-16 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences and rectangular subarrays from an array stored in a modified word organized random access memory system |
| US4296476A (en) * | 1979-01-08 | 1981-10-20 | Atari, Inc. | Data processing system with programmable graphics generator |
| US4460958A (en) * | 1981-01-26 | 1984-07-17 | Rca Corporation | Window-scanned memory |
| US4495567A (en) * | 1981-10-15 | 1985-01-22 | Codex Corporation | Multiprocessor/multimemory control system |
| US4481578A (en) * | 1982-05-21 | 1984-11-06 | Pitney Bowes Inc. | Direct memory access data transfer system for use with plural processors |
| JPS58209784A (ja) * | 1982-05-31 | 1983-12-06 | 株式会社東芝 | メモリシステム |
| DE3374462D1 (en) * | 1982-07-21 | 1987-12-17 | Marconi Avionics | Multi-dimensional-access memory system |
| DE158314T1 (de) * | 1984-04-10 | 1986-04-30 | Ascii Corp., Tokio/Tokyo | Videoanzeigesteuersystem. |
| JPH0715706B2 (ja) * | 1986-03-27 | 1995-02-22 | 日本電気株式会社 | メモリ制御装置 |
-
1986
- 1986-01-17 US US06/820,466 patent/US4763251A/en not_active Expired - Lifetime
- 1986-11-28 JP JP61282229A patent/JPH081612B2/ja not_active Expired - Fee Related
-
1987
- 1987-01-08 EP EP87300122A patent/EP0230352B1/en not_active Expired - Lifetime
- 1987-01-08 DE DE87300122T patent/DE3788141T2/de not_active Expired - Fee Related
-
1994
- 1994-10-13 SG SG148794A patent/SG148794G/en unknown
- 1994-12-08 HK HK139594A patent/HK139594A/en not_active IP Right Cessation
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58178470A (ja) * | 1982-04-14 | 1983-10-19 | Hitachi Ltd | メモリ制御装置 |
| JPS59189470A (ja) * | 1983-04-12 | 1984-10-27 | Mita Ind Co Ltd | 画像処理方式 |
| JPS6081657A (ja) * | 1983-10-11 | 1985-05-09 | Canon Inc | デ−タ制御方式 |
| JPS6081659A (ja) * | 1983-10-12 | 1985-05-09 | Canon Inc | デ−タ転送方式 |
| JPS60172085A (ja) * | 1984-02-17 | 1985-09-05 | 株式会社日立製作所 | 図形処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0230352B1 (en) | 1993-11-18 |
| EP0230352A3 (en) | 1990-03-07 |
| HK139594A (en) | 1994-12-16 |
| DE3788141D1 (de) | 1993-12-23 |
| US4763251A (en) | 1988-08-09 |
| SG148794G (en) | 1995-03-17 |
| DE3788141T2 (de) | 1994-05-11 |
| JPH081612B2 (ja) | 1996-01-10 |
| EP0230352A2 (en) | 1987-07-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3286331B2 (ja) | ブロックテクスチャコンプレックスクリップマスクプロセッサ | |
| US5251298A (en) | Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses | |
| US4679038A (en) | Band buffer display system | |
| EP0279229B1 (en) | A graphics display system | |
| JP3622033B2 (ja) | データをメモリに効率良く転送するための方法および装置 | |
| US5623624A (en) | Memory control architecture for high speed transfer options | |
| EP0149188B1 (en) | Display control system | |
| EP0230352B1 (en) | Graphic and data display system | |
| EP0279227A2 (en) | Raster display vector generator | |
| JPH02228782A (ja) | 図形情報を処理する装置 | |
| JPS60140470A (ja) | 画像情報処理装置 | |
| EP0464601A2 (en) | Arithmetic operation system | |
| EP0284905B1 (en) | Display system | |
| JPH0256678B2 (ja) | ||
| US6104369A (en) | Display control circuit including hardware elements for preventing undesired display within the display space of the display unit | |
| EP0229986A2 (en) | Cursor circuit for a dual port memory | |
| JP2554876B2 (ja) | アドレス変換装置 | |
| JPH0697393B2 (ja) | ビットマップ処理装置 | |
| EP0242139A2 (en) | Display controller | |
| JPH0346833B2 (ja) | ||
| JPH03164872A (ja) | 図形処理システム | |
| JPH04205678A (ja) | 画像情報処理装置 | |
| JPH01193893A (ja) | Crtディスプレイ装置 | |
| JPH0612054A (ja) | グラフィックディスプレイ装置の画面表示制御方法 | |
| JPS62191919A (ja) | デ−タ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |