CA2283560A1 - Translated memory protection apparatus for an advanced microprocessor - Google Patents
Translated memory protection apparatus for an advanced microprocessor Download PDFInfo
- Publication number
- CA2283560A1 CA2283560A1 CA002283560A CA2283560A CA2283560A1 CA 2283560 A1 CA2283560 A1 CA 2283560A1 CA 002283560 A CA002283560 A CA 002283560A CA 2283560 A CA2283560 A CA 2283560A CA 2283560 A1 CA2283560 A1 CA 2283560A1
- Authority
- CA
- Canada
- Prior art keywords
- memory address
- protection apparatus
- memory protection
- translated
- advanced microprocessor
- 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
- 238000001514 detection method Methods 0.000 abstract 1
- 238000000034 method Methods 0.000 abstract 1
- 238000013519 translation Methods 0.000 abstract 1
- 230000014616 translation Effects 0.000 abstract 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
-
- 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/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/145—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 virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
Abstract
A method of responding to an attempt to write a memory address including a target instruction which has been translated to a host instruction for execution by a host processor including the steps of marking a memory address including a target instruction which has been translated to a host instruction, detecting a memory address which has been marked when an attempt is made to write to the memory address, and responding to the detection of a memory address which has been marked by protecting a target instruction at the memory address until it has been assured that translations associated with the memory address will not be utilized before being updated.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1997/014117 WO1999008191A1 (en) | 1997-08-11 | 1997-08-11 | Translated memory protection apparatus for an advanced microprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2283560A1 true CA2283560A1 (en) | 1999-02-18 |
CA2283560C CA2283560C (en) | 2003-12-09 |
Family
ID=22261430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002283560A Expired - Fee Related CA2283560C (en) | 1997-08-11 | 1997-08-11 | Translated memory protection apparatus for an advanced microprocessor |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1004075A4 (en) |
JP (1) | JP3621116B2 (en) |
KR (1) | KR100421687B1 (en) |
CA (1) | CA2283560C (en) |
WO (1) | WO1999008191A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954923B1 (en) | 1999-01-28 | 2005-10-11 | Ati International Srl | Recording classification of instructions executed by a computer |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US7254806B1 (en) | 1999-08-30 | 2007-08-07 | Ati International Srl | Detecting reordered side-effects |
US6751583B1 (en) | 1999-10-29 | 2004-06-15 | Vast Systems Technology Corporation | Hardware and software co-simulation including simulating a target processor using binary translation |
US7363620B2 (en) | 2003-09-25 | 2008-04-22 | Sun Microsystems, Inc. | Non-linear execution of application program instructions for application program obfuscation |
US7424620B2 (en) | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
US8220058B2 (en) | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
US7353499B2 (en) | 2003-09-25 | 2008-04-01 | Sun Microsystems, Inc. | Multiple instruction dispatch tables for application program obfuscation |
US7415618B2 (en) | 2003-09-25 | 2008-08-19 | Sun Microsystems, Inc. | Permutation of opcode values for application program obfuscation |
JP6103541B2 (en) | 2014-03-18 | 2017-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Apparatus and method for controlling execution of binary code |
US10754790B2 (en) | 2018-04-26 | 2020-08-25 | Qualcomm Incorporated | Translation of virtual addresses to physical addresses using translation lookaside buffer information |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
US4914577A (en) * | 1987-07-16 | 1990-04-03 | Icon International, Inc. | Dynamic memory management system and method |
US4825412A (en) * | 1988-04-01 | 1989-04-25 | Digital Equipment Corporation | Lockout registers |
GB2239724B (en) * | 1990-01-05 | 1993-11-24 | Sun Microsystems Inc | Apparatus for maintaining consistency in a multi-processor computer system using virtual caching |
US5282274A (en) * | 1990-05-24 | 1994-01-25 | International Business Machines Corporation | Translation of multiple virtual pages upon a TLB miss |
US5437017A (en) * | 1992-10-09 | 1995-07-25 | International Business Machines Corporation | Method and system for maintaining translation lookaside buffer coherency in a multiprocessor data processing system |
US5577231A (en) * | 1994-12-06 | 1996-11-19 | International Business Machines Corporation | Storage access authorization controls in a computer system using dynamic translation of large addresses |
-
1997
- 1997-08-11 WO PCT/US1997/014117 patent/WO1999008191A1/en not_active Application Discontinuation
- 1997-08-11 CA CA002283560A patent/CA2283560C/en not_active Expired - Fee Related
- 1997-08-11 JP JP51207299A patent/JP3621116B2/en not_active Expired - Fee Related
- 1997-08-11 EP EP97939380A patent/EP1004075A4/en not_active Withdrawn
- 1997-08-11 KR KR10-1999-7012140A patent/KR100421687B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO1999008191A1 (en) | 1999-02-18 |
EP1004075A4 (en) | 2001-01-17 |
KR100421687B1 (en) | 2004-03-10 |
CA2283560C (en) | 2003-12-09 |
JP2001519955A (en) | 2001-10-23 |
EP1004075A1 (en) | 2000-05-31 |
KR20010014096A (en) | 2001-02-26 |
JP3621116B2 (en) | 2005-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2000019317A8 (en) | Protection of boot block code while allowing write accesses to the boot block | |
CA2283560A1 (en) | Translated memory protection apparatus for an advanced microprocessor | |
WO1998030957A3 (en) | Polymorphic virus detection module | |
EP1300769A3 (en) | External storrage apparatus, control apparatus therefor, and data transmission/reception apparatus | |
EP1096386A3 (en) | Interrupt control apparatuses and methods | |
WO2001010073A3 (en) | Method, system and computer readable storage medium for automatic device driver configuration | |
WO2003038573A3 (en) | Method and apparatus for physical address-based security to determine target security | |
JPS57185545A (en) | Information processor | |
EP0285346A3 (en) | Cache memory device | |
KR960011717A (en) | A data processing apparatus having a write protection function of a specific storage area and a method thereof | |
EP0982655A3 (en) | Data processing unit and method for executing instructions of variable lengths | |
EP0139254A3 (en) | Apparatus and method for direct memory to peripheral and peripheral to memory data transfer | |
JPS57127207A (en) | Numerical controlling system | |
EP0732656A3 (en) | Cache MMU system | |
JPS5266340A (en) | Judgement whether expansion memory for information processor is mounte d or not | |
JPS5634199A (en) | Memory correction system | |
EP0864983A3 (en) | Computer system including memory adress management circuit for protecting memory from illegal writing | |
JPS54146550A (en) | Running control type information processor | |
JPS57120300A (en) | Program protection system | |
JPS537152A (en) | Address stop circuit | |
JPS52112240A (en) | Data processing unit | |
JPS51118335A (en) | Partly writing system | |
JPS543437A (en) | Cash memory control system | |
JPS5436144A (en) | Address conversion unit | |
JPS5480050A (en) | Data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |