JPH02278424A - 正規化装置 - Google Patents

正規化装置

Info

Publication number
JPH02278424A
JPH02278424A JP1166503A JP16650389A JPH02278424A JP H02278424 A JPH02278424 A JP H02278424A JP 1166503 A JP1166503 A JP 1166503A JP 16650389 A JP16650389 A JP 16650389A JP H02278424 A JPH02278424 A JP H02278424A
Authority
JP
Japan
Prior art keywords
bit
signal
data
input
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.)
Pending
Application number
JP1166503A
Other languages
English (en)
Inventor
Virginia C Lamere
ヴァージニア シー ラメル
Elaine H Fite
エレイン エイチ ファイト
Francis X Mckeen
フランシス エックス マッキーン
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02278424A publication Critical patent/JPH02278424A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、デジタルコンピュータの分野に係り、より詳
細には、手順を呼び出す命令のようなマイクロインスト
ラクションを実行するのに用いる正規化装置に係る。
従来の技術 デジタルデータ処理システムは、3つの基本的な要素、
即ち、メモリと、入力/出力要素と、プロセッサとを備
えている。コンピュータシステムの要素が互いに対話し
てデータを処理する仕方は、典型的に、命令セットを使
用することによって制御される。
コンピュータシステムにおいてしばしば使用されている
命令セットの1つの形式の命令は、手順呼び出し命令で
ある。
手順とは、プロセッサのデータ処理動作に関連して実行
するためにコンピュータシステムにおいて実行されてい
るプロセスによって呼び出される汎用のルーチンである
。この手順は、プロセッサによって送られるアーギュメ
ントリストを使用すると共に、データ記憶のためにロー
カル変数も使用する。手順呼び出し命令は、その手順で
用いられるプロセッサの全ての汎用レジスタの内容をセ
ーブするようにコンピュータシステムを制御する。又、
手順呼び出し命令は、アーギュメントリストを手順に通
す。これは、サブルーチンを実行するに必要な他の動作
も実行し、その手順から復帰する際にプロセッサの所望
の状態を保持する。
この手順は、この手順から、手順呼び出し命令を実行す
ることによってこの手順を呼び出したコンピュータシス
テムで実行しているプロセスへ制御権を移すための復帰
命令で終る。この復帰命令は、マシンの状態を復帰させ
、呼び出しをしているプログラムに制御権を復帰させる
1つの既知のアーキテクチャにおいては、呼び出し命令
がその手順についてのメモリの入力点を指定し、これは
、典型的に入力マスクと称するワードのようなデータ項
目である。この入力マスクは一連のビットであって、マ
スク内のあるセットのビットの各々がその手順の実行中
にセーブされるべきプロセッサの対応する汎用レジスタ
を表わしている。入力マスクの特定のビットがセットさ
れた場合には、手順呼び出し及び復帰命令を用いたサブ
ルーチン又は手順呼び出しにおいて対応するレジスタの
内容をセーブ又は復帰させる。
般に、汎用レジスタの内容は、呼び出された手順により
汎用レジスタの内容が変更される場合にセーブされねば
ならない。
1つの既知のシステムにおいては、呼び出された手順の
実行中にセーブされるべき汎用レジスタの内容がメモリ
スタックの呼び出しフレームに一時的に記憶される。メ
モリスタックは、データを一時的に記憶するためにセッ
トされたメモリの領域である。このスタックは、後入れ
/先出しの考え方を使用し、データ項目がスタックに追
加(ブツシュオン)されるにつれて、スタックポインタ
が減少し、そしてデータ項目がスタックから検索(ポツ
プオフ)されるにつれて、スタックポインタが増加する
ようになっている。スタックポインクは、プロセッサが
定めるスタックの上部のアドレス(最下位アドレス)を
含む汎用レジスタより成る。呼び出しフレームとは、入
力マスクで識別された種々の汎用レジスタの内容を記憶
するために手順呼び出し中にスタック上に構成されるデ
ータ構造体である。呼び出しフレームは、フレームポイ
ンタ(スタック上に構成された呼び出しフレームのベー
スアドレスを含む汎用レジスタ)に含まれた位置からス
タートして下位アドレスまで延びる。入力マスクで識別
された汎用レジスタの内容は、呼び出し手順の始めに数
字の順序で呼び出しフレームにブツシュオンされそして
その手順から復帰する際に対応する汎用レジスタへ戻す
ようにポツプオフされる。
サブルーチンを呼び出す際に、入力マスクが読み取られ
、セーブする必要のあるレジスタが識別される。又、こ
れらのレジスタの内容を記憶するに必要なメモリスペー
スのアクセス性も、マスクを読み取る際に決定されねば
ならない。これは、入力マスクにおけるセットされたビ
ットの数をカウントし、セーブする必要のあるレジスタ
の全数を決定することによって行なわれる。この数が分
かると、呼び出しをしているルーチンの状態を記憶する
に必要なメモリスタック内の全スペースを計算すること
ができる。マスク内のセットされたビットの数を用いて
、スタックポインタレジスタとの内容とでスタック内の
最後の位置を決定することができる。セーブされるべき
レジスタとしてマスクから識別された各汎用レジスタは
、その内容がメモリスタックに書き込まれている。
公知技術においては、使用可能なメモリスペースを決定
すると共に、セーブされるべきレジスタを識別するため
の手順がマイクロコードによって実行される。然し乍ら
、手順呼び出し命令の実行に必要なマスクデータ処理を
行なうためにマイクロコードを使用するには、コンピュ
ータのクロックサイクルを著しく必要とする。例えば、
マイクロコードは、入力マスクの各ビットを調べて、そ
れがセットされているかクリアされているかを判断しな
ければならず、ひいては、セットされていないビット位
置を処理するサイクルを浪費する。
これは、プロセッサの性能に悪影響を及ぼし、特に近代
的な高速コンピュータシステムにおいてサブルーチンを
頻繁に使用するときには受け入れられないものとなる。
更に、手順呼び出し及び復帰命令に加えて、コンピュー
タのクロックサイクルを減少するロジックと、効果的な
ブースト性能とを使用できる多数の同様の命令がある。
発明の構成 本発明は、セーブされるべき汎用レジスタを識別しそし
てこの識別された汎用レジスタの内容を記憶するのに要
するメモリスペースのアクセス性を判断するのに必要な
りロックサイクルの数を減少する正規化装置を提供する
。一般に、本発明の正規化装置は、nビット信号を受け
取るように’、ili成された装置であり、これは好ま
しい実施例では入力マスクである。nビット信号の各ビ
ットは、セットされるか又はクリアされ、正規化装置は
、nビット信号の各セットされたビットごとに1つづつ
の一連の信号を発生するように動作し、発生された信号
の各々は、nビット信号の他のビットに対する特定のセ
ットビットの位置情報を表わしている。正規化装置は、
繰り返し動作し、各繰り返しく即ち、クロックサイクル
)の間に次のような動作が全て実行される。最も端にあ
る(最上位又は最下位)セットピットが決定され、この
最も端にあるセットピットに対する位置情報を表わす信
号が発生され、そして手前の繰り返しの間に識別された
最も端のセットピットがクリアされる。
特定の繰り返しに対する最も端のセットピットは、その
すぐ手前の繰り返し中にクリアされたセットピットに最
も接近して隣接するセットピットである。換言すれば、
既に決定された最も端のセットピットがクリアされ、セ
ットされた次の最も端のビットの位置が各サイクル中に
決定される。
従って、入ってくる信号のnビットのうちのm個がセッ
トされた場合には、m回の繰り返しを行なって、nビッ
ト信号のm個のセットピットの各々に対して1つづつ、
m個の位置情報信号が発生される。これは、例えば呼び
出された手順又はサブルーチンの入力マスクを表わすn
ビット信号のような入ってくる信号のセットビットを識
別するのに必要なりロックサイクルの数を最小にする。
正規化装置によって出力された各位置情報信号は、その
手順の間にセーブされるべき対応する汎用レジスタを位
置設定するためのアドレスに対応し、マイクロコードが
この位置情報を用いて、各々の識別された汎用レジスタ
の内容をメモリスタックの呼び出しフレームにロードで
きるようにする。
ビットカウンタは、正規化装置が受け取ったものと同じ
初期マスクを受け取り、レジスタの内容を記憶するのに
必要なメモリスペースを決定する。これは、マスク内の
セットピットの数をカウントすることによって行なわれ
る。マスクフィールド内のビット数のこのカウントは、
新規なビットカウンタによって行なわれる。本発明のこ
のビットカウンタは、所与のデータ入力に対してセット
されたビットの数をカウントするのに本来必要であった
ロジックゲートの数を減少する。
実施例 第1図は、本発明の実施例により溝成された正規化装置
10を示している。この正規化装置10は、nビット入
力データライン8におけるセットされたビットの位置を
決定する。例えば、データライン8は、32ビツトデー
タラインであり、各データラインはマスクのビットの1
つに対応する・ことができる。正規化装置10は、一連
のマルチビット2進コード化出力信号をライン42に発
生し、各出力信号はマスクにおいてセットされたビット
の位置を識別する。このようなマスクの一例を以下に示
す。
状態 BIT  10101011 状態 上記したマスクは、32ビツトマスクであるが、これは
いかなる長さであってもよい。マスクにおいてセットさ
れた各ビットは、セーブされるべき汎用レジスタに対応
する。正規化装置10は、マスクにおいてセットされた
ビットを識別しそしてそれに対応する汎用レジスタのア
ドレス又は番号を表わす出力信号を発生することにより
、セーブしなければならない汎用レジスタを識別する。
入力マルチプレクサ12は、ソースから1組のビットを
受け取る。又、マルチプレクサ12は、この1組のビッ
トを他方の入力においてはビットスワップ順序で受け取
る。
ピットスワップ順序とは、その組の最上位ビットが[ビ
ットスワップ」された組の最下位ビットとなり、その組
の次の上位ビットが「ビットスワップ」された組の次の
下位ビットとなり、等々となって、その組の最下位ビッ
トが「ビットスワップ」された組の最上位ビットとなる
ように定められる。
本発明によれば、入力データライン13の32ビット信
号は、合成ロジック装置20に入力される。デコーダI
8は、ライン17を経てラッチ16に接続され、このラ
ッチは、合成ロジック装置20の動作を制御するための
マイクロコードを発生する。デコーダ18の出力ライン
11は合成ロジック2oの入力に接続される。デコーダ
18の出力は、マイクロコードによって制御されたゼロ
信号を含んでいる。デコーダ18によるゼロ信号出力は
、これがアサートされると、合成ロジック20が32ビ
ット入力信号の選択されたビットをクリアするようにさ
せる。あるビットをクリアする理由は、クリアされたビ
ットに対応する汎用レジスタがスタックにブツシュオン
されたリスタックからポツプされたり(コンピュータシ
ステムのアーキテクチャによって必要とされることがあ
る)しないためである。
合成ロジック20かも出力されたビットは、32ビット
信号ライン21を経てビットクリアロジック装置22に
送られ、幾つかのビットが合成ロジック装置20へのゼ
ロ信号に基づいてクリアされたリフリアされなかったり
する。32ビット信号がビットクリアロジック装置22
を最初に通過するときには、信号の操作は行なわれない
。然し乍ら、その後のサイクル中には、以下で述べるよ
うに、信号の特定のビットがクリアされる。ビットクリ
アロジック装置22の動作は、ラッチ16によりライン
17から送られるマイクロコードによって制御される。
ビットクリアロジック装置22の出力は、ライン23に
よりエンコーダ24に入力される。エンコーダ24は、
32の入力を2進コード化出力、ここに示す実施例では
5ビツトの出力信号にエンコードすることのできる標準
的な装置である。然し乍ら、エンコーダは、異なった数
の入力及び出力ビットを有するものを使用してもよい。
エンコーダ24のコード化出力信号は、ここに示す実施
例では、ライン23上の32ビット入力信号の最下位セ
ットビットの位置を表わし、即ち、エンコーダ24は、
トレイリング−1(1つ遅れ)エンコーダである。エン
コーダ24の出力信号はライン25に出力され、このラ
インはマルチプレクサ26の1つの入力に接続されてい
る。エンコーダ24の出力信号の補数信号がライン25
′に出力され、該ラインはマルチプレクサ26の別の入
力に接続されている。
第1組のビットは、エンコーダ24がトレイリング−1
エンコーダとして働くべきであるときに使用され、一方
、ビットスワップされた組は、エンコーダ24がリーデ
ィング−1(1つ進み)エンコーダとして働くべきとき
に使用される。データ入力がある繰返しにおいてはビッ
トスワップされるが、次の繰返しにおいてはビットスワ
ップされない場合には、補数信号を用いて次のサイクル
における正しいビットがクリアされる。
又、エンコーダ24は、少なくとも1つのビットがライ
ン23を経てエンコーダ24へ入力される信号において
セットされることを指示するBIT  SET信号を発
生する。このBIT  SET信号は、ライン37を経
てラッチ38に送られ、そこからライン39を経てマイ
クロシーケンサ40へ送られる。ライン23上の信号の
ビットがアサートされない場合には、BIT  SET
信号がアサートされて、それ以上のビットが送られない
こと、ひいては、それ以上の汎用レジスタをスタックに
ブツシュオンしたリスタックからポツプオフしたりする
必要がないことをマイクロコードに知らせる。
上記したように、エンコーダ24のコード化出力を表わ
すライン25上の信号と、ライン25′上の補数信号は
、マルチプレクサ26に送られる。
コー・ド化信号とその補数との選択は、マルチプレクサ
26の選択人力29に接続されたデコーダ28によって
送られるマイクロコードビットをデコードする二とによ
って制御される。図示されたように、デコーダ28はラ
イン17に接続され、これはマイクロコードラッチ16
からの出力を供給する。マルチプレクサ26により発生
された出力信号は、ライン41によってマルチプレクサ
30の入力に接続される。マルチプレクサ30の第2入
力はライン43によってラッチ34に接続される。
第3マルチプレクサ30の2つの入力の選択は、ライン
17aから受け取られるマイクロコード制御ビットによ
って制御される。次いで、第3マルチプレクサ30の出
力はライン44を経てラッチ32に送られる。ラッチ3
2の出力は、出力ライン42から送り出された実際のデ
ータであり、セーブされるべき汎用レジスタの1つの位
置を表わす5ビツトの2進コ一ド化信号を含んでいる。
第1図に示された正規化装置lOは、以下で述べるよう
に繰り返し動作して、セーブされるべき多数の汎用レジ
スタを識別するための一連の5ビツトの2進コ一ド化信
号を発生する。
ラッチ32からの2進コ一ド化信号出力及びその補数は
、ライン46.46′ を経てマルチプレクサ36にも
入力される。マルチプレクサ36の出力の選択は、ライ
ン17bからのマイクロコード制御ビットによって制御
される。従って、マルチプレクサ36は、2進信号出力
又はその補数を出力として選択する。マルチプレクサ3
6の出力は、ライン45に沿ってビットクリアロジック
装置22へ入力としてフィードバックされる。選択され
た信号の補数は、マルチプレクサ36において発生され
、これもライン45′に沿ってビットクリアロジック装
置の入力へフィードバックされる。ライン45によって
フィードバックされる信号は、ビットクリアロジック装
置22によって次のサイクル中にクリアされるべきライ
ン21上の入力信号のビットを表わす。ライン45の信
号は、ビット位置信号である。ライン45′上のビット
位置信号の補数は、ビットクリアロジック装置22に識
別情報を゛与えるのに使用される。ライン23上の信号
は、32ビツトの信号であり、手助の繰返し中にエンコ
ーダ24によってエンコードされた最も端のビットは、
ライン45を経てフィードバックされる2進コ一ド化信
号及びその補数に基づいてビットクリアロジック装置2
2によってクリアされる。
又、ラッチ32から出力される2進コ一ド化信号は、ラ
ッチ34にも送られ、このラッチ34の出力は、上記し
たように、ライン43によりマルチプレクサ30へ入力
として接続される。マルチプレクサ30において、新た
な有効データがエンコーダ24においてエンコードされ
たときには、エンコーダ24の2進コ一ド化信号がマル
チプレクサ30の出力データとなる。さもなくば、ラッ
チ34からの入力は、マルチプレクサ30からの出力デ
ータとなるように選択される。
第1図に示す正規化装置10の全体的な動作について簡
単に説明する。上記したように、メインプログラムから
サブルーチンに入るべきときには、サブルーチンに入る
ときのプロセッサの状態が記憶される。記憶されるべき
ある状態は、入力マスクのセットされたビットによって
識別されたある汎用レジスタの内容である。手順呼び出
しの際に、入力マスクは32ビ、ット信号ライン13に
よりマルチプレクサ12を経て装置20へ接続される。
又、マスクは、マスクにおいてセットされたビットの数
をカウントするビットカウンタ14にも送られる。ビッ
トカウンタ14は、書き込まれるべきスタックの最後の
位置を計算し、利用できるメモリスペースがあるかどう
かを判断するのに用いられる。ここに示す実施例では、
スタック位置は、マスクにセットされたビット数にこれ
らのレジスタのサイズを乗算したものと、スタックに常
時ブツシュオンされるレジスタを構成するための一定値
との和に対応する。決定されたスタック位置に書き込め
ない場合には、プロセッサのオペレーティングシステム
によって処理される例外処置がとられる。スタックへの
レジスタの書き込みをスタートするときには、スタック
位置のアドレス値の順次小さくなる順序でデータがスタ
ックにブツシュオンされる。ビットカウンタ14に関す
る詳細を以下に述べる。
前記したように、マスクにおいてセットされたビットは
、セーブすべき汎用レジスタを表わしている。従って、
ビット[0,4,10]がライン21上の信号において
セットされた場合には、汎用レジスタ (0,4及び1
0)がセーブされる。
マスク信号の一例を以下に示す。
\0\0\0\O\ 状態 明らかなように、マスクにおいてセットされたビットは
、ビット位置[0,4,10]にある。
このセットされたビット位置の5つの2進等価デジット
は、0=OOOO0,4=OO100,10=0101
0である。
ライン21の信号は、正規化装置10の動作の最初のサ
イクルの際に、操作されない状態で、ビットクリアロジ
ック装置22を通る。エンコーダ24は、ビットOを、
セットされた第1ビツトを有するものとして識別する。
個の例では、エンコーダ24は、トレーリング−1エン
コーダとして使用される。出力信号は、ライン25上の
エンコーダ24の2進コ一ド化信号としてoooo。
にセットされる。このエンコードされた位置信号は、ラ
イン45を経てビットクリアロジック22ヘフイードバ
ツクされる。5ビツト(00000)信号はライン42
にも出力され、汎用レジスタO状態 の内容を識別及び記憶する。
マスク信号がビットクリアロジック装置22を2回目に
即ち2回目の繰返しとして通るときには、ビットOを識
別したその前の繰り返しからライン45を経てフィード
バックされて2進コ一ド化信号によって指示されるビッ
トがビットクリアロジック装置22によってクリアされ
、該ロジック装置22の出力は、次のようになる。
状態 \0\O\0\0\ \3\2\1\0\ BIT  10101010 状態 ビットOは、ここでは、エンコーダ24へ入力されるマ
スク信号においてOである。エンコーダ24は、ここで
、ビット[4]を次のセットされたビットとして識別し
、2進コ一ド化信号がここで00100となるようにす
る。前記したように、2進コ一ド化信号は、ライン45
を経てビットクリアロジック装置22ヘフイードバツク
され、正規化装置の次のサイクルの際に、ビット[4]
がクリアされ、ビットクリアロジック装置22の出力が
次のようになる。
状態 状態 二のようにビットクリアロジック装置22を通過した後
に、入力マスクデータはビット[10]のみがセットさ
れたビットを有する。同じ手順がもう1回繰り返され、
ビット[10]がクリアされる。全てのビットがクリア
されて、セットされたビットが残らないようになると、
出力位置信号がoooooとなる。この状態と、ビット
位置[0]でセットされたビットによって指示された状
態との間を明確にするために、ライン37のBIT  
SET信号がデアサートされる。
上記の例においては、最下位ビット(ビット[O])が
第1のクロックサイクルに識別され、ビット[4コが第
2のクロックサイクルに識別され、そしてビット[lO
]が第3のクロックサイクルに識別される。従って、ど
のビットがセットされるかに拘りなく、セットされた各
々のビットを決定するのに1つのサイクルしか必要とさ
れず、セットされた全てのビットが次々のクロックサイ
クルに識別される。
上記動作中に、セットされたビットが識別されるたびに
、そのビットの位置がコード化された位置出力信号とし
て出力ライン42を経てレジスタファイルユニットへ通
され、このユニットは、汎用レジスタに対するポインタ
として用いられる。
このポインタは、マイクロコード制御でスタックに記憶
されるべき汎用レジスタのアドレスを発生するのに用い
られる。マスクにセットされたビットがある限り、マイ
クロコードはループを形成し、スタックに常時書き込み
を行なう。スタックへの書き込みは、BIT  SET
がデアサートされて、有効ビットがもはやマスクにない
ことを指示した後に停止する。
ビットクリアロジック22の一部分が第2図に示されて
いる。図示されているのは、ビット〔5]をクリア又は
セットするロジックの部分である。ビットクリアロジッ
ク22においては、ここに示す実施例では、ライン21
上の32ビット信号の各ビットごとに1つづつ、32個
のこのような構成があるが、説明上、ビット[5]の構
成しか示されていない。
アンドゲートセット52は、2つのアンドゲート54及
び56を有している。第1のアンドゲート54は、2進
コ一ド化信号の幾つかのビット及びその補数を入力とし
て受け取る。例えば、ビット[5]の位置は00101
であり、ライン45によってフィードバックされる2進
コ一ド化信号が00101であり、そして補数信号が1
1010であるようになっている。アンドゲート54の
第1人力61は、2進コ一ド化信号の最下位ビット[0
]である。アンドゲート54の第2人力62は、2進コ
一ド化信号の補数のビット[1]を受け取り、アンドゲ
ート54の第3人力63は、2進コ一ド化信号のビット
[2コを受け取り、そして第4人力64は補数信号のビ
ット[3]を受け取る。これらビットの各々がアサート
された揚台には、位置信号の4つのビットが0101 
 (ビット位置[5])に等しく、従って、アンドゲー
ト54が高レベル出力を発生することを意味する。
アンドゲート54のこの出力は、第2アンドゲート56
の第1人力に接続される。補数信号の最上位ビットであ
るビット[4]は、アンドゲート56の第2人力66に
受け取られる。マイクロコードコマンドビットは第2ア
ンドゲート56の第3人力67に受け取られ、アンドゲ
ート56の第4人力68に固定の1が現われる。アンド
ゲート56への4つ全部の入力が高レベルであるときに
は、BIT−To−3ET  H出力69が1であり、
一方、BIT−To−3ET  L出カフ1がOである
。アンドゲート56へのいずれかの入力がアサートされ
ない場合には、BIT−TO−3ET  Hが0となり
、B IT−To−3ETLが1となる。BIT−To
−3ET  H出力が1である場合には、ライン23に
現われるビットクリアロジック32の位置5のセットビ
ットがクリアされる。
スタックに書き込みするためのメモリスペースをアクセ
スできるよう確保するためには、スタックにセーブされ
るべき又はブツシュされるべきレジスタの全数が分から
なければならない。これは、マスクにおけるセットデー
タラインの数をカウントするビットカウンタ14によっ
て行なわれる。多数の種々のカウンタを使用することが
できるが、カウンタ14の一実施例が第3図に示されて
いる。カウンタ14は、相互接続された11個の加算器
70を有している。説明上、これらの11個の加算器7
0には、文字A−Kが付けられている。加算器70A、
70B、70C,70F及び70Hの各々は、マスクの
15個のビットのうちの3ビツトの種々のビットを受け
取る。
マスクの最上位3ビツトは、12ビツトフイールドが呼
び出されたときにクリアできる。このため、マスクの最
上位3ビツト及び書き込みイネーブル入力を入力として
有するアンドゲート72が使用される。アンドゲート7
2は、書き込みイネーブルビットがアサートされたとき
に最上位3ビツトのみを加算器70Aに出力する。この
書き込みイネーブルビットは、マイクロコード制御フィ
ールドからデコードされる。
マスクのi5(又は12)ビットがカウントされ、この
カウントは、4ビツトマスクサイズとして出力される。
このマスクサイズの最下位ビットは加算器70Iの出力
であり、マスクサイズの次の下位ビットは加算器70に
の出力である。4ビツトマスクサイズの最上位2ビツト
は、加算器70Jの出力である。
マスクサイズは、マイクロコードによる将来の参照用と
してラッチされる。ラッチされた値は、新たな計算を行
なうべきであることをマイクロコードが指示するまで変
化しない。
この4ビツトマスクサイズの信号は、定数と加算されて
、スタックにブツシュオンされるべき多数の入力を形成
する。定数を加える理由は、常にある情報をスタックに
ブツシュしなければならないからである。マスクサイズ
と定数との和から、書き込みすべきスタックの最後の位
置が計算される。スタックのこの最後の入力を書き込み
できるかどうかをテストして、全てのスペースを使用で
きるように確保する。スタックのこの最後の入力が書き
込みできない場合には、命令が中断される。
スタックの最後の入力の位置は分かっているから、スタ
ックを逆の順序で書き込みすることができ、即ち、スタ
ックのいわゆる底部からスタックのいわゆる上部に向か
って書き込みすることができる。これにより、各サイク
ルごとに32ビツトを書き込むことができる。
カウンタ14の実際の加算演算については説明する必要
がなかろう。というのは、カウンタ14全体にわたり通
常の加算器が使用されているので、その動作が第3図か
ら当業者に明らかであると考えられるからである。
本発明の使用は、サブルーチン呼び出し命令に限定され
るものではない。本発明の正規化装置1oは、nビット
信号の各セットされたビットごとにコード化出力を発生
しなければならないコンピュータ内の動作に対して使用
することができる。
【図面の簡単な説明】
第1図は、本発明の実施例によって構成された正規化装
置の回路図、 第2図は、第1図の正規化装置に使用されるビットクリ
アロジックの一部分を示す図、そして第3図は、本発明
の実施例により構成された第1図のビットカウンタを詳
細に示す図である。 10・・・正規化装置 12.26・・・マルチプレクサ 18・・・デコーダ 20・・・ロジック装置 22・・・ビットクリアロジック装置 24・・・エンコーダ 4o・・・マイクロシーケンサ

Claims (6)

    【特許請求の範囲】
  1. (1)データを受け入れるデータ入力と、 上記データを受け入れるデータ入力に接続され、ビット
    位置信号を受け入れるビット位置入力を有しているビッ
    トクリアロジックであって、上記ビット位置信号によっ
    て指定された上記データのビットを操作して操作された
    データ信号を発生するようなビットクリアロジックと、 上記操作されたデータ信号を受け取るように上記ビット
    クリアロジックに接続されたエンコーダであって、この
    エンコーダは、上記操作されたデータ信号のセットであ
    る最上位ビット及び最下位ビットの少なくとも1つの位
    置を指示する位置信号を発生し、この位置信号が正規化
    装置の出力を形成するようなエンコーダと、 上記エンコーダの出力及び上記ビットクリアロジックの
    上記ビット位置入力に接続されたフィードバックループ
    であって、上記位置信号を受け入れて、上記ビット位置
    信号を発生し、上記ビット位置入力に供給するようなフ
    ィードバックループとを具備し、 上記ビットクリアロジックは、上記ビットクリアロジッ
    クに上記データを繰り返し通す最初のときは上記エンコ
    ーダへの入力を操作しない状態で通し、その後のときは
    上記データを操作するようにしたことを特徴とする正規
    化装置。
  2. (2)上記データを受け取るように上記データ入力に接
    続されたビットカウンタを更に備え、該カウンタは、上
    記データにセットされたビットをカウントして、上記デ
    ータにセットされたビットの数を指示するビットカウン
    ト信号を出力するように働く請求項1に記載の正規化装
    置。
  3. (3)上記ビットカウンタは、複数の相互接続された加
    算器を備え、上記データビットのサブセットが上記複数
    の加算器の別々の加算器へ入力として受け取られる請求
    項2に記載の正規化装置。
  4. (4)上記操作されたデータ信号はnビット信号であり
    、上記位置信号はmビット信号であり、mはnより小さ
    い請求項1に記載の正規化装置。
  5. (5)上記ビット位置信号は、上記位置信号と、その補
    数とを含む請求項4に記載の正規化装置。
  6. (6)上記ビットクリアロジックは、2nセットのアン
    ドゲートを備え、各アンドゲートセットは、上記ビット
    位置信号の所定のビットを種々の組合せで受け取り、各
    アンドゲートセットが種々のビット位置信号に応答して
    、上記ビット位置信号により指定されたビットを操作す
    るためのビット操作信号を発生するようにされる請求項
    5に記載の正規化装置。
JP1166503A 1989-03-20 1989-06-28 正規化装置 Pending JPH02278424A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/325,928 US4947358A (en) 1989-03-20 1989-03-20 Normalizer for determining the positions of bits that are set in a mask
US325928 1989-03-20

Publications (1)

Publication Number Publication Date
JPH02278424A true JPH02278424A (ja) 1990-11-14

Family

ID=23270041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1166503A Pending JPH02278424A (ja) 1989-03-20 1989-06-28 正規化装置

Country Status (4)

Country Link
US (1) US4947358A (ja)
EP (1) EP0388506A3 (ja)
JP (1) JPH02278424A (ja)
CA (1) CA1314328C (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2831729B2 (ja) * 1989-09-30 1998-12-02 株式会社東芝 プライオリティエンコーダおよび浮動小数点正規化装置
EP0468837A3 (en) * 1990-06-29 1992-11-19 Digital Equipment Corporation Mask processing unit for high-performance processor
JP3012357B2 (ja) * 1991-05-29 2000-02-21 日本電気株式会社 シフト量検出回路
US5841683A (en) * 1996-09-20 1998-11-24 International Business Machines Corporation Least significant bit and guard bit extractor
EP1050797A1 (en) * 1999-05-03 2000-11-08 STMicroelectronics S.A. Execution of instructions in a computer program
US7430574B2 (en) * 2004-06-24 2008-09-30 Intel Corporation Efficient execution and emulation of bit scan operations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59184943A (ja) * 1983-04-05 1984-10-20 Nec Corp 情報処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3440619A (en) * 1967-07-14 1969-04-22 Ibm Control system for maintaining register contents during interrupt and branch conditions in a digital computer
US3711692A (en) * 1971-03-15 1973-01-16 Goodyear Aerospace Corp Determination of number of ones in a data field by addition
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
JPS59216245A (ja) * 1983-05-25 1984-12-06 Nec Corp 正規化回路
JPS62150427A (ja) * 1985-12-24 1987-07-04 Nec Corp 浮動小数点正規化桁合せ回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59184943A (ja) * 1983-04-05 1984-10-20 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
CA1314328C (en) 1993-03-09
EP0388506A2 (en) 1990-09-26
EP0388506A3 (en) 1992-04-29
US4947358A (en) 1990-08-07

Similar Documents

Publication Publication Date Title
US4488227A (en) Program counter stacking method and apparatus for nested subroutines and interrupts
US5390307A (en) Apparatus for a multi-data store or load instruction for transferring multiple contiguous storage locations in one transfer operation
US5408626A (en) One clock address pipelining in segmentation unit
JP3969895B2 (ja) データ型によるコプロセッサの操作コードの分割
EP0730226B1 (en) Hardware support for fast software emulation of unimplemented instructions
US5745722A (en) Apparatus for decoding instruction immediate data to produce a string having a single bit different from other bit thereof
JP3828677B2 (ja) レジスタとメモリとの間のデータ転送
JPS60151761A (ja) 10進演算用に連続したデ−タ装置をアクセスするためのニブルおよびワ−ド・アドレス指定可能なメモリ−
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS5918737B2 (ja) デ−タ処理システム
US5502827A (en) Pipelined data processor for floating point and integer operation with exception handling
US4251859A (en) Data processing system with an enhanced pipeline control
US3286236A (en) Electronic digital computer with automatic interrupt control
JP2620511B2 (ja) データ・プロセッサ
EP0378415A2 (en) Multiple instruction dispatch mechanism
JPH04260930A (ja) データ処理装置
CA1099415A (en) Rom initializing apparatus
KR100864890B1 (ko) 데이터 처리장치에서의 소스 레지스터 록킹
JPH04260927A (ja) データ処理装置
EP0497485A2 (en) Computer for implementing two-operand instructions
JPH02278424A (ja) 正規化装置
US5390306A (en) Pipeline processing system and microprocessor using the system
US5870596A (en) Data processor allowing multifunctional instruction execution
JPH034936B2 (ja)
US5396610A (en) Register address specifying circuit for simultaneously accessing two registers