JPH02109130A - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH02109130A
JPH02109130A JP63260611A JP26061188A JPH02109130A JP H02109130 A JPH02109130 A JP H02109130A JP 63260611 A JP63260611 A JP 63260611A JP 26061188 A JP26061188 A JP 26061188A JP H02109130 A JPH02109130 A JP H02109130A
Authority
JP
Japan
Prior art keywords
register
stack
data
arithmetic
mstr
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.)
Granted
Application number
JP63260611A
Other languages
English (en)
Other versions
JPH0743649B2 (ja
Inventor
Kuniharu Hashimoto
訓治 橋本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63260611A priority Critical patent/JPH0743649B2/ja
Priority to US07/421,983 priority patent/US5018092A/en
Publication of JPH02109130A publication Critical patent/JPH02109130A/ja
Publication of JPH0743649B2 publication Critical patent/JPH0743649B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • G06F7/785Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

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)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は算術、論理、その他の一般的な演算を行う演
算回路に関し、特にスタックを用いて演算を行なう演算
回路に関する。
〔従来の技術〕
従来、この種のスタック型の演算回路は演算を行なう際
にスタックから必要とするデータをポツプして、演算し
た結果を再びスタックにプッシュするという動作を行な
っている。このように、演算されるデータはスタックに
のみ保存される0そして、スタックをアクセスするだめ
のスタックポインタとしてはアップダウンカウンタが用
いられるO 〔発明が解決しようとする課題〕 上述した従来のスタック型の演算回路は、被演算子をレ
ジスタに保持して演算結果をレジスタに格納する演算回
路(以下レジスタ型演算回路と言う)に対して動作速度
が遅く、またこのレジスタ型演算回路は命令を1サイク
ルで実行できるが、スタック型演算回路はスタックのア
クセスがあるために命令を1サイクルで実行させること
ができない。また、スタックポインタとして用いられる
アップダウンカウンタは構造が複雑になり、カウント方
向の切シ換えに時間がかかるという欠点がある。
〔課題を解決するだめの手段〕
この発明に係る演算回路は、入力端子と出力端子がそれ
ぞれバッファを介して外部バスに接続され演算回路にプ
ッシュされた最新の値を保持する第1のレジスタと、入
力端子と出力端子がそれぞれ第1のレジスタの出力端子
と入力端子に接続され最新の値の1つ前の値を保持する
第2のレジスタと、残υの被演舅−子を保持するスタッ
クとを備え、第1のレジスタの出力と第2のレジスタの
出力を演算器に入力し、演算器の出力結果を第1のレジ
スタに返還するようKしたものである。
〔作用〕
この発明はスタックのアクセスと演算器の演算動作を同
時に実行でき、クロックの1サイクルで動作を完了する
ことができる。
〔実施例〕
第1図はこの発明に係る演算回路の一実施例を示すブロ
ック図である。同図において、18〜1fハハツフア、
23〜2Cは2人力1出力のデータセレクタ、3はスタ
ック、4はこのスタック3の最上位にあるデータを保持
するレジスタ(MSTR)、5はこのスタック3の最上
位の次のデータを保持するレジスタ(58TR)、13
は下記の加q−器の出力が新しいダウンカウンタの値と
して入力され、第21iQ(a)に示す実行サイクル’
[l’x%pz〜の終シのクロックの立ち上がりによっ
て更新されるダウ7カウンタ(sp)、rはこのダウン
カラ/り(sp)6の出力値に「1」を加える加賀器(
iNC)、8は実際の演算を行なう演算器、9a〜9」
は信号線である。
なお、上記レジスタ(MSTR)4およびレジスタ(S
STR)5は第2図(a)に示す実行サイクルTx、T
z、Ta、〜の終りで、第2図(b)に示すクロックの
立上りによって各々に入力されている値に更新される。
また、スタック3も同様にバッファ1fからのアドレス
で示される番地の飴に更新される。また、第2図は演算
回路の動作を示すタイムチヤードであり、第2図(c)
は実行される演算命令を示し、第2図(d)は信号線9
a上のデータを示し、第2図(e)はレジスタ(MST
R)4のデータを示し、第2図(f)はレジスタ(8S
TR)5のデータを示し、第2図(―は信号線9g上の
データを示し、第2図(h)はダウンカウンタ(sp)
のデータを示し、第2図(1)は加算器(INC)7の
出力を示し、第2図(」)は信号線9j上のデータを示
す。
次に、上記構成による演算回路の動作について第2図(
a)〜第2図(j)を参照して説明する。ます、外部か
らスタック3ヘデータがプッシュされる場合、外部から
のデータは、信号線9a−バッファ1a−信号線9b−
セレクタ2aを介してレジスタ(MSTR)4に入力す
る。また、このレジスタ(MSTR)4のデータは、信
号線9C−セレクタ2bを介してレジスタ(SSTR)
5に入力する。
そして、このレジスタ(SSTR)5のデータは、信号
線9C−バッファ1e−信号線9gを介してスタック3
に入力する。このときのスタック3のアドレスは、加算
器(INC)7によってダウン力ウノタ(SP)6の値
に「1」が加えられ、その結果がセレクタ2Cからバッ
ファ1fを介して与えられる。もし、プッシュ命令を実
行している最中に外部から命令の中止が強制された場合
でも、クロックの立ち上がυ前ならば命令の中止が可能
である。この場合、既にスタック3の値が更新されてい
ても、ダウンカウンタ(SP)6が更新されない限りは
スタック3内のデータは保証される。次に、スタック3
から外部へデータをポツプする場合、スタック3の最上
位のデータは、レジスタ(MSTR)4  C!号線9
C−バッファ1b−(、M号線9aを、JILで外部に
出力される。そして、スタック3の2番目のデータは、
レジスタ(SSTR)5−信号線9e−データセレクタ
2aで選択されてレジスタ(MSTR)4に入力する。
このレジスタ(SSTR)5に入力されるべきデータは
、スタック3信号線9g−バッファ1d−データセレク
タ2bで選択され、レジスタ(SSTR)5に入力され
る。
このときのスタック3のアドレスは、ダウンカウンタ(
SP)6の値がセレクタ2Cで選択されてバツファ1f
からスタック3に入力する。そして、実行サイクルTl
、T2.・・・・の終りのクロックの立ち上がりによっ
てレジスタ(MSTR)4とレジスタ(SSTR)5は
更新され、ダウンカラ/り(SP)6はその値をデクリ
メントする。この場合も、外部から命令を中止された場
合、レジスタ(MSTR)4゜レジスタ(SSTR)5
 、ダウ、/カウンタ(SP)6の更新を中止すること
で命令を中止できる。次に、スタック3の最上位のデー
タと2番目のデータを被涌算子とした二項演算を行う場
合、演算されるデータはレジスタ(MSTR)4から信
号線9Cを介して演算器8に入力する一方、レジスタ(
SSTR)5から信号線9eを介して演算器8に入力し
、この演算器8で演算が実行される。演算結果は、信号
線9d−バッファ1C−セレクタ2aを介してレジスタ
(MOTR)4に入力する。また、レジスタ(SSTR
)5にセットされるデータはポツプ動作の時と同様にス
タック3から与えられ、このときのスタック3のアドレ
スも同様にダウンカウンタ(SP)6の値が与えられる
。そして、実行サイクルの終わりのクロックの立ち上が
シでレジスタ(MSTR)4とレジスタ(SSTR)5
は更新され、ダウンカウンタ(SP)6の値はデクリメ
ントされる。
この場合も、ポツプ動作と同様に、レジスタ(MSTR
)4 、レジスタ(SSTR)5 、ダウンカウンタ(
SP)6の更新を中止することで演舞[命令を中止でき
る。次に、スタックの最上位のデータを被演算子とした
単項演算を行々う場合は、演算されるデータがレジスタ
(MSTR)4−信号線9Cによって演算器8に与えら
れ、この演算器8で演算が実行される。演算結果は、信
号線9d−バッファ1C−データセレクタ2aを介して
レジスタ(MSTR)4に入力される。そして、第2図
(a)に示す実行サイクルの終9のクロック(第2図(
bl参照)の立ち上がりでレジスタ(MSTR)4は更
新される。この場合も、演算命令の中止はレジスタ(M
STR)4の更新を中止することで行える0次に、−例
としてC= X0T(A) AND(Blの式の計算に
ついて説明する。まず、第2図(C)に示す演算命令に
おいて、その実行サイクルTIでプッシュ命令を実行す
ると、第2図(d)に示す信号線9a上のデータrAJ
は、バッファ1a−i号線9 b−ブタセレクタ2aを
介してレジスタ(MSTR)4に第2図(e)に示すよ
うに読み込まれる。このとき、このレジスタ(MSTR
)4の値Xは、信号線9Cデータセレクタ2bを介して
第2図(f)に示すようにレジスタ(SSTR)5に移
動する。そして、ダウンカウンタ(SP)6には加算器
(INC)7の値がセットされ、第2図(h)に示すよ
うにセットすることができる。次に、実行サイクルTg
[おいて、第2図(C)に示すXOT命令を実行すると
、データrAJの否定rAJがレジスタ(MSTR)4
にセットされるが、他の値は変化し々い。次に、実行サ
イクルT8において、第2図(C)に示すプッシュ命令
を実行すると第2図(d)に示す信号線9a上のブタB
が、バッファ1a−信号線9b−データセレクタ2aを
介してレジスタ(MSTR)4に第2図(e)に示すよ
うに読み込まれ、その他の動作は前記の実行サイクルT
lと同様である。次に、実行サイクルT4において、第
2図(C)に示すAND命令を実行すると、X0T(4
)と(B)のANDがレジスタ(MSTR)4にセット
され、レジスタ(SSTR)5にはスタック3から前の
データXが戻ってくる。このため、ダウンカウンタ(S
P)6の値は82図(h)に示すようにデクリメントさ
れる。次に、実行サイクルT5において、第2図(C)
に示すポツプ命令を実行すると、第2図(e)に示すよ
うにレジスタ(MSTR)4にある演算結果が、信号線
9C−バッファ1b−信号線9aを介して第2図(d)
に示すように外部データバスに出力される。そして、レ
ジスタ(MSTR)4にはレジスタ(SSTR)5から
値Xが戻され、レジスタ(SSTR)5にはスタック3
から値Yが戻される。そして、ダウンカウンタ(SP)
6の値はデクリメントされる。
〔発明の効果〕
以上詳細に説明したように、この発明に係る演算回路に
よれば、被演算子を保持するレジスタを付加し、併せて
スタックボインクと加算器を用いることにより、スタッ
クのアクセスと演算を同時に実行できる。また、クロッ
クの1サイクルで動作を完了できるためその動作速度を
高速化することができる。しかも、レジスタおよびカウ
ンタの更新が実行サイクルの最後に行われるため、実行
中の全ての命令を外部からの信号によって強制的に中止
することができる々どの効果がある。
【図面の簡単な説明】
第1図はこの発明に係る演算回路の一実施例を示すブロ
ック図、第2図(a)〜@2図(jlは第1図の動作を
示すタイムチャートである。 ja〜ife@@eバッファ、2a〜2C@@ll@デ
ータセレクク、3φ・−ψスタック、4争・・―レジス
タ(MSTR)、 5・・−・レジスタ(SSTR)、
6・・豐・ダウンカウンタ(sp)、T噛・・・加算器
(INC)、8 ・・・・演算器。

Claims (1)

    【特許請求の範囲】
  1. 被演算子を保持するスタック構造を有し、演算命令によ
    つてスタック上の被演算子を用いた演算を行い、その結
    果を再びスタックに格納する演算回路において、入力端
    子と出力端子がそれぞれバッファを介して外部バスに接
    続され演算回路にプッシュされた最新の値を保持する第
    1のレジスタと、入力端子と出力端子がそれぞれ第1の
    レジスタの出力端子と入力端子に接続され最新の値の1
    つ前の値を保持する第2のレジスタと、残りの被演算子
    を保持するスタックとを備え、第1のレジスタの出力と
    第2のレジスタの出力を演算器に入力し、演算器の出力
    結果を第1のレジスタに返還することを特徴とする演算
    回路。
JP63260611A 1988-10-18 1988-10-18 演算回路 Expired - Lifetime JPH0743649B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63260611A JPH0743649B2 (ja) 1988-10-18 1988-10-18 演算回路
US07/421,983 US5018092A (en) 1988-10-18 1989-10-16 Stack-type arithmetic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63260611A JPH0743649B2 (ja) 1988-10-18 1988-10-18 演算回路

Publications (2)

Publication Number Publication Date
JPH02109130A true JPH02109130A (ja) 1990-04-20
JPH0743649B2 JPH0743649B2 (ja) 1995-05-15

Family

ID=17350336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63260611A Expired - Lifetime JPH0743649B2 (ja) 1988-10-18 1988-10-18 演算回路

Country Status (2)

Country Link
US (1) US5018092A (ja)
JP (1) JPH0743649B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055352A (ja) * 1996-08-08 1998-02-24 Fuji Xerox Co Ltd 浮動小数点数累積加算装置
US8862653B2 (en) 2011-04-26 2014-10-14 University Of South Carolina System and method for sparse matrix vector multiplication processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3564226A (en) * 1966-12-27 1971-02-16 Digital Equipment Parallel binary processing system having minimal operational delay
JPS541135B1 (ja) * 1967-07-22 1979-01-20
US4587632A (en) * 1980-05-27 1986-05-06 At&T Bell Laboratories Lookahead stack oriented computer
US4799181A (en) * 1986-09-30 1989-01-17 Honeywell Bull Inc. BCD arithmetic using binary arithmetic and logical operations

Also Published As

Publication number Publication date
JPH0743649B2 (ja) 1995-05-15
US5018092A (en) 1991-05-21

Similar Documents

Publication Publication Date Title
US4758945A (en) Method for reducing power consumed by a static microprocessor
EP0087978B1 (en) Information processing unit
US4748559A (en) Apparatus for reducing power consumed by a static microprocessor
JPS6117484Y2 (ja)
JPS6097435A (ja) 演算処理装置
JPS6151243A (ja) レジスタ式演算処理装置
JPH0123806B2 (ja)
JPH02306337A (ja) 浮動小数点データ正規化方式
US5410721A (en) System and method for incrementing a program counter
JPS6124729B2 (ja)
JPS6227412B2 (ja)
JP2559868B2 (ja) 情報処理装置
JPH034936B2 (ja)
EP0594969B1 (en) Data processing system and method for calculating the sum of a base plus offset
JPH02109130A (ja) 演算回路
US4723258A (en) Counter circuit
JP3332606B2 (ja) マイクロプロセッサ
JPS6236575B2 (ja)
JP3014605B2 (ja) ファジィ・コンピュータ
JP3043861B2 (ja) データ処理装置
JPH0831033B2 (ja) データ処理装置
JPH0991118A (ja) 浮動小数点演算装置
SU1109757A1 (ru) Процессор
JP3124361B2 (ja) メモリデータロード装置
JP3139011B2 (ja) 固定小数点プロセッサ