Instruction Data Cache Patents (Class 711/125)
-
Publication number: 20150052308Abstract: A controller has a cache to store data associated with an address that is subject to conflict resolution. A conflict resolution queue stores information relating to plural transactions, and logic reprioritizes the plural transactions in the conflict resolution queue to change a priority of a first type of transaction with respect to a priority of second type of transaction.Type: ApplicationFiled: April 11, 2012Publication date: February 19, 2015Inventors: Harvey Ray, Christopher Wesneski, Craig Warner
-
Publication number: 20150052305Abstract: An arithmetic processing device includes: a cache memory configured to store data; and a circuitry configured to: execute access instructions including a first access instruction and a second access instruction; and request, in a case where a first access to the cache memory based on the first access instruction has been completed and the first access instruction is a serializing instruction, a re-execution of the second access instruction subsequent to the serializing instruction when a second access to the cache memory based on the second instruction has been completed.Type: ApplicationFiled: April 24, 2014Publication date: February 19, 2015Applicant: FUJITSU LIMITEDInventor: Hiroaki KIMURA
-
Publication number: 20150052306Abstract: Lock information indicating that an address is locked and a lock address are held for each thread, and in a case where the execution of a CAS instruction is requested, a primary cache controller which receives a request from an instruction controlling unit which requests processing according to an instruction in each thread executes a plurality of pieces of processing included in the CAS instruction when an access target address of the CAS instruction is different from the lock address of a thread whose lock information is held, and prohibits the execution of store processing of a thread whose lock information is not held, to a cache memory when the lock information of any thread out of the plural threads is held.Type: ApplicationFiled: July 17, 2014Publication date: February 19, 2015Inventor: Yuji Shirahige
-
Publication number: 20150046655Abstract: A data processing system includes one or more processors 4, 5, 6, 7 operable to initiate atomic memory requests for execution threads and plural data caches 8, 9, 10, 11 that are used to store data needed to perform an atomic memory operation when an atomic memory operation is to be performed. When atomic operations are to be performed against a data cache, the results of atomic operations that are to access the same memory location are accumulated in a temporary cache line in the data cache pending the arrival in the cache of the “true” cache line from memory. The accumulated results of the atomic operations stored in the temporary cache line are then combined with the cache line from memory when the cache line arrives in the cache. Individual atomic values can also be reconstructed once the cache line arrives at the cache.Type: ApplicationFiled: August 8, 2013Publication date: February 12, 2015Inventors: Jorn Nystad, Andreas Engh-Halstvedt
-
Patent number: 8954676Abstract: Disclosed are a cache with a scratch pad memory (SPM) structure and a processor including the same. The cache with a scratch pad memory structure includes: a block memory configured to include at least one block area in which instruction codes read from an external memory are stored; a tag memory configured to store an external memory address corresponding to indexes of the instruction codes stored in the block memory; and a tag controller configured to process a request from a fetch unit for the instruction codes, wherein a part of the block areas is set as a SPM area according to cache setting input from a cache setting unit. According to the present invention, it is possible to reduce the time to read instruction codes from the external memory and realize power saving by operating the cache as the scratch pad memory.Type: GrantFiled: November 19, 2012Date of Patent: February 10, 2015Assignee: Electronics and Telecommunications Research InstituteInventor: Jin Ho Han
-
Patent number: 8954677Abstract: In order to optimize efficiency of deserialization, a serialization cache is maintained at an object server. The serialization cache is maintained in conjunction with an object cache and stores serialized forms of objects cached within the object cache. When an inbound request is received, a serialized object received in the request is compared to the serialization cache. If the serialized byte stream is present in the serialization cache, then the equivalent object is retrieved from the object cache, thereby avoiding deserialization of the received serialized object. If the serialized byte stream is not present in the serialization cache, then the serialized byte stream is deserialized, the deserialized object is cached in the object cache, and the serialized object is cached in the serialization cache.Type: GrantFiled: June 15, 2014Date of Patent: February 10, 2015Assignee: Open Invention Network, LLCInventors: Deren George Ebdon, Robert W. Peterson
-
Publication number: 20150039907Abstract: Method and apparatus for constructing an index that scales to a large number of records and provides a high transaction rate. New data structures and methods are provided to ensure that an indexing algorithm performs in a way that is natural (efficient) to the algorithm, while a non-uniform access memory device sees IO (input/output) traffic that is efficient for the memory device. One data structure, a translation table, is created that maps logical buckets as viewed by the indexing algorithm to physical buckets on the memory device. This mapping is such that write performance to non-uniform access SSD and flash devices is enhanced. Another data structure, an associative cache is used to collect buckets and write them out sequentially to the memory device as large sequential writes. Methods are used to populate the cache with buckets (of records) that are required by the indexing algorithm.Type: ApplicationFiled: October 21, 2014Publication date: February 5, 2015Inventors: Paul Bowden, Arthur J. Beaverson
-
Patent number: 8949550Abstract: The present invention relates to a coarse-grained reconfigurable array, comprising: at least one processor; a processing element array including a plurality of processing elements, and a configuration cache where commands being executed by the processing elements are saved; and a plurality of memory units forming a one-to-one mapping with the processor and the processing element array. The coarse-grained reconfigurable array further comprises a central memory performing data communications between the processor and the processing element array by switching the one-to-one mapping such that when the processor transfers data from/to a main memory to/from a frame buffer, a significant bottleneck phenomenon that may occur due to the limited bandwidth and latency of a system bus can be improved.Type: GrantFiled: June 1, 2010Date of Patent: February 3, 2015Assignee: SNU R&DB FoundationInventors: Ki Young Choi, Kyung Wook Chang, Jong Kyung Paek
-
Publication number: 20150019814Abstract: A facility and cache machine instruction of a computer architecture for specifying a target cache cache-level and a target cache attribute of interest for obtaining a cache attribute of one or more target caches. The requested cache attribute of the target cache(s) is saved in a register.Type: ApplicationFiled: July 15, 2013Publication date: January 15, 2015Inventors: Dan F. Greiner, Timothy J. Slegel
-
Publication number: 20150019803Abstract: A memory device that includes an input interface that receives instructions and input data on a first plurality of serial links. The memory device includes a memory block having a plurality of banks, wherein each of the banks has a plurality of memory cells, and wherein the memory block has multiple ports. An output interface provides data on a second plurality of serial links. A cache coupled to the IO interface and to the plurality of banks, stores write data designated for a given memory cell location when the given memory cell location is currently being accessed, thereby avoiding a collision. Memory device includes one or more memory access controllers (MACs) coupled to the memory block and one or more arithmetic logic units (ALUs) coupled to the MACs.Type: ApplicationFiled: September 30, 2014Publication date: January 15, 2015Applicant: MOSYS, INC.Inventors: Michael J Miller, Michael Morrison, Jay Patel, Dipak Sikdar
-
Publication number: 20150012708Abstract: Embodiments of the present invention are directed to parallel, pipelined, integrated-circuit implementations of computational engines designed to solve complex computational problems. One embodiment of the present invention is a family of video encoders and decoders (“codecs”) that can be incorporated within cameras, cell phones, and other electronic devices for encoding raw video signals into compressed video signals for storage and transmission, and for decoding compressed video signals into raw video signals for output to display devices. A highly parallel, pipelined, special-purpose integrated-circuit implementation of a particular video codec provides, according to embodiments of the present invention, a cost-effective video-codec computational engine that provides an extremely large computational bandwidth with relatively low power consumption and low-latency for decompression and compression of compressed video signals and raw video signals, respectively.Type: ApplicationFiled: January 21, 2014Publication date: January 8, 2015Inventors: Jorge RUBINSTEIN, Albert ROOYAKKERS
-
Publication number: 20150012692Abstract: Systems and methods for managing data input/output operations are described. In one aspect, a device driver identifies a data read operation generated by a virtual machine in a virtual environment. The device driver is located in the virtual machine and the data read operation identifies a physical cache address associated with the data requested in the data read operation. A determination is made regarding whether data associated with the data read operation is available in a cache associated with the virtual machine.Type: ApplicationFiled: September 25, 2014Publication date: January 8, 2015Applicant: INTELLECTUAL PROPERTY HOLDINGS 2 LLCInventors: Vikram Joshi, Yang Luan, Manish R. Apte, Hrishikesh A. Vidwans, Michael F. Brown
-
Patent number: 8924652Abstract: Embodiments provide a method comprising receiving, at a cache associated with a central processing unit that is disposed on an integrated circuit, a request to perform a cache operation on the cache; in response to receiving and processing the request, determining that first data cached in a first cache line of the cache is to be written to a memory that is coupled to the integrated circuit; identifying a second cache line in the cache, the second cache line being complimentary to the first cache line; transmitting a single memory instruction from the cache to the memory to write to the memory (i) the first data from the first cache line and (ii) second data from the second cache line; and invalidating the first data in the first cache line, without invalidating the second data in the second cache line.Type: GrantFiled: April 4, 2012Date of Patent: December 30, 2014Assignee: Marvell Israel (M.I.S.L.) Ltd.Inventors: Adi Habusha, Eitan Joshua, Shaul Chapman
-
Publication number: 20140372701Abstract: Methods, devices, and systems for detecting return-oriented programming (ROP) exploits are disclosed. A system includes a processor, a main memory, and a cache memory. A cache monitor develops an instruction loading profile by monitoring accesses to cached instructions found in the cache memory and misses to instructions not currently in the cache memory. A remedial action unit terminates execution of one or more of the valid code sequences if the instruction loading profile is indicative of execution of an ROP exploit involving one or more valid code sequences. The instruction loading profile may be a hit/miss ratio derived from monitoring cache hits relative to cache misses. The ROP exploits may include code snippets that each include an executable instruction and a return instruction from valid code sequences.Type: ApplicationFiled: August 29, 2014Publication date: December 18, 2014Inventors: Daniel KOMAROMY, Alexander Gantman, Brian Rosenberg, Arun Balakrishnan, Renwei Ge, Gregory Rose, Anand Palanigounder
-
Patent number: 8914580Abstract: In some embodiments, a cache may include a tag array and a data array, as well as circuitry that detects whether accesses to the cache are sequential (e.g., occupying the same cache line). For example, a cache may include a tag array and a data array that stores data, such as multiple bundles of instructions per cache line. During operation, it may be determined that successive cache requests are sequential and do not cross a cache line boundary. Responsively, various cache operations may be inhibited to conserve power. For example, access to the tag array and/or data array, or portions thereof, may be inhibited.Type: GrantFiled: August 23, 2010Date of Patent: December 16, 2014Assignee: Apple Inc.Inventors: Rajat Goel, Ian D. Kountanis
-
Patent number: 8904109Abstract: A data processor is disclosed that definitively determines an effective address being calculated and decoded will be associated with an address range that includes a memory local to a data processor unit, and will disable a cache access based upon a comparison between a portion of a base address and a corresponding portion of an effective address input operand. Access to the local memory can be accomplished through a first port of the local memory when it is definitively determined that the effective address will be associated with an address range. Access to the local memory cannot be accomplished through the first port of the local memory when it is not definitively determined that the effective address will be associated with the address range.Type: GrantFiled: January 28, 2011Date of Patent: December 2, 2014Assignee: Freescale Semiconductor, Inc.Inventor: William C. Moyer
-
Publication number: 20140351520Abstract: A technique for locking a cache memory device (or portion thereof) which includes the following actions: (i) writing full traversal branching instructions in a cache way of a cache memory device; and (ii) subsequent to the writing step, locking the cache way. The locking action is performed by adjusting cache locking data to indicate that data in the cache way will not be overwritten during normal operations of the cache memory device. The writing action and the locking action are performed by a machine.Type: ApplicationFiled: January 28, 2014Publication date: November 27, 2014Applicant: International Business Machines CorporationInventors: Rahul S. Moharil, Lakshmi Sarath
-
Publication number: 20140351521Abstract: A cache package (for example, a flash memory package configured by flash memories) can execute a cache control process instead of a processor in a storage system by a request of the cache control process from the storage system. Consequently, time for the process that the processor of the storage system executes can be reduced and increase in a throughput can be achieved. For example, particularly the present invention is effective in real time data processing in OLTP (OnLine Transaction Processing) (for example, database processes in finance, medical service, Internet service, and government and public service). In addition, under the concept of recent EPR (Enterprise Resource Planning) a flexible storage system that can respond rapid fluctuation in an amount of data and an access load can be established and leveraged by increasing several boards of required cache packages.Type: ApplicationFiled: May 27, 2013Publication date: November 27, 2014Inventors: Shintaro Kudo, Akira Yamamoto, Yusuke Nonaka, Sadahiro Sugimoto
-
Publication number: 20140337582Abstract: A digital system is provided for high-performance cache systems. The digital system includes a processor core and a cache control unit. The processor core is capable of being coupled to a first memory containing executable instructions and a second memory with a faster speed than the first memory. Further, the processor core is configured to execute one or more instructions of the executable instructions from the second memory. The cache control unit is configured to be couple to the first memory, the second memory, and the processor core to fill at least the one or more instructions from the first memory to the second memory before the processor core executes the one or more instructions.Type: ApplicationFiled: July 29, 2014Publication date: November 13, 2014Inventors: KENNETH CHENGHAO LIN, HAOQI REN
-
Publication number: 20140325238Abstract: A pipelined processor comprising a cache memory system, fetching instructions for execution from a portion of said cache memory system, an instruction commencing processing before a digital signature of the cache line that contained the instruction is verified against a reference signature of the cache line, the verification being done at the point of decoding, dispatching, or committing execution of the instruction, the reference signature being stored in an encrypted form in the processor's memory, and the key for decrypting the said reference signature being stored in a secure storage location. The instruction processing proceeds when the two signatures exactly match and, where further instruction processing is suspended or processing modified on a mismatch of the two said signatures.Type: ApplicationFiled: July 14, 2014Publication date: October 30, 2014Inventor: Kanad Ghose
-
Publication number: 20140317419Abstract: Techniques and logic are presented for encrypting and decrypting programs and related data within a multi-processor system to prevent tampering. The decryption and encryption may be performed either between a system bus and a processor's individual L1 cache memory or between a processor's instruction and execution unit and their respective L1 caches. The logic may include one or more linear feedback shift registers (LFSRs) that may be used for generation of unique sequential address related codes to perform the decryption of instructions and transformation logic that may be used for generation of equivalent offset address related codes to perform decryption and encryption of data. The logic may also be programmable and may be used for test purposes.Type: ApplicationFiled: April 17, 2013Publication date: October 23, 2014Inventor: Laurence H. Cooke
-
Publication number: 20140317352Abstract: Generally, this disclosure provides systems, devices, methods and computer readable media for memory object reference count management with improved scalability based on transactional reference count elision. The device may include a hardware transactional memory processor configured to maintain a read-set associated with a transaction and to abort the transaction in response to a modification of contents of the read-set by an entity external to the transaction; and a code module configured to: enter the transaction; locate the memory object; read the reference count associated with the memory object, such that the reference count is added to the read-set associated with the transaction; access the memory object; and commit the transaction.Type: ApplicationFiled: March 14, 2013Publication date: October 23, 2014Inventor: Andreas Kleen
-
Publication number: 20140297958Abstract: A semiconductor device includes a memory for storing a plurality of instructions therein, an instruction queue which temporarily stores the instructions fetched from the memory therein, a central processing unit which executes the instruction supplied from the instruction queue, an instruction cache which stores therein the instructions executed in the past by the central processing unit, and a control circuit which controls fetching of each instruction. When the central processing unit executes a branch instruction, and an instruction of a branch destination is being in the instruction cache and an instruction following the instruction of the branch destination is stored in the instruction queue, the control circuit causes the instruction queue to fetch the instruction of the branch destination from the instruction cache and causes the instruction queue not to fetch the instruction following the instruction of the branch destination.Type: ApplicationFiled: March 24, 2014Publication date: October 2, 2014Applicant: Renesas Electronics CorporationInventor: ISAO KOTERA
-
Patent number: 8850121Abstract: A load/store unit with an outstanding load miss buffer and a load miss result buffer is configured to read data from a memory system having a level one cache. Missed load instructions are stored in the outstanding load miss buffer. The load/store unit retrieves data for multiple dependent missed load instructions using a single cache access and stores the data in the load miss result buffer. The outstanding load miss buffer stores a first missed load instruction in a first primary entry. Additional missed load instructions that are dependent on the first missed load instructions are stored in dependent entries of the first primary entry or in shared entries. If a shared entry is used for a missed load instruction the shared entry is associated with the primary entry.Type: GrantFiled: September 30, 2011Date of Patent: September 30, 2014Assignee: Applied Micro Circuits CorporationInventors: Matthew W. Ashcraft, John Gregory Favor, David A. Kruckemyer
-
Publication number: 20140281246Abstract: A system, processor, and method to predict with high accuracy and retain instruction boundaries for previously executed instructions in order to decode variable length instructions is disclosed. In at least one embodiment, a disclosed processor includes an instruction fetch unit, an instruction cache, a boundary byte predictor, and an instruction decoder. In some embodiments, the instruction fetch unit provides an instruction address and the instruction cache produces an instruction tag and instruction cache content corresponding to the instruction address. The instruction decoder, in some embodiments, includes boundary byte logic to determine an instruction boundary in the instruction cache content.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Inventors: Mauricio Breternitz, JR., Youfeng Wu, Peter Sassone, James Mason, Aashish Phansalkar, Balaji Vijayan
-
Publication number: 20140282546Abstract: Methods for supporting wide and efficient front-end operation with guest architecture emulation are disclosed. As a part of a method for supporting wide and efficient front-end operation, upon receiving a request to fetch a first far taken branch instruction, a cache line that includes the first far taken branch instruction, a next cache line and a cache line located at the target of the first far taken branch instruction is read. Based on information that is accessed from a data table, the cache line and either the next cache line or the cache line located at the target is fetched in a single cycle.Type: ApplicationFiled: March 17, 2014Publication date: September 18, 2014Applicant: Soft Machines, Inc.Inventors: Mohammad Abdallah, Ankur Groen, Erika Gunadi, Mandeep Singh, Ravishankar Rao
-
Patent number: 8839429Abstract: Methods, devices, and systems for detecting return-oriented programming (ROP) exploits are disclosed. A system includes a processor, a main memory, and a cache memory. A cache monitor develops an instruction loading profile by monitoring accesses to cached instructions found in the cache memory and misses to instructions not currently in the cache memory. A remedial action unit terminates execution of one or more of the valid code sequences if the instruction loading profile is indicative of execution of an ROP exploit involving one or more valid code sequences. The instruction loading profile may be a hit/miss ratio derived from monitoring cache hits relative to cache misses. The ROP exploits may include code snippets that each include an executable instruction and a return instruction from valid code sequences.Type: GrantFiled: November 7, 2011Date of Patent: September 16, 2014Assignee: QUALCOMM IncorporatedInventors: Daniel Komaromy, Alex Gantman, Brian M. Rosenberg, Arun Balakrishnan, Renwei Ge, Gregory G. Rose, Anand Palanigounder
-
Publication number: 20140258624Abstract: A processor includes a computation engine to produce a computed value for a set of operands. A cache stores the set of operands and the computed value. The cache is configured to selectively identify a match and a miss for a new set of operands. In the event of a match the computed value is supplied by the cache and a computation engine operation is aborted. In the event of a miss a new computed value for the new set of operands is computed by the computation engine and is stored in the cache.Type: ApplicationFiled: March 7, 2013Publication date: September 11, 2014Applicant: MIPS Technologies, Inc.Inventor: Ranganathan Sudhakar
-
Publication number: 20140258626Abstract: An electronic device includes: a variable resistance element having a first electrode, a variable resistance layer, and a second electrode which are sequentially stacked therein; a spacer formed on the sidewall of the variable resistance element; and a conductive line covering the variable resistance element including the spacer.Type: ApplicationFiled: December 30, 2013Publication date: September 11, 2014Applicant: SK Hynix Inc.Inventor: Jung-Hyun Kang
-
Publication number: 20140258627Abstract: Methods and migration units for use in out-of-order processors for migrating data to register file caches associated with functional units of the processor to satisfy register read operations. The migration unit receives register read operations to be executed for a particular functional unit. The migration unit reviews entries in a register renaming table to determine if the particular functional unit has recently accessed the source register and thus is likely to comprise an entry for the source register in its register file cache. In particular, the register renaming table comprises entries for physical registers that indicate what functional units have accessed the physical register. If the particular functional unit has not accessed the particular physical register the migration unit migrates data to the register file cache associated with the particular functional unit.Type: ApplicationFiled: February 25, 2014Publication date: September 11, 2014Applicant: IMAGINATION TECHNOLOGIES LIMITEDInventors: Hugh Jackson, Anand Khot
-
Publication number: 20140258625Abstract: Embodiments of the present invention provide a data processing method and apparatus. According to the embodiments of the present invention, when it is found that a data hash value in a currently received data stream exceeds a preset first threshold, a part or all of data in the data stream is not deduplicated, and is directly stored, so as to prevent the data in the data stream from being dispersedly stored into a plurality of storage areas; instead, the part or all of the data is stored into a storage area in a centralized manner, so that a deduplication rate is effectively improved on the whole, particularly in a scenario of large data storage amount.Type: ApplicationFiled: May 14, 2014Publication date: September 11, 2014Applicant: Huawei Technologies Co., Ltd.Inventors: Yanhui Zhong, Zongquan Zhang
-
Patent number: 8825982Abstract: A method is described to partition the memory of application-specific hardware compiled from a software program. Applying the invention generates multiple small memories that need not be kept coherent and are defined over a specific region of the program. The invention creates application specific hardware which preserves the memory image and addressing model of the original software program. The memories are dynamically initialized and flushed at the entries and exits of the program region they are defined in.Type: GrantFiled: June 9, 2011Date of Patent: September 2, 2014Assignee: Global Supercomputing CorporationInventors: Emre Kultursay, Kemal Ebcioglu, Mahmut Taylan Kandemir
-
Patent number: 8825958Abstract: A digital system is provided for high-performance cache systems. The digital system includes a processor core and a cache control unit. The processor core is capable of being coupled to a first memory containing executable instructions and a second memory with a faster speed than the first memory. Further, the processor core is configured to execute one or more instructions of the executable instructions from the second memory. The cache control unit is configured to be couple to the first memory, the second memory, and the processor core to fill at least the one or more instructions from the first memory to the second memory before the processor core executes the one or more instructions.Type: GrantFiled: August 8, 2013Date of Patent: September 2, 2014Assignee: Shanghai Xin Hao Micro Electronics Co. Ltd.Inventors: Kenneth Chenghao Lin, Haoqi Ren
-
Publication number: 20140244933Abstract: Methods and systems that identify and power up ways for future instructions are provided. A processor includes an n-way set associative cache and an instruction fetch unit. The n-way set associative cache is configured to store instructions. The instruction fetch unit is in communication with the n-way set associative cache and is configured to power up a first way, where a first indication is associated with an instruction and indicates the way where a future instruction is located and where the future instruction is two or more instructions ahead of the current instruction.Type: ApplicationFiled: February 28, 2013Publication date: August 28, 2014Applicant: MIPS Technologies, Inc.Inventors: Ranganathan Sudhakar, Parthiv Pota
-
Patent number: 8819342Abstract: An instruction in an instruction cache line having a first portion that is cacheable, a second portion that is from a page that is non-cacheable, and crosses a cache line is prevented from executing from the instruction cache. An attribute associated with the non-cacheable second portion is tracked separately from the attributes of the rest of the instructions in the cache line. If the page crossing instruction is reached for execution, the page crossing instruction and instructions following are flushed and a non-cacheable request is made to memory for at least the second portion. Once the second portion is received, the whole page crossing instruction is reconstructed from the first portion saved in the previous fetch group. The page crossing instruction or portion thereof is returned with the proper attribute for a non-cached fetched instruction and the reconstructed instruction can be executed without being cached.Type: GrantFiled: September 26, 2012Date of Patent: August 26, 2014Assignee: QUALCOMM IncorporatedInventors: Leslie Mark DeBruyne, James Norris Dieffenderfer, Michael Scott Mcilvaine, Brian Michael Stempel
-
Publication number: 20140229677Abstract: This disclosure provides techniques and apparatuses to enable early, run-ahead handling of IC and ITLB misses by decoupling the ITLB and IC tag lookups from the IC data (instruction bytes) accesses, and making ITLB and IC tag lookups run ahead of the IC data accesses.Type: ApplicationFiled: December 29, 2011Publication date: August 14, 2014Inventors: Ilhyun Kim, Alexandre J. Farcy, Choon Wei Khor, Robert L. Hinton
-
Publication number: 20140223101Abstract: Register files for use in an out-of-order processor that have been divided into a plurality of sub-register files. The register files also have a plurality of buffers which are each associated with one of the sub-register files. Each buffer receives and stores write operations destined for the associated sub-register file which can be later issued to the sub-register file. Specifically, each clock cycle it is determined whether there is at least one write operation in the buffer that has not been issued to the associated sub-register file. If there is at least one write operation in the buffer that has not been issued to the associated sub-register file, one of the non-issued write operations is issued to the associated sub-register file.Type: ApplicationFiled: January 17, 2014Publication date: August 7, 2014Applicant: IMAGINATION TECHNOLOGIES, LTD.Inventor: Hugh JACKSON
-
Patent number: 8793435Abstract: A load/store unit with an outstanding load miss buffer and a load miss result buffer is configured to read data from a memory system having a level one cache. Missed load instructions are stored in the outstanding load miss buffer. The load/store unit retrieves data for multiple dependent missed load instructions using a single memory access and stores the data in the load miss result buffer. The load miss result buffer includes dependent data lines, dependent data selection circuits, shared data lines and shared data selection circuits. The dependent data selection circuits are configured to select a subset of data from the memory system for storing in an associated dependent data line. Similarly, the shared data selection circuits are configured to select a subset of data from the memory system for storing in an associated shared data line.Type: GrantFiled: September 30, 2011Date of Patent: July 29, 2014Assignee: Applied Micro Circuits CorporationInventors: Matthew W. Ashcraft, John Gregory Favor, David A. Kruckemyer
-
Publication number: 20140208033Abstract: Method, process, and apparatus to efficiently store, read, and/or process syllables of word data. A portion of a data word, which includes multiple syllables, may be read by a computer processor. The processor may read a first syllable of the data word from a first memory. The processor may read a second syllable of the data word from a second portion of memory. The second syllable may include bits which are less critical than the bits of the first syllable. The second memory may be distinct from the first memory based on one or more physical attributes.Type: ApplicationFiled: March 21, 2014Publication date: July 24, 2014Inventors: Lutz Naethke, Axel Borkowski, Bert Bretschneider, Kyriakos A. Stavrou, Rainer Theuer
-
Publication number: 20140201450Abstract: There is provided a system and method for optimizing matrix and vector calculations in instruction limited algorithms that perform EOS calculations. The method includes dividing each matrix associated with an EOS stability equation and an EOS phase split equation into a number of tiles, wherein the tile size is heterogeneous or homogenous. Each vector associated with the EOS stability equation and the EOS phase split equation may be divided into a number of strips. The tiles and strips may be stored in main memory, cache, or registers, and the matrix and vector operations associated with successive substitutions and Newton iterations may be performed in parallel using the tiles and strips.Type: ApplicationFiled: July 23, 2012Publication date: July 17, 2014Inventor: Kjetil B. Haugen
-
Publication number: 20140201449Abstract: In a particular embodiment, a method, includes identifying one or more way prediction characteristics of an instruction. The method also includes selectively reading, based on identification of the one or more way prediction characteristics, a table to identify an entry of the table associated with the instruction that identifies a way of a data cache. The method further includes making a prediction whether a next access of the data cache based, on the instruction will access the way.Type: ApplicationFiled: January 15, 2013Publication date: July 17, 2014Applicant: QUALCOMM IncorporatedInventors: Peter G. Sassone, Suresh K. Venkumahanti, Lucian Codrescu
-
Patent number: 8775153Abstract: In one embodiment, a processor can operate in multiple modes, including a direct execution mode and an emulation execution mode. More specifically, the processor may operate in a partial emulation model in which source instruction set architecture (ISA) instructions are directly handled in the direct execution mode and translated code generated by an emulation engine is handled in the emulation execution mode. Embodiments may also provide for efficient transitions between the modes using information that can be stored in one or more storages of the processor and elsewhere in a system. Other embodiments are described and claimed.Type: GrantFiled: December 23, 2009Date of Patent: July 8, 2014Assignee: Intel CorporationInventors: Sebastian Winkel, Koichi Yamada, Suresh Srinivas, James E. Smith
-
Publication number: 20140189242Abstract: Embodiments of an invention for logging in secure enclaves are disclosed. In one embodiment, a processor includes an instruction unit and an execution unit. The instruction unit is to receive an instruction having an associated enclave page cache address. The execution unit is to execute the instruction without causing a virtual machine exit, wherein execution of the instruction includes logging the instruction and the associated enclave page cache address.Type: ApplicationFiled: December 28, 2012Publication date: July 3, 2014Inventors: Francis X. Mckeen, Michael A. Goldsmith, Barrey E. Huntley, Simon P. Johnson, Rebekah Leslie, Carlos V. Rozas, Uday R. Savagaonkar, Vincent R. Scarlata, Vedvyas Shanbhogue, Wesley H. Smith
-
Patent number: 8769203Abstract: In order to optimize efficiency of deserialization, a serialization cache is maintained at an object server. The serialization cache is maintained in conjunction with an object cache and stores serialized forms of objects cached within the object cache. When an inbound request is received, a serialized object received in the request is compared to the serialization cache. If the serialized byte stream is present in the serialization cache, then the equivalent object is retrieved from the object cache, thereby avoiding deserialization of the received serialized object. If the serialized byte stream is not present in the serialization cache, then the serialized byte stream is deserialized, the deserialized object is cached in the object cache, and the serialized object is cached in the serialization cache.Type: GrantFiled: November 5, 2013Date of Patent: July 1, 2014Assignee: Open Invention Network, LLCInventors: Deren George Ebdon, Robert W. Peterson
-
Patent number: 8769232Abstract: A non-volatile semiconductor memory module is disclosed comprising a memory device and memory controller operably coupled to the memory device, wherein the memory controller is operable to receive a host command, split the host command into one or more chunks comprising a first chunk comprising at least one logical block address (LBA), and check the first chunk against an active chunk coherency list comprising one or more active chunks to determine whether the first chunk is an independent chunk, and ready to be submitted for access to the memory device, or a dependent chunk, and deferred access to the memory device until an associated dependency is cleared.Type: GrantFiled: April 6, 2011Date of Patent: July 1, 2014Assignee: Western Digital Technologies, Inc.Inventors: Dominic S. Suryabudi, Mei-Man L. Syu
-
Publication number: 20140181405Abstract: In a particular embodiment, an apparatus includes control logic configured to selectively set bits of a multi-bit way prediction mask based on a prediction mask value. The control logic is associated with an instruction cache including a data array. A subset of line drivers of the data array is enabled responsive to the multi-bit way prediction mask. The subset of line drivers includes multiple line drivers.Type: ApplicationFiled: December 20, 2012Publication date: June 26, 2014Applicant: Qualcomm IncorporatedInventors: Peter G. Sassone, Suresh K. Venkumahanti, Lucian Codrescu
-
Patent number: 8762127Abstract: In one embodiment, a processor can operate in multiple modes, including a direct execution mode and an emulation execution mode. More specifically, the processor may operate in a partial emulation model in which source instruction set architecture (ISA) instructions are directly handled in the direct execution mode and translated code generated by an emulation engine is handled in the emulation execution mode. Embodiments may also provide for efficient transitions between the modes using information that can be stored in one or more storages of the processor and elsewhere in a system. Other embodiments are described and claimed.Type: GrantFiled: March 5, 2013Date of Patent: June 24, 2014Assignee: Intel CorporationInventors: Sebastian Winkel, Koichi Yamada, Suresh Srinivas, James E. Smith
-
Publication number: 20140173209Abstract: Presenting enclosure cache as local cache in an enclosure attached server, including: determining, by the enclosure, a cache hit rate for local server cache in each of a plurality of enclosure attached servers; determining, by the enclosure, an amount of available enclosure cache for use by one or more of the enclosure attached servers; and offering, by the enclosure, some portion of the available enclosure cache to an enclosure attached server in dependence upon the cache hit rate and the amount of available enclosure cache.Type: ApplicationFiled: December 17, 2012Publication date: June 19, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
-
Patent number: 8751747Abstract: A method for managing cache memory including receiving an instruction fetch for an instruction stream in a cache memory, wherein the instruction fetch includes an instruction fetch reference tag for the instruction stream and the instruction stream is at least partially included within a cache line, comparing the instruction fetch reference tag to a previous instruction fetch reference tag, maintaining a cache replacement status of the cache line if the instruction fetch reference tag is the same as the previous instruction fetch reference tag, and upgrading the cache replacement status of the cache line if the instruction fetch reference tag is different from the previous instruction fetch reference tag, whereby the cache replacement status of the cache line is upgraded if the instruction stream is independently fetched more than once. A corresponding system and computer program product.Type: GrantFiled: February 26, 2008Date of Patent: June 10, 2014Assignee: International Business Machines CorporationInventors: Robert J. Sonnelitter, III, Gregory W. Alexander, Brian R. Prasky
-
Patent number: 8738862Abstract: Embodiments related to a transaction program. An aspect includes, based on determining that one instruction is part of an active atomic instruction group (AIG), determining whether a private-to-transaction (PTRAN) bit associated with an address of the one instruction in a main memory is set, the PTRAN bit being located in a main memory comprising a plurality of memory increments each having a respective directly addressable PTRAN bit in the main memory. Another aspect includes, based on determining that the PTRAN bit is not set: setting the PTRAN bit; adding a new entry to a cache structure and a transaction table including an old data state of the address of the one instruction stored in the cache structure and control information stored in the transaction table; and completing the one instruction as part of the active AIG.Type: GrantFiled: October 23, 2013Date of Patent: May 27, 2014Assignee: International Business Machines CorporationInventor: Thomas J. Heller, Jr.