JPH0282369A - データ転送方法 - Google Patents
データ転送方法Info
- Publication number
- JPH0282369A JPH0282369A JP1198102A JP19810289A JPH0282369A JP H0282369 A JPH0282369 A JP H0282369A JP 1198102 A JP1198102 A JP 1198102A JP 19810289 A JP19810289 A JP 19810289A JP H0282369 A JPH0282369 A JP H0282369A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- memory
- plane
- register
- bits
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Input (AREA)
- Memory System (AREA)
- Image Processing (AREA)
- Executing Machine-Instructions (AREA)
- Electron Beam Exposure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
この発明は、あるメモリから別のメモリへデータを転送
するための方法に関し、より詳細には、直列的に構成さ
れたメモリからビット・プレーン的に構成されたメモリ
へデータを転送するための方法に関する。
するための方法に関し、より詳細には、直列的に構成さ
れたメモリからビット・プレーン的に構成されたメモリ
へデータを転送するための方法に関する。
B、従来技術
近年、精巧なグラフィック・デイスプレィ・システムと
インターフェースし、かつそれを制御するために、パー
ソナル・コンピュータ (PC)がますます頻繁に使用
されるようになフてさている。そのようなデイスプレィ
・システムは、PCとの極めて高速のデータ交換を必要
とする。にもかかわらず、最近のPCは、1メモリ・サ
イクルに1ワードにアクセスする、よく知られているワ
ード単位のフェッチ・システムを採用している。
インターフェースし、かつそれを制御するために、パー
ソナル・コンピュータ (PC)がますます頻繁に使用
されるようになフてさている。そのようなデイスプレィ
・システムは、PCとの極めて高速のデータ交換を必要
とする。にもかかわらず、最近のPCは、1メモリ・サ
イクルに1ワードにアクセスする、よく知られているワ
ード単位のフェッチ・システムを採用している。
特徴的であるのは、PCメモリ・サイクルが、PCの内
部レジスタ及び論理動作よりも数倍あるいは逸かに低速
であるということである。
部レジスタ及び論理動作よりも数倍あるいは逸かに低速
であるということである。
グラフィック・アプリケージタンにおいては、しばしば
、直列に構成されたメモリがデイスプレィ装置を駆動す
るために使用される。そのようなメモリは、ワードを隣
接して記憶し、よってワードは、ラスター形式で直列的
にアクセスされる。直列的に構成されたメモリから、(
多くのPCRAMがそうであるように)ビット・プレー
ン的に配列されたRAMへデータを転送したい場合、通
常のシーケンスは、直列メモリからワードにアクセスし
、それを整列し、整列されたビットをビット・プレーン
RAMのさまざまなプレーンのビット位置に読みこむこ
とである。この動作は通常、ワード毎に1メモリ・サイ
クルであり、その事がPCの動作の効率的な速度の低下
をもたらしている。
、直列に構成されたメモリがデイスプレィ装置を駆動す
るために使用される。そのようなメモリは、ワードを隣
接して記憶し、よってワードは、ラスター形式で直列的
にアクセスされる。直列的に構成されたメモリから、(
多くのPCRAMがそうであるように)ビット・プレー
ン的に配列されたRAMへデータを転送したい場合、通
常のシーケンスは、直列メモリからワードにアクセスし
、それを整列し、整列されたビットをビット・プレーン
RAMのさまざまなプレーンのビット位置に読みこむこ
とである。この動作は通常、ワード毎に1メモリ・サイ
クルであり、その事がPCの動作の効率的な速度の低下
をもたらしている。
PCには、処理速度を向上させるためにパイプライン技
術を採用しているものもある。
術を採用しているものもある。
パイプライン技術は、実質的には、ある命令の組が実行
されつつある間に別の命令又は命令の群をプリフェッチ
するものである。上述のメモリ転送の特性では、各ワー
ド転送が「ジャンプ(jump)」命令で終わるために
、パイプラインによって得られる利点が失われてしまう
。すなわち、ジャンプ命令は、メモリ転送のために使用
される一連の命令を再実行させる(あるいは、ループを
それ自体へと折り返させる)。ジャンプ命令は、前景て
アクセスされた、プリフェッチされた命令をフラッシュ
し、パイプラインの潜在的な先読みの恩恵を遺失させて
しまう。循環命令にまつわるさらに別の問題は、ループ
が実1jされた回数を維持するためにレジスタを必要と
するということである。−船釣に、複雑なグラフィック
ス・デイスプレィ・アプリケ−シリンを実行している時
、PCレジスタは不足気味であり、可能なら、そのよう
なカウント・レジスタの使用は避けるべきである。
されつつある間に別の命令又は命令の群をプリフェッチ
するものである。上述のメモリ転送の特性では、各ワー
ド転送が「ジャンプ(jump)」命令で終わるために
、パイプラインによって得られる利点が失われてしまう
。すなわち、ジャンプ命令は、メモリ転送のために使用
される一連の命令を再実行させる(あるいは、ループを
それ自体へと折り返させる)。ジャンプ命令は、前景て
アクセスされた、プリフェッチされた命令をフラッシュ
し、パイプラインの潜在的な先読みの恩恵を遺失させて
しまう。循環命令にまつわるさらに別の問題は、ループ
が実1jされた回数を維持するためにレジスタを必要と
するということである。−船釣に、複雑なグラフィック
ス・デイスプレィ・アプリケ−シリンを実行している時
、PCレジスタは不足気味であり、可能なら、そのよう
なカウント・レジスタの使用は避けるべきである。
C0発明が解決しようとする問題点
この発明の目的は、メモリ・アクセスを低減して、直列
的に構成したメモリからビット・プレーン構成されたメ
モリへデータを転送する方法を提供する事にある。
的に構成したメモリからビット・プレーン構成されたメ
モリへデータを転送する方法を提供する事にある。
この発明の他の目的は、−度に複数のワードを処理する
能力をもつデータの転送方法を提供する事にある。
能力をもつデータの転送方法を提供する事にある。
この発明のさらに他の目的は、ループ命令を使用する事
なくデータを転送する方法を提供する事にある。
なくデータを転送する方法を提供する事にある。
この発明のさらに他の目的は、直列的に構成したメモリ
からビット・プレーン構成されたメモリへデータを転送
する方法において、転送されつつあるデータ単位中のピ
ット位置と、転送が行なわれつつあるメモリ中のピット
位置の間の既存の関係を利用する転送段階を採用する車
にある。
からビット・プレーン構成されたメモリへデータを転送
する方法において、転送されつつあるデータ単位中のピ
ット位置と、転送が行なわれつつあるメモリ中のピット
位置の間の既存の関係を利用する転送段階を採用する車
にある。
D1発明が解決しようとする問題点
この発明は、直列的に構成されたメモリからビット・プ
レーン構成されたメモリへデータ単位を転送するための
方法に指向されている。この方法はまず、直列的に構成
されたメモリから複数のデータ単位を選択する。次に、
選択されたデータ単位からビット・パターンが捕捉され
る。このビット・パターンは、ビット・プレーン構成さ
れたメモリの記憶プレーンの部分集合(サブセット)に
記憶すべきビットのみを含む。このビット・パターンは
、それから従属ビット・パターン、すなわち、そのビッ
ト・プレーン・メモリ中の各記憶プレーン毎の1つのビ
ット・パターンを分離するように処理される。各従属ビ
ット◆パターンは、そのビット−シーケンスが適切に配
列され、次にビット・プレーン構成メモリのあるプレー
ンに格納されるように変換される。この発明の好適な実
施例では、この変換は、テーブル・ルックアップ段階の
結果として実行される。
レーン構成されたメモリへデータ単位を転送するための
方法に指向されている。この方法はまず、直列的に構成
されたメモリから複数のデータ単位を選択する。次に、
選択されたデータ単位からビット・パターンが捕捉され
る。このビット・パターンは、ビット・プレーン構成さ
れたメモリの記憶プレーンの部分集合(サブセット)に
記憶すべきビットのみを含む。このビット・パターンは
、それから従属ビット・パターン、すなわち、そのビッ
ト・プレーン・メモリ中の各記憶プレーン毎の1つのビ
ット・パターンを分離するように処理される。各従属ビ
ット◆パターンは、そのビット−シーケンスが適切に配
列され、次にビット・プレーン構成メモリのあるプレー
ンに格納されるように変換される。この発明の好適な実
施例では、この変換は、テーブル・ルックアップ段階の
結果として実行される。
E、実施例
第1図を参照すると、本発明を実施するのに特に適合し
た回路のブロック図が示されている。第1図において、
バス10は、このシステムの全ての要素の相互接続を提
供し、データと命令の両方を相互伝達する経絡を与える
。バス10によって相互接続されるのは、ベル直列メモ
リ12と、中央プロセッサ(cPU)14と、ビット・
プレーン・メモリ16と、4つのレジスタA、B、C,
Dである。なお、第1図の各要素はバス配列で相互接続
されているけれども、各要素間でデータ及び命令の伝達
を可能ならしめる限り、いかなる相互接続配列でもよい
ことを理解されたい。
た回路のブロック図が示されている。第1図において、
バス10は、このシステムの全ての要素の相互接続を提
供し、データと命令の両方を相互伝達する経絡を与える
。バス10によって相互接続されるのは、ベル直列メモ
リ12と、中央プロセッサ(cPU)14と、ビット・
プレーン・メモリ16と、4つのレジスタA、B、C,
Dである。なお、第1図の各要素はバス配列で相互接続
されているけれども、各要素間でデータ及び命令の伝達
を可能ならしめる限り、いかなる相互接続配列でもよい
ことを理解されたい。
第2図を参照すると、ベル直列メモリ12が、複数のバ
イトを有するものとして図示されている。その各バイト
は8ビツトを含み、個々のバイトは直列的に繋ぎ合わさ
れている。各バイトは、2個の4ビツト・データ単位を
含み、命名のデータ単位は、例えば個々のベルのカラー
・コードを与える。こうして、バイト1のビット位置0
−3に含まれるデータが、ベル1が表示すべき16色の
うちの1つの色を表示する。ベル直列メモリ12中のワ
ードは、2バイトを有し、4つのベルのデータを含む。
イトを有するものとして図示されている。その各バイト
は8ビツトを含み、個々のバイトは直列的に繋ぎ合わさ
れている。各バイトは、2個の4ビツト・データ単位を
含み、命名のデータ単位は、例えば個々のベルのカラー
・コードを与える。こうして、バイト1のビット位置0
−3に含まれるデータが、ベル1が表示すべき16色の
うちの1つの色を表示する。ベル直列メモリ12中のワ
ードは、2バイトを有し、4つのベルのデータを含む。
この発明の目的は、ベル1−Hの色を表すビットを高速
で、ビット・プレーン・メモリ16に転送することにあ
る。メモリ16においては、各データ単位(例えばベル
)は、プレーン毎のビットを基準として構成されている
。例えば、ベル・データ単位の第1のビットがプレーン
3の第1のピット位置を占有し、第2のビットがプレー
ン2の第1のピット位置を占有するなどである。ある特
定のベルに関連するデータを得るためにビット・プレー
ン・メモリ16がアクセスされる時、プレーン0−3の
対応するピット位置が同時にアドレスされ、所望のデー
タ単位を組立てるためにバッファに読みこまれる。
で、ビット・プレーン・メモリ16に転送することにあ
る。メモリ16においては、各データ単位(例えばベル
)は、プレーン毎のビットを基準として構成されている
。例えば、ベル・データ単位の第1のビットがプレーン
3の第1のピット位置を占有し、第2のビットがプレー
ン2の第1のピット位置を占有するなどである。ある特
定のベルに関連するデータを得るためにビット・プレー
ン・メモリ16がアクセスされる時、プレーン0−3の
対応するピット位置が同時にアドレスされ、所望のデー
タ単位を組立てるためにバッファに読みこまれる。
ビット・プレーン0−3から、プレーン○及び2が全て
の奇数ビット位置を含み、プレーン1及び3が全ての偶
数ビット位置を含む事が見て取れよう。このとき、ビッ
ト・プレーン・メモリ16には、好適には、少なくとも
全走査線をそこに記憶できる程度の十分なメモリ位置が
与えられる。例えば、もしデイスプレィ装置が640x
480のベルをもつなら、プレーンOには、640個の
ビット位置が与えられ、そのことはプレーン1−Nにつ
いても同様である。
の奇数ビット位置を含み、プレーン1及び3が全ての偶
数ビット位置を含む事が見て取れよう。このとき、ビッ
ト・プレーン・メモリ16には、好適には、少なくとも
全走査線をそこに記憶できる程度の十分なメモリ位置が
与えられる。例えば、もしデイスプレィ装置が640x
480のベルをもつなら、プレーンOには、640個の
ビット位置が与えられ、そのことはプレーン1−Nにつ
いても同様である。
第1図を参照すると、CPU14は、以下で説明するア
ルゴリズムの動作を制御する。
ルゴリズムの動作を制御する。
CPU14にはまた、変換テーブル24が設けられ、そ
れの機能は、本発明に関連するアルゴリズムの説明とと
もに説明する。レジスタAないしDは、2バイト長(1
6ビツト)である。これらのレジスタはそれぞれ、バス
10に接続された任意の要素からデータを受取り、その
データを任意の要素に戻す機能をもつ。後で明らかにな
る事であるが、システムはさ呼ざまな機能のためにビッ
ト・マスクを使用する。ある環境のもとでは、ビット・
マスクはレジスタAないしDのうちのどれかに読みこま
れるか、又はCPU14内のレジスタ(図示しない)内
に保持される。後者の場合、そのようなマスクによって
制御されるべきデータは演算のためCPU14に供給さ
れ、次に適当なレジスタに戻される。
れの機能は、本発明に関連するアルゴリズムの説明とと
もに説明する。レジスタAないしDは、2バイト長(1
6ビツト)である。これらのレジスタはそれぞれ、バス
10に接続された任意の要素からデータを受取り、その
データを任意の要素に戻す機能をもつ。後で明らかにな
る事であるが、システムはさ呼ざまな機能のためにビッ
ト・マスクを使用する。ある環境のもとでは、ビット・
マスクはレジスタAないしDのうちのどれかに読みこま
れるか、又はCPU14内のレジスタ(図示しない)内
に保持される。後者の場合、そのようなマスクによって
制御されるべきデータは演算のためCPU14に供給さ
れ、次に適当なレジスタに戻される。
ビット・マスクは、ANDまたはORのどちらかの機能
として動作する事ができる。もしビット・マスクがAN
D機能として働くなら、1を含むビット・マスクの各位
置が、マスクが当てられるレジスタの対応する位置に含
まれるビットとANDされる。喚言すると、対応するマ
スク位置からの1とA、 N Dされるレジスタ・ビッ
ト位置に現れるデータが、同一のデータ形式をもつレジ
スタに帰される。一方、ビット・マスクが特定のレジス
タ位置に対応する位置に0をもつなら、もともと含まれ
ているデータにかかわらず対応するレジスタ位置にゼロ
が強制される。
として動作する事ができる。もしビット・マスクがAN
D機能として働くなら、1を含むビット・マスクの各位
置が、マスクが当てられるレジスタの対応する位置に含
まれるビットとANDされる。喚言すると、対応するマ
スク位置からの1とA、 N Dされるレジスタ・ビッ
ト位置に現れるデータが、同一のデータ形式をもつレジ
スタに帰される。一方、ビット・マスクが特定のレジス
タ位置に対応する位置に0をもつなら、もともと含まれ
ているデータにかかわらず対応するレジスタ位置にゼロ
が強制される。
さて、第3A図乃至第3P図を参照して、本発明の詳細
な説明する。第3A図乃至第3P図にあっては、レジス
タAないしDが図式的に示され、それらの内容が動作の
各段階毎に示される。
な説明する。第3A図乃至第3P図にあっては、レジス
タAないしDが図式的に示され、それらの内容が動作の
各段階毎に示される。
ステップl
第3A図を参照すると、ベル直列メモリ12からのバイ
ト1及び2を含むワード1がレジスタCにロードされる
。ワード1のバイト2の高位(H)ビットがレジスタC
の左端ビット位置にロードされ、バイト1の下位(L)
ビットがレジスタCの右端ビット位置にロードされる
。なお、レジスタCの高位及び下位バイトの格納順序に
は、多くのPCが、その順序でレジスタにロードするよ
うに動作する、インテル(Intel)コーポレーショ
ンの8080シリーズ・プロセッサによって制御される
という事以外に特に意味はない。
ト1及び2を含むワード1がレジスタCにロードされる
。ワード1のバイト2の高位(H)ビットがレジスタC
の左端ビット位置にロードされ、バイト1の下位(L)
ビットがレジスタCの右端ビット位置にロードされる
。なお、レジスタCの高位及び下位バイトの格納順序に
は、多くのPCが、その順序でレジスタにロードするよ
うに動作する、インテル(Intel)コーポレーショ
ンの8080シリーズ・プロセッサによって制御される
という事以外に特に意味はない。
ステップ2
i3B図を参照すると、レジスタDにベル直列メモリ1
2からワード2がロードされる。そのとき、その高位ビ
ット (バイト4)がレジスタDの左端位置にロードさ
れ、その下位ビット(バイト3)が右端位置にロードさ
れる。
2からワード2がロードされる。そのとき、その高位ビ
ット (バイト4)がレジスタDの左端位置にロードさ
れ、その下位ビット(バイト3)が右端位置にロードさ
れる。
ステップ3
第3C図を参照すると、「捕捉」マスクがレジスタAに
ロードされる。このマスクは、結局ビット・プレーン・
メモリ16のプレーン1及び3に格納されることになる
ワード1及び2からのビットを分離し捕捉するために使
用される。ここで、プレーン1及び3が偶数のビット位
置しか含んでいないことを思い出されたい。よって、レ
ジスタA中の捕捉マスクは偶数ビット位置に1をもち、
奇数ビット位置にゼロをもつ。
ロードされる。このマスクは、結局ビット・プレーン・
メモリ16のプレーン1及び3に格納されることになる
ワード1及び2からのビットを分離し捕捉するために使
用される。ここで、プレーン1及び3が偶数のビット位
置しか含んでいないことを思い出されたい。よって、レ
ジスタA中の捕捉マスクは偶数ビット位置に1をもち、
奇数ビット位置にゼロをもつ。
ステップ4
第3D図を参照すると、捕捉マスクA中のビットが、レ
ジスタC及びD中の対応ビット位置のデータとANDさ
れる。その結果がレジスタA及びBに格納されて、レジ
スタC及びDの元の内容が、レジスタC及びDに書き戻
される。こうして第3D図からは、結局ビット・プレー
ン・メモリ16のプレーン1及び3にあられれることに
なる全てのビットが含まれることが見て取れるが、その
順序は今のところ適切でない。
ジスタC及びD中の対応ビット位置のデータとANDさ
れる。その結果がレジスタA及びBに格納されて、レジ
スタC及びDの元の内容が、レジスタC及びDに書き戻
される。こうして第3D図からは、結局ビット・プレー
ン・メモリ16のプレーン1及び3にあられれることに
なる全てのビットが含まれることが見て取れるが、その
順序は今のところ適切でない。
ステップ5
第3E図を参照すると、レジスタB中のビット位置が1
位置だけ右にローテートされる。このシフトは、レジス
タBのデータ内容をレジスタAの空ビツト位置と整列さ
せてそれらをレジスタA中に結合できるようにするため
である。この結合は、ジッパ−が係合するのと同様に行
なわれる。すなわち、2つのレジスタからのデータが、
一方の空スペースに他方のビット内容を混在させること
によって統合される。このアルゴリズムは、「ジッパ−
」と呼ばれることもある。
位置だけ右にローテートされる。このシフトは、レジス
タBのデータ内容をレジスタAの空ビツト位置と整列さ
せてそれらをレジスタA中に結合できるようにするため
である。この結合は、ジッパ−が係合するのと同様に行
なわれる。すなわち、2つのレジスタからのデータが、
一方の空スペースに他方のビット内容を混在させること
によって統合される。このアルゴリズムは、「ジッパ−
」と呼ばれることもある。
ステップ6
第3F図を参照すると、レジスタBの内容がレジスタA
の内容とORされ、その結果がレジスタA及びBにコピ
ーされる。このとき、レジスタA及びBのおのおのは、
ビット・プレーン・メモリ16のプレーンlおよび3に
あられれるすべてのビット位置の組を含む。
の内容とORされ、その結果がレジスタA及びBにコピ
ーされる。このとき、レジスタA及びBのおのおのは、
ビット・プレーン・メモリ16のプレーンlおよび3に
あられれるすべてのビット位置の組を含む。
ステップ7
第3G図を参照すると、ここでビット・プレーン・メモ
リ16の個々のプレーンに記憶されるべきビットを分離
する必要がある。このことは、レジスタA及びBの内容
を分離マスクとANDし、その結果をレジスタA及びB
に書き込む事によりで達成される。より詳細には、分離
マスクはC,PU14内のレジスタに確立され、その内
容は、 である。なお、分離マスクのビットがレジスタAのビッ
ト位置の内容とANDされ、その結果がレジスタAに再
書き込みされたとき、レジスタAの第1のバイトはプレ
ーン・メモリ16のプレーン1にあられれるべきビット
のうちの4つを含むようになされ、レジスタAの第2の
バイトは、プレーン・メモリ16のプレーン3に結局あ
られれることになるビット位置のうちの4つを含むよう
になされる。また、上述の分離マスクの相補、すなわち
、 が、レジスタBの内容とANDされ、その結果がレジス
タBに戻される。レジスタBの第1バイトはこれにより
、プレーン3に現れることになる4つのビット位置を含
み、その第2のバイト位置は、ビット・プレーン・メモ
リ16のプレーン1にあられれることになる4つのビッ
ト位置を含むことになる。こうして、レジスタAの左端
バイトとレジスタBの右端バイトが、ビット・プレーン
・メモリ16のプレーン1の8個全てのビット位置を含
み、レジスタAの右端バイトとレジスタBの左端バイト
が、プレーン3の全てのビット位置を含む。
リ16の個々のプレーンに記憶されるべきビットを分離
する必要がある。このことは、レジスタA及びBの内容
を分離マスクとANDし、その結果をレジスタA及びB
に書き込む事によりで達成される。より詳細には、分離
マスクはC,PU14内のレジスタに確立され、その内
容は、 である。なお、分離マスクのビットがレジスタAのビッ
ト位置の内容とANDされ、その結果がレジスタAに再
書き込みされたとき、レジスタAの第1のバイトはプレ
ーン・メモリ16のプレーン1にあられれるべきビット
のうちの4つを含むようになされ、レジスタAの第2の
バイトは、プレーン・メモリ16のプレーン3に結局あ
られれることになるビット位置のうちの4つを含むよう
になされる。また、上述の分離マスクの相補、すなわち
、 が、レジスタBの内容とANDされ、その結果がレジス
タBに戻される。レジスタBの第1バイトはこれにより
、プレーン3に現れることになる4つのビット位置を含
み、その第2のバイト位置は、ビット・プレーン・メモ
リ16のプレーン1にあられれることになる4つのビッ
ト位置を含むことになる。こうして、レジスタAの左端
バイトとレジスタBの右端バイトが、ビット・プレーン
・メモリ16のプレーン1の8個全てのビット位置を含
み、レジスタAの右端バイトとレジスタBの左端バイト
が、プレーン3の全てのビット位置を含む。
ステップ8
第3H図を参照すると、レジスタAの左端バイトが2位
置分左にシフトされ、右端バイトは2位置分右ヘシフト
される。これにより、レジスタBに記憶されたビットを
挿入する余地ができる。次に、レジスタBの左端バイト
がレジスタAの右端バイトへとORされ、レジスタBの
右端バイトがレジスタへの左端バイトへとORされる。
置分左にシフトされ、右端バイトは2位置分右ヘシフト
される。これにより、レジスタBに記憶されたビットを
挿入する余地ができる。次に、レジスタBの左端バイト
がレジスタAの右端バイトへとORされ、レジスタBの
右端バイトがレジスタへの左端バイトへとORされる。
ステップ9
第3工図を参照すると、ステップ8のOR演算の結果が
レジスタAに示されている。このとき、レジスタAの左
端バイトが今やビット・プレーン・メモリ16のプレー
ン1に配置されるべき全てのビット位置を含んでいるこ
とに留意されたい。しかし、それらのビット位置は、適
切な順序で格納されていない。
レジスタAに示されている。このとき、レジスタAの左
端バイトが今やビット・プレーン・メモリ16のプレー
ン1に配置されるべき全てのビット位置を含んでいるこ
とに留意されたい。しかし、それらのビット位置は、適
切な順序で格納されていない。
このため、レジスタAの左端バイトを「プレーン1」で
はなく、「プレーン゛1」と呼ぶことにする。同様に、
レジスタAの右端バイトは、「プレーン゛3」と呼ばれ
る。アルゴリズム演算のこの段階で、レジスタAは、ビ
ット・プレーン・メモリ16のプレーンl及び3に挿入
されるべき全てのビット位置を含むが、その順序は適正
でない。次に、ビット・プレーン・メモリ16のプレー
ン○及び2に格納されるべき奇数ビット位置についての
同様の分離手続きが開始される。
はなく、「プレーン゛1」と呼ぶことにする。同様に、
レジスタAの右端バイトは、「プレーン゛3」と呼ばれ
る。アルゴリズム演算のこの段階で、レジスタAは、ビ
ット・プレーン・メモリ16のプレーンl及び3に挿入
されるべき全てのビット位置を含むが、その順序は適正
でない。次に、ビット・プレーン・メモリ16のプレー
ン○及び2に格納されるべき奇数ビット位置についての
同様の分離手続きが開始される。
ステップ10
第3J図を参照すると、レジスタBに捕捉マスクがロー
ドされ、レジスタC及びDの内容がそれらとANDされ
、その結果がレジスタC及びDに戻される。
ドされ、レジスタC及びDの内容がそれらとANDされ
、その結果がレジスタC及びDに戻される。
ステップ11
第3に図を参照すると、レジスタCの内容が1位置だけ
左にシフトされて、その後、レジスタDの内容がレジス
タCにORされて、奇数番目の位置の統合された列が形
成される。
左にシフトされて、その後、レジスタDの内容がレジス
タCにORされて、奇数番目の位置の統合された列が形
成される。
ステップ12
第3L図を参照すると、レジスタCの内容がレジスタD
にコピーされ、レジスタC及びDの個々のバイトへのさ
まざまなビット位置への分離を再び達成するために、レ
ジスタC及びDの内容が分離マスクとANDされる。
にコピーされ、レジスタC及びDの個々のバイトへのさ
まざまなビット位置への分離を再び達成するために、レ
ジスタC及びDの内容が分離マスクとANDされる。
特に、分離マスク
(1100110000110011)がレジスタCの
ビット位置とANDされ、その結果がレジスタCに上書
きされる。また、そのマスクの相補が、レジスタDの内
容とANDされ、その結果が、レジスタDに上書きされ
る。
ビット位置とANDされ、その結果がレジスタCに上書
きされる。また、そのマスクの相補が、レジスタDの内
容とANDされ、その結果が、レジスタDに上書きされ
る。
ステップ13
第3M図を参照すると、レジスタDの左端のバイトが2
位置左にシフトされ、右端のバイトが2位置右にシフト
される。その後、レジスタCの内容が、レジスタCにO
Rされて、統合が完了する。
位置左にシフトされ、右端のバイトが2位置右にシフト
される。その後、レジスタCの内容が、レジスタCにO
Rされて、統合が完了する。
ステップ14
第3N図を参照すると、レジスタAがブレーン゛コとプ
レーン“3を含み、レジスタDがプレーン゛○とプレー
ン′2を含む。ここで、各バイトに含まれているビット
位置は、ビット・プレーン・メモリ16に格納するには
適正な順序でないことを思い出されたい。
レーン“3を含み、レジスタDがプレーン゛○とプレー
ン′2を含む。ここで、各バイトに含まれているビット
位置は、ビット・プレーン・メモリ16に格納するには
適正な順序でないことを思い出されたい。
上述のアルゴリズムのステップの結果、ベル直列メモリ
12の各バイトのビット位置が、常に第13図に示すよ
うな形式で再配列されることが見て取れよう。こうして
、各ビット位置は、ビット・プレーン・メモリ16のプ
レーンのうちの1つの最終の宛先に対して、予定の関係
にあることが見て取れよう。
12の各バイトのビット位置が、常に第13図に示すよ
うな形式で再配列されることが見て取れよう。こうして
、各ビット位置は、ビット・プレーン・メモリ16のプ
レーンのうちの1つの最終の宛先に対して、予定の関係
にあることが見て取れよう。
第4図を参照すると、レジスタDの左端バイト (プレ
ーン”0)を示す例によって、この関係が示されている
。レジスタDの下方には、適正な順序のビット位置をも
つビット・プレーン・メモリ16がらのプレーン0が示
されている。レジスタDの各ビット位置からプレーンO
のビット位置への矢印は、プレーンOに格納する事がで
きるように適正に並へ直さなくてはならない、レジスタ
Dのビットの移動をあられす。
ーン”0)を示す例によって、この関係が示されている
。レジスタDの下方には、適正な順序のビット位置をも
つビット・プレーン・メモリ16がらのプレーン0が示
されている。レジスタDの各ビット位置からプレーンO
のビット位置への矢印は、プレーンOに格納する事がで
きるように適正に並へ直さなくてはならない、レジスタ
Dのビットの移動をあられす。
以下の変換テーブルは、必要とされるビット移動をあら
れすものである。
れすものである。
これによれば、例えばレジスタDの0位置のビットは、
プレーン0に適正に整列させるためには右に2ビツト位
置だけ移動しなくてはならない。また、レジスタDの他
のビットすなわち1乃至7は、上記変換テーブルの「移
動」という列に記された数たけ移動しなくてはならない
。なお、プレーン°構成を含む各バイトは、ビット・プ
レーン・メモリ16に後で格納するための適正な配向を
達成するために、常に一定の変換を受ける事を理解され
たい。また、上記ステップ5.8.11及び]3のシフ
ト命令は、常に一定の変換が行なわれるように構成され
ている。
プレーン0に適正に整列させるためには右に2ビツト位
置だけ移動しなくてはならない。また、レジスタDの他
のビットすなわち1乃至7は、上記変換テーブルの「移
動」という列に記された数たけ移動しなくてはならない
。なお、プレーン°構成を含む各バイトは、ビット・プ
レーン・メモリ16に後で格納するための適正な配向を
達成するために、常に一定の変換を受ける事を理解され
たい。また、上記ステップ5.8.11及び]3のシフ
ト命令は、常に一定の変換が行なわれるように構成され
ている。
レジスタDに含まれている2進数は、上述の変換を受け
た後は、ある別の2進数になることが見て取れよう。第
5図は、レジスタD内のさまざまなビット位置が数58
に等しくなるように2進数を配置され、これらの2進数
に上記の変換テーブルに示す変換を施すことにより、プ
レーン○に示す配列が行なわれ、それが216に等しく
なることが各バイトには8ビツトが存在するので、レジ
スタに現れる任意の値に対して対応するたか1巳か25
6個の数しか存在しない。よって、CPU14内には(
例えば第1図のテーブル24)、上述の変換を与えるテ
ーブルが設けられる。すなわち、レジスタAないしDか
ら値が読みこまれるとき、その値は、テーブル・ルック
アップ手続きを使用して、テーブル24によって適正な
2進値に変換される。
た後は、ある別の2進数になることが見て取れよう。第
5図は、レジスタD内のさまざまなビット位置が数58
に等しくなるように2進数を配置され、これらの2進数
に上記の変換テーブルに示す変換を施すことにより、プ
レーン○に示す配列が行なわれ、それが216に等しく
なることが各バイトには8ビツトが存在するので、レジ
スタに現れる任意の値に対して対応するたか1巳か25
6個の数しか存在しない。よって、CPU14内には(
例えば第1図のテーブル24)、上述の変換を与えるテ
ーブルが設けられる。すなわち、レジスタAないしDか
ら値が読みこまれるとき、その値は、テーブル・ルック
アップ手続きを使用して、テーブル24によって適正な
2進値に変換される。
ステップ15
第30図を参照すると、上記テーブル・ルックアップが
行なわれた後、適正な値がレジスタA乃至りに挿入され
、そのあとビット・プレーン・メモリ0乃至3にその値
が格納される。
行なわれた後、適正な値がレジスタA乃至りに挿入され
、そのあとビット・プレーン・メモリ0乃至3にその値
が格納される。
ステップ16
第3P図を参照すると、この段階で、ビット位置32(
バイト5)で始まるワード3にアクセスすることによっ
て、このアルゴリズムが継続する。このアルゴリズムは
、上記ステップ2j以下の処理をワード3及び4に対し
て実行し、処理は、全てのワードを変換してビット・プ
レーン・メモリ16に書き込むまで行なわれる。
バイト5)で始まるワード3にアクセスすることによっ
て、このアルゴリズムが継続する。このアルゴリズムは
、上記ステップ2j以下の処理をワード3及び4に対し
て実行し、処理は、全てのワードを変換してビット・プ
レーン・メモリ16に書き込むまで行なわれる。
なお、プレーンOからプレーン3までを直列的に縦断す
る代りに(第2図の矢印30参照)、ワード3乃至4に
対してプレーンはその逆順(第2図の矢印32を参照)
であると考慮されることに留意されたい。アルゴリズム
をこのような左右交互的(bous’tr。
る代りに(第2図の矢印30参照)、ワード3乃至4に
対してプレーンはその逆順(第2図の矢印32を参照)
であると考慮されることに留意されたい。アルゴリズム
をこのような左右交互的(bous’tr。
phedonic)な様式、すなわち牛が畑を耕すよう
な方法でアルゴリズムを継続する事により、相当の処理
時間が節約される。さらに、−度に2バイトを処理する
ことにより、メモリ・アクセスの回数が半分になり、よ
ってさらに相当な処理時間の節約がはかられる。
な方法でアルゴリズムを継続する事により、相当の処理
時間が節約される。さらに、−度に2バイトを処理する
ことにより、メモリ・アクセスの回数が半分になり、よ
ってさらに相当な処理時間の節約がはかられる。
F0発明の詳細
な説明したように、この発明によれば、ビット・マスク
の使用とレジスタにおけるビット・シフトをもちいて、
直列メモリからビット・プレーン・メモリへの高速のデ
ータ転送が達成される。
の使用とレジスタにおけるビット・シフトをもちいて、
直列メモリからビット・プレーン・メモリへの高速のデ
ータ転送が達成される。
第1図は、本発明の方法を実施するためのシステムの主
要な要素のブロック図、 第2図は、ベル直列メモリと、対応するビット・プレー
ン・メモリのビット・レイアウトの図、 第3A図乃至第3P図は、本発明の各ステップにおける
レジスタA乃至りの内容を示す図、 第4図は、レジスタDのバイト中のビット位置と、ビッ
ト・プレーン・メモリのプレーン0中のビット位置の間
の関係を示す図、第5図は、ビット変換の例を示す図で
ある。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 口 く 味 く 妖 く 味 く 糧 く 妓 く 派 く 口 く
要な要素のブロック図、 第2図は、ベル直列メモリと、対応するビット・プレー
ン・メモリのビット・レイアウトの図、 第3A図乃至第3P図は、本発明の各ステップにおける
レジスタA乃至りの内容を示す図、 第4図は、レジスタDのバイト中のビット位置と、ビッ
ト・プレーン・メモリのプレーン0中のビット位置の間
の関係を示す図、第5図は、ビット変換の例を示す図で
ある。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 口 く 味 く 妖 く 味 く 糧 く 妓 く 派 く 口 く
Claims (2)
- (1)直列的に構成されたメモリから、ビット・プレー
ン構成されたメモリへデータ単位を転送するための方法
において、 (a)上記直列的に構成されたメモリからデータ単位を
選択する段階と、 (b)上記データ単位から、上記ビット・プレーン構成
されたメモリ中の記憶プレーンのサブセットに記憶すべ
きビットのみを含むビット・パターンを取り出す段階と
、 (c)上記ビット・パターンから、上記記憶プレーンの
上記サブセットの1つの記憶プ レーンに記憶されるべきビットを含むビット・パターン
を分離する段階と、 (d)上記分離されたビット・パターンを、上記ビット
・パターン構成メモリのプレーンに格納するに適合した
形式に変換する段階を有する、 データ転送方法。 - (2)直列メモリに格納されたデータ単位を、複数のビ
ット・プレーンをもつビット・プレーン・メモリに、該
複数のビット・プレーンの各々が、上記直列メモリの奇
数又は偶数番のビットのみをもちその両方はもたないよ
うに、転送するための方法において、 (a)上記直列メモリから、各々が少なくとも1つのデ
ィスプレイ・データ単位を含むようなワードの対を選択
し、該選択されたワードの対を複数のレジスタに格納す
る段階と、(b)上記選択されたワードの対から、上記
直列メモリのすべての奇数番ビットを除去するように、
上記選択されたワードの対にマスクを適用する段階と、 (c)上記複数のレジスタのうちの1つのレジスタ中の
ビットをシフトして該シフトされたビットを、上記複数
のレジスタのうちの別のレジスタに格納されたビットと
組合せ、以て該2つのレジスタが上記選択されたワード
の全ての偶数番ビットを含むようにする段階と、 (d)上記2つのレジスタ内にある、上記直列メモリの
偶数番ビットを部分的に分離するために上記レジスタに
格納されたビットに第2のマスクを適用する段階と、 (e)上記ビット・プレーン・メモリの上記プレーンに
記憶された偶数番ビットを、上記ディスプレイ・データ
単位毎にまとめるように、上記部分的に分離されたビッ
トを組合せる段階と、 (f)上記まとめられた偶数番ビットを、所望の順序に
並べかえる段階と、 (g)上記並べかえられたビット位置を、上記ビット・
プレーン・メモリの上記プレーンに格納する段階を有す
る、 データ転送方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US242326 | 1988-09-06 | ||
US07/242,326 US4956810A (en) | 1988-09-06 | 1988-09-06 | High speed method for data transfer |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0282369A true JPH0282369A (ja) | 1990-03-22 |
JPH0738167B2 JPH0738167B2 (ja) | 1995-04-26 |
Family
ID=22914337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1198102A Expired - Lifetime JPH0738167B2 (ja) | 1988-09-06 | 1989-08-01 | データ転送方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US4956810A (ja) |
EP (1) | EP0358374B1 (ja) |
JP (1) | JPH0738167B2 (ja) |
AU (1) | AU609635B2 (ja) |
CA (1) | CA1317685C (ja) |
DE (1) | DE68922677T2 (ja) |
MX (1) | MX165878B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2804115B2 (ja) * | 1988-09-19 | 1998-09-24 | 株式会社日立製作所 | ディスクファイルシステム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6446851A (en) * | 1987-08-17 | 1989-02-21 | Nec Corp | Information processor |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US460109A (en) * | 1891-09-29 | Telegraphic transmitting-instrum ent | ||
US3987419A (en) * | 1974-12-05 | 1976-10-19 | Goodyear Aerospace Corporation | High speed information processing system |
US4148098A (en) * | 1976-10-18 | 1979-04-03 | Xerox Corporation | Data transfer system with disk command verification apparatus |
DE2811699A1 (de) * | 1978-03-17 | 1979-09-20 | Bosch Gmbh Robert | Verfahren zum darstellen von echosignalen eines ultraschall-diagnosegeraetes |
JPS5836089A (ja) * | 1981-08-27 | 1983-03-02 | Sony Corp | 画像表示装置 |
JPS5952487A (ja) * | 1982-09-16 | 1984-03-27 | Hitachi Ltd | 磁気バブル記憶素子の高速アクセス方法 |
JPS62988A (ja) * | 1985-02-27 | 1987-01-06 | 大日本スクリ−ン製造株式会社 | 画像デ−タの表示方法 |
-
1988
- 1988-09-06 US US07/242,326 patent/US4956810A/en not_active Expired - Lifetime
-
1989
- 1989-06-08 CA CA000602126A patent/CA1317685C/en not_active Expired - Fee Related
- 1989-08-01 JP JP1198102A patent/JPH0738167B2/ja not_active Expired - Lifetime
- 1989-08-10 AU AU39471/89A patent/AU609635B2/en not_active Ceased
- 1989-08-23 DE DE68922677T patent/DE68922677T2/de not_active Expired - Fee Related
- 1989-08-23 EP EP89308536A patent/EP0358374B1/en not_active Expired - Lifetime
- 1989-09-06 MX MX017449A patent/MX165878B/es unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6446851A (en) * | 1987-08-17 | 1989-02-21 | Nec Corp | Information processor |
Also Published As
Publication number | Publication date |
---|---|
DE68922677D1 (de) | 1995-06-22 |
JPH0738167B2 (ja) | 1995-04-26 |
EP0358374B1 (en) | 1995-05-17 |
EP0358374A3 (en) | 1991-08-21 |
CA1317685C (en) | 1993-05-11 |
MX165878B (es) | 1992-12-08 |
EP0358374A2 (en) | 1990-03-14 |
DE68922677T2 (de) | 1996-01-25 |
AU3947189A (en) | 1990-03-15 |
AU609635B2 (en) | 1991-05-02 |
US4956810A (en) | 1990-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0863586A (ja) | 画像処理等の並列処理用のキャッシュバーストアーキテクチャ | |
JPH0652102A (ja) | データ転送装置 | |
JP3085693B2 (ja) | 図形処理システム | |
JP3971535B2 (ja) | Simd型プロセッサ | |
US5167029A (en) | Data processing system and associated process using memory cards having data modify functions utilizing a data mask and an internal register | |
US5269001A (en) | Video graphics display memory swizzle logic circuit and method | |
JPH04295953A (ja) | 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット | |
JPH0282369A (ja) | データ転送方法 | |
US8327108B2 (en) | Slave and a master device, a system incorporating the devices, and a method of operating the slave device | |
JPH0282329A (ja) | データ転送方法 | |
JPS6037930B2 (ja) | 情報記憶装置 | |
JP2812292B2 (ja) | 画像処理装置 | |
EP0814428A2 (en) | A method and apparatus for transferring pixel data stored in a memory circuit | |
JP2824976B2 (ja) | 2次元配列データ回転装置 | |
JP4413905B2 (ja) | Simd型プロセッサ | |
KR20010072505A (ko) | 다수의 처리 및 메모리 회로를 포함하는 데이터 처리장치, 그 구성 방법 및 컴퓨터 프로그램 제품 | |
JPS61112270A (ja) | バイト変換装置 | |
JPS59123974A (ja) | ベクトルデ−タ記憶制御方式 | |
JPH1027467A (ja) | 半導体装置 | |
JPH01171191A (ja) | 演算機能付記憶素子 | |
JP2001084171A (ja) | 画像処理装置 | |
JPH0193868A (ja) | データ処理装置 | |
JPH01321573A (ja) | 画像データ変換回路 | |
JPH04274547A (ja) | データ転送システム | |
JPH0561814A (ja) | 並び替え機能付きデータ転送装置 |