JPS63200235A - デ−タプロセツサ - Google Patents

デ−タプロセツサ

Info

Publication number
JPS63200235A
JPS63200235A JP3146187A JP3146187A JPS63200235A JP S63200235 A JPS63200235 A JP S63200235A JP 3146187 A JP3146187 A JP 3146187A JP 3146187 A JP3146187 A JP 3146187A JP S63200235 A JPS63200235 A JP S63200235A
Authority
JP
Japan
Prior art keywords
data
stack
register
stored
stack pointer
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
JP3146187A
Other languages
English (en)
Inventor
Norihisa Suzuki
鈴木 則久
Toru Nojiri
徹 野尻
Koichi Nakano
公一 中野
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3146187A priority Critical patent/JPS63200235A/ja
Publication of JPS63200235A publication Critical patent/JPS63200235A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、データプロセッサに関し、例えば高級言語
によるデータの演算を行うプロセッサに利用して有効な
技術に関するものである。
〔従来の技術〕
演算制御のためのレジスタ構成技術としては、演算を行
うレジスタ(被演算数、演算数及び結果を入れるレジス
タ)をアキュムレータと固定せず、任意のレジスタ間で
演算を行う方式が公知である。
この方式では、適当な数の1群のレジスタを汎用レジス
タとして持つことにより、演算効率を良くしようとする
ものである。また、上記演算レジスタとして、更に多く
の記憶容量を持つスクラッチパッドメモリ(一時記憶装
置)を用いることにより、演算時に伴うレジスタ間転送
を簡略化を図ったスクラッチパッドメモリ方式も提案さ
れている。
このような演算制御のためのレジスタ構成技術に関して
は、例えば、社団法人発明協会、昭和56年4月10日
発行「特許からみたマイクロコンピュータシステム1頁
322〜頁323がある。
〔発明が解決しようする問題点〕
上記レジスタ構成技術にあっては、複数の汎用レジスタ
の中から、一対の演算を行うレジスタを指定しなければ
ならない。このため、その演算すべきデータの格納や演
算結果の取り出しに逐一レジスタを指定するためのアド
レス信号を発生しなければならないという煩わしさがあ
り、その分データの格納や取り出し及び演算速度が遅く
なる。
そこで、本願発明者等は、連続した複数のレジスタから
なるスタックを利用して演算のためのレジスタを構成す
ることを考えた。上記スタックはスタックポインタによ
る+1又は−1の歩進動作に従って自動的にレジスタの
指定が行われるためデータの格納や取り出しが而単にな
り、漸化的なオペレージジンを高速に行うこと°ができ
る。
しかしながら、スタックを用いた場合においても、1つ
の命令サイクルにおいてスタックは1回しかアクセスで
きないから、データの演算においては、スタックポイン
タが指定するスタックの内容を演算を行うレジスタに転
送した後、上記スタックポインタを−1(デクリメント
)させる。この後上記スタックポインタが指定するスタ
ックのデータを演算ユニットに供給して、上記演算を行
うレジスタに既に格納されたデータとの演算を行う等の
ように、比較的多くの動作サイクルを必要とするもので
ある。
この発明は、少ない動作サイクルにより漸化的なデータ
処理を実現したデータプロセッサを提供することにある
この発明の前記ならびにそのほかの目的と新規な特徴は
、本明細書の記述および添付図面から明らかになるであ
ろう。
〔問題点を解決するための手段〕
本願において開示される発明のうち代表的なものの概要
を節単に説明すれば、下記の通りである。
すなわち、演算すべきデータをスタックを利用して格納
する方式を採用するとともに、データをスタックに取り
込む命令サイクルでは、スタックポインタを+1歩進動
作を行わせて演算を行うレジスタに保持されたデータを
上記スタックポインタが指示するスタックに格納した後
上記レジスタに新たなデータを格納し、データをスタッ
クから取り除く命令サイクルでは、上記レジスタに保持
されたデータを読み出した後上記レジスタにスタックポ
インタが指示するスタックに格納されたデータを転送す
るとともにスタックポインタを−1の歩道動作を行わせ
る。
〔作 用〕
上記した手段によれば、演算を行うレジスタには、常に
演算すべき最新のデータが格納されており、スタックポ
インタが指定するスタックにはその前に取り込まれたデ
ータが格納されるから、演算の要求に応じて即時の演算
実行が可能となる。
〔実施例〕
第1図には、この発明に係るデータプロセッサの要部一
実施例のブロック図が示されている。同図の各回路ブロ
ックは、公知の半導体集積回路の製造技術によって、特
に制限されないが、単結晶・シリコンのような1つの半
導体基板上において形成される。
スタックSTCは、連続した複数のレジスタSOないし
Snから構成される。上記スタックSTCは、それぞれ
制御信号C1,C2によって制御されるゲート回路Gl
、G2を介してそれぞれ一対のデータバスBA、BBに
選択的に結合される。
上記スタックSTCを構成する複数のレジスタSOない
しSnのうち、スタックポインタSPによって指定され
た1つのレジスタが、上記ゲート回路G1又はG2を介
して上記バスBA又はBBに結合される。
上記スタックポインタSPは、後述するようなデータを
格納を指示する命令(PUSH)を実行する特定のマシ
ンサイクルおいて+1のインクリメント動作を行い、デ
ータの取り出しを指示する命令(POP)を実行する特
定のマシンサイクルにおいて−1のデクリメント動作を
行う。このような歩進動作は、制御信号C5によって行
われる。
この制御信号C5には、上記+1又は−1の指示を行う
制御信号と、その動作タイミング信号が含まれる。
演算ユニットALUは、特に制限されないが、算術演算
機能及び論理演算機能を持ち、その演算命令に従った演
算モードにより、演算を行うレジスタRのデータと、特
に制限されないが、一方のデータバス上B上のデータと
の演算を行う。この演算結果は、特に制限されないが、
一対のデータバスBA及びBB上に送出される。
上記演算のためのレジスタRは、制御信号C3゜C4に
よって制御されるゲート回路G3.G4を介して上記一
対のデータバスBA、BBに結合される。
上記各制御信号CIないしC5は、図示しないマイクロ
プログラムROM (以下mROMと称する)により一
定の順序で形成される。
なお、特に制限されないが、データバスBAは、図示し
ない演算を行うべきデータ等が格納されるメモリ回路と
結合されている。
第2図には、スタックSTCにデータを格納する動作を
説明するための概念図が示されている。
スタックSTCに演算を行うべきデータを格納する動作
は、ブツシュ(P U S H)命令により実行される
。例えば、PUSH,Aのように表現された命令を発行
すると、最初のサイクル+11において制御信号C5が
形成されてスタックポインタSPに+1のインクリメン
ト動作を行わせる。これと平行して上記データAが格納
されたメモリ回路等がアクセスされてデータバス上にデ
ータAの読み出しが開始される。次のサイクル(2)に
おいて、制御信号C2と04が形成されてゲート回路G
2と04が開いて上記スタックポインタSPが指示した
+1されたレジスタS10に、レジスタRに保持されて
データ(Y)がデータバスBBを介して転送される。そ
して、最後のサイクル(3)において、制御信号C3が
形成されてゲート回路G3が開いてデータバス上A上の
データ(A)をレジスタRに格納させる。
このよ゛うな動作の繰り返しによって、同図において例
示的に示されているスタックS5ないしS9には、既に
データ(T)ないしくX)が順次格納されたものである
このようなデータの取り込みにより、レジスタRに最新
のデータが格納され、スタックポインタSPによって指
示されるスタックトップにはその前に取り込まれたデー
タを格納することができる。
すなわち、レジスタSOにデータが格納されていない状
態を除いて、何時でも演算命令の発行をすると、上記レ
ジスタRに格納されたデータとスタックトップのデータ
との演算を行うことが可能となる。
第3図には、スタックSTCからデータを取り除く動作
を説明するための概念図が示されている。
スタックSTCに格納されているデータを取り除く動作
は、ポツプ(POP)命令により実行される。例えば、
POP、Aのように表現された命令を発行すると、最初
のサイクル(1)において制御信号C3が形成されてゲ
ート回路G3が開いてレジスタRに格納されているデー
タ(A)が、データバスBAを介して図示しないメモリ
回路に転送される。次のサイクル(2)において、制御
信号C2と04が形成されてゲート回路G2とG4が開
いて上記スタックポインタSPが指示しているレジスタ
S10のデータ(Y)がレジスタRに転送される。そし
て、最後のサイクル(3)において、制御信号C5が形
成されてスタックポインタSPに−1のデクリメント動
作を行わせる。
このような動作の繰り返しによって、同図において例示
的に示されているスタックs5ないしS9には、既にデ
ータ(T)ないしくX)を順次取り出しことができる。
このようなデータの取り除き動作においても、レジスタ
Rには最新のデータが格納され、スタックポインタSP
によって指示されるスタックトップにはその1つ前のデ
ータとすることができる。
すなわち、上記同様にレジスタSOにデータが格納され
ていない状態を除いて、何時でも演算命令の発行をする
と、上記レジスタRに格納されたデータとスタックトッ
プのデータとの演算を行うことが可能となる。
第4図には、演算命令の実行動作を説明するための概念
図が示されている。例えば、加算を指示する命令は、プ
ラス(+)命令により実行される。
例えば、十のように表現された命令を発行すると、最初
のサイクル(11において制御信号C2が形成されてゲ
ート回路G2が開いてスタックポインタSPが指示する
レジスタSIOのデータ(Y)が演算ユニットの一方の
入力に供給され、演算ユニッ’ )ALUはレジスタR
に格納されたデータ(A)との加算動作(Y+A)を行
う。最後のサイクル(2)において、制′a信号C3が
形成されてゲート回路G3が開いて、上記演算ユニット
ALUの出力信号Y+AがデータバスBAを介してレジ
スタRに取り込まれる。すなわち、レジスタRに保持さ
れるデータは、上記演算の実行により、データ(A)か
らデータ(Y+A)のように置き換えられる。
したがって、上記演算命令+とPOP命令を一対として
スタックトップがレジスタS5を指定するまで繰り返し
て実行すると、上記データ人ないしTの総和がレジスタ
Rに格納される。
また、上記演算命令十とPtJSl(命令を一対として
繰り返して実行すると、順次加算されたデータが積み重
なって各レジスタSllないし315等に格納されるも
のである。
この実施例においては、上記のようにスタックへのデー
タの格納及び取り除きにおいて、そのデータを演算用の
レジスタを仲介して行わせるものであるため、実質的な
スタックトップのデータがレジスタに格納され、スタッ
クポインタは次のデータが格納されたスタックを指示す
るものであるため何時でも演算命令を発行することがで
きる。
言い換えるならば、演算のためだけに演算を行うレジス
タのスタックとの間でのデータ転送サイクルを省略でき
る。これによって、演算処理の大幅な高速化が可能とな
る。
上記の実施例から得られる作用効果は、下記の通りであ
る。すなわち、 (11演算すべきデータをスタックを利用して格納する
方式を保用するとともに、データをスタックに取り込む
命令サイクルでは、スタックポインタを+1歩進動作を
行わせて演算を行うレジスタに保持されたデータを上記
スタックポインタが指示するスタックに格納した後上記
レジスタに新たなデータを格納し、データをスタックか
ら取り除く命令サイクルでは、上記レジスタに保持され
たデータを読み出した後上記レジスタにスタックポイン
タが指示するスタックに格納されたデータを転送すると
ともにスタックポインタを−1の歩道動作を行わせるこ
とにより、演算を行うレジスタには、常に演算すべき最
新のデータが格納されており、スタックポインタが指定
するスタックにはその前に取り込まれたデータが格納さ
れる。このため、演算実行のために演算を行うレジスタ
とスタックとの間でのデータ転送サイクルが不用となり
、演算の要求に応じて即時の演算実行が可能となるため
高速化を図ることができるとい゛う効果が得られる。
(2)上記演算ユニットは、演算命令サイクルにおいて
レジスタに格納されたデータとスタックポインタが指示
するスタックに格納されたデータをその演算命令に従い
演算して、その演算結果をレジスタに格納することによ
り、上記演算結果を含む最新のデータを演算を行うレジ
スタに格納できるため、データの取り除き及び新たなデ
ータの格納サイクルにおいても、特別のデータ転送動作
を必要としない。これによって、いっそうの漸化的なオ
ペレーションの高速化を図ることができるという効果が
得られる。
(3)データの格納及び取り除きにおいて、スタック方
式を利用することにより、アドレス指定が自動的に行わ
れため、高速化とプログラムの簡素化を図ることができ
るという効果が得られる。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は前記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、データバスの構
成は、1つの命令サイクルにおいて、スタックを1回し
かアクセスしないことを条件として、前記のようなデー
タの転送を可能にするものであれば何であってもよい。
また、演算ユニットは、そのデータプロセッサの機能に
応じて、算術演算又は論理演算のみを行うものであって
もよい。さらに、スタック、レジスタ及び演算ユニット
と、データバスとの接続を選択的に行うゲート回路の構
成は、種々の変形を採ることができるものである。
この発明は、データプロセッサとして広く利用できるも
のである。
〔発明の効果〕
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば、下記の通りである
。すなわち、演算すべきデータをスタックを利用して格
納する方式を採用するとともに、データをスタックに取
り込む命令サイクルでは、スタックポインタを+1歩進
動作を行わせて演算を行うレジスタに保持されたデータ
を上記スタックポインタが指示するスタックに格納した
後上記レジスタに新たなデータを格納し、データをスタ
ックから取り除く命令サイクルでは、上記レジスタに保
持されたデータを読み出した後上記レジスタにスタック
ポインタが指示するスタックに格納されたデータを転送
するとともにスタックポインタを−1の歩進動作を行わ
せることにより、演算を行うレジスタには、常に演算す
べき最新のデータが格納されており、スタックポインタ
が指定するスタックにはその前に取り込まれたデータが
格納される。このため、演算実行のために演算を行うレ
ジスタとスタックとの間でのデータ転送サイクルが不用
となり、演算の要求に応じて即時の演算実行が可能とな
って動作の高速化を図ることができる。
【図面の簡単な説明】
第1図は、この発明に係るデータプロセッサの要部一実
施例を示すブロック図、 第2図は、スタックへのデータの格納動作を説明するた
めの概念図、 第3図は、スタックからのデータの取り除き動作を説明
するための概念図、 第4図は、その演算動作の一例を説明するための概念図
である。 STC・・スタック、SO〜Sn・・スタックレジスタ
、SP・・スタックポインタ、R・・演算を行うレジス
タ、ALU・・演算ユニット、G1−04・・ゲート回
路、BA、BB・・データバス 第1図 第2図 TC

Claims (1)

  1. 【特許請求の範囲】 1、少なくとも一対のデータバスにその入出力が結合さ
    れ、連続した複数のレジスタからなるスタックと、上記
    スタックの選択動作を行うスタックポインタと、上記一
    対のデータバスにその入出力が結合される、レジスタと
    、上記レジスタに取り込まれたデータと一方のデータバ
    スを介して供給されるデータとを受ける演算ユニットと
    を含み、データをスタックに取り込む命令サイクルおい
    て、上記スタックポインタを+1歩進動作を行わせて上
    記レジスタに保持されたデータを+1されたスタックポ
    インタが指定するスタックに格納した後上記レジスタに
    新たなデータを格納し、データをスタックから取り除く
    命令サイクルにおいて、上記レジスタに保持されたデー
    タを読み出した後上記レジスタにスタックポインタが指
    示するスタックに格納されたデータを転送するとともに
    スタックポインタを−1の歩進動作を行わせることを特
    徴とするデータプロセッサ。 2、上記演算ユニットは、演算命令サイクルにおいてレ
    ジスタに格納されたデータとスタックポインタが指示す
    るスタックに格納されたデータをその演算命令に従い演
    算して、その演算結果をレジスタに格納するものである
    ことを特徴とする特許請求の範囲第1項記載のデータプ
    ロセッサ。
JP3146187A 1987-02-16 1987-02-16 デ−タプロセツサ Pending JPS63200235A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3146187A JPS63200235A (ja) 1987-02-16 1987-02-16 デ−タプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3146187A JPS63200235A (ja) 1987-02-16 1987-02-16 デ−タプロセツサ

Publications (1)

Publication Number Publication Date
JPS63200235A true JPS63200235A (ja) 1988-08-18

Family

ID=12331902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3146187A Pending JPS63200235A (ja) 1987-02-16 1987-02-16 デ−タプロセツサ

Country Status (1)

Country Link
JP (1) JPS63200235A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183848A (ja) * 2006-01-10 2007-07-19 Meidensha Corp プログラマブルコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183848A (ja) * 2006-01-10 2007-07-19 Meidensha Corp プログラマブルコントローラ

Similar Documents

Publication Publication Date Title
JPH0412503B2 (ja)
CN101313290B (zh) 对仅m×n位外围设备执行n位写入访问的系统和方法
JPH08185320A (ja) 半導体集積回路
EP1193594A2 (en) Register renaming apparatus and processor
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
JPS63200235A (ja) デ−タプロセツサ
EP1285340B1 (en) Shared bus interface for digital signal processor
JPH04104350A (ja) マイクロプロセッサ
US5161217A (en) Buffered address stack register with parallel input registers and overflow protection
JPH0377137A (ja) 情報処理装置
CN109948785B (zh) 一种高效的神经网络电路系统和方法
JPH10111798A (ja) 情報処理装置
JPH1125009A (ja) データ転送制御装置
JP2504535B2 (ja) バスユニットの構成方法
JPS60205647A (ja) デ−タ処理装置
JPH0346033A (ja) ジヨブ間データ転送制御方法
JPH04266140A (ja) アドレス変換バッファ装置
JPH0342721A (ja) 情報処理装置
JPS6116111B2 (ja)
JPS6116365A (ja) ベクトルデ−タ処理装置
JPS5846444A (ja) 電子計算機
JPH06324862A (ja) 演算用記憶装置
JPH0477349B2 (ja)
JPH0312734A (ja) データ処理装置の制御方式
JPS5914048A (ja) 演算バツフア方式