JP2006323824A - プロセッサシステム内においてスタックを分離して管理する方法および装置 - Google Patents
プロセッサシステム内においてスタックを分離して管理する方法および装置 Download PDFInfo
- Publication number
- JP2006323824A JP2006323824A JP2006050358A JP2006050358A JP2006323824A JP 2006323824 A JP2006323824 A JP 2006323824A JP 2006050358 A JP2006050358 A JP 2006050358A JP 2006050358 A JP2006050358 A JP 2006050358A JP 2006323824 A JP2006323824 A JP 2006323824A
- Authority
- JP
- Japan
- Prior art keywords
- function call
- stack
- module
- program
- stack module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004044 response Effects 0.000 claims abstract description 53
- 230000006870 function Effects 0.000 claims description 299
- 230000015654 memory Effects 0.000 claims description 173
- 238000004891 communication Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 abstract description 12
- 238000012545 processing Methods 0.000 description 91
- 238000007667 floating Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 229920001690 polydopamine Polymers 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006386 memory function Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- GZEYLLPOQRZUDF-UHFFFAOYSA-N 7-(dimethylamino)-4-methylchromen-2-one Chemical group CC1=CC(=O)OC2=CC(N(C)C)=CC=C21 GZEYLLPOQRZUDF-UHFFFAOYSA-N 0.000 description 1
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- MDPILPRLPQYEEN-UHFFFAOYSA-N aluminium arsenide Chemical compound [As]#[Al] MDPILPRLPQYEEN-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
Abstract
【解決手段】プロセッサシステム上で実行されているソフトウエアプログラムの第1のファンクションコールに応じて、第1のスタックモジュール272を配置し、そのソフトウエアプログラムの第2のファンクションコールに応じて、第2のスタックモジュール274を配置し、その第1のスタックモジュール272に対して、その第2のスタックモジュール274を非連続に配置する方法および装置を提供する。
【選択図】図3
Description
Claims (39)
- プロセッサシステム上で実行されているソフトウエアプログラムの第1のファンクションコールに応じて、第1のスタックモジュールを配置するステップと、
前記ソフトウエアプログラムの第2のファンクションコールに応じて、第2のスタックモジュールを配置するステップと、
を含み、
前記第2のスタックモジュールは、前記第1のスタックモジュールに対して、非連続に配置されることを特徴とする方法。 - 前記第1のスタックモジュールおよび前記第2のスタックモジュールは、一以上のスタックフレーム、またはスタックフレームの一部分を含むことを特徴とする請求項1に記載の方法。
- 前記第1のファンクションコールは、前記第2のファンクションコールを呼び出すことを特徴とする請求項1または2に記載の方法。
- 他のファンクションコールにより呼び出された、ソフトウエアプログラムのそれぞれのファンクションコールに応じて、単一のスタックフレームを含むスタックモジュールを非連続に配置するステップをさらに含むことを特徴とする請求項3に記載の方法。
- 前記ソフトウエアプログラムが、複数の実行可能形式のプログラムモジュールを含み、前記第1のファンクションコールが、第1のプログラムモジュールの一部分であり、さらに、前記第2のファンクションコールが、第2のプログラムモジュールの一部分であるとき、前記第1のファンクションコールによる前記第2のファンクションコールの呼出に応じて、前記第2のスタックモジュールを配置するステップをさらに含むことを特徴とする請求項1から4のいずれかに記載の方法。
- 前記第1のファンクションコールおよび前記第2のファンクションコールが、同一のプログラムモジュールの一部分であるとき、前記第1のファンクションコールによる前記第2のファンクションコールの呼出に応じて、前記第2のスタックモジュールを配置せずに、前記第1のスタックモジュールを用いるステップをさらに含むことを特徴とする請求項5に記載の方法。
- 前記ソフトウエアプログラムが、複数の実行可能形式のプログラムモジュールを含み、前記第1のファンクションコールが、第1のプログラムモジュールセット内のプログラムモジュールの一部分であり、さらに、前記第2のファンクションコールが、第2のプログラムモジュールセット内のプログラムモジュールの一部分であるとき、前記第1のファンクションコールによる前記第2のファンクションコールの呼出に応じて、前記第2のスタックモジュールを配置するステップをさらに含むことを特徴とする請求項1から4のいずれかに記載の方法。
- 前記第1のファンクションコールおよび前記第2のファンクションコールが、同一のプログラムモジュールセット内の一部分であるとき、前記第1のファンクションコールによる前記第2のファンクションコールの呼出に応じて、前記第2のスタックモジュールを配置せずに、前記第1のスタックモジュールを用いるステップをさらに含むことを特徴とする請求項7に記載の方法。
- プロセッサシステム上で実行されているソフトウエアプログラムの第1のファンクションコールに応じて、第1のスタックフレームを配置するステップと、
前記ソフトウエアプログラムの前記第1のファンクションコールによる、第2のファンクションコールの呼出に応じて、第2のスタックフレームを配置するステップと、
前記第2のスタックフレームを、前記第1のファンクションコールのための領域および前記第2のファンクションコールのための領域に分割するステップと、
を含むことを特徴とする方法。 - 前記第2のスタックフレームは、
(i)前記第1のファンクションコールの間に生成された一以上のレジスタ値を記録することが可能な汎用レジスタ領域と、
(ii)前記第1のファンクションコールの間に生成された一以上の変数値を記録することが可能なローカル変数領域と、
(iii)前記第1のファンクションコールの間に、前記第2のファンクションコールによる使用を目的として生成された一以上のパラメータ値を格納することが可能なパラメータリスト領域と、
(iv)前記第1のファンクションコールが呼び出されたときに実行されている前記プログラムの一部分に戻る際に、第1のファンクションコールが使用するためのリンクレジスタ値を記録することが可能なリンクレジスタ記録領域と、
(v)前記第1のスタックフレームの逆方向チェイン領域へのポインタを記録することが可能な逆方向チェイン領域と、
のうち少なくとも一つを含むことを特徴とする請求項9に記載の方法。 - 前記第2のスタックフレームを分割するステップは、前記第1のファンクションコールのための、前記汎用レジスタ領域と前記ローカル変数領域とのうち少なくとも一つと、前記第2のファンクションコールのための、前記パラメータリスト領域と前記リンクレジスタ記録領域と前記逆方向チェイン領域とのうち少なくとも一つと、に分割することを特徴とする請求項10に記載の方法。
- 前記第2のファンクションコールのための前記第2のスタックフレームの領域を、前記第1のファンクションコールのための前記第2のスタックフレームの領域に対して、非連続にするステップをさらに含むことを特徴とする請求項9から11のいずれかに記載の方法。
- 前記第1のファンクションコールのための前記第2のスタックフレームの領域を、前記第1のスタックフレームに連続させるステップをさらに含むことを特徴とする請求項12に記載の方法。
- プロセッサシステム上で実行されているソフトウエアプログラムの第1のファンクションコールに応じて、第1のスタックモジュールを配置するステップと、
前記ソフトウエアプログラムの前記第1のファンクションコールによる第2のファンクションコールの呼出に応じて、第2のスタックモジュールを配置するステップと、
前記第1のスタックモジュールに対して非連続に、前記第2のスタックモジュールを保存するステップと、
前記第2のファンクションコールから前記第1のファンクションコールに戻ったことを受けて、前記第2のスタックモジュールを削除するステップと、
を含むことを特徴とする方法。 - 前記第1のスタックモジュールおよび前記第2のスタックモジュールは、一以上のスタックフレーム、またはスタックフレームの一部分を含むことを特徴とする請求項14に記載の方法。
- プロセッサシステム上で実行されているソフトウエアプログラムの第1のファンクションコールに応じて、第1のスタックモジュールを配置するステップと、
前記第1のファンクションコールによる第2のファンクションコールの呼出に応じて、第2のスタックモジュールを配置するステップと、
前記プロセッサシステムのメモリ内における前記第1のスタックモジュールのアドレスを示すリターン情報を、前記第2のスタックモジュール内に加えるステップと、
前記第1のスタックモジュールに対して非連続に、前記第2のスタックモジュールを保存するステップと、
を含むことを特徴とする方法。 - 前記第2のファンクションコールによる、前記第2のスタックモジュール内の前記リターン情報の使用により、前記メモリ内における前記第1のスタックモジュールの配置場所を確認すること、および前記第1のスタックモジュールをロードすることのうち少なくとも一つを実施するステップと、
前記第2のファンクションコールから前記第1のファンクションコールに戻るステップと、
をさらに含むことを特徴とする請求項16に記載の方法。 - 前記ソフトウエアプログラムが、複数の実行可能形式のプログラムモジュールを含み、前記第1のファンクションコールが、第1のプログラムモジュールの一部分であり、さらに、前記第2のファンクションコールが、第2のプログラムモジュールの一部分であるとき、前記第2のスタックモジュールを配置するステップをさらに含むことを特徴とする請求項16または17に記載の方法。
- 前記ソフトウエアプログラムの一部分である第1のプログラムモジュールについての前記メモリ内におけるアドレスを示すリターン情報を、前記第2のスタックモジュール内に加えるステップと、
前記第2のファンクションコールによる、前記第2のスタックモジュール内の前記リターン情報の使用により、前記メモリ内における前記第1のスタックモジュールの配置場所を確認すること、および前記第1のスタックモジュールをロードすることのうち少なくとも一つを実施するステップと、
前記第2のファンクションコールによる、前記第2のスタックモジュール内の前記リターン情報の使用により、前記メモリ内における前記第1のプログラムモジュールの配置場所を確認すること、および前記第1のプログラムモジュールをロードすることのうち少なくとも一つを実施するステップと、
をさらに含むことを特徴とする請求項16に記載の方法。 - 前記第2のファンクションコールから前記第1のファンクションコールに戻るステップをさらに含むことを特徴とする請求項19に記載の方法。
- 前記第2のスタックモジュールを削除するステップをさらに含むことを特徴とする請求項20に記載の方法。
- 前記第1のスタックモジュールを含むメモリとは別のまたは不連続のメモリ領域内に、前記第2のスタックモジュールを保存することを特徴とする請求項16から21のいずれかに記載の方法。
- 前記第1のスタックモジュールおよび前記第2のスタックモジュールは、一以上のスタックフレーム、またはスタックフレームの一部分を含むことを特徴とする請求項16から22のいずれかに記載の方法。
- プロセッサシステム内のプロセッサによる動作の実行を可能にするプログラムであって、
当該動作は、
プロセッサシステム上で実行されているソフトウエアプログラムの第1のファンクションコールに応じて、第1のスタックモジュールを配置するステップと、
前記ソフトウエアプログラムの前記第1のファンクションコールによる、第2のファンクションコールの呼出に応じて、第2のスタックモジュールを配置するステップと、
前記第2のスタックモジュールを、前記第1のスタックモジュールに対して非連続に保存するステップと、
を含むことを特徴とするプログラム。 - 他のファンクションコールにより呼び出された、ソフトウエアプログラムのそれぞれのファンクションコールに応じて、単一のスタックフレームを含むスタックモジュールを非連続に配置するステップと、
前記ソフトウエアプログラムが、複数の実行可能形式のプログラムモジュールを含み、前記第1のファンクションコールが、第1のプログラムモジュールの一部分であり、さらに、前記第2のファンクションコールが、第2のプログラムモジュールの一部分であるとき、前記第1のファンクションコールによる前記第2のファンクションコールの呼出に応じて、前記第2のスタックモジュールを配置するステップと、
前記プログラムモジュールが、複数のプログラムモジュールセットにグループ分けされ、前記第1のファンクションコールが、第1のプログラムモジュールセット内のプログラムモジュールの一部分であり、さらに、前記第2のファンクションコールが、第2のプログラムモジュールセット内のプログラムモジュールの一部分であるとき、前記第1のファンクションコールによる前記第2のファンクションコールの呼出に応じて、前記第2のスタックモジュールを配置するステップと、
のうち少なくとも一つのステップをさらに含むことを特徴とする請求項24に記載のプログラム。 - プロセッサシステム上で実行されているソフトウエアプログラムの第1のファンクションコールに応じて、第1のスタックフレームを配置するステップと、
前記ソフトウエアプログラムの前記第1のファンクションコールによる、第2のファンクションコールの呼出に応じて、第2のスタックフレームを配置するステップと、
前記第2のスタックフレームを、前記第1のファンクションコールのための領域および前記第2のファンクションコールのための領域に分割するステップと、
をさらに含むことを特徴とする請求項24または25に記載のプログラム。 - 前記第2のスタックフレームは、
(i)前記第1のファンクションコールの間に生成された一以上のレジスタ値を記録することが可能な汎用レジスタ領域と、
(ii)前記第1のファンクションコールの間に生成された一以上の変数値を記録することが可能なローカル変数領域と、
(iii)前記第1のファンクションコールの間に、前記第2のファンクションコールによる使用を目的として生成された一以上のパラメータ値を格納することが可能なパラメータリスト領域と、
(iv)前記第1のファンクションコールが呼び出されたときに実行されている前記プログラムの一部分に戻る際に、第1のファンクションコールが使用するためのリンクレジスタ値を記録することが可能なリンクレジスタ記録領域と、
(v)前記第1のスタックフレームの逆方向チェイン領域へのポインタを記録することが可能な逆方向チェイン領域と、
のうち少なくとも一つを含み、
前記第2のスタックフレームを分割するステップは、前記第1のファンクションコールのための、前記汎用レジスタ領域と前記ローカル変数領域とのうち少なくとも一つと、前記第2のファンクションコールのための、前記パラメータリスト領域と前記リンクレジスタ記録領域と前記逆方向チェイン領域とのうち少なくとも一つと、に分割することを特徴
とする請求項26に記載のプログラム。 - 前記第2のファンクションコールから前記第1のファンクションコールに戻ったことを受けて、前記第2のスタックモジュールを削除するステップをさらに含むことを特徴とする請求項24から27のいずれかに記載のプログラム。
- 前記プロセッサシステムのメモリ内における前記第1のスタックモジュールのアドレスを示すリターン情報を、前記第2のスタックモジュール内に加えるステップと、
前記第2のファンクションコールによる、前記第2のスタックモジュール内の前記リターン情報の使用により、前記メモリ内における前記第1のスタックモジュールの配置場所を確認すること、および前記第1のスタックモジュールをロードすることのうち少なくとも一つを実施するステップと、
前記第2のファンクションコールから前記第1のファンクションコールに戻るステップと、
をさらに含むことを特徴とする請求項24から28のいずれかに記載のプログラム。 - 前記ソフトウエアプログラムが、複数の実行可能形式のプログラムモジュールを含み、前記第1のファンクションコールが、第1のプログラムモジュールの一部分であり、さらに、前記第2のファンクションコールが、第2のプログラムモジュールの一部分であって、
前記動作は、
前記メモリ内における前記第1のプログラムモジュールのアドレスを示すリターン情報を、前記第2のスタックモジュール内に加えるステップと、
前記第2のファンクションコールによる、前記第2のスタックモジュール内の前記リターン情報の使用により、前記メモリ内における前記第1のスタックモジュールの配置場所を確認すること、および前記第1のスタックモジュールをロードすることのうち少なくとも一つを実施するステップと、
前記第2のファンクションコールによる、前記第2のスタックモジュール内の前記リターン情報の使用により、前記メモリ内における前記第1のプログラムモジュールの配置場所を確認すること、および前記第1のプログラムモジュールをロードすることのうち少なくとも一つを実施するステップと、
前記第2のファンクションコールから前記第1のファンクションコールに戻るステップと、
のうち少なくとも一つのステップをさらに含むことを特徴とする請求項29に記載のプログラム。 - メインメモリに動作可能に接続される少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサに接続されるローカルメモリと、
を含み、
前記少なくとも一つのプロセッサは、
(i)ソフトウエアプログラムの第1のファンクションコールに応じて、前記ローカルメモリ内に第1のスタックモジュールを配置する機能と、
(ii)前記ソフトウエアプログラムの前記第1のファンクションコールによる、第2のファンクションコールの呼出に応じて、第2のスタックモジュールを配置する機能と、
(iii)前記第2のスタックモジュールを、前記ローカルメモリ内における前記第1のスタックモジュールに対して非連続に保存する機能と、
を有することを特徴とする装置。 - 前記少なくとも一つのプロセッサは、
前記ローカルメモリ内における前記第1のスタックモジュールのアドレスを示すリターン情報を、前記第2のスタックモジュール内に加える機能と、
前記第2のスタックモジュール内の前記リターン情報を用いて、前記ローカルメモリ内における前記第1のスタックモジュールの配置場所を確認すること、および前記第1のスタックモジュールをロードすることのうち少なくとも一つを実施する機能と、
前記第2のファンクションコールから前記第1のファンクションコールに戻る機能と、
のうち少なくとも一つの機能をさらに有することを特徴とする請求項31に記載の装置。 - 前記ソフトウエアプログラムが、複数の実行可能形式のプログラムモジュールを含み、前記第1のファンクションコールが、第1のプログラムモジュールの一部分であり、さらに、前記第2のファンクションコールが、第2のプログラムモジュールの一部分であって、
前記少なくとも一つのプロセッサは、
(i)前記メモリ内における前記第1のプログラムモジュールのアドレスを示すリターン情報を、前記第2のスタックモジュールに加える機能と、
(ii)前記第2のスタックモジュール内の前記リターン情報を用いて、前記メモリ内における前記第1のスタックモジュールの配置場所を確認すること、および前記第1のスタックモジュールをロードすることのうち少なくとも一つを実施する機能と、
(iii)前記第2のスタックモジュール内の前記リターン情報を用いて、前記メモリ内における前記第1のプログラムモジュールの配置場所を確認すること、および前記第1のプログラムモジュールをロードすることのうち少なくとも一つを実施する機能と、
(iv)前記第2のファンクションコールから前記第1のファンクションコールに戻る機能と、
のうち少なくとも一つの機能をさらに有することを特徴とする請求項32に記載の装置。 - 前記少なくとも一つのプロセッサは、前記第2のファンクションコールから前記第1のファンクションコールに戻ったことを受けて、前記第2のスタックモジュールを削除する機能をさらに有することを特徴とする請求項31から33のいずれかに記載の装置。
- 前記メインメモリとの通信を可能にする並列のプロセッサをさらに複数含み、
前記複数のプロセッサのそれぞれは、ハードウエアキャッシュメモリでないローカルメモリと、命令実行パイプラインとを有することを特徴とする請求項31から34のいずれかに記載の装置。 - 前記複数のプロセッサのそれぞれは、プロセッサ自身のローカルメモリ内においては前記一以上のソフトプログラムを実行できる一方、前記メインメモリ内においては前記一以上のプログラムの実行が禁止されることを特徴とする請求項35に記載の装置。
- 前記プロセッサとそのプロセッサに関連付けられたローカルメモリは、一つの共通の集積回路として一体化されることを特徴とする請求項35または36に記載の装置。
- 前記プロセッサ、そのプロセッサに関連付けられたローカルメモリ、および前記メインメモリは、一つの共通の集積回路として一体化されることを特徴とする請求項35または36に記載の装置。
- 請求項24から請求項30のいずれかのプログラムを格納する記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/068,242 US7685601B2 (en) | 2005-02-28 | 2005-02-28 | Methods and apparatus for segmented stack management in a processor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006323824A true JP2006323824A (ja) | 2006-11-30 |
JP4219369B2 JP4219369B2 (ja) | 2009-02-04 |
Family
ID=36572411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006050358A Active JP4219369B2 (ja) | 2005-02-28 | 2006-02-27 | プロセッサシステム内においてスタックを分離して管理する方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7685601B2 (ja) |
EP (1) | EP1696318B1 (ja) |
JP (1) | JP4219369B2 (ja) |
DE (1) | DE602006018379D1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8478970B2 (en) | 2009-08-31 | 2013-07-02 | Electronics And Telecommunications Research Institute | Accessing value for local variable from function call stack upon offset matching with instruction extracted stack pointer offset or from cache |
WO2014014200A1 (ko) * | 2012-07-20 | 2014-01-23 | 주식회사 안랩 | 컴퓨터 시스템과, 컴퓨터 시스템의 주소 이동 방법 및 컴퓨터 시스템의 시스템함수 모니터링 방법 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155955A1 (en) * | 2005-01-10 | 2006-07-13 | Gschwind Michael K | SIMD-RISC processor module |
US7814166B2 (en) * | 2006-01-27 | 2010-10-12 | Sony Computer Entertainment Inc. | Methods and apparatus for virtualizing an address space |
EP1881404A1 (fr) * | 2006-07-20 | 2008-01-23 | Gemplus | Procédé de protection dynamique des données lors de l'exécution d'un code logiciel en langage intermédiaire dans un appareil numérique |
US8397088B1 (en) | 2009-07-21 | 2013-03-12 | The Research Foundation Of State University Of New York | Apparatus and method for efficient estimation of the energy dissipation of processor based systems |
US8930955B2 (en) * | 2012-02-10 | 2015-01-06 | International Business Machines Corporation | Controlling growth in virtual disks via utilization of previously used and free disk block space |
US9292292B2 (en) * | 2013-06-20 | 2016-03-22 | Advanced Micro Devices, Inc. | Stack access tracking |
US9367310B2 (en) | 2013-06-20 | 2016-06-14 | Advanced Micro Devices, Inc. | Stack access tracking using dedicated table |
US9250878B1 (en) | 2014-11-24 | 2016-02-02 | Red Hat, Inc. | Function attribute for dynamic stack allocation |
TWI566099B (zh) * | 2014-12-30 | 2017-01-11 | 鴻海精密工業股份有限公司 | 具有整合功能的電子裝置及多裝置整合控制方法 |
MX2020002104A (es) | 2017-08-24 | 2020-09-18 | Lutron Tech Co Llc | Seguridad de pilas para operaciones definidas independientemente. |
WO2020154219A1 (en) * | 2019-01-21 | 2020-07-30 | John Rankin | Systems and methods for controlling machine operations |
US11526357B2 (en) | 2019-01-21 | 2022-12-13 | Rankin Labs, Llc | Systems and methods for controlling machine operations within a multi-dimensional memory space |
US11782762B2 (en) * | 2019-02-27 | 2023-10-10 | Qualcomm Incorporated | Stack management |
US20220129301A1 (en) * | 2020-10-28 | 2022-04-28 | Mastercard International Incorporated | Architectural design for universal software automation pipelines |
CN113238800B (zh) * | 2021-05-25 | 2022-06-28 | 上海安路信息科技股份有限公司 | 堆栈帧结构和函数调用方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6119206A (en) * | 1996-02-12 | 2000-09-12 | Sun Microsystems, Inc. | Design of tags for lookup of non-volatile registers |
US5835958A (en) | 1996-10-29 | 1998-11-10 | Sun Microsystems, Inc. | Method and apparatus for dynamically sizing non-contiguous runtime stacks |
US5995752A (en) * | 1998-02-03 | 1999-11-30 | International Business Machines Corporation | Use of language instructions and functions across multiple processing sub-environments |
US6006323A (en) * | 1998-05-20 | 1999-12-21 | Industrial Technology Research Institute | Intelligent multiple stack management unit |
US6353881B1 (en) * | 1999-05-17 | 2002-03-05 | Sun Microsystems, Inc. | Supporting space-time dimensional program execution by selectively versioning memory updates |
US6990567B1 (en) * | 2000-12-22 | 2006-01-24 | Lsi Logic Corporation | Use of internal general purpose registers of a processor as a Java virtual machine top of stack and dynamic allocation of the registers according to stack status |
US6526491B2 (en) | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US6976254B2 (en) | 2001-11-28 | 2005-12-13 | Esmertec Ag | Inter-method control transfer for execution engines with memory constraints |
GB2399897B (en) * | 2003-03-26 | 2006-02-01 | Advanced Risc Mach Ltd | Memory recycling in computer systems |
-
2005
- 2005-02-28 US US11/068,242 patent/US7685601B2/en active Active
-
2006
- 2006-02-27 DE DE602006018379T patent/DE602006018379D1/de active Active
- 2006-02-27 EP EP06003943A patent/EP1696318B1/en active Active
- 2006-02-27 JP JP2006050358A patent/JP4219369B2/ja active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8478970B2 (en) | 2009-08-31 | 2013-07-02 | Electronics And Telecommunications Research Institute | Accessing value for local variable from function call stack upon offset matching with instruction extracted stack pointer offset or from cache |
KR101283469B1 (ko) | 2009-08-31 | 2013-07-12 | 한국전자통신연구원 | 프로세서 명령어의 메모리 액세스 방법 및 장치 |
WO2014014200A1 (ko) * | 2012-07-20 | 2014-01-23 | 주식회사 안랩 | 컴퓨터 시스템과, 컴퓨터 시스템의 주소 이동 방법 및 컴퓨터 시스템의 시스템함수 모니터링 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP1696318B1 (en) | 2010-11-24 |
EP1696318A1 (en) | 2006-08-30 |
US7685601B2 (en) | 2010-03-23 |
US20060195824A1 (en) | 2006-08-31 |
DE602006018379D1 (de) | 2011-01-05 |
JP4219369B2 (ja) | 2009-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4219369B2 (ja) | プロセッサシステム内においてスタックを分離して管理する方法および装置 | |
JP4322259B2 (ja) | マルチプロセッサシステムにおけるローカルメモリへのデータアクセスを同期化する方法および装置 | |
JP4346612B2 (ja) | 情報処理方法および装置 | |
JP3802042B2 (ja) | キャッシュメモリ実装方法および装置、キャッシュメモリシステム | |
JP4386373B2 (ja) | ロジカルパーティショニングされた処理環境におけるリソース管理のための方法および装置 | |
US7689784B2 (en) | Methods and apparatus for dynamic linking program overlay | |
JP5668014B2 (ja) | プロセッサにおけるタスクおよびデータ管理 | |
JP4421561B2 (ja) | ハイブリッドdmaキュー及びdmaテーブルのデータ処理方法、装置及びシステム | |
KR100881810B1 (ko) | 외부 장치로부터 프로세서의 메모리로의 주소 번역을 위한방법 및 기구 | |
JP4243318B2 (ja) | ソフトウェアとハードウエアで同時にキャッシュフィルする方法と装置 | |
US7818724B2 (en) | Methods and apparatus for instruction set emulation | |
JP2006146921A (ja) | 追跡バッファでブックマークを使用するための方法及びシステム | |
JP2006172468A (ja) | システム内部のデータ転送を処理する装置および方法 | |
JP2006221638A (ja) | タスク変更アプリケーションプログラミングインタフェースを提供する方法及び装置 | |
JP2006260556A (ja) | ラッチポイントを制御することにより、演算処理能力を改善する方法、装置ならびにシステム | |
JP4024271B2 (ja) | マルチプロセッサシステムにおいて命令を処理するための方法と装置 | |
JP4583327B2 (ja) | 分散型のマルチプロセッサシステム内において一貫性管理を行う方法、システムおよび装置 | |
JP2006260555A (ja) | 命令の従属関係検査の深度を利用して処理能力の改善するための方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080722 |
|
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: 20081111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4219369 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131121 Year of fee payment: 5 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |