JPH01255035A - プロセサ - Google Patents

プロセサ

Info

Publication number
JPH01255035A
JPH01255035A JP63083302A JP8330288A JPH01255035A JP H01255035 A JPH01255035 A JP H01255035A JP 63083302 A JP63083302 A JP 63083302A JP 8330288 A JP8330288 A JP 8330288A JP H01255035 A JPH01255035 A JP H01255035A
Authority
JP
Japan
Prior art keywords
stack
memory
processor
overflow
underflow
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
JP63083302A
Other languages
English (en)
Inventor
Osamu Okamoto
理 岡本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP63083302A priority Critical patent/JPH01255035A/ja
Priority to US07/333,579 priority patent/US5101486A/en
Publication of JPH01255035A publication Critical patent/JPH01255035A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、プログラムを処理するプロセサに関するもの
である。
従来の技術 プログラムを処理していく計算機もしくはプロセサを考
えた場合、重要な概念の1つに、スタックがある。これ
は、CQ出版社、16ビツトマイクロコンピユータとプ
ログラミング基礎のp212に述べられているように、
書き込んだ順序と逆の順序でデータを読み出す装置のこ
とを言う。一般に、スタックは、プロセサ内の1つのレ
ジスタをスタックアクセスのためのスタックポインタと
し、さらに外部メモリのある1部をスタック領域として
割り当てることにより実現できる。そして、スタックは
、おもに、ザブルーチンコール時のデータの退避及び復
帰に用いる。
発明が解決しようとする課顆 従来の技術で示したようにスタックは外部メモリを使用
する。よって、データと命令を同一バス、から取り込む
ようなプロセサでは、データと命令のフェッチによる外
部バスの混雑の問題が生しる。
本発明は、かかる問題点に鑑み、高速に、ザブルーチン
コールを行なうプロセサを提供することを目的とする。
課題を解決するだめの手段 本発明は、スタックとして用いるメモリと、プロセサ命
令解読部からのスタック操作信号及びスタックポインタ
の値を受け取り前記メモリのオーバーフロー及びアンダ
ーフローを判断する判断回路を持つプロセサである。
作用 プロセサ内部にスタック用のメモリを設ければ、スタッ
クがオーバーフロー及びアンダーフローをしない限り、
外部メモリへのアクセスを行なわないため高速なサブル
ーチンコールがてきる。
さらに、スタックのオーバーフロー及びアンダーフロー
を判断する判断回路は、プロセサがスタックの無効なデ
ータを処理するのを防ぐ。
実施例 本発明の第1実施例を第1図に示す。メモリ10は、ス
タックポインタ12により指定されアクセスされる。プ
ロセサからのスタック操作信号は、ブツシュ命令信号2
0及びポツプ命令信号22である。前記メモリ10は、
ある一定の大きさしか持っていないため、スタックとし
て用いるメモリ10領域のチエツクをする判断回路14
が必要である。判断回路14は、プロセサからの、ブツ
シュ命令信号20とスタックポインタ12を受け、スタ
ックオーバーフローが起きたかどうがを判断゛する。ま
た、スタックアンダーツ1コーについては、プロセサか
らの、ポツプ命令信号22とスタックポインタ12の値
を受け判断する。さらに、具体的に述べると次のように
なる。ここでは、メモリ10のザイズは、32ワードと
し、スタックオーバーフローをおこすスタックポインタ
の値としてはOlh、スタックアンダーフローをおこす
スタックポインタの値としてはOOhを仮定する。
プロセサをリセットシた直後、スタックポインタ12の
下位5bitの値は、OOhである。この=  3 − 状態では、第2図(a)に示すごとくプロセサは、残り
32ワードのブツシュ可能なスタック領域をもっている
ことになる。そして、ブツシュ操作を連続的に行なうこ
とによりメモリ10の限度以内では、外部メモリアクセ
スを行なわなくてすむため、高速にサブルーチンコール
を行なうことが可能である。
ところが、第2図(b)に示すごとく、ザブルーチンコ
ールを繰り返すことによりメモリ10の利用できる領域
は減少していく。ついには、第2図(C)に示すごとく
このメモリ10の限界であるスタックポインタ12がO
lhとなる。ここで、さらにブツシュ命令を行なおうと
すると判断回路14は、プロセサからの、ブツシュ命令
信号20とスタックポインタ12の下位5bitの値を
受け、スタックオーバーフローと判断する。そして、判
断回路14は、スタックオーバーフロー信号30を用い
、スタックオーバーフローをプロセサに伝える。プロセ
サは、これを受け取りブツシュ命令実行を中止し割り込
み処理を実行する。割り込み処理ては、半分のデータに
あたる16ワ一ト分のデータを、あらかじめ用意されて
いる外部のスタック領域へ退避し残りの有効なデータを
16ワ一ト分だけずらす必要がある。さらに、スタック
ポインタ12の値は、10hだけ加えておくことか必要
である。そして、割り込み処理終了後は、第2図ω)に
示すごとく、メモリ10はブツシュ及びポツプ可能とな
っている。
この後、サブルーチンのリターン動作を繰り返すと第2
図(e)のごとくメモリ10の領域のすへてのデータを
使い果たしてしまう。ここで、さらにポツプ命令を行な
おうとすると判断回路14は、プロセサからの、ポツプ
命令信号22とスタックポインタ12の下位5bitの
値を受け、スタックアンダーフローと判断する。そして
、判断回路14は、スタックアンダーフロー信号32を
用い、スタックアンダーフローをプロセサに伝える。プ
ロセサは、これを受け取りポツプ命令実行を中止し割り
込み処理を実行する。割り込み処理は、以前のスタック
オーバーフローにより退避されていた16ワ一ド分のデ
ータを外部スタックから復帰し、スタックポインタの値
は、10hだけ引いておくことが必要である。そして、
割り込み処理終了後は、第2図(f)に示すごとく、メ
モリ10はブツシュ及びポツプ可能となっている。この
ように、スタックの残りを判断する判断回路を付加する
ことでスタックをすべて使い果たしても復元が可能であ
る。
本発明の第2実施例を第3図に示す。プロセサからのス
タック操作信号は、ブツシュ命令信号20及びポツプ命
令信号22である。プロセサ内のスタックとして用いる
メモリ10を2分割した場合の接続モードを格納するレ
ジスタ50を設ける。ここでは、メモリ10のサイズは
、32ワードとする。アドレス生成回路52は、前記レ
ジスタ50からの接続モード信号60とスタックポイン
タ12の下位5bitの値を受けスタックアドレス62
を生成する。従って第3図のアドレス生成回路では、接
続モード信号60がOの時にはスタックポインタそのま
ま出力され、接続モード信号が1の時にはスタックポイ
ンタの5bit目が反転され出力される。よって、2分
割されたメモリの領域をA、Bとすると、メモリの領域
A及びBは、第4図に示すごと(、接続モード信号60
がOの時にはA、B、接続モード信号60が1の時には
B、Aと論理的に接続されているように振る舞う。判断
回路54は、プロセサ命令解読部からのブツシュ命令信
号20及びポツプ命令信号22、スタックポインタの下
位4bitの値及び接続モード信号60を受け取り前記
メモリ10のオーバーフロー及びアンダーフローを判断
する。スタックオーバーフロー及びアンダーフローを判
断する値を先の実施例1と同じOlhをOOhとすると
、第4図のごとく、オーバーフローは、接続モード信号
0の場合スタックポインタの5bit目がOで且つスタ
ックポインタの下位4bitがOlh、接続モード信号
1の場合スタックポインタの5bit目が1で且つスタ
ックポインタの下位4 bitが01hの時に起こるよ
うに判断回路54を設計する。また、アンダーフローは
、接続モード信号Oの場合スタックポインタの5bit
目がOで且つスタックポインタの下位4bitがOOh
、接続モード信号1の場合スタックポインタの5bit
目が1て且つスタックポインタの下位4bitが00h
の時に起こるように判断回路54を設計する。さらに、
実際の動作について具体的に述べる。
プロセサをリセットした直後、スタックポインタ12の
下位5bitの値は、OOhである。また、接続モード
信号60を格納するレジスタ50はOとする。よって、
アドレス生成回路52は、スタックポインタ12の値を
スタックアドレス62とする。この状態では、第5図(
a)に示すごとくプロセサは、残り32ワードのブツシ
ュ可能な領域をもっていることになる。そして、ブツシ
ュ操作を連続的に行なうことによりスタックとして用い
たメモリ10の限度以内ては、外部メモリアクセスを行
なわな(てすむため、高速にサブルーチンコールを行な
うことが可能である。
ところが、第5図(b)に示すごとく、サブルーチンコ
ールを繰り返すことによりスタック10の利用できる領
域は減少していく。ついには、第5図(C)に示すごと
くこのメモリ10の限界であるスタックポインタ12の
値が04hとなる。ここで、さらにブツシュ命令を行な
おうとすると判断回路14は、プロセサからの、接続モ
ード信号60とブツシュ命令信号20とスタックポイン
タ12の下位5bitの値を受け、スタックオーバーフ
ローと判断する。そして、判断回路14は、スタックオ
ーバーフロー信号線30を用い、スタックオーバーフロ
ーをプロセサに伝える。プロセサは、これを受け取りブ
ツシュ命令実行を中止し割り込み処理を実行する。割り
込み処理では、半分のデータにあたる16ワ一ド分のデ
ータを、あらかじめ用意されている外部のスタック領域
へ退避と、接続モードを格納するレジスタ50をOから
1への書き換えが必要である。そして、割り込み処理終
了後は、第5図(d)に示すごとく、メモリ10はブツ
シュ及びポツプ可能となっている。また、アドレス生成
回路52は、スタックポインタの5bitの値を反転さ
せ、スタックアドレス62を発生させるためスタックは
、第4図(b)のごとく振る舞う。さらに、判断回路1
4は、第4図(b)で示すように、スタックの境界でオ
ーバーフロー及びアンダーフローをチエツクする。
また同時に、外部スタック領域のチエツクも行なえば外
部スタック領域のオーバーフロー及びアンダーフロー検
出にも使うことが可能になる。この後、サブルーチンの
リターン動作を繰り返すと第5図(e)のごとくメモリ
10の領域の全てのデータをすべて使い果たしてしまう
。ここで、さらにポツプ命令を行なおうとすると判断回
路14は、プロセサからの、ポツプ命令信号22とスタ
ックポインタ12の下位5 bitの値を受け、スタッ
クアンダーフローと判断する。そして、判断回路14は
、スタックアンダーフロー信号線32を用い、スタック
アンダーフローをプロセサに伝える。プロセサは、これ
を受け取りポツプ命令実行を中止し割り込み処理を実行
する。割り込み処理は、以前のスタックオーバーフロー
により退避されていた16ワ一ド分のデータを外部スタ
ックから復帰が必要である。そして、割り込み処理終了
後は、第5図(f)に示すごとく、メモリ10はブツシ
ュ及びポツプ可能となっている。このように、メモリ1
0の残り具合を判断する判断回路を付加することでスタ
ックをすべて使い果たしても復元が可能である。さらに
、接続モードを格納するレジスタ50を設けることでス
タックポインタ12の変更が避けられる。
発明の効果 プロセサ内に、スタック領域としてメモリを取り込むこ
とによりメモリがオーバーフローまたはアンダーフロー
しない限り、高速にサブルーチンコールが行なえる。
スタックの領域を判断する回路を加えることによりプロ
セサ内のスタックのオーバーフロー及びアンダーフロー
が判断できる。さらに、スタックオーバーフロー及びア
ンダーフローの割り込み処理の中で外部メモリのスタッ
ク領域をチエツクするようにしておけば、外部スタック
領域のオーバーフロー及びアンダーフローの検出も可能
である。
また、プロセサ内に2分割したスタックの接続の接続モ
ードを設けることにより、割り込み処理でのスタックポ
インタの変更及びスタック内のデータの移動が不必要と
なる。
【図面の簡単な説明】
第1図は本発明の第1実施例におけるプロセサの概略図
、第2図は本発明の第1実施例におけるプロセサのスタ
ックデータの動きの説明図、第3図は本発明の第2実施
例におけるプロセサの概略図、第4図は接続モードに対
するスタックの接続状態の説明図、第5図は本発明の第
2実施例におけるプロセサのスタックデータの動きの説
明図、第6図はプロセサのスタックと外部スタック領域
の対応の説明図である。 10・・・・・・メモリ、12・・・・・・スタックポ
インタ、14・・・・・・判断回路、20・・・・・・
ブツシュ命令信号、22・・・・・・ポツプ命令信号、
30・・・・・・スタックオーバーフロー信号、32・
・・・・・スタックアンダーフロー信号、50・・・・
・・レジスタ、52・・・・・・アドレス化一 12− 成回路、60・・・・・・接続モード信号、62・・・
・・・スタッファ1くレス。

Claims (2)

    【特許請求の範囲】
  1. (1)スタックとして用いるメモリと、プロセサ命令解
    読部からのスタック操作信号及びスタックポインタの値
    を受け取り前記メモリのオーバーフロー及びアンダーフ
    ローを判断する判断回路を持っプロセサ。
  2. (2)スタックとして用いるメモリと、プロセサ命令解
    読部からのスタック操作信号とスタックポインタの値及
    び前記メモリを2分割した場合の接続を示す接続モード
    信号を受け取り前記メモリのオーバーフロー及びアンダ
    ーフローを判断する判断回路と、前記スタックポインタ
    の値及び前記接続モード信号を受け取り前記メモリをア
    クセスするスタックアドレスを生成するアドレス生成回
    路を持つプロセサ。
JP63083302A 1988-04-05 1988-04-05 プロセサ Pending JPH01255035A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63083302A JPH01255035A (ja) 1988-04-05 1988-04-05 プロセサ
US07/333,579 US5101486A (en) 1988-04-05 1989-04-05 Processor having a stackpointer address provided in accordance with connection mode signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63083302A JPH01255035A (ja) 1988-04-05 1988-04-05 プロセサ

Publications (1)

Publication Number Publication Date
JPH01255035A true JPH01255035A (ja) 1989-10-11

Family

ID=13798615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63083302A Pending JPH01255035A (ja) 1988-04-05 1988-04-05 プロセサ

Country Status (2)

Country Link
US (1) US5101486A (ja)
JP (1) JPH01255035A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080827A (ja) * 1995-10-06 2009-04-16 Patriot Scientific Corp マイクロプロセッサシステム
JP2009540438A (ja) * 2006-06-06 2009-11-19 クゥアルコム・インコーポレイテッド プロセッサコアスタック拡張

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
JP3110866B2 (ja) * 1992-06-01 2000-11-20 株式会社東芝 マイクロプロセッサ
JP3448091B2 (ja) * 1994-02-18 2003-09-16 富士通株式会社 符号化復号化装置及び符号化復号化方法
CN106681692A (zh) * 2015-11-09 2017-05-17 联发科技(新加坡)私人有限公司 控制装置、集成电路及任务栈的管理方法
US10649786B2 (en) 2016-12-01 2020-05-12 Cisco Technology, Inc. Reduced stack usage in a multithreaded processor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58103043A (ja) * 1981-12-15 1983-06-18 Matsushita Electric Ind Co Ltd スタック形成方法
JPS5933552A (ja) * 1982-08-18 1984-02-23 Toshiba Corp デ−タ処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3725876A (en) * 1972-02-08 1973-04-03 Burroughs Corp Data processor having an addressable local memory linked to a memory stack as an extension thereof
US3810117A (en) * 1972-10-20 1974-05-07 Ibm Stack mechanism for a data processor
US3889243A (en) * 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
FR2253425A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
JPS5474651A (en) * 1977-11-28 1979-06-14 Toshiba Corp Stack control system
US4398244A (en) * 1980-05-07 1983-08-09 Fairchild Camera & Instrument Corporation Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same
US4394729A (en) * 1980-10-16 1983-07-19 Ncr Corporation Jump return stack
US4405983A (en) * 1980-12-17 1983-09-20 Bell Telephone Laboratories, Incorporated Auxiliary memory for microprocessor stack overflow
JPS62226234A (ja) * 1986-03-28 1987-10-05 Toshiba Corp スタツクポインタ制御回路
US4835738A (en) * 1986-03-31 1989-05-30 Texas Instruments Incorporated Register stack for a bit slice processor microsequencer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58103043A (ja) * 1981-12-15 1983-06-18 Matsushita Electric Ind Co Ltd スタック形成方法
JPS5933552A (ja) * 1982-08-18 1984-02-23 Toshiba Corp デ−タ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080827A (ja) * 1995-10-06 2009-04-16 Patriot Scientific Corp マイクロプロセッサシステム
JP2009540438A (ja) * 2006-06-06 2009-11-19 クゥアルコム・インコーポレイテッド プロセッサコアスタック拡張

Also Published As

Publication number Publication date
US5101486A (en) 1992-03-31

Similar Documents

Publication Publication Date Title
US4274138A (en) Stored program control system with switching between instruction word systems
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
KR860007589A (ko) 데이터 처리장치
US4095268A (en) System for stopping and restarting the operation of a data processor
JPH01255035A (ja) プロセサ
JPS62179033A (ja) 集積回路マイクロプロセツサ
JPH0695875A (ja) マイクロコンピュータのメモリアクセス方法
KR960012354B1 (ko) 마이크로 프로세서
JP3239042B2 (ja) マイクロコンピュータ
JPH04280334A (ja) ワンチップマイクロコンピュータ
CA1317384C (en) Buffer control circuit for data processor
JP2715413B2 (ja) 電子機器
JPH03127126A (ja) 情報処理装置
JPH08305564A (ja) マイクロコンピュータ
JPS61223956A (ja) ストアバツフア制御方式
JPS6027058B2 (ja) 割込み制御回路
JPH01169639A (ja) 記憶装置
JPH041373B2 (ja)
JPS6223896B2 (ja)
JPH0713865A (ja) キャッシュメモリ制御システム
JPH07152630A (ja) ディジタルシグナルプロセッサ
JPH0833825B2 (ja) マイクロプロセッサ
JPH0156429B2 (ja)
JPH05233229A (ja) 情報処理装置および情報処理方法
JPH04274538A (ja) キャッシュメモリコントローラ