JP3033597B2 - プライオリティーエンコーダ及びこれを用いた半導体集積回路 - Google Patents

プライオリティーエンコーダ及びこれを用いた半導体集積回路

Info

Publication number
JP3033597B2
JP3033597B2 JP2208483A JP20848390A JP3033597B2 JP 3033597 B2 JP3033597 B2 JP 3033597B2 JP 2208483 A JP2208483 A JP 2208483A JP 20848390 A JP20848390 A JP 20848390A JP 3033597 B2 JP3033597 B2 JP 3033597B2
Authority
JP
Japan
Prior art keywords
bit
instruction
logic
bits
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2208483A
Other languages
English (en)
Other versions
JPH0491519A (ja
Inventor
正巳 河本
卓 塚元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP2208483A priority Critical patent/JP3033597B2/ja
Publication of JPH0491519A publication Critical patent/JPH0491519A/ja
Application granted granted Critical
Publication of JP3033597B2 publication Critical patent/JP3033597B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプライオリティーエンコーダ及びこれを用い
た半導体集積回路、さらにはマイクロコンピュータに関
し、例えばマルチレジスタ転送命令やビットサーチ命令
の実行サイクル短縮に適用して有効な技術に関するもの
である。
〔従来の技術〕
複数個のレジスタの保持情報を転送する場合にレジス
タ転送命令毎に1個のジスタを指定して命令を実行して
いたのでは処理効率が悪いため、1命令で複数個のレジ
スタからメモリにデータ転送を行うことができるような
マルチレジスタ転送命令をサポートするマイクロコンピ
ュータが提供されており、例えば日立マイクロコンピュ
ータ・データブック・8ビット/16ビットマルチチップ
(昭和58年9月発行)に記載されているHD68000があ
る。
例えばマルチレジスタ転送命令は、複数個のレジスタ
指定フィールド若しくはレジスタリストを有し、同レジ
スタ指定フィールドのビット列の各ビットにはレジスタ
番号が割り当てられていて、選択されるべきレジスタ番
号は論理1のビットによって指定するようになってい
る。斯るレジスタ指定フィールドから転送対象とされる
レジスタ番号を得るには、そのビット列に含まれる論理
1のビット位置を検出することが必要になる。従来はレ
ジスタ指定フィールドのビット列を1ビットづつ下位側
にシフトしてその最下位ビットの論理値を順番に調べて
いた。
また、メモリのデータの格納領域はデータ処理単位で
あるバイト或いはワードを最小単位とするが、データ処
理内容によってはバイト境界やワード境界をまたいだ領
域(ビットフィールド)のデータを処理しなければなら
ないような場合があり、このときには、メモリアクセス
データなどにおいて所要のビット位置を検出してビット
フィールドのデータを取得しなければならない。このよ
うな場合にもバイト或いはワード単位でアクセスしたデ
ータに対して1ビットシフト処理を繰り返しながら所要
論理値のビット位置を探していた。
〔発明が解決しようとする課題〕
しかしながら、従来のようにビット列の中から所要論
理値のビット位置を探すために1ビットシフト処理を繰
り返する技術では、目的ビットに到達するまでに無駄な
処理ステップを繰り返すことになる。例えばレジスタ指
定フィールドの上位側に論理1のビットが存在している
場合、下位側から1ビットづつシフトしてその論理値を
調べていくと、上位側の目的ビットに到達するまでには
実質的に無駄な処理サイクルを繰り返さなければならな
い。これにより、マルチレジスタ転送命令によって複数
個のレジスタ転送1を命令で実行することができても実
行サイクル数はそれ程少なくならない場合があり、例え
ば汎用レジスタ方式が採用されているようなマイクロコ
ンピュータにおいて、割込み発生によるスタックをマル
チレジスタ転送命令で対処してもスタック処理の高速化
に限界があった。ビットサーチ命令についても同様に命
令実行時間を短縮することができなかった。
本発明の目的は、ビット列に対してこれに含まれる所
要論理値のビット位置を短時間に調べることができるプ
ライオリティーエンコーダを提供することにある。
本発明の別の目的は、マルチレジスタ転送命令の実行
時間を短縮することができる半導体集積回路を提供する
ことにある。
本発明のさらに別の目的は、ビットサーチ命令の実行
時間を短縮することができる半導体集積回路を提供する
ことにある。
本発明の前記並びにその他の目的と新規な特徴は本明
細書の記述並びに添付図面から明らかになるであろう。
〔課題を解決するための手段〕
本願において開示される発明のうち代表的なものの概
要を簡単に説明すれば下記の通りである。
すなわち、外部から供給される複数ビットの情報を並
列的にラッチ回路で保持し、これに保持されている並列
情報をビット位置検出回路で受け、該情報のビット列に
おける所定位置から最も近い位置にある所定論理値のビ
ットと他のビットを区別可能な識別ビット列を生成して
出力すると共に、この識別ビット列をリセット論理回路
に戻して、該識別ビット列において他のビットと区別さ
れる特定ビット位置に応ずるラッチ回路の保持ビットを
反転させるようにして、順次ラッチ回路の保持情報を更
新しながら、ビット列に含まれる所定論理値のビット位
置を1個づつ示す識別ビット列を、初期ラッチ情報に含
まれる所定論理値のビット数に応ずる回数をもって連続
的に出力するように、プライオリティーエンコーダを構
成するものである。
このプライオリティーエンコーダにおいて、ラッチ回
路とリセット論理回路はセット・リセット型のフリップ
フロップ列によって構成することができる。
命令の解読手段と、この解読結果に基づいて制御を行
う制御手段と、制御手段によって制御されて命令を実行
する実行手段とを含む半導体集積回路に上記プライオリ
ティーエンコーダを含める場合、このプライオリティー
エンコーダは、マルチレジスタ転送命令によってデータ
転送を行うレジスタの種類をレジスタ指定フィールドの
ビット列から取得する処理や、ビットサーチ命令を実行
するときのオペランドから所定論理値のビット位置を検
出する処理などに適用することができる。
斯る半導体集積回路はマイクロコンピュータなどとし
て構成することができる。
〔作 用〕
上記した手段よれば、外部から供給される情報をラッ
チ回路が保持した後、ビット位置検出回路はその初期ラ
ッチ情報に含まれるビット列の最上位又は最下位から最
も近い位置にある所定論理値のビットとその他のビット
とを区別する識別ビット列を出力する。この識別ビット
列が供給されるリセット回路は、識別ビット列において
他のビットと区別される所定ビットにより、これに対応
する所定論理値のビットだけを論理反転するようにして
ラッチ回路の保持情報を更新する。この更新されたラッ
チ情報に対しても同様の処理が施されることにより、初
期ラッチ情報において上位側又は下位側から第2番目に
近い位置の所定論理値ビットの位置を示すビット列が出
力される。したがって、例えば論理1のビットを2ビッ
ト含む8ビットのビット列(00100100)から論理1のビ
ット位置を探すとき、2回の出力動作によって夫々のビ
ット位置を示す情報(00100000),(00000100)が連続
的に得られる。これにより、ビット列に対してこれに含
まれる所要論理値のビット位置探索処理時間の短縮を達
成する。
〔実施例1〕 第1図には本発明の一実施例に係るプライオリティー
エンコーダが示される。
このプライオリティーエンコーダ1は、特に制限され
ないが、8ビットのビット列を入力して処理するもので
あり、2ビットの入力を1単位とする論理ブロック2〜
5を含み、それらは相互に同じ回路構成を持ち、外部か
ら8ビットの入力ビット列(入力データとも記す)Ia〜
Ihが与えられ、それに対する処理結果として8ビットの
識別ビット列(以下単に識別データとも記す)Oa〜Ohを
外部に出力する。
第1図において6a〜6hはセット・リセット型のフリッ
プフロップの列、7はビット位置検出回路、9a〜9hは識
別ビット列Oa〜Ohを夫々のフリップフロップ6a〜6hのリ
セット端子に帰還する帰還経路である。
前記フリップフロップ6a〜6hは、例えば3入力型ノア
ゲートNOR1,NOR2によって構成されたスタティック型ラ
ッチ回路を主体に、クロック信号CLK1の立上り変化に同
期して入力ビット列Ia〜Ihをラッチ回路に取り込むため
のアンドゲートAND1,AND2と、クロック信号CLK2の立上
り変化に同期して識別ビット列Oa〜Ohを取り込むための
アンドゲートAND3を含む。このアンドゲートAND3は論理
1入力によってスタティック型ラッチ回路のラッチ情報
を論理0にリセットするための論理として機能する。こ
のフリップフロップ6a〜6hにおいて、ノアゲートNOR1の
出力が正転出力とされ、ノアゲートNOR2の出力が反転出
力とされる。
前記ビット位置検出回路7は、前記フリップフロップ
6a〜6hに保持されている並列情報を受け、該情報のビッ
ト列における最下位ビットから最も近い位置にある論理
1のビットをそのままの論理1に保つと共にそれ以外の
ビットを全て論理0にして当該他のビットと区別可能に
した前記識別ビット列Oa〜Ohを生成して出力するもので
ある。例えば、夫々の論理回路ブロック2〜5毎に検出
論理ユニット12〜15を有し、各ユニットは2入力ナンド
ゲートNAND1と、2個の3入力ナンドゲートNAND2,NAND3
と、夫々のナンドゲートNAND1〜NAND3の出力を受けるイ
ンバータINV1〜INV3を含む。初段検出論理ユニット12に
おいて3個のナンドゲートNAND1〜NAND3には論理1に固
定された信号Maが共通に供給されると共に、ナンドゲー
トNAND1の他の入力にはフリップフロップ6aの正転出力
(ノアゲートNOR1の出力)が供給され、ナンドゲートNA
ND2の残りの入力にはフリップフロップ6a,6bの反転出力
(ノアゲートNOR2の出力)が、そしてナンドゲートNAND
3の残りの入力にはフリップフロップ6bの正転出力(ノ
アゲートNOR1の出力)とナンドゲートNAND1の出力が供
給される。前記インバータINV2の出力は次段検出論理ユ
ニットのための信号Mbとして当該ユニットに含まれる3
個のナンドゲートNAND1〜NAND3に供給され、順次信号Mc
〜Mdが後段の論理ユニットへと伝達されるようになって
いる。
夫々の検出論理ユニット12〜15において、ナンドゲー
トNAND1は2入力共に論理1のとき、対応するフリップ
フロップが保持する論理1をそのままの論理レベルでイ
ンバータINV1から出力させる。ナンドゲートNAND3は、
その直近の上位ビット側のナンドゲートNAND1の出力を
受ける結果、直近上位ビットのフリップフロップが論理
1を保持するときはインバータINV3の出力を論理0に強
制する。ナンドゲートNAND2は、自分自身を含む検出論
理ユニット及びその上位側全ての検出論理ユニットの何
れの出力も論理0である場合にはインバータINV2の出力
を論理1にして次段に伝達するが、自分自身を含む検出
論理ユニット又はその上位側の検出論理ユニットの何れ
かの出力が論理1である場合にはインバータINV2の出力
を論理0にして次段に伝達する。
22〜25は各検出論理ユニット12〜15におけるインバー
タINV1,INV3の出力を外部に与えるための出力回路であ
り、各検出論理ユニットにおけるインバータINV1,INV3
の出力を受けるクロックドインバータCINV1,CINV2と、
それらの出力を反転するインバータINV4,INV5によって
構成される。クロックドインバータCINV1,CINV2はクロ
ック信号CLK3のローレベル期間において出力可能にされ
る。
第2図には上記プライオリティーエンコーダ1の動作
の一例タイミングチャートが示される。
プライオリティーエンコーダ1への入力ビット列Ia〜
Ihが例えば[11000001](左側が最下位ビット)である
とすると、クロック信号CLK1の論理1への変化(時刻t
1)に同期してその入力ビット列Ia〜Ihがフリップフロ
ップ6a〜6hに並列的にラッチされる。ラッチされた情報
は、ビット位置検出回路7に供給される。この例に従え
ば、Ma=論理1、Ia=論理1であるから、フリップフロ
ップ6aはセット状態にされて、その正転出力(ノアゲー
トNOR1の出力)が論理1(ノードNa)になり、初段検出
論理ユニット12のナンドゲートNAND1の出力は論理0に
される。これに応じて当該初段検出論理ユニット12にお
けるナンドゲートNAND3の出力は、フリップフロップ6b
の保持情報が論理1(ノードNb=論理1)であるにも拘
らず論理1にされる。また、初段検出論理ユニット12に
おけるナンドゲートNAND2の出力はフリップフロップ6a
が論理1情報を保持しているため論理1にされ、これに
応じて論理0を採る信号Mbが次段検出論理ユニットに供
給される結果、第2段目から最終段の検出論理ユニット
13〜15に含まれる全てのナンドゲートNAND1及びNAND3の
出力は論理1にされる。したがって、時刻t2にクロック
信号CLK3がハイレベルに反転されるとこれに同期して出
力される識別ビット列Oa〜Ohは[10000000]とされる。
このビット列は前記初期入力ビット列Ia〜Ih即ち[1100
0001]の最下位ビットに論理1のビットを含むことを意
味する。
前記識別ビット列Oa〜Oh即ち[10000000]は帰還経路
9a〜9hを介してフリップフロップ6a〜6hのリセット端子
に供給される。これによりクロック信号CLK2のハイレベ
ルへの変化(時刻t3)に同期して論理1のビットをを取
り込む初段フリップフロップ6aがリセットされ、論理0
のビットを取り込むことになるそれ以外のフリップフロ
ップ6b〜6hはリセットされずに初期入力ビットIb〜Ihを
維持する。これによりフリップフロップ6a〜6hは[0100
0001]なる第1中間値を保持することになる。この第1
中間値は同様にビット位置検出回路7に供給され、前記
同様の論理動作によって初段検出論理ユニット12のナン
ドゲートNAND3の出力が論理0にされ、その他のナンド
ゲートNAND1〜NAND3の出力は論理1にされる。したがっ
て、時刻t4にクロック信号CLK3がハイレベルに反転され
ると、これに同期して出力される識別ビット列Oa〜Ohは
[01000000]とされる。このビット列は前記初期入力ビ
ット列Ia〜Ih即ち[11000001]の最下位ビットから第2
番目のビットに論理1のビットを含むことを意味する。
前記識別ビット列Oa〜Oh即ち[01000000]は帰還経路
9a〜9hを介してフリップフロップ6a〜6hのリセット端子
に供給される。これによりクロック信号CLK2のハイレベ
ルへの変化(時刻t5)に同期して論理1のビットをを取
り込むフリップフロップ6bがリセットされ、論理0のビ
ットを取り込むことになるそれ以外のフリップフロップ
6a,6c〜6hはリセットされず、これにより[01000001]
なる第1中間値は[00000001]なる第2中間値に更新さ
れる。この第2中間値において、第3ビット目から最上
位ビットまでは初期入力ビットIc〜Ihと等しい論理値を
保持している。この第2中間値も同様にビット位置検出
回路7に供給され、前記同様の論理動作によって各検出
論理ユニット12〜15に含まれるのナンドゲートNAND1及
びNAND3のうち最終段検出論理ユニット15のナンドゲー
トNAND3の出力が論理0にされる。したがって、時刻t6
にクロック信号CLK3がハイレベルに反転されると、これ
に同期して出力される識別ビット列Oa〜Ohは[0000000
1]とされる。このビット列は前記初期入力ビット列Ia
〜Ih即ち[11000001]の最上位ビットに論理1のビット
を含むことを意味する。
この識別ビット列Oa〜Oh即ち[00000001]は帰還経路
9a〜9hを介してフリップフロップ6a〜6hのリセット端子
に供給される。これによりクロック信号CLK2のハイレベ
ルへの変化(時刻t7)に同期して論理1のビットをを取
り込むフリップフロップ6hがリセットされ、これにより
[00000001]なる第2中間値は[00000000]なる第3中
間値に更新される。この第3中間値も同様にビット位置
検出回路7に供給されるが、全ビット論理0であるた
め、全てのナンドゲートNAND1及びNAND3の出力が論理1
にされる。したがって、時刻t8にクロック信号CLK3がハ
イレベルに反転されると、これに同期して出力される識
別ビット列Oa〜Ohは[00000000]とされ、前記初期入力
ビット列Ia〜Ihには論理1の別のビットは最早存在しな
いことを意味する。
上記実施例によれば以下の作用効果を得ることができ
る。
(1)初期入力ビット列Ia〜Ihにランダムに含まれる論
理1のビット位置は、クロック信号によって規定される
各動作サイクルCYC毎に出力される識別ビット列Oa〜Oh
の内容(それに含まれる論理1を示す1ビットの位置)
によって知ることができる。
(2)有効な位置情報ビットを含む識別ビット列Oa〜Oh
は、初期入力ビット列Ia〜Ihに含まれる論理1のビット
配置がどのような配置であっても、また何ビットあって
も、クロック信号によって各動作サイクルCYC毎に出力
されてくるから、論理1のビット位置を各動作サイクル
CYC毎に連続的に取得することができる。
(3)識別ビット列Oa〜Ohが全ビット論理0にされた状
態をもって最早有効なビット位置情報が出力されてこな
いことを知ることができる。
(4)上記夫々の作用効果により、ビット列Ia〜Ihに対
してこれに含まれる論理値1のビット位置を順次短時間
に調べることができる。
〔実施例2〕 第3図には第1図に示されるようなプライオリティー
エンコーダ1を利用したマイクロコンピュータの一実施
例が示される。
同図に示されるマイクロコンピュータ30は、特に制限
されないが、インタフェース部31、命令制御部32、命令
実行部33などがシリコンのような1個の半導体基板に形
成されて成る。
命令制御部32は、特に制限されないが、図示しないプ
ログラムカウンタの値に基づいてマクロ命令を命令キュ
ー40にプリフェッチさせ、命令キュー40から出力される
マクロ命令をマイクロアドレスコントローラ41が受け、
これが出力するマイクロアドレスによってマイクロROM4
2から順次マイクロ命令を制御部43に読出しながらイン
タフェース部31や命令実行部33を制御して命令を実行さ
せるようになっている。マイクロROM42は各種マクロ命
令毎に種々のマイクロ命令系列を備えたマイクロプログ
ラムを保有する。前記マイクロアドレスコントローラ41
はマクロ命令をデコードして当該命令に対応するマイク
ロ命令系列の先頭マイクロ命令アドレスを生成して出力
する。マイクロ命令系列におけるそれ以降のマイクロ命
令アドレスは直前に読出されたマイクロ命令のネクスト
アドレス情報を利用してマイクロアドレスコントローラ
41が指定する。このマイクロアドレスコントローラ41は
マイクロプログラムの分岐制御も行ったりする。制御部
43はマイクロ命令をデコードするためのマイクロ命令デ
コーダやその他の制御論理を有し、マイクロ命令デコー
ダの出力制御信号やその他の制御論理などを通した各種
制御信号をインタフェース部31及び命令実行部33などに
出力する。
前記命令実行部33はレジスタアレイ50、算術論理演算
回路51、前記実施例のプライオリティーエンコーダ1、
アドレス演算回路52などを含む。レジスタアレイ50はデ
ータの一時記憶に利用されるような汎用レジスタ群やア
キュムレータなどを含み、リードデータバス53及びライ
トデータバス54に接続される。リードデータバス53はプ
ライオリティーエンコーダ1のデータ入力端子や算術論
理演算回路51のデータ入力端子に結合され、プライオリ
ティーエンコーダ1のデータ出力端子は算術論理演算回
路51のデータ入力端子や制御部43に接続され、また、算
術論理演算回路51のデータ出力端子はライトデータバス
54に結合される。
インタフェース部31は、命令キュー40、リードデータ
バス53、ライトデータバス54、アドレス演算回路52、制
御部43に接続され、外部との間でデータ、アドレス、制
御信号を入出力する。
このマイクロコンピュータ30は、特に制限されない
が、メモリやレジスタに対するデータ転送命令、そして
各種算術演算や論理演算のための演算命令をサポートす
るが、特に、マルチレジスタ転送命令及びビットフィー
ルドに対するビットサーチ命令の双方もサポートする。
マルチレジスタ転送命令は、例えば第4図のようにオ
ペレーションコード指定フィールド60と、複数個の転送
元レジスタを指定するためのレジスタ指定フィールド61
と、転送先メモリアドレスの指定フィールド62を含むフ
ォーマットを有し、そのレジスタ指定フィールド61のビ
ット列B1〜B8の各ビットにはレジスタ番号が割り当てら
れていて、選択されるべきレジスタ番号は論理1のビッ
トによって指定されるようになっている。斯るレジスタ
指定フィールド61から転送対象とされるレジスタ番号を
得るには、そのビット列B1〜B8に含まれる論理1のビッ
ト位置をプライオリティーエンコーダ1で検出し、その
結果を制御部43に与えてレジスタ選択信号63を生成する
ようになっている。例えば、命令キュー40にプリフェッ
チされているマルチレジスタ転送命令を実行するとき、
そのオペレーションコードはマイクロアドレスコントロ
ーラ41に供給されてデコードされ、そのデコード結果に
基づいて当該命令を実行するためのマイクロ命令が順次
マイクロROM42から読出されて制御部43に供給される。
レジスタ指定フィールド61に含まれるビット列B1〜B8は
リードバス53を経由してプライオリティーエンコーダ1
に供給される。そのビット列B1〜B8は第1図で説明した
初期入力ビットIa〜Ihに相当し、プライオリティーエン
コーダ1は、当該ビット列B1〜B8において最下位ビット
から最も近い位置の論理1のビットを検出して順次識別
ビット列を制御部43に与える。前記実施例で説明した動
作サイクルCYCは本実施例に従えばマイクロ命令の1命
令処理ステップに呼応され、動作サイクルCYC毎に、プ
ライオリティーエンコーダ1から出力される識別ビット
列とマイクロ命令のデコード結果とが所定の制御論理43
Lに与えられ、これによって形成されるレジスタ選択信
号63によりレジスタアレイ50に含まれる所定のレジスタ
が選択される。例えばビット列B1〜B8が[11000001]で
あるとすると、最初の動作サイクルCYCではビットB1に
割り当てられているレジスタが選択され、次のサイクル
ではビットB2に割り当てられているレジスタが選択さ
れ、さらに次のサイクルではビットB8に割り当てられて
いるレジスタが選択される。このようにしてマイクロ命
令の処理ステップ毎に指定されるレジスタに対しては、
その保持情報が図示しないメモリに転送される。
次にビットサーチ命令について説明する。
メモリのデータの格納領域は例えばマイクロコンピュ
ータ30によるデータ処理単位であるバイト(8ビット)
を最小単位とするが、データ処理内容によっては第5図
に示されるようにバイト境界をまたいだ領域(ビットフ
ィールド)のデータ例えばアドレスAiのビットD3からア
ドレスAjのビットD2までの8ビットを一単位として処理
しなければならないような場合があり、このときはバイ
ト境界毎にアクセスされるメモリデータに対して所要の
ビット位置を検出して所要のビットフィールドを取得し
なければならない。このようなメモリアクセスデータに
対して所要のビット位置を検出する処理をビットサーチ
命令によって行う。例えばアドレスAiのバイトデータD1
〜D8において、最下位ビットD1から最も近い位置にある
論理1のビットを起点にバイト境界を超えて8ビットの
データを取得するためのビットサーチ命令がデコードさ
れると、アドレス演算回路33がアドレスAiを出力して図
示しない外部メモリから当該アドレスAiに対応するバイ
トデータD1〜D8が読み込まれる。このメモリアクセスデ
ータD1〜D8はリードバス53を介してプライオリティーエ
ンコーダ1に供給され、これにより、データD1〜D8の中
で最下位ビットD1に最も近い位置の論理1のビット位置
を示す情報が出力される。例えばビットD3が最下位ビッ
トに最も近い論理1のビットである場合、プライオリテ
ィーエンコーダ1は[0010000]のビット列を持つ識別
ビット列を出力する。この識別ビット列は算術論理演算
回路51をそのまま通ってレジスタアレイ50内部の所定レ
ジスタに格納される。このようにして格納された識別ビ
ット列に基づいてバイト境界を超えた8ビットのデータ
に対して所要のビット位置の検出が行われる。
上記実施例によれば以下の作用効果がある。
(1)プライオリティーエンコーダはレジスタ指定フィ
ールドに含まれる論理1のビットを示す識別ビット列を
動作サイクルCYC毎に順次連続的に出力するから、従来
のようにビット列の中から所要論理値のビット位置を探
すために1ビットシフト処理を行う必要はなく、目的ビ
ットに到達するまでに無駄な処理ステップを繰り返さな
くてもよい。
(2)上記作用効果により、マルチレジスタ転送命令に
よって複数個のレジスタ転送を1命令で実行するときの
命令実行サイクル数を減らすことができる。
(3)上記作用効果により、汎用レジスタ方式が採用さ
れているようなマイクロコンピュータにおいて、割込み
発生によるスタックをマルチレジスタ転送命令で対処す
るとき、スタック処理の高速化を図ることができる。
(4)ビットサーチ命令のオペランド即ちメモリアクセ
スデータを受けるプライオリティーエンコーダ1は、そ
のメモリアクセスデータに含まれる論理1のビット位置
を示す情報をマイクロ命令の処理サイクル毎に得ること
ができる。
(5)上記作用効果(4)により、従来のようにビット
列の中から所要論理値のビット位置を探すために1ビッ
トシフト処理を繰り返す必要がないので、実質的に無駄
な処理ステップを繰り返す必要はなく、ビットサーチ命
令の実行サイクル数を最小限に減らすことができ、ビッ
トサーチ命令の実行時間を短縮することができる。
以上本発明者によってなされた発明を実施例に基づい
て具体的に説明したが、本発明はそれに限定されるもの
ではなく、その要旨を逸脱しない範囲において種々変更
することができる。
例えばプライオリティーエンコーダの処理するビット
列は8ビットに限定されず16ビットや32ビットなどデー
タ処理単位などに基づいて適宜変更可能である。また、
上記実施例では論理1のビット位置を最下位ビットに近
い方から検出していく論理について説明したが、最上位
ビットから近い順に探したり、或いは任意のビット位置
を基準にしてもよく、また、検出すべき論理は論理0で
あってもよい。また、フリップフロップに含まれるスタ
ティックラッチ回路の論理やリセットの論理、さらには
ビット位置検出論理などは適宜変更可能である。
以上の説明では主として本発明者によってなされた発
明をその背景となったマイクロコンピュータに適用した
場合について説明したが、本発明はそれに限定されるも
のではなく、画像処理用のコントローラやその他の論理
LSIなど各種の半導体集積回路に広く適用することがで
きる。本発明は、少なくともビット列から所定論理のビ
ット位置を得ることが必要な条件のものに適用すること
ができる。
〔発明の効果〕
本願において開示される発明のうち代表的なものによ
って得られる効果を簡単に説明すれば下記の通りであ
る。
すなわち、プライオリティーエンコーダは、ラッチ回
路に保持されている並列ビット列に対して基準位置から
最も近い所定論理値のビット位置を探して出力し、その
出力により探し出された位置のビットにより直前のラッ
チビットをリセットもしくは反転する動作を繰り返して
行くから、ビット列にランダムに含まれる所定論理値の
ビット位置を動作サイクルに従って連続的に取得するこ
とができ、これにより、ビット列に対してこれに含まれ
る所要論理値のビット位置探索処理時間を短縮すること
ができるという効果がある。
データ処理を行うマイクロコンピュータなどの半導体
集積回路に前記プライオリティーエンコーダを含めるこ
とにより、マルチレジスタ転送命令によってデータ転送
を行うレジスタの種類をレジスタ指定フィールドのビッ
ト列から取得する処理や、ビットサーチ命令を実行する
ときのときのオペランドから所定論理値のビット位置を
検出する処理などに対する命令実行サイクル数を減らす
ことができるという効果がある。
このようなプライオリティーエンコーダをマイクロコ
ンピュータに適用することにより、マイクロコンピュー
タの機能向上に寄与することができる。
【図面の簡単な説明】
第1図は本発明に係るプライオリティーエンコーダの一
実施例論理回路図、 第2図は第1図に示されるプライオリティーエンコーダ
の一例動作を説明するためのタイミングチャート、 第3図は第1図のプライオリティーエンコーダを含むマ
イクロコンピュータの一実施例のブロック図、 第4図はマルチレジスタ転送命令の一例命令フォーマッ
ト図、 第5図はビットフィールドの一例を示す説明図である。 1……プライオリティーエンコーダ、2〜5……論理ブ
ロック、Ia〜Ih……入力ビット列、Oa〜Oh……出力ビッ
ト列、6a〜6h……フリップフロップ、7……ビット位置
検出回路、9a〜9h……帰還経路、NOR1,NOR2……スタテ
ィックラッチ構成用ノアゲート、AND3……リセット論理
構成用アンドゲート、12〜15……検出論理ユニット、30
……マイクロコンピュータ、32……命令制御部、33……
命令実行部、41……マイクロアドレスコントローラ、42
……マイクロROM、43……制御部、50……レジスタアレ
イ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 塚元 卓 東京都小平市上水本町5丁目22番1号 日立マイクロコンピュータエンジニアリ ング株式会社内 (56)参考文献 特開 昭62−100030(JP,A) 特開 平1−280928(JP,A) 特開 昭63−26121(JP,A) 特開 昭64−821(JP,A) 特開 昭62−43220(JP,A) 特開 昭57−161917(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/00

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】外部から供給される複数ビットの情報を並
    列的に入力してラッチ可能なラッチ回路と、 前記複数個のラッチ回路に保持されている並列情報を受
    け、該情報のビット列における所定位置から最も近い位
    置にある所定論理値のビットと他のビットを区別可能な
    識別ビット列を生成して外部に出力するビット位置検出
    回路と、 前記ビット位置検出回路から外部に出力すべき識別ビッ
    ト列を受け、該識別ビット列において他のビットと区別
    される特定ビット位置に応ずるラッチ回路の保持ビット
    を反転させるリセット論理回路と、 を含んで成るものであることを特徴とするプライオリテ
    ィーエンコーダ。
  2. 【請求項2】外部から供給される複数ビットの情報を並
    列的に入力して保持可能なセット・リセット型の複数個
    のフリップフロップの列と、 前記フリップフロップ列に保持されている並列情報を受
    け、該情報のビット列における所定位置から最も近い位
    置にある所定論理値のビットと他のビットを区別可能な
    識別ビット列を生成して外部に出力するビット位置検出
    回路と、 前記ビット位置検出回路から外部に出力すべき識別ビッ
    ト列を前記フリップフロップ列のリセット端子に帰還さ
    せて、該識別ビット列において他のビットと区別される
    特定ビット位置に応ずるフリップフロップの保持ビット
    を反転させる帰還経路と、 を含んで成るものであることを特徴とするプライオリテ
    ィーエンコーダ。
  3. 【請求項3】請求項1又は2記載のプライオリティーエ
    ンコーダを含んで成るものであることを特徴とする半導
    体集積回路。
  4. 【請求項4】命令の解読手段と、この解読結果に基づい
    て制御を行う制御手段と、制御手段によって制御されて
    命令を実行する実行手段とを含む半導体集積回路であっ
    て、 前記実行手段は請求項1又は2記載のプライオリティー
    エンコーダを含み、 前記命令解読手段はマルチレジスタ転送命令を解読する
    論理を含み、 前記制御手段は、マルチレジスタ転送命令の解読結果に
    基づいて、マルチレジスタ転送命令に含まれるレジスタ
    リスト情報をプライオリティーエンコーダに供給して出
    力される転送先レジスタ指定情報を受け、これによって
    指定されるレジスタとの間でデータ転送を行う論理を含
    んで、 成るものであることを特徴とする半導体集積回路。
  5. 【請求項5】命令の解読手段と、この解読結果に基づい
    て制御を行う制御手段と、制御手段によって制御されて
    命令を実行する実行手段とを含む半導体集積回路であっ
    て、 前記実行手段は請求項1又は2記載のプライオリティー
    エンコーダを含み、 前記命令解読手段はビットフィールドに対するビットサ
    ーチ命令を解読する論理を含み、 前記制御手段は、ビットサーチ命令の解読結果に基づい
    て、該命令のオペランドをプライオリティーエンコーダ
    に供給してそこから出力される情報を一時記憶させる論
    理を含んで、 成るものであることを特徴とする半導体集積回路。
  6. 【請求項6】前記解読手段、制御手段、及び実行手段を
    含む中央処理装置を備えてマイクロコンピュータ化され
    て成るものであることを特徴とする請求項4又は5記載
    の半導体集積回路。
JP2208483A 1990-08-06 1990-08-06 プライオリティーエンコーダ及びこれを用いた半導体集積回路 Expired - Lifetime JP3033597B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2208483A JP3033597B2 (ja) 1990-08-06 1990-08-06 プライオリティーエンコーダ及びこれを用いた半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2208483A JP3033597B2 (ja) 1990-08-06 1990-08-06 プライオリティーエンコーダ及びこれを用いた半導体集積回路

Publications (2)

Publication Number Publication Date
JPH0491519A JPH0491519A (ja) 1992-03-25
JP3033597B2 true JP3033597B2 (ja) 2000-04-17

Family

ID=16556915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2208483A Expired - Lifetime JP3033597B2 (ja) 1990-08-06 1990-08-06 プライオリティーエンコーダ及びこれを用いた半導体集積回路

Country Status (1)

Country Link
JP (1) JP3033597B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040097212A (ko) 2002-03-27 2004-11-17 소니 가부시끼 가이샤 연산 처리 장치, 그 구축 방법, 연산 처리 시스템 및 연산처리 방법

Also Published As

Publication number Publication date
JPH0491519A (ja) 1992-03-25

Similar Documents

Publication Publication Date Title
US5511207A (en) Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction
US4438492A (en) Interruptable microprogram controller for microcomputer systems
US4574349A (en) Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction
EP0238090B1 (en) Microcomputer capable of accessing internal memory at a desired variable access time
US3943494A (en) Distributed execution processor
US3990052A (en) Central processing unit employing microprogrammable control for use in a data processing system
US5455955A (en) Data processing system with device for arranging instructions
US4037094A (en) Multi-functional arithmetic and logical unit
JPS6114535B2 (ja)
US5097407A (en) Artificial intelligence processor
GB1318231A (en) Data-processing systems
US4323964A (en) CPU Employing micro programmable control for use in a data processing system
US4403287A (en) Microprocessor architecture having internal access means
US4348724A (en) Address pairing apparatus for a control store of a data processing system
US4388682A (en) Microprogrammable instruction translator
US5497459A (en) System for testing instruction queue circuit and central processing unit having the system
US5761467A (en) System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field
JPH0124655Y2 (ja)
US3962683A (en) CPU programmable control system
EP0223150B1 (en) Information processing apparatus
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
JPS6112288B2 (ja)
US5034879A (en) Programmable data path width in a programmable unit having plural levels of subinstruction sets
KR100374401B1 (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치
US3962684A (en) Computing system interface using common parallel bus and segmented addressing

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080218

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 11