JPS63221430A - スタツク制御方式 - Google Patents
スタツク制御方式Info
- Publication number
- JPS63221430A JPS63221430A JP5602987A JP5602987A JPS63221430A JP S63221430 A JPS63221430 A JP S63221430A JP 5602987 A JP5602987 A JP 5602987A JP 5602987 A JP5602987 A JP 5602987A JP S63221430 A JPS63221430 A JP S63221430A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- instruction
- circuit
- storage device
- data
- 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
Links
- 238000012545 processing Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 abstract description 15
- 230000006870 function Effects 0.000 abstract description 3
- 238000011022 operating instruction Methods 0.000 abstract 4
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
本発明はデータ処理装置における、スタ・ンク記憶の制
御回路に関し、特に大容量のキャッシュ記憶装置を持た
ない、小規模なデータ処理装置におけるスタック記憶の
制御方式に関する。
御回路に関し、特に大容量のキャッシュ記憶装置を持た
ない、小規模なデータ処理装置におけるスタック記憶の
制御方式に関する。
データ処理装置の高速化に伴う、複数のプログラムを時
分割的に使用する多重化処理、或いは、プログラムの大
型化に伴い、プログラムループよリサブルーチンへの分
岐、サブルーチンよりの再分岐を繰り返す複雑な処理等
が通常行われ、これを高速化する手段が要求されている
。
分割的に使用する多重化処理、或いは、プログラムの大
型化に伴い、プログラムループよリサブルーチンへの分
岐、サブルーチンよりの再分岐を繰り返す複雑な処理等
が通常行われ、これを高速化する手段が要求されている
。
制御スタックは割込の処理、プログラムの分岐処理等の
プログラム・シーケンスの変更に際して使用される、一
種のメモ帳的な小容量の記憶装置で、割込、分岐等の発
生時点における処理装置内の各種のレジスタの状態、各
種のプログラムの引数、−次変数、プログラムの復帰ア
ドレス等を退避、格納し、保持する機能を待ち、一般に
LIFO1即ち最後に記入した内容が最初に読出される
形式をとり、PUSH(データの記入) 、POP(デ
ータの取り出し)等の命令により制御されている。この
ため、割込、サブルーチンへの分岐が発生する毎にプロ
グラムは制御スタックをアクセスして読み書きを実行す
る必要があり、特に割込、分岐を繰り返すプログラムを
実行する場合に頻繁にアクセスされる。従って、このよ
うな場合アクセスタイムの短い高速記憶装置を使用する
と処理速度が向上するのは明白で、大型データ処理装置
では通常高速バッファ記憶装置であるキャッシュ記憶の
一部を利用している。しかし小型のデータ処理装置、或
いはマイクロプロセッサにおいてはキャッシュ記憶を置
くのは経済的でなく、主記憶装置が比較的小容量である
ことから、通常、主記憶装置に比較的高速の記憶素子を
使用し、その一部をスタック記憶装置として使用してい
る。
プログラム・シーケンスの変更に際して使用される、一
種のメモ帳的な小容量の記憶装置で、割込、分岐等の発
生時点における処理装置内の各種のレジスタの状態、各
種のプログラムの引数、−次変数、プログラムの復帰ア
ドレス等を退避、格納し、保持する機能を待ち、一般に
LIFO1即ち最後に記入した内容が最初に読出される
形式をとり、PUSH(データの記入) 、POP(デ
ータの取り出し)等の命令により制御されている。この
ため、割込、サブルーチンへの分岐が発生する毎にプロ
グラムは制御スタックをアクセスして読み書きを実行す
る必要があり、特に割込、分岐を繰り返すプログラムを
実行する場合に頻繁にアクセスされる。従って、このよ
うな場合アクセスタイムの短い高速記憶装置を使用する
と処理速度が向上するのは明白で、大型データ処理装置
では通常高速バッファ記憶装置であるキャッシュ記憶の
一部を利用している。しかし小型のデータ処理装置、或
いはマイクロプロセッサにおいてはキャッシュ記憶を置
くのは経済的でなく、主記憶装置が比較的小容量である
ことから、通常、主記憶装置に比較的高速の記憶素子を
使用し、その一部をスタック記憶装置として使用してい
る。
第3図に大型データ処理装置を例として、従来方式によ
るスタック記憶方式の一例を示す。処理装置1は命令を
実行するに際して、主記憶装置2より命令を読み出し、
その命令の示すアドレスのデータを読み出し、命令の指
示する操作をデータに加える実行手順は公知の通りであ
り、これを高速で実行するために命令キャッシュ記憶装
置31、データキャッシュ記憶装置32を置き、これに
当面のプログラムの実行に必要な主記憶装置2のページ
を移しておき、適当なアドレス変換手段により主記憶装
置2をアクセスするためのアドレスを、キャッシュ記憶
装置31.32をア2クセスするアドレスに変換して命
令、データをアクセスする。
るスタック記憶方式の一例を示す。処理装置1は命令を
実行するに際して、主記憶装置2より命令を読み出し、
その命令の示すアドレスのデータを読み出し、命令の指
示する操作をデータに加える実行手順は公知の通りであ
り、これを高速で実行するために命令キャッシュ記憶装
置31、データキャッシュ記憶装置32を置き、これに
当面のプログラムの実行に必要な主記憶装置2のページ
を移しておき、適当なアドレス変換手段により主記憶装
置2をアクセスするためのアドレスを、キャッシュ記憶
装置31.32をア2クセスするアドレスに変換して命
令、データをアクセスする。
主記憶装置2はプログラム領域21、変数領域(あるい
はデータ領域)22より構成されるが、これに付加して
スタック領域23が設けられる。前述の如く、スタック
領域23をデータキャッシュ記憶装置32の一部に置く
のも通常使われる手段で、このような場合には、データ
キャッシュ記憶装置32と主記憶装置2内のスタック領
域23の間でスタックデータを転送して処理を行う、デ
ータキャッシュ記憶装置32内に設けられたスタック領
域が指定範囲を越すと、主記憶装置2のスタック領域2
3に転送してスタックデータを保持する。
はデータ領域)22より構成されるが、これに付加して
スタック領域23が設けられる。前述の如く、スタック
領域23をデータキャッシュ記憶装置32の一部に置く
のも通常使われる手段で、このような場合には、データ
キャッシュ記憶装置32と主記憶装置2内のスタック領
域23の間でスタックデータを転送して処理を行う、デ
ータキャッシュ記憶装置32内に設けられたスタック領
域が指定範囲を越すと、主記憶装置2のスタック領域2
3に転送してスタックデータを保持する。
このようなキャッシュ記憶装置を設ける場合はスタック
記憶と争てその一部が流用出来るので問題はないが、小
型のデータ処理装置では独立してキャッシュ記憶装置を
持つことは、単にキャッシュ記憶装置の追加に止まらず
、アドレス変換、ページ管理等の付帯機能が増加し、ハ
ードウェア、ソフトウェアの両面から制限されるため、
マイクロプロt”yすにおいては通常主記憶装置の一部
を流用していた。このためスタック領域を頻繁に読書き
するプログラム、例えば割込、分岐が頻繁に発生するプ
ログラムが実行されるときは、スタック領域に対するア
クセス時間が大きいため、実行速度が低下する欠点があ
る。
記憶と争てその一部が流用出来るので問題はないが、小
型のデータ処理装置では独立してキャッシュ記憶装置を
持つことは、単にキャッシュ記憶装置の追加に止まらず
、アドレス変換、ページ管理等の付帯機能が増加し、ハ
ードウェア、ソフトウェアの両面から制限されるため、
マイクロプロt”yすにおいては通常主記憶装置の一部
を流用していた。このためスタック領域を頻繁に読書き
するプログラム、例えば割込、分岐が頻繁に発生するプ
ログラムが実行されるときは、スタック領域に対するア
クセス時間が大きいため、実行速度が低下する欠点があ
る。
以上の説明のように小型データ処理装置、′マイクロプ
ロセッサ等でスタック操作が頻繁に行われるプログラム
の実行に当たって、その高速化を経済的に実現する簡易
な手段が要求されていた。
ロセッサ等でスタック操作が頻繁に行われるプログラム
の実行に当たって、その高速化を経済的に実現する簡易
な手段が要求されていた。
以上のような従来のスタック方式の問題点を解決する手
段として二本発明においては第1図にその原理を示すス
タック制御方式を使用した。 処理装置1と、主記憶装
置2より構成されるデータ処理装置に、スタックデータ
のみを扱うスタック記憶回路3を付加する。
段として二本発明においては第1図にその原理を示すス
タック制御方式を使用した。 処理装置1と、主記憶装
置2より構成されるデータ処理装置に、スタックデータ
のみを扱うスタック記憶回路3を付加する。
処理装置1にはこれから実行する命令の出力lOと、そ
の命令がスタック操作命令か否かを判別する命令判別回
路4が接続される。
の命令がスタック操作命令か否かを判別する命令判別回
路4が接続される。
命令判別回路4がスタック操作命令以外の一般命令であ
ると判別すると出力15がオンになり、第1の選択回路
5が動作してデータバス11を主記憶装置2に接続する
。
ると判別すると出力15がオンになり、第1の選択回路
5が動作してデータバス11を主記憶装置2に接続する
。
命令判別回路4がスタック操作命令であると判別すると
出力16がオンになり、第2の選択回路6が動作してデ
ータバス11を小型の高速記憶装置よりなるスタック記
憶回路3に接続する。
出力16がオンになり、第2の選択回路6が動作してデ
ータバス11を小型の高速記憶装置よりなるスタック記
憶回路3に接続する。
スタック操作命令を実行する時のみ、データバスを高速
のスタック記憶回路に接続し、スタックデータの読み書
きを実行することが出来る。
のスタック記憶回路に接続し、スタックデータの読み書
きを実行することが出来る。
第2図に本発明によるスタック制御方式の実施例を示す
。本図において処理装置1、主記憶装置2については従
来例と大差はない。
。本図において処理装置1、主記憶装置2については従
来例と大差はない。
スタックを操作する命令、即ちPOP、PUSH命令を
実行する場合と、通常の命令を実行する場合に別個の記
憶装置に対してアクセスする点が本発明の骨子である。
実行する場合と、通常の命令を実行する場合に別個の記
憶装置に対してアクセスする点が本発明の骨子である。
このため本発明のデータ処理装置においては処理装置1
よりの命令コード出力10が命令判別回路4に入力し、
ここでこれから実行される命令がスタック操作命令が否
かを判別する。この回路は処理装置1内に設けてもよい
。
よりの命令コード出力10が命令判別回路4に入力し、
ここでこれから実行される命令がスタック操作命令が否
かを判別する。この回路は処理装置1内に設けてもよい
。
通常の命令が判別されると命令判別回路4の出力は選択
回路5を駆動して、データバス11を主記憶装置2に接
続する。
回路5を駆動して、データバス11を主記憶装置2に接
続する。
スタック操作命令が判別されると命令判別回路4の出力
は選択回路6を駆動して、データバス11をスタック記
憶装置3に接続する。
は選択回路6を駆動して、データバス11をスタック記
憶装置3に接続する。
スタック記憶装置3としては高速の記憶素子、例えばバ
イポーラRAM等を使用し、16KB〜64KB程度の
容量のものを使用する。
イポーラRAM等を使用し、16KB〜64KB程度の
容量のものを使用する。
スタック記憶装置3として比較的小容量の記憶装置を使
用している関係上、PUSll (書き込み)命令が繰
り返されて記入したデータ量が大きくなるとオーバフロ
ーもあり得る。オーバフローに近くなるとスタック記憶
制御回路20がオーバフロー接近を検知し、その内容を
主記憶装置2のスタック領域23に書き込み蓄積する。
用している関係上、PUSll (書き込み)命令が繰
り返されて記入したデータ量が大きくなるとオーバフロ
ーもあり得る。オーバフローに近くなるとスタック記憶
制御回路20がオーバフロー接近を検知し、その内容を
主記憶装置2のスタック領域23に書き込み蓄積する。
POP (読み出し)が繰り返されてスタック記憶装置
3の内容が空に近くなると、スタック記憶制御回路20
は主記憶装置2のスタック領域23より、現在の内容に
続くブロックを読み出し、つづいてPOP命令を進める
。
3の内容が空に近くなると、スタック記憶制御回路20
は主記憶装置2のスタック領域23より、現在の内容に
続くブロックを読み出し、つづいてPOP命令を進める
。
このようにして小容量のスタック記憶装置3、及びその
周辺の制御回路の若干の追加により、特に分岐、割込の
顧発するプログラムを実行する時にアクセス頻度の高い
スタック記憶を、主記憶装置から分離し、スタック操作
命令を高速で実行することが可能になる。
周辺の制御回路の若干の追加により、特に分岐、割込の
顧発するプログラムを実行する時にアクセス頻度の高い
スタック記憶を、主記憶装置から分離し、スタック操作
命令を高速で実行することが可能になる。
〔発明の効果〕
本発明の実施により、小型のデータ装置においてもキャ
ッシュ記憶装置を持つ大型のデータ処理装置と同様、高
速でスタック操作が可能とする方式を、経済的に実現す
ることが可能となった。
ッシュ記憶装置を持つ大型のデータ処理装置と同様、高
速でスタック操作が可能とする方式を、経済的に実現す
ることが可能となった。
第1図は本発明によるスタック制御方式の原理図、
第2図は本発明によるスタック制御方式の実施例、
第3図は従来例によるスタック記憶方式を示す。
図において、
1は処理装置、
2は主記憶装置、
3はスタック記憶装置、
4は命令判別回路、
5.6は選択回路、
10は命令コード出力、
11はデータバス、
20はスタック記憶制御回路を示す。
本発明によるスタック制蹟方式の実施例第2図
Claims (1)
- 【特許請求の範囲】 少なくとも処理装置(1)と、主記憶装置(2)よりな
り、制御スタックとその操作命令を持つデータ処理装置
において、 処理装置(1)の実行する命令コード(10)を入力し
スタック操作命令を判別する命令判別回路(4)と、 該命令判別回路(4)がスタック操作命令以外の命令と
判別した時の出力(15)に応じて、データバス(11
)を該主記憶装置(2)に接続する第1の選択回路(5
)と、 該主記憶装置(2)に比して小容量で高速の記憶装置で
あるスタック記憶装置(3)と、 該命令判別回路(4)がスタック操作命令と判別した時
の出力(16)に応じて、該データバス(11)を該ス
タック記憶回路(3)に接続する第2の選択回路(6)
を有することを特徴とするスタック制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5602987A JPS63221430A (ja) | 1987-03-11 | 1987-03-11 | スタツク制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5602987A JPS63221430A (ja) | 1987-03-11 | 1987-03-11 | スタツク制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63221430A true JPS63221430A (ja) | 1988-09-14 |
Family
ID=13015642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5602987A Pending JPS63221430A (ja) | 1987-03-11 | 1987-03-11 | スタツク制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63221430A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04278998A (ja) * | 1991-01-17 | 1992-10-05 | Yamaha Corp | 電子楽器 |
-
1987
- 1987-03-11 JP JP5602987A patent/JPS63221430A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04278998A (ja) * | 1991-01-17 | 1992-10-05 | Yamaha Corp | 電子楽器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6112303A (en) | Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM | |
JP3330378B2 (ja) | リアルタイムプログラム言語アクセラレータ | |
JPH09231093A (ja) | 2つのアーキテクチャ間でプログラム制御を転送する方法及びシステム | |
CN111177027A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
US6711625B1 (en) | Kernel file I/O management system and method | |
JP2000222226A (ja) | アクセス制御装置及びアクセス方法 | |
JPS63221430A (ja) | スタツク制御方式 | |
JPS6319058A (ja) | メモリ装置 | |
JP2568017B2 (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
US5201052A (en) | System for transferring first and second ring information from program status word register and store buffer | |
JPS63244152A (ja) | 拡張記憶装置アクセス制御装置 | |
CN217588059U (zh) | 处理器系统 | |
JPS616747A (ja) | メモリ装置 | |
JPS58176761A (ja) | マルチプロセツサシステムにおける起動回路 | |
JP2619416B2 (ja) | エミュレータ | |
JP2507791B2 (ja) | デ―タ処理装置 | |
JP2687679B2 (ja) | プログラム開発装置 | |
JP2883489B2 (ja) | 命令処理装置 | |
JP2964504B2 (ja) | 文書処理装置 | |
JPH07141252A (ja) | データ処理装置 | |
JP2966038B2 (ja) | ディジタルデータ処理ユニット調停装置及び方法 | |
KR0164769B1 (ko) | 시스템 프로그램 실행 방법 | |
JPH03256127A (ja) | マイクロプロセッサシステム | |
JPH039431A (ja) | 割込み処理方式 | |
JPH03156604A (ja) | プログラマブルコントローラ |