JPH081612B2 - メモリ回路 - Google Patents
メモリ回路Info
- Publication number
- JPH081612B2 JPH081612B2 JP61282229A JP28222986A JPH081612B2 JP H081612 B2 JPH081612 B2 JP H081612B2 JP 61282229 A JP61282229 A JP 61282229A JP 28222986 A JP28222986 A JP 28222986A JP H081612 B2 JPH081612 B2 JP H081612B2
- Authority
- JP
- Japan
- Prior art keywords
- rectangle
- destination
- transfer
- 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.)
- Expired - Fee Related
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)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明はビデオ表示システムに関し、さらに詳細に
は、ビツト・ブロツク転送能力を備えたビデオ表示シス
テムに関するものである。
は、ビツト・ブロツク転送能力を備えたビデオ表示シス
テムに関するものである。
B.従来技術 ビツト・マツプ表示装置は、表示画面をドツトから成
る不連続な矩形のメツシユまたはマトリツクスとして扱
う。これらのドツトは、画素と呼ばれ、各画素は表示装
置のメモリ・アレイ内の1つまたは複素のビツトで表わ
される。ビツト・マツプ表示装置にとつて非常に有用な
機能は、画素の矩形ブロツクをビツト・マツプ内のある
場所から別の場所に移動し、転送元矩形と転送先矩形を
論理的に結合する能力である。これらの論理機能には、
AND、OR、排他的OR、置換等がある。この機能はハード
ウエアからのいかなる支援もなしに実行できるが、コー
ド・スペース及び実行時間の点で費用が高くつく。
る不連続な矩形のメツシユまたはマトリツクスとして扱
う。これらのドツトは、画素と呼ばれ、各画素は表示装
置のメモリ・アレイ内の1つまたは複素のビツトで表わ
される。ビツト・マツプ表示装置にとつて非常に有用な
機能は、画素の矩形ブロツクをビツト・マツプ内のある
場所から別の場所に移動し、転送元矩形と転送先矩形を
論理的に結合する能力である。これらの論理機能には、
AND、OR、排他的OR、置換等がある。この機能はハード
ウエアからのいかなる支援もなしに実行できるが、コー
ド・スペース及び実行時間の点で費用が高くつく。
ビツト・アドレス可能性とは、メモリ内の任意の特定
の画素位置にある一連の画素データの読取りまたは書込
みを開始する能力である。ビツト・マツプのメモリの従
来のレイアウト及び制御のせいで、この能力は一連の水
平画素だけに限定されていたが、ソフトウエアから負荷
を幾らか取り除くのに役立つていた。
の画素位置にある一連の画素データの読取りまたは書込
みを開始する能力である。ビツト・マツプのメモリの従
来のレイアウト及び制御のせいで、この能力は一連の水
平画素だけに限定されていたが、ソフトウエアから負荷
を幾らか取り除くのに役立つていた。
画像処理メモリの一例は、米国特許第4090174号に開
示されている。
示されている。
C.発明が解決しようとする問題点 従来技術では、メモリ内のデータのブロツクを融通性
のある態様で迅速に転送することは困難であつた。
のある態様で迅速に転送することは困難であつた。
D.問題点を解決するための手段 本発明に従つて、ビツト・アドレス可能な2進データ
を複数の次元方向で記憶するための記憶手段を備えたメ
モリ回路が提供される。少くとも2つの次元方向で記憶
手段内の2進データのグループにアクセスし、データを
グループ内に保持しながら別の次元位置に移動するため
のアクセス手段も設けられる。
を複数の次元方向で記憶するための記憶手段を備えたメ
モリ回路が提供される。少くとも2つの次元方向で記憶
手段内の2進データのグループにアクセスし、データを
グループ内に保持しながら別の次元位置に移動するため
のアクセス手段も設けられる。
さらに、本発明に従つて、ビツト・アドレス可能な2
進データを、直交する複数の次元方向に記憶するための
記憶手段と、少なくとも1つの方向でデータを昇順また
は降順にアドレスして記憶手段内のデータにアクセスす
るためのアクセス手段を備えたメモリ回路が提供され
る。
進データを、直交する複数の次元方向に記憶するための
記憶手段と、少なくとも1つの方向でデータを昇順また
は降順にアドレスして記憶手段内のデータにアクセスす
るためのアクセス手段を備えたメモリ回路が提供され
る。
好ましい実施例では、メモリは、マイクロプロセツサ
と、アドレスを自動的に減分または増分する特別な回路
を用いてデータをアクセスすることによりビツト・ブロ
ツク転送を実行するための特別な回路構成とを備えた、
ビツト・アドレス可能な多次元アレイ・メモリである。
この回路構成はさらに、アクセス方向を水平次元方向か
ら垂直次元方向に切り換え、さらに転送中に読取り動作
と書込み動作の間で方向を切り替える特別なラツチを含
んでいる。1つのアクセス・サイクル中に可変数のビツ
トにアクセスできる他の回路構成が提供され、メモリ内
のデータについて論理演算を実行する能力も提供され
る。
と、アドレスを自動的に減分または増分する特別な回路
を用いてデータをアクセスすることによりビツト・ブロ
ツク転送を実行するための特別な回路構成とを備えた、
ビツト・アドレス可能な多次元アレイ・メモリである。
この回路構成はさらに、アクセス方向を水平次元方向か
ら垂直次元方向に切り換え、さらに転送中に読取り動作
と書込み動作の間で方向を切り替える特別なラツチを含
んでいる。1つのアクセス・サイクル中に可変数のビツ
トにアクセスできる他の回路構成が提供され、メモリ内
のデータについて論理演算を実行する能力も提供され
る。
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とし
て定義される。
これらのハードウエア機能は、垂直方向ならびに水平
方向におけるビツト・アドレス可能性を含んでいる(ビ
ツト・アドレス可能な多次元アクセス・メモリ即ちBAMD
Aメモリを示す1985年2月13日出願の米国特許第701328
号参照)。このメモリは、任意のビツト境界上で16ビツ
トの読取りと16ビツトまでの書込みが可能であり、書込
みの方向は水平と垂直のどちらにもできる。これによ
り、ビツト・アドレス可能性を持たないビツト・マツプ
表示装置でふつう見られる初期エツジ状態がなくなる。
ビツト・アドレス可能性がないと、転送元アドレスおよ
び転送先アドレスは、バイト境界またはワード境界に関
して同じアラインメントを有することができない。初期
エツジ状態では、転送先アドレスへの最初の書込みを形
成するため、転送元データへの読取りアクセス2回とシ
フト動作及びマスキングが必要となることがある。ビツ
ト・アドレス可能性があると、コード・スペースが一層
小さくなり、ビツト・ブロツク転送機能を実行するのに
必要な実行時間が短縮される。
方向におけるビツト・アドレス可能性を含んでいる(ビ
ツト・アドレス可能な多次元アクセス・メモリ即ちBAMD
Aメモリを示す1985年2月13日出願の米国特許第701328
号参照)。このメモリは、任意のビツト境界上で16ビツ
トの読取りと16ビツトまでの書込みが可能であり、書込
みの方向は水平と垂直のどちらにもできる。これによ
り、ビツト・アドレス可能性を持たないビツト・マツプ
表示装置でふつう見られる初期エツジ状態がなくなる。
ビツト・アドレス可能性がないと、転送元アドレスおよ
び転送先アドレスは、バイト境界またはワード境界に関
して同じアラインメントを有することができない。初期
エツジ状態では、転送先アドレスへの最初の書込みを形
成するため、転送元データへの読取りアクセス2回とシ
フト動作及びマスキングが必要となることがある。ビツ
ト・アドレス可能性があると、コード・スペースが一層
小さくなり、ビツト・ブロツク転送機能を実行するのに
必要な実行時間が短縮される。
転送元データと転送先データの結合を可能にするため
の論理機能生成機構も含まれている。これは、転送元デ
ータに対するアクセスの方向または転送先データに対す
るアクセスの方向とは無関係に等しく働く。
の論理機能生成機構も含まれている。これは、転送元デ
ータに対するアクセスの方向または転送先データに対す
るアクセスの方向とは無関係に等しく働く。
さらに、ビツト・ブロツク転送コードの内部にループ
・カウントの内容に基いて書込みマスクを形成するマス
ク生成ハードウエアが含まれている。初期エツジの問題
は、ビツト・アドレス可能性により解決された。ビツト
・マツプの読取り及び書込みは、内部ループ・カウント
が16を下回るまで、16ビツトのスライスを使つて継続さ
れる。内部ループの終りで部分書込みを実行するには、
従来はルーチンが外部コードに分岐しなければならなか
つた。この外部コードで、部分書込み用の適正なマスク
が計算され、作成されていた。本発明では、書込みマス
クが常にこの回路構成によつてビツト・ブロツク転送コ
ードの内部ループ・カウントから自動的に生成されるの
で、それは必要でなく、コード・スペースおよび実行時
間が節約される。
・カウントの内容に基いて書込みマスクを形成するマス
ク生成ハードウエアが含まれている。初期エツジの問題
は、ビツト・アドレス可能性により解決された。ビツト
・マツプの読取り及び書込みは、内部ループ・カウント
が16を下回るまで、16ビツトのスライスを使つて継続さ
れる。内部ループの終りで部分書込みを実行するには、
従来はルーチンが外部コードに分岐しなければならなか
つた。この外部コードで、部分書込み用の適正なマスク
が計算され、作成されていた。本発明では、書込みマス
クが常にこの回路構成によつてビツト・ブロツク転送コ
ードの内部ループ・カウントから自動的に生成されるの
で、それは必要でなく、コード・スペースおよび実行時
間が節約される。
転送元アドレス及び転送先アドレスを変更するトグル
増減回路が含まれている。このトグル増分/減分回路を
使うと、複数の機能を含むループが作成できる。実行時
には、トグル増減回路を使用可能にして反射の機能を実
行するようにできる。使用可能になつた場合、増分命令
は減分として実行され、逆もまた同様である。これによ
り、コーダは別のセツトアツプ・ルーチンを使うだけ
で、1つのループに異なる機能を実行させることができ
る。その結果、コード・スペースが大幅に節約される。
増減回路が含まれている。このトグル増分/減分回路を
使うと、複数の機能を含むループが作成できる。実行時
には、トグル増減回路を使用可能にして反射の機能を実
行するようにできる。使用可能になつた場合、増分命令
は減分として実行され、逆もまた同様である。これによ
り、コーダは別のセツトアツプ・ルーチンを使うだけ
で、1つのループに異なる機能を実行させることができ
る。その結果、コード・スペースが大幅に節約される。
ビツト・マツプ・アクセスを省略時の値(水平方向)か
ら垂直方向に切り替える垂直設定回路構成が設けられて
いる。これを使うと、同じループに異なる機能を実行さ
せるセツトアツプ・ルーチンを作成する際に融通性が得
られる。
ら垂直方向に切り替える垂直設定回路構成が設けられて
いる。これを使うと、同じループに異なる機能を実行さ
せるセツトアツプ・ルーチンを作成する際に融通性が得
られる。
使用可能にされると、アクセスの方向を水平から垂直
に、または垂直から水平に切り替える、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の各機能に作用し、かつ制御する。フラツグ3乃至
6は制御ラツチ22に含まれている。プロセツサは、線21
上でこれらの機能を全て制御する。プロセツサは、線2
1、制御フラツグ3、4、5、6及び線15を介して演算
論理機構(ALU)2を制御する。ビツト・アドレス可能
な多次元アクセス(BAMDA)メモリ10は、ビツト・マツ
プ用のメモリを備え、そこに原始データおよび宛先デー
タが常駐する。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上にメモリ10のための書込み制御
論理信号を生じる。転送元データは、線18を介して論理
機能生成機構19(後で考察する組合わせ論理)によつて
転送先データと結合される。
ツプ・メモリのブロツク・ダイヤグラムである。プロセ
ツサ20は、ハードウエアの種々の構成要素を制御するこ
とができる水平にマイクロコード化された命令を取り出
す。このプロセツサは、レジスタ・アレイ1、Xレジス
タ9、Yレジスタ8、第1及び第2のトグル増減フラツ
グ3と4、トグル90度フラツグ5、垂直/水平フラツグ
6、マスク生成ハードウエア7、および論理機能生成機
構19の各機能に作用し、かつ制御する。フラツグ3乃至
6は制御ラツチ22に含まれている。プロセツサは、線21
上でこれらの機能を全て制御する。プロセツサは、線2
1、制御フラツグ3、4、5、6及び線15を介して演算
論理機構(ALU)2を制御する。ビツト・アドレス可能
な多次元アクセス(BAMDA)メモリ10は、ビツト・マツ
プ用のメモリを備え、そこに原始データおよび宛先デー
タが常駐する。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上にメモリ10のための書込み制御
論理信号を生じる。転送元データは、線18を介して論理
機能生成機構19(後で考察する組合わせ論理)によつて
転送先データと結合される。
レジスタ・アレイ1内の外部ループ変数は、線12を介し
てALU1に送られ、トグル増減フラツグ3および4によつ
て増分または減分される。これらの制御フラツグは、線
15を介してALU2に送られる。
てALU1に送られ、トグル増減フラツグ3および4によつ
て増分または減分される。これらの制御フラツグは、線
15を介してALU2に送られる。
マスク生成機構7は、明細書末尾の表Iに示すように
実行される組合わせ論理のネツトワークを含んでいる。
この表は、レジスタ・アレイ1から内部ループ・カウン
トの10ビツトがこの組合わせ論理によつてどのようにし
て書込みマスクに変換されるかを示す。メモリ10から常
に同数のビツトが読取られるが、時にはもつと少ないビ
ツトをメモリにロードしたい場合がある。好ましい実施
例では、書込みマスクを使つて、0ないし16の任意の数
のビツトが選択的に書込みできる。表Iで、「マスク生
成機構の出力」と表示された2番目の欄は、最初の欄の
内部ループ・カウントに対する結果として生じる書込み
マスクを示す。書込みマスクの2進数1は、対応するビ
ツトが更新されることを示す。2進数0は、メモリ10の
対応するビツトが更新されないことを示す。垂直方向及
び水平方向でのメモリ10のビツト・アドレス可能性と
は、書込みマスクの最左端のビツトが、Yレジスタ8内
の10ビツトのYアドレスとXレジスタ9内の10ビツトの
Xアドレスによつて指示されるビツトに作用することを
意味する。書込まれるべき一連のビツトのうちの他のビ
ツトは、正の方向にある。アクセス方向が水平の場合
は、それらは書込みマスクの最左端のビツトに対して正
の方向に(右に向つて)書込まれる。アクセス方向に垂
直の場合は、それらは書込みマスクの最左端のビツトに
対して正の方向に(下方に)書込まれる。マスク生成機
構7は、レジスタ・アレイ1内の内部ループ・カウント
から書込みマスクを作成する。内部ループ・カウントの
初期値は、書込まれるべき画素の数から1を差し引いた
ものである。このことについては、後で第2A図及び第2B
図のフローチヤートの詳細な説明と共にさらに詳しく説
明する。マスク生成機構7が書込まれるべき画素の数か
ら1を差し引いたものを用いる理由は、マイクロコード
の条件付き分岐論理のためである。読取られた画素の数
の減算と同時に、内部ループがいつ完了したかを検出す
ることが望ましい。好都合な唯一の条件は、内部ループ
・カウントが0より小さい(負)のときである。実施上
の制約により条件付き分岐は機能が強化されなかつたの
で、画素数ではなく、画素数から1を差し引いたものか
ら書込みマスクを生成する方が効率よくなる。
実行される組合わせ論理のネツトワークを含んでいる。
この表は、レジスタ・アレイ1から内部ループ・カウン
トの10ビツトがこの組合わせ論理によつてどのようにし
て書込みマスクに変換されるかを示す。メモリ10から常
に同数のビツトが読取られるが、時にはもつと少ないビ
ツトをメモリにロードしたい場合がある。好ましい実施
例では、書込みマスクを使つて、0ないし16の任意の数
のビツトが選択的に書込みできる。表Iで、「マスク生
成機構の出力」と表示された2番目の欄は、最初の欄の
内部ループ・カウントに対する結果として生じる書込み
マスクを示す。書込みマスクの2進数1は、対応するビ
ツトが更新されることを示す。2進数0は、メモリ10の
対応するビツトが更新されないことを示す。垂直方向及
び水平方向でのメモリ10のビツト・アドレス可能性と
は、書込みマスクの最左端のビツトが、Yレジスタ8内
の10ビツトのYアドレスとXレジスタ9内の10ビツトの
Xアドレスによつて指示されるビツトに作用することを
意味する。書込まれるべき一連のビツトのうちの他のビ
ツトは、正の方向にある。アクセス方向が水平の場合
は、それらは書込みマスクの最左端のビツトに対して正
の方向に(右に向つて)書込まれる。アクセス方向に垂
直の場合は、それらは書込みマスクの最左端のビツトに
対して正の方向に(下方に)書込まれる。マスク生成機
構7は、レジスタ・アレイ1内の内部ループ・カウント
から書込みマスクを作成する。内部ループ・カウントの
初期値は、書込まれるべき画素の数から1を差し引いた
ものである。このことについては、後で第2A図及び第2B
図のフローチヤートの詳細な説明と共にさらに詳しく説
明する。マスク生成機構7が書込まれるべき画素の数か
ら1を差し引いたものを用いる理由は、マイクロコード
の条件付き分岐論理のためである。読取られた画素の数
の減算と同時に、内部ループがいつ完了したかを検出す
ることが望ましい。好都合な唯一の条件は、内部ループ
・カウントが0より小さい(負)のときである。実施上
の制約により条件付き分岐は機能が強化されなかつたの
で、画素数ではなく、画素数から1を差し引いたものか
ら書込みマスクを生成する方が効率よくなる。
第1図の論理機能生成機構19は、メモリ10へのデータ
入力に関する論理演算を実行するものであり、テキサス
・インスツルメント(Texas Instruments)社の部品番
号74181または同様の機能を有するその他の市販製品で
ある。
入力に関する論理演算を実行するものであり、テキサス
・インスツルメント(Texas Instruments)社の部品番
号74181または同様の機能を有するその他の市販製品で
ある。
第2A図及び第2B図は、内部ルーチンおよび外部ルーチン
に供給される8つの異なるセツトアツプ・コード(ルー
チン)30、31、32、33、34、35、36、37を示すフローチ
ヤートである。内部ループは、命令42、44、46、48、50
及び52から成る。外部ループは、命令40、54、56、58及
び60から成る。第2B図の内部ループ及び外部ループへの
経路は、指定された5つの操作のうちの1つから始ま
る。操作が第3図ないし第6図に示すようなコピー機能
である場合、4つの場合のうちのどれがこのコピー操作
に適用されるかをマイクロコードが検出する。第2A図及
び第2B図に示されている様に、4つの場合に応じて線6
2、64、66、68のいずれかに分岐して、対応するセツト
アツプ・コード30、31、32、33を選択する。それ以外の
4つのコピー機能は、直接指定される。即ち、線70、7
2、74、76を介して、対応するセツトアツプ・コード3
4、35、36、37への分岐が行われる。同じ内部ループ3
0、31、32、33、34、35、36及び37に入力される8つの
マイクロコード機能は、第1図の2つのトグル増減フラ
ツグ3と4、トグル90度フラツグ5及び垂直/水平フラ
ツグ6の種々の組合わせを用いる。これらの制御フラツ
グの組合わせを使うと、1つの内部及び外部マイクロコ
ード・ループが8つの異なる機能を実行することができ
る。第3図に示すように、転送先矩形が物理的に転送元
矩形の上にある状態で、転送元矩形と転送先矩形がオー
バラツプできる省略時の場合について、フローチヤート
を詳細に考察することにする。
に供給される8つの異なるセツトアツプ・コード(ルー
チン)30、31、32、33、34、35、36、37を示すフローチ
ヤートである。内部ループは、命令42、44、46、48、50
及び52から成る。外部ループは、命令40、54、56、58及
び60から成る。第2B図の内部ループ及び外部ループへの
経路は、指定された5つの操作のうちの1つから始ま
る。操作が第3図ないし第6図に示すようなコピー機能
である場合、4つの場合のうちのどれがこのコピー操作
に適用されるかをマイクロコードが検出する。第2A図及
び第2B図に示されている様に、4つの場合に応じて線6
2、64、66、68のいずれかに分岐して、対応するセツト
アツプ・コード30、31、32、33を選択する。それ以外の
4つのコピー機能は、直接指定される。即ち、線70、7
2、74、76を介して、対応するセツトアツプ・コード3
4、35、36、37への分岐が行われる。同じ内部ループ3
0、31、32、33、34、35、36及び37に入力される8つの
マイクロコード機能は、第1図の2つのトグル増減フラ
ツグ3と4、トグル90度フラツグ5及び垂直/水平フラ
ツグ6の種々の組合わせを用いる。これらの制御フラツ
グの組合わせを使うと、1つの内部及び外部マイクロコ
ード・ループが8つの異なる機能を実行することができ
る。第3図に示すように、転送先矩形が物理的に転送元
矩形の上にある状態で、転送元矩形と転送先矩形がオー
バラツプできる省略時の場合について、フローチヤート
を詳細に考察することにする。
第3図ないし第10図は、これらのハードウエア機能が
どのようにして組合わされて表示装置100上で本発明の
8つのビツト・ブロツク転送機能を形成するかを示した
ものである。図中の→は内部ループ方向を示し、−−−
は外部ループ方向を示す。第3図ないし第6図は、ビツ
ト・ブロツク転送機能がマージまたはコピーであり、転
送元矩形及び転送先矩形がオーバラツプできる場合を示
す。この種のマージ操作またはコピー操作は、データ転
送中にデータを回転させない。転送先データが書込まれ
るのと同じ方向(水平または垂直)で転送元データが読
取られる。
どのようにして組合わされて表示装置100上で本発明の
8つのビツト・ブロツク転送機能を形成するかを示した
ものである。図中の→は内部ループ方向を示し、−−−
は外部ループ方向を示す。第3図ないし第6図は、ビツ
ト・ブロツク転送機能がマージまたはコピーであり、転
送元矩形及び転送先矩形がオーバラツプできる場合を示
す。この種のマージ操作またはコピー操作は、データ転
送中にデータを回転させない。転送先データが書込まれ
るのと同じ方向(水平または垂直)で転送元データが読
取られる。
第3図は、転送先矩形81が物理的に転送元矩形80の上に
ある場合を示したものである。これは、省略時の場合で
あり、他の7つの場合は全てその変形であると考えるこ
とができる。転送元矩形と転送先矩形の間の水平変位の
量は考慮する必要がない。ビツト・マツプのアクセス
は、転送元矩形と転送先矩形のどちらに対しても水平で
あり、外部ループは転送元アドレスと宛先アドレスのど
ちらのYアドレスをも増分する。内部ループは転送元デ
ータを読み取り、内部ループが尽きるまで、転送先を水
平モードで左から右に書込む。矩形の次の部分を走査す
るため、外部ループは転送元アドレスと転送先アドレス
の両方についてYアドレスを増分する。内部ループ・カ
ウントは、第1図のレジスタ・アレイ1から補充され、
再び矩形の別の部分が左から右に走査される。
ある場合を示したものである。これは、省略時の場合で
あり、他の7つの場合は全てその変形であると考えるこ
とができる。転送元矩形と転送先矩形の間の水平変位の
量は考慮する必要がない。ビツト・マツプのアクセス
は、転送元矩形と転送先矩形のどちらに対しても水平で
あり、外部ループは転送元アドレスと宛先アドレスのど
ちらのYアドレスをも増分する。内部ループは転送元デ
ータを読み取り、内部ループが尽きるまで、転送先を水
平モードで左から右に書込む。矩形の次の部分を走査す
るため、外部ループは転送元アドレスと転送先アドレス
の両方についてYアドレスを増分する。内部ループ・カ
ウントは、第1図のレジスタ・アレイ1から補充され、
再び矩形の別の部分が左から右に走査される。
第3図に示す例を使つて、第2A図及び第2B図のフロー
チヤートを説明する。これは、転送先矩形81が転送元矩
形80の上にある場合である。これは、第2B図の30に対応
する。このセツトアツプ・コードは、どの制御フラツグ
もセツトしない。2つのドグル増減フラツグ3と4のど
ちらも、またトグル90度フラツグ5も垂直/水平フラツ
グ6もセツトしない。外部ループ・ステツプ40では、内
部ループ・カウントのコピーを保持するレジスタから内
部ループ・カウントがロードされる。どちらのレジスタ
も、第1図のレジスタ・アレイ1中にある。第3図の場
合、内部ループ・カウントは、水平方向の画素数から1
を差し引いたもの、言い換えれば、矩形の幅から1を差
し引いたものである。
チヤートを説明する。これは、転送先矩形81が転送元矩
形80の上にある場合である。これは、第2B図の30に対応
する。このセツトアツプ・コードは、どの制御フラツグ
もセツトしない。2つのドグル増減フラツグ3と4のど
ちらも、またトグル90度フラツグ5も垂直/水平フラツ
グ6もセツトしない。外部ループ・ステツプ40では、内
部ループ・カウントのコピーを保持するレジスタから内
部ループ・カウントがロードされる。どちらのレジスタ
も、第1図のレジスタ・アレイ1中にある。第3図の場
合、内部ループ・カウントは、水平方向の画素数から1
を差し引いたもの、言い換えれば、矩形の幅から1を差
し引いたものである。
ステツプ42で、内部ループが開始される。このステツ
プで転送元矩形のデータが読取られる。垂直/水平フラ
ツグ6が、セツトアツプ・コード30によつて省略時の
(水平)方向から変更されていないので、転送元データ
は水平方向でアクセスされる。90度ドグル・フラツグ5
がセツトされていないので、ステツプ44では何のアクシ
ヨンも起きない。トグル90度フラツグがセツトされてい
る場合、メモリ・アクセスの方向は水平から垂直に、ま
たはその逆に変更されたはずである。ステツプ42で読取
られたデータが、ステツプ46でメモリ10に書込まれる。
ステツプ44では、メモリ・アクセスの方向は変更され
ず、またセツトアツプ・コード30からのアクセスの最初
の方向は水平であつたので、データは水平方向でメモリ
10に書込まれる。セツトアツプ・コードがトグル90度フ
ラツグ5を使用可能に(セツト)しなかつたので、ステ
ツプ48では何の効果もない。ステツプ50では、1つのメ
モリ・サイクル中に読取られた画素の数だけ内部ループ
・カウントが減分される。ステツプ52で、内部ループ・
カウントが尽きたかどうかテストする。第3図の矩形の
幅を完成するための画素がもつとある場合は、ステツプ
42に戻るように分岐が行なわれ、内部ループ処理が継続
される。内部ループ・カウントが尽きた場合、ステツプ
54に制御権が渡され、そこで外部ループ・カウント1だ
け減分される。最後の書込みが部分書込み(16ビツトよ
り少ない)の場合は、適切な書込みマスクが適切にマス
ク生成される。これは、レジスタ・アレイ1内の内部ル
ープ・カウントが常に線12上をマスク生成機構7に送ら
れるためである。内部ループ・カウントが15以上の場
合、書込まれるビツトの数は16であるが、内部ループ・
カウントが15未満の場合は、書込まれるビツトの数は内
部ループ・カウントに1を加えたものである。
プで転送元矩形のデータが読取られる。垂直/水平フラ
ツグ6が、セツトアツプ・コード30によつて省略時の
(水平)方向から変更されていないので、転送元データ
は水平方向でアクセスされる。90度ドグル・フラツグ5
がセツトされていないので、ステツプ44では何のアクシ
ヨンも起きない。トグル90度フラツグがセツトされてい
る場合、メモリ・アクセスの方向は水平から垂直に、ま
たはその逆に変更されたはずである。ステツプ42で読取
られたデータが、ステツプ46でメモリ10に書込まれる。
ステツプ44では、メモリ・アクセスの方向は変更され
ず、またセツトアツプ・コード30からのアクセスの最初
の方向は水平であつたので、データは水平方向でメモリ
10に書込まれる。セツトアツプ・コードがトグル90度フ
ラツグ5を使用可能に(セツト)しなかつたので、ステ
ツプ48では何の効果もない。ステツプ50では、1つのメ
モリ・サイクル中に読取られた画素の数だけ内部ループ
・カウントが減分される。ステツプ52で、内部ループ・
カウントが尽きたかどうかテストする。第3図の矩形の
幅を完成するための画素がもつとある場合は、ステツプ
42に戻るように分岐が行なわれ、内部ループ処理が継続
される。内部ループ・カウントが尽きた場合、ステツプ
54に制御権が渡され、そこで外部ループ・カウント1だ
け減分される。最後の書込みが部分書込み(16ビツトよ
り少ない)の場合は、適切な書込みマスクが適切にマス
ク生成される。これは、レジスタ・アレイ1内の内部ル
ープ・カウントが常に線12上をマスク生成機構7に送ら
れるためである。内部ループ・カウントが15以上の場
合、書込まれるビツトの数は16であるが、内部ループ・
カウントが15未満の場合は、書込まれるビツトの数は内
部ループ・カウントに1を加えたものである。
内部ループ・カウントが尽きると、制御権はステツプ
54に移る。このステツプで、外部ループ・カウントが1
だけ減分される。外部ループ・カウントは、内部ループ
によつて走査された矩形の辺に直角な辺を形成する画素
の数である。第3図では、これは垂直辺90、言い換えれ
ば、矩形の高さである。ステツプ56で外部ループ・カウ
ントが尽きたかどうかテストする。そうである場合は、
ビツト・ブロツク転送は終了する。そうでない場合、ま
だ実行すべきことがあり、制御権はステツプ58に渡され
る。ステツプ58は、省略時の場合に転送元矩形の外部ル
ープ・アドレスを増分するようにコード化されている。
トグル増減フラツグ3がセツトアツプ・コードによつて
セツトされていた場合、これは転送元矩形の外部ループ
・アドレスの減分として実行される。第3図では、セツ
トアツプ・コード30はどのトグル増減フラツグもセツト
しておらず、ステツプ58は増分として実行される。ステ
ツプ60の目的はステツプ58と同様であるが、ステツプ60
は転送先の外部ループ・アドレスに作用する。ステツプ
60では、第1図のドグル増減フラツグ4がセツトアツプ
・コードによつてセツトされていない限り、転送先の外
部ループ・アドレスが増分される。セツトアツプ・コー
ドが第4図のドグル増減フラツグ4をセツト(使用可能
に)していた場合、この命令は転送先の外部ループ・ア
ドレスを減分することになる。セツトアツプ・コード30
がトグル増減フラツグ4をセツトしていなかつたので、
ステツプ60で転送先の外部ループ・アドレスが増分され
る。制御権がステツプ40に分岐し、そこで既に尽きた内
部ループ・カウントが回復され、内部ループは上述の継
続をする。
54に移る。このステツプで、外部ループ・カウントが1
だけ減分される。外部ループ・カウントは、内部ループ
によつて走査された矩形の辺に直角な辺を形成する画素
の数である。第3図では、これは垂直辺90、言い換えれ
ば、矩形の高さである。ステツプ56で外部ループ・カウ
ントが尽きたかどうかテストする。そうである場合は、
ビツト・ブロツク転送は終了する。そうでない場合、ま
だ実行すべきことがあり、制御権はステツプ58に渡され
る。ステツプ58は、省略時の場合に転送元矩形の外部ル
ープ・アドレスを増分するようにコード化されている。
トグル増減フラツグ3がセツトアツプ・コードによつて
セツトされていた場合、これは転送元矩形の外部ループ
・アドレスの減分として実行される。第3図では、セツ
トアツプ・コード30はどのトグル増減フラツグもセツト
しておらず、ステツプ58は増分として実行される。ステ
ツプ60の目的はステツプ58と同様であるが、ステツプ60
は転送先の外部ループ・アドレスに作用する。ステツプ
60では、第1図のドグル増減フラツグ4がセツトアツプ
・コードによつてセツトされていない限り、転送先の外
部ループ・アドレスが増分される。セツトアツプ・コー
ドが第4図のドグル増減フラツグ4をセツト(使用可能
に)していた場合、この命令は転送先の外部ループ・ア
ドレスを減分することになる。セツトアツプ・コード30
がトグル増減フラツグ4をセツトしていなかつたので、
ステツプ60で転送先の外部ループ・アドレスが増分され
る。制御権がステツプ40に分岐し、そこで既に尽きた内
部ループ・カウントが回復され、内部ループは上述の継
続をする。
第3図を要約すると、内部ループは転送元矩形を水平
方向にアクセスし、転送元矩形のXアドレスを増分す
る。内部ループは転送先矩形を水平方向にアクセスし、
転送先矩形のXアドレスを増分する。外部ループは転送
元矩形のYアドレスを増分し、転送先矩形のYアドレス
を増分する。
方向にアクセスし、転送元矩形のXアドレスを増分す
る。内部ループは転送先矩形を水平方向にアクセスし、
転送先矩形のXアドレスを増分する。外部ループは転送
元矩形のYアドレスを増分し、転送先矩形のYアドレス
を増分する。
第4図は、転送先矩形83が物理的に転送元矩形82の下
にある場合を示したものである。第3図と同様に、転送
元矩形と転送先矩形の間の水平変位は考慮する必要がな
い。第4図は、転送元アクセス及び転送先アクセスは依
然として水平であるが転送元及び転送先のYアドレスに
対する外部ループの更新のために第1図のトグル増減機
能3及び4が呼び出された場合を示している。これは、
内部ループでは矩形を左から右に走査し、外部ループで
は下から上に走査する効果をもつ。第3図及び第4図で
垂直変位が0でない限り、転送元データを妨害または破
壊することなく転送先データが書込まれる。制御フラツ
グ3と4をセツトするセツトアツプ・コードは、第2B図
のブロツク31である。ステツプ58及び60は、第1図のト
グル増減フラツグ3と4が第2B図のセツトアツプ・コー
ド31中で使用可能になるため、減分として実行される。
にある場合を示したものである。第3図と同様に、転送
元矩形と転送先矩形の間の水平変位は考慮する必要がな
い。第4図は、転送元アクセス及び転送先アクセスは依
然として水平であるが転送元及び転送先のYアドレスに
対する外部ループの更新のために第1図のトグル増減機
能3及び4が呼び出された場合を示している。これは、
内部ループでは矩形を左から右に走査し、外部ループで
は下から上に走査する効果をもつ。第3図及び第4図で
垂直変位が0でない限り、転送元データを妨害または破
壊することなく転送先データが書込まれる。制御フラツ
グ3と4をセツトするセツトアツプ・コードは、第2B図
のブロツク31である。ステツプ58及び60は、第1図のト
グル増減フラツグ3と4が第2B図のセツトアツプ・コー
ド31中で使用可能になるため、減分として実行される。
第4図を要約すると、内部ループは転送元矩形を水平
方向にアクセスし、Xアドレスを増分する。内部ループ
は転送先矩形を水平方向にアクセスし、Xアドレスを増
分する。外部ループは転送元矩形のYアドレスを減分
し、転送先矩形のYアドレスを減分する。
方向にアクセスし、Xアドレスを増分する。内部ループ
は転送先矩形を水平方向にアクセスし、Xアドレスを増
分する。外部ループは転送元矩形のYアドレスを減分
し、転送先矩形のYアドレスを減分する。
第5図は、転送元矩形84と転送先矩形85の間の垂直変
位が0であるが、転送先矩形が物理的に転送元矩形の左
側にある場合を示す。水平変位は任意の数の画素となる
ことができるので、内部ループで垂直に転送元データを
読取り、転送先データを書込むのが確実な方法である。
これは、セツトアツプ・コード32が、第1図の垂直/水
平フラツグ6を垂直モードにセツトするとき実行され
る。90度トグル・フラツグ5はセツトアツプ・コードに
よつてセツト(使用可能に)されていないので、ステツ
プ44は効果がない。従つて、転送元データの書込みは垂
直モードで行なわれ、ステツプ48もアクセスの方向に影
響を及ぼさない。第1図の増減フラツグ3と4は、セツ
トアツプ・コード32によつてセツト(使用可能に)され
ていない。ステツプ58及び60は、転送元及び転送先の外
部ループ・アドレスに対する更新のために増分として実
行される。矩形は内部ループで上から下に走査され、次
に外部ループで左から右に走査される。制御フラツグ6
をセツトするセツトアツプ・コードは、第2B図のブロツ
ク32である。
位が0であるが、転送先矩形が物理的に転送元矩形の左
側にある場合を示す。水平変位は任意の数の画素となる
ことができるので、内部ループで垂直に転送元データを
読取り、転送先データを書込むのが確実な方法である。
これは、セツトアツプ・コード32が、第1図の垂直/水
平フラツグ6を垂直モードにセツトするとき実行され
る。90度トグル・フラツグ5はセツトアツプ・コードに
よつてセツト(使用可能に)されていないので、ステツ
プ44は効果がない。従つて、転送元データの書込みは垂
直モードで行なわれ、ステツプ48もアクセスの方向に影
響を及ぼさない。第1図の増減フラツグ3と4は、セツ
トアツプ・コード32によつてセツト(使用可能に)され
ていない。ステツプ58及び60は、転送元及び転送先の外
部ループ・アドレスに対する更新のために増分として実
行される。矩形は内部ループで上から下に走査され、次
に外部ループで左から右に走査される。制御フラツグ6
をセツトするセツトアツプ・コードは、第2B図のブロツ
ク32である。
第5図を要約すると、内部ループは転送元矩形を垂直
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分
し、転送先矩形のXアドレスを増分する。
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分
し、転送先矩形のXアドレスを増分する。
第6図は、転送元矩形86と転送先矩形87の間の垂直変
位は0であるが転送先矩形が物理的に転送元矩形の右側
にある場合を示したものである。第5図と同様にアクセ
スは垂直方向なので、垂直/水平フラツグ6は垂直モー
ドにセツトされ、外部ループの転送元及び転送先アドレ
スは減分される。これは第1図のトグル増減フラツグ3
と4を介してトグル増減機能を呼び出すことによつて行
われる。従つて、ステツプ58および60は、転送元及び転
送先の外部ループ・アドレスの減分として実行される。
次に、矩形は内部ループで上から下に走査され、外部ル
ープで右から左に走査される。この場合で平行マージま
たはコピー・ビツト・ブロツク転送は終了する。フラツ
グ3、4および6をセツトするセツトアツプ・コード
は、第2B図のブロツク33である。
位は0であるが転送先矩形が物理的に転送元矩形の右側
にある場合を示したものである。第5図と同様にアクセ
スは垂直方向なので、垂直/水平フラツグ6は垂直モー
ドにセツトされ、外部ループの転送元及び転送先アドレ
スは減分される。これは第1図のトグル増減フラツグ3
と4を介してトグル増減機能を呼び出すことによつて行
われる。従つて、ステツプ58および60は、転送元及び転
送先の外部ループ・アドレスの減分として実行される。
次に、矩形は内部ループで上から下に走査され、外部ル
ープで右から左に走査される。この場合で平行マージま
たはコピー・ビツト・ブロツク転送は終了する。フラツ
グ3、4および6をセツトするセツトアツプ・コード
は、第2B図のブロツク33である。
第6図を要約すると、内部ループは転送元矩形を垂直
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを減分
し、転送先矩形のXアドレスを減分する。
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを減分
し、転送先矩形のXアドレスを減分する。
第7図ないし第10図はその他のビツト・ブロツク転送
機能を示したものである。これらの場合、転送元矩形88
と転送先矩形89はオーバラツプしてはならない。+90度
回転は、データが時計回りの方向に90度回転されること
を意味する。−90度回転は、データが反時計回りの方向
に90度回転されることを意味する。
機能を示したものである。これらの場合、転送元矩形88
と転送先矩形89はオーバラツプしてはならない。+90度
回転は、データが時計回りの方向に90度回転されること
を意味する。−90度回転は、データが反時計回りの方向
に90度回転されることを意味する。
第7図は、転送先矩形89を転送元矩形88に対して+90
度回転させる場合を示したものである。セツトアツプ・
ルーチン34は、転送元データの読取りと転送先データの
書込みの間でアクセスの方向を変更するため、第1図の
トグル90度フラツグ5をセツトする。セツトアツプ・コ
ード34はメモリ・アクセスの省略時の方向、すなわち、
水平方向を保持するが、トグル90度フラツグ5はセツト
する。ステツプ42で転送元データが水平方向に読取られ
る。トグル90度フラツグ5がセツトされているので、次
にステツプ44でアクセスの方向が90度変更される。従つ
て、ブロツク46で転送先データが垂直に書込まれる。ス
テツプ48で方向が再度90度変更されて、水平方向にな
る。転送先Xアドレスは第1図のトグル増減フラツグ4
を用いて減分される。ステツプ58は、転送元外部ループ
・アドレスの省略時の増分として実行されるが、ステツ
プ60は転送先外部ループ・アドレスの減分として実行さ
れる。従つて、転送元矩形は内部ループによつて水平に
走査され、外部ループによつて上から下に走査される、
転送先矩形は内部ループで垂直に走査され、外部にルー
プで右から左に走査される。その結果、データが+90度
回転させられる。
度回転させる場合を示したものである。セツトアツプ・
ルーチン34は、転送元データの読取りと転送先データの
書込みの間でアクセスの方向を変更するため、第1図の
トグル90度フラツグ5をセツトする。セツトアツプ・コ
ード34はメモリ・アクセスの省略時の方向、すなわち、
水平方向を保持するが、トグル90度フラツグ5はセツト
する。ステツプ42で転送元データが水平方向に読取られ
る。トグル90度フラツグ5がセツトされているので、次
にステツプ44でアクセスの方向が90度変更される。従つ
て、ブロツク46で転送先データが垂直に書込まれる。ス
テツプ48で方向が再度90度変更されて、水平方向にな
る。転送先Xアドレスは第1図のトグル増減フラツグ4
を用いて減分される。ステツプ58は、転送元外部ループ
・アドレスの省略時の増分として実行されるが、ステツ
プ60は転送先外部ループ・アドレスの減分として実行さ
れる。従つて、転送元矩形は内部ループによつて水平に
走査され、外部ループによつて上から下に走査される、
転送先矩形は内部ループで垂直に走査され、外部にルー
プで右から左に走査される。その結果、データが+90度
回転させられる。
第7図を要約すると、内部ループは転送元矩形を水平
方向にアクセスし、Xアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のYアドレスを増分
し、転送先矩形のXアドレスを減分する。
方向にアクセスし、Xアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のYアドレスを増分
し、転送先矩形のXアドレスを減分する。
第8図は、転送先矩形93を転送元矩形92に対して−90
度回転させる場合を示したものである。セツトアツプ・
ルーチン35は、第1図の垂直/水平フラツグ6を垂直に
セツトし、第1図のトグル90度フラツグ5をセツトし
て、転送元データの読取りと転送先データの書込みの間
でアクセスの方向を変更する。垂直/水平フラツグ6を
セツトすると、アクセスの方向はセツトアツプ・コード
内で垂直にセツトされる。従つて、ステツプ42で転送元
データが垂直方向に読取られる。トグル90度フラツグ5
がセツトされているので、ステツプ44でアクセスの方向
が水平方向に変更される。ステツプ46で転送先データが
水平方向に書込まれる。トグル90度のフラツグ5が依然
としてセツトされているので、ステツプ48でアクセスの
方向が変更されて垂直に戻る。転送先Yアドレスは、第
1図のトグル増減フラツグ4を用いて減分される。ステ
ツプ58で転送元外部ループ・アドレスが増分(省略時の
場合)され、ステツプ60でトグル増分/減分フラツグ4
のため転送先外部ループ・アドレスが減分される。従つ
て、転送元矩形は内部ループによつて垂直に走査され、
外部ループによつて左から右に走査される。転送先矩形
は内部ループによつて水平に走査され、外部ループによ
つて下から上に走査される。その結果、データは−90度
回転される。
度回転させる場合を示したものである。セツトアツプ・
ルーチン35は、第1図の垂直/水平フラツグ6を垂直に
セツトし、第1図のトグル90度フラツグ5をセツトし
て、転送元データの読取りと転送先データの書込みの間
でアクセスの方向を変更する。垂直/水平フラツグ6を
セツトすると、アクセスの方向はセツトアツプ・コード
内で垂直にセツトされる。従つて、ステツプ42で転送元
データが垂直方向に読取られる。トグル90度フラツグ5
がセツトされているので、ステツプ44でアクセスの方向
が水平方向に変更される。ステツプ46で転送先データが
水平方向に書込まれる。トグル90度のフラツグ5が依然
としてセツトされているので、ステツプ48でアクセスの
方向が変更されて垂直に戻る。転送先Yアドレスは、第
1図のトグル増減フラツグ4を用いて減分される。ステ
ツプ58で転送元外部ループ・アドレスが増分(省略時の
場合)され、ステツプ60でトグル増分/減分フラツグ4
のため転送先外部ループ・アドレスが減分される。従つ
て、転送元矩形は内部ループによつて垂直に走査され、
外部ループによつて左から右に走査される。転送先矩形
は内部ループによつて水平に走査され、外部ループによ
つて下から上に走査される。その結果、データは−90度
回転される。
第8図を要約すると、内部ループは転送元矩形を水平
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を水平方向にアクセスし、Xアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分
し、転送先矩形のYアドレスを減分する。
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を水平方向にアクセスし、Xアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分
し、転送先矩形のYアドレスを減分する。
第9図は、データをどのようにコピーすると、18度X軸
対称にすることができるかを示したものである。転送先
矩形95は、X軸の回りで反転されて、転送先矩形のデー
タとマージされた、または転送先矩形へコピーされた転
送元矩形94の像である。転送元矩形と転送先矩形のどち
らに対するアクセスも水平である。セツトアツプ・コー
ドは、転送先Yアドレスがステツプ60で減分されるよう
に、第1図のトグル増減フラツグ4をセツトする。転送
元矩形は内部ループで水平に走査され、外部ループで上
から下に走査される。転送先矩形は内部ループで水平に
走査され、外部ループで下から上に走査される。トグル
増減フラツグ4をセツトするセツトアツプ・コードは、
第2図のブロツク36である。
対称にすることができるかを示したものである。転送先
矩形95は、X軸の回りで反転されて、転送先矩形のデー
タとマージされた、または転送先矩形へコピーされた転
送元矩形94の像である。転送元矩形と転送先矩形のどち
らに対するアクセスも水平である。セツトアツプ・コー
ドは、転送先Yアドレスがステツプ60で減分されるよう
に、第1図のトグル増減フラツグ4をセツトする。転送
元矩形は内部ループで水平に走査され、外部ループで上
から下に走査される。転送先矩形は内部ループで水平に
走査され、外部ループで下から上に走査される。トグル
増減フラツグ4をセツトするセツトアツプ・コードは、
第2図のブロツク36である。
第9図を要約すると、内部ループは転送元矩形を水平
方向にアクセスし、Xアドレスを増分する。内部ループ
は転送先矩形を水平方向にアクセスし、Xアドレスを増
分する。外部ループは転送元矩形のYアドレスを増分
し、転送先矩形のYアドレスを減分する。
方向にアクセスし、Xアドレスを増分する。内部ループ
は転送先矩形を水平方向にアクセスし、Xアドレスを増
分する。外部ループは転送元矩形のYアドレスを増分
し、転送先矩形のYアドレスを減分する。
第10図は、180度Y軸対称マージまたはコピー・ビツ
ト・ブロツク転送がどのようにして実行できるかを示
す。第1図の垂直/水平フラツグ6が垂直モードにセツ
トされている。第1図のトグル増減フラツグ4が宛先X
アドレスのために呼び出される。転送元矩形96は内部ル
ープで上から下に走査され、外部ループで左から右に走
査される。転送先矩形97は内部ループで上から下に走査
され、外部ループで右から左に走査される。この結果、
転送元データはY軸の回りに180度反転され、転送先デ
ータとマージされるか、または転送先データにコピーさ
れる。フラツグ6および4をセツトするセツトアツプ・
コードは、第2図のブロツク37である。
ト・ブロツク転送がどのようにして実行できるかを示
す。第1図の垂直/水平フラツグ6が垂直モードにセツ
トされている。第1図のトグル増減フラツグ4が宛先X
アドレスのために呼び出される。転送元矩形96は内部ル
ープで上から下に走査され、外部ループで左から右に走
査される。転送先矩形97は内部ループで上から下に走査
され、外部ループで右から左に走査される。この結果、
転送元データはY軸の回りに180度反転され、転送先デ
ータとマージされるか、または転送先データにコピーさ
れる。フラツグ6および4をセツトするセツトアツプ・
コードは、第2図のブロツク37である。
第10図を要約すると、内部ループは転送元矩形を垂直
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分
し、転送先矩形のXアドレスを減分する。
方向にアクセスし、Yアドレスを増分する。内部ループ
は転送先矩形を垂直方向にアクセスし、Yアドレスを増
分する。外部ループは転送元矩形のXアドレスを増分
し、転送先矩形のXアドレスを減分する。
表IIは転送元矩形及び転送先矩形に対するアクセスの
方向及び外部ループ上での増分及び減分機能の使用との
組合わせを要約した表である。上述の特別なハードウエ
ア機能を用いると、ビツト・ブロツク転送タスクは最低
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進数)命令になる。水平マイクロコードと特別
なアーキテクチヤのハードウエア機能が平行になつてい
るため、ビツト・ブロツク転送操作に完全に適合した強
力なラスタ演算エンジンが提供される。
F.発明の効果 本発明によれば、メモリ内のデータを融通性のある態
様で迅速に転送することができる。又、制御のためのマ
イクロコードも少なくてすむ。
様で迅速に転送することができる。又、制御のためのマ
イクロコードも少なくてすむ。
第1図はマイクロコード化されたプロセツサを含むメモ
リ制御システムのブロツク・ダイヤグラム、第2A図およ
び第2B図は明細書に記載された機能を実行するためプロ
セツサが実行するステツプのフローチヤート、第3図は
転送先矩形が物理的に転送元矩形の上にある場合のビツ
ト・ブロツク転送の説明図、第4図は転送先矩形が物理
的に転送元矩形の下にある場合のビツト・ブロツク転送
の説明図、第5図は転送先矩形が物理的に転送元矩形の
左側にある場合のビツト・ブロツク転送の説明図、第6
図は転送先矩形が物理的に転送元矩形の右側にある場合
のビツト・ブロツク転送の説明図、第7図は+90度ビツ
ト・ブロツク転送の説明図、第8図は−90度ブロツク転
送の説明図、第9図は180度X軸対称ビツト・ブロツク
転送の説明図、さらに第10図は180度Y軸対称ビツト・
ブロツク転送の説明図である。 1……レジスタ・アレイ、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軸対称ビツト・
ブロツク転送の説明図である。 1……レジスタ・アレイ、2……演算論理機構、3……
第1のトグル増減フラツグ、4……第2のトグル増減フ
ラツグ、5……トグル90度フラツグ、6……垂直/水平
フラツグ、7……マスク生成機構、8……Yレジスタ、
9……Xレジスタ、10……BAMDAメモリ、19……論理機
能生成機構、20……プロセツサ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−172085(JP,A) 特開 昭60−81657(JP,A) 特開 昭60−123977(JP,A) 特開 昭58−178470(JP,A) 特開 昭59−189470(JP,A) 特開 昭60−81659(JP,A)
Claims (1)
- 【請求項1】データを第1の次元方向及び該第1の次元
方向に直交する第2の次元方向に配列して記憶し、ビツ
ト単位でのアドレスを可能ならしめると共に、上記第1
の次元方向及び第2の次元方向のいずれにおいても、そ
の次元方向における任意の数の一連のビツトをアクセス
することを可能ならしめるように構成された記憶手段
と、 上記記憶手段における任意の転送元領域のデータ・ブロ
ツクを任意の転送先領域へ移すように上記記憶手段をア
クセスするアクセス手段とを有し、且つ、 上記アクセス手段が、上記記憶手段をアクセスする方向
として、上記第1の次元方向及び第2の次元方向のいず
れか一方を選択的に指定するアクセス方向指定手段と、
上記記憶手段における上記転送元領域をアクセスする方
向と上記転送先領域をアクセスする方向とを必要に応じ
て異ならせるように上記アクセス方向指定手段の指定を
選択的に変更しうる手段と、上記アクセス方向指定手段
によつて指定された方向において任意の数の一連のビツ
トをアクセスするためのアドレス更新態様として増分及
び減分のいずれか一方を選択的に指定する手段とを有す
る ことを特徴とするメモリ回路。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US820466 | 1986-01-17 | ||
| US06/820,466 US4763251A (en) | 1986-01-17 | 1986-01-17 | Merge and copy bit block transfer implementation |
| SG148794A SG148794G (en) | 1986-01-17 | 1994-10-13 | Graphic and data display system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62166453A JPS62166453A (ja) | 1987-07-22 |
| JPH081612B2 true 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 |
| US5212631A (en) * | 1990-08-31 | 1993-05-18 | Allen-Bradley Company, Inc. | Programmable controller processor module having multiple program instruction execution sections |
| US5265005A (en) * | 1990-08-31 | 1993-11-23 | Allen-Bradley Company, Inc. | Processor for a programmable controller |
| US5313576A (en) * | 1990-11-23 | 1994-05-17 | Network Computing Devices, Inc. | Bit aligned data block transfer method and apparatus |
| US5345555A (en) * | 1990-11-23 | 1994-09-06 | Network Computing Devices, Inc. | Image processor memory for expediting memory operations |
| 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 |
Family Cites Families (16)
| 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 |
| JPS58178470A (ja) * | 1982-04-14 | 1983-10-19 | Hitachi Ltd | メモリ制御装置 |
| 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 | 株式会社東芝 | メモリシステム |
| WO1984000629A1 (en) * | 1982-07-21 | 1984-02-16 | Marconi Avionics | Multi-dimensional-access memory system |
| 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 | 株式会社日立製作所 | 図形処理装置 |
| 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 DE DE87300122T patent/DE3788141T2/de not_active Expired - Fee Related
- 1987-01-08 EP EP87300122A patent/EP0230352B1/en not_active Expired - Lifetime
-
1994
- 1994-10-13 SG SG148794A patent/SG148794G/en unknown
- 1994-12-08 HK HK139594A patent/HK139594A/en not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| EP0230352B1 (en) | 1993-11-18 |
| DE3788141T2 (de) | 1994-05-11 |
| HK139594A (en) | 1994-12-16 |
| EP0230352A3 (en) | 1990-03-07 |
| SG148794G (en) | 1995-03-17 |
| DE3788141D1 (de) | 1993-12-23 |
| JPS62166453A (ja) | 1987-07-22 |
| US4763251A (en) | 1988-08-09 |
| EP0230352A2 (en) | 1987-07-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5774133A (en) | Computer system with improved pixel processing capabilities | |
| US4989138A (en) | Single bus graphics data processing pipeline with decentralized bus arbitration | |
| US5251298A (en) | Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses | |
| EP0167600B1 (en) | Apparatus and method for displaying characters in a bit mapped graphics system | |
| JP3366633B2 (ja) | ピクセル変更システム及びピクセル変更方法 | |
| US5751295A (en) | Graphics accelerator chip and method | |
| US5218674A (en) | Hardware bit block transfer operator in a graphics rendering processor | |
| US20010008563A1 (en) | Parallel processor and image processing apparatus | |
| EP0279229A2 (en) | A graphics display system | |
| JPH04282692A (ja) | 多機能グラフィックプロセッサ | |
| JPH081612B2 (ja) | メモリ回路 | |
| EP0149188B1 (en) | Display control system | |
| GB2251770A (en) | Graphics accelerator system using parallel processed pixel patches | |
| US4885699A (en) | Data processing apparatus for editing, filing, and printing image data by means of visual observation of the data on a display screen | |
| JP2889572B2 (ja) | フォントデータ処理装置 | |
| EP0284905B1 (en) | Display system | |
| JPH0697393B2 (ja) | ビットマップ処理装置 | |
| JPH0350312B2 (ja) | ||
| JP3546527B2 (ja) | 画像データ回転処理装置 | |
| EP0357445A2 (en) | Single bus graphics data processing pipeline | |
| JPH04205678A (ja) | 画像情報処理装置 | |
| WO1992012496A1 (en) | Computer system with enhanced image and graphics capabilities | |
| JP3278853B2 (ja) | 図形描画装置 | |
| JPH0560598B2 (ja) | ||
| Katsura et al. | VLSI for high-performance graphic control utilizing multiprocessor architecture |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |