JPH08221257A - データ処理装置用除算器 - Google Patents

データ処理装置用除算器

Info

Publication number
JPH08221257A
JPH08221257A JP7310933A JP31093395A JPH08221257A JP H08221257 A JPH08221257 A JP H08221257A JP 7310933 A JP7310933 A JP 7310933A JP 31093395 A JP31093395 A JP 31093395A JP H08221257 A JPH08221257 A JP H08221257A
Authority
JP
Japan
Prior art keywords
bit
quotient
dividend
register
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.)
Pending
Application number
JP7310933A
Other languages
English (en)
Inventor
David V Jaggar
ビビアン ジャガー デビッド
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of JPH08221257A publication Critical patent/JPH08221257A/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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division

Abstract

(57)【要約】 【課題】 整数除算命令専用のハードウエア除算器を提
供する。 【解決手段】 ハードウエア除算器は、複数の異なる除
算命令コードに応答して商の複数ビット部を発生させ
る。部分剰余がゼロの場合は、以降の除算命令を実行せ
ずに除算演算を早く終了させる。後続除算命令は現用プ
ログラミング状態レジスタ28内にセットされるゼロ表
示フラグに応答して、当該商の残りのビットを計算す
る。それぞれが8−ビットの商を発生させる4つの異な
る除算命令コードに応答して、32−ビット除数と64
−ビット被除数とから、32−ビット商と32−ビット
剰余が生じる実施例が説明されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理の分野に
関し、より詳細には、専用ハードウエア除算器を備えた
データ処理システムに関する。
【0002】
【発明が解決しようとする課題】データ処理システム
に、整数除算演算を実行する専用ハードウエアを持たせ
ることは公知である。ハードウエアで除算演算を実現さ
せることは複雑で、普通は処理サイクル毎に1ビットの
商がつくり出される。したがって、32ビットシステム
においては、32ビットの除算演算を完了するために、
通常32個のクロックサイクルが必要である。不都合に
も、このサイクルの数は完了に1サイクルから5サイク
ルかかるのが普通な他の処理動作と比較される。このこ
とは特に縮小命令セット計算システムについて言えるこ
とであり、縮小命令セット計算システムでは各命令を実
行するために必要なサイクル数を、可能な限り小さな値
に維持する努力が払われている。
【0003】実行時間が長いことに対する一つの問題点
は、好ましくない長時間にわたって割込みが発生する可
能性(interrupt latency )があることである。例外処
理ルーチンに制御を渡さなければならない処理例外が発
生すると、誤りなく例外処理ルーチンに処理が移る前
に、現在実行中の命令が完了してしまうまでシステムは
待たなけらばならない。現在実行中の命令が完了してし
まうまで待たなけらばならない必要性は、既知の条件で
プロセッサを停止させることによりデータの完全性を保
証することに起因している。完了までに多分32サイク
ルかかる除算命令の場合、例外処理が開始する前に32
サイクルも待つ必要があることは、システムの重大な制
約である。
【0004】この問題は、商の各ビットを計算するため
別の命令を用意することにより対処できることが以前か
ら提案されている。したがって、32ビットの商の値を
計算するためには、32個の命令を連続して実行しなけ
ればならないことになるであろう。この方法は、入力オ
ペランドを読出し、商の1ビットを計算して出力結果を
書込む必要があり、割込みが発生する可能性は減少する
けれども、関係するプログラムソフトウエアは非常に大
きくなる。このように、コード密度(code density)が
重要な状況のもとでは、この方法は不十分である。その
上、各命令の後に行われる読取り書込み動作のため、完
全な32ビットの商を出力するために必要な総合計時間
が増加する。
【0005】この整数除算演算に関する他の問題は、比
較的大きな数のオペランドが要求されることである。3
2−ビット除数と64−ビット被除数の場合、64−ビ
ット商が生じ、32ービット剰余が最下位被除数レジス
タに残っていることを考慮されたい。この場合、5個の
32−ビットオペランドが必要であり、各命令コード毎
に1個(1個のオペランドは除数に、2個のオペランド
は非除数に、2個のオペランドは商のために)必要であ
る。この状況は、1サイクルで完了するとしても、5個
のレジスタアクセスポートが必要になる。この数は、シ
ステムに通常備えられているレジスタアクセスポートよ
りも多い。
【0006】このレジスタアクセスポートに対する制約
に対処する一つの方法は、1つ以上のサイクルを使用
し、その中で除算命令の初めと終りでレジスタアクセス
動作を実行することであろう。この方法では、オペラン
ドの読出しに必要な回数だけレジスタアクセスポートが
使用される。多数のこのようなオペランドの必要性は克
服されるが、この解決方法には、除算命令を実行する総
合計時間を増加させるという欠点がある。各命令コード
の動作の初めと終りでレジスタアクセスが必要であるた
め、1サイクル毎にただ1ビットの商を計算することに
より割込みが発生する可能性を減少させる場合は、この
ことが特に重要になる。
【0007】多数のオペランドが要求されるという問題
に対処する別の方法は、別々の除数/商レジスタを追加
して、主レジスタファイルの中で要求されるポートの数
を減少させることであろう。表面的には魅力的である
が、この方法では、スーパースカラー論理設計に問題が
生じる。何故ならば、別々の除数/商レジスタは1つの
資源であり、各算術論理演算装置がこの1つの資源に依
存するからである。したがって、このような配列は、処
理速度における望ましくない制約となりうる。
【0008】
【課題を解決する手段】1側面から観察すると、本発明
は命令コードに応答してデータを処理する装置を提供し
ており、前記装置は、複数の異なる除算命令コードに応
答してXビットの商の複数ビット部(multi-bit portio
ns)を発生させる専用除算回路を備えている。
【0009】本発明は、それぞれが複数ビット部の商を
発生させる複数の異なる除算命令コードが用意される
と、割込みが発生する可能性が減少し、一方で各除算命
令コードの初めと終りで余計なレジスタアクセス動作を
しなければならないという難点はあまり大きくならない
ことを認識している。
【0010】レジスタバンクのレジスタにそれぞれ格納
されるX−ビット商、Y−ビット被除数、Z−ビット除
数を持つシステムでは、当初前記Y−ビットの被除数を
格納する1つあるいはそれ以上のレジスタが、前記X−
ビットの商の発生が進行するのにともなって、Y−ビッ
トの剰余を格納する働きをするという利点がある。
【0011】このように、資源として除算命令コードに
要求されるレジスタの総数は減少する。さらに、この配
列が特に適しているのは、被除数から除数の倍数を減算
することにより除算演算を進める専用除算回路であり、
これらの動作を行うことにより、最終的には全除算演算
の結果として、前に被除数を格納していたレジスタの中
に剰余が残る結果になる。
【0012】商と被除数が64ビットの長さで、除数が
32ビットの長さのシステムでは、複数ビット部が8−
ビット部を含んでいることは特に都合が良い。
【0013】本発明の別の重要な利点は、要求された除
算演算をいくつかの複数ビット部に分割(breaking up
)することにより、実行中に被除数の値がゼロになる
と、実行を早く終了できることである。このことは、総
合的に処理速度を速くすることになる。
【0014】他の目的とともに本発明の上記機能と利点
は、添付の図面とともに読むべき実施例の詳細な説明か
ら明らかになるであろう。
【0015】
【発明の実施の形態】図1は、メモリシステム4に接続
された(集積回路の1部として形成された)プロセッサ
コア2を含むデータ処理システムを示す。
【0016】プロセッサコア2には、レジスタバンク
6、演算装置8、データ書込みレジスタ14が含まれて
いる。プロセッサコア2とメモリシステム4の間に挿入
されているのは、命令パイプライン16、命令デコーダ
18、データ読出しレジスタ20である。プロセッサコ
ア2の一部分であり、メモリシステム4のアドレス指定
をするプログラムカウンタ22が示されている。各命令
が実行されると、命令パイプライン16に新しい命令を
フェッチしなければならないので、プログラムカウンタ
増分器24は、プログラムカウンタレジスタ22の中の
プログラムカウンタの値を増分する働きをする。
【0017】プロセッサコア2は、各種機能ユニットの
間にN−ビットデータ経路(pathway )(この場合32
−ビットデータ経路)を含んでいる。動作する場合、命
令パイプライン16の中の命令が命令デコーダ18によ
ってデコードされるが、命令デコーダ18は、プロセッ
サコア2内部の異なる機能要素に送られる各種のコア制
御信号をつくり出す。これらのコア制御信号に応答し
て、プロセッサコア2の異なる部分が、32−ビット乗
算、32−ビット加算、異なる精度の乗算累積(multip
ly-accumulate )演算、32−ビット論理演算など、3
2−ビット処理動作を遂行する。
【0018】レジスタバンク6には、現用プログラミン
グ状態レジスタ(current programming status registe
r )26と退避用プログラミング状態レジスタ(saved
programming status register )28とが含まれてい
る。現用プログラミング状態レジスタ26は、プロセッ
サコア2に使用する各種のフラグ条件と状態フラグを保
持している。これらのフラグには、演算装置でゼロが発
生したことや、桁上げなどが発生したことを示すフラグ
と同様、(たとえばシステムモード、ユーザモード、メ
モリ放棄モードなど)複数の処理モードフラグが含まれ
ている。これらのフラグは、各命令の最初の4ビットの
条件コードによって指定されたパラメータによって決ま
るプログラム命令の条件付き実行を制御する。バンクに
なった(複数の退避用プログラミング状態レジスタの1
つである)退避用プログラミング状態レジスタ28は、
例外が発生すると処理モードスイッチをトリガする現用
プログラミング状態レジスタ26の内容を一時的に格納
するために使用される。このように、より迅速にかつよ
り有効に例外処理を行うことができる。
【0019】レジスタバンク6には、2つの読出しポー
トと1つの書込みポートがある。書込みポートは1つの
処理サイクルで2回動作できるが、読出しポートは1つ
の処理サイクルで1回動作できるだけである。
【0020】要求されたプログラム命令語がメモリシス
テム4から取り出されると、前記命令語は命令デコーダ
18によってデコードされプロセッサコア2の中で32
−ビット処理が開始する。
【0021】図2は、レジスタバンク6のレジスタを演
算装置8に読出す動作と、前記レジスタに演算装置8か
ら書込む動作を模式的に示している。総体的に考えて、
32−ビット除数と64−ビット被除数を使用した除算
演算によって、32−ビット商と32−ビット剰余がつ
くり出される。(後で論議する)この除算演算の性質の
ために、演算が完了すると、商は被除数の最上位部にあ
り剰余は被除数の最下位部にある。除算演算の初めで、
被除数の2つの部分と除数との読出しを実行するため、
レジスタを3回読出すことが必要である。除算演算に続
いて、商と剰余をレジスタバンク6に格納することを実
行するため、2回の書込みが必要である。必要なレジス
タ書込みを1サイクルで2回実行することができること
とは対照的に、読出しポートはサイクル毎に1回の読出
し動作を実行できるだけであるから、レジスタ読出しを
3回実行するためには2サイクルが必要である。
【0022】図3は、2進数の除算を行うために使用す
るハードウエア手法を示している。この例では、被除数
Aは+13であり除数Bは+5である。一般的に言っ
て、被除数Aを左にシフトして、シフトされた被除数A
の最上位半分(most significant half )から除数Bを
減算することにより、除算処理が進行する。この減算
は、除数の2の補数を加算することによって行われる。
【0023】減算の結果が(結果の最上位ビットが1で
あることにより示される)負の場合、除数Bは被除数A
の最上位半分よりも大きいので、そのサイクルに対する
商のビットは0にセットされる。対照的に、減算の結果
が(結果の最上位ビットが0であることにより示され
る)正の場合、被除数Aの最上位半分は除数Bよりも大
きいので、そのサイクルに対する商のビットは1にセッ
トされる。
【0024】減算の結果が負でありかつ商のビットが0
である場合、シフトされた被除数Aの最上位半分は、サ
イクルの終りで減算される前の値に復元する。次のサイ
クルで左にシフトされた被除数Aの最上位半分は大きな
数となることができるから、前記最上位半分が除数Bよ
り大である可能性は大きくなる。対照的に、減算の結果
が正でありかつ商のビットが1である場合、シフトされ
た被除数Aの最上位半分はサイクルの終りで復元せず、
新しい部分剰余がその時の値(current )になる。
【0025】図3の例から判るように、最終除算サイク
ルの終りで、当初被除数Aを保持していたレジスタの最
上位半分に除算演算の剰余が保持され、最下位半分に商
が保持されるようになる。被除数が+13で除数が+5
の場合、商は+2で剰余は+3である。
【0026】図4は、本ハードウエア除算方法が動作す
る別の例を示している。この場合、被除数Aは+120
であり除数Bは+8である。この除算の結果は、商が+
15で剰余は0である。復元するステップと0をセット
するステップは第1のサイクルで発生する。残りの4サ
イクルには復元動作はなく、各サイクルでそれぞれの商
のビットを1にセットする。
【0027】この形式の除算を使用すると、除算あふれ
をチェックする必要があることが判る。除算あふれが発
生するのは、未シフト被除数Aの最上位半分が除数Bよ
り大きいときである。この場合、当初被除数Aを保持し
ていたレジスタの最下位半分のビットの数は、商を適切
に表すために不十分になる。したがって、除算演算を進
行させてはならない。未シフト被除数Aの最上位半分か
ら除数Bを減算し、結果が正の場合あふれエラーをトリ
ガすることにより、あふれのチェックは除算演算を始め
る前に行われる。
【0028】図5は、整数除算演算に要求されるハード
ウエアを模式的に示している。64−ビット被除数が連
結されたレジスタA、Qにロードされるが、レジスタA
は上位の32ビットを含み、レジスタQは下位32ビッ
トを含んでいる。正の32−ビット除数はレジスタBに
ロードされ、桁上げフリップフロップは1にセットされ
る。被除数は左に1ビットだけシフトされ、除数の否定
演算された値を加算することによって除数が減算され
る。相対的な大きさに関する情報は桁上げフリップフロ
ップCで入手できることになる。C=1のときは、A≧
Bであり商のビット1がq0 の桁に挿入される。つぎに
部分剰余(partial remainder )が左にシフトされて処
理が繰り返される。C=0のときは、A<Bであり商の
ビット0がq0 の桁に挿入される(q0 にセットする値
はシフト中にロードしてもよい)。つぎにBの値が加算
されてAの中の部分剰余を前の値に復元、桁上げフリッ
プフロップを1にセットする。つぎに部分剰余は左にシ
フトされ、商に必要な全ビットが形成されてしまうまで
この処理が繰り返される。
【0029】ハードウエア除算ユニットの総合動作は、
初期部分剰余を64ビットから32ビットに減少させる
と同時に、商を32ビットに増加させる傾向があること
が判る。32−ビットの商が縦続接続されたレジスタ
(cascaded register )へ右から入力されると、(当初
被除数であった)部分剰余の上位部は連結されたレジス
タA、Qの左端から押し出される。レジスタBは、(デ
ータバスの)情報をロードするためにだけ要求される。
すなわち除数レジスタBは、レジスタA、Qと同様なシ
フト機能は要求されない。
【0030】図6は、4つの連続した除算命令によっ
て、完全な32−ビット商を分割して発生させる方法が
得られることを示している。第1の命令は、64−ビッ
ト被除数(被除数#1、被除数#2)から始まって、商
の最上位8ビットを部分商(PQt)として発生させ
る。第1の命令の後の8−ビット部分商には56−ビッ
ト部分剰余が付随している。
【0031】第2の命令は、レジスタA、Qに対する入
力として第1の命令の結果、すなわち、56−ビット部
分剰余と8−ビット部分商を持っている。つぎに第2の
命令は、前述のように、シフト、減算および回復動作に
より商の次の8−ビットの計算に進む。第2の命令の終
りで、レジスタA、Qには48−ビット部分剰余と16
−ビット部分商とが含まれる。
【0032】同様に第1と第2の命令に続いて、第3の
命令も40−ビット部分剰余と24−ビット部分商を発
生させる。
【0033】最終除算命令、すなわち第4の命令は、入
力として40−ビット部分剰余と24ビットの部分商を
とり、最終的に希望する32−ビット剰余と32−ビッ
ト商を発生させる。剰余と商は、それぞれレジスタA、
Qの中に保持される。
【0034】図5に戻ると、各命令の初めで、除数はレ
ジスタBにロードされ、被除数、部分剰余および部分商
のオペランドはレジスタA、Qにロードされる。マルチ
プレクサ30はレジスタAの入力の値を選択する働きを
し、マルチプレクサ32は、レジスタQの入力の値を選
択する。マルチプレクサ32は除算演算のシフト、減算
および回復のサイクルが行われる間に、減算演算を実行
する32−ビット加算器34からの桁上げビットを、レ
ジスタQの最下位ビットq0 に選択的に送る働きをす
る。同時にマルチプレクサ30は、これらのサイクル中
に32−ビット加算器34の出力を選択してレジスタA
に入れる働きをするが、前記サイクルの間、レジスタB
に格納された除数は、商ビット1と新しい部分剰余の値
とに対応する現在の部分剰余より小さいが、それ以外の
場合はレジスタAに格納された値は変化しない。
【0035】前述の通り、本発明は(除算動作を)早く
終了させる可能性を高める働きをする。より詳細には、
64入力NORゲート36は、除算演算が進行するのに
ともなって発生する部分剰余の現在値を監視する働きを
している。部分剰余の値が0になると、最終結果に到着
するためのシフト、減算および回復動作は必要がなくな
り、既に計算された商ビットより低位の商ビットはすべ
て0に等しくなる。この場合、商の最終的な値を発生す
るため、0の商ビットを低位の桁に送って、低位の桁に
送られる未計算の商ビットに等しい桁数だけ、部分商
(PQt)を左にシフトする必要がある。NORゲート
36をレジスタA、Qの部分剰余にだけ対応させるた
め、ブランキング回路38がレジスタQとNORゲート
36との間に挿入される。ブランキング回路は、部分剰
余(PQt)によって現在占有されている桁に対応する
ビットの値が通過することを逐次(progressively )遮
断する。部分剰余の有効ビットのすべての桁で部分剰余
が0になることを検出するNORゲート36の動作を妨
害しないように、ブランキング回路38が遮断する低位
ビットの入力には0の値が供給される。
【0036】部分剰余が0であることをNORゲート3
6が検出すると、信号が発行されてCPSRレジスタ2
6のゼロ結果フラグ(Zflag)をセットする。つぎ
に、部分商を最終の32−ビット商に揃えるため適切な
量だけ部分商が左にシフトされる。除算命令は条件付き
命令であって、CPSRレジスタ26のゼロフラグ(Z
flag)がセットされていると、除算命令の条件フラ
グは、除算命令をスキップしなければならないことを示
している。このように動作する条件付き命令セットは、
アドバンスドRISCマシン株式会社製のARM6マイ
クロプロセッサのようなマイクロプロセッサから知られ
ている。これに代わるものとして、除算命令の間に、標
準アーキテクチャーシステムの条件付きブランチ命令を
使用して早く終了させてもよい。
【0037】図1に示す命令デコーダおよび論理制御ユ
ニット18は、部分剰余の値に依存して隣接除算命令間
のデータ処理を中断する手段の役目をしている。上の例
では各除算命令毎に1つ計算された複数ビット部の商
は、8−ビット部である。これらの複数ビット部は、割
込みが発生する可能性とコード密度との間の適切なトレ
ードオフに依存して別の大きさにしてもよい。
【0038】図5に示す除算器ハードウエアは、使用で
きるハードウエアの一例に過ぎないことが判る。異なる
除算器ハードウエアを使用すれば、それぞれが複数ビッ
ト部の商を発生させなければならない複数の除算命令を
有する利点からの利益を享受することさえ可能である。
多数の異なる除算器ハードウエアの実現については、当
業者には公知である。
【0039】以上、添付図面を参照して本発明の実施例
を詳細に説明してきたが、本発明はこれらの精密な実施
例に限定されるものではなく、当業者ならば、本発明の
範囲と精神から逸脱せずに、添付の請求の範囲に定義さ
れているような各種の変更や修正ができることを理解さ
れたい。
【図面の簡単な説明】
【図1】集積回路マイクロプロセッサの形をしたデータ
処理システムを示す図。
【図2】レジスタバンクと演算装置の間で転送されるデ
ータ値を示す模式図。
【図3】シフト−減算−復元する除算演算の第1の例を
示す図 。
【図4】シフト−減算−復元する除算演算の第2の例を
示す図。
【図5】ハードウエア除算器を示す図。
【図6】異なる除算命令に応答して実行する動作を示す
模式図。
【符号の説明】
2 プロセッサコア 4 メモリシステム 6 レジスタバンク 8 演算装置 14 データ書込みレジスタ 16 命令パイプライン 18 命令デコーダ 20 データ読出しレジスタ 22 プログラムカウンタレジスタ 24 プログラムカウンタ増分器 26 現用プログラミング状態レジスタ 28 退避用プログラミング状態レジスタ 30 マルチプレクサ 32 マルチプレクサ 34 32−ビット加算器 36 64入力NORゲート 38 ブランキング回路 C 桁上げフリップフロップ

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 命令コードに応答してデータを処理する
    装置であって、 複数の異なる除算命令コードに応答して、それぞれの複
    数ビット部のX−ビット商を発生させる専用除算回路、
    を含むことを特徴とする装置。
  2. 【請求項2】 請求項1記載の装置であって、前記X−
    ビット商はY−ビット被除数とZ−ビット除数から発生
    することを特徴とする装置。
  3. 【請求項3】 請求項2記載の装置であって、各レジス
    タがそれぞれ前記X−ビット商、Y−ビット被除数およ
    びZ−ビット除数を格納する複数のレジスタバンクを含
    むことを特徴とする装置。
  4. 【請求項4】 請求項3記載の装置であって、 当初前記Y−ビット被除数を格納する1つあるいはそれ
    以上のレジスタは、前記X−ビット商の発生が進行する
    のにつれてY−ビット剰余を格納することを特徴とする
    装置。
  5. 【請求項5】 請求項3記載の装置であって、nx 、n
    y 、nz を整数として、前記レジスタのそれぞれは、N
    ビットの整数倍、すなわち、X=nx *N、Y=ny
    N、およびZ=nz *Nビットを格納することを特徴と
    する装置。
  6. 【請求項6】 請求項5記載の装置であって、前記レジ
    スタバンクは、それぞれのレジスタに同時にアクセスで
    きる3つのデータ経路を持っていることを特徴とする装
    置。
  7. 【請求項7】 請求項1記載の装置であって、nmbp
    整数で複数ビット部はオーバーラップしていないとし
    て、前記X−ビット商はnmbp 個の前記複数ビット部を
    含むことを特徴とする装置。
  8. 【請求項8】 請求項1記載の装置であって、前記複数
    ビット部は、8−ビット部を含むことを特徴とする装
    置。
  9. 【請求項9】 請求項2記載の装置であって、X=Y=
    64でかつZ=32であることを特徴とする装置。
  10. 【請求項10】 請求項1記載の装置であって、隣接す
    る除算命令コードの間で動作可能な割込み手段を含むこ
    とを特徴とする装置。
  11. 【請求項11】 請求項1記載の装置であって、初期被
    除数がゼロのときは、除算命令コードに対する前記初期
    被除数に応答して、前記除算命令コードをスキップする
    手段を含むことを特徴とする装置。
  12. 【請求項12】 請求項11記載の装置であって、前記
    初期被除数がゼロのときは、前記除算命令コードは、命
    令をスキップしなければならないことを示すフラグを持
    つ条件付き実行フィールドを含むことを特徴とする装
    置。
  13. 【請求項13】 請求項1記載の装置であって、集積回
    路マイクロプロセッサを含むことを特徴とする装置。
  14. 【請求項14】 命令コードに応答してデータを処理す
    る方法であって、 複数の異なる除算命令コードに応答して、専用除算回路
    を使用してX−ビット商のそれぞれの複数ビット部を発
    生させるステップを、含むことを特徴とする方法。
JP7310933A 1994-12-21 1995-11-29 データ処理装置用除算器 Pending JPH08221257A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB94257862 1994-12-21
GB9425786A GB2296350B (en) 1994-12-21 1994-12-21 Data processing divider

Publications (1)

Publication Number Publication Date
JPH08221257A true JPH08221257A (ja) 1996-08-30

Family

ID=10766280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7310933A Pending JPH08221257A (ja) 1994-12-21 1995-11-29 データ処理装置用除算器

Country Status (3)

Country Link
US (1) US5748518A (ja)
JP (1) JPH08221257A (ja)
GB (1) GB2296350B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073323A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Ind Co Ltd 演算処理装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898865A (en) * 1997-06-12 1999-04-27 Advanced Micro Devices, Inc. Apparatus and method for predicting an end of loop for string instructions
US6032252A (en) * 1997-10-28 2000-02-29 Advanced Micro Devices, Inc. Apparatus and method for efficient loop control in a superscalar microprocessor
US6094669A (en) * 1998-04-08 2000-07-25 Advanced Micro Devices, Inc. Circuit and method for determining overflow in signed division
US6125380A (en) * 1998-04-13 2000-09-26 Winbond Electronics Corporation Dividing method
US7167891B2 (en) 2003-03-21 2007-01-23 Intel Corporation Narrow data path for very high radix division
US8819098B2 (en) 2010-11-23 2014-08-26 International Business Machines Corporation Computation of a remainder by division using pseudo-remainders

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4065666A (en) * 1976-10-15 1977-12-27 Rca Corporation Multiply-divide unit
US4224676A (en) * 1978-06-30 1980-09-23 Texas Instruments Incorporated Arithmetic logic unit bit-slice with internal distributed iterative control
US4555768A (en) * 1983-06-07 1985-11-26 Rca Corporation Digital signal processing system employing logarithms to multiply and divide
JPS60164837A (ja) * 1984-02-07 1985-08-27 Nec Corp 除算装置
CA1252213A (en) * 1986-08-28 1989-04-04 Andrew G. Deczky Digital signal processor with divide function
US4881193A (en) * 1986-09-04 1989-11-14 Hitachi, Ltd. Rational number operation unit for reduction
US4860241A (en) * 1986-10-30 1989-08-22 Harris Corporation Method and apparatus for cellular division
US4916531A (en) * 1988-03-23 1990-04-10 Data Translation, Inc. Color video processing circuitry
US4872214A (en) * 1988-04-01 1989-10-03 Digital Equipment Corporation Method and apparatus for high performance division
JPH07104784B2 (ja) * 1990-04-03 1995-11-13 富士ゼロックス株式会社 デジタルデータ処理装置
JP2535252B2 (ja) * 1990-10-17 1996-09-18 三菱電機株式会社 並列処理装置
JPH04172526A (ja) * 1990-11-07 1992-06-19 Toshiba Corp 浮動小数点除算器
JPH04283831A (ja) * 1991-03-13 1992-10-08 Fujitsu Ltd 除算器
US5262973A (en) * 1992-03-13 1993-11-16 Sun Microsystems, Inc. Method and apparatus for optimizing complex arithmetic units for trivial operands
US5442581A (en) * 1993-11-30 1995-08-15 Texas Instruments Incorporated Iterative division apparatus, system and method forming plural quotient bits per iteration
US5611029A (en) * 1995-01-31 1997-03-11 Compaq Computer Corporation Run slice line draw engine with non-linear shading capabilities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073323A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Ind Co Ltd 演算処理装置

Also Published As

Publication number Publication date
US5748518A (en) 1998-05-05
GB2296350B (en) 1999-10-06
GB2296350A (en) 1996-06-26
GB9425786D0 (en) 1995-02-22

Similar Documents

Publication Publication Date Title
US6151669A (en) Methods and apparatus for efficient control of floating-point status register
US5682545A (en) Microcomputer having 16 bit fixed length instruction format
US8918627B2 (en) Multithreaded processor with multiple concurrent pipelines per thread
US5675777A (en) Architecture for minimal instruction set computing system
JP3759647B2 (ja) 24ビットおよび16ビット算術演算の双方を実行するための装置および方法
US5093908A (en) Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
JP2021174506A (ja) 事前設定された未来時間において命令を実行するためのパイプライン制御を備えるマイクプロセッサ
US5440702A (en) Data processing system with condition code architecture for executing single instruction range checking and limiting operations
KR100446564B1 (ko) 데이타처리시스템및이시스템에서의연산실행방법
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
US6216222B1 (en) Handling exceptions in a pipelined data processing apparatus
JP4219507B2 (ja) コンピュータ動作方法
JPH07105025A (ja) 選択的セーブ方法及びシステム
JPH08221257A (ja) データ処理装置用除算器
US6212539B1 (en) Methods and apparatus for handling and storing bi-endian words in a floating-point processor
JP2000122850A (ja) 浮動小数点計算実施方法
JPS6227412B2 (ja)
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
JP3556252B2 (ja) オフセット合計を計算するデータ処理システムとその方法
JPH1091395A (ja) プロセッサ
US11080054B2 (en) Data processing apparatus and method for generating a status flag using predicate indicators
JPH04130537A (ja) データ処理装置
JP4015411B2 (ja) 演算装置及びその演算装置を用いた情報処理装置
JP3539914B2 (ja) マイクロコンピュータ
JP2559929B2 (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050628