JP2000513464A - スタックキャッシングのための方法及び装置 - Google Patents
スタックキャッシングのための方法及び装置Info
- Publication number
- JP2000513464A JP2000513464A JP09527084A JP52708497A JP2000513464A JP 2000513464 A JP2000513464 A JP 2000513464A JP 09527084 A JP09527084 A JP 09527084A JP 52708497 A JP52708497 A JP 52708497A JP 2000513464 A JP2000513464 A JP 2000513464A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- memory
- cache
- pointer
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7846—On-chip cache and off-chip main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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
-
- 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/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/30181—Instruction operation extension or modification
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
-
- 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/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/451—Stack data
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
Abstract
Description
Claims (1)
- 【特許請求の範囲】 1. コンピューティングシステムにおけるメソッド呼出しのメソッドフレーム をストアするための方法であって、 第1のメモリ回路内に前記メソッドフレームの実行環境をストアする過程と、 第2のメモリ回路内に、前記メソッドフレームの1つ或いはそれ以上のパラメ ータ、1つ或いはそれ以上の変数、並びに1つ或いはそれ以上のオペランドをス トアする過程とを有することを特徴とする方法。 2. 前記実行環境が復帰プログラムカウンタからなることを特徴とする請求項 1に記載の方法。 3. 前記実行環境が復帰フレームからなることを特徴とする請求項1に記載の 方法。 4. 前記実行環境が復帰コンスタントプールからなることを特徴とする請求項 1に記載の方法。 5. 前記実行環境が現在メソッドベクトルからなることを特徴とする請求項1 に記載の方法。 6. 前記実行環境が現在監視アドレスからなることを特徴とする請求項1に記 載の方法。 7. 前記1つ或いはそれ以上のパラメータ及び前記1つ或いはそれ以上の変数 が前記メソッドフレームのローカル変数エリアを構成することを特徴とする請求 項1に記載の方法。 8. 前記1つ或いはそれ以上のオペランドが前記メソッドフレームのオペラン ドスタックを構成することを特徴とする請求項7に記載の方法、 9. 前記メソッド呼出しの完了時に前記第1のメモリ回路から前記実行環境を 除く過程をさらに有することを特徴とする請求項1に記載の方 法。 10. 前記第1のメモリ回路がスタックであることを特徴とする請求項1に記 載の方法。 11. 前記第2のメモリ回路がスタックであることを特徴とする請求項1に記 載の方法。 12. 前記スタックがスタックキャッシュによりキャッシュされており、また 前記スタックキャッシュが、 複数のメモリ位置を有するスタックキャッシュと、 前記スタックキャッシュの先頭メモリ位置に指示されるフレームポインタと、 前記スタックキャッシュの最下部メモリ位置に指示される最下位ポインタとを 有することを特徴とする請求項10に記載の方法。 13. 前記フレームメモリ位置に前記スタックにおける新しい実行環境を書込 む過程と、 前記フレームポインタをインクリメントする過程と、 もしスピル条件が存在するなら、前記スタックキャッシュから前記スタックに 第1の実行環境をスピルする過程と、 もしフィル条件が存在するなら、前記スタックキャッシュから前記スタックに 第2の実行環境をフィルする過程とを有することをさらなる特徴とする請求項1 2に記載の方法。 14. 前記スタックキャッシュから前記スタックに第1の実行環境をスピリン グする前記過程が、 前記最下位メモリ位置から前記スタックに前記第1の実行環境を転送する過程 と、 前記最下位ポインタをインクリメントする過程とを有することを特徴とする請 求項13に記載の方法。 15. 前記スタックキャッシュから前記スタックに第2の実行環境をフィリン グする前記過程が、 前記最下位ポインタをデクリメントする過程と、 前記スタックから前記最下位メモリ位置に第2の実行環境を転送する過程とを 有することを特徴とする請求項13に記載の方法。 16. 前記スタックキャッシュから前記スタックに第2の実行環境をフィリン グする前記過程が、 前記スタックから前記最下位メモリ位置に先行するメモリ位置に第2の実行環 境を転送する過程と、 前記最下位ポインタをデクリメントする過程とを有することを特徴とする請求 項13に記載の方法。 17. 前記先頭メモリ位置において前記スタックキャッシュから第1のスタッ クされた実行環境を読み出す過程と、 前記フレームポインタをデクリメントする過程とをさらに有することを特徴と する請求項13に記載の方法。 18. 前記スピル条件が存在するか否かを判定する過程をさらに有することを 特徴とする請求項13に記載の方法。 19. 前記スピル条件が存在するか否かを判定する前記過程が、 空きメモリ位置の数を計算する過程と、 前記空きメモリ位置の数と高キャッシュ閾値とを比較する過程とを有すること を特徴とする請求項18に記載の方法。 20. 前記スピル条件が存在するか否かを判定する過程が、 前記OPTOPポインタと高水位マークとを比較する過程を有することを特徴 とする請求項18に記載の方法。 21. 前記フィル条件が存在するか否かを判定する過程をさらに有することを 特徴とする請求項13に記載の方法。 22. 前記フィル条件が存在するか否かを判定する過程が、 使用済メモリ位置の数を計算する過程と、 前記使用済メモリ位置の数と低キャッシュ閾値とを比較する過程とを有するこ とを特徴とする請求項21に記載の方法。 23. 前記フィル条件が存在するか否かを判定する過程が、 前記OPTOPポインタと低水位マークとを比較する過程とを有することを特 徴とする請求項21に記載の方法。 24. 前記スタックがスタックキャッシュにキャッシュされ、前記スタックキ ャッシュが、 複数のメモリ位置を有するスタックキャッシュと、 前記スタックキャッシュの先頭メモリ位置において指示されるOPTOPポイ ンタと、 前記スタックキャッシュの最下位メモリ位置において指示される最下位ポイン タとを有することを特徴とする請求項11に記載の方法。 25. 前記OPTOPメモリ位置において、前記スタックに対する新しいデー タワードを書込む過程と、 前記OPTOPポインタをインクリメントする過程と、 スピル条件が存在する場合に、前記スタックキャッシュから前記スタックに第 1のデータワードをスピルする過程と、 フィル条件が存在する場合に、前記スタックから前記スタックキャッシュに第 2のデータワードをフィルする過程とをさらに有することを特徴とする請求項2 4に記載の方法。 26. 前記スタックキャッシュから前記スタックに第1のデータワードをスピ ルする前記過程が、 前記最下位メモリ位置から前記スタックに前記第1のデータワードを転送する 過程と、 前記最下位ポインタをインクリメントする過程とを有することを特徴とする請 求項25に記載の方法。 27. 前記スタックキャッシュから前記スタックに第2のデータワードをフィ ルする前記過程が、 前記最下位ポインタをデクリメントする過程と、 前記スタックから前記最下位メモリ位置に第2のデータワードを転送する過程 とを有することを特徴とする請求項25に記載の方法。 28. 前記スタックキャッシュから前記スタックに第2のデータワードをフィ ルする前記過程が、 前記スタックから前記最下位メモリ位置に先行するメモリ位置に第2のデータ ワードを転送する過程と、 前記最下位ポインタをデクリメントする過程とを有することを特徴とする請求 項25に記載の方法。 29. 前記先頭メモリ位置において前記スタックからスタックされたデータワ ードを読み出す過程と、 前記OPTOPポインタをデクリメントする過程とをさらに有することを特徴 とする請求項25に記載の方法。 30. 前記先頭メモリ位置において前記スタックキャッシュから第1のスタッ クされたデータワードを読み出す過程と、 前記先頭メモリに先行するメモリ位置において、前記スタックキャッシュから スタックされたデータワードを読み出す過程と、 前記OPTOPポインタを2だけデクリメントする過程とをさらに有すること を特徴とする請求項25に記載の方法。 31. 複数のメソッド呼出しを実行することができるコンピューティングシス テムのメモリアーキテクチャであって、前記メモリアーキテクチャが、 各前記メソッド呼出しに対する実行環境をストアするために構成される第1の メモリ回路と、 各前記メソッド呼出しのパラメータ、変数並びにオペランドをストアするため に構成される第2のメモリ回路とを有することを特徴とするメモリアーキテクチ ャ。 32. 前記第1のメモリ回路がスタックであることを特徴とする請求項31に 記載のメモリアーキテクチャ。 33. 前記第2のメモリ回路がスタックであることを特徴とする請求項31に 記載のメモリアーキテクチャ。 34. 前記第1のメモリ回路が、 複数のメモリ位置を有する循環メモリバッファと、 前記循環メモリバッファにおいて先頭メモリ位置を指示するフレームポインタ と、 前記循環メモリバッファにおいて最下位メモリ位置を指示する最下位ポインタ と、 前記循環メモリバッファに接続される第1の読出しポートと、 前記循環メモリバッファに接続される第1の書込みポートとを有することを特 徴とする請求項31に記載のメモリアーキテクチャ。 35. 前記第1の読出しポートが前記先頭メモリ位置からデータを読み出すた めに構成され、 前記第1の書込みポートが前記先頭メモリ位置にデータを書込むために構成さ れることを特徴とする請求項34に記載のメモリアーキテクチャ。 36. 前記第1の書込みポートが前記先頭メモリ位置にデータを書込む場合、 前記フレームポインタがインクリメントされることを特徴とする請求項34に記 載のメモリアーキテクチャ。 37. 前記第1の読出しポートが前記先頭メモリ位置からデータをポップする 場合に、前記フレームポインタがデクリメントされることを特徴とする請求項3 4に記載のメモリアーキテクチャ。 38. 前記第1の読出しポートが前記最下位メモリ位置からデータを読み出す ためにも構成され、 前記第1の書込みポートが前記最下位メモリ位置下にデータを書込むためにも 構成されることを特徴とする請求項35に記載のメモリアーキテクチャ。 39. 前記第1の書込みポートが前記最下位メモリ位置下にデータを書込む場 合に、前記最下位ポインタがデクリメントされることを特徴とする請求項38に 記載のメモリアーキテクチャ。 40. 前記第1の読出しポートが前記最下位メモリ位置からデータを読み出す 場合に、前記最下位ポインタがインクリメントされることを特徴とする請求項3 8に記載のメモリアーキテクチャ。 41. 前記循環メモリバッファに接続される第2の読出しポートと、 前記循環バッファに接続される第2の書込みポートとをさらに有することを特 徴とする請求項35に記載のメモリアーキテクチャ。 42. 前記第2の読出しポートが前記最下位メモリ位置からデータを読み出す ために構成され、 前記第2の書込みポートが前記最下位メモリ位置にデータを書込むために構成 されることを特徴とする請求項41に記載のメモリアーキテクチャ。 43. 前記第2の書込みポートが前記最下位メモリ位置にデータを書込む場合 、前記最下位ポインタがデクリメントされることを特徴とする請求項42に記載 のメモリアーキテクチャ。 44. 前記第2の読出しポートが前記最下位メモリ位置からデータを 読み出す場合に、前記最下位ポインタがインクリメントされることを特徴とする 請求項42に記載のメモリアーキテクチャ。 45. 前記第1のメモリ回路が、 スタックと、 前記スタックをキャッシュするためにスタックキャッシュ管理ユニットとを有 することを特徴とする請求項42に記載のメモリアーキテクチャ。 46. 前記スタックキャッシュ管理ユニットが、 前記スタックに接続され、複数のメモリ位置を有するスタックキャッシュメモ リ回路を備えるスタックキャッシュと、 前記スタックキャッシュメモリ回路内の最下位メモリ位置を指示し、かつ定義 するキャッシュ最下位ポインタと、 前記スタックキャッシュから前記スタックに、前記最下位メモリ位置にストア される第1の実行環境を転送するために接続されるスピル制御ユニットと、 前記スタックから、前記最下位メモリ位置或いは前記最下位メモリ位置に隣接 するメモリ位置に第2の実行環境を転送するために接続されるフィル制御ユニッ トとを有することを特徴とする請求項45に記載のメモリアーキテクチャ。 47. 前記スタックキャッシュがさらに、 第1の読出しポートであって、前記スタックキャッシュメモリ回路及び前記ス タック間に接続され、前記スピル制御ユニットが前記第1の読出しポートを制御 する、該第1の読出しポートと、 第1の書込みポートであって、前記スタックキャッシュメモリ回路及び前記ス タック間に接続され、前記フィル制御ユニットが前記第1の書込みポートを制御 する、該第1の書込みポートとを有することを特徴と する請求項46に記載のメモリアーキテクチャ。 48. 前記スタックキャッシュメモリ回路の先頭メモリ位置を指示し、かつ定 義するフレームポインタをさらに有することを特徴とする請求項47に記載のメ モリアーキテクチャ。 49. 前記第2のメモリ回路が、 複数のメモリ位置を有する循環メモリバッファと、 前記循環メモリバッファにおいて先頭メモリ位置を指示するフレームポインタ と、 前記循環メモリバッファにおいて最下位メモリ位置を指示する最下位 ポインタと、 前記循環メモリバッファに接続される第1の読出しポートと、 前記循環メモリバッファに接続される第1の書込みポートとを有することを特 徴とする請求項32に記載のメモリアーキテクチャ。 50. 前記第1の読出しポートが前記先頭メモリ位置からデータを読み出すた めに構成され、 前記第1の書込みポートが前記先頭メモリ位置にデータを書込むために構成さ れることを特徴とする請求項49に記載のメモリアーキテクチャ。 51. 前記第1の書込みポートが前記先頭メモリ位置にデータを書込む場合、 前記OPTOPポインタがインクリメントされることを特徴とする請求項49に 記載のメモリアーキテクチャ。 52. 前記第1の読出しポートが前記先頭メモリ位置からデータをポップする 場合に、前記OPTOPポインタがデクリメントされることを特徴とする請求項 49に記載のメモリアーキテクチャ。 53. 前記第2のメモリ回路が、 スタックと、 前記スタックをキャッシュするためにスタックキャッシュ管理ユニットとを有 することを特徴とする請求項32に記載のメモリアーキテクチャ。 54. 前記スタックキャッシュ管理ユニットが、 前記スタックに接続され、複数のメモリ位置を有するスタックキャッシュメモ リ回路を備えるスタックキャッシュと、 前記スタックキャッシュメモリ回路内の最下位メモリ位置を指示し、かつ定義 するキャッシュ最下位ポインタと、 前記スタックキャッシュから前記スタックに、前記最下位メモリ位置にストア される第1のデータワードを転送するために接続されるスピル制御ユニットと、 前記スタックから、前記最下位メモリ位置或いは前記最下位メモリ位置に隣接 するメモリ位置に第2のデータワードを転送するために接続されるフィル制御ユ ニットとを有することを特徴とする請求項53に記載のメモリアーキテクチャ。 55. 前記スタックキャッシュがさらに 第1の読出しポートであって、前記スタックキャッシュメモリ回路及び前記ス タック間に接続され、前記スピル制御ユニットが前記第1の読出しポートを制御 する、該第1の読出しポートと、 第1の書込みポートであって、前記スタックキャッシュメモリ回路及び前記ス タック間に接続され、前記フィル制御ユニットが前記第1の書込みポートを制御 する、該第1の書込みポートとを有することを特徴とする請求項54に記載のメ モリアーキテクチャ。 56. 前記スタックキャッシュメモリ回路の先頭メモリ位置を指示し、かつ定 義するOPTOPポインタをさらに有することを特徴とする請求項55に記載の メモリアーキテクチャ。 57. メモリアーキテクチャであって、 スタックと、 前記スタックに接続され、複数のメモリ位置を有するスタックキャッシュメモ リ回路を備えるスタックキャッシュと、 前記スタックキャッシュメモリ回路内の最下位メモリ位置を指示し、かつ定義 するキャッシュ最下位ポインタと、 前記スタックキャッシュから前記スタックに、前記最下位メモリ位置にストア される第1のデータワードを転送するために接続されるスピル制御ユニットと、 前記スタックから、前記最下位メモリ位置或いは前記最下位メモリ位置に隣接 するメモリ位置に第2のデータワードを転送するために接続されるフィル制御ユ ニットとを有することを特徴とするメモリアーキテクチャ。 58. 前記スタックキャッシュがさらに 第1の読出しポートであって、前記スタックキャッシュメモリ回路及び前記ス タック間に接続され、前記スピル制御ユニットが前記第1の読出しポートを制御 する、該第1の読出しポートと、 第1の書込みポートであって、前記スタックキャッシュメモリ回路及び前記ス タック間に接続され、前記フィル制御ユニットが前記第1の書込みポートを制御 する、該第1の書込みポートとを有することを特徴とする請求項57に記載のメ モリアーキテクチャ。 59. 前記スタックキャッシュメモリ回路の先頭メモリ位置を指示し、かつ定 義するOPTOPポインタをさらに有することを特徴とする請求項58に記載の メモリアーキテクチャ。 60. 前記スタックキャッシュがさらに 前記スタックキャッシュメモリ回路に接続される第2の読出しポート と、 前記スタックキャッシュメモリ回路に接続される第3の読出しポートと、 前記スタックキャッシュメモリ回路に接続される第2の書込みポートとを有す ることを特徴とする請求項58に記載のメモリアーキテクチャ。 61. 前記第2の読出しポート、前記第3の読出しポート並びに前記第2の書 込みポートを制御するために構成されるスタック制御ユニットをさらに有するこ とを特徴とする請求項60に記載のメモリアーキテクチャ。 62. 前記OPTOPポインタは、新しいデータワードが前記スタックキャッ シュメモリ回路にプッシュされるときインクリメントされ、前記OPTOPポイ ンタは、ポップされたデータワードが前記スタックキャッシュメモリ回路からポ ップされるときデクリメントされることを特徴する請求項59に記載のメモリア ーキテクチャ。 63. 前記新しいデータワードが前記第1の書込みポートを介してプッシュさ れ、前記ポップされたデータワードが前記第1の読出しポートを介してポップさ れることを特徴とする請求項62に記載のメモリアーキテクチャ。 64. 前記キャッシュ最下位ポインタが、前記スピル制御ユニットが前記第1 のデータを前記スタックに転送するときインクリメントされることを特徴とする 請求項57に記載のメモリアーキテクチャ。 65. 前記キャッシュ最下位ポインタが、前記フィル制御ユニットが前記第2 のデータを前記スタックに転送するときデクリメントされることを特徴とする請 求項57に記載のメモリアーキテクチャ。 66. 前記OPTOPポインタ及び前記キャッシュ最下位ポインタを受信する ために接続され、前記スタックキャッシュメモリ回路内の空き メモリ位置の数を計算するために構成されるスタックキャッシュステータス回路 をさらに有することを特徴とする請求項59に記載のメモリアーキテクチャ。 67. 前記スピル制御ユニットが、前記空きメモリ位置の数がキャッシュ高閾 値より小さい場合にのみ、前記第1のデータワードを転送することを特徴とする 請求項66に記載のメモリアーキテクチャ。 68. 前記スピル制御ユニットが、 前記キャッシュ高閾値を含むプログラマブルレジスタと、 前記スタックキャッシュステータス回路と前記プログラマブルレジスタとに接 続される比較器とを有することを特徴とする請求項67に記載のメモリアーキテ クチャ。 69. 前記フィル制御ユニットが、前記空きメモリ位置の数がキャッシュ低閾 値より大きい場合にのみ、前記第2のデータワードを転送することを特徴とする 請求項66に記載のメモリアーキテクチャ。 70. 前記フィル制御ユニットが、 前記キャッシュ低閾値を含むプログラマブルレジスタと、 前記スタックキャッシュステータス回路と前記プログラマブルレジスタとに接 続される比較器とを有することを特徴とする請求項69に記載のメモリアーキテ クチャ。 71. 前記OPTOPポインタ及び前記キャッシュ最下位ポインタを受信する ために接続され、前記スタックキャッシュメモリ回路内の使用済メモリ位置の数 を計算するために構成されるスタックキャッシュステータス回路をさらに有する ことを特徴とする請求項59に記載のメモリアーキテクチャ。 72. 前記フィル制御ユニットが、前記使用済メモリ位置の数がキャッシュ低 閾値より小さい場合にのみ、前記第2のデータワードを転送す ることを特徴とする請求項71に記載のメモリアーキテクチャ。 73. 前記フィル制御ユニットが、 前記キャッシュ低閾値を含むために構成されるプログラマブルレジスタと、 前記スタックキャッシュステータス回路と前記プログラマブルレジスタとに接 続される比較器とを有することを特徴とする請求項72に記載のメモリアーキテ クチャ。 74. 前記スピル制御ユニットが、前記OPTOPポインタが高水位マークよ り大きい場合にのみ、前記第1のデータワードを転送することを特徴とする請求 項59に記載のメモリアーキテクチャ。 75. 前記スピル制御ユニットが、 前記高水位マークを含むプログラマブルレジスタと、 前記スタックキャッシュステータス回路と前記プログラマブルレジスタとに接 続される比較器とを有することを特徴とする請求項74に記載のメモリアーキテ クチャ。 76. 前記フィル制御ユニットが、前記OPTOPポインタが低水位マークよ り小さい場合にのみ、前記第2のデータワードを転送することを特徴とする請求 項59に記載のメモリアーキテクチャ。 77. 前記スピル制御ユニットが、 前記低水位マークを含むために構成されるプログラマブルレジスタと、 前記スタックキャッシュステータス回路と前記プログラマブルレジスタとに接 続される比較器とを有することを特徴とする請求項76に記載のメモリアーキテ クチャ。 78. 各前記メモリ位置が、 有効ビットと、 保管ビットと、 データセクションとを有することを特徴とする請求項57に記載のメモリアー キテクチャ。 79. 前記スピル制御ユニットが、前記第1のデータワードが前記スタックに 転送される場合に、前記最下位メモリ位置の前記保管ビットを保管論理状態にセ ットすることを特徴とする請求項78に記載のメモリアーキテクチャ。 80. 前記フィル制御ユニットが、前記第2のデータワードが前記スタックに 転送される場合に、前記最下位メモリ位置に先行する前記メモリ位置の前記有効 ビットをセットすることを特徴とする請求項78に記載のメモリアーキテクチャ 。 81. 前記スタックキャッシュメモリ回路がレジスタファイルであることを特 徴とする請求項57に記載のメモリアーキテクチャ。 82. 各前記メモリ位置がレジスタであることを特徴とする請求項81に記載 のメモリアーキテクチャ。 83. 前記スタックキャッシュメモリ回路が循環バッファとして構成されるこ とを特徴とする請求項57に記載のメモリアーキテクチャ。 84. 前記第1のデータワード及び前記第2のデータワードが同じであること を特徴とする請求項57に記載のメモリアーキテクチャ。 85. 複数のメソッド呼出しを実行することができるコンピューティングシス テムに用いられることを特徴とする請求項57に記載のメモリアーキテクチャ。 86. 各前記メソッド呼出しに対する実行環境をストアするために構成される メモリ回路をさらに有し、 前記スタックが各前記メソッドのパラメータ、変数並びにオペランドをストア するために構成されることを特徴とする請求項85に記載のメモリアーキテクチ ャ。 87. 前記第1のメモリ回路が実行環境スタックであることを特徴とする請求 項86に記載のメモリアーキテクチャ。 88. 実行環境スタックキャッシュであって、前記実行環境スタックに接続さ れる実行環境スタックキャッシュメモリ回路を有し、前記実行環境スタックキャ ッシュメモリ回路が複数の実行環境メモリ位置を有する、該実行環境スタックキ ャッシュと、 前記実行環境スタックキャッシュメモリ回路内の実行環境最下位メモリ位置を 指示し、かつ定義する実行環境キャッシュ最下位ポインタと、 前記実行環境スタックキャッシュから前記実行環境スタックに、前記実行環境 最下位メモリ位置内にストアされる第1の実行環境を転送するために接続される 実行環境スピル制御ユニットと、 前記実行環境スタックから前記実行環境最下位メモリ位置或いは前記実行環境 最下位メモリ位置に隣接する実行環境メモリ位置に実行環境を転送するために接 続される実行環境フィル制御ユニットとを有することを特徴とする請求項87に 記載のメモリアーキテクチャ。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1052796P | 1996-01-24 | 1996-01-24 | |
US64225396A | 1996-05-02 | 1996-05-02 | |
US08/642,253 | 1996-05-02 | ||
US64710396A | 1996-05-07 | 1996-05-07 | |
US60/010,527 | 1996-05-07 | ||
US08/647,103 | 1996-05-07 | ||
PCT/US1997/001303 WO1997027539A1 (en) | 1996-01-24 | 1997-01-23 | Methods and apparatuses for stack caching |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000513464A true JP2000513464A (ja) | 2000-10-10 |
JP3634379B2 JP3634379B2 (ja) | 2005-03-30 |
Family
ID=27359254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52708497A Expired - Lifetime JP3634379B2 (ja) | 1996-01-24 | 1997-01-23 | スタックキャッシングのための方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (5) | US6532531B1 (ja) |
EP (1) | EP0976034B1 (ja) |
JP (1) | JP3634379B2 (ja) |
KR (1) | KR100584964B1 (ja) |
DE (1) | DE69734399D1 (ja) |
WO (1) | WO1997027539A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004511041A (ja) * | 2000-10-05 | 2004-04-08 | エイアールエム リミテッド | 変換した命令の再始動 |
JP4833499B2 (ja) * | 2000-10-05 | 2011-12-07 | エイアールエム リミテッド | レジスタ内へのスタックオペランドの格納 |
Families Citing this family (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3634379B2 (ja) * | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
US6263401B1 (en) * | 1997-09-30 | 2001-07-17 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for transferring data between a register stack and a memory resource |
AU2158900A (en) | 1998-11-25 | 2000-06-19 | Sun Microsystems, Inc. | A method for enabling comprehensive profiling of garbage-collected memory systems |
US6332215B1 (en) | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US7225436B1 (en) | 1998-12-08 | 2007-05-29 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
JP3355602B2 (ja) * | 1999-01-27 | 2002-12-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 多次元配列オブジェクトの処理方法及び装置 |
US8346971B2 (en) | 1999-05-04 | 2013-01-01 | At&T Intellectual Property I, Lp | Data transfer, synchronising applications, and low latency networks |
WO2000070531A2 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Methods and apparatus for control configuration |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6665793B1 (en) * | 1999-12-28 | 2003-12-16 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for managing access to out-of-frame Registers |
KR20010076328A (ko) * | 2000-01-19 | 2001-08-11 | 이정태 | 티씨피/아이피를 하드웨어적으로 처리하는 장치 및 그동작방법 |
EP1197847A3 (en) | 2000-10-10 | 2003-05-21 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
WO2002045385A2 (en) * | 2000-11-20 | 2002-06-06 | Zucotto Wireless, Inc. | Methods and devices for caching method frame segments in a low-power stack-based processor |
US8769508B2 (en) | 2001-08-24 | 2014-07-01 | Nazomi Communications Inc. | Virtual machine hardware for RISC and CISC processors |
US6772292B2 (en) * | 2002-06-04 | 2004-08-03 | Isaak Garber | Two area stack |
US7228532B1 (en) * | 2002-06-26 | 2007-06-05 | Sun Microsystems, Inc. | Method and apparatus to facilitate code verification and garbage collection in a platform-independent virtual machine |
EP1387274A3 (en) * | 2002-07-31 | 2004-08-11 | Texas Instruments Incorporated | Memory management for local variables |
EP1387249B1 (en) * | 2002-07-31 | 2019-03-13 | Texas Instruments Incorporated | RISC processor having a stack and register architecture |
GB0220282D0 (en) * | 2002-08-31 | 2002-10-09 | Ibm | Improved just in time compilation of java software methods |
US7367022B2 (en) * | 2002-09-05 | 2008-04-29 | Intel Corporation | Methods and apparatus for optimizing the operating speed and size of a computer program |
US7801120B2 (en) * | 2003-01-13 | 2010-09-21 | Emulex Design & Manufacturing Corporation | Method and system for efficient queue management |
US7139877B2 (en) * | 2003-01-16 | 2006-11-21 | Ip-First, Llc | Microprocessor and apparatus for performing speculative load operation from a stack memory cache |
US7136990B2 (en) * | 2003-01-16 | 2006-11-14 | Ip-First, Llc. | Fast POP operation from RAM cache using cache row value stack |
US7191291B2 (en) * | 2003-01-16 | 2007-03-13 | Ip-First, Llc | Microprocessor with variable latency stack cache |
US7139876B2 (en) * | 2003-01-16 | 2006-11-21 | Ip-First, Llc | Microprocessor and apparatus for performing fast speculative pop operation from a stack memory cache |
US7694301B1 (en) * | 2003-06-27 | 2010-04-06 | Nathan Laredo | Method and system for supporting input/output for a virtual machine |
US20050066305A1 (en) * | 2003-09-22 | 2005-03-24 | Lisanke Robert John | Method and machine for efficient simulation of digital hardware within a software development environment |
US7496917B2 (en) * | 2003-09-25 | 2009-02-24 | International Business Machines Corporation | Virtual devices using a pluarlity of processors |
US7516456B2 (en) * | 2003-09-25 | 2009-04-07 | International Business Machines Corporation | Asymmetric heterogeneous multi-threaded operating system |
US7415703B2 (en) * | 2003-09-25 | 2008-08-19 | International Business Machines Corporation | Loading software on a plurality of processors |
US7389508B2 (en) * | 2003-09-25 | 2008-06-17 | International Business Machines Corporation | System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment |
US7478390B2 (en) * | 2003-09-25 | 2009-01-13 | International Business Machines Corporation | Task queue management of virtual devices using a plurality of processors |
US20050071828A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | System and method for compiling source code for multi-processor environments |
US7444632B2 (en) * | 2003-09-25 | 2008-10-28 | International Business Machines Corporation | Balancing computational load across a plurality of processors |
US7523157B2 (en) * | 2003-09-25 | 2009-04-21 | International Business Machines Corporation | Managing a plurality of processors as devices |
US7549145B2 (en) * | 2003-09-25 | 2009-06-16 | International Business Machines Corporation | Processor dedicated code handling in a multi-processor environment |
US7257665B2 (en) * | 2003-09-29 | 2007-08-14 | Intel Corporation | Branch-aware FIFO for interprocessor data sharing |
US20050071606A1 (en) * | 2003-09-30 | 2005-03-31 | Roman Talyansky | Device, system and method of allocating spill cells in binary instrumentation using one free register |
US7707389B2 (en) * | 2003-10-31 | 2010-04-27 | Mips Technologies, Inc. | Multi-ISA instruction fetch unit for a processor, and applications thereof |
FR2864411B1 (fr) * | 2003-12-23 | 2006-03-03 | Cit Alcatel | Terminal avec des moyens de protection contre le dysfonctionnement de certaines applications java |
AT413739B (de) * | 2004-02-09 | 2006-05-15 | Ge Jenbacher Gmbh & Co Ohg | Verfahren zum regeln einer brennkraftmaschine |
DE102004025418A1 (de) * | 2004-05-24 | 2005-12-22 | Infineon Technologies Ag | Controller mit einer Decodiereinrichtung |
DE102004025419A1 (de) * | 2004-05-24 | 2005-12-22 | Infineon Technologies Ag | Controller und Verfahren zum Verarbeiten von Befehlen |
US7278122B2 (en) * | 2004-06-24 | 2007-10-02 | Ftl Systems, Inc. | Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization |
US20060095675A1 (en) * | 2004-08-23 | 2006-05-04 | Rongzhen Yang | Three stage hybrid stack model |
WO2006031551A2 (en) | 2004-09-10 | 2006-03-23 | Cavium Networks | Selective replication of data structure |
US7941585B2 (en) * | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
US7594081B2 (en) | 2004-09-10 | 2009-09-22 | Cavium Networks, Inc. | Direct access to low-latency memory |
US7526502B2 (en) * | 2004-09-10 | 2009-04-28 | Microsoft Corporation | Dynamic call site binding |
US7314491B2 (en) * | 2004-12-29 | 2008-01-01 | Bull Hn Information Systems Inc. | Encapsulation of large native operating system functions as enhancements of the instruction set in an emulated central processor system |
US7478224B2 (en) * | 2005-04-15 | 2009-01-13 | Atmel Corporation | Microprocessor access of operand stack as a register file using native instructions |
KR100725393B1 (ko) * | 2005-05-19 | 2007-06-07 | 삼성전자주식회사 | 자바 가상 머신에서 바이트 코드의 수행 시간을 줄이는시스템 및 방법 |
US7676796B2 (en) * | 2005-09-29 | 2010-03-09 | Intel Corporation | Device, system and method for maintaining a pre-defined number of free registers within an instrumented program |
US8024551B2 (en) | 2005-10-26 | 2011-09-20 | Analog Devices, Inc. | Pipelined digital signal processor |
US8285972B2 (en) | 2005-10-26 | 2012-10-09 | Analog Devices, Inc. | Lookup table addressing system and method |
US7728744B2 (en) * | 2005-10-26 | 2010-06-01 | Analog Devices, Inc. | Variable length decoder system and method |
US7454572B2 (en) * | 2005-11-08 | 2008-11-18 | Mediatek Inc. | Stack caching systems and methods with an active swapping mechanism |
JP4732874B2 (ja) * | 2005-11-28 | 2011-07-27 | 株式会社エヌ・ティ・ティ・ドコモ | ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法 |
US7366842B1 (en) * | 2005-12-15 | 2008-04-29 | Nvidia Corporation | Creating permanent storage on the fly within existing buffers |
WO2007076629A1 (en) * | 2005-12-30 | 2007-07-12 | Intel Corporation | Type checking for object-oriented programming languages |
US7502029B2 (en) * | 2006-01-17 | 2009-03-10 | Silicon Integrated Systems Corp. | Instruction folding mechanism, method for performing the same and pixel processing system employing the same |
DE102006041002B4 (de) * | 2006-08-31 | 2009-01-02 | Infineon Technologies Ag | Verfahren, um ein Programm an einen Zwischenspeicher anzupassen, und Schaltungsanordnung |
GB2442495B (en) * | 2006-10-02 | 2009-04-01 | Transitive Ltd | Method and apparatus for handling dynamically linked function cells with respect to program code conversion |
US8301990B2 (en) * | 2007-09-27 | 2012-10-30 | Analog Devices, Inc. | Programmable compute unit with internal register and bit FIFO for executing Viterbi code |
DE102007051345A1 (de) * | 2007-10-26 | 2009-04-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Explosivstoffladung |
WO2009155483A1 (en) | 2008-06-20 | 2009-12-23 | Invensys Systems, Inc. | Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US8453114B2 (en) * | 2008-12-24 | 2013-05-28 | Microsoft Corporation | Implicit iteration of keyed array symbol |
EP2400778B1 (en) * | 2009-02-23 | 2019-02-13 | Mitsubishi Electric Corporation | Wireless communication system, wireless communication device, and wireless communication method |
US10453130B2 (en) | 2009-03-18 | 2019-10-22 | Bgc Partners, Inc. | Electronic exchange system using messages related to events and actions on an exchange |
US10380689B2 (en) * | 2009-03-06 | 2019-08-13 | Bgc Partners, Inc. | Method and apparatus for exchange-based condition processing |
KR101493076B1 (ko) | 2009-04-07 | 2015-02-12 | 삼성전자 주식회사 | 버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법 |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8775153B2 (en) * | 2009-12-23 | 2014-07-08 | Intel Corporation | Transitioning from source instruction set architecture (ISA) code to translated code in a partial emulation environment |
US9268945B2 (en) * | 2010-03-19 | 2016-02-23 | Contrast Security, Llc | Detection of vulnerabilities in computer systems |
US9189271B2 (en) | 2011-09-13 | 2015-11-17 | Empire Technology Development, Llc | Operation transfer from an origin virtual machine to a destination virtual machine while continue the execution of the operation on the origin virtual machine |
US20130086359A1 (en) * | 2011-09-29 | 2013-04-04 | Qualcomm Incorporated | Processor Hardware Pipeline Configured for Single-Instruction Address Extraction and Memory Access Operation |
US9417855B2 (en) | 2011-09-30 | 2016-08-16 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
US20130091331A1 (en) * | 2011-10-11 | 2013-04-11 | Iulian Moraru | Methods, apparatus, and articles of manufacture to manage memory |
US9069587B2 (en) * | 2011-10-31 | 2015-06-30 | Stec, Inc. | System and method to cache hypervisor data |
JP5779077B2 (ja) * | 2011-11-22 | 2015-09-16 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | プログラムの生成を支援する装置及び方法 |
US8990788B2 (en) | 2012-03-09 | 2015-03-24 | Empire Technology Development Llc | Compilation of code in a data center |
US9471344B1 (en) * | 2012-03-27 | 2016-10-18 | Marvell International Ltd. | Hardware support for processing virtual machine instructions |
US9383448B2 (en) | 2012-07-05 | 2016-07-05 | Deca System Co., Ltd. | Golf GPS device with automatic hole recognition and playing hole selection |
US9575755B2 (en) | 2012-08-03 | 2017-02-21 | International Business Machines Corporation | Vector processing in an active memory device |
US9569211B2 (en) | 2012-08-03 | 2017-02-14 | International Business Machines Corporation | Predication in a vector processor |
US9632777B2 (en) | 2012-08-03 | 2017-04-25 | International Business Machines Corporation | Gather/scatter of multiple data elements with packed loading/storing into/from a register file entry |
US9003160B2 (en) | 2012-08-03 | 2015-04-07 | International Business Machines Corporation | Active buffered memory |
US9594724B2 (en) | 2012-08-09 | 2017-03-14 | International Business Machines Corporation | Vector register file |
US9298395B2 (en) | 2012-10-22 | 2016-03-29 | Globalfoundries Inc. | Memory system connector |
US8972782B2 (en) | 2012-11-09 | 2015-03-03 | International Business Machines Corporation | Exposed-pipeline processing element with rollback |
US9189399B2 (en) | 2012-11-21 | 2015-11-17 | Advanced Micro Devices, Inc. | Stack cache management and coherence techniques |
US20140143498A1 (en) * | 2012-11-21 | 2014-05-22 | Advanced Micro Devices, Inc. | Methods and apparatus for filtering stack data within a cache memory hierarchy |
US9734059B2 (en) | 2012-11-21 | 2017-08-15 | Advanced Micro Devices, Inc. | Methods and apparatus for data cache way prediction based on classification as stack data |
US9032157B2 (en) * | 2012-12-11 | 2015-05-12 | International Business Machines Corporation | Virtual machine failover |
US9069701B2 (en) * | 2012-12-11 | 2015-06-30 | International Business Machines Corporation | Virtual machine failover |
US9292292B2 (en) * | 2013-06-20 | 2016-03-22 | Advanced Micro Devices, Inc. | Stack access tracking |
US8943462B2 (en) * | 2013-06-28 | 2015-01-27 | Sap Se | Type instances |
US10001993B2 (en) | 2013-08-08 | 2018-06-19 | Linear Algebra Technologies Limited | Variable-length instruction buffer management |
US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
US20150186168A1 (en) * | 2013-12-30 | 2015-07-02 | Unisys Corporation | Dedicating processing resources to just-in-time compilers and instruction processors in a dynamic translator |
JP6371855B2 (ja) | 2014-03-26 | 2018-08-08 | インテル・コーポレーション | プロセッサ、方法、システム、プログラム、及び非一時的機械可読記憶媒体 |
US9513805B2 (en) * | 2014-04-15 | 2016-12-06 | International Business Machines Corporation | Page table including data fetch width indicator |
US11755202B2 (en) | 2015-01-20 | 2023-09-12 | Ultrata, Llc | Managing meta-data in an object memory fabric |
WO2016118615A1 (en) | 2015-01-20 | 2016-07-28 | Ultrata Llc | Object memory data flow instruction execution |
US9672351B2 (en) * | 2015-02-02 | 2017-06-06 | Qualcomm Incorporated | Authenticated control stacks |
US11327779B2 (en) * | 2015-03-25 | 2022-05-10 | Vmware, Inc. | Parallelized virtual machine configuration |
US9971542B2 (en) | 2015-06-09 | 2018-05-15 | Ultrata, Llc | Infinite memory fabric streams and APIs |
US10698628B2 (en) | 2015-06-09 | 2020-06-30 | Ultrata, Llc | Infinite memory fabric hardware implementation with memory |
US9886210B2 (en) | 2015-06-09 | 2018-02-06 | Ultrata, Llc | Infinite memory fabric hardware implementation with router |
CN105183433B (zh) * | 2015-08-24 | 2018-02-06 | 上海兆芯集成电路有限公司 | 指令合并方法以及具有多数据通道的装置 |
US9705620B2 (en) * | 2015-09-18 | 2017-07-11 | Qualcomm Incorporated | Synchronization of endpoints using tunable latency |
US10241676B2 (en) | 2015-12-08 | 2019-03-26 | Ultrata, Llc | Memory fabric software implementation |
US10235063B2 (en) | 2015-12-08 | 2019-03-19 | Ultrata, Llc | Memory fabric operations and coherency using fault tolerant objects |
WO2017100281A1 (en) | 2015-12-08 | 2017-06-15 | Ultrata, Llc | Memory fabric software implementation |
WO2017100288A1 (en) | 2015-12-08 | 2017-06-15 | Ultrata, Llc. | Memory fabric operations and coherency using fault tolerant objects |
US10908910B2 (en) * | 2018-07-27 | 2021-02-02 | Oracle International Corporation | Lazy copying of runtime-managed stack frames |
US11106463B2 (en) | 2019-05-24 | 2021-08-31 | Texas Instruments Incorporated | System and method for addressing data in memory |
US10942852B1 (en) | 2019-09-12 | 2021-03-09 | Advanced New Technologies Co., Ltd. | Log-structured storage systems |
SG11202002588RA (en) | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
SG11202002732TA (en) | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
WO2019228575A2 (en) | 2019-09-12 | 2019-12-05 | Alibaba Group Holding Limited | Log-structured storage systems |
WO2019228571A2 (en) | 2019-09-12 | 2019-12-05 | Alibaba Group Holding Limited | Log-structured storage systems |
SG11202002363QA (en) | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
EP3673376B1 (en) | 2019-09-12 | 2022-11-30 | Advanced New Technologies Co., Ltd. | Log-structured storage systems |
SG11202002027TA (en) * | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
WO2019228568A2 (en) | 2019-09-12 | 2019-12-05 | Alibaba Group Holding Limited | Log-structured storage systems |
CN113326020A (zh) * | 2020-02-28 | 2021-08-31 | 北京百度网讯科技有限公司 | 缓存器件、缓存器、系统、数据处理方法、装置及介质 |
US11809839B2 (en) | 2022-01-18 | 2023-11-07 | Robert Lyden | Computer language and code for application development and electronic and optical communication |
Family Cites Families (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3878513A (en) | 1972-02-08 | 1975-04-15 | Burroughs Corp | Data processing method and apparatus using occupancy indications to reserve storage space for a stack |
US3810117A (en) | 1972-10-20 | 1974-05-07 | Ibm | Stack mechanism for a data processor |
GB1441816A (en) | 1973-07-18 | 1976-07-07 | Int Computers Ltd | Electronic digital data processing systems |
US3889243A (en) | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
JPS5474651A (en) | 1977-11-28 | 1979-06-14 | Toshiba Corp | Stack control system |
US4354232A (en) | 1977-12-16 | 1982-10-12 | Honeywell Information Systems Inc. | Cache memory command buffer circuit |
US4325118A (en) | 1980-03-03 | 1982-04-13 | Western Digital Corporation | Instruction fetch circuitry for computers |
US4524416A (en) | 1980-04-15 | 1985-06-18 | Honeywell Information Systems Inc. | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system |
US4375678A (en) | 1980-08-25 | 1983-03-01 | Sperry Corporation | Redundant memory arrangement providing simultaneous access |
US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
US4530049A (en) | 1982-02-11 | 1985-07-16 | At&T Bell Laboratories | Stack cache with fixed size stack frames |
US5043870A (en) | 1982-02-24 | 1991-08-27 | At&T Bell Laboratories | Computer with automatic mapping of memory contents into machine registers during program execution |
US4600986A (en) | 1984-04-02 | 1986-07-15 | Sperry Corporation | Pipelined split stack with high performance interleaved decode |
US4674032A (en) | 1984-04-02 | 1987-06-16 | Unisys Corporation | High-performance pipelined stack with over-write protection |
JPS6133546A (ja) | 1984-07-25 | 1986-02-17 | Nec Corp | 情報処理装置 |
US4761733A (en) | 1985-03-11 | 1988-08-02 | Celerity Computing | Direct-execution microprogrammable microprocessor system |
DE3689595T2 (de) | 1985-04-08 | 1994-05-19 | Hitachi Ltd | Datenverarbeitungssystem. |
US4849880A (en) * | 1985-11-18 | 1989-07-18 | John Fluke Mfg. Co., Inc. | Virtual machine programming system |
JP2826309B2 (ja) | 1985-11-20 | 1998-11-18 | 日本電気株式会社 | 情報処理装置 |
JPH0687221B2 (ja) | 1986-04-02 | 1994-11-02 | 日本電気株式会社 | 情報処理装置 |
JP2545789B2 (ja) | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
US4811208A (en) | 1986-05-16 | 1989-03-07 | Intel Corporation | Stack frame cache on a microprocessor chip |
JPS63242243A (ja) | 1987-03-31 | 1988-10-07 | 株式会社東芝 | 超音波ドプラ診断装置 |
US5115500A (en) | 1988-01-11 | 1992-05-19 | International Business Machines Corporation | Plural incompatible instruction format decode method and apparatus |
US5210874A (en) | 1988-03-22 | 1993-05-11 | Digital Equipment Corporation | Cross-domain call system in a capability based digital data processing system |
US5313614A (en) * | 1988-12-06 | 1994-05-17 | At&T Bell Laboratories | Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems |
US5187793A (en) * | 1989-01-09 | 1993-02-16 | Intel Corporation | Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache |
US4951194A (en) | 1989-01-23 | 1990-08-21 | Tektronix, Inc. | Method for reducing memory allocations and data copying operations during program calling sequences |
US5107457A (en) * | 1989-04-03 | 1992-04-21 | The Johns Hopkins University | Stack data cache having a stack management hardware with internal and external stack pointers and buffers for handling underflow and overflow stack |
US5359507A (en) * | 1989-04-07 | 1994-10-25 | Mitsubishi Denki Kabushiki Kaisha | Sequence controller |
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 |
US5093777A (en) | 1989-06-12 | 1992-03-03 | Bull Hn Information Systems Inc. | Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack |
US5157777A (en) * | 1989-12-22 | 1992-10-20 | Intel Corporation | Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism |
JP2818249B2 (ja) * | 1990-03-30 | 1998-10-30 | 株式会社東芝 | 電子計算機 |
US5471591A (en) * | 1990-06-29 | 1995-11-28 | Digital Equipment Corporation | Combined write-operand queue and read-after-write dependency scoreboard |
JP3027627B2 (ja) | 1991-02-25 | 2000-04-04 | 松下電工株式会社 | プログラマブルコントローラの演算プロセッサ |
US5701417A (en) | 1991-03-27 | 1997-12-23 | Microstar Laboratories | Method and apparatus for providing initial instructions through a communications interface in a multiple computer system |
JP3204323B2 (ja) | 1991-07-05 | 2001-09-04 | エヌイーシーマイクロシステム株式会社 | キャッシュメモリ内蔵マイクロプロセッサ |
US5634027A (en) | 1991-11-20 | 1997-05-27 | Kabushiki Kaisha Toshiba | Cache memory system for multiple processors with collectively arranged cache tag memories |
US5274818A (en) * | 1992-02-03 | 1993-12-28 | Thinking Machines Corporation | System and method for compiling a fine-grained array based source program onto a course-grained hardware |
US5438668A (en) | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
US5522051A (en) * | 1992-07-29 | 1996-05-28 | Intel Corporation | Method and apparatus for stack manipulation in a pipelined processor |
US5471602A (en) * | 1992-07-31 | 1995-11-28 | Hewlett-Packard Company | System and method of scoreboarding individual cache line segments |
US5367650A (en) * | 1992-07-31 | 1994-11-22 | Intel Corporation | Method and apparauts for parallel exchange operation in a pipelined processor |
AU4804493A (en) * | 1992-08-07 | 1994-03-03 | Thinking Machines Corporation | Massively parallel computer including auxiliary vector processor |
DE4306031C2 (de) * | 1993-02-26 | 1995-11-02 | Siemens Ag | Verfahren zum ferngesteuerten Administrieren von Kommunikationssystemen |
JPH0793216A (ja) | 1993-09-27 | 1995-04-07 | Hitachi Ltd | キャッシュ記憶制御装置 |
US5499352A (en) * | 1993-09-30 | 1996-03-12 | Intel Corporation | Floating point register alias table FXCH and retirement floating point register array |
US5548776A (en) * | 1993-09-30 | 1996-08-20 | Intel Corporation | N-wide bypass for data dependencies within register alias table |
JPH07114473A (ja) * | 1993-10-19 | 1995-05-02 | Fujitsu Ltd | コンパイラの命令列最適化方法 |
US5481684A (en) | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
EP0676691A3 (en) | 1994-04-06 | 1996-12-11 | Hewlett Packard Co | Device for saving and restoring registers in a digital computer. |
US5485572A (en) | 1994-04-26 | 1996-01-16 | Unisys Corporation | Response stack state validation check |
US5481693A (en) | 1994-07-20 | 1996-01-02 | Exponential Technology, Inc. | Shared register architecture for a dual-instruction-set CPU |
US5598546A (en) | 1994-08-31 | 1997-01-28 | Exponential Technology, Inc. | Dual-architecture super-scalar pipeline |
US5636362A (en) | 1994-09-28 | 1997-06-03 | Intel Corporation | Programmable high watermark in stack frame cache using second region as a storage if first region is full and an event having a predetermined minimum priority |
DE4435183C2 (de) * | 1994-09-30 | 2000-04-20 | Siemens Ag | Verfahren zum Betrieb eines Magnetresonanzgeräts |
US6496922B1 (en) | 1994-10-31 | 2002-12-17 | Sun Microsystems, Inc. | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation |
US5748964A (en) * | 1994-12-20 | 1998-05-05 | Sun Microsystems, Inc. | Bytecode program interpreter apparatus and method with pre-verification of data type restrictions |
US5630066A (en) | 1994-12-20 | 1997-05-13 | Sun Microsystems, Inc. | System and method for locating object view and platform independent object |
US5638525A (en) | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5600726A (en) * | 1995-04-07 | 1997-02-04 | Gemini Systems, L.L.C. | Method for creating specific purpose rule-based n-bit virtual machines |
US5634118A (en) * | 1995-04-10 | 1997-05-27 | Exponential Technology, Inc. | Splitting a floating-point stack-exchange instruction for merging into surrounding instructions by operand translation |
US5862370A (en) * | 1995-09-27 | 1999-01-19 | Vlsi Technology, Inc. | Data processor system with instruction substitution filter for deimplementing instructions |
US6076155A (en) | 1995-10-24 | 2000-06-13 | S3 Incorporated | Shared register architecture for a dual-instruction-set CPU to facilitate data exchange between the instruction sets |
US5657486A (en) * | 1995-12-07 | 1997-08-12 | Teradyne, Inc. | Automatic test equipment with pipelined sequencer |
US5699537A (en) * | 1995-12-22 | 1997-12-16 | Intel Corporation | Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions |
US5687336A (en) | 1996-01-11 | 1997-11-11 | Exponential Technology, Inc. | Stack push/pop tracking and pairing in a pipelined processor |
US5784553A (en) | 1996-01-16 | 1998-07-21 | Parasoft Corporation | Method and system for generating a computer program test suite using dynamic symbolic execution of JAVA programs |
US5761408A (en) * | 1996-01-16 | 1998-06-02 | Parasoft Corporation | Method and system for generating a computer program test suite using dynamic symbolic execution |
JP3634379B2 (ja) | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
EP0976030B1 (en) * | 1996-01-24 | 2008-07-02 | Sun Microsystems, Inc. | Instruction folding for a stack-based machine |
EP0976029A2 (en) | 1996-01-24 | 2000-02-02 | Sun Microsystems, Inc. | A processor for executing instruction sets received from a network or from a local memory |
US6151703A (en) * | 1996-05-20 | 2000-11-21 | Inprise Corporation | Development system with methods for just-in-time compilation of programs |
US6711667B1 (en) * | 1996-06-28 | 2004-03-23 | Legerity, Inc. | Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions |
US5953741A (en) * | 1996-11-27 | 1999-09-14 | Vlsi Technology, Inc. | Stack cache for stack-based processor and method thereof |
US5903761A (en) * | 1997-10-31 | 1999-05-11 | Preemptive Solutions, Inc. | Method of reducing the number of instructions in a program code sequence |
US6205578B1 (en) * | 1998-08-14 | 2001-03-20 | Ati International Srl | Interpreter for stack-based languages |
US6349383B1 (en) * | 1998-09-10 | 2002-02-19 | Ip-First, L.L.C. | System for combining adjacent push/pop stack program instructions into single double push/pop stack microinstuction for execution |
US20050149694A1 (en) * | 1998-12-08 | 2005-07-07 | Mukesh Patel | Java hardware accelerator using microcode engine |
US6332215B1 (en) * | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US6338160B1 (en) * | 1998-12-08 | 2002-01-08 | Nazomi Communications, Inc. | Constant pool reference resolution method |
US6826749B2 (en) * | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
GB2367654B (en) * | 2000-10-05 | 2004-10-27 | Advanced Risc Mach Ltd | Storing stack operands in registers |
GB2367653B (en) * | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
GB2369464B (en) * | 2000-11-27 | 2005-01-05 | Advanced Risc Mach Ltd | A data processing apparatus and method for saving return state |
US7076771B2 (en) * | 2000-12-01 | 2006-07-11 | Arm Limited | Instruction interpretation within a data processing system |
GB2376097B (en) * | 2001-05-31 | 2005-04-06 | Advanced Risc Mach Ltd | Configuration control within data processing systems |
GB2376100B (en) * | 2001-05-31 | 2005-03-09 | Advanced Risc Mach Ltd | Data processing using multiple instruction sets |
US6832307B2 (en) * | 2001-07-19 | 2004-12-14 | Stmicroelectronics, Inc. | Instruction fetch buffer stack fold decoder for generating foldable instruction status information |
-
1997
- 1997-01-23 JP JP52708497A patent/JP3634379B2/ja not_active Expired - Lifetime
- 1997-01-23 DE DE69734399T patent/DE69734399D1/de not_active Expired - Lifetime
- 1997-01-23 US US08/787,617 patent/US6532531B1/en not_active Expired - Lifetime
- 1997-01-23 EP EP97904010A patent/EP0976034B1/en not_active Expired - Lifetime
- 1997-01-23 KR KR1020057006219A patent/KR100584964B1/ko not_active IP Right Cessation
- 1997-01-23 WO PCT/US1997/001303 patent/WO1997027539A1/en active IP Right Grant
-
2003
- 2003-01-17 US US10/346,886 patent/US6950923B2/en not_active Expired - Fee Related
- 2003-05-20 US US10/442,410 patent/US6961843B2/en not_active Expired - Fee Related
-
2005
- 2005-03-30 US US11/096,183 patent/US20050267996A1/en not_active Abandoned
-
2006
- 2006-07-31 US US11/461,340 patent/US20070277021A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004511041A (ja) * | 2000-10-05 | 2004-04-08 | エイアールエム リミテッド | 変換した命令の再始動 |
JP4833499B2 (ja) * | 2000-10-05 | 2011-12-07 | エイアールエム リミテッド | レジスタ内へのスタックオペランドの格納 |
Also Published As
Publication number | Publication date |
---|---|
US6532531B1 (en) | 2003-03-11 |
US6961843B2 (en) | 2005-11-01 |
KR20050052529A (ko) | 2005-06-02 |
WO1997027539A1 (en) | 1997-07-31 |
US20030115238A1 (en) | 2003-06-19 |
JP3634379B2 (ja) | 2005-03-30 |
US20050267996A1 (en) | 2005-12-01 |
DE69734399D1 (de) | 2006-03-02 |
US20070277021A1 (en) | 2007-11-29 |
US20030200351A1 (en) | 2003-10-23 |
US6950923B2 (en) | 2005-09-27 |
EP0976034A1 (en) | 2000-02-02 |
EP0976034B1 (en) | 2005-10-19 |
KR100584964B1 (ko) | 2006-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000513464A (ja) | スタックキャッシングのための方法及び装置 | |
US6038643A (en) | Stack management unit and method for a processor having a stack | |
US5925123A (en) | Processor for executing instruction sets received from a network or from a local memory | |
JP4171496B2 (ja) | スタックを用いる演算マシンのための命令フォールディング処理 | |
US6148391A (en) | System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses | |
EP0976050B1 (en) | Processor with array access bounds checking | |
US5970242A (en) | Replicating code to eliminate a level of indirection during execution of an object oriented computer program | |
US6065108A (en) | Non-quick instruction accelerator including instruction identifier and data set storage and method of implementing same | |
US6076141A (en) | Look-up switch accelerator and method of operating same | |
EP0752644A2 (en) | Memory management unit incorporating prefetch control | |
US7069415B2 (en) | System and method to automatically stack and unstack Java local variables | |
US7203797B2 (en) | Memory management of local variables | |
JP2005011353A (ja) | プロセッサにおけるスタックをベースとするメモリの利用の管理 | |
US20040078550A1 (en) | Multi-processor computing system having a JAVA stack machine and a RISC-based processor | |
KR100618718B1 (ko) | 스택메모리구조에서의캐싱방법및장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041022 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100107 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110107 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110107 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120107 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130107 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130107 Year of fee payment: 8 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130107 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |