JPH0743649B2 - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH0743649B2
JPH0743649B2 JP63260611A JP26061188A JPH0743649B2 JP H0743649 B2 JPH0743649 B2 JP H0743649B2 JP 63260611 A JP63260611 A JP 63260611A JP 26061188 A JP26061188 A JP 26061188A JP H0743649 B2 JPH0743649 B2 JP H0743649B2
Authority
JP
Japan
Prior art keywords
register
stack
output
input
value
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
JP63260611A
Other languages
English (en)
Other versions
JPH02109130A (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.)
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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は算術,論理,その他の一般的な演算を行う演
算回路に関し、特にスタツクを用いて演算を行なう演算
回路に関する。
〔従来の技術〕
従来、この種のスタツク型の演算回路は演算を行なう際
にスタツクから必要とするデータをポツプして、演算し
た結果を再びスタツクにプツシユするという動作を行な
つている。このように、演算されるデータはスタツクに
のみ保存される。そして、スタツクをアクセスするため
のスタツクポインタとしてはアツプダウンカウンタが用
いられる。
〔発明が解決しようとする課題〕
上述した従来のスタツク型の演算回路は、被演算子をレ
ジスタに保持して演算結果をレジスタに格納する演算回
路(以下レジスタ型演算回路と言う)に対して動作速度
が遅く、またこのレジスタ型演算回路は命令を1サイク
ルで実行できるが、スタツク型演算回路はスタツクのア
クセスがあるために命令を1サイクルで実行させること
ができない。また、スタツクポインタとして用いられる
アツプダウンカウンタは構造が複雑になり、カウント方
向の切り換えに時間がかかるという欠点がある。
〔課題を解決するための手段〕
この発明に係る演算回路は、出力端子が外部バスに接続
されスタツク構造における最上位の値を保持する第1の
レジスタと、出力端子がスタツクデータバスに接続され
最上位の値より1つ前の値を保持する第2のレジスタ
と、スタツクデータバスに接続され第2のレジスタに保
持される値より前の値を保持するスタツクと、第1のレ
ジスタの出力と第2のレジスタの出力が入力される演算
器と、外部バス及び演算器の出力を第1の入力すると共
に、第2のレジスタの出力を第2の入力とし、外部バス
からの入力時と演算時には第1の入力側を選択し、外部
バスへの出力時には第2の入力側を選択してその出力結
果を第1のレジスタの入力とする第1のデータセレクタ
と、第1のレジスタの出力を第1の入力とすると共に、
スタツクデータバスの出力を第2の入力とし、入力時に
は第1の入力側を選択し、演算時と出力時には第2の入
力側を選択してその出力結果を第2のレジスタの入力と
する第2のデータセレクタとを備え、入力時には第2の
レジスタの値をスタツクに格納し、第1のレジスタの値
を第2のレジスタに格納し、外部バスの値を第1のレジ
スタに格納し、出力時には第2のレジスタの値を第1の
レジスタに格納し、スタツクからの値を第2のレジスタ
に格納し、演算時には演算器の出力結果を第1のレジス
タに格納するようにしたものである。
〔作用〕
この発明はスタツクのアクセスと演算器の演算動作を同
時に実行でき、クロツクの1サイクルで動作を完了する
ことができる。
〔実施例〕
第1図はこの発明に係る演算回路の一実施例を示すブロ
ツク図である。同図において、1a〜1fはバツフア、2a〜
2cは2入力1出力のデータセレクタ、3はスタツク、4
はこのスタツク3の最上位にあるデータを保持するレジ
スタ(MSTR)、5はこのスタツク3の最上位の次のデー
タを保持するレジスタ(SSTR)、6は下記の加算器の出
力が新しいダウンカウンタの値として入力され、第2図
(a)に示す実行サイクルT1,T2〜の終りのクロツクの
立ち上がりによつて更新されるダウンカウンタ(SP)、
7はこのダウンカウンタ(SP)6の出力値に「1」を加
える加算器(INC)、8は実際の演算を行なう演算器、9
a〜9jは信号線である。
なお、上記レジスタ(MSTR)4およびレジスタ(SSTR)
5は第2図(a)に示す実行サイクルT1,T2,T3,〜の終
りで、第2図(b)に示すクロツクの立上りによつて各
々に入力されている値に更新される。また、スタツク3
も同様にバツフア1fからのアドレスで示される番地の値
に更新される。また、第2図は演算回路の動作を示すタ
イムチヤートであり、第2図(c)は実行される演算命
令を示し、第2図(d)は信号線9a上のデータを示し、
第2図(e)はレジスタ(MSTR)4のデータを示し、第
2図(f)はレジスタ(SSTR)5のデータを示し、第2
図(g)は信号線9g上のデータを示し、第2図(h)は
ダウンカウンタ(SP)のデータを示し、第2図(i)は
加算器(INC)7の出力を示し、第2図(j)は信号線9
j上のデータを示す。
次に、上記構成による演算回路の動作について第2図
(a)〜第2図(j)を参照して説明する。まず、外部
からスタツク3へデータがプツシユされる場合、外部か
らのデータは、信号線9a−バツフア1a−信号線9b−第1
のデータセレクタ2aを介してレジスタ(MSTR)4に入力
する。また、このレジスタ(MSTR)4のデータは、信号
線9c−第2のデータセレクタ2bを介してレジスタ(SST
R)5に入力する。そして、このレジスタ(SSTR)5の
データは、信号線9e−バツフア1e−信号線9gを介してス
タツク3に入力する。このときのスタツク3のアドレス
は、加算器(INC)7によつてダウンカウンタ(SP)6
の値に「1」が加えられ、その結果がセレクタ2cからバ
ツフア1fを介して与えられる。もし、プツシユ命令を実
行している最中に外部から命令の中止が強制された場合
でも、クロツクの立ち上がり前ならば命令の中止が可能
である。この場合、既にスタツク3の値が更新されてい
ても、ダウンカウンタ(SP)6が更新されない限りはス
タツク3内のデータは保証される。次に、スタツク3か
ら外部へデータをポツプする場合、スタツク3の最上位
のデータは、レジスタ(MSTR)4−信号線9c−バツフア
1b−信号線9aを通して外部に出力される。そして、スタ
ツク3の2番目のデータは、レジスタ(SSTR)5−信号
線9e−データセレクタ2aで選択されてレジスタ(MSTR)
4に入力する。このレジスタ(SSTR)5に入力されるべ
きデータは、スタツク3−信号線9g−バツフア1d−デー
タセレクタ2bで選択され、レジスタ(SSTR)5に入力さ
れる。このときのスタツク3のアドレスは、ダウンカウ
ンタ(SP)6の値がセレクタ2cで選択されてバツフア1f
からスタツク3に入力する。そして、実行サイクルT1
T2,……の終りのクロツクの立ち上がりによつてレジス
タ(MSTR)4とレジスタ(SSTR)5は更新され、ダウン
カウンタ(SP)6はその値をデクリメントする。この場
合も、外部から命令を中止された場合、レジスタ(MST
R)4,レジスタ(SSTR)5,ダウンカウンタ(SP)6の更
新を中止することで命令を中止できる。次に、スタツク
3の最上位のデータと2番目のデータを被演算子とした
二項演算を行う場合、演算されるデータはレジスタ(MS
TR)4から信号線9cを介して演算器8に入力する一方、
レジスタ(SSTR)5から信号線9eを介して演算器8に入
力し、この演算器8で演算が実行される。演算結果は、
信号線9d−バツフア1c−セレクタ2aを介してレジスタ
(MSTR)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)に示す実行サイクルの終りのクロツク
(第2図(b)参照)の立ち上がりでレジスタ(MSTR)
4は更新される。この場合も、演算命令の中止はレジス
タ(MSTR)4の更新を中止することで行える。
次に、一例としてC=XOT(A) AND(B)の式の計算
について説明する。まず、第2図(c)に示す演算命令
において、その実行サイクルT1でプツシユ命令を実行す
ると、第2図(d)に示す信号線9a上のデータ「A」
は、バツフア1a−信号線9b−データセレクタ2aを介して
レジスタ(MSTR)4に第2図(e)に示すように読み込
まれる。このとき、このレジスタ(MSTR)4の値Xは、
信号線9c−データセレクタ2bを介して第2図(f)に示
すようにレジスタ(SSTR)5に移動する。そして、ダウ
ンカウンタ(SP)6には加算器(INC)7の値がセツト
され、第2図(h)に示すようにセツトすることができ
る。次に、実行サイクルT2において、第2図(c)に示
すXOT命令を実行すると、データ「A」の否定「」が
レジスタ(MSTR)4にセツトされるが、他の値は変化し
ない。次に、実行サイクルT3において、第2図(c)に
示すプツシユ命令を実行すると第2図(d)に示す信号
線9a上のデータBが、バツフア1a−信号線9b−データセ
レクタ2aを介してレジスタ(MSTR)4に第2図(e)に
示すように読み込まれ、その他の動作は前記の実行サイ
クルT1と同様である。次に、実行サイクルT4において、
第2図(c)に示すAND命令を実行すると、XOT(A)と
(B)のANDがレジスタ(MSTR)4にセツトされ、レジ
スタ(SSTR)5にはスタツク3から前のデータXが戻つ
てくる。このため、ダウンカウンタ(SP)6の値は第2
図(h)に示すようにデクリメントされる。次に、実行
サイクルT5において、第2図(c)に示すポツプ命令を
実行すると、第2図(e)に示すようにレジスタ(MST
R)4にある演算結果が、信号線9c−バツフア1b−信号
線9aを介して第2図(d)に示すように外部データバス
に出力される。そして、レジスタ(MSTR)4にはレジス
タ(SSTR)5から値Xが戻され、レジスタ(SSTR)5に
はスタツク3から値Yが戻される。そして、ダウンカウ
ンタ(SP)6の値はデクリメントされる。
〔発明の効果〕
以上詳細に説明したように、この発明に係る演算回路に
よれば、被演算子を保持するレジスタを付加し、併せて
スタツクポインタと加算器を用いることにより、スタツ
クのアクセスと演算を同時に実行できる。また、クロツ
クの1サイクルで動作を完了できるためその動作速度を
高速化することができる。しかも、レジスタおよびカウ
ンタの更新が実行サイクルの最後に行われるため、実行
中の全ての命令を外部からの信号によつて強制的に中止
することができるなどの効果がある。
【図面の簡単な説明】
第1図はこの発明に係る演算回路の一実施例を示すブロ
ツク図、第2図(a)〜第2図(j)は第1図の動作を
示すタイムチヤートである。 1a〜1f……バツフア、2a〜2c……データセレクタ、3…
…スタツク、4……レジスタ(MSTR)、5……レジスタ
(SSTR)、6……ダウンカウンタ(SP)、7……加算器
(INC)、8……演算器。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】被演算子を保持するスタツク構造を有し、
    演算命令によつてスタツク構造上の被演算子を用いた演
    算を行い、その結果を再びスタツク構造に格納する演算
    回路において、 出力端子が外部バスに接続されスタック構造における最
    上位の値を保持する第1のレジスタと、 出力端子がスタツクデータバスに接続され前記最上位の
    値より1つ前の値を保持する第2のレジスタと、 スタツクデータバスに接続され第2のレジスタに保持さ
    れる値より前の値を保持するスタツクと、 第1のレジスタの出力と第2のレジスタの出力が入力さ
    れる演算器と、 外部バス及び演算器の出力を第1の入力とすると共に、
    第2のレジスタの出力を第2の入力とし、外部バスから
    の入力時と演算時には第1の入力側を選択し、外部バス
    への出力時には第2の入力側を選択してその出力結果を
    第1のレジスタの入力とする第1のデータセレクタと、 第1のレジスタの出力を第1の入力とすると共に、スタ
    ツクデータバスの出力を第2の入力とし、入力時には第
    1の入力側を選択し、演算時と出力時には第2の入力側
    を選択してその出力結果を第2のレジスタの入力とする
    第2のデータセレクタとを備え、 入力時には第2のレジスタの値をスタツクに格納し、第
    1のレジスタの値を第2のレジスタに格納し、外部バス
    からの値を第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 JPH02109130A (ja) 1990-04-20
JPH0743649B2 true 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
JPH02109130A (ja) 1990-04-20
US5018092A (en) 1991-05-21

Similar Documents

Publication Publication Date Title
US5218564A (en) Layout efficient 32-bit shifter/register with 16-bit interface
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
US4584642A (en) Logic simulation apparatus
JPH045216B2 (ja)
US5410721A (en) System and method for incrementing a program counter
GB1600442A (en) Method and arrangement for calculating linking addresses for microinstructions to be executed in a control memory of a data-processing system
JPS6227412B2 (ja)
JP2752076B2 (ja) プログラマブル・コントローラ
JP2559868B2 (ja) 情報処理装置
JPH034936B2 (ja)
JPH0743649B2 (ja) 演算回路
JPS6141017B2 (ja)
JP2567134B2 (ja) ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ
JPH0222413B2 (ja)
JPH0623977B2 (ja) ベクトル処理装置
JP2749058B2 (ja) データ駆動型制御方法
SU894715A1 (ru) Микропроцессор
JPH0991118A (ja) 浮動小数点演算装置
JPS60144874A (ja) ベクトルデ−タ処理装置
JP3139011B2 (ja) 固定小数点プロセッサ
JP3239042B2 (ja) マイクロコンピュータ
JP3270337B2 (ja) プログラム制御プロセッサおよびマシン語プログラム出力方法
SU1109757A1 (ru) Процессор
JPS6032226B2 (ja) オ−バ−フロ−検出方式
JPS60682B2 (ja) 論理演算装置