JP2001184211A - 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法 - Google Patents
処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法Info
- Publication number
- JP2001184211A JP2001184211A JP2000338990A JP2000338990A JP2001184211A JP 2001184211 A JP2001184211 A JP 2001184211A JP 2000338990 A JP2000338990 A JP 2000338990A JP 2000338990 A JP2000338990 A JP 2000338990A JP 2001184211 A JP2001184211 A JP 2001184211A
- Authority
- JP
- Japan
- Prior art keywords
- stack pointer
- stack
- pointer
- updated
- register
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30163—Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing 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)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
できるようにする。 【解決手段】 第1および第2のスタックポインタ(S
P)はスタックの最上部および該スタックの最上部に続
くメモリロケーションを指し示す。第1のSPはポップ
動作の間に使用されかつ第2のSPはプッシュ動作の間
に使用される。あるSPが選択されたとき、それは他の
SPに取って代わる。選択されたメモリポインタはスタ
ックが構成されたメモリモジュールに提供され、かつま
た更新される。ポップ動作の場合、更新SPは選択SP
によって指し示されるメモリロケーションに先行するメ
モリロケーションを指し示し、かつプッシュ動作の場合
は、更新SPはそのアドレスに続くメモリアドレスを指
し示す。
Description
いてスタック動作を行なうための装置および方法に関
し、特に高速のスタック動作を可能にする装置および方
法に関する。
(stack)が構成されたメモリモジュールを有して
いる。スタックは最も最近格納された値が読み出される
べき最初の値となるデータ構造である。いくつかのスタ
ックはメモリモジュールのより下位のアドレス/メモリ
ロケーションに向かって成長し、かついくつかのスタッ
クはメモリモジュールのより上位のアドレスに向かって
成長する。したがって、該スタックの最上位または最上
部(トップ:top)は、データが現在格納されている
スタックの最も低いまたは最も高いアドレスを備えたメ
モリロケーションである。
あり、すなわち、新しい値がスタックに加えられるプッ
シュ動作(push operation)、および該
スタックの最上部に位置する値が取り出されまたは読み
出されるポップ動作(popoperation)であ
る。前記新しい値は前記スタックの最上部に続くメモリ
ロケーションに格納される。
タはスタックの最上部をまたは該スタックの最上部に続
くメモリロケーションを指し示す(points t
o)。第1の種別のスタックポインタは高速のポップ動
作を可能にし、一方第2の種別のスタックポインタは高
速のプッシュ動作を可能にする。あるスタックがより上
位のアドレスに向かって成長しかつスタックポインタが
該スタックの最上部に続くメモリロケーションを指し示
す場合、ポップ動作は前記スタックポインタを減分しか
つ前記スタックの最上部に格納された値を移動すること
を含み、かつプッシュ動作はスタックポインタによって
指し示されるメモリロケーションにデータを書きかつ該
スタックポインタを増分することを含む。この従来技術
の手法は比較的時間を浪費する。
ts)にしたがって広く使用されている。通常、処理シ
ステムのステータスまたは状態情報を保持する、複数の
レジスタがスタックにプッシュされ、かつ結局該スタッ
クからポップされる。数多くのレジスタが処理システム
のステータスを格納する場合、割込みの実行は非常に時
間を浪費するものとなる。
された装置および方法を提供することが必要である。
ば、処理システム内でポップ動作を行なうための方法
(300)が提供され、該方法は、第1のクロックサイ
クル(310)の間に、命令をデコードしかつポップ動
作を実行する必要があるか否かを判定しかつそれに応じ
てポップ動作を要求する制御指示子を発生する段階、第
2のクロックサイクルの第1のフェーズ(320)の間
に、選択されたスタックポインタを提供し、該選択され
たスタックポインタはスタックの最上部を指し示し、前
記スタックのポイントに続くメモリロケーションへのポ
インタを前記選択されたスタックポインタと置き換え、
前記選択されたスタックポインタによって指し示される
メモリロケーションに先行するメモリロケーションを指
し示す更新されたスタックポインタを発生し、前記選択
されたスタックポインタをスタックが構成されているメ
モリモジュールに送り、前記選択されたスタックポイン
タによって指し示されるメモリロケーションからデータ
が読み取れるようにする段階、そして第2のクロックサ
イクルの第2のフェーズ(340)の間に、前記第2の
クロックサイクルの第1のフェーズの間に提供された前
記選択されたスタックポインタを前記更新されたスタッ
クポインタと置き換える段階、を具備することを特徴と
する。
内でプッシュ動作を行なうための方法(300)が提供
され、該方法は、第1のクロックサイクル(310)の
間に、命令をデコードしかつプッシュ動作を実行する必
要があるか否かを決定しかつそれに応じて前記プッシュ
動作を要求する制御指示子を発生する段階、第2のクロ
ックサイクルの第1のフェーズ(330)の間に、選択
されたスタックポインタを提供し、該選択されたスタッ
クポインタはスタックの最上部に続くメモリロケーショ
ンを指し示し、前記スタックの最上部を指し示すポイン
タを前記選択されたスタックポインタと置き換え、前記
選択されたスタックポインタによって指し示されるメモ
リロケーションに続くメモリロケーションを指し示す更
新されたスタックポインタを発生し、前記選択されたス
タックポインタをスタックが構成されているメモリモジ
ュールに送り、前記選択されたスタックポインタによっ
て指し示されるメモリロケーションにデータが書き込み
できるようにする段階、そして第2のクロックサイクル
の第2のフェーズ(350)の間に、前記第2のクロッ
クサイクルの前記第1のフェーズの間に提供された前記
選択されたスタックポインタを前記更新されたスタック
ポインタと置き換える段階、を具備することを特徴とす
る。
ステム内でスタック動作を行なうための方法(300)
が提供され、該方法は、第1のクロックサイクル(31
0)の間に、命令をデコードしかつポップ動作およびプ
ッシュ動作の内からあるスタック動作を実行する必要が
あるか否かを決定しかつそれにしたがって前記スタック
動作を要求する制御指示子を発生する段階、もし前記ス
タック動作がポップ動作であれば、以下のステップ、第
2のクロックサイクルの第1のフェーズ(320)の間
に、選択されたスタックポインタを提供し、該選択され
たスタックポインタはスタックの最上部を指し示し、前
記スタックのポイントに続くメモリロケーションへのポ
インタを前記選択されたスタックポインタで置き換え、
前記選択されたスタックポインタによって指し示される
メモリロケーションに先行するメモリロケーションを指
し示す更新されたスタックポインタを発生し、前記選択
されたスタックポインタをスタックが構成されているメ
モリモジュールに送り、前記選択されたスタックポイン
タによって指し示されるメモリロケーションからデータ
が読み出しできるようにする段階、第2のクロックサイ
クルの第2のフェーズ(340)の間に、前記第2のク
ロックサイクルの前記第1のフェーズの間に提供された
前記選択されたスタックポインタを前記更新されたスタ
ックポインタと置き換える段階、を含むステップを実行
する段階、およびもし前記スタック動作がプッシュ動作
であれば、以下のステップ、第2のクロックサイクルの
第1のフェーズ(330)の間に、選択されたスタック
ポインタを提供し、該選択されたスタックポインタはス
タックの最上部に続くメモリロケーションを指し示し、
前記スタックの最上部へのポインタを前記選択されたス
タックポインタと置き換え、前記選択されたスタックポ
インタによって指し示されるメモリロケーションに続く
メモリロケーションを指し示す更新されたスタックポイ
ンタを発生し、前記選択されたスタックポインタをスタ
ックが構成されているメモリモジュールに送り、前記選
択されたスタックポインタにより指し示されるメモリロ
ケーションに対しデータの書き込みができるようにする
段階、そして第2のクロックサイクルの第2のフェーズ
(350)の間に、前記第2のクロックサイクルの前記
第1のフェーズの間に提供された前記選択されたスタッ
クポインタを前記更新されたスタックポインタと置き換
える段階、を含むステップを実行する段階、を具備する
ことを特徴とする。
内でスタック動作を行なうための装置(10)が提供さ
れ、該装置は、命令をデコードしかつそれに応じてスタ
ック動作を要求する制御指示子(30)を発生するため
のデコーダ(20)、第1のスタックポインタを格納す
るための第1のスタックポインタレジスタ(32)、第
2のスタックポインタを格納するための第2のスタック
ポインタレジスタ(34)、前記デコーダに結合され、
選択されたスタックポインタ(36)および定数(3
8)を受けかつ前記制御指示子(30)にしたがって更
新されたスタックポインタ(40)を発生するための加
算器(28)、そして前記第1および第2のスタックポ
インタに、前記加算器にそして前記デコーダに結合さ
れ、前記制御指示子を受けかつそれに応じて前記第1お
よび第2のスタックポインタの中から前記選択されたス
タックポインタ(36)を選択し、前記選択されたスタ
ックポインタは選択スタックポインタレジスタに格納さ
れ、前記選択されたスタックポインタを選択されなかっ
たスタックポインタレジスタに送り、前記選択されたス
タックポインタを前記加算器におよびスタックが構成さ
れたメモリモジュールに送り、そして前記更新されたス
タックポインタを前記加算器から前記選択スタックポイ
ンタレジスタに送るための選択論理(24)、を具備す
ることを特徴とする。
生するための装置(10)が提供され、該装置は、第1
のスタックポインタ(32)を格納するための第1のス
タックポインタレジスタ(22)、第2のスタックポイ
ンタ(34)を格納するための第2のスタックポインタ
レジスタ(26)、前記第1および第2のスタックポイ
ンタ以外のメモリロケーションを格納するための複数の
レジスタ(40),(41),(42),(43)、前
記第1のスタックポインタレジスタ、第2のスタックポ
インタレジスタおよび前記複数のレジスタの中からある
選択されたレジスタを選択するための2つのマルチプレ
クサ(48),(47)、前記マルチプレクサに結合さ
れ、前記選択されたレジスタの内容および定数を受けか
つ前記選択されたレジスタに送られるべき更新された内
容を発生するための加算器(28)、前記第1および第
2のスタックポインタレジスタに結合され、前記第1の
スタックポインタが前記第2のスタックポインタレジス
タに書き込まれることができるようにしかつ前記第2の
スタックポインタが前記第1のスタックポインタレジス
タに書き込まれることができるようにするためのスイッ
チ(46)、前記第1および第2のスタックポインタレ
ジスタに、前記加算器におよび前記デコーダに結合さ
れ、命令を受けるよう構成され、該命令をデコードし、
かつそれにしたがって制御信号および制御指示子を発生
しかつ提供するための制御ユニット(264)、を具備
することを特徴とする。
作を要求する場合、前記制御ユニットは前記2つのマル
チプレクサに前記第1のスタックポインタレジスタを選
択させ、前記スイッチに前記第1のスタックポインタを
前記第2のスタックポインタレジスタに書き込ませ、前
記加算器に定数を前記選択されたスタックポインタに加
算することにより更新されたスタックポインタを発生さ
せる制御信号を送ると好都合である。
る場合、前記制御ユニットは前記2つのマルチプレクサ
に前記第2のスタックポインタレジスタを選択させ、前
記スイッチに前記第2のスタックポインタを前記第1の
スタックポインタレジスタに書き込ませ、前記加算器に
定数を前記選択されたスタックポインタから減算するこ
とにより更新されたスタックポインタを発生させる制御
信号を送ると好都合である。
特定的に示されているが、本発明の他の特徴は図面とと
もに以下の詳細な説明を参照することにより開示され
る。
なうための装置および方法を提供する。本発明は2つの
スタックポインタを提供し、すなわちスタックの最上部
を指し示す第1のスタックポインタ、および該スタック
の最上部に続くメモリロケーションを指し示す第2のス
タックポインタである。これら2つのスタックポインタ
はそれらに応じてポップおよびプッシュ動作を行なう間
に使用される。それが使用されている前にスタックポイ
ンタを増分しまたは減分する必要はない。第1のスタッ
クポインタが選択された場合、それは選択されたスタッ
クポインタとしてスタックを保持するメモリモジュール
に提供され、それは第2のスタックポインタに取って代
わりかつ更新される。更新されたスタックポインタは前
記選択されたスタックポインタに先行するメモリロケー
ションを指し示す。更新されたスタックポインタは前に
選択されたスタックポインタとして提供された第1のス
タックポインタに取って代わる。第2のスタックポイン
タが選択されたとき、それは選択されたスタックポイン
タとして該スタックを保持するメモリに提供され、それ
は第1のスタックポインタに取って代わりかつ更新され
る。この更新されたスタックポインタは前記選択された
スタックポインタによって指し示されるメモリロケーシ
ョンに続くメモリロケーションを指し示す。前記更新さ
れたスタックポインタは前に選択されたスタックポイン
タとして提供された第2のスタックポインタに取って代
わる。
用される特定の用語および表現並びに開示される特定の
構造および動作の詳細は例示的な目的のためのものにす
ぎず、かつ決して添付の特許請求の範囲に記載された本
発明の範囲を限定するものではない。
る、処理システム内でスタック動作を行なうための装置
10のブロック図を示す。
応じたスタック動作を要求する制御指示子(contr
ol indicator)(すなわち、プッシュ/ポ
ップ)30を発生するためのデコーダ20を具備する。
第1のスタックポインタレジスタ22は第1のスタック
ポインタ32を格納するためのものである。第2のスタ
ックポインタレジスタ26は第2のスタックポインタ3
4を格納するためのものである。加算器/減算器28は
選択されたスタックポインタ36および定数(cons
tant)38を受け、かつ前記制御指示子30にした
がって更新されたスタックポインタ40を発生するため
のものである。選択論理24は、制御指示子30を受け
かつそれにしたがって前記第1および第2のスタックポ
インタ32および34から選択されたスタックポインタ
(selected stackpointer)36
を選択し、該選択されたスタックポインタ36を選択さ
れなかったスタックポインタレジスタに送り、選択され
たスタックポインタ36を加算器/減算器28に送り、
そして加算器/減算器28からの更新されたスタックポ
インタ40を前記選択されたスタックポインタレジスタ
に送るためのものである。
めにバス21を介してデコーダ20に結合され、バス2
3および25を介して第1のスタックポインタレジスタ
22に結合され、バス27および29を介して第2のス
タックポインタレジスタ26に結合され、そしてバス3
3および31を介して加算器/減算器28に結合されて
いる。
前記スタックの最上部を指し示しかつ第2のスタックポ
インタ34は前記スタックの最上部に続くメモリロケー
ションを指し示す。制御指示子30がポップ動作を要求
する場合、選択論理24は第1のスタックポインタレジ
スタ22を選択する。第1のスタックポインタ32に等
しい、選択されたスタックポインタ36は加算器/減算
器28に提供され、かつまたスタックが構成されている
メモリモジュール(図1には示されていない)に提供さ
れる。第1のスタックポインタ32は第2のスタックポ
インタレジスタ26に書き込まれる。加算器/減算器2
8は、選択されたスタックポインタ32から定数38を
減算することにより、第1のスタックポインタレジスタ
22に書き込まれるべき、更新されたスタックポインタ
40を発生する。定数38はスタックの最上部と該スタ
ックの最上部に続くメモリロケーションの間のオフセッ
トを反映する。
場合、選択論理24は第2のスタックポインタレジスタ
26を選択する。第2のスタックポインタ34に等し
い、選択されたスタックポインタ36は加算器/減算器
28に提供されかつまたメモリモジュールに提供され
る。第2のスタックポインタ36は第1のスタックポイ
ンタレジスタ22に書き込まれる。加算器/減算器28
は選択されたスタックポインタ36に対し定数38を加
えることにより、第2のスタックポインタレジスタ26
に書き込まれるべき、更新されたスタックポインタ40
を発生する。
ドレス発生ユニットを有する処理システム110のブロ
ック図である。好ましくは、処理システム110は「非
常に長い命令ワード(Very Long Instr
uction Word:VLIW)を有することによ
って特徴付けられるが、それは必ずしも必要なものでは
ない。VLIWは並列処理システムにおいて使用され
る。各々のVLIWは処理システム110の種々の部分
によって並列様式で実行される複数の命令を備えてい
る。
ル220,222、アドレスレジスタファィル226、
プログラムシーケンサ(program sequen
cer)224、データレジスタファイル228および
229、アドレス発生ユニット(AGU)230および
231、そして集合的に232で示される乗算および累
算(multiply and accumulat
e:MAC)ユニットを有する。AGU 230および
231は内部バス260を介してアドレスレジスタファ
イル226に結合されている。MACユニット232は
内部バス262を介してデータレジスタファイル228
および229に結合されている。プログラムシーケンサ
224は命令バス244を介してAGU 230および
231並びにMAC 232に結合されている。
ス238、第1のデータバス240および第2のデータ
バス242を含む。プログラムバス238はバス246
を介してプログラムシーケンサ224に結合され、それ
ぞれバス272および282を介してメモリモジュール
220および222に結合されている。データバス24
0および242はバス248および250を介してアド
レスレジスタファイル226に結合され、かつバス25
2,254を介してデータレジスタファイル228,2
29に結合されている。データバス240および242
はバス274〜280を介してメモリモジュール22
0,222に結合されている。
ュール220および222の内の1つからVLIWをフ
ェッチし、かつ該VLIWの各部分をMAC 232、
AGU 230および231に送る。AGU 230お
よび231はメモリモジュール220および222に対
しデータまたは次の動作サイクルの間にフェッチされる
べきVLIWのアドレスを提供する。通常、メモリモジ
ュール220および222の内の1つにスタックが構成
される。
10内の、アドレス発生ユニット(すなわち、AGU)
230およびアドレスレジスタファイル226の一部2
80のブロック図を示す。
ジスタN1 271および加算器/減算器28を備えて
いる。アドレスレジスタファイル226の一部280は
複数のレジスタR0,R1,R2,R3 40〜43、
第1のスタックポインタレジスタ(すなわち、SPR
1)22、第2のスタックポインタレジスタ(すなわ
ち、SPR2)26、スイッチ46、および2つのマル
チプレクサIN_MUX48およびOUT_MUX 4
7を備えている。制御ユニット264はプログラムシー
ケンサ224から命令を受け、該命令をデコードし、か
つ制御指示子30および複数の制御信号を部分280
に、加算器/減算器28に、およびN1 271に提供
し、選択されたスタックポインタおよび更新されたスタ
ックポインタのような、更新されたアドレスの発生を制
御する。
285を介して、IN_MUX 48にかつOUT_M
UX 47に制御信号を送りどのレジスタが更新された
アドレスの発生に関与するかを選択する。IN_MUX
48は、バス49を介して、レジスタR0,R1,R
2,R3 40〜43、SPR1 22およびSPR2
26に結合され、それが受けた制御信号にしたがって
どのレジスタがその内容をバス248および250を介
して加算器/減算器28にかつメモリモジュール222
および220に供給するかを選択する。加算器/減算器
28はバス70を介して前記選択されたレジスタの内容
を受け、加算動作または減算動作を要求する制御信号I
NC/DEC(増分/減分) 50および定数38また
はSIZE(サイズ) 52信号を受け、そして更新さ
れたアドレスを発生する。INC/DEC 50はバス
73を介して制御ユニット264によって提供される。
定数38はバス79を介して制御ユニット264により
あるいはバス39を介してN1 271により提供され
る。SIZE 52は制御ユニット264によって提供
される。
_MUX 47およびバス248を介して、前記選択さ
れたレジスタに更新されたアドレスを発生する。
ット264はプログラムシーケンサ224によって提供
された命令をデコードし、かつ更新されたアドレスを発
生する必要があるか否かを判定する。
たアドレスの発生は通常R0〜R340〜43の内のレ
ジスタの内容に対しSIZE 52を加算または減算す
ることを含む。SIZE 52は命令のデコード段階の
間に発生されかつ該命令に関連するオペランドの長さを
反映する。例えば、命令“MOVE.2L(R1)+”
はR1 41の内容と8を加えたものに等しい更新され
たアドレスの発生を含む。“2L”は8バイトのデータ
ワードを意味し、したがってSIZE=8である。R1
41が選択されかつINC/DEC=1である。命令
“MOVE.B(R2)−”はR2 42の内容から1
を減算したものに等しい更新アドレスの発生を含む。
“B”は単一バイトのデータワードを意味し、したがっ
てSIZE=1である。R2 42が選択されかつIN
C/DEC=0である。
ば、制御ユニット264は制御信号を発生しかつIN_
MUX 48にかつOUT_MUX47に送りSPR2
26かつしたがって第2のスタックポインタ34を選
択し、制御指示子30を発生しかつスイッチ46に送り
第2のクロックサイクルの第1のフェーズの間にSPR
2 26の内容がSPR1 22に書き込まれるべきこ
とを指示する。制御ユニット264はINC/DEC
50(INC/DEC=1)を発生しかつ加算器/減算
器28に提供する。
の間に、スイッチ46を介して、第2のスタックポイン
タ34がSPR1 22に送られ、かつIN_MUX
48を介して加算器/減算器28に送られる。第2のス
タックポインタ34はまたメモリモジュール220およ
び222の内の1つに与えられる。加算器/減算器28
は選択されたスタックポインタ36に定数38を加える
ことにより更新されたスタックポインタ40を発生す
る。
の間に、加算器/減算器28は、OUT_MUX 47
を介して、更新されたスタックポインタ40をSPR2
26に送る。
ユニット264は制御信号を発生しかつIN_MUX
48におよびOUT_MUX 47に送りSPR1 2
2かつしたがって第1のスタックポインタ32を選択
し、制御指示子30を発生しかつスイッチ46に送り第
2のクロックサイクルの第1のフェーズの間にSPR1
22内に格納された第1のスタックポインタ32がSP
R2 26に書き込まれるべきことを指示する。制御ユ
ニット264はさらにINC/DEC 50(INC/
DEC=0)を発生しかつ加算器/減算器28に提供す
る。
の間に、第1のスタックポインタ32が、スイッチ46
を介して、SPR2 26に送られ、かつIN_MUX
48を介して加算器/減算器28に送られる。第1の
スタックポインタ32もまたスタックが構成されている
メモリモジュール220および222の内の1つに提供
される。加算器/減算器28は選択されたスタックポイ
ンタ36から定数38を減算することにより更新された
スタックポインタ40を発生する。
の間に、加算器/減算器28は、OUT_MUX 47
を介して、SPR1 22に対し更新されたスタックポ
インタ40を送る。
テム内でスタック動作を行なうための方法300を示
す。方形のボックス310,320,330,340お
よび350は方法300のステップを表わしている。経
路またはパス315および325で示されるように、ス
テップ310にはステップ320および330が続くこ
とができる。パス335および345で示されるよう
に、ステップ320および330にはステップ340お
よび350が続く。パス355および365で示される
ように、ステップ340および350にはステップ31
0が続く。
ーキテクチャを有する処理システムで実行される。命令
は、プログラム・プリフェッチステージ、プログラム・
フェッチステージ、ディスパッチおよびデコードステー
ジ、アドレス発生ステージ、および実行ステージのよう
な、複数のステージまたは段階において処理される。ス
テップ310は前記ディスパッチおよびデコードステー
ジの間に行なわれる。ステップ320〜350は前記ア
ドレス発生ステージの間に行なわれる。説明の便宜上、
図4はこれら2つのステージのみを示している。
る。ステップ310の間にかつ第1のクロックサイクル
の間に、命令をデコードしかつプッシュ動作およびポッ
プ動作の内のあるスタック動作を実行する必要があるか
否かを判定し、そしてそれにしたがって該スタック動作
を要求する制御指示子を発生するステップ。
に、もし前記スタック動作がポップ動作であれば、ステ
ップ320および340を行なうステップ。
サイクルの第1のフェーズの間に、スタックの最上部を
指し示す選択されたスタックポインタ36を提供するス
テップ。前記スタックのポイントに続くメモリロケーシ
ョンへのポインタを前記選択されたスタックポインタに
置き換えるステップ。選択されたスタックポインタ36
によって指し示されるメモリロケーションに先行するメ
モリロケーションを指し示す更新されたスタックポイン
タ40を発生するステップ。選択されたスタックポイン
タ36をスタックが構成されているメモリモジュールに
送り、前記選択されたスタックポインタによって示され
るメモリロケーションからデータの読取りを可能にする
ステップ。
のクロックサイクルの第1のフェーズの間に、第1のス
タックポインタレジスタ22から選択されたスタックポ
インタ36を提供し、選択されたスタックポインタ36
を第2のスタックポインタレジスタ26に書き込み、選
択されたスタックポインタ36を加算器/減算器28に
送り、選択されたスタックポインタ36から定数38を
減算することにより更新されたスタックポインタ40を
発生し、かつスタックが構成されているメモリモジュー
ルに選択されたスタックポインタ36を送り、それによ
って前記実行ステージの間にスタックの最上部からデー
タが読み出すことができるようにされる。
サイクルの第2のフェーズの間に、第2のクロックサイ
クルの第1のフェーズの間に提供された選択されたスタ
ックポインタ36を更新されたスタックポインタ40と
置き換えるステップ。好適には、ステップ340の間に
かつ第2のクロックサイクルの第2のフェーズの間に、
更新されたスタックポインタ40を第1のスタックポイ
ンタレジスタ22に書き込むステップを具備する。
ように、もし前記スタック動作がプッシュ動作であれ
ば、ステップ330および350を行なうステップを具
備する。
クルの第1のフェーズの間に、スタックの最上部に続く
メモリロケーションを指し示す選択されたスタックポイ
ンタ36を提供する。前記スタックの最上部を指し示す
ポインタを選択されたスタックポインタ36によって置
き換える。前記選択されたスタックポインタ36によっ
て指し示されるメモリロケーションに続くメモリロケー
ションを指し示す更新されたスタックポインタ40を発
生する。選択されたスタックポインタ36をスタックが
構成されているメモリモジュールに送り、選択されたス
タックポインタ36によって指し示されるメモリロケー
ションにデータが書き込みできるようにする。好適に
は、ステップ330の間にかつ第2のクロックサイクル
の第1のフェーズの間に、第2のスタックポインタレジ
スタ26から選択されたスタックポインタ36を提供
し、選択されたスタックポインタ36を第1のスタック
ポインタレジスタ22に書き込み、選択されたスタック
ポインタ36を加算器/減算器28に送り、定数38を
選択されたスタックポインタ36に加えることにより更
新されたスタックポインタ40を発生し、そしてスタッ
クが構成されたメモリモジュールに選択されたスタック
ポインタ36を送り、それによって前記実行段階の間に
前記スタックの最上部に続くメモリロケーションにデー
タが書込みできるようにする。
サイクルの第2のフェーズの間に、前記第2のクロック
サイクルの第1のフェーズの間に提供された選択された
スタックポインタ36を更新されたスタックポインタ4
0によって置き換える。好適には、ステップ350の間
にかつ第2のクロックサイクルの第2のフェーズの間
に、更新されたスタックポインタ40を第2のスタック
ポインタレジスタ26に書き込む。
ように、ステップ340および350にはステップ31
0が続く。
の装置および方法の少なくとも1つの好ましい実施形態
を含む実施形態がここで説明された。当業者には開示さ
れた主題は数多くの方法で変更できかつ上で特に述べら
れかつ説明された好ましい形式以外の数多くの実施形態
を取り得ることは明らかであろう。
なものであり制限的なものではなく、かつ法律によって
認められる最大の範囲内で添付の特許請求の範囲が本発
明の真の精神および範囲内にあるすべてのそのような変
更および他の実施形態をカバーするものと考える。本発
明の範囲は前述の詳細な説明よりはむしろ添付の特許請
求の範囲およびそれらの等価物の最も広い許容される解
釈によって決定されるべきである。
テム内でスタック動作を行なうための装置を示すブロッ
ク図である。
発生ユニットを有するプロセッサを示すブロック図であ
る。
発生ユニットを示すブロック図である。
方法を示すフローチャートである。
Claims (7)
- 【請求項1】 処理システム内でポップ動作を行なうた
めの方法(300)であって、 第1のクロックサイクル(310)の間に、命令をデコ
ードしかつポップ動作を実行する必要があるか否かを判
定しかつそれに応じてポップ動作を要求する制御指示子
を発生する段階、 第2のクロックサイクルの第1のフェーズ(320)の
間に、選択されたスタックポインタを提供し、該選択さ
れたスタックポインタはスタックの最上部を指し示し、
前記スタックのポイントに続くメモリロケーションへの
ポインタを前記選択されたスタックポインタと置き換
え、前記選択されたスタックポインタによって指し示さ
れるメモリロケーションに先行するメモリロケーション
を指し示す更新されたスタックポインタを発生し、前記
選択されたスタックポインタをスタックが構成されてい
るメモリモジュールに送り、前記選択されたスタックポ
インタによって指し示されるメモリロケーションからデ
ータが読み取れるようにする段階、そして第2のクロッ
クサイクルの第2のフェーズ(340)の間に、前記第
2のクロックサイクルの第1のフェーズの間に提供され
た前記選択されたスタックポインタを前記更新されたス
タックポインタと置き換える段階、 を具備することを特徴とする処理システム内でポップ動
作を行なうための方法(300)。 - 【請求項2】 処理システム内でプッシュ動作を行なう
ための方法(300)であって、 第1のクロックサイクル(310)の間に、命令をデコ
ードしかつプッシュ動作を実行する必要があるか否かを
決定しかつそれに応じて前記プッシュ動作を要求する制
御指示子を発生する段階、 第2のクロックサイクルの第1のフェーズ(330)の
間に、選択されたスタックポインタを提供し、該選択さ
れたスタックポインタはスタックの最上部に続くメモリ
ロケーションを指し示し、前記スタックの最上部を指し
示すポインタを前記選択されたスタックポインタと置き
換え、前記選択されたスタックポインタによって指し示
されるメモリロケーションに続くメモリロケーションを
指し示す更新されたスタックポインタを発生し、前記選
択されたスタックポインタをスタックが構成されている
メモリモジュールに送り、前記選択されたスタックポイ
ンタによって指し示されるメモリロケーションにデータ
が書き込みできるようにする段階、そして第2のクロッ
クサイクルの第2のフェーズ(350)の間に、前記第
2のクロックサイクルの前記第1のフェーズの間に提供
された前記選択されたスタックポインタを前記更新され
たスタックポインタと置き換える段階、 を具備することを特徴とする処理システム内でプッシュ
動作を行なうための方法(300)。 - 【請求項3】 処理システム内でスタック動作を行なう
ための方法(300)であって、 第1のクロックサイクル(310)の間に、命令をデコ
ードしかつポップ動作およびプッシュ動作の内からある
スタック動作を実行する必要があるか否かを決定しかつ
それにしたがって前記スタック動作を要求する制御指示
子を発生する段階、 もし前記スタック動作がポップ動作であれば、以下のス
テップ、 第2のクロックサイクルの第1のフェーズ(320)の
間に、選択されたスタックポインタを提供し、該選択さ
れたスタックポインタはスタックの最上部を指し示し、
前記スタックのポイントに続くメモリロケーションへの
ポインタを前記選択されたスタックポインタで置き換
え、前記選択されたスタックポインタによって指し示さ
れるメモリロケーションに先行するメモリロケーション
を指し示す更新されたスタックポインタを発生し、前記
選択されたスタックポインタをスタックが構成されてい
るメモリモジュールに送り、前記選択されたスタックポ
インタによって指し示されるメモリロケーションからデ
ータが読み出しできるようにする段階、 第2のクロックサイクルの第2のフェーズ(340)の
間に、前記第2のクロックサイクルの前記第1のフェー
ズの間に提供された前記選択されたスタックポインタを
前記更新されたスタックポインタと置き換える段階、 を含むステップを実行する段階、およびもし前記スタッ
ク動作がプッシュ動作であれば、以下のステップ、 第2のクロックサイクルの第1のフェーズ(330)の
間に、選択されたスタックポインタを提供し、該選択さ
れたスタックポインタはスタックの最上部に続くメモリ
ロケーションを指し示し、前記スタックの最上部へのポ
インタを前記選択されたスタックポインタと置き換え、
前記選択されたスタックポインタによって指し示される
メモリロケーションに続くメモリロケーションを指し示
す更新されたスタックポインタを発生し、前記選択され
たスタックポインタをスタックが構成されているメモリ
モジュールに送り、前記選択されたスタックポインタに
より指し示されるメモリロケーションに対しデータの書
き込みができるようにする段階、そして第2のクロック
サイクルの第2のフェーズ(350)の間に、前記第2
のクロックサイクルの前記第1のフェーズの間に提供さ
れた前記選択されたスタックポインタを前記更新された
スタックポインタと置き換える段階、 を含むステップを実行する段階、 を具備することを特徴とする処理システム内でスタック
動作を行なうための方法(300)。 - 【請求項4】 処理システム内でスタック動作を行なう
ための装置(10)であって、 命令をデコードしかつそれに応じてスタック動作を要求
する制御指示子(30)を発生するためのデコーダ(2
0)、 第1のスタックポインタを格納するための第1のスタッ
クポインタレジスタ(32)、 第2のスタックポインタを格納するための第2のスタッ
クポインタレジスタ(34)、 前記デコーダに結合され、選択されたスタックポインタ
(36)および定数(38)を受けかつ前記制御指示子
(30)にしたがって更新されたスタックポインタ(4
0)を発生するための加算器(28)、そして前記第1
および第2のスタックポインタに、前記加算器にそして
前記デコーダに結合され、前記制御指示子を受けかつそ
れに応じて前記第1および第2のスタックポインタの中
から前記選択されたスタックポインタ(36)を選択
し、前記選択されたスタックポインタは選択スタックポ
インタレジスタに格納され、前記選択されたスタックポ
インタを選択されなかったスタックポインタレジスタに
送り、前記選択されたスタックポインタを前記加算器に
およびスタックが構成されたメモリモジュールに送り、
そして前記更新されたスタックポインタを前記加算器か
ら前記選択スタックポインタレジスタに送るための選択
論理(24)、 を具備することを特徴とする処理システム内でスタック
動作を行なうための装置(10)。 - 【請求項5】 アドレスを発生するための装置(10)
であって、 第1のスタックポインタ(32)を格納するための第1
のスタックポインタレジスタ(22)、 第2のスタックポインタ(34)を格納するための第2
のスタックポインタレジスタ(26)、 前記第1および第2のスタックポインタ以外のメモリロ
ケーションを格納するための複数のレジスタ(40),
(41),(42),(43)、 前記第1のスタックポインタレジスタ、第2のスタック
ポインタレジスタおよび前記複数のレジスタの中からあ
る選択されたレジスタを選択するための2つのマルチプ
レクサ(48),(47)、 前記マルチプレクサに結合され、前記選択されたレジス
タの内容および定数を受けかつ前記選択されたレジスタ
に送られるべき更新された内容を発生するための加算器
(28)、 前記第1および第2のスタックポインタレジスタに結合
され、前記第1のスタックポインタが前記第2のスタッ
クポインタレジスタに書き込まれることができるように
しかつ前記第2のスタックポインタが前記第1のスタッ
クポインタレジスタに書き込まれることができるように
するためのスイッチ(46)、 前記第1および第2のスタックポインタレジスタに、前
記加算器におよび前記デコーダに結合され、命令を受け
るよう構成され、該命令をデコードし、かつそれにした
がって制御信号および制御指示子を発生しかつ提供する
ための制御ユニット(264)、 を具備することを特徴とするアドレスを発生するための
装置(10)。 - 【請求項6】 ある命令がポップ動作を要求する場合、
前記制御ユニットは前記2つのマルチプレクサに前記第
1のスタックポインタレジスタを選択させ、前記スイッ
チに前記第1のスタックポインタを前記第2のスタック
ポインタレジスタに書き込ませ、前記加算器に定数を前
記選択されたスタックポインタに加算することにより更
新されたスタックポインタを発生させる制御信号を送る
ことを特徴とする請求項5に記載の装置。 - 【請求項7】 ある命令がプッシュ動作を要求する場
合、前記制御ユニットは前記2つのマルチプレクサに前
記第2のスタックポインタレジスタを選択させ、前記ス
イッチに前記第2のスタックポインタを前記第1のスタ
ックポインタレジスタに書き込ませ、前記加算器に定数
を前記選択されたスタックポインタから減算することに
より更新されたスタックポインタを発生させる制御信号
を送ることを特徴とする請求項5に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/436891 | 1999-11-09 | ||
US09/436,891 US6654871B1 (en) | 1999-11-09 | 1999-11-09 | Device and a method for performing stack operations in a processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001184211A true JP2001184211A (ja) | 2001-07-06 |
JP2001184211A5 JP2001184211A5 (ja) | 2007-12-27 |
Family
ID=23734241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000338990A Pending JP2001184211A (ja) | 1999-11-09 | 2000-11-07 | 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6654871B1 (ja) |
JP (1) | JP2001184211A (ja) |
KR (1) | KR100875377B1 (ja) |
CN (1) | CN1230739C (ja) |
TW (1) | TW535089B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10121745A1 (de) * | 2001-05-04 | 2002-11-14 | Systemonic Ag | Verfahren und Anordnung zu einem Stack mit einem, in Datengruppen mit mehreren Elementen aufgeteilten Speicher |
IL152006A0 (en) * | 2002-09-30 | 2003-07-31 | Rabintex Ind Ltd | Shell for ballistic helmet |
CN100353335C (zh) * | 2003-03-28 | 2007-12-05 | 联发科技股份有限公司 | 增加处理器中存储器的方法 |
US7111149B2 (en) * | 2003-07-07 | 2006-09-19 | Intel Corporation | Method and apparatus for generating a device ID for stacked devices |
CN100461090C (zh) * | 2004-03-31 | 2009-02-11 | 英特尔公司 | 利用代码共享进行堆栈高速缓存的系统、方法和设备 |
US7290153B2 (en) | 2004-11-08 | 2007-10-30 | Via Technologies, Inc. | System, method, and apparatus for reducing power consumption in a microprocessor |
JP2006309508A (ja) * | 2005-04-28 | 2006-11-09 | Oki Electric Ind Co Ltd | スタック制御装置およびその方法 |
US7769983B2 (en) * | 2005-05-18 | 2010-08-03 | Qualcomm Incorporated | Caching instructions for a multiple-state processor |
US7454572B2 (en) * | 2005-11-08 | 2008-11-18 | Mediatek Inc. | Stack caching systems and methods with an active swapping mechanism |
US7647482B2 (en) * | 2006-03-31 | 2010-01-12 | Intel Corporation | Methods and apparatus for dynamic register scratching |
US7711927B2 (en) * | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
WO2008122746A1 (en) * | 2007-04-10 | 2008-10-16 | Cambridge Consultants Limited | Data processing apparatus |
US8055886B2 (en) * | 2007-07-12 | 2011-11-08 | Texas Instruments Incorporated | Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction |
JP5044387B2 (ja) * | 2007-12-26 | 2012-10-10 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びそのスタックポインタ更新方法 |
WO2010004245A1 (en) * | 2008-07-10 | 2010-01-14 | Cambridge Consultants Limited | Processor with push instruction |
US9588881B2 (en) * | 2011-05-16 | 2017-03-07 | Cypress Semiconductor Corporation | Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses |
US8934279B2 (en) * | 2011-05-16 | 2015-01-13 | Cypress Semiconductor Corporation | Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space |
US9910823B2 (en) | 2011-05-16 | 2018-03-06 | Cypress Semiconductor Corporation | Stack processor using a ferroelectric random access memory (F-RAM) having an instruction set optimized to minimize memory fetch |
US9697002B2 (en) * | 2011-10-03 | 2017-07-04 | International Business Machines Corporation | Computer instructions for activating and deactivating operands |
CN112486897A (zh) * | 2019-09-11 | 2021-03-12 | 中国科学院微电子研究所 | 一种高速缓存系统及单周期多数据的入栈、出栈操作方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58221446A (ja) * | 1982-06-18 | 1983-12-23 | Hitachi Ltd | スタツクアドレス選択方式 |
JPS62128337A (ja) * | 1985-11-30 | 1987-06-10 | Nec Corp | スタツク制御方式 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142635A (en) | 1989-04-07 | 1992-08-25 | Intel Corporation | Method and circuitry for performing multiple stack operations in succession in a pipelined digital computer |
JPH0752576B2 (ja) | 1990-07-19 | 1995-06-05 | 株式会社東芝 | スタックメモリ |
US5381360A (en) * | 1993-09-27 | 1995-01-10 | Hitachi America, Ltd. | Modulo arithmetic addressing circuit |
US5706491A (en) | 1994-10-18 | 1998-01-06 | Cyrix Corporation | Branch processing unit with a return stack including repair using pointers from different pipe stages |
KR970705077A (ko) * | 1995-05-26 | 1997-09-06 | 존 엠. 클락3세 | 팝(POP) 명령 실행 장치 및 방법(Apparatus and Method for Executing Pop Instructions) |
US5687336A (en) | 1996-01-11 | 1997-11-11 | Exponential Technology, Inc. | Stack push/pop tracking and pairing in a pipelined processor |
KR100246465B1 (ko) * | 1996-11-06 | 2000-03-15 | 김영환 | 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법 |
US5958039A (en) * | 1997-10-28 | 1999-09-28 | Microchip Technology Incorporated | Master-slave latches and post increment/decrement operations |
-
1999
- 1999-11-09 US US09/436,891 patent/US6654871B1/en not_active Expired - Lifetime
-
2000
- 2000-10-20 TW TW089122103A patent/TW535089B/zh not_active IP Right Cessation
- 2000-11-07 JP JP2000338990A patent/JP2001184211A/ja active Pending
- 2000-11-08 KR KR1020000066072A patent/KR100875377B1/ko active IP Right Grant
- 2000-11-08 CN CNB001329375A patent/CN1230739C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58221446A (ja) * | 1982-06-18 | 1983-12-23 | Hitachi Ltd | スタツクアドレス選択方式 |
JPS62128337A (ja) * | 1985-11-30 | 1987-06-10 | Nec Corp | スタツク制御方式 |
Also Published As
Publication number | Publication date |
---|---|
CN1295279A (zh) | 2001-05-16 |
KR100875377B1 (ko) | 2008-12-23 |
KR20010051522A (ko) | 2001-06-25 |
CN1230739C (zh) | 2005-12-07 |
TW535089B (en) | 2003-06-01 |
US6654871B1 (en) | 2003-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001184211A (ja) | 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法 | |
CA1325285C (en) | Method and apparatus for ordering and queueing multiple memory requests | |
JP3871883B2 (ja) | 間接分岐ターゲットを計算するための方法 | |
JP2006228241A (ja) | プロセッサ、およびプロセッサにおいて命令演算をスケジューリングするための方法 | |
JP2002073330A (ja) | データ処理装置 | |
JPH01503011A (ja) | キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット | |
US6684319B1 (en) | System for efficient operation of a very long instruction word digital signal processor | |
JP3729545B2 (ja) | キャッシュメモリへのアクセス | |
US5944801A (en) | Isochronous buffers for MMx-equipped microprocessors | |
JP2002287959A (ja) | ロード・ストアキュー | |
US5687353A (en) | Merging data using a merge code from a look-up table and performing ECC generation on the merged data | |
JP6944576B2 (ja) | キャッシュデバイス、命令キャッシュ、命令処理システム、データ処理方法、データ処理装置、コンピュータ可読記憶媒体及びコンピュータプログラム | |
US7111127B2 (en) | System for supporting unlimited consecutive data stores into a cache memory | |
US5197133A (en) | Control store addressing from multiple sources | |
US4737908A (en) | Buffer memory control system | |
JP3490005B2 (ja) | 命令制御装置及びその方法 | |
JP3644892B2 (ja) | 複数組の命令組を実行するためのデータ処理装置 | |
JP3132566B2 (ja) | 命令先行制御装置 | |
US11537402B1 (en) | Execution elision of intermediate instruction by processor | |
EP0915416B1 (en) | System for allowing a two word instruction to be executed in a single cycle and method therefor | |
JP3078293B2 (ja) | 記憶制御装置 | |
JP2569867B2 (ja) | 実効アドレス先行計算型パイプラインマイクロプロセッサ | |
JPH10111798A (ja) | 情報処理装置 | |
JPH08171488A (ja) | データアドレス制御回路 | |
JP2001282618A (ja) | 処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071105 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071105 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071105 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20081114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100713 |