JP2000501217A - 配列アクセス境界チェックを加速したプロセッサ - Google Patents
配列アクセス境界チェックを加速したプロセッサInfo
- Publication number
- JP2000501217A JP2000501217A JP9527086A JP52708697A JP2000501217A JP 2000501217 A JP2000501217 A JP 2000501217A JP 9527086 A JP9527086 A JP 9527086A JP 52708697 A JP52708697 A JP 52708697A JP 2000501217 A JP2000501217 A JP 2000501217A
- Authority
- JP
- Japan
- Prior art keywords
- array
- value
- memory
- section
- size
- 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
- 238000000034 method Methods 0.000 claims description 155
- 238000013519 translation Methods 0.000 claims description 27
- 230000014616 translation Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 17
- 238000003491 array Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 3
- 241001279686 Allium moly Species 0.000 claims 1
- 229910000498 pewter Inorganic materials 0.000 claims 1
- 239000010957 pewter Substances 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 34
- 238000007726 management method Methods 0.000 description 32
- 238000007667 floating Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 210000003128 head Anatomy 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 102100022002 CD59 glycoprotein Human genes 0.000 description 2
- 101000897400 Homo sapiens CD59 glycoprotein Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101100382854 Arabidopsis thaliana CCD7 gene Proteins 0.000 description 1
- 241000208340 Araliaceae Species 0.000 description 1
- 101150019725 MAN3 gene Proteins 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000003933 intellectual function Effects 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 239000006187 pill Substances 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- 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/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/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/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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying 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/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (1)
- 【特許請求の範囲】 1. 各配列へのアクセスが、最大配列サイズ境界値と最小配列サイズ境界値と の間にあることを照合するために構成される配列境界チェック装置であって、前 記装置が、 連想メモリ素子であって、複数の配列アクセス命令の1つに関連する配列サイ ズ値をストア、かつ回収するために構成され、前記各配列アクセス命令が前記配 列内の要素の値を参照する、該連想メモリ素子と、 第1の比較素子であって、前記比較素子は前記連想メモリ素子の出力セクショ ンに動作可能に接続され、また前記比較素子は所定の最大配列サイズ値と前記参 照された要素の値とを比較し、さらに前記参照された要素の値が前記所定最大配 列サイズ値より大きい場合、最大値違反信号を供給するために構成される、該第 1の比較素子と、 第2の比較素子であって、前記比較素子は前記連想メモリ素子の前記出力セク ションに動作可能に接続され、また前記比較素子は最小配列サイズ値と前記参照 された要素の値とを比較し、さらに前記参照された要素の値が前記所定最小配列 サイズ値より小さい場合、最小値違反信号を供給するために構成される、該第2 の比較素子とを有することを特徴とする配列境界チェック装置。 2. 前記配列境界チェック装置がさらに、 例外素子であって、前記第1及び第2の比較素子に動作可能に接続され、また 前記例外素子は、前記最大値違反信号或いは前記最小値違反信号のいずれかの受 信に応じて例外信号を供給するために構成される、該例外素子を有することを特 徴とする請求項1に記載の配列境界チェック装置。 3. 前記連想メモリ素子がさらに、 第1のメモリセクションであって、複数の配列参照エントリを受信し、 かつストアするために構成される第1の複数のメモリ位置を含み、前記第1の複 数のメモリ位置の各1つが、前記複数の配列参照エントリの1つをストアするた めに構成され、また前記複数の配列参照エントリの各1つが前記複数の配列アク セス命令の1つに対応する、該第1のメモリセクションと、 入力セクションであって、前記第1のメモリセクションに動作可能に接続され 、また前記入力セクションは配列アクセス命令識別子を受信し、かつ同時に前記 配列アクセス命令識別子と、少なくとも前記ストアされた配列参照エントリの一 部とを比較するために構成され、前記配列アクセス命令識別子が配列アクセス命 令を識別する、該入力セクションと、 第2のメモリセクションであって、複数の配列サイズ値を受信、かつストアす るために構成される第2の複数のメモリ位置を含み、前記第2の複数のメモリ位 置の各1つは前記配列サイズ値の1つをストアするために構成され、前記第1の 複数のメモリ位置に関連し、さらに前記複数の配列サイズ値の各1つは前記複数 の配列アクセス命令の1つに関連し、最大配列サイズ値及び最小配列サイズ値を 含む、該第2のメモリセクションとを有することを特徴とし、さらに 前記連想メモリ素子の前記出力セクションが前記第2のメモリセクションに動 作可能に接続され、また前記出力セクションが、配列サイズ出力値として、前記 配列アクセス命令識別子と一致する前記複数の配列参照エントリの1つがストア される前記第1の複数のメモリ位置の1つに関連する前記第2の複数のメモリ位 置の1つにストアされる前記複数の配列サイズの1つを与えることを特徴とする 請求項1に記載の配列境界チェック装置。 4. 情報配列のサイズが最大配列サイズ境界値と最小配列サイズ境界値との間 にあることを照合するために構成される配列境界チェック装置 であって、前記装置が、 (a) 配列サイズ値をストアし、各回収するために構成される連想メモリ素 子であって、前記配列サイズ値が複数の配列アクセス命令の1つに関連し、各配 列アクセス命令は前記配列内の要素の値を参照する、該連想メモリ素子を有する ことを特徴とし、前記連想メモリ素子が、 (i) 第1のメモリセクションであって、複数の配列参照エントリを受信 、かつストアするために構成される第1の複数のメモリ位置を含み、前記第1の 複数のメモリ位置の各1つが前記複数の配列参照エントリの1つをストアするた めに構成され、さらに前記複数の配列参照エントリの1つが前記複数の配列アク セス命令の1つに対応する、該第1のメモリセクションと、 (ii) 第2のメモリセクションであって、複数の配列サイズ値を受信、 かつストアするために構成される第2の複数のメモリ位置を含み、前記第2の複 数のメモリ位置の各1つが前記配列サイズ値の1つをストアするために構成され 、かつ前記第1の複数のメモリ位置の1つに関連し、さらに前記複数の配列サイ ズ値の各1つが前記複数の配列アクセス命令の1つに関連し、かつ最大配列サイ ズ値及び最小配列サイズ値を含む、該第2のメモリセクションと、 (iii) 入力セクションであって、前記第1のメモリセクションに動作 可能に接続され、また前記入力セクションは、配列アクセス命令識別子を受信し 、かつ同時に前記配列アクセス命令識別子と、少なくとも前記ストアされた各配 列参照エントリの一部とを比較するために構成され、前記配列アクセス命令識別 子が配列アクセス命令を識別する、該入力セクションと、 (iv) 出力セクションであって、前記第2のメモリセクションに動作可 能に接続され、また前記出力セクションは、配列サイズ出力値 として、前記配列アクセス命令識別子に一致する前記複数の配列参照エントリの 1つがストアされる前記第1の複数のメモリ位置の1つに関連する前記第2の複 数のメモリ位置の1つにストアされる前記複数の配列サイズ値の1つを与える、 該出力セクションとを有することを特徴とし、 (b)第1の比較素子であって、前記出力セクションに動作可能に接続され、ま た前記第1の比較素子は前記最大配列サイズ出力値と前記参照された要素の値と を比較し、かつ前記参照された要素の値が前記最大配列サイズ出力値より大きい 場合、最大値違反信号を与えるために構成される、該第1の比較素子と、 (c)第2の比較素子であって、前記出力セクションに動作可能に接続され、ま た前記第2の比較素子は前記最小配列サイズ出力値と前記参照された要素の値と を比較し、かつ前記参照された要素の値が前記最小配列サイズ出力値より小さい 場合、最小値違反信号を与えるために構成される、該第2の比較素子と、 (d)例外素子であって、前記第1及び第2の比較素子に動作可能に接続され、 また前記例外素子は前記最大値違反信号或いは最小値違反信号のいずれかの受信 に応じて例外出力信号を与えるために構成される、該例外素子とを有することを 特徴とする配列境界チェック装置。 5. 情報配列のサイズが、最大配列サイズ境界値と最小配列サイズ境界値との 間にあることを照合するための方法であって、前記方法が、 第1のメモリセクションにおける複数の配列参照エントリをストアする過程で あって、前記第1のメモリセクションは第1の複数のメモリ位置を含み、前記第 1の複数のメモリ位置の各1つが前記複数の配列参照エントリの1つをストアす るために構成され、さらに前記複数の配列参照エントリの各1つが複数の配列ア クセス命令の1つに対応する、該配列参照エントリストア過程と、 第2のメモリセクションにおける複数の配列サイズ値をストアする過程であっ て、前記第2のメモリセクションは第2の複数のメモリ位置を含み、前記第2の 複数のメモリ位置の各1つが前記配列サイズ値の1つをストアするために構成さ れ、かつ前記第1の複数のメモリ位置の1つに関連し、さらに前記複数の配列サ イズ値の各1つが前記複数の配列アクセス命令の1つに関連し、かつ最大配列サ イズ値及び最小配列サイズ値を含む、該配列サイズ値ストア過程と、 配列アクセス命令識別子を、少なくとも前記ストアされた各配列参照エントリ の一部と同時に比較する過程であって、前記配列アクセス命令識別子が配列アク セス命令を識別する、該比較過程と、 配列サイズ出力値として、前記配列アクセス命令と一致する前記複数の配列参 照エントリの1つがストアされる前記第1の複数のメモリ位置の1つに関連する 前記第2の複数のメモリ位置の1つにストアされる前記複数の配列サイズ値の1 つを与える過程と、 前記最大配列サイズ出力値と前記参照された要素の値とを比較し、前記参照さ れた要素の値が前記最大配列サイズ出力値より大きい場合、最大値違反信号を発 生する過程と、 前記最小配列サイズ出力値と前記参照された要素の値とを比較し、前記参照さ れた要素の値が前記最小配列サイズ出力値より小さい場合、最小値違反信号を発 生する過程と、 前記最大値違反信号或いは前記最小値違反信号の発生に応じて、例外信号を供 給する過程とを有することを特徴とする配列サイズ照合方法。 6. 情報配列のサイズが、最大配列サイズ境界値と最小配列サイズ境界値との 間にあることを照合するための方法であって、前記方法が、 連想メモリ素子を与える過程であって、前記連想メモリ素子が複数の配列アク セス命令の1つに関連する配列サイズ値をストアし、かつ回収 するために構成され、また各配列アクセス命令が前記配列内の要素の値を参照す る、該連想メモリ素子を与える過程と、 第1の比較素子を与える過程であって、前記第1の比較素子が前記連想メモリ 素子の出力セクションに動作可能に接続され、また前記第1の比較素子が所定の 最大配列サイズ値と前記参照された要素の値とを比較し、さらに前記参照された 要素の値が前記所定の最大配列サイズ値より大きい場合、最大値違反信号を供給 するために構成される、該第1の比較素子を与える過程と、 第2の比較素子を与える過程であって、前記第2の比較素子は前記メモリ素子 の前記出力セクションに動作可能に接続され、また前記第2の比較素子が所定の 最小配列サイズ値と前記参照された要素の値とを比較し、さらに前記参照された 要素の値が前記所定の最小配列サイズ値より小さい場合、最小値違反信号を供給 するために構成される、該第2の比較素子を与える過程と、 例外素子を与える過程であって、前記例外素子は前記第1及び前記第2の比較 素子に動作可能に接続され、また前記例外素子が、前記最大値違反信号或いは前 記最小値違反信号の受信に応じて、例外信号を供給するために構成される、該例 外素子を与える過程とを有することを特徴とする配列サイズ照合方法。 7. さらに第1の複数のメモリ位置を含む前記連想メモリ内の第1のメモリセ クションを与える過程であって、前記第1の複数のメモリ位置が複数の配列参照 エントリを受信し、かつストアするために構成され、前記第1の複数のメモリ位 置の各1つが前記複数の配列参照エントリの1つをストアするために構成され、 さらに前記複数の配列参照エントリの各1つが、前記複数の配列アクセス命令の 1つに対応する、該第1のメモリセクションを与える過程と、 入力セクションを与える過程であって、前記入力セクションは前記第1のメモ リセクションに動作可能に接続され、また前記入力セクションは配列アクセス命 令識別子を受信し、かつ同時に前記配列アクセス命令識別子を、少なくとも前記 ストアされた各配列参照エントリの一部と比較するために構成され、前記配列ア クセス命令識別子が配列アクセス命令を識別する、該入力セクションを与える過 程と、 第2の複数のメモリ位置を含む前記連想メモリ素子内の第2のメモリセクショ ンを与える過程であって、前記第2のメモリ位置が複数の配列サイズ値を受信し 、かつストアするために構成され、かつ前記第1の複数のメモリ位置の1つに関 連し、さらに前記複数の配列サイズ値の各1つが前記複数の配列アクセス命令の 1つに関連し、かつ最大配列サイズ値及び最小配列サイズ値を含む、該第2のメ モリセクションを与える過程とを有することを特徴とし、 前記連想メモリ素子の前記出力セクションが前記第2のメモリセクションに動 作可能に接続され、かつ配列サイズ出力値として、前記配列アクセス命令識別子 と一致する前記複数の配列参照エントリの1つがストアされる前記第1の複数の メモリ位置の1つに関連する前記第2の複数のメモリ位置の1つにストアされる 前記複数の配列サイズ値の1つを与えることを特徴とする請求項6に記載の方法 。 8. 情報配列のサイズが、最大配列サイズ境界値と最小配列サイズ境界値との 間にあることを照合するために構成される配列境界チェック装置を与えるための 方法であって、前記方法が、 (a) 配列サイズ値をストアし、各回収するために構成される連想メモリ素 子を与える過程であって、前記配列サイズ値の各1つが複数の配列アクセス命令 の1つに関連する、該連想メモリ素子を与える過程を有することを特徴とし、前 記連想メモリ素子が、 (i) 第1のメモリセクションであって、複数の配列参照エントリを受信 、かつストアするために構成される第1の複数のメモリ位置を含み、前記第1の 複数のメモリ位置の各1つが前記複数の配列参照エントリの1つをストアするた めに構成され、さらに前記複数の配列参照エントリの1つが前記複数の配列アク セス命令の1つに対応する、該第1のメモリセクションと、 (ii) 第2のメモリセクションであって、複数の配列サイズ値を受信、 かつストアするために構成される第2の複数のメモリ位置を含み、前記第2の複 数のメモリ位置の各1つが前記配列サイズ値の1つをストアするために構成され 、かつ前記第1の複数のメモリ位置の1つに関連し、さらに前記複数の配列サイ ズ値の各1つが前記複数の配列アクセス命令の1つに関連し、かつ最大配列サイ ズ値及び最小配列サイズ値を含む、該第2のメモリセクションと、 (iii) 入力セクションであって、前記第1のメモリセクションに動作 可能に接続され、また前記入力セクションは、配列アクセス命令識別子を受信し 、かつ同時に前記配列アクセス命令識別子と、少なくとも前記ストアされた各配 列参照エントリの一部とを比較するために構成され、前記配列アクセス命令識別 子が配列アクセス命令を識別する、該入力セクションと、 (iv) 出力セクションであって、前記第2のメモリセクションに動作可 能に接続され、また前記出力セクションは、配列サイズ出力値として、前記配列 アクセス命令識別子に一致する前記複数の配列参照エントリの1つがストアされ る前記第1の複数のメモリ位置の1つに関連する前記第2の複数のメモリ位置の 1つにストアされる前記複数の配列サイズ値の1つを与える、該出力セクション とを有することを特徴とし、 (b)第1の比較素子を与える過程であって、前記第1の比較素子は前 記出力セクションに動作可能に接続され、また前記第1の比較素子は前記最大配 列サイズ出力値と前記参照された要素の値とを比較し、かつ前記参照された要素 の値が前記最大配列サイズ出力値より大きい場合、最大値違反信号を与えるため に構成される、該第1の比較素子を与える過程と、 (c)第2の比較素子を与える過程であって、前記第2の比較素子は前記出力セ クションに動作可能に接続され、また前記第2の比較素子は前記最小配列サイズ 出力値と前記参照された要素の値とを比較し、かつ前記参照された要素の値が前 記最小配列サイズ出力値より小さい場合、最小値違反信号を与えるために構成さ れる、該第2の比較素子を与える過程と、 (d)例外素子を与える過程であって、前記例外素子は前記第1及び第2の比較 素子に動作可能に接続され、また前記例外素子は前記最大値違反信号或いは最小 値違反信号のいずれかの受信に応じて例外出力信号を与えるために構成される、 該例外素子を与える過程とを有することを特徴とする配列境界チェック装置を与 える方法。 9. コンピュータシステムであって、 ソフトウエアプログラムを受信し、かつ翻訳し、ソフトウエアプログラムに従 って複数の翻訳された命令と複数の命令識別子を供給するために構成される翻訳 ユニットであって、前記命令識別子の各1つが前記複数の翻訳された命令の1つ に対応し、前記複数の翻訳された命令が複数の配列アクセス命令を含む、該翻訳 ユニットと、 前記複数の命令識別子に従って、前記複数の翻訳された命令を受信し、それに より受信した翻訳命令を実行するために構成された実行ユニットと、 連想メモリ素子であって、複数の配列アクセス命令の1つに関連する 配列サイズ値をストアし、かつ回収するために構成され、各配列アクセス命令が 前記配列内の要素の値を参照する、該連想メモリ素子と、 第1の比較素子であって、前記連想メモリ素子の出力セクションに動作可能に 接続され、また前記第1の比較素子は所定の最大配列サイズ値と前記参照された 要素の値とを比較し、かつ前記参照された要素の値が前記所定の最大配列サイズ 値より大きい場合、最大値違反信号を供給するために構成される、該第1の比較 素子と、 第2の比較素子であって、前記連想メモリ素子の前記出力セクションに動作可 能に接続され、また前記第2の比較素子は所定最小配列サイズ値と前記参照され た要素の値とを比較し、かつ前記参照された要素の値が前記所定の最小配列サイ ズ値より小さい場合、最小値違反信号を供給するために構成される、該第2の比 較素子と、 例外素子であって、前記第1及び前記第2の比較素子、並びに実行ユニットに 動作可能に接続され、また前記例外ユニットは前記最大値違反信号或いは前記最 小値違反信号のいずれかの受信に応じて、前記実行ユニットに例外信号を供給す るために構成される、該例外素子とを有することを特徴とするコンピュータシス テム。 10. 前記連想メモリ素子がさらに、 第1のメモリセクションであって、複数の配列参照エントリを受信し、かつス トアするために構成される第1の複数のメモリ位置を含み、前記第1の複数のメ モリ位置の各1つが前記複数の配列参照エントリの1つをストアするために構成 され、さらに前記複数の配列参照エントリの各1つが、前記複数の配列アクセス 命令の1つに対応する、該第1のメモリセクションと、 入力セクションであって、前記第1のメモリセクションに動作可能に接続され 、また前記入力セクションは、配列アクセス命令識別子を受信 し、さらに同時に前記配列アクセス命令識別子と少なくとも前記ストアされた各 配列参照エントリの一部とを比較するために構成され、前記配列アクセス命令識 別子が配列アクセス命令を識別する、該入力セクションと、 第2のメモリセクションであって、複数の配列サイズ値を受信し、かつストア するために構成される第2の複数のメモリ位置を含み、前記第2の複数のメモリ 位置の各1つが、前記第1の複数のメモリ位置の1つに関連する前記配列サイズ 値の1つをストアするために構成され、さらに前記複数の配列サイズ値の各1つ が前記複数の配列アクセス命令の1つに関連し、かつ最大配列サイズ値及び最小 配列サイズ値を含む、該第2のメモリセクションとを有することを特徴とし、 前記連想メモリ素子の前記出力セクションが前記第2のメモリセクションに動 作可能に接続され、かつ配列サイズ出力値として、前記配列アクセス命令識別子 と一致する前記複数の配列参照エントリの1つがストアされる前記第1の複数の メモリ位置の1つに関連する前記第2の複数のメモリ位置の1つにストアされる 前記複数の配列サイズ値の1つを与えることを特徴とする請求項9に記載のコン ピュータシステム。 11. コンピュータシステムであって、 ソフトウエアプログラムを受信し、かつ翻訳し、ソフトウエアプログラムに従 って複数の翻訳された命令と複数の命令識別子を供給するために構成される翻訳 ユニットであって、前記命令識別子の各1つが前記複数の翻訳された命令の1つ に対応し、前記複数の翻訳された命令が複数の配列アクセス命令を含む、該翻訳 ユニットと、 前記複数の命令識別子に従って、前記複数の翻訳された命令を受信し、それに より受信した翻訳命令を実行するために構成された実行ユニットと、 連想メモリ素子であって、複数の配列サイズ値をストアし、かつ回収するため に構成され、前記配列サイズ値の各1つが複数の配列アクセス命令の1つに関連 する、該連想メモリ素子とを有することを特徴とし、前記連想メモリ素子がさら に、 (i) 第1のメモリセクションであって、複数の配列参照エントリを受信 し、かつストアするために構成される第1の複数のメモリ位置を含み、前記第1 の複数のメモリ位置の各1つが、前記複数の配列参照エントリの1つをストアす るために構成され、さらに前記複数の配列参照エントリの各1つが前記複数の配 列アクセス命令の1つに対応する、該第1のメモリセクションと、 (ii) 第2のメモリセクションであって、複数の配列サイズ値を受信し 、かつストアするために構成される第2の複数のメモリ位置を含み、前記第2の 複数のメモリ位置の各1つが、前記配列サイズ値の1つをストアするために構成 され、かつ前記第1の複数のメモリ位置の1つに関連し、さらに前記複数の配列 サイズ値の各1つが前記複数の配列アクセス命令の1つに関連し、かつ最大配列 サイズ値及び最小配列サイズ値を含む、該第2のメモリセクションと、 (iii) 入力セクションであって、前記第1のメモリセクションに動作 可能に接続され、また前記入力セクションは配列アクセス命令識別子を受信し、 かつ同時に前記配列アクセス命令識別子と、少なくとも前記ストアされた各配列 参照エントリの一部とを比較するために構成され、前記配列アクセス命令識別子 が配列アクセス命令を識別する、該入力セクションと、 (iv) 出力セクションであって、前記第2のメモリセクションに動作可 能に接続され、また前記出力セクションは配列サイズ出力値として、前記配列ア クセス命令識別子と一致する前記複数の配列参照エン トリの1つがストアされる前記第1の複数のメモリ位置の1つに関連する前記第 2の複数のメモリ位置の1つにストアされる前記複数の配列サイズ値の1つを与 える、該出力セクションと、 第1の比較素子であって、前記連想メモリ素子の前記出力セクションに動作可 能に接続され、また前記第1の比較素子は前記参照された要素の値と前記最大配 列サイズ出力値とを比較し、かつ前記参照された要素の値が前記最大配列サイズ 出力値より大きい場合、最大値違反信号を供給するために構成される、該第1の 比較素子と、 第2の比較素子であって、前記連想メモリ素子の前記出力セクションに動作可 能に接続され、また前記第2の比較素子は前記参照された要素の値と前記最小配 列サイズ出力値とを比較し、かつ前記参照された要素の値が前記最小配列サイズ 出力値より小さい場合、最小値違反信号を供給するために構成される、該第2の 比較素子と、 例外素子であって、前記第1及び第2の比較素子、並びに前記実行ユニットに 動作可能に接続され、また前記例外素子は、前記最大値違反信号或いは前記最小 値違反信号のいずれかの受信に応じて、前記実行ユニットに例外出力信号を供給 するために構成される、該例外素子とを有することを特徴とし、 前記実行ユニットが配列アクセス境界例外サブルーチンを定義する一連の翻訳 された命令を実行することにより、前記例外出力信号に応答するために構成され ることを特徴とするコンピュータシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1052796P | 1996-01-24 | 1996-01-24 | |
US64224896A | 1996-05-02 | 1996-05-02 | |
US08/642,248 | 1996-05-02 | ||
US60/010,527 | 1996-05-02 | ||
PCT/US1997/001305 WO1997027544A1 (en) | 1996-01-24 | 1997-01-23 | Processor with accelerated array access bounds checking |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000501217A true JP2000501217A (ja) | 2000-02-02 |
Family
ID=26681279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9527086A Pending JP2000501217A (ja) | 1996-01-24 | 1997-01-23 | 配列アクセス境界チェックを加速したプロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US6014723A (ja) |
EP (1) | EP0976050B1 (ja) |
JP (1) | JP2000501217A (ja) |
KR (1) | KR100466722B1 (ja) |
DE (1) | DE69713400T2 (ja) |
WO (1) | WO1997027544A1 (ja) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998043431A1 (en) * | 1997-03-21 | 1998-10-01 | Canal+ Societe Anonyme | Method of downloading of data to an mpeg receiver/decoder and mpeg transmission system for implementing the same |
US6343375B1 (en) * | 1998-04-24 | 2002-01-29 | International Business Machines Corporation | Method for optimizing array bounds checks in programs |
WO2000026902A1 (en) * | 1998-11-04 | 2000-05-11 | Syvox Corporation | Apparatus and method for improved memory and resource management in a single-user or multi-user speech recognition system |
US6233725B1 (en) * | 1998-12-03 | 2001-05-15 | International Business Machines Corporation | Method and apparatus to coordinate and control the simultaneous use of multiple just in time compilers with a java virtual machine |
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 |
US7225436B1 (en) * | 1998-12-08 | 2007-05-29 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
JP4235299B2 (ja) * | 1998-12-22 | 2009-03-11 | キヤノン株式会社 | カラー画像形成装置の製造方法 |
FR2790844B1 (fr) * | 1999-03-09 | 2001-05-25 | Gemplus Card Int | Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme |
US8453133B2 (en) | 1999-11-12 | 2013-05-28 | Oracle America, Inc. | Optimization of N-base typed arithmetic instructions via rework |
US6363523B1 (en) * | 1999-11-12 | 2002-03-26 | Sun Microsystems, Inc. | Optimization of N-base typed arithmetic expressions |
JP3556556B2 (ja) * | 2000-02-08 | 2004-08-18 | 株式会社東芝 | 命令コード変換装置及び情報処理システム |
US6578094B1 (en) * | 2000-03-02 | 2003-06-10 | International Business Machines Corporation | Method for preventing buffer overflow attacks |
US7028170B2 (en) * | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
KR20030016234A (ko) | 2000-03-08 | 2003-02-26 | 선 마이크로시스템즈, 인코포레이티드 | 어레이 바운드 체크 수용능력을 가진 아퀴텍쳐 처리 |
US6408383B1 (en) * | 2000-05-04 | 2002-06-18 | Sun Microsystems, Inc. | Array access boundary check by executing BNDCHK instruction with comparison specifiers |
US6782407B1 (en) * | 2000-09-26 | 2004-08-24 | Koninklijke Philips Electronics N.V. | System and method for low overhead boundary checking of java arrays |
GB2367653B (en) | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
US20020069402A1 (en) * | 2000-10-05 | 2002-06-06 | Nevill Edward Colles | Scheduling control within a system having mixed hardware and software based instruction execution |
GB2367654B (en) | 2000-10-05 | 2004-10-27 | Advanced Risc Mach Ltd | Storing stack operands in registers |
KR20020028814A (ko) * | 2000-10-10 | 2002-04-17 | 나조미 커뮤니케이션즈, 인코포레이티드 | 마이크로코드 엔진을 이용한 자바 하드웨어 가속기 |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
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 |
US7284274B1 (en) * | 2001-01-18 | 2007-10-16 | Cigital, Inc. | System and method for identifying and eliminating vulnerabilities in computer software applications |
US7137103B2 (en) * | 2001-03-08 | 2006-11-14 | International Business Machines Corporation | Coverage analysis of message flows |
GB2376098B (en) * | 2001-05-31 | 2004-11-24 | Advanced Risc Mach Ltd | Unhandled operation handling in multiple instruction set systems |
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 |
GB2376099B (en) * | 2001-05-31 | 2005-11-16 | Advanced Risc Mach Ltd | Program instruction interpretation |
US6601160B2 (en) | 2001-06-01 | 2003-07-29 | Microchip Technology Incorporated | Dynamically reconfigurable data space |
US6985986B2 (en) * | 2001-06-01 | 2006-01-10 | Microchip Technology Incorporated | Variable cycle interrupt disabling |
US6552625B2 (en) | 2001-06-01 | 2003-04-22 | Microchip Technology Inc. | Processor with pulse width modulation generator with fault input prioritization |
US20030005269A1 (en) * | 2001-06-01 | 2003-01-02 | Conner Joshua M. | Multi-precision barrel shifting |
US20030023836A1 (en) * | 2001-06-01 | 2003-01-30 | Michael Catherwood | Shadow register array control instructions |
US20030005268A1 (en) * | 2001-06-01 | 2003-01-02 | Catherwood Michael I. | Find first bit value instruction |
US6975679B2 (en) * | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Configuration fuses for setting PWM options |
US7467178B2 (en) * | 2001-06-01 | 2008-12-16 | Microchip Technology Incorporated | Dual mode arithmetic saturation processing |
US6728856B2 (en) | 2001-06-01 | 2004-04-27 | Microchip Technology Incorporated | Modified Harvard architecture processor having program memory space mapped to data memory space |
US20020184566A1 (en) * | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
US6937084B2 (en) * | 2001-06-01 | 2005-08-30 | Microchip Technology Incorporated | Processor with dual-deadtime pulse width modulation generator |
US7007172B2 (en) * | 2001-06-01 | 2006-02-28 | Microchip Technology Incorporated | Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection |
US20030028696A1 (en) * | 2001-06-01 | 2003-02-06 | Michael Catherwood | Low overhead interrupt |
US7003543B2 (en) * | 2001-06-01 | 2006-02-21 | Microchip Technology Incorporated | Sticky z bit |
US6952711B2 (en) * | 2001-06-01 | 2005-10-04 | Microchip Technology Incorporated | Maximally negative signed fractional number multiplication |
US6604169B2 (en) | 2001-06-01 | 2003-08-05 | Microchip Technology Incorporated | Modulo addressing based on absolute offset |
US6934728B2 (en) * | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
US6976158B2 (en) * | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Repeat instruction with interrupt |
US7020788B2 (en) * | 2001-06-01 | 2006-03-28 | Microchip Technology Incorporated | Reduced power option |
US20030023958A1 (en) * | 2001-07-17 | 2003-01-30 | Patel Mukesh K. | Intermediate language accelerator chip |
US7062761B2 (en) | 2001-07-10 | 2006-06-13 | Micron Technology, Inc. | Dynamic arrays and overlays with bounds policies |
US7127559B2 (en) * | 2001-07-10 | 2006-10-24 | Micron Technology, Inc. | Caching of dynamic arrays |
US8769508B2 (en) * | 2001-08-24 | 2014-07-01 | Nazomi Communications Inc. | Virtual machine hardware for RISC and CISC processors |
US6552567B1 (en) | 2001-09-28 | 2003-04-22 | Microchip Technology Incorporated | Functional pathway configuration at a system/IC interface |
US20040021483A1 (en) * | 2001-09-28 | 2004-02-05 | Brian Boles | Functional pathway configuration at a system/IC interface |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US20040215444A1 (en) * | 2002-03-25 | 2004-10-28 | Patel Mukesh K. | Hardware-translator-based custom method invocation system and method |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7260658B2 (en) * | 2002-05-31 | 2007-08-21 | Oracle International Corporation | Verifying input/output command data by separately sending data to be written and information about contents of the data |
US7231666B2 (en) * | 2002-06-20 | 2007-06-12 | International Business Machines Corporation | Method and apparatus for preventing buffer overflow security exploits |
US7290080B2 (en) * | 2002-06-27 | 2007-10-30 | Nazomi Communications Inc. | Application processors and memory architecture for wireless applications |
KR100497671B1 (ko) * | 2002-07-08 | 2005-07-25 | 주식회사 인터와이즈 | 메모리 접근 위반 처리 방법 및 이를 위한 컴퓨터 시스템 |
US7131118B2 (en) * | 2002-07-25 | 2006-10-31 | Arm Limited | Write-through caching a JAVA® local variable within a register of a register bank |
KR100506522B1 (ko) * | 2003-02-24 | 2005-08-03 | 삼성전자주식회사 | 자바 프로그램에서 바이트 코드의 컴파일 시간 단축시스템 및 방법 |
US7290254B2 (en) * | 2003-03-25 | 2007-10-30 | Intel Corporation | Combining compilation and instruction set translation |
GB2399897B (en) * | 2003-03-26 | 2006-02-01 | Advanced Risc Mach Ltd | Memory recycling in computer systems |
GB2412192B (en) * | 2004-03-18 | 2007-08-29 | Advanced Risc Mach Ltd | Function calling mechanism |
US7930526B2 (en) * | 2004-03-24 | 2011-04-19 | Arm Limited | Compare and branch mechanism |
US7802080B2 (en) | 2004-03-24 | 2010-09-21 | Arm Limited | Null exception handling |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US7448029B2 (en) * | 2004-04-26 | 2008-11-04 | International Business Machines Corporation | Modification of array access checking in AIX |
US7836434B1 (en) * | 2004-05-04 | 2010-11-16 | Oracle America, Inc. | Method and system for analyzing array access to a pointer that is referenced as an array |
US7636795B2 (en) * | 2004-06-30 | 2009-12-22 | Intel Corporation | Configurable feature selection mechanism |
EP1622009A1 (en) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM architecture and systems |
FR2874103B1 (fr) * | 2004-08-03 | 2006-11-17 | Trango Systems Sarl | Utilisation de la mmu pour la detection de borne de memoire tampon |
US7865701B1 (en) | 2004-09-14 | 2011-01-04 | Azul Systems, Inc. | Concurrent atomic execution |
US7332976B1 (en) * | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
KR100725393B1 (ko) * | 2005-05-19 | 2007-06-07 | 삼성전자주식회사 | 자바 가상 머신에서 바이트 코드의 수행 시간을 줄이는시스템 및 방법 |
US20060271557A1 (en) * | 2005-05-25 | 2006-11-30 | Terracotta, Inc. | Database Caching and Invalidation Based on Detected Database Updates |
US7577801B1 (en) | 2005-12-06 | 2009-08-18 | Azul Systems, Inc. | Array access |
US8067948B2 (en) * | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US8006239B2 (en) * | 2007-01-16 | 2011-08-23 | Nec Laboratories America, Inc. | Program analysis using symbolic ranges |
US9564902B2 (en) * | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8040266B2 (en) * | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US7712093B1 (en) | 2009-03-19 | 2010-05-04 | International Business Machines Corporation | Determining intra-procedural object flow using enhanced stackmaps |
US8533695B2 (en) | 2010-09-28 | 2013-09-10 | Microsoft Corporation | Compile-time bounds checking for user-defined types |
US11681806B2 (en) | 2019-10-15 | 2023-06-20 | International Business Machines Corporation | Protecting against out-of-bounds buffer references |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573855A (en) * | 1968-12-31 | 1971-04-06 | Texas Instruments Inc | Computer memory protection |
US3905023A (en) * | 1973-08-15 | 1975-09-09 | Burroughs Corp | Large scale multi-level information processing system employing improved failsaft techniques |
US4079453A (en) * | 1976-08-20 | 1978-03-14 | Honeywell Information Systems Inc. | Method and apparatus to test address formulation in an advanced computer system |
US4084225A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4262332A (en) * | 1978-12-28 | 1981-04-14 | International Business Machines Corporation | Command pair to improve performance and device independence |
JPH0782458B2 (ja) * | 1985-09-06 | 1995-09-06 | 株式会社日立製作所 | データ処理装置 |
US5146592A (en) * | 1987-09-14 | 1992-09-08 | Visual Information Technologies, Inc. | High speed image processing computer with overlapping windows-div |
US5014235A (en) * | 1987-12-15 | 1991-05-07 | Steven G. Morton | Convolution memory |
US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
US4905188A (en) * | 1988-02-22 | 1990-02-27 | International Business Machines Corporation | Functional cache memory chip architecture for improved cache access |
US5777608A (en) * | 1989-03-10 | 1998-07-07 | Board Of Regents, The University Of Texas System | Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories |
JPH0471050A (ja) * | 1990-07-12 | 1992-03-05 | Oki Electric Ind Co Ltd | スタック領域保護回路 |
US5373290A (en) * | 1991-09-25 | 1994-12-13 | Hewlett-Packard Corporation | Apparatus and method for managing multiple dictionaries in content addressable memory based data compression |
JPH0594376A (ja) * | 1991-10-02 | 1993-04-16 | Toshiba Corp | ポータブルコンピユータ |
JPH06149675A (ja) * | 1992-11-11 | 1994-05-31 | Kofu Nippon Denki Kk | キャッシュメモリ装置 |
US5583988A (en) * | 1994-03-09 | 1996-12-10 | National Instruments Corporation | Method and apparatus for providing runtime checking features in a compiled programming development environment |
US5644709A (en) * | 1994-04-21 | 1997-07-01 | Wisconsin Alumni Research Foundation | Method for detecting computer memory access errors |
JP3713312B2 (ja) * | 1994-09-09 | 2005-11-09 | 株式会社ルネサステクノロジ | データ処理装置 |
-
1997
- 1997-01-23 DE DE69713400T patent/DE69713400T2/de not_active Expired - Lifetime
- 1997-01-23 KR KR10-1998-0705676A patent/KR100466722B1/ko not_active Expired - Lifetime
- 1997-01-23 EP EP97904011A patent/EP0976050B1/en not_active Expired - Lifetime
- 1997-01-23 JP JP9527086A patent/JP2000501217A/ja active Pending
- 1997-01-23 US US08/786,352 patent/US6014723A/en not_active Expired - Lifetime
- 1997-01-23 WO PCT/US1997/001305 patent/WO1997027544A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
EP0976050B1 (en) | 2002-06-12 |
KR100466722B1 (ko) | 2005-04-14 |
KR19990081958A (ko) | 1999-11-15 |
US6014723A (en) | 2000-01-11 |
WO1997027544A1 (en) | 1997-07-31 |
EP0976050A1 (en) | 2000-02-02 |
DE69713400D1 (de) | 2002-07-18 |
DE69713400T2 (de) | 2002-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6014723A (en) | Processor with accelerated array access bounds checking | |
US5925123A (en) | Processor for executing instruction sets received from a network or from a local memory | |
JP3801643B2 (ja) | スタックを用いる演算マシンのための命令フォールディング処理 | |
JP3634379B2 (ja) | スタックキャッシングのための方法及び装置 | |
US6038643A (en) | Stack management unit and method for a processor having a stack | |
US6148391A (en) | System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses | |
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 | |
US6122638A (en) | Object-oriented processor and method for caching intermediate data in an object-oriented processor | |
US6076141A (en) | Look-up switch accelerator and method of operating same | |
JPWO2003025743A1 (ja) | Javaアクセラレータを備えたプロセッサシステム | |
KR100618718B1 (ko) | 스택메모리구조에서의캐싱방법및장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060428 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060804 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061214 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070111 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090226 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090311 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090331 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090409 |