JPH05100821A - プライオリテイエンコーダ装置 - Google Patents

プライオリテイエンコーダ装置

Info

Publication number
JPH05100821A
JPH05100821A JP25764991A JP25764991A JPH05100821A JP H05100821 A JPH05100821 A JP H05100821A JP 25764991 A JP25764991 A JP 25764991A JP 25764991 A JP25764991 A JP 25764991A JP H05100821 A JPH05100821 A JP H05100821A
Authority
JP
Japan
Prior art keywords
priority encoder
bit
priority
processing
instruction
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
Application number
JP25764991A
Other languages
English (en)
Inventor
Naoto Okumura
直人 奥村
Masahito Matsuo
雅仁 松尾
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP25764991A priority Critical patent/JPH05100821A/ja
Publication of JPH05100821A publication Critical patent/JPH05100821A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 この発明の目的は、nビット幅の入力データ
に対し、たとえば“1”の立っているビット位置を順次
検索しエンコードするような処理において、検索処理を
早く終了でき、それによって命令の高速処理が可能なプ
ライオリティエンコーダ装置を提供することである。 【構成】 第1のプライオリティエンコーダ1aは、入
力データの上位側から“1”または“0”のビット位置
を順次検索してエンコードし出力する。一方、第2のプ
ライオリティエンコーダ1bは、入力データの下位側か
ら最初の“1”または“0”のビット位置を検索してエ
ンコードし出力する。比較回路3は、第1および第2の
プライオリティエンコーダ1aおよび1bの各エンコー
ド出力が一致した時点で外部回路に検索処理終了信号を
通知する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、プライオリティエン
コーダ装置に関し、より特定的には検索データの端部か
ら特定論理値のビット位置を順次検索してエンコードを
行なう機能を有したプライオリティエンコーダ装置に関
する。
【0002】
【従来の技術】図8は、たとえばマイクロプロセッサシ
ステム等のデータ処理装置において、1つの命令で複数
のレジスタにロードあるいはストアを行なう命令コード
の一例を示している。このような命令コードについての
詳細は、TRONWARE Vol.2(パーソナルメ
ディア,1990)P.14〜79「TRON仕様チッ
プの命令セット」に掲載されている。
【0003】図8(a)に示すLDM命令は、連続した
メモリアドレスに格納されたデータを、複数のレジスタ
にロードする命令である。ソースオペランドは、src
s31で指定されるアドレッシングモードに基づいて決
定され、デスティネーションオペランドは16ビットの
レジスタリスト33で指定される。srcs31とレジ
スタリスト33との間には、必要に応じsrcs31の
拡張部32が挿入される。
【0004】図8(b)に示すSTM命令は、複数のレ
ジスタに格納されたデータを、連続したメモリアドレス
へストアする命令である。ソースオペランドは、16ビ
ットのレジスタリスト36で指定され、デスティネーシ
ョンオペランドは、8ビットのdests34で指定さ
れるアドレッシングモードに基づいて決定される。de
sts34とレジスタリスト36との間には、必要に応
じdests34の拡張部35が挿入される。
【0005】ここで、レジスタリスト33および36の
各ビット位置は、図9(a)に示すように各レジスタ番
号に対応している。図9(a)において、Rnはレジス
タ番号nのレジスタを表わしている。レジスタリスト3
3および36の各ビットに“1”が立っているときには
そのビット位置に対応したレジスタをロード、またはス
トアすることを示し、“0”が立っているときにはその
ビット位置に対応したレジスタのロード,ストアを行な
わないことを示している。ただし、STM命令でアドレ
ッシングモードがスタックプッシュのときは、図9
(b)に示すように、R0〜R15のビット割付は図9
(a)の場合と逆になっている。
【0006】図4は、図8に示すような命令コードを処
理するために用いられている従来のプライオリティエン
コーダ装置の一例を示すブロック図である。このような
プライオリティエンコーダ装置は、たとえばマイクロプ
ロセッサシステムにおけるCPU(中央処理装置)の内
部に設けられている。図4に示すプライオリティエンコ
ーダ装置は、プライオリティエンコーダ1とマスク生成
回路2とを含む。プライオリティエンコーダ1には、た
とえば特開昭64−8437号公報に記載されているよ
うな回路が用いられる。
【0007】図5は、図4に示すプライオリティエンコ
ーダ1のより詳細な構成を示すブロック図であり、たと
えば特開昭64−8437号公報に記載されている。図
5に示すプライオリティエンコーダは、0検出回路11
と、下位2ビットエンコード回路13と、上位2ビット
エンコード回路12とを含む。0検出回路11および上
位2ビットエンコード回路12は、16ビットの入力デ
ータをエンコードして、上位2ビットの出力オフセット
Oofs3,Oofs2を出力する。一方、下位2ビッ
トエンコード回路13は、16ビットの入力データをエ
ンコードして、下位2ビットの出力オフセットOofs
1,Oofs0を出力する。図4に示すマスク生成回路
2は、出力オフセットOofs3〜Oofs0に基づい
てマスク信号を生成する。このマスク信号は、0検出回
路11および下位2ビットエンコード回路13に入力オ
フセットIofs0〜Iofs3としてフィードバック
される。図5に示す各回路の機能および動作は、特開昭
64−8437号公報に詳細に記載されているので、こ
こではその説明を省略する。
【0008】図6は、図4に示すプライオリティエンコ
ーダ装置を用いて、図8(b)に示したSTM命令を、
データ処理装置内でパイプライン処理を実行するとき
の、各ステージで行なう処理を示した図である。レジス
タリスト36として図10に示すレジスタリスト41が
与えられ、アドレッシングモードはスタックプッシュで
はなく、ビット位置とレジスタ番号は図9(a)に示す
ように相互に対応しているものとする。レジスタリスト
41内では、R5(番号5のレジスタ)とR10とに対
応するビットのみが“1”であるので、図6はR5とR
10のストアを連続して行なう処理を示している。な
お、図6において横軸は時間を表わしている。また、マ
イクロ命令の読出、演算実行、演算結果のメモリへのス
トアはパイプライン処理を用いて別ステージで行なわれ
る場合を考える。
【0009】演算実行ステージ26では、プライオリテ
ィエンコーダ装置による“1”の検索、およびその結果
に基づくレジスタからメモリデータレジスタへのデータ
の転送が行なわれる。ここで、メモリデータレジスタ
は、メモリへ転送するデータを格納しておくレジスタで
あり、メモリデータレジスタの内容はストアステージ2
7においてメモリへ格納される。
【0010】図7は、データ処理装置が図6に示す動作
をするときの、図4に示すプライオリティエンコーダ装
置の動作だけを抜き出して示した図である。
【0011】以下、図4,図6および図7を参照して、
従来のプライオリティエンコーダ装置を用いた場合の演
算実行ステージ26の処理について説明する。
【0012】まず、ステップ1では、プライオリティエ
ンコーダ装置はレジスタリストの上位側から“1”を検
索し、オフセット値“5”をエンコードし出力する。
“1”の検索に成功したので、マイクロ命令読出ステー
ジ25に処理の継続を通知する。
【0013】次に、ステップ2では、ステップ1でエン
コードされたオフセット値“5”に対応するR5をメモ
リデータレジスタに転送する。同時にプライオリティエ
ンコーダ装置は、マスク生成回路によりビット位置5ま
でが0マスクされたレジスタリストの上位側から“1”
を検索し、オフセット値“10”をエンコードし出力す
る。このとき、“1”の検索に成功したので、マイクロ
命令読出ステージ25に処理の継続を通知する。
【0014】次に、ステップ3では、ステップ2でエン
コードされたオフセット値“10”に対応するR10を
メモリデータレジスタに転送するとともに、プライオリ
ティエンコーダ装置はビット位置11から“1”を検索
するが、“1”が存在しないので検索に失敗する。その
結果、演算実行ステージ26はマイクロ命令読出ステー
ジ25へ、タイミング28で処理終了信号を出力する。
その処理終了信号を受けて、マイクロ命令読出ステージ
25は、STM命令の次の命令を処理するためのマイク
ロ命令の読出を開始する。
【0015】次のステップ4では、読出されたマイクロ
命令は意味がないので、有効な演算処理は行なわれな
い。
【0016】そして、ステップ5で、STM命令の次の
命令の処理を開始する。
【0017】
【発明が解決しようとする課題】上述のような命令を処
理するために、従来のプライオリティエンコーダ装置を
用いた場合、プライオリティエンコーダ装置は、“1”
の立っているビット位置のすべてを検索してエンコード
し出力し終えた後も、再び“1”を検索する試行を行な
い、その結果“1”が見つからず検索に失敗することで
検索処理の終了を判断していた。このため、終了判断が
遅れ、検索処理の終了を外部回路に知らせるタイミング
が遅れていた。
【0018】それゆえに、この発明の目的は、上記のよ
うな検索処理の終了を外部回路に知らせるタイミングを
早めることによって、上述のような命令を高速に処理し
得るプライオリティエンコーダ装置を提供することであ
る。
【0019】
【課題を解決するための手段】この発明にかかるプライ
オリティエンコーダ装置は、第1および第2のプライオ
リティエンコーダと、比較回路とを備えている。第1の
プライオリティエンコーダは、n(nは2以上の整数)
ビット幅の入力データに対し、その一方端から第1の論
理値である最初のビット位置を検索し、その検索結果を
所定ビット数のオフセット値にエンコードして出力す
る。第2のプライオリティエンコーダは、入力データの
他方端から、第1のプライオリティエンコーダの検索方
向とは逆方向に入力データの第1の論理値である最初の
ビット位置を検索し、その検索結果を所定ビット数のオ
フセット値にエンコードして出力する。比較回路は、第
1のプライオリティエンコーダにより出力されたオフセ
ット値と、第2のプライオリティエンコーダにより出力
されたオフセット値とを比較し、その比較結果を出力す
る。
【0020】
【作用】この発明においてては、第1および第2のプラ
イオリティエンコーダが入力データの両端から“1”ま
たは“0”を検索し、両方の検索結果が一致したときに
比較回路から外部回路に検索処理の終了が通知される。
そのため、従来のプライオリティエンコーダ装置のよう
に、検索処理の終了時において無駄な検索動作を行なう
必要がなくなり、検索処理の終了タイミングが早くな
り、命令を高速に処理できる。
【0021】
【実施例】図1は、この発明の一実施例のプライオリテ
ィエンコーダ装置の構成を示すブロック図である。図1
に示すプライオリティエンコーダ装置は、第1のプライ
オリティエンコーダ1aと、第2のプライオリティエン
コーダ1bと、マスク生成回路2と、比較回路3とを含
む。第1および第2のプライオリティエンコーダ1aお
よび1bは、並列に設けられ、それぞれに入力データが
与えられる。マスク生成回路2は、第1のプライオリテ
ィエンコーダ1aに関連して設けられる。したがって、
第1のプライオリティエンコーダ1aは、すでに検索の
終了したビットをマスクする機能を備えている。一方、
第2のプライオリティエンコーダ1bは、マスク機能を
備えていない。その他の点において、第1および第2の
プライオリティエンコーダ1a,1bは同様の機能を有
しており、それぞれの構成としてはたとえば図5に示す
ような構成を用いることができる。
【0022】第1のプライオリティエンコーダ1aは入
力データの一端から“1”のビットを検索するのに対
し、第2のプライオリティエンコーダ1bは入力データ
の他端から第1のプライオリティエンコーダ1aとは逆
方向に最初の“1”のビットを検索する。
【0023】比較回路3は、第1のプライオリティエン
コーダ1aによりエンコードされた出力と第2のプライ
オリティエンコーダ1bによりエンコードされた出力と
の比較を行なう回路である。マスク生成回路2は、一度
エンコードされ出力されたビット位置が再び出力されな
いために、前回検索されたオフセット値までをゼロにマ
スクするための信号を発生する。一部がマスクされたデ
ータに対し第1のプライオリティエンコーダ1aは次の
“1”のビット位置を検索する。
【0024】図2は、従来例の図6に対応するもので、
図1に示す本実施例のプライオリティエンコーダ装置を
用いて、図8(b)に示したSTM命令のレジスタリス
ト36として図10に示したレジスタリスト41が与え
られパイプライン処理を実行するときの、各ステージで
行なう処理を示した図である。レジスタリスト36のす
べてのビットが“0”でないことは、予めチェックして
あり、“1”であるビットが1つ以上あるものとする。
また、アドレッシングモードはスタックプッシュではな
く、ビット位置とレジスタ番号は図9(a)のように対
応しているものとする。図10のレジスタリスト41で
はR5とR10とに対応するビットのみが“1”である
ので、図2はR5とR10とのストアを連続して行なう
処理について示していることになる。なお、図2におい
て横軸は時間を表わしている。マイクロ命令の読出、演
算実行、演算結果のメモリへのストアはパイプライン処
理を用いて別ステージで行なれる場合を考える。マイク
ロ命令の読出ステージ60,演算実行ステージ61,ス
トアステージ62は、図6の各ステージに対応してい
る。
【0025】図3は、図1のプライオリティエンコーダ
装置を備えたデータ処理装置が図2の動作をするとき
の、図1のプライオリティエンコーダ装置の動作だけを
抜き出して示した図である。
【0026】以下には、図1,図2および図3を参照し
て、図1に示す本実施例のプライオリティエンコーダ装
置を用いた場合の演算実行ステージ61の処理について
説明する。
【0027】まず、ステップ1では、第1のプライオリ
ティエンコーダ1aはレジスタリスト(図3参照)の上
位側から“1”を検索し、オフセット値“5”をエンコ
ードし出力する。このとき、第2のプライオリティエン
コーダ1bはレジスタリストの下位側から“1”を検索
し、オフセット値“10”をエンコードし出力する。比
較回路3は、第1のプライオリティエンコーダ1aのエ
ンコード出力と第2のプライオリティエンコーダ1bの
エンコード出力とを比較し、一致しているか否かを検出
する。このとき、第1および第2のプライオリティエン
コーダ1aおよび1bのエンコード出力は一致していな
いので、比較回路3はマイクロ命令読出ステージ60に
処理継続を通知する。
【0028】次に、ステップ2では、ステップ1でエン
コードされたオフセット値“5”に対応するR5をメモ
リデータレジスタに転送するとともに、第1のプライオ
リティエンコーダ1aはマスク生成回路2により生成さ
れたマスク信号によってビット位置5までが0マスクさ
れたレジスタリストの上位側から“1”を検索し、オフ
セット値“10”をエンコードし出力する。このとき、
第2のプライオリティエンコーダ1bは、オフセット値
“10”をエンコードし出力している。比較回路3は、
第1のプライオリティエンコーダ1aのエンコード出力
と第2のプライオリティエンコーダ1bのエンコード出
力とを比較し、一致しているか否かを検出する。このと
き、両エンコード出力は一致しているので、比較回路3
はマイクロ命令読出ステージ60へタイミング63で処
理終了信号を出力する。この処理終了信号を受けて、マ
イクロ命令読出ステージ60ではSTM命令に対する処
理を終了し、STM命令の次の命令を処理するためのマ
イクロ命令の読出を開始する。
【0029】次に、ステップ3では、ステップ2でエン
コードされたオフセット値“10”に対応するR10を
メモリデータレジスタに転送する。
【0030】そして、ステップ4では、STM命令の次
の命令の処理を開始する。上記のように、図1に示す実
施例のプライオリティエンコーダ装置では、図4に示す
従来のプライオリティエンコーダ装置に比べ、STM命
令の処理に要するステップ数が4ステップ(4クロック
サイクル)から3ステップ(3クロックサイクル)へと
減少し、データ処理が高速化されている。
【0031】なお、上記実施例でおいては、一度出力さ
れたビット位置が再び出力されないようにする方法とし
て、入力データをマスク生成回路を用いてゼロマスクす
る方法を用いたが、入力データの所定位置までをゼロク
リアする方法を用いてもよいし、その他の方法を用いて
もよい。
【0032】また、上記実施例では、第2のプライオリ
ティエンコーダ1bは、レジスタリストの下位側から最
初の“1”を検索したところでその動作を停止するもの
として示されている。しかしながら、レジスタリストの
ビット幅が長い場合、第2のプライオリティエンコーダ
1bにもマスク生成回路を設け、第1および第2のプラ
イオリティエンコーダ1aおよび1bがレジスタリスト
の両端側から順次“1”のビット位置を検索する構成と
してもよい。この場合、第1のプライオリティエンコー
ダ1aのエンコード出力と第2のプライオリティエンコ
ーダ1bのエンコード出力とが行き違う場合があるの
で、両者のエンコード出力の差が所定値以下になったと
きは第1および第2のプライオリティエンコーダ1aお
よび1bのいずれかの検索動作を停止させるような構成
とすればよい。このように、第1および第2のプライオ
リティエンコーダ1aおよび1bがレジスタリストの両
端側から順次検索動作を行なうような実施例では、図1
に示す実施例に比べてさらにデータ処理の高速化が図れ
る。
【0033】
【発明の効果】以上のように、この発明によれば、nビ
ット幅のデータに対し、たとえば“1”の立っているビ
ット位置を順次検索しエンコードするような処理におい
て、互いに入力データの逆方向から検索を行なう2つの
プライオリティエンコーダを設け、2つのプライオリテ
ィエンコーダの出力を比較することにより検索の終了を
判定するように構成されているため、処理の終了を速い
タイミングで外部回路に通知できる。その結果、連続す
るビット検索を伴うデータ処理において、処理時間を大
幅に短縮化できるという効果を奏する。
【図面の簡単な説明】
【図1】この発明の一実施例のプライオリティエンコー
ダ装置の構成を示すブロック図である。
【図2】図1に示すプライオリティエンコーダ装置を用
いたSTM命令のパイプライン処理を示した図である。
【図3】図1に示すプライオリティエンコーダ装置の動
作を示した図である。
【図4】従来のプライオリティエンコーダ装置の構成の
一例を示すブロック図である。
【図5】プライオリティエンコーダの構成の一例を示す
ブロック図である。
【図6】図4に示す従来のプライオリティエンコーダ装
置を用いたSTM命令のパイプライン処理を示した図で
ある。
【図7】図4に示す従来のプライオリティエンコーダ装
置の動作を示した図である。
【図8】LDM命令とSTM命令との命令フォーマット
を示した図である。
【図9】レジスタリストの各ビット位置と各レジスタと
の対応関係を示した図である。
【図10】LDM命令,STM命令におけるレジスタリ
ストの一例を示す図である。
【符号の説明】
1a 第1のプライオリティエンコーダ 1b 第2のプライオリティエンコーダ 2 マスク生成回路 3 比較回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 n(nは2以上の整数)ビット幅の入力
    データに対し、その一方端から第1の論理値である最初
    のビット位置を検索し、その検索結果を所定ビット数の
    オフセット値にエンコードして出力する第1のプライオ
    リティエンコーダ、 前記入力データの他方端から、前記第1のプライオリテ
    ィエンコーダの検索方向とは逆方向に前記入力データの
    第1の論理値である最初のビット位置を検索し、その検
    索結果を所定ビット数のオフセット値にエンコードして
    出力する第2のプライオリティエンコーダ、および前記
    第1のプライオリティエンコーダにより出力されたオフ
    セット値と、前記第2のプライオリティエンコーダによ
    り出力されたオフセット値とを比較し、その比較結果を
    出力する比較回路を備える、プライオリティエンコーダ
    装置。
JP25764991A 1991-10-04 1991-10-04 プライオリテイエンコーダ装置 Withdrawn JPH05100821A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25764991A JPH05100821A (ja) 1991-10-04 1991-10-04 プライオリテイエンコーダ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25764991A JPH05100821A (ja) 1991-10-04 1991-10-04 プライオリテイエンコーダ装置

Publications (1)

Publication Number Publication Date
JPH05100821A true JPH05100821A (ja) 1993-04-23

Family

ID=17309185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25764991A Withdrawn JPH05100821A (ja) 1991-10-04 1991-10-04 プライオリテイエンコーダ装置

Country Status (1)

Country Link
JP (1) JPH05100821A (ja)

Similar Documents

Publication Publication Date Title
US5586276A (en) End bit markers for indicating the end of a variable length instruction to facilitate parallel processing of sequential instructions
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
US4916606A (en) Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions
JPH0562390B2 (ja)
US5081608A (en) Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields
JP2620511B2 (ja) データ・プロセッサ
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH0786875B2 (ja) ベクトル処理装置
JP2748957B2 (ja) データ処理装置
JPH05100821A (ja) プライオリテイエンコーダ装置
US5349681A (en) Bit searching circuit and data processor including the same
US4977497A (en) Data processor
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
US5838944A (en) System for storing processor register data after a mispredicted branch
JPS6236575B2 (ja)
JPS60129839A (ja) 情報処理装置
JPS5890247A (ja) 情報処理装置のパイプライン制御方式
JPS5931733B2 (ja) 可変長さの命令を実行する中央処理装置
JPH0248733A (ja) 情報処理装置
JP3014701B2 (ja) 情報処理装置
JP2636566B2 (ja) パイプライン制御方式
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JPH0271327A (ja) ソート処理装置
JP3787951B2 (ja) コード変換方法及びこれを用いたコード変換装置
JPS635433A (ja) ブランチ制御方式

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: 19990107