KR100735552B1 - 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법 - Google Patents
코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법 Download PDFInfo
- Publication number
- KR100735552B1 KR100735552B1 KR1020050088927A KR20050088927A KR100735552B1 KR 100735552 B1 KR100735552 B1 KR 100735552B1 KR 1020050088927 A KR1020050088927 A KR 1020050088927A KR 20050088927 A KR20050088927 A KR 20050088927A KR 100735552 B1 KR100735552 B1 KR 100735552B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- program count
- instructions
- code memory
- buffer
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44557—Code layout in executable memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (26)
- (a) 코드 메모리에 로딩된 복수의 인스트럭션 중 현재 프로그램 카운트와 처리될 첫 인스트럭션의 프로그램 카운트까지의 거리를 나타내는 오프셋과, 처리될 인스트럭션의 수를 나타내는 길이를 연산수로 갖는 제1 인스트럭션의 실행 중 에러가 발생되면 상기 제1 인스트럭션의 제1 프로그램 카운트를 제1 버퍼에 저장하는 단계;(b) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제1 프로그램 카운트에 상기 오프셋을 가산한 제2 프로그램 카운트로 변경하는 단계;(c) 상기 복수의 인스트럭션 중 상기 제2 프로그램 카운트 위치에서 상기 길이 만큼 이후에 위치하는 제2 인스트럭션을 제2 버퍼에 저장하는 단계;(d) 상기 제2 인스트럭션을 마이크로 프로세서가 인식하지 못하는 제3 인스트럭션으로 치환하는 단계;(e) 상기 제3 인스트럭션 실행 중 에러가 발생되면 상기 제3 인스트럭션을 상기 제2 버퍼에 저장된 상기 제2 인스트럭션으로 환원하는 단계; 및(f) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제1 버퍼에 저장된 상기 제1 프로그램 카운트의 다음 카운트로 변경하는 단계를 포함하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제1항에 있어서,상기 제1 인스트럭션은 Offset 및 Length를 연산수로 갖는 Echo 인스트럭션인, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제1항에 있어서,상기 제1 프로그램 카운트의 다음 카운트는 상기 제1 프로그램 카운트에 비하여 4만큼 큰, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제1항에 있어서,상기 (a) 내지 (f) 단계들은 운영 체제에 의하여 실행되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제4항에 있어서, 상기 (d) 단계 및 상기 (e) 단계 사이에,상기 운영 체제가 리턴 명령에 의하여 상기 마이크로 프로세서에게 인스트럭션 실행권을 넘겨 주는 단계를 더 포함하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- (a) 코드 메모리에 로딩된 복수의 인스트럭션 중 현재 프로그램 카운트와 처리될 첫 인스트럭션의 프로그램 카운트까지의 거리를 나타내는 오프셋과, 처리될 인스트럭션의 수를 나타내는 길이를 연산수로 가지는 제1 인스트럭션 및 시스템 함수로 분기할 것을 명하는 제2 인스트럭션을 실행하는 단계;(b) 상기 제2 인스트럭션의 제1 프로그램 카운트를 제1 버퍼에 저장하는 단계;(c) 상기 제1 프로그램 카운트에 상기 오프셋을 가산한 값을 제2 프로그램 카운트라 할 때, 상기 제2 프로그램 카운트 위치에서 상기 길이 만큼 이후에 위치하는 제3 인스트럭션을 제2 버퍼에 저장하는 단계;(d) 상기 코드 메모리 상에 저장되어 있는 제3 인스트럭션을, 시스템 함수로 분기할 것을 명하는 제4 인스트럭션으로 치환하는 단계;(e) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제2 프로그램 카운트로 변경하는 단계;(f) 상기 제4 인스트럭션이 실행되면, 상기 제4 인스트럭션을 상기 제2 버퍼에 저장된 상기 제3 인스트럭션으로 환원하는 단계; 및(g) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제1 버퍼에 저장된 상기 제1 프로그램 카운트의 다음 카운트로 변경하는 단계를 포함하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제6항에 있어서,상기 (b) 내지 (g) 단계는 시스템 함수에 의하여 실행되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제6항에 있어서,상기 제1 인스트럭션은 Offset 및 Length를 연산수로 갖는 Echo 인스트럭션인, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- (a) 코드 메모리에 로딩된 복수의 인스트럭션 중 현재 프로그램 카운트와 처리될 첫 인스트럭션의 프로그램 카운트까지의 거리를 나타내는 오프셋과, 처리될 인스트럭션의 수를 나타내는 길이를 연산수로 갖는 제1 인스트럭션의 실행 중 에러가 발생되면, 상기 오프셋이 나타내는 위치에서부터 상기 길이 만큼의 인스트럭션들을 임시 버퍼에 복사하는 단계;(b) 상기 임시 버퍼 중 상기 복사된 인스트럭션들의 다음 위치에, 상기 제1 인스트럭션의 다음 인스트럭션으로 복귀할 것을 명하는 제2 인스트럭션을 삽입하는 단계;(c) 상기 복사된 인스트럭션들을 실행하는 단계; 및(d) 상기 제2 인스트럭션의 실행에 따라서 상기 코드 메모리 중 상기 제1 인스트럭션 다음의 인스트럭션으로 복귀하는 단계를 포함하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제9항에 있어서, 상기 코드 메모리는읽기 전용 메모리(ROM)에 미리 기록된 인스트럭션들의 집합으로 구성되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제10항에 있어서, 상기 임시 버퍼는비휘발성 RAM에 의하여 구현되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제9항에 있어서,상기 제1 인스트럭션은 Offset 및 Length를 연산수로 갖는 Echo 인스트럭션 인, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- (a) 코드 메모리에 로딩된 복수의 인스트럭션 중 현재 프로그램 카운트와 처리될 첫 인스트럭션의 프로그램 카운트까지의 거리를 나타내는 오프셋과, 처리될 인스트럭션의 수를 나타내는 비트마스크를 연산수로 갖는 제1 인스트럭션의 실행 중 에러가 발생되면 상기 제1 인스트럭션의 제1 프로그램 카운트를 제1 버퍼에 저장하는 단계;(b) 상기 코드 메모리의 상기 제1 프로그램 카운트에 상기 오프셋을 가산한 값을 제2 프로그램 카운트라 할 때, 상기 제2 프로그램 카운트 위치에서부터 존재하는 인스트럭션 세트 중에서, 상기 비트마스크에 의하여 실행할 필요가 없는 것으로 표시되는 인스트럭션을 제2 버퍼에 저장한 후, 실행할 필요가 없는 것으로 표시되는 인스트럭션을 no operation 인스트럭션으로 치환하는 단계;(c) 상기 복수의 인스트럭션 중 상기 제2 프로그램 카운트 위치에서 상기 비트마스크의 크기 만큼 이후에 위치하는 제2 인스트럭션을 제2 버퍼에 저장한 후, 상기 제2 인스트럭션을 마이크로 프로세서가 인식하지 못하는 제3 인스트럭션으로 치환하는 단계;(d) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제2 프로그램 카운트로 변경하는 단계;(e) 상기 제3 인스트럭션 실행 중 에러가 발생되면 상기 no operation 인스트럭션을 상기 제2 버퍼에 저장된 상기 인스트럭션으로 환원하고, 상기 제3 인스트럭션을 상기 제2 인스트럭션으로 환원하는 단계; 및(f) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제1 버퍼에 저장된 상기 제1 프로그램 카운트의 다음 카운트로 변경하는 단계를 포함하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제13항에 있어서,상기 비트마스크는 상기 크기 만큼의 1비트의 숫자열로 이루어지는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제14항에 있어서,상기 숫자열을 이루는 각각의 1비트 숫자는 대응되는 인스트럭션의 중복 여부를 역순으로 표시하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제13항에 있어서,상기 제1 인스트럭션은 Offset 및 Bitmask를 연산수로 갖는 비트마스크 Echo 인스트럭션인, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제13항에 있어서,상기 (a) 내지 (f) 단계들은 운영 체제에 의하여 실행되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- (a) 코드 메모리에 로딩된 복수의 인스트럭션 중 현재 프로그램 카운트와 처리될 첫 인스트럭션의 프로그램 카운트까지의 거리를 나타내는 오프셋과, 처리될 인스트럭션의 수를 나타내는 비트마스크를 연산수로 가지는 제1 인스트럭션 및 시스템 함수로 분기할 것을 명하는 제2 인스트럭션을 실행하는 단계;(b) 상기 제2 인스트럭션의 제1 프로그램 카운트를 제1 버퍼에 저장하는 단계;(c) 상기 코드 메모리의 상기 제1 프로그램 카운트에 상기 오프셋을 가산한 값을 제2 프로그램 카운트라 할 때, 상기 제2 프로그램 카운트 위치에서부터 존재하는 인스트럭션 세트 중에서, 상기 비트마스크에 의하여 실행할 필요가 없는 것으로 표시되는 인스트럭션을 제2 버퍼에 저장한 후, 상기 실행할 필요가 없는 인스트럭션을 no operation 인스트럭션으로 치환하는 단계;(d) 상기 복수의 인스트럭션 중 상기 제2 프로그램 카운트 위치에서 상기 비트마스크의 크기 만큼 이후에 위치하는 제3 인스트럭션을 제3 버퍼에 저장한 후, 상기 코드 메모리 상에 저장되어 있는 상기 제3 인스트럭션을, 시스템 함수로 분기할 것을 명하는 제4 인스트럭션으로 치환하는 단계;(e) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제2 프로그램 카운트로 변경하는 단계;(f) 상기 제4 인스트럭션 실행이 실행되면, 상기 no operation 인스트럭션을 상기 제2 버퍼에 저장된 상기 인스트럭션으로 환원하고, 상기 제4 인스트럭션을 상기 제3 인스트럭션으로 환원하는 단계; 및(g) 상기 코드 메모리의 현재 프로그램 카운트를 상기 제1 버퍼에 저장된 상기 제1 프로그램 카운트의 다음 카운트로 변경하는 단계를 포함하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제18항에 있어서,상기 비트마스크는 상기 크기 만큼의 1비트의 숫자열로 이루어지는, 코드 메 모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제18항에 있어서,상기 제1 인스트럭션은 Offset 및 Bitmask를 연산수로 갖는 비트마스크 Echo 인스트럭션인, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제18항에 있어서,상기 (a) 내지 (g) 단계들은 시스템 함수에 의하여 실행되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- (a) 코드 메모리에 로딩된 복수의 인스트럭션 중 현재 프로그램 카운트와 처리될 첫 인스트럭션의 프로그램 카운트까지의 거리를 나타내는 오프셋과, 해당 인스트럭션의 실행 여부를 나타내는 비트의 열로 구성되는 비트마스크를 연산수로 갖는 제1 인스트럭션의 실행 중 에러가 발생되면, 상기 제1 인스트럭션과 별도로 상기 코드 메모리에 로딩된 인스트럭션 세트 중에서, 상기 제1 비트마스크에 의하여 실행할 필요가 있는 것으로 표시되는 인스트럭션들을 임시 버퍼에 복사하는 단계;(b) 상기 임시 버퍼 중 상기 복사된 인스트럭션들의 다음 위치에, 상기 제1 인스트럭션의 다음 인스트럭션으로 복귀할 것을 명하는 제2 인스트럭션을 삽입하는 단계;(c) 상기 복사된 인스트럭션들을 실행하는 단계; 및(d) 상기 제2 인스트럭션의 실행에 따라서 상기 코드 메모리 중 상기 제1 인스트럭션 다음의 인스트럭션으로 복귀하는 단계를 포함하는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제22항에 있어서,상기 비트마스크는 1비트의 숫자열로 이루어지는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제22항에 있어서, 상기 코드 메모리는읽기 전용 메모리(ROM)에 미리 기록된 인스트럭션들의 집합으로 구성되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제22항에 있어서, 상기 임시 버퍼는비휘발성 RAM에 의하여 구현되는, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
- 제22항에 있어서,상기 제1 인스트럭션은 Offset 및 Bitmask를 연산수로 갖는 비트마스크 Echo 인스트럭션인, 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020050088927A KR100735552B1 (ko) | 2005-09-23 | 2005-09-23 | 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법 |
| US11/510,730 US7831809B2 (en) | 2005-09-23 | 2006-08-28 | Method for reducing code size of a program in code memory by dynamically storing an instruction into a memory location following a group of instructions indicated by an offset operand and either a length operand or a bitmask operand of an echo instruction |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020050088927A KR100735552B1 (ko) | 2005-09-23 | 2005-09-23 | 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20070034342A KR20070034342A (ko) | 2007-03-28 |
| KR100735552B1 true KR100735552B1 (ko) | 2007-07-04 |
Family
ID=37895572
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020050088927A Expired - Fee Related KR100735552B1 (ko) | 2005-09-23 | 2005-09-23 | 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7831809B2 (ko) |
| KR (1) | KR100735552B1 (ko) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4815938B2 (ja) * | 2005-08-16 | 2011-11-16 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
| US9985649B1 (en) * | 2016-06-29 | 2018-05-29 | EMC IP Holding Company LLC | Combining hardware and software approaches for inline data compression |
| US11210402B2 (en) * | 2017-10-02 | 2021-12-28 | Regents Of The University Of Minnesota | Gate-level information flow security |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20010021253A (ko) * | 1999-08-10 | 2001-03-15 | 가네꼬 히사시 | 에코 클록 신호를 발생하는 sram |
| US20030229709A1 (en) * | 2002-06-05 | 2003-12-11 | Microsoft Corporation | Method and system for compressing program code and interpreting compressed program code |
| KR20040067063A (ko) * | 2003-01-21 | 2004-07-30 | 삼성전자주식회사 | 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법 |
| US6842832B1 (en) * | 2000-08-25 | 2005-01-11 | International Business Machines Corporation | Reclaim space reserve for a compressed memory system |
| KR20050115875A (ko) * | 2003-02-24 | 2005-12-08 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 인스트럭션 캐시 관리 방법, 캐시 메모리, 집적 회로 및저장 매체 |
| KR20060010004A (ko) * | 2004-07-27 | 2006-02-02 | 재단법인서울대학교산학협력재단 | 복수 로드 스토어 명령어를 통한 코드 크기 감소 방법 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5117498A (en) * | 1988-08-19 | 1992-05-26 | Motorola, Inc. | Processer with flexible return from subroutine |
| JPH0728644A (ja) | 1993-07-12 | 1995-01-31 | Seiko Epson Corp | データ処理装置 |
| US5632028A (en) * | 1995-03-03 | 1997-05-20 | Hal Computer Systems, Inc. | Hardware support for fast software emulation of unimplemented instructions |
| JP3462001B2 (ja) | 1996-04-26 | 2003-11-05 | 三菱電機株式会社 | 計算機および計算機システム |
| US5940850A (en) * | 1996-10-31 | 1999-08-17 | International Business Machines Corporation | System and method for selectively enabling load-on-write of dynamic ROM data to RAM |
| US6240500B1 (en) * | 1998-06-08 | 2001-05-29 | Compaq Computer Corporation | Method for dynamically placing procedures of a program in a memory |
| JP3805123B2 (ja) | 1999-03-01 | 2006-08-02 | 新日本無線株式会社 | ディジタル信号処理装置 |
| US6637023B1 (en) * | 1999-03-03 | 2003-10-21 | Microsoft Corporation | Method and system for updating read-only software modules |
| US7222258B2 (en) * | 2002-12-18 | 2007-05-22 | Intel Corporation | Compressing a firmware image |
| US6798713B1 (en) * | 2003-01-31 | 2004-09-28 | Zilog, Inc. | Implementing software breakpoints |
| KR100516214B1 (ko) | 2003-03-12 | 2005-09-23 | (주)자람테크놀로지 | 명령어 병렬처리를 위한 디지털 신호처리기 및 그처리방법 |
| GB2400198B (en) * | 2003-04-04 | 2006-04-05 | Advanced Risc Mach Ltd | Controlling execution of a block of program instructions within a computer processing system |
| GB0408137D0 (en) * | 2004-04-13 | 2004-05-19 | Ibm | A method and system for copying the data contents of a computer system memory during application program run time |
| GB2415269B (en) * | 2004-06-15 | 2007-07-25 | Advanced Risc Mach Ltd | Program instruction decompression and compression techniques |
| US7725887B2 (en) * | 2004-12-22 | 2010-05-25 | Intel Corporation | Method and system for reducing program code size |
| FR2880963B3 (fr) * | 2005-01-19 | 2007-04-20 | Atmel Corp | Points d'arrets logiciels destines a etre utilises avec des dispositifs a memoire |
| US20070011431A1 (en) * | 2005-06-27 | 2007-01-11 | Microsoft Corporation | ROM software breakpoints |
| US8266597B2 (en) * | 2008-06-16 | 2012-09-11 | International Business Machines Corporation | Dynamically patching computer code using breakpoints |
-
2005
- 2005-09-23 KR KR1020050088927A patent/KR100735552B1/ko not_active Expired - Fee Related
-
2006
- 2006-08-28 US US11/510,730 patent/US7831809B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20010021253A (ko) * | 1999-08-10 | 2001-03-15 | 가네꼬 히사시 | 에코 클록 신호를 발생하는 sram |
| US6842832B1 (en) * | 2000-08-25 | 2005-01-11 | International Business Machines Corporation | Reclaim space reserve for a compressed memory system |
| US20030229709A1 (en) * | 2002-06-05 | 2003-12-11 | Microsoft Corporation | Method and system for compressing program code and interpreting compressed program code |
| KR20040067063A (ko) * | 2003-01-21 | 2004-07-30 | 삼성전자주식회사 | 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법 |
| KR20050115875A (ko) * | 2003-02-24 | 2005-12-08 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 인스트럭션 캐시 관리 방법, 캐시 메모리, 집적 회로 및저장 매체 |
| KR20060010004A (ko) * | 2004-07-27 | 2006-02-02 | 재단법인서울대학교산학협력재단 | 복수 로드 스토어 명령어를 통한 코드 크기 감소 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20070034342A (ko) | 2007-03-28 |
| US20070074003A1 (en) | 2007-03-29 |
| US7831809B2 (en) | 2010-11-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3892851B2 (ja) | メモリカード及び半導体装置 | |
| US6711672B1 (en) | Method and system for implementing subroutine calls and returns in binary translation sub-systems of computers | |
| US8037112B2 (en) | Efficient access of flash databases | |
| US6061783A (en) | Method and apparatus for manipulation of bit fields directly in a memory source | |
| US7207038B2 (en) | Constructing control flows graphs of binary executable programs at post-link time | |
| CN105975399B (zh) | 用来管理一记忆装置的方法以及其相关的记忆装置 | |
| CN101784993B (zh) | 使用闪存作为存储器的设备及其操作方法 | |
| US10007605B2 (en) | Hardware-based array compression | |
| KR20040094888A (ko) | 단일 스레드 응용을 지원하기 위한 시간-멀티플렉스된스펙큘레이티브 멀티 스레딩 | |
| CN118672516A (zh) | 一种数据存储方法、设备、存储介质及计算机程序产品 | |
| CN105677348A (zh) | 一种boot程序的存储方法及装置、启动方法及装置 | |
| CN116185891B (zh) | 描述符管理方法 | |
| CN116578234B (zh) | 闪存访问系统及方法 | |
| KR100735552B1 (ko) | 코드 메모리 상의 프로그램의 코드 크기를 줄이는 방법 | |
| JP4751037B2 (ja) | メモリカード | |
| CN113646744B (zh) | 针对未对齐的存储器操作将存储器访问加宽至对齐的地址 | |
| WO2006018683A2 (en) | Flash file system management | |
| TWI436210B (zh) | 操作一可再程式化的非揮發性記憶體系統之方法以及非揮發性記憶體系統 | |
| CN119512980B (zh) | 缓存管理方法及其存储介质 | |
| CN116775127A (zh) | 一种基于RetroWrite框架的静态符号执行插桩方法 | |
| CN101253479B (zh) | 用于优化存储器中软件功能的配置的方法 | |
| JP2007004788A (ja) | インタリーブされたバックアップを提供するための方法及びシステム | |
| US20030074364A1 (en) | Compressed data structure and decompression system | |
| US8713278B2 (en) | System and method for stranded file opens during disk compression utility requests | |
| CN102792296A (zh) | 移动终端中请求页面调度方法、控制器以及移动终端 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20130522 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| FPAY | Annual fee payment |
Payment date: 20140522 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| FPAY | Annual fee payment |
Payment date: 20150522 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20160518 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| FPAY | Annual fee payment |
Payment date: 20170522 Year of fee payment: 11 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| FPAY | Annual fee payment |
Payment date: 20180518 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 13 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 14 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 15 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 16 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20230629 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20230629 |