US7412581B2 - Processor for virtual machines and method therefor - Google Patents
Processor for virtual machines and method therefor Download PDFInfo
- Publication number
- US7412581B2 US7412581B2 US10/696,716 US69671603A US7412581B2 US 7412581 B2 US7412581 B2 US 7412581B2 US 69671603 A US69671603 A US 69671603A US 7412581 B2 US7412581 B2 US 7412581B2
- Authority
- US
- United States
- Prior art keywords
- memory
- data
- write operation
- volatile memory
- address
- 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 - Lifetime, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000015654 memory Effects 0.000 claims abstract description 187
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims description 9
- 238000013500 data storage Methods 0.000 description 14
- 238000013519 translation Methods 0.000 description 14
- 230000014616 translation Effects 0.000 description 14
- 238000013507 mapping Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 239000012634 fragment Substances 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000001343 mnemonic effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000011800 void material Substances 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Definitions
- the notion of a virtual machine has been a topic of academic research for many years. However, the idea has been popularized by Sun Microsystems, Inc. with its Java programming language and runtime environment.
- the Java virtual machine is software that acts as an interface between compiled Java binary code (known as bytecode) and the underlying hardware platform (e.g., a microprocessor) that actually implements the bytecodes. Once a Java virtual machine has been provided for a platform, any Java program can run on that platform.
- the illustrative embodiment shown in FIG. 9 indicates that for EEPROM_MODE “3,” the EEPROM controller 27 is configured to trigger the control signal 27 a on an address that falls within the full range of the EEPROM address space. It can be appreciated of course that the controller can be configured to trigger the control signal on subset of addresses in the EEPROM address space. This can include recognizing an address within one or more predefined (or programmably definable) address ranges. It can be understood that suitable data storage components (e.g., registers) can be provided to implement multiple address ranges.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
Description
-
- the G2 address lines consist of A15 and A2 instead of A15-A8 and
- the G3 address lines consist of A1 and A0 instead of A7-A0 (4-byte pages).
The data table 33 would provide 4048 (214) 22-bit values, allowing the MMU to map each of 4048 4-byte “pages” contained in a 64K block to any other 4-byte page in the physical memory, with the constraint that the map 4-byte page falls on a 4-byte boundary.
void VM_init( ) | ||
{ | ||
for( i = ROM_START; i < ROM_END; ++i ) | ||
translate[i] = &ROM[i]; | ||
for( i = RAM_START; i < RAM_END; ++i ) | ||
translate[i] = &RAM[i]; | ||
} | ||
where ROM[ ] and RAM[ ] are arrays which hold the mapping of each virtual page to a physical page, and translate[ ] is the translate table 33.
char VM_read_byte(unsigned int addr) | ||
{ | ||
char *p = (char *)((addr & 0xff)|(translate[addr >> 8])); | ||
return (*p); | ||
} | ||
This subroutine is executed in the physical address space and will return a value representing an address in the
((addr & 0×ff)|(translate[addr >>8]))
in accordance with the mapping discussed above.
PMOV .L @(K, Rm), Rn
where:
-
- PMOV is a mnemonic for the data transfer instruction;
- .L is indicative of the size (or number) of data elements (e.g., bytes) to be transferred;
- (K, Rm) represents a source address formed by adding K to the contents of register Rm;
- Rm is a pointer to the object (
FIG. 5A ); - Rn is the destination register; and
- the @ sign is conventional notation for indirect addressing.
It can be appreciated of course, that this instruction exemplar is merely illustrative and is useful for explaining this aspect of the invention. However, one of ordinary skill in the relevant art will readily appreciate that there are myriad possible variations of the instruction. For example, the data size can be specified differently. The amount of data involved in the transfer can be any appropriate size; e.g., the “.L” qualifier typically specifies the number of bytes to be transferred. Other qualifiers such as “.B”, “.W”, and so on can be provided. More generally, a PMOV instruction can be provided which performs block-level transfers (e.g., 256 bytes), if desired. Alternate addressing modes can be provided. Here, indirect addressing is provided only for the source; however, the destination can also be indirectly addressed. As implied, the first operand is the source operand and the second operand specifies a destination. Of course, the operands can be reversed.
PMOV .L Rn, @(K, Rm)
where:
-
- PMOV is a mnemonic for the data transfer instruction;
- .L is indicative of the size (or number) of data elements (e.g., bytes) to be transferred;
- Rm points to the object to be written to (
FIG. 7A ); - (K, Rn) K represents a location in the object and register Rn is a source; and
- the @ sign is conventional notation for indirect addressing.
It is noted here, as in the case of the read operation above, that this instruction exemplar is merely illustrative and is useful for explaining this aspect of the invention. However, one of ordinary skill in the relevant art will readily appreciate that there are myriad possible variations of the instruction. For example, the data size can be specified differently. The amount of data involved in the transfer can be any appropriate size; e.g., the “.L” qualifier typically specifies the number of bytes to be transferred. Other qualifiers such as “.B”, “.W”, and so on can be provided. More generally, a PMOV instruction can be provided which performs block-level transfers (e.g., 256 bytes), if desired.
Claims (10)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/696,716 US7412581B2 (en) | 2003-10-28 | 2003-10-28 | Processor for virtual machines and method therefor |
JP2004285370A JP2005135395A (en) | 2003-10-28 | 2004-09-29 | Processor and its method for virtual machine |
US12/187,267 US7877572B2 (en) | 2003-10-28 | 2008-08-06 | Data access in a processor for virtual machines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/696,716 US7412581B2 (en) | 2003-10-28 | 2003-10-28 | Processor for virtual machines and method therefor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/187,267 Continuation US7877572B2 (en) | 2003-10-28 | 2008-08-06 | Data access in a processor for virtual machines |
Publications (2)
Publication Number | Publication Date |
---|---|
US20050091468A1 US20050091468A1 (en) | 2005-04-28 |
US7412581B2 true US7412581B2 (en) | 2008-08-12 |
Family
ID=34522909
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/696,716 Expired - Lifetime US7412581B2 (en) | 2003-10-28 | 2003-10-28 | Processor for virtual machines and method therefor |
US12/187,267 Expired - Fee Related US7877572B2 (en) | 2003-10-28 | 2008-08-06 | Data access in a processor for virtual machines |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/187,267 Expired - Fee Related US7877572B2 (en) | 2003-10-28 | 2008-08-06 | Data access in a processor for virtual machines |
Country Status (2)
Country | Link |
---|---|
US (2) | US7412581B2 (en) |
JP (1) | JP2005135395A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313383A1 (en) * | 2003-10-28 | 2008-12-18 | Renesas Technology America, Inc. | Processor for Virtual Machines and Method Therefor |
US20130326191A1 (en) * | 2010-10-06 | 2013-12-05 | Alexander Yakovlevich Bogdanov | System and method for distributed computing |
TWI497417B (en) * | 2014-07-22 | 2015-08-21 | Nat Univ Tsing Hua | Direct memory access method, system and host module for virtual machine |
US11288347B2 (en) | 2019-03-07 | 2022-03-29 | Paypal, Inc. | Login from an alternate electronic device |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19654595A1 (en) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures |
EP1329816B1 (en) * | 1996-12-27 | 2011-06-22 | Richter, Thomas | Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like) |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
US8686549B2 (en) * | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (en) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Repairing integrated circuits by replacing subassemblies with substitutes |
JP2003505753A (en) | 1999-06-10 | 2003-02-12 | ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング | Sequence division method in cell structure |
JP2004506261A (en) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Pipeline CT protocol and CT communication |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
WO2005045692A2 (en) | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
AU2003208266A1 (en) | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
WO2003071432A2 (en) * | 2002-02-18 | 2003-08-28 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
US20110161977A1 (en) * | 2002-03-21 | 2011-06-30 | Martin Vorbach | Method and device for data processing |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
EP1537486A1 (en) | 2002-09-06 | 2005-06-08 | PACT XPP Technologies AG | Reconfigurable sequencer structure |
JP2006524850A (en) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Data processing method and data processing apparatus |
US7562094B1 (en) * | 2003-12-31 | 2009-07-14 | Precise Software Solutions, Inc. | Object-level database performance management |
US7849183B1 (en) | 2004-08-31 | 2010-12-07 | Precise Software Solutions, Inc. | Method of monitoring network and application performance by analyzing web clients and web servers |
JP2009524134A (en) * | 2006-01-18 | 2009-06-25 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Hardware definition method |
DE112008003643A5 (en) * | 2007-11-17 | 2010-10-28 | Krass, Maren | Reconfigurable floating-point and bit-plane data processing unit |
WO2009068014A2 (en) * | 2007-11-28 | 2009-06-04 | Pact Xpp Technologies Ag | On data processing |
JP4909963B2 (en) * | 2008-09-09 | 2012-04-04 | 株式会社東芝 | Integrated memory management device |
US20110137717A1 (en) * | 2009-12-04 | 2011-06-09 | Reuthe Eric | System for Providing Digital Incentives Including a Digital Incentives Switch for Matching Transactions and Incentives |
US8352797B2 (en) * | 2009-12-08 | 2013-01-08 | Microsoft Corporation | Software fault isolation using byte-granularity memory protection |
US9760446B2 (en) * | 2014-06-11 | 2017-09-12 | Micron Technology, Inc. | Conveying value of implementing an integrated data management and protection system |
US9858201B2 (en) | 2015-02-20 | 2018-01-02 | Qualcomm Incorporated | Selective translation lookaside buffer search and page fault |
US9658793B2 (en) * | 2015-02-20 | 2017-05-23 | Qualcomm Incorporated | Adaptive mode translation lookaside buffer search and access fault |
US10580104B2 (en) * | 2017-04-17 | 2020-03-03 | Intel Corporation | Read/write modes for reducing power consumption in graphics processing units |
US10831507B2 (en) | 2018-11-21 | 2020-11-10 | SambaNova Systems, Inc. | Configuration load of a reconfigurable data processor |
US11188497B2 (en) | 2018-11-21 | 2021-11-30 | SambaNova Systems, Inc. | Configuration unload of a reconfigurable data processor |
US10698853B1 (en) * | 2019-01-03 | 2020-06-30 | SambaNova Systems, Inc. | Virtualization of a reconfigurable data processor |
US11386038B2 (en) | 2019-05-09 | 2022-07-12 | SambaNova Systems, Inc. | Control flow barrier and reconfigurable data processor |
US11055141B2 (en) | 2019-07-08 | 2021-07-06 | SambaNova Systems, Inc. | Quiesce reconfigurable data processor |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
US11487694B1 (en) | 2021-12-17 | 2022-11-01 | SambaNova Systems, Inc. | Hot-plug events in a pool of reconfigurable data flow resources |
CN114579208B (en) * | 2022-05-05 | 2022-08-26 | 广州万协通信息技术有限公司 | Self-adaptive adjustment execution speed increasing method for Java card |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4969121A (en) * | 1987-03-02 | 1990-11-06 | Altera Corporation | Programmable integrated circuit logic array device having improved microprocessor connectability |
US5201044A (en) | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
US5325375A (en) | 1991-06-28 | 1994-06-28 | Sun Microsystems, Inc. | Method and apparatus for non-atomic level parity protection for storing data in a random access memory |
US5369757A (en) | 1991-06-18 | 1994-11-29 | Digital Equipment Corporation | Recovery logging in the presence of snapshot files by ordering of buffer pool flushing |
US5446862A (en) | 1990-02-23 | 1995-08-29 | Mitsubishi Denki Kabushiki Kaisha | System and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions |
US5488711A (en) | 1993-04-01 | 1996-01-30 | Microchip Technology Incorporated | Serial EEPROM device and associated method for reducing data load time using a page mode write cache |
US5530958A (en) * | 1992-08-07 | 1996-06-25 | Massachusetts Institute Of Technology | Cache memory system and method with multiple hashing functions and hash control storage |
US5581726A (en) * | 1990-12-21 | 1996-12-03 | Fujitsu Limited | Control system for controlling cache storage unit by using a non-volatile memory |
US5696929A (en) | 1995-10-03 | 1997-12-09 | Intel Corporation | Flash EEPROM main memory in a computer system |
US6075723A (en) * | 1997-12-15 | 2000-06-13 | Sony Corporation | Nonvolatile semiconductor memory device and IC memory card using same |
US6128627A (en) | 1998-04-15 | 2000-10-03 | Inktomi Corporation | Consistent data storage in an object cache |
US6272607B1 (en) | 1998-08-28 | 2001-08-07 | International Business Machines Corporation | Method and apparatus for transactional writing of data into a persistent memory |
US6272587B1 (en) | 1996-09-30 | 2001-08-07 | Cummins Engine Company, Inc. | Method and apparatus for transfer of data between cache and flash memory in an internal combustion engine control system |
US20010026472A1 (en) | 1989-04-13 | 2001-10-04 | Eliyahou Harari | Flash EEprom system |
US20010047480A1 (en) | 2000-01-12 | 2001-11-29 | Chiaki Tanimoto | IC card and microprocessor |
US6332185B1 (en) | 1991-09-20 | 2001-12-18 | Sun Microsystems, Inc. | Method and apparatus for paging data and attributes including an atomic attribute for digital data processor |
US20020026566A1 (en) | 1998-06-08 | 2002-02-28 | Kosaku Awada | Data backup in non-volatile memory |
US20020051394A1 (en) * | 1993-04-08 | 2002-05-02 | Tsunehiro Tobita | Flash memory control method and apparatus processing system therewith |
US6757201B2 (en) | 2002-02-28 | 2004-06-29 | Renesas Technology Corporation | Nonvolatile memory, IC card and data processing system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3534585B2 (en) * | 1997-10-21 | 2004-06-07 | 株式会社日立製作所 | Data storage control method and apparatus for external storage device using a plurality of flash memories |
JP3979486B2 (en) * | 2001-09-12 | 2007-09-19 | 株式会社ルネサステクノロジ | Nonvolatile storage device and data storage method |
US7412581B2 (en) * | 2003-10-28 | 2008-08-12 | Renesas Technology America, Inc. | Processor for virtual machines and method therefor |
-
2003
- 2003-10-28 US US10/696,716 patent/US7412581B2/en not_active Expired - Lifetime
-
2004
- 2004-09-29 JP JP2004285370A patent/JP2005135395A/en active Pending
-
2008
- 2008-08-06 US US12/187,267 patent/US7877572B2/en not_active Expired - Fee Related
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4969121A (en) * | 1987-03-02 | 1990-11-06 | Altera Corporation | Programmable integrated circuit logic array device having improved microprocessor connectability |
US20010026472A1 (en) | 1989-04-13 | 2001-10-04 | Eliyahou Harari | Flash EEprom system |
US5446862A (en) | 1990-02-23 | 1995-08-29 | Mitsubishi Denki Kabushiki Kaisha | System and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions |
US5201044A (en) | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
US5581726A (en) * | 1990-12-21 | 1996-12-03 | Fujitsu Limited | Control system for controlling cache storage unit by using a non-volatile memory |
US5369757A (en) | 1991-06-18 | 1994-11-29 | Digital Equipment Corporation | Recovery logging in the presence of snapshot files by ordering of buffer pool flushing |
US5325375A (en) | 1991-06-28 | 1994-06-28 | Sun Microsystems, Inc. | Method and apparatus for non-atomic level parity protection for storing data in a random access memory |
US6332185B1 (en) | 1991-09-20 | 2001-12-18 | Sun Microsystems, Inc. | Method and apparatus for paging data and attributes including an atomic attribute for digital data processor |
US5530958A (en) * | 1992-08-07 | 1996-06-25 | Massachusetts Institute Of Technology | Cache memory system and method with multiple hashing functions and hash control storage |
US5488711A (en) | 1993-04-01 | 1996-01-30 | Microchip Technology Incorporated | Serial EEPROM device and associated method for reducing data load time using a page mode write cache |
US20020051394A1 (en) * | 1993-04-08 | 2002-05-02 | Tsunehiro Tobita | Flash memory control method and apparatus processing system therewith |
US5696929A (en) | 1995-10-03 | 1997-12-09 | Intel Corporation | Flash EEPROM main memory in a computer system |
US6272587B1 (en) | 1996-09-30 | 2001-08-07 | Cummins Engine Company, Inc. | Method and apparatus for transfer of data between cache and flash memory in an internal combustion engine control system |
US6075723A (en) * | 1997-12-15 | 2000-06-13 | Sony Corporation | Nonvolatile semiconductor memory device and IC memory card using same |
US6128627A (en) | 1998-04-15 | 2000-10-03 | Inktomi Corporation | Consistent data storage in an object cache |
US20020026566A1 (en) | 1998-06-08 | 2002-02-28 | Kosaku Awada | Data backup in non-volatile memory |
US6272607B1 (en) | 1998-08-28 | 2001-08-07 | International Business Machines Corporation | Method and apparatus for transactional writing of data into a persistent memory |
US20010047480A1 (en) | 2000-01-12 | 2001-11-29 | Chiaki Tanimoto | IC card and microprocessor |
US6757201B2 (en) | 2002-02-28 | 2004-06-29 | Renesas Technology Corporation | Nonvolatile memory, IC card and data processing system |
Non-Patent Citations (2)
Title |
---|
IBM Technical Disclosure Bulletin, Microprocessor Interface for Serial EEPROM Devices, website: http://www.delphion.com, Mar. 1992, 4 pgs. |
IBM Technical Disclosure Bulletin, Pseudo-Dynamic Algorithm for Computer Memory Allocation, website: http://www.delphion.com, Sep. 1993, 2 pgs. |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313383A1 (en) * | 2003-10-28 | 2008-12-18 | Renesas Technology America, Inc. | Processor for Virtual Machines and Method Therefor |
US7877572B2 (en) * | 2003-10-28 | 2011-01-25 | Renesas Technology America, Inc. | Data access in a processor for virtual machines |
US20130326191A1 (en) * | 2010-10-06 | 2013-12-05 | Alexander Yakovlevich Bogdanov | System and method for distributed computing |
US9361266B2 (en) * | 2010-10-06 | 2016-06-07 | Alexander Yakovlevich Bogdanov | System and method for distributed computing |
TWI497417B (en) * | 2014-07-22 | 2015-08-21 | Nat Univ Tsing Hua | Direct memory access method, system and host module for virtual machine |
US11288347B2 (en) | 2019-03-07 | 2022-03-29 | Paypal, Inc. | Login from an alternate electronic device |
US12079320B2 (en) | 2019-03-07 | 2024-09-03 | Paypal, Inc. | Login from an alternate electronic device |
Also Published As
Publication number | Publication date |
---|---|
US7877572B2 (en) | 2011-01-25 |
US20050091468A1 (en) | 2005-04-28 |
JP2005135395A (en) | 2005-05-26 |
US20080313383A1 (en) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7412581B2 (en) | Processor for virtual machines and method therefor | |
US20210374069A1 (en) | Method, system, and apparatus for page sizing extension | |
US7930689B2 (en) | Method and system for accessing indirect memories | |
US5247639A (en) | Microprocessor having cache bypass signal terminal | |
US8397049B2 (en) | TLB prefetching | |
US5043870A (en) | Computer with automatic mapping of memory contents into machine registers during program execution | |
CA2088978C (en) | Translation buffer for virtual machines with address space match | |
EP0595880B1 (en) | Memory management method | |
US20170132131A1 (en) | Combined Transparent/Non-Transparent Cache | |
JP5528554B2 (en) | Block-based non-transparent cache | |
EP1471421A1 (en) | Speculative load instruction control | |
US20060271760A1 (en) | Translation look-aside buffer | |
JPH04233047A (en) | Apparatus for determining memory address to be developed in computer system with respect to memory address region | |
JP2008542948A (en) | Microprocessor with configurable translation lookaside buffer | |
KR20170139659A (en) | A computer processor having separate registers for addressing memory | |
US5613151A (en) | Data processor with flexible register mapping scheme | |
US5802598A (en) | Data memory access control and method using fixed size memory sections that are sub-divided into a fixed number of variable size sub-sections | |
US5293622A (en) | Computer system with input/output cache | |
US5835945A (en) | Memory system with write buffer, prefetch and internal caches | |
US5434990A (en) | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch | |
JP2009525552A (en) | Cache locking without interference from normal allocation | |
US6766435B1 (en) | Processor with a general register set that includes address translation registers | |
CA1301367C (en) | Pseudo set-associative memory cacheing arrangement | |
JP2535086B2 (en) | Ring reduction logic device | |
JPH0666052B2 (en) | A computer that automatically maps memory contents to machine registers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: RENESAS TECHNOLOGY AMERICA, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MORITA, TOSHIYASU;KAWASAKI, SHUMPEI;REEL/FRAME:014670/0799 Effective date: 20031017 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: RENESAS ELECTRONICS AMERICA INC., CALIFORNIA Free format text: MERGER;ASSIGNOR:RENESAS TECHNOLOGY AMERICA, INC.;REEL/FRAME:026669/0788 Effective date: 20100401 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |