JPH07182231A - マスク処理回路 - Google Patents
マスク処理回路Info
- Publication number
- JPH07182231A JPH07182231A JP32659093A JP32659093A JPH07182231A JP H07182231 A JPH07182231 A JP H07182231A JP 32659093 A JP32659093 A JP 32659093A JP 32659093 A JP32659093 A JP 32659093A JP H07182231 A JPH07182231 A JP H07182231A
- Authority
- JP
- Japan
- Prior art keywords
- data
- mask
- memory
- bits
- circuit
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims abstract description 34
- 230000015654 memory Effects 0.000 claims abstract description 130
- 230000000873 masking effect Effects 0.000 abstract description 16
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Abstract
(57)【要約】
【目的】 マスク回路を一系統にすることによって、C
PUのロード負担及び処理時間を増やすことなくハード
ウェアの軽減を図る。 【構成】 データはマスクすることなくそのまま複数の
メモリM1〜Mnに取り込んでおく。バスインタフェー
ス4により複数のメモリM1〜Mnから1つのメモリM
が選択されると、CPU1がレジスタRの内容を選択メ
モリMに対応したマスク用データに書き換え、このマス
ク用データがマスク回路Sに供給される。するとマスク
回路Sは、マスク用データにもとづいて選択メモリMの
データから対象外のビットをマスクして処理対象とした
い特定ビットだけをCPU1に読み込ます。
PUのロード負担及び処理時間を増やすことなくハード
ウェアの軽減を図る。 【構成】 データはマスクすることなくそのまま複数の
メモリM1〜Mnに取り込んでおく。バスインタフェー
ス4により複数のメモリM1〜Mnから1つのメモリM
が選択されると、CPU1がレジスタRの内容を選択メ
モリMに対応したマスク用データに書き換え、このマス
ク用データがマスク回路Sに供給される。するとマスク
回路Sは、マスク用データにもとづいて選択メモリMの
データから対象外のビットをマスクして処理対象とした
い特定ビットだけをCPU1に読み込ます。
Description
【0001】
【産業上の利用分野】本発明は、データから不要なビッ
トを取り除いてCPUに読み込ませるようにしたマスク
処理回路に係り、特にマスク部のハードウェアを簡素化
したものに関する。
トを取り除いてCPUに読み込ませるようにしたマスク
処理回路に係り、特にマスク部のハードウェアを簡素化
したものに関する。
【0002】
【従来の技術】データを処理する上で、データ中の特定
ビットのみを取り出したり、削除したりすることがあ
る。例えば、12ビット幅のデータを16ビット幅で読
み込ませようとするとき、残りの4ビットが全て0であ
ればよいが、そうでない場合、これをそのままCPUで
処理すると不都合が生じる。かといって、CPUに12
ビット幅であることを意識させて処理させようとすると
処理に時間がかかる。そのようなときには不必要な4ビ
ットをマスクするが、そのための回路としてマスク処理
回路がある。
ビットのみを取り出したり、削除したりすることがあ
る。例えば、12ビット幅のデータを16ビット幅で読
み込ませようとするとき、残りの4ビットが全て0であ
ればよいが、そうでない場合、これをそのままCPUで
処理すると不都合が生じる。かといって、CPUに12
ビット幅であることを意識させて処理させようとすると
処理に時間がかかる。そのようなときには不必要な4ビ
ットをマスクするが、そのための回路としてマスク処理
回路がある。
【0003】マスク処理回路は、メモリにデータを取り
込む前に処理対象外のビットについてマスクをかけ、処
理対象としたい特定ビットのみをメモリに一旦取り込
み、その後CPUに読み込むようにしている。
込む前に処理対象外のビットについてマスクをかけ、処
理対象としたい特定ビットのみをメモリに一旦取り込
み、その後CPUに読み込むようにしている。
【0004】従来、CPU側でメモリデータを読む場
合、図6に示すように、複数のメモリM1,M2,…M
nとCPU1間にバスインタフェース2を介在させ、バ
スインタフェース2によって複数のメモリM1〜Mnか
ら任意のメモリMを1つ選択できるようにし、選択した
メモリMをバス3を介してCPU1に接続するようにな
っいる。
合、図6に示すように、複数のメモリM1,M2,…M
nとCPU1間にバスインタフェース2を介在させ、バ
スインタフェース2によって複数のメモリM1〜Mnか
ら任意のメモリMを1つ選択できるようにし、選択した
メモリMをバス3を介してCPU1に接続するようにな
っいる。
【0005】このような回路では、マスク用データに基
づいて対象外ビットにマスクをかけるマスク回路Sはメ
モリ単位に個別(S1〜Sn)に設けられ、メモリ取込
み用のデータDは、マスク用データをセットするレジス
タRと論理積を取ってからメモリMに取り込まれるよう
になっている。
づいて対象外ビットにマスクをかけるマスク回路Sはメ
モリ単位に個別(S1〜Sn)に設けられ、メモリ取込
み用のデータDは、マスク用データをセットするレジス
タRと論理積を取ってからメモリMに取り込まれるよう
になっている。
【0006】従って、レジスタRもメモリMの数だけ用
意して、これらに各メモリMに対応するマスク用データ
をセットし、各マスク回路Sに各マスク用データを渡す
ことによって、各メモリMに処理対象としたい特定のビ
ットのみが取り込まれるようになっている。なお、レジ
スタRは各メモリ毎に設けられているため、レジスタR
にセットするマスク用データは、1回レジスタにセット
すれば良く、書き換える必要はない。
意して、これらに各メモリMに対応するマスク用データ
をセットし、各マスク回路Sに各マスク用データを渡す
ことによって、各メモリMに処理対象としたい特定のビ
ットのみが取り込まれるようになっている。なお、レジ
スタRは各メモリ毎に設けられているため、レジスタR
にセットするマスク用データは、1回レジスタにセット
すれば良く、書き換える必要はない。
【0007】このようにマスク専用のハードウェアを多
系統に設けているのは、マスク処理の高速化を図るため
である。
系統に設けているのは、マスク処理の高速化を図るため
である。
【0008】図7は、ビット数が混在している場合の従
来のマスク処理回路例を示す。基本的には図6と同じで
あるが、CPUは32ビット、メモリM1が16ビッ
ト、メモリM2が32ビット、メモリMnが16ビット
というように、CPUとメモリ間のデータビット数が異
なっている。
来のマスク処理回路例を示す。基本的には図6と同じで
あるが、CPUは32ビット、メモリM1が16ビッ
ト、メモリM2が32ビット、メモリMnが16ビット
というように、CPUとメモリ間のデータビット数が異
なっている。
【0009】例えばメモリM2へデータ2D31〜1D0
を取り込むときに、その中の必要なデータだけをメモリ
M2に取り込むために、有効なデータビット以外のメモ
リデータを“0“にするマスク用データ2MD31〜2M
D0 をレジスタR2にセットする。このようにしてマス
クすることで、メモリM2から読み出したデータをCP
U1で処理するときにCPU側でのソフト処理負担を軽
減する。
を取り込むときに、その中の必要なデータだけをメモリ
M2に取り込むために、有効なデータビット以外のメモ
リデータを“0“にするマスク用データ2MD31〜2M
D0 をレジスタR2にセットする。このようにしてマス
クすることで、メモリM2から読み出したデータをCP
U1で処理するときにCPU側でのソフト処理負担を軽
減する。
【0010】なお、CPU1とデータビット数が異なる
メモリM1を読み出すときには、マスク回路S1ではバ
ス3上の不必要なビット(上位16ビット)をマスクす
ることができないため、バスインタフェース2がCPU
1側で不要ビットをマスクしなければならない。
メモリM1を読み出すときには、マスク回路S1ではバ
ス3上の不必要なビット(上位16ビット)をマスクす
ることができないため、バスインタフェース2がCPU
1側で不要ビットをマスクしなければならない。
【0011】
【発明が解決しようとする課題】上述した従来のマスク
処理回路には次のような問題があった。
処理回路には次のような問題があった。
【0012】(1) メモリへデータを取り込むときにデー
タのマスクを行なっているため、メモリ毎にマスク回路
及びレジスタを必要とし、ハードウェアが非常に複雑に
なる。
タのマスクを行なっているため、メモリ毎にマスク回路
及びレジスタを必要とし、ハードウェアが非常に複雑に
なる。
【0013】(2) データをメモリに取り込む前にマスク
すると、マスクされなかった処理対象データのみがメモ
リに取り込まれ、マスクされたデータは捨てられる。し
かし、1回目のマスク処理で得た処理対象データを評
価、検討したところ、不具合な点が見つかり、当初のデ
ータとは異なるデータが欲しい場合がある。そのような
とき、マスクデータは既に捨てられているため、再度デ
ータをメモリに取り込まなければ次回のマスクが行なえ
ない。従って柔軟性のあるデータ加工処理ができなかっ
た。
すると、マスクされなかった処理対象データのみがメモ
リに取り込まれ、マスクされたデータは捨てられる。し
かし、1回目のマスク処理で得た処理対象データを評
価、検討したところ、不具合な点が見つかり、当初のデ
ータとは異なるデータが欲しい場合がある。そのような
とき、マスクデータは既に捨てられているため、再度デ
ータをメモリに取り込まなければ次回のマスクが行なえ
ない。従って柔軟性のあるデータ加工処理ができなかっ
た。
【0014】(3) CPUとメモリ間でデータビット数が
異なり、データビット数の少ないメモリ内容を読み出す
とき、CPU側で不必要なビットをマスクする必要があ
るが、メモリの入力側にあるマスク回路では、マスク機
能がありながら、そのようなビットをマスクすることが
できない。そのためバスインタフェースで行なわなけれ
ばならず、回路構成を複雑化する。
異なり、データビット数の少ないメモリ内容を読み出す
とき、CPU側で不必要なビットをマスクする必要があ
るが、メモリの入力側にあるマスク回路では、マスク機
能がありながら、そのようなビットをマスクすることが
できない。そのためバスインタフェースで行なわなけれ
ばならず、回路構成を複雑化する。
【0015】本発明の目的は、マスク回路系を一系統に
することによって、上述した従来技術の欠点を解消し
て、CPUのロード負担及び処理時間を増やすことな
く、ハードウェアの軽減を図ることが可能なマスク処理
回路を提供することにある。
することによって、上述した従来技術の欠点を解消し
て、CPUのロード負担及び処理時間を増やすことな
く、ハードウェアの軽減を図ることが可能なマスク処理
回路を提供することにある。
【0016】また本発明の他の目的は、符号拡張機能を
もつマスク処理回路を提供することにある。
もつマスク処理回路を提供することにある。
【0017】
【課題を解決するための手段】第1発明のマスク処理回
路は、複数のメモリとCPU間がバスインタフェースで
つながれ、バスインタフェースにより複数のメモリから
選択されたメモリのデータをCPUに読み込むように構
成した回路を前提とする。
路は、複数のメモリとCPU間がバスインタフェースで
つながれ、バスインタフェースにより複数のメモリから
選択されたメモリのデータをCPUに読み込むように構
成した回路を前提とする。
【0018】このような回路において、マスク回路はメ
モリの入力側ではなくCPU側であってバスインタフェ
ースのバス側に一系統だけ設けられ、それに応じてマス
ク用データをセットするレジスタも一系統だけ設けられ
る。
モリの入力側ではなくCPU側であってバスインタフェ
ースのバス側に一系統だけ設けられ、それに応じてマス
ク用データをセットするレジスタも一系統だけ設けられ
る。
【0019】上記レジスタは、選択されたメモリに対応
したマスク用データがCPUによってセットされ、その
データ内容がメモリが選択される都度書き換えられるよ
うになっている。また、上記マスク回路は、レジスタに
セットされたマスク用データにもとづいて選択メモリの
データから対象外のビットをマスクして処理対象とした
い特定ビットだけをCPUに読み込ませるようになって
いる。なお、選択されるメモリが前回選択されたメモリ
と同一であれば、データ内容を書き換えなくても良い。
したマスク用データがCPUによってセットされ、その
データ内容がメモリが選択される都度書き換えられるよ
うになっている。また、上記マスク回路は、レジスタに
セットされたマスク用データにもとづいて選択メモリの
データから対象外のビットをマスクして処理対象とした
い特定ビットだけをCPUに読み込ませるようになって
いる。なお、選択されるメモリが前回選択されたメモリ
と同一であれば、データ内容を書き換えなくても良い。
【0020】なお、メモリには、1チップメモリのよう
にそれ自体独立したメモリの他に、1チップメモリなど
の独立したメモリが複数集って1つの大きなメモリ単位
をなすメモリブロックのような場合も含まれる。
にそれ自体独立したメモリの他に、1チップメモリなど
の独立したメモリが複数集って1つの大きなメモリ単位
をなすメモリブロックのような場合も含まれる。
【0021】また、第2発明は、第1発明において、選
択メモリのデータビット数とCPUのデータビット数と
が異なる場合において、選択メモリからのデータをマス
クしてCPUに読み込ませるとき、CPUのデータビッ
トのうち不必要なビットを上記マスク回路によりマスク
するようにしたものである。
択メモリのデータビット数とCPUのデータビット数と
が異なる場合において、選択メモリからのデータをマス
クしてCPUに読み込ませるとき、CPUのデータビッ
トのうち不必要なビットを上記マスク回路によりマスク
するようにしたものである。
【0022】また、第3発明は、第1または第2発明に
おいて、マスク回路に、選択されたメモリの符号ビット
が有意データをもつとき、それよりも上位ビットのデー
タを強制的に有意データとする符号拡張回路を付加した
ものである。ここで、有意データとは、例えば、正符号
の“1”を意味する。
おいて、マスク回路に、選択されたメモリの符号ビット
が有意データをもつとき、それよりも上位ビットのデー
タを強制的に有意データとする符号拡張回路を付加した
ものである。ここで、有意データとは、例えば、正符号
の“1”を意味する。
【0023】
【作用】データはマスクすることなくそのまま複数のメ
モリに取り込んでおく。バスインタフェースにより複数
のメモリから1つのメモリが選択されると、CPUがレ
ジスタの内容を選択メモリに対応したマスク用データに
書き換え、このマスク用データがマスク回路に供給され
る。するとマスク回路は、マスク用データにもとづいて
選択メモリのデータから対象外のビットをマスクして処
理対象としたい特定ビットだけをCPUに読み込ます。
モリに取り込んでおく。バスインタフェースにより複数
のメモリから1つのメモリが選択されると、CPUがレ
ジスタの内容を選択メモリに対応したマスク用データに
書き換え、このマスク用データがマスク回路に供給され
る。するとマスク回路は、マスク用データにもとづいて
選択メモリのデータから対象外のビットをマスクして処
理対象としたい特定ビットだけをCPUに読み込ます。
【0024】なお、バスインタフェースにより選択され
るメモリは予め分かるから、選択後でなく選択に先立っ
てレジスタ内容を書き換えておけば、マスク処理速度を
落とさないで済む。
るメモリは予め分かるから、選択後でなく選択に先立っ
てレジスタ内容を書き換えておけば、マスク処理速度を
落とさないで済む。
【0025】マスク用データをCPUの命令によりソフ
ト的に書き換えるには時間がかかるが、本発明のように
メモリ選択の都度レジスタのデータを書き換える場合で
あっても、現実には頻繁に書き換えるわけではないの
で、実スピードからいうと影響はない。
ト的に書き換えるには時間がかかるが、本発明のように
メモリ選択の都度レジスタのデータを書き換える場合で
あっても、現実には頻繁に書き換えるわけではないの
で、実スピードからいうと影響はない。
【0026】すなわち、本発明ではレジスタが1つでこ
れを共用するのに対し、従来ではレジスタがメモリの数
に応じて設けてある点でハードウェア上大きく異なる
が、ソフトウェア上は次のように差異はない。選択によ
りメモリを切り換えたときにマスク用データをレジスタ
にセッティングしなおすのが本発明であり、データをメ
モリに取り込む前に全てのレジスタにマスク用データを
セッティングしておくのが従来例であり、共にセッティ
ングするという動作においては変るところがない。従っ
て、CPUのロード負担、性能、処理時間は従来と同じ
である。
れを共用するのに対し、従来ではレジスタがメモリの数
に応じて設けてある点でハードウェア上大きく異なる
が、ソフトウェア上は次のように差異はない。選択によ
りメモリを切り換えたときにマスク用データをレジスタ
にセッティングしなおすのが本発明であり、データをメ
モリに取り込む前に全てのレジスタにマスク用データを
セッティングしておくのが従来例であり、共にセッティ
ングするという動作においては変るところがない。従っ
て、CPUのロード負担、性能、処理時間は従来と同じ
である。
【0027】通常、データ中のどのビットをマスクする
かは予め分かっていることが多い。例えば、半導体試験
装置(テスタ)などでも、テストヘッドで得たDUTの
テストデータを本体に送り、本体内でマスク処理した後
バスを介してCPUに送っているが、DUTや試験の種
類等によってマスク処理で削除したいビットは予め決っ
ている。この点は、メモリにデータを取り込む前後で変
らない。従って、同一のメモリデータに対してマスクデ
ータを変更するということは通常行なわれていない。
かは予め分かっていることが多い。例えば、半導体試験
装置(テスタ)などでも、テストヘッドで得たDUTの
テストデータを本体に送り、本体内でマスク処理した後
バスを介してCPUに送っているが、DUTや試験の種
類等によってマスク処理で削除したいビットは予め決っ
ている。この点は、メモリにデータを取り込む前後で変
らない。従って、同一のメモリデータに対してマスクデ
ータを変更するということは通常行なわれていない。
【0028】しかし、マスク用データを変更するような
場合であっても、本発明では、メモリにマスクされてい
ない生データが入っているので、マスク内容を変えたい
ときでもデータを再度取り込まなくて済む。例えば、一
回マスクしたデータをCPUで処理したけれども、結果
が思わしくなかったので、マスクビットを変えて再度処
理したいというような試行錯誤的な実験や評価を行なう
場合、直ちにマスク処理ができるので頗る便利である。
場合であっても、本発明では、メモリにマスクされてい
ない生データが入っているので、マスク内容を変えたい
ときでもデータを再度取り込まなくて済む。例えば、一
回マスクしたデータをCPUで処理したけれども、結果
が思わしくなかったので、マスクビットを変えて再度処
理したいというような試行錯誤的な実験や評価を行なう
場合、直ちにマスク処理ができるので頗る便利である。
【0029】また、マスク回路に符号拡張回路を付加す
ると、例えば、メモリの符号ビットであるMSBが
“1”のとき、それよりも上位ビットを全て“1”にし
て符号を拡張することができる。逆に、MSBが“0”
のときは、上位ビットはそのままになる。なおメモリの
有意データは“0”の場合もある。
ると、例えば、メモリの符号ビットであるMSBが
“1”のとき、それよりも上位ビットを全て“1”にし
て符号を拡張することができる。逆に、MSBが“0”
のときは、上位ビットはそのままになる。なおメモリの
有意データは“0”の場合もある。
【0030】
【実施例】以下、本発明のマスク処理回路の実施例を説
明する。本実施例では、バス側に共通のマスク回路をも
たせ、複数のメモリに対してマスク回路を一系統で済ま
したものである。
明する。本実施例では、バス側に共通のマスク回路をも
たせ、複数のメモリに対してマスク回路を一系統で済ま
したものである。
【0031】マスク処理回路は図1に示す様に構成され
ている。すなわち、複数のメモリM1〜MnとCPU1
間はバスインタフェース4でつながれている。バスイン
タフェース4によって複数のメモリM1〜Mnから任意
のメモリMが1つ選択できる。選択されたメモリMはバ
ス3を介してCPU1に接続され、選択メモリMのデー
タがCPU1に読み込まれる。
ている。すなわち、複数のメモリM1〜MnとCPU1
間はバスインタフェース4でつながれている。バスイン
タフェース4によって複数のメモリM1〜Mnから任意
のメモリMが1つ選択できる。選択されたメモリMはバ
ス3を介してCPU1に接続され、選択メモリMのデー
タがCPU1に読み込まれる。
【0032】上記メモリMとCPU1間に介在したバス
インタフェース4内のバス3側に、各メモリMに共通の
マスク回路Sが一系統だけ組込まれている。マスク回路
Sは、レジスタRにセットされたマスク用データにもと
づいて選択メモリMのデータから対象外のビットをマス
クして、処理対象としたい特定ビットだけをバス3を介
してCPU1に読み込ませる。
インタフェース4内のバス3側に、各メモリMに共通の
マスク回路Sが一系統だけ組込まれている。マスク回路
Sは、レジスタRにセットされたマスク用データにもと
づいて選択メモリMのデータから対象外のビットをマス
クして、処理対象としたい特定ビットだけをバス3を介
してCPU1に読み込ませる。
【0033】マスク用データがセットされるレジスタR
は、マスク回路Sと同様に一系統で構成され、選択され
たメモリMに対応したマスク用データがCPU1によっ
てセットされる。レジスタRは一系統で構成されている
ために、対応するメモリに対して最低限データの切換え
機能をもつ必要がある。そこで、そのデータ内容はメモ
リMが選択される都度、CPU1によって書き換えられ
るようにしてある。なお、レジスタRにセットされる各
マスク用データはCPU1側に持たせてある。この点は
従来のものと変らない。
は、マスク回路Sと同様に一系統で構成され、選択され
たメモリMに対応したマスク用データがCPU1によっ
てセットされる。レジスタRは一系統で構成されている
ために、対応するメモリに対して最低限データの切換え
機能をもつ必要がある。そこで、そのデータ内容はメモ
リMが選択される都度、CPU1によって書き換えられ
るようにしてある。なお、レジスタRにセットされる各
マスク用データはCPU1側に持たせてある。この点は
従来のものと変らない。
【0034】バスインタフェース4のメモリ選択手段
は、図示例ではセレクタ5を例示してあるが、例えば各
メモリMの出力にハイゼット(HiZ)機能があれば、
セレクタ5を省略することができる。また回路がECL
で構成されて正論理で扱えるようになっていれば、セレ
クタ5に代えてワイヤドORで済ますことも可能であ
る。
は、図示例ではセレクタ5を例示してあるが、例えば各
メモリMの出力にハイゼット(HiZ)機能があれば、
セレクタ5を省略することができる。また回路がECL
で構成されて正論理で扱えるようになっていれば、セレ
クタ5に代えてワイヤドORで済ますことも可能であ
る。
【0035】また、マスク回路Sでのマスク処理は、セ
レクタ5の出力とレジスタRの出力とをAND回路6で
接続して、選択メモリMから読み出したデータと、レジ
スタRにセットされたマスク用データとの論理積を取る
ことによって行なわれる。
レクタ5の出力とレジスタRの出力とをAND回路6で
接続して、選択メモリMから読み出したデータと、レジ
スタRにセットされたマスク用データとの論理積を取る
ことによって行なわれる。
【0036】さて、データ1D、2D、…nDはマスク
することなくそのまま生データとして各メモリM1、M
2…Mnに取り込んでおく。バスインタフェース4によ
り複数のメモリM1〜Mnの中から1つのメモリMが選
択されると、CPU1がレジスタRの内容を選択メモリ
Mに対応したマスク用データに書き換え、このマスク用
データがマスク回路Sに供給される。すなわち、その都
度、1D、2D…に対応してレジスタRの内容がCPU
1によって書き換えられる。
することなくそのまま生データとして各メモリM1、M
2…Mnに取り込んでおく。バスインタフェース4によ
り複数のメモリM1〜Mnの中から1つのメモリMが選
択されると、CPU1がレジスタRの内容を選択メモリ
Mに対応したマスク用データに書き換え、このマスク用
データがマスク回路Sに供給される。すなわち、その都
度、1D、2D…に対応してレジスタRの内容がCPU
1によって書き換えられる。
【0037】マスク回路Sは、レジスタRにセットされ
たマスク用データにもとづいて選択メモリMのデータか
ら対象外のビットをマスクして処理対象としたい特定ビ
ットだけを残してバス3に出力する。CPU1はバス3
を通じてその特定ビットのみを読み込む。
たマスク用データにもとづいて選択メモリMのデータか
ら対象外のビットをマスクして処理対象としたい特定ビ
ットだけを残してバス3に出力する。CPU1はバス3
を通じてその特定ビットのみを読み込む。
【0038】なお、本実施例はマスク回路Sを一系統と
したので、メモリMが切り換えられる度にマスク用デー
タを書き換えなければならないが、どのメモリを読むか
はCPU1には予め見えている。従って、メモリを読み
前に、バス側からそのメモリに対応するマスク用データ
を先取りしてレジスタにセットしておけば、処理速度が
遅くなることはない。
したので、メモリMが切り換えられる度にマスク用デー
タを書き換えなければならないが、どのメモリを読むか
はCPU1には予め見えている。従って、メモリを読み
前に、バス側からそのメモリに対応するマスク用データ
を先取りしてレジスタにセットしておけば、処理速度が
遅くなることはない。
【0039】具体例 図2は、より具体的なマスク処理回路を示す。16ビッ
ト、32ビットが混在するであって、基本的には図1と
同じで、マスク回路S、レジスタRはバスインタフェー
ス4のバス3側に一系統だけ設けられている。
ト、32ビットが混在するであって、基本的には図1と
同じで、マスク回路S、レジスタRはバスインタフェー
ス4のバス3側に一系統だけ設けられている。
【0040】例えば、メモリが複数あると、片やデータ
を16ビットで扱い、片や32ビットで扱う場合が技術
的に発生する。内部的には32ビットであるにもかかわ
らず、扱ったデータが16ビットしかない場合には、上
位16ビットは変なデータが発生しているおそれがある
ので、そのようなデータをマスクする場合に使用する。
を16ビットで扱い、片や32ビットで扱う場合が技術
的に発生する。内部的には32ビットであるにもかかわ
らず、扱ったデータが16ビットしかない場合には、上
位16ビットは変なデータが発生しているおそれがある
ので、そのようなデータをマスクする場合に使用する。
【0041】同図には、データビット数ないしデータラ
イン数を具体的に示してある。CPUは32ビットであ
る。メモリに関しては、メモリM1が16ビット、メモ
リM2が32ビット、メモリMnが16ビットというよ
うに、CPUとメモリ間のデータビット数が異なってい
る。
イン数を具体的に示してある。CPUは32ビットであ
る。メモリに関しては、メモリM1が16ビット、メモ
リM2が32ビット、メモリMnが16ビットというよ
うに、CPUとメモリ間のデータビット数が異なってい
る。
【0042】データの必要ビット数に応じてレジスタR
にマスク用データMD31〜MD0 を入れてCPU1で処
理する。図1と同様に、マスクするのはメモリへデータ
を取り込む時ではなく、CPU1へデータを読み出すと
きなので、メモリMへ取り込んだデータに対するマスク
をデータ収集後自由に変えられる。また、マスク回路S
を1ブロックで済ませることができる。
にマスク用データMD31〜MD0 を入れてCPU1で処
理する。図1と同様に、マスクするのはメモリへデータ
を取り込む時ではなく、CPU1へデータを読み出すと
きなので、メモリMへ取り込んだデータに対するマスク
をデータ収集後自由に変えられる。また、マスク回路S
を1ブロックで済ませることができる。
【0043】そして、マスク回路Sはバス3側に設けら
れているので、CPU1とメモリM1間でデータビット
数が異なるときでも、メモリM1を読み出すときに同一
のマスク回路Sで不必要なビットをマスクすることがで
きるため、回路構成を簡素化でき、柔軟性のあるデータ
加工処理ができる。
れているので、CPU1とメモリM1間でデータビット
数が異なるときでも、メモリM1を読み出すときに同一
のマスク回路Sで不必要なビットをマスクすることがで
きるため、回路構成を簡素化でき、柔軟性のあるデータ
加工処理ができる。
【0044】本発明は、例えば図3に示すように、複数
のメモリブロックMMとCPU1間がバスインタフェー
ス8につながれているような拡大された回路がある場合
に、マスク回路およびレジスタを各ブロックMM内のイ
ンタフェース7に設けることも、あるいはバスインタフ
ェース8のバス3側に設けることもできる。なおメモリ
ブロックMMは、複数のメモリM1〜Mnと、これらを
選択するセレクタ7とから主に構成されている。
のメモリブロックMMとCPU1間がバスインタフェー
ス8につながれているような拡大された回路がある場合
に、マスク回路およびレジスタを各ブロックMM内のイ
ンタフェース7に設けることも、あるいはバスインタフ
ェース8のバス3側に設けることもできる。なおメモリ
ブロックMMは、複数のメモリM1〜Mnと、これらを
選択するセレクタ7とから主に構成されている。
【0045】図4及び図5は本発明の変形例を説明した
マスク処理回路であり、符号拡張を行なうための符号拡
張も、一種のマスクであると考えることができ、符号拡
張回路Fをマスク回路Sに付加したものである。
マスク処理回路であり、符号拡張を行なうための符号拡
張も、一種のマスクであると考えることができ、符号拡
張回路Fをマスク回路Sに付加したものである。
【0046】図4は図1に対応する変形例であり、これ
はメモリM側のビット数よりもバス3側のビット数が多
い場合において、マスク回路Sの出力うち、最上位ビッ
ト(MSB)ラインBD15に位置するAND回路6の
出力に、バス側ビット数と合わせるためにビットライン
BD16〜BD31を並列に増設し、それらのライン中
にOR回路7を介設したものである。なお、このOR回
路7は符号拡張機能を説明するために介設したものであ
り、ここではバッファ回路として機能するが、必須のも
のではない。
はメモリM側のビット数よりもバス3側のビット数が多
い場合において、マスク回路Sの出力うち、最上位ビッ
ト(MSB)ラインBD15に位置するAND回路6の
出力に、バス側ビット数と合わせるためにビットライン
BD16〜BD31を並列に増設し、それらのライン中
にOR回路7を介設したものである。なお、このOR回
路7は符号拡張機能を説明するために介設したものであ
り、ここではバッファ回路として機能するが、必須のも
のではない。
【0047】これにより、例えばメモリMの有効ビット
数が16ビットであり、CPU1のバスが32ビットで
あるときのようにメモリとバス間でビット数が混在して
いるような場合、上記有効ビット中の符号ビットである
MSB(BD15)が例えば“1”のとき、それよりも
上位のビット(BD16〜BD31)を全て強制的に
“1”にしてバス3側に送る信号の符号拡張を行なうこ
とができる。逆に、MSBが“0”のときは上位ビット
はそのまま“0”にしておくことができる。
数が16ビットであり、CPU1のバスが32ビットで
あるときのようにメモリとバス間でビット数が混在して
いるような場合、上記有効ビット中の符号ビットである
MSB(BD15)が例えば“1”のとき、それよりも
上位のビット(BD16〜BD31)を全て強制的に
“1”にしてバス3側に送る信号の符号拡張を行なうこ
とができる。逆に、MSBが“0”のときは上位ビット
はそのまま“0”にしておくことができる。
【0048】図5も、同様に図3に対応する変形例であ
り、これはメモリ間でビット数が混在していて、バス側
が最大ビット数で構成されている場合、マスク回路Sの
出力の上位ビットラインに、各AND回路6の出力と、
MSB出力とを入力とする2入力OR回路7をそれぞれ
介設して符号拡張回路Fとしたものである。符号拡張す
るときは、レジスタRの内容に関わらず、上位ビットは
全て“1”となり、マスク機能は働かない。逆に符号拡
張しないときは、上位ビットはレジスタR内容に応じた
マスクが有効となる。
り、これはメモリ間でビット数が混在していて、バス側
が最大ビット数で構成されている場合、マスク回路Sの
出力の上位ビットラインに、各AND回路6の出力と、
MSB出力とを入力とする2入力OR回路7をそれぞれ
介設して符号拡張回路Fとしたものである。符号拡張す
るときは、レジスタRの内容に関わらず、上位ビットは
全て“1”となり、マスク機能は働かない。逆に符号拡
張しないときは、上位ビットはレジスタR内容に応じた
マスクが有効となる。
【0049】
(1) 請求項1に記載の発明によれば、メモリから読み出
すときにマスクをかけるようにしたので、従来のように
メモリに書き込むときにマスクをかけていたためマスク
回路がメモリの数だけ必要であったのが、マスク回路は
1メモリ分で足り、ハードウェアを単純化できる。レジ
スタのデータ内容はメモリが選択される都度書き換えら
れるが、この点は実質的に従来例と同じであり、CPU
のロード負担及び処理時間を増やすことがない。
すときにマスクをかけるようにしたので、従来のように
メモリに書き込むときにマスクをかけていたためマスク
回路がメモリの数だけ必要であったのが、マスク回路は
1メモリ分で足り、ハードウェアを単純化できる。レジ
スタのデータ内容はメモリが選択される都度書き換えら
れるが、この点は実質的に従来例と同じであり、CPU
のロード負担及び処理時間を増やすことがない。
【0050】また、メモリに取り込まれたデータはマス
クがかけられていないので、従来のようにマスクをかけ
てからメモリに取り込むようにしているためにメモリに
マスク前のデータが残らなかったのが、メモリデータの
全部が残っているので、何回でもマスクがかけられるこ
とになり、マスクデータを変更してマスク処理をやり直
すことが容易である。
クがかけられていないので、従来のようにマスクをかけ
てからメモリに取り込むようにしているためにメモリに
マスク前のデータが残らなかったのが、メモリデータの
全部が残っているので、何回でもマスクがかけられるこ
とになり、マスクデータを変更してマスク処理をやり直
すことが容易である。
【0051】(2) 請求項2に記載の発明によれば、CP
Uとメモリ間でデータビット数が異なる場合にデータビ
ット数の少ないメモリ内容を読み出すときでも、不必要
なビットを同一のマスク回路でマスクすることができ、
回路機能の向上を図ることができる。
Uとメモリ間でデータビット数が異なる場合にデータビ
ット数の少ないメモリ内容を読み出すときでも、不必要
なビットを同一のマスク回路でマスクすることができ、
回路機能の向上を図ることができる。
【0052】(3) 請求項3に記載の発明によれば、マス
ク回路に符号拡張回路を付加するという簡単な構成で、
符号拡張機能をもたせることができる。
ク回路に符号拡張回路を付加するという簡単な構成で、
符号拡張機能をもたせることができる。
【図1】本発明のマスク処理回路の実施例を説明するた
めのブロック図。
めのブロック図。
【図2】本実施例のより具体的なブロック図。
【図3】本発明の適用例を説明するためのブロック図。
【図4】本発明の変形例を説明するためのブロック図。
【図5】本発明の適用例の変形を説明するためのブロッ
ク図。
ク図。
【図6】従来のマスク処理回路例を説明するためのブロ
ック図。
ック図。
【図7】従来例のより具体的なブロック図。
1 CPU 3 バス 4 バスインタフェース 5 セレクタ 6 AND回路 7 OR回路 8 マスク処理回路 M メモリ M1〜Mn メモリ S マスク回路 R レジスタ F 符号拡張回路
Claims (3)
- 【請求項1】複数のメモリとCPU間がバスインタフェ
ースでつながれ、バスインタフェースにより上記複数の
メモリから選択されたメモリのデータをCPUに読み込
むように構成した回路において、 上記選択されたメモリに対応したマスク用データが上記
CPUによってセットされ、そのデータ内容がメモリが
選択される都度書き換えられるレジスタと、 該レジスタにセットされたマスク用データにもとづいて
上記選択メモリのデータから対象外のビットをマスクし
て処理対象としたい特定ビットだけを上記CPUに読み
込ませるマスク回路とを備えたことを特徴とするマスク
処理回路。 - 【請求項2】上記選択メモリのデータビット数と上記C
PUのデータビット数とが異なる場合において、 上記選択メモリからのデータをマスクして上記CPUに
読み込ませるとき、上記CPUのデータビットのうち不
必要なビットを上記マスク回路によりマスクするように
した請求項1に記載のマスク処理回路。 - 【請求項3】上記マスク回路に、選択されたメモリの符
号ビットが有意データをもつとき、それよりも上位ビッ
トのデータを強制的に有意データとする符号拡張回路を
付加した請求項1または2に記載のマスク処理回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32659093A JPH07182231A (ja) | 1993-12-24 | 1993-12-24 | マスク処理回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32659093A JPH07182231A (ja) | 1993-12-24 | 1993-12-24 | マスク処理回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07182231A true JPH07182231A (ja) | 1995-07-21 |
Family
ID=18189523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32659093A Withdrawn JPH07182231A (ja) | 1993-12-24 | 1993-12-24 | マスク処理回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07182231A (ja) |
-
1993
- 1993-12-24 JP JP32659093A patent/JPH07182231A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4325116A (en) | Parallel storage access by multiprocessors | |
| JP2840444B2 (ja) | 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置 | |
| US5187783A (en) | Controller for direct memory access | |
| JP3237858B2 (ja) | 演算装置 | |
| JPH07182231A (ja) | マスク処理回路 | |
| JP2797760B2 (ja) | 並列処理コンピュータシステム | |
| KR960016401B1 (ko) | 레지스터 페이지 포인터를 이용한 레지스터 페이지간의 페이지 선택회로 | |
| US5854919A (en) | Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit | |
| US7133979B2 (en) | Method of transferring data between a first device and a second device while manipulating at least one quantity in dependence on an address | |
| JPH0310129B2 (ja) | ||
| JP3525582B2 (ja) | ビット操作回路 | |
| JPH03164849A (ja) | マイクロプロセッサおよびマイクロプロセッサシステム | |
| JP2553630B2 (ja) | データ処理装置 | |
| JP3058524B2 (ja) | プログラム制御装置 | |
| JPH0236423A (ja) | 退避/復帰レジスタアドレス生成回路 | |
| JPS6129956A (ja) | メモリ制御装置 | |
| JPS61223964A (ja) | デ−タ転送装置 | |
| JP2777133B2 (ja) | 中央演算処理装置 | |
| JPS6329295B2 (ja) | ||
| JPH0895781A (ja) | プロセッサの算術論理装置 | |
| JPH02213937A (ja) | データ処理装置 | |
| JPS6113345A (ja) | タグ付デ−タ処理装置 | |
| JPH10312279A (ja) | ビット検索回路およびこれを有するマイクロプロセッサ | |
| JPS6136256B2 (ja) | ||
| US20040019829A1 (en) | Method and apparatus for implementing multiple remote diagnose register chains |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010306 |