JPH04236628A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH04236628A JPH04236628A JP1674491A JP1674491A JPH04236628A JP H04236628 A JPH04236628 A JP H04236628A JP 1674491 A JP1674491 A JP 1674491A JP 1674491 A JP1674491 A JP 1674491A JP H04236628 A JPH04236628 A JP H04236628A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stack
- stack pointer
- microprocessor
- field
- 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
Links
- 238000010586 diagram Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサに
係わり、詳細にはスタックポインタの移動を高速化した
マイクロプロセッサに関する。
係わり、詳細にはスタックポインタの移動を高速化した
マイクロプロセッサに関する。
【0002】
【従来の技術】従来から、マイクロプロセッサでは、ス
タックを参照して、スタックポインタを1だけ正の方向
または負の方向に1つずつ移動させるようになっていた
。
タックを参照して、スタックポインタを1だけ正の方向
または負の方向に1つずつ移動させるようになっていた
。
【0003】図3は、従来のこのようなマイクロプロセ
ッサの構成を表わしたものである。マイクロプロセッサ
11は、命令を図示しない主記憶装置から取り出す命令
フェッチ部12を備えている。この命令フェッチ部12
から取り出された命令は命令デコーダ13に入力され、
解読される。解読された命令はスタック14の参照に用
いられ、次にスタックポインタ15が1だけインクリメ
ントまたはデクリメントされる。そして、同様に次の命
令が取り出されて命令デコーダ13で解読されると、ス
タックポインタ15で示された位置のスタック14が参
照され、スタックポインタ15が更に1だけインクリメ
ントまたはデクリメントされることになる。以下同様で
ある。
ッサの構成を表わしたものである。マイクロプロセッサ
11は、命令を図示しない主記憶装置から取り出す命令
フェッチ部12を備えている。この命令フェッチ部12
から取り出された命令は命令デコーダ13に入力され、
解読される。解読された命令はスタック14の参照に用
いられ、次にスタックポインタ15が1だけインクリメ
ントまたはデクリメントされる。そして、同様に次の命
令が取り出されて命令デコーダ13で解読されると、ス
タックポインタ15で示された位置のスタック14が参
照され、スタックポインタ15が更に1だけインクリメ
ントまたはデクリメントされることになる。以下同様で
ある。
【0004】
【発明の解決しようとする課題】このように従来のマイ
クロプロセッサでは、スタックポインタの操作とスタッ
クの参照が連動するようになっていた。これは、棚構造
のメモリとしてのスタックに順にデータを格納したり、
順にデータを取り出すときに必要な動作であった。
クロプロセッサでは、スタックポインタの操作とスタッ
クの参照が連動するようになっていた。これは、棚構造
のメモリとしてのスタックに順にデータを格納したり、
順にデータを取り出すときに必要な動作であった。
【0005】しかしながら、例えばスタックに格納され
たあるデータから幾つか飛び越えて所望のデータを読み
出すようにスタックポインタを移動させるような場合に
は、スタックの参照とスタックポインタの移動という動
作を繰り返して所望のデータまでたどりつかなければな
らない。すなわち、この場合にはスタックの参照という
操作が無駄に行われ、このためにスタックポインタの移
動を十分高速化することができないという問題があった
。
たあるデータから幾つか飛び越えて所望のデータを読み
出すようにスタックポインタを移動させるような場合に
は、スタックの参照とスタックポインタの移動という動
作を繰り返して所望のデータまでたどりつかなければな
らない。すなわち、この場合にはスタックの参照という
操作が無駄に行われ、このためにスタックポインタの移
動を十分高速化することができないという問題があった
。
【0006】そこで本発明の目的は、スタックを参照す
る必要がない場合には、スタックポインタを高速で移動
させることのできるマイクロプロセッサを提供すること
にある。
る必要がない場合には、スタックポインタを高速で移動
させることのできるマイクロプロセッサを提供すること
にある。
【0007】
【課題を解決するための手段】本発明では、データを後
入れ先出し法で積み重ねて収容するスタックと、このス
タックにおける参照するデータの位置を示すスタックポ
インタと、例えば主記憶装置から命令の取り出しを行う
命令フェッチ部と、取り出された命令における第1のフ
ィールドに属する部分を解読してスタックの参照とスタ
ックポインタの移動操作とをそれぞれ1回ずつ行わせる
ようにした命令を出力する第1の命令デコーダと、取り
出された命令における第2のフィールドに属する部分を
解読してスタックポインタの移動操作を更に1回行わせ
るか否かを表わした命令を出力する第2の命令デコーダ
とをマイクロプロセッサに具備させる。
入れ先出し法で積み重ねて収容するスタックと、このス
タックにおける参照するデータの位置を示すスタックポ
インタと、例えば主記憶装置から命令の取り出しを行う
命令フェッチ部と、取り出された命令における第1のフ
ィールドに属する部分を解読してスタックの参照とスタ
ックポインタの移動操作とをそれぞれ1回ずつ行わせる
ようにした命令を出力する第1の命令デコーダと、取り
出された命令における第2のフィールドに属する部分を
解読してスタックポインタの移動操作を更に1回行わせ
るか否かを表わした命令を出力する第2の命令デコーダ
とをマイクロプロセッサに具備させる。
【0008】すなわち本発明では、スタックの参照を行
なってはスタックポインタを1つずつ移動させていく通
常の操作のとき、取り出された命令における第1のフィ
ールドに属する部分のみを使用する。これ以外のときに
は、第2のフィールドに属する部分も使用して、取り出
された1つの命令に対してスタックポインタを2つずつ
移動させるようにする。
なってはスタックポインタを1つずつ移動させていく通
常の操作のとき、取り出された命令における第1のフィ
ールドに属する部分のみを使用する。これ以外のときに
は、第2のフィールドに属する部分も使用して、取り出
された1つの命令に対してスタックポインタを2つずつ
移動させるようにする。
【0009】
【実施例】以下、実施例につき本発明を詳細に説明する
。
。
【0010】図1は本発明の一実施例におけるマイクロ
プロセッサの構成を表わしたものである。マイクロプロ
セッサ21は、命令を図示しない主記憶装置から取り出
す命令フェッチ部22を備えている。この命令フェッチ
部22から取り出された命令は第1のフィールドと第2
のフィールドの2つのフィールドから構成されている。 このうち第1のフィールドは、従来の命令と同一構成の
もので、その内容は第1の命令デコーダ23に入力され
るようになっている。第2のフィールドは命令のビット
長を従来のものよりも増やすことで追加されたもので、
その内容は第2の命令デコーダ24に入力されるように
なっている。
プロセッサの構成を表わしたものである。マイクロプロ
セッサ21は、命令を図示しない主記憶装置から取り出
す命令フェッチ部22を備えている。この命令フェッチ
部22から取り出された命令は第1のフィールドと第2
のフィールドの2つのフィールドから構成されている。 このうち第1のフィールドは、従来の命令と同一構成の
もので、その内容は第1の命令デコーダ23に入力され
るようになっている。第2のフィールドは命令のビット
長を従来のものよりも増やすことで追加されたもので、
その内容は第2の命令デコーダ24に入力されるように
なっている。
【0011】第1の命令デコーダ23は、図3に示した
従来の命令デコーダ13と基本的に同一のものである。 すなわち、第1の命令デコーダ23の解読する命令は、
スタック25の参照とスタックポインタ26を1だけイ
ンクリメントまたはデクリメントするためのものである
。
従来の命令デコーダ13と基本的に同一のものである。 すなわち、第1の命令デコーダ23の解読する命令は、
スタック25の参照とスタックポインタ26を1だけイ
ンクリメントまたはデクリメントするためのものである
。
【0012】第2の命令デコーダ24は、スタックポイ
ンタ26のみの制御に用いられる。すなわち第2の命令
デコーダ24の解読する命令は、スタックポインタ26
を更に1だけインクリメントまたはデクリメントするか
、このような移動操作を行わないことを表わしている。
ンタ26のみの制御に用いられる。すなわち第2の命令
デコーダ24の解読する命令は、スタックポインタ26
を更に1だけインクリメントまたはデクリメントするか
、このような移動操作を行わないことを表わしている。
【0013】これら2種類の命令を組み合わせると、次
のような3通りの操作が可能になる。
のような3通りの操作が可能になる。
【0014】(イ)スタック25の参照に連動したスタ
ックポインタ26の操作。
ックポインタ26の操作。
【0015】(ロ)スタック25を参照せずにスタック
ポインタ26を移動させる操作。
ポインタ26を移動させる操作。
【0016】(ハ)以上の(イ)および(ロ)を同時に
行って、スタック25を参照しながら、スタックポイン
タ26を一度に正または負の方向に2つずつ移動させる
操作。
行って、スタック25を参照しながら、スタックポイン
タ26を一度に正または負の方向に2つずつ移動させる
操作。
【0017】図2は、本実施例のマイクロプロセッサの
このような制御の様子を表わしたものである。図1と共
に、これを説明する。
このような制御の様子を表わしたものである。図1と共
に、これを説明する。
【0018】まず、命令フェッチ部22が主記憶装置あ
るいは図示しないキャッシュメモリから命令を取り出す
(ステップS101)。この命令における第1のフィー
ルドに属する部分は第1の命令デコーダ23に送られ(
ステップS102)、第2のフィールドに属する部分は
第2の命令デコーダ24に送られる(ステップS103
)。
るいは図示しないキャッシュメモリから命令を取り出す
(ステップS101)。この命令における第1のフィー
ルドに属する部分は第1の命令デコーダ23に送られ(
ステップS102)、第2のフィールドに属する部分は
第2の命令デコーダ24に送られる(ステップS103
)。
【0019】第1の命令デコーダ23では、この命令が
スタック参照であるかどうかをチェックし(ステップS
104)、そうであれば(Y)、スタックデータの参照
を行う(ステップS105)。そして、次にスタックポ
インタ26のインクリメントまたはデクリメントの操作
が指示されているかどうかをチェックし(ステップS1
06)、指示されている場合には(Y)、その操作を行
って(ステップS107)、制御を終了させる。先のス
テップS104でスタック参照を行わない場合、および
ステップS106でスタックポインタ26の操作が行わ
れない場合には、そのまま制御を終了させる(エンド)
。
スタック参照であるかどうかをチェックし(ステップS
104)、そうであれば(Y)、スタックデータの参照
を行う(ステップS105)。そして、次にスタックポ
インタ26のインクリメントまたはデクリメントの操作
が指示されているかどうかをチェックし(ステップS1
06)、指示されている場合には(Y)、その操作を行
って(ステップS107)、制御を終了させる。先のス
テップS104でスタック参照を行わない場合、および
ステップS106でスタックポインタ26の操作が行わ
れない場合には、そのまま制御を終了させる(エンド)
。
【0020】一方、第2の命令デコーダ24では命令が
スタックポインタ26のインクリメントまたはデクリメ
ントの操作が指示されているかどうかをチェックし(ス
テップS108)、指示されている場合には(Y)、そ
の操作を行って(ステップS109)、制御を終了させ
る。指示されていない場合には(N)、そのまま制御を
終了させる(エンド)。
スタックポインタ26のインクリメントまたはデクリメ
ントの操作が指示されているかどうかをチェックし(ス
テップS108)、指示されている場合には(Y)、そ
の操作を行って(ステップS109)、制御を終了させ
る。指示されていない場合には(N)、そのまま制御を
終了させる(エンド)。
【0021】以上の制御の結果、第1および第2の命令
デコーダ23、24が共にスタックポインタ26の操作
の指示を解読した場合には、これが一度に正または負の
方向に2つずつ移動することになる。
デコーダ23、24が共にスタックポインタ26の操作
の指示を解読した場合には、これが一度に正または負の
方向に2つずつ移動することになる。
【0022】
【発明の効果】このように本発明によれば、従来から備
えられた第1の命令デコーダの他に第2の命令デコーダ
を設け、この第2の命令デコーダでもスタックポインタ
の操作の指示を解読することにしたので、スタックポイ
ンタのインクリメントまたはデクリメントを一度に2回
分行うことが可能になる。この場合、ダミーのスタック
参照の分だけ実行ステップ数を削減することができる。 また、本発明では第2の命令デコーダの解読結果だけを
用いてスタックを参照せずにスタックポインタのみを操
作することも可能になる。
えられた第1の命令デコーダの他に第2の命令デコーダ
を設け、この第2の命令デコーダでもスタックポインタ
の操作の指示を解読することにしたので、スタックポイ
ンタのインクリメントまたはデクリメントを一度に2回
分行うことが可能になる。この場合、ダミーのスタック
参照の分だけ実行ステップ数を削減することができる。 また、本発明では第2の命令デコーダの解読結果だけを
用いてスタックを参照せずにスタックポインタのみを操
作することも可能になる。
【図1】本発明の一実施例におけるマイクロプロセッサ
の回路構成の要部を示すブロック図である。
の回路構成の要部を示すブロック図である。
【図2】マイクロプロセッサの制御の様子を表わした流
れ図である。
れ図である。
【図3】従来のマイクロプロセッサの構成の一例を示す
ブロック図である。
ブロック図である。
21 マイクロプロセッサ
22 命令フェッチ部
23 第1の命令デコーダ
24 第2の命令デコーダ
25 スタック
26 スタックポインタ
Claims (1)
- 【請求項1】 データを後入れ先出し法で積み重ねて
収容するスタックと、このスタックにおける参照するデ
ータの位置を示すスタックポインタと、命令の取り出し
を行う命令フェッチ部と、取り出された命令における第
1のフィールドに属する部分を解読して前記スタックの
参照と前記スタックポインタの移動操作とをそれぞれ1
回ずつ行わせるようにした命令を出力する第1の命令デ
コーダと、前記取り出された命令における第2のフィー
ルドに属する部分を解読してスタックポインタの移動操
作を更に1回行わせるか否かを表わした命令を出力する
第2の命令デコーダとを具備することを特徴とするマイ
クロプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1674491A JP2920698B2 (ja) | 1991-01-18 | 1991-01-18 | マイクロプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1674491A JP2920698B2 (ja) | 1991-01-18 | 1991-01-18 | マイクロプロセッサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04236628A true JPH04236628A (ja) | 1992-08-25 |
| JP2920698B2 JP2920698B2 (ja) | 1999-07-19 |
Family
ID=11924780
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1674491A Expired - Lifetime JP2920698B2 (ja) | 1991-01-18 | 1991-01-18 | マイクロプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2920698B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012212472A (ja) * | 2006-07-26 | 2012-11-01 | Semiconductor Energy Lab Co Ltd | プログラム及び半導体装置 |
-
1991
- 1991-01-18 JP JP1674491A patent/JP2920698B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012212472A (ja) * | 2006-07-26 | 2012-11-01 | Semiconductor Energy Lab Co Ltd | プログラム及び半導体装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2920698B2 (ja) | 1999-07-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5450605A (en) | Boundary markers for indicating the boundary of a variable length instruction to facilitate parallel processing of sequential instructions | |
| KR100328162B1 (ko) | 정보처리회로와마이크로컴퓨터와전자기기 | |
| EP1241567B1 (en) | Method and apparatus for executing coprocessor instructions | |
| US6654871B1 (en) | Device and a method for performing stack operations in a processing system | |
| CN114968369A (zh) | 用于采取vliw处理器中的相同执行数据包中的常数扩展槽指定或扩展常数位数的方法 | |
| JP2920698B2 (ja) | マイクロプロセッサ | |
| JPS60117335A (ja) | 情報処理装置 | |
| JP2772100B2 (ja) | 並列命令フェッチ機構 | |
| JPS63314644A (ja) | デ−タ処理装置 | |
| JPS6131896B2 (ja) | ||
| JPS60108973A (ja) | 配列要素の最小値および最小要素の要素番号を求める方法 | |
| JPS61294548A (ja) | 機械命令実行装置 | |
| JPS6411973B2 (ja) | ||
| JP2687765B2 (ja) | 分岐予測方式 | |
| JPS6325373B2 (ja) | ||
| US20050138343A1 (en) | Processor-based structure and method for loading unaligned data | |
| JPS62115541A (ja) | マイクロ命令分岐アドレス生成方式 | |
| JPS62219128A (ja) | デ−タ処理装置 | |
| JPS63276126A (ja) | 命令デコ−ド回路 | |
| JPS62145430A (ja) | デ−タ処理装置 | |
| JPH0619705A (ja) | パイプライン制御方式 | |
| JPH05334081A (ja) | パイプライン処理方式 | |
| JPH06149570A (ja) | 命令制御装置 | |
| JPH04305736A (ja) | マイクロプロセッサ | |
| JPH04358227A (ja) | マイクロプロセッサ |