Stack Based Computer Patents (Class 712/202)
-
Patent number: 12045324Abstract: Systems and methods of cyber hardening software by modifying one or more assembly source files. In some embodiments, the disclosed SME tool transparently and seamlessly integrates into the build process of the assembly source files being modified. For example, upon integration of the disclosed SME tool into the application's development environment, the modifications in the final executable are transparent to the developer and can support other cyber hardening techniques. The SME tool includes a preprocessing tool for identifying attributes (e.g., functions) associated with the assembly source file. The SME tool also includes a transformation tool for making modifications of the assembly source file. In some embodiments, the transformations correspond to applying one or more transformations to the attributes associated with the assembly source file.Type: GrantFiled: April 20, 2020Date of Patent: July 23, 2024Assignee: RUNSAFE SECURITY, INC.Inventor: Erik Raymond Lotspeich
-
Patent number: 11977563Abstract: The techniques described herein relate to constructing and using seed audiences. In an embodiment, a method includes loading, by a processing device, a user event sequence, the user event sequence including a plurality of user events and a plurality of corresponding conversions; generating, by the processing device, a plurality of conversion neighborhoods based on the user event sequence, a given conversion neighborhood in the plurality of conversion neighborhood including at least one conversion rule and a set of user events from the plurality of user events; annotating, by the processing device, each conversion neighborhood in the plurality of conversion neighborhoods with categorical labels; and generating, by the processing device, seed audiences for each conversion neighborhood, a given seed audience including a ranked list of user events for each conversion rule associated with the conversion neighborhood.Type: GrantFiled: April 8, 2022Date of Patent: May 7, 2024Assignee: YAHOO ASSETS LLCInventors: Chander Iyer, Xiao Bai, Ritest Agrawal, Gaurav Batra, An Jiang, Narayan Bhamidipati
-
Patent number: 11954518Abstract: Apparatuses, systems, and techniques to optimize processor resources at a user-defined level. In at least one embodiment, priority of one or more tasks are adjusted to prevent one or more other dependent tasks from entering an idle state due to lack of resources to consume.Type: GrantFiled: December 20, 2019Date of Patent: April 9, 2024Assignee: Nvidia CorporationInventors: Jonathon Evans, Lacky Shah, Phil Johnson, Jonah Alben, Brian Pharris, Greg Palmer, Brian Fahs
-
Patent number: 11783105Abstract: Methods and systems of verifying a hardware design for a sorter are disclosed. The methods include generating a modified version of the hardware design of the sorter accepting extended inputs and performing formal verification comprising: implementing a constraint that the least significant bits of each input in a set of extended inputs represent a unique value; and formally verifying aspects of the modified version of the hardware design of the sorter for the set of extended inputs.Type: GrantFiled: March 19, 2021Date of Patent: October 10, 2023Assignee: Imagination Technologies LimitedInventors: Simon Gaulter, Thomas Ferrere, Faizan Nazar, Sam Elliott
-
Patent number: 11500640Abstract: Circuitry comprises processing circuitry to execute program instructions to access a secondary device in an execution mode selected from at least a first execution mode and a second execution mode; and control circuitry to indicate a current execution mode by which the processing circuitry currently accesses the secondary device in response to an access request initiated by the execution by the processing circuitry of program instructions, in which the control circuitry is configured to require the access request to indicate a given execution mode as the current execution mode to be initiated by program instructions executed in the given execution mode.Type: GrantFiled: March 18, 2019Date of Patent: November 15, 2022Assignee: Arm LimitedInventors: Hugues Géraud Marie De Valon, Ashutosh Kumar Singh
-
Patent number: 11481468Abstract: We present the architecture of a high-performance constraint solver R-Solve that extends the gains made in SAT performance over the past fifteen years on static decision problems to problems that require on-the-fly adaptation, solution space exploration and optimization. R-Solve facilitates collaborative parallel solving and provides an efficient system for unrestricted incremental solving via Smart Repair. R-Solve can address problems in dynamic planning and constrained optimization involving complex logical and arithmetic constraints.Type: GrantFiled: June 3, 2015Date of Patent: October 25, 2022Assignee: Qualcomm Technologies, Inc.Inventors: James Ezick, Thomas Henretty, Chanseok Oh, Jonathan Springer
-
Patent number: 11176243Abstract: A processor implementing techniques for processor extensions to protect stacks during ring transitions is provided. In one embodiment, the processor includes a plurality of registers and a processor core, operatively coupled to the plurality of registers. The plurality of registers is used to store data used in privilege level transitions. Each register of the plurality of registers is associated with a privilege level. An indicator to change a first privilege level of a currently active application to a second privilege level is received. In view of the second privilege level, a shadow stack pointer (SSP) stored in a register of the plurality of registers is selected. The register is associated with the second privilege level. By using the SSP, a shadow stack for use by the processor at the second privilege level is identified.Type: GrantFiled: September 27, 2019Date of Patent: November 16, 2021Assignee: Intel CorporationInventors: Vedvyas Shanbhogue, Jason W. Brandt, Ravi L. Sahita, Barry E. Huntley, Baiju V. Patel, Deepak K. Gupta
-
Patent number: 11074018Abstract: Embodiments include a load calculator, a workload analyzer, and a decision module. The load calculator generates an input/output (IO) record for an asset. The IO record includes a count of read operations and write operations corresponding to the asset from each of a plurality of sites. The workload analyzer collects the IO record and generates at least one of a write threshold and a read threshold. The decision module generates a request for at least one of a promotion and a copy of the asset in response to a determination that an operation has reached at least one of the write threshold and the read threshold for the asset.Type: GrantFiled: April 6, 2017Date of Patent: July 27, 2021Assignee: International Business Machines CorporationInventors: Duo Chen, Min Fang, Da Liu, Jinyi Pu, Jiang Yu
-
Patent number: 10572261Abstract: A task identifier-based mechanism is configured to temporarily disable a dual-issue capability of one or more threads in a superscalar simultaneous multi-threaded core. The core executes a first thread and a second thread which are each provided with a dual-issue capability wherein up to two instructions may be issued in parallel. In response to a task identifier being received that is indicative of a task requiring an improved level of determinism, the dual-issue capability of at least one of the first thread or the second thread is temporarily disabled.Type: GrantFiled: January 6, 2016Date of Patent: February 25, 2020Assignee: NXP USA, Inc.Inventors: Alistair Paul Robertson, James Andrew Collier Scobie
-
Patent number: 10528448Abstract: Disclosed are improved methods and structures for verifying integrated circuits and in particular systems-on-a-chip constructed therefrom. We call methods and structures according to the present disclosure Symbolic Quick Error Detection or Symbolic QED, Illustrative characteristics of Symbolic QED include: 1) It is applicable to any System-on-Chip (SoC) design as long as it contains at least one programmable processor; 2) It is broadly applicable for logic bugs inside processor cores, accelerators, and uncore components; 3) It does not require failure reproduction; 4) It does not require human intervention during bug localization; 5) It does not require trace buffers, 6) It does not require assertions; and 7) It uses hardware structures called “change detectors” which introduce only a small area overhead.Type: GrantFiled: June 6, 2016Date of Patent: January 7, 2020Assignees: The Board of Trustees of the Leland Stanford Junior University, New York UniversityInventors: Subhasish Mitra, Clark Barrett, David Lin, Eshan Singh
-
Patent number: 10438154Abstract: A system, method, and computer-readable medium are disclosed for performing a work item queuing operation. The work item queuing operation includes sending a work item from a producer to a processor; adding the work item to a generational queue upon sending the work item from the producer to the processor via a push operation; and, resending the work item from the producer to the processor via a pop operation when the work item is not processed by the processor, the work item queuing operation centralizing detection and reprocessing of items that were not processed due to work item loss.Type: GrantFiled: May 24, 2017Date of Patent: October 8, 2019Assignee: Dell Products L.P.Inventor: Luis E. Bocaletti
-
Patent number: 10430580Abstract: A processor implementing techniques for processor extensions to protect stacks during ring transitions is provided. In one embodiment, the processor includes a plurality of registers and a processor core, operatively coupled to the plurality of registers. The plurality of registers is used to store data used in privilege level transitions. Each register of the plurality of registers is associated with a privilege level. An indicator to change a first privilege level of a currently active application to a second privilege level is received. In view of the second privilege level, a shadow stack pointer (SSP) stored in a register of the plurality of registers is selected. The register is associated with the second privilege level. By using the SSP, a shadow stack for use by the processor at the second privilege level is identified.Type: GrantFiled: February 4, 2016Date of Patent: October 1, 2019Assignee: Intel CorporationInventors: Vedvyas Shanbhogue, Jason W. Brandt, Ravi L. Sahita, Barry E. Huntley, Baiju V. Patel, Deepak K. Gupta
-
Patent number: 10433035Abstract: An apparatus includes telemetry registers, a memory, and a virtualized telemetry controller. The memory may store a set of telemetry profiles, including a first telemetry profile specifying a collection trigger, a set of telemetry registers, and a telemetry data destination. The virtualized telemetry controller may be to: detect a condition satisfying the collection trigger specified in the first telemetry profile; in response to a detection of the condition, read telemetry values from the set of telemetry registers specified in the first telemetry profile; generate a telemetry container including the telemetry values; and send the telemetry container to the telemetry data destination specified in the first telemetry profile.Type: GrantFiled: March 31, 2017Date of Patent: October 1, 2019Assignee: Intel CorporationInventors: Ronen Chayat, Andrey Chilikin, John J. Browne, Chris MacNamara, Tomasz Kantecki
-
Patent number: 10416994Abstract: A control method includes building at least two stacks for an app, and managing the Activity components based on the at least two stacks.Type: GrantFiled: January 15, 2018Date of Patent: September 17, 2019Assignee: LENOVO (BEIJING) CO., LTD.Inventors: Rong Zeng, Can Wang, Rongfeng Feng, Qixin Xing
-
Patent number: 10387296Abstract: Methods and systems to identify threads responsible for causing a concurrency bug in a computer program having a plurality of concurrently executing threads are disclosed. An example method disclosed herein includes defining, with a processor, a data type. The data type including a first predicate, the first predicate being invoked using a first program instruction inserted in a first thread of the plurality of threads, a second predicate, the second predicate being invoked using a second program instruction inserted in a second thread of the plurality of threads, and an expression defining a relationship between the first predicate and the second predicate. The method further includes, in response to determining the relationship is satisfied during execution of the computer program, identifying the first thread and the second thread as responsible for the concurrency bug.Type: GrantFiled: August 26, 2015Date of Patent: August 20, 2019Assignee: Intel corporationInventors: Youfeng Wu, Justin Gottschlich, Gilles Pokam, Shiliang Hu, Ali-Reza Adl-Tabatabai, Cristiano Pereira
-
Patent number: 10379865Abstract: A circuit includes an instruction scheduling circuit and an instruction buffer including entries. The entries each include an instruction, a validity indication, and an attribute. The instruction scheduling circuit partitions the entries into first sets, determines second sets by reordering the entries of each first set according to their attributes, determines a set ordering for the first sets according to a function of their attributes, and selects, based on the set ordering, instructions from the second sets. A process for selecting instructions to issue receives entries, each entry including an instruction, a validity indications, and an attribute. The process partitions the entries into first sets, determines second sets by reordering the entries of each first set according to their attributes, determines a set ordering for first sets according to a function of the attributes of their entries, and selects, based on the set ordering, instructions from the second sets.Type: GrantFiled: May 13, 2016Date of Patent: August 13, 2019Assignee: Marvell International Ltd.Inventors: Warren Menezes, Joshua Smith
-
Patent number: 10360374Abstract: Various embodiments are generally directed to techniques for control flow protection with minimal performance overhead, such as by utilizing one or more micro-architectural optimizations to implement a shadow stack (SS) to verify a return address before returning from a function call, for instance. Some embodiments are particularly directed to a computing platform, such as an internet of things (IoT) platform, that overlaps or parallelizes one or more SS access operations with one or more data stack (DS) access operations.Type: GrantFiled: May 25, 2017Date of Patent: July 23, 2019Assignee: INTEL CORPORATIONInventors: Abhishek Basak, Ravi L. Sahita, Vedvyas Shanbhogue
-
Patent number: 10346625Abstract: Systems, methods, and computer program products to perform an operation comprising monitoring a set of file access requests to a file from an application to obtain permission and identity information related to the monitored requests, wherein the monitoring includes obtaining a runtime stack from the application, determining, based on environment information in the runtime stack, whether a first set of privileges available to the application are greater than a second set of privileges available to a the user of the application, storing the permission and identity information and an indication of whether the first set of privileges is greater than the second set of privileges in a data file, and adjusting the privileges for the user based on the determination.Type: GrantFiled: October 31, 2016Date of Patent: July 9, 2019Assignee: International Business Machines CorporationInventors: Mark J. Anderson, Carol S. Budnik, Anna P. Dietenberger, Scott Forstie, Brian J. Hasselbeck, Allen K. Mei, Ellen B. Streifel, Jeffrey M. Uehling
-
Patent number: 10324852Abstract: One embodiment provides for a data processing system comprising a multi-level system memory including a first memory level of volatile memory and a second memory level that is larger and slower in comparison with the first memory level. The second memory level includes non-volatile memory and can additionally include volatile memory. The multi-level system memory includes a multi-level memory controller including logic to manage a list of faulty addresses within the multi-level system memory. The multi-level memory controller can manage a list of faulty addresses. The multi-level memory controller is configured to satisfy a request for data stored in the first memory level from the second memory level when the data is stored in an address on the list of faulty addresses.Type: GrantFiled: December 9, 2016Date of Patent: June 18, 2019Assignee: INTEL CORPORATIONInventors: Theodros Yigzaw, Ashok Raj, Robert C. Swanson, Mohan J. Kumar
-
Patent number: 10296341Abstract: A processor and system for latest producer tracking In one embodiment, the processor includes an operand renamer circuit that includes a register rename map, a producer tracking circuit that includes a producer tracking map, and a results buffer allocater circuit that includes a results buffer free list. Control logic modifies in-register status values stored in the register rename map based on producer tracking status values stored in the producer tracking map. The producer tracking status values stored in the producer tracking map are modified based on buffer identification values output by the results buffer allocater circuit.Type: GrantFiled: May 5, 2015Date of Patent: May 21, 2019Assignee: ARM Finance Overseas LimitedInventors: Kjeld Svendsen, Xing Yu Jiang
-
Patent number: 10210349Abstract: A data processing apparatus has processing circuitry which has a secure domain and a less secure domain of operation. When operating in the secure domain the processing circuitry has access to data that is not accessible in the less secure domain. In response to a control flow altering instruction, processing switches to a program instruction at a target address. Domain selection is performed to determine a selected domain in which the processing circuitry is to operate for the instruction at the target address. Domain checking can be performed to check which domains are allowed to be the selected domain determining the domain selection. A domain check error is triggered if the selected domain in the domain selection is not an allowed selected domain.Type: GrantFiled: January 7, 2013Date of Patent: February 19, 2019Assignee: ARM LimitedInventors: Thomas Christopher Grocutt, Richard Roy Grisenthwaite
-
Patent number: 10181030Abstract: Disclosed herein are methods, systems, and computer-readable media for blocking attempts at runtime redirection and attempts to change memory permissions during runtime. The present disclosure describes features that enable runtime detection of an attempt to redirect routines or change memory permissions, and determining whether to allow or deny the attempt. Such features may include changing memory write permissions on memory segments, such as those segments used by dynamic loaders after call associations have been saved or otherwise created. Other features may include swapping the addresses of system routines (e.g., open, read, write, close, etc.) to new routines that perform the same function as well as additional functionality configured to detect attempts to redirect or change memory permissions. Once detected by the new routine during runtime, a determination may be made to deny or allow the call based on a policy.Type: GrantFiled: July 24, 2015Date of Patent: January 15, 2019Assignee: Citrix Systems, Inc.Inventor: David Linde
-
Patent number: 9898289Abstract: A system and method of executing a plurality of threads, including a first thread and a set of remaining threads, on a computer processor core. The system and method includes determining that a start interpretive execution exit condition exists; determining that the computer processor core is within a grace period; and entering by the first thread a start interpretive execution exit sync loop without signaling to any of the set of remaining threads. In turn, the first thread remains in the start interpretive execution exit sync loop until the grace period expires or each of the remaining threads enters a corresponding start interpretive execution exit sync loop.Type: GrantFiled: October 20, 2014Date of Patent: February 20, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jonathan D. Bradbury, Fadi Y. Busaba, Mark S. Farrell, Charles W. Gainey, Jr., Dan F. Greiner, Lisa C. Heller, Jeffrey P. Kubala, Damian L. Osisek, Donald W. Schmidt, Timothy J. Slegel
-
Patent number: 9898290Abstract: A system and method of executing a plurality of threads, including a first thread and a set of remaining threads, on a computer processor core. The system and method includes determining that a start interpretive execution exit condition exists; determining that the computer processor core is within a grace period; and entering by the first thread a start interpretive execution exit sync loop without signaling to any of the set of remaining threads. In turn, the first thread remains in the start interpretive execution exit sync loop until the grace period expires or each of the remaining threads enters a corresponding start interpretive execution exit sync loop.Type: GrantFiled: September 3, 2015Date of Patent: February 20, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jonathan D. Bradbury, Fadi Y. Busaba, Mark S. Farrell, Charles W. Gainey, Dan F. Greiner, Lisa C. Heller, Jeffrey P. Kubala, Damian L. Osisek, Donald W. Schmidt, Timothy J. Slegel
-
Patent number: 9652240Abstract: Methods and apparatus for predicting the value of a stack pointer which store data when an instruction is seen which grows the stack. The information which is stored includes a size parameter which indicates by how much the stack is grown and one or both of: the register ID currently holding the stack pointer value or the current stack pointer value. When a subsequent instruction shrinking the stack is seen, the stored data is searched for one or more entries which has a corresponding size parameter. If such an entry is identified, the other information stored in that entry is used to predict the value of the stack pointer instead of using the instruction to calculate the new stack pointer value. Where register renaming is used, the information in the entry is used to remap the stack pointer to a different physical register.Type: GrantFiled: January 14, 2015Date of Patent: May 16, 2017Assignee: Imagination Technologies LimitedInventor: Hugh Jackson
-
Patent number: 9588881Abstract: A stack processor and method implemented using a ferroelectric random access memory (F-RAM) for code and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses and thus minimize program execution time. This is particularly advantageous in low power applications and those in which the power supply is only available for a finite period of time such as RFID implementations. Disclosed herein is a relatively small but complete set of instructions enabling a multitude of possible applications to be supported with a program execution time that is not too long.Type: GrantFiled: May 9, 2012Date of Patent: March 7, 2017Assignee: Cypress Semiconductor CorporationInventor: Franck Fillere
-
Patent number: 9501637Abstract: Technologies for shadow stack support for legacy guests include a computing device having a processor with shadow stack support. During execution of a call instruction, the processor determines whether a legacy stack pointer is within bounds and generates a virtual machine exit if the legacy stack pointer is out-of-bounds. If not out-of-bounds, the processor pushes a return address onto the legacy stack and onto a shadow stack protected by a hypervisor. During execution of a return instruction, the processor determines whether top return addresses of the legacy stack and the shadow stack match, and generates a virtual machine exit if the return addresses do not match. If the return addresses match, the processor pops the return addresses off of the legacy stack and off of the shadow stack. The stack out-of-bounds and the stack mismatch virtual machine exits may be handled by the hypervisor. Other embodiments are described and claimed.Type: GrantFiled: September 26, 2014Date of Patent: November 22, 2016Assignee: Intel CorporationInventors: Michael LeMay, Barry E. Huntley
-
Patent number: 9424036Abstract: Producer-consumer instructions, comprising a first instruction and a second instruction in program order, are fetched requiring in-order execution, the second instruction is modified by the processor so that the first instruction and second instruction can be completed out-of-order, the modification comprising any one of extending an immediate field of the second instruction using immediate field information of the first instruction or providing a source location of the first instruction as an additional source location to source locations of the second instruction.Type: GrantFiled: October 16, 2013Date of Patent: August 23, 2016Assignee: International Business Machines CorporationInventors: Michael K Gschwind, Valentina Salapura
-
Patent number: 9189363Abstract: A system, method, and computer program product are provided for monitoring an execution flow of a function. In use, data associated with a function is identified within a call stack. Additionally, a call stack frame is determined from freed memory in the call stack. Further, an execution flow of the function is monitored, utilizing the call stack frame from the freed memory.Type: GrantFiled: October 7, 2010Date of Patent: November 17, 2015Inventor: Gregory William Dalcher
-
Patent number: 9191198Abstract: In carrying out a task that consumes data from a one-time pad, task inputs comprising at least first data and second data from the pad, are combined together to form an output from which the data used from the pad cannot be recovered without knowledge of at least one of the first and second data. The task concerned can be, for example, the encrypting of a message or the creating of an attribute verifier.Type: GrantFiled: June 16, 2006Date of Patent: November 17, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventors: Keith Alexander Harrison, Timothy Paul Spiller, William John Munro, Christopher Tofts
-
Patent number: 9063724Abstract: A method of executing an instruction set to select a set of registers, includes reading a first instruction of the instruction set; interpreting a first operand of the first instruction to represent a first register S to be selected; interpreting a second operand of the first instruction to represent a number N of registers to be selected; and selecting N consecutive registers starting at the first register S to form the set of registers.Type: GrantFiled: December 20, 2011Date of Patent: June 23, 2015Assignee: Cambridge Silicon Radio LimitedInventors: Peter Smith, David Richard Hargreaves
-
Publication number: 20150150024Abstract: A method of detecting stack overflows includes the following steps: storing in at least one dedicated register at least one data item chosen from: a data item (SPHaut) indicating a maximum permitted value for a stack pointer, and a data item (SPBas) indicating a minimum permitted value for said stack pointer; effecting a comparison between a current value (SP) or past value (SPMin, SPMax) of said stack pointer and said data item or each of said data items; and generating a stack overflow exception if said comparison indicates that said current or past value of said stack pointer is greater than said maximum permitted value or less than said minimum permitted value. A processor for implementing such a method is also provided.Type: ApplicationFiled: November 21, 2014Publication date: May 28, 2015Inventors: Philippe GROSSI, Dominique DAVID, Francois BRUN
-
Patent number: 9015622Abstract: Some embodiments of a system and a method to tune a computing system based on a profile have been presented. A profile as used herein broadly refers to a file containing various parameters of a computing system, such as kernel parameters (e.g., buffer size, network setup, etc.), usable to configure the computing system. For instance, a set of profiles are stored in a computer-readable storage device in a computing system, such as a server, a personal computer, a laptop computer, etc. A processing device miming on the computing system may receive a user selection of one of the set of profiles. In response to the user selection, the processing device may load the selected profile onto the computing system in order to tune the computing system according to the selected profile.Type: GrantFiled: January 20, 2010Date of Patent: April 21, 2015Assignee: Red Hat, Inc.Inventors: Thomas K. Wörner, Christopher Haughey Snook
-
Patent number: 8966461Abstract: A medium, method, and apparatus are disclosed for eliding superfluous function invocations in a vector-processing environment. A compiler receives program code comprising a width-contingent invocation of a function. The compiler creates a width-specific executable version of the program code by determining a vector width of a target computer system and omitting the function from the width-specific executable if the vector width meets one or more criteria. For example, the compiler may omit the function call if the vector width is greater than a minimum size.Type: GrantFiled: September 29, 2011Date of Patent: February 24, 2015Assignee: Advanced Micro Devices, Inc.Inventors: Benedict R. Gaster, Lee W. Howes, Mark D. Hummel
-
Patent number: 8930677Abstract: A computer implemented control method, article of manufacture, and computer implemented system for determining whether stack allocation is possible. The method includes: allocating an object created by a method frame to a stack. The allocation is performed in response to: calling a first and second instruction in the method frame; the first instruction causes an escape of the object, and the second instruction cancels the escape of the object; the object does not escape to a thread other than a thread to which the object has escaped, at the point in time when the escape is cancelled; the first instruction has been called before the second instruction is called; and the object does not escape in accordance with an instruction other than the first instruction in the method frame, regardless of whether the object escapes in accordance with the first instruction.Type: GrantFiled: August 24, 2012Date of Patent: January 6, 2015Assignee: International Business Machines CorporationInventors: Hiroshi Horii, Kiyokuni Kawachiya, Tamiya Onodera
-
Patent number: 8918622Abstract: A computer implemented control method, article of manufacture, and computer implemented system for determining whether stack allocation is possible. The method includes: allocating an object created by a method frame to a stack. The allocation is performed in response to: calling a first and second instruction in the method frame; the first instruction causes an escape of the object, and the second instruction cancels the escape of the object; the object does not escape to a thread other than a thread to which the object has escaped, at the point in time when the escape is cancelled; the first instruction has been called before the second instruction is called; and the object does not escape in accordance with an instruction other than the first instruction in the method frame, regardless of whether the object escapes in accordance with the first instruction.Type: GrantFiled: January 11, 2012Date of Patent: December 23, 2014Assignee: International Business Machines CorporationInventors: Hiroshi Horii, Kiyokuni Kawachiya, Tamiya Onodera
-
Patent number: 8788796Abstract: A Reduced Instruction Set Computing (RISC) processor is capable of emulating operation of a floating-point register stack. The RISC processor may include a floating-point register file containing a plurality of floating-point registers, a decoding section for decoding operation instructions, and a floating-point operation section. The RISC processor may also include a control register for controlling status of floating-point registers, and for controlling the decoding section and the floating-point operation section, to thereby emulate a floating-point register stack using the floating-point register file. The decoding section may include a pointer register for maintaining a stack operation pointer, and for storing a value of the stack operation pointer.Type: GrantFiled: December 12, 2008Date of Patent: July 22, 2014Assignee: Loongson Technology Corporation LimitedInventors: Wei Duan, Xiaoyu Li
-
Patent number: 8638805Abstract: Described embodiments provide for restructuring a scheduling hierarchy of a network processor having a plurality of processing modules and a shared memory. The scheduling hierarchy schedules packets for transmission. The network processor generates tasks corresponding to each received packet associated with a data flow. A traffic manager receives tasks provided by one of the processing modules and determines a queue of the scheduling hierarchy corresponding to the task. The queue has a parent scheduler at each of one or more next levels of the scheduling hierarchy up to a root scheduler, forming a branch of the hierarchy. The traffic manager determines if the queue and one or more of the parent schedulers of the branch should be restructured. If so, the traffic manager drops subsequently received tasks for the branch, drains all tasks of the branch, and removes the corresponding nodes of the branch from the scheduling hierarchy.Type: GrantFiled: September 30, 2011Date of Patent: January 28, 2014Assignee: LSI CorporationInventors: Balakrishnan Sundararaman, Shashank Nemawarkar, David Sonnier, Shailendra Aulakh, Allen Vestal
-
Patent number: 8627267Abstract: An apparatus and method for initializing system global variables by using a multiple load/store instruction is disclosed. The apparatus includes: a first storing unit for storing a system global variable initialization function and initialization functions using multiple load/store instruction; a second storing unit for storing a return address; a control unit for storing a first return address to the second storing unit when the system global variable initialization function is called for initializing the system global variable, initializing the system global variables by calling the initialization functions using multiple load/store instruction while performing the system global variable function and performing a rest of system global variable initialization function by finding and executing an execution sequence based on the first return address stored in the second storing unit; and a third storing unit for storing the system global variables initialized according to the control unit.Type: GrantFiled: January 3, 2005Date of Patent: January 7, 2014Assignee: Pantech Co., Ltd.Inventors: Jin-Woo Yang, Seung-Jun Yoon
-
Publication number: 20130145122Abstract: The present invention provides an instruction processing method of a network processor and a network processor. The method includes: when executes a pre-added combined function call instruction, adding an address of its next instruction to a stack top of a first stack; judging, according to the combined function call instruction, whether an enable flag of each additional feature is enabled, and if enabled, adding a function entry address corresponding to an additional feature to the stack top of the first stack; and after finishing judging all enable flags, popping a function entry address in the first stack, and executing a function corresponding to a popped function entry address until the address of the next instruction is popped. In the present invention, only one judgment jump instruction needs to be added to a main line procedure to implement function call of enabled additional features, which saves an instruction execution cycle.Type: ApplicationFiled: February 11, 2013Publication date: June 6, 2013Applicant: Huawei Technologies Co., Ltd.Inventor: Huawei Technologies Co., Ltd.
-
Patent number: 8458441Abstract: The subject disclosure is directed towards technology by which an expression in a database engine is executed against stacks of data. Each instruction of the expression is evaluated against the data stacks until completed against each data stack, such as by iterating to execute an instruction through the data stacks before executing the next instruction. The data may be arranged in the data stacks (in memory) in various ways, such as to have each data stack contain the data of one database row, (e.g., with the data stack elements comprising column data. Data may be grouped, such as to put the data from different rows into the same data stack.Type: GrantFiled: May 14, 2009Date of Patent: June 4, 2013Assignee: Microsoft CorporationInventors: Erik Ismert, Frank Huber
-
Patent number: 8429634Abstract: A semiconductor device has an arithmetic processing circuit provided with an arithmetic circuit and a control circuit and a memory circuit provided with a ROM and a RAM, where the arithmetic processing circuit and the memory circuit are connected to each other through an address bus and a data bus, a machine language program executed using the arithmetic processing circuit is stored in the ROM, the RAM has a plurality of banks, processing data obtained by executing the machine language program is divided into a plurality of stacks to be written to the plurality of banks, and the arithmetic processing circuit is operated in accordance with the machine language program so that, in the plurality of stacks stored in the plurality of banks, a stack of which data is not used until the machine language program is terminated is omitted and contiguous stacks are written to the same bank.Type: GrantFiled: July 25, 2007Date of Patent: April 23, 2013Assignee: Semiconductor Energy Laboratory Co., Ltd.Inventors: Hiroki Dembo, Yoshiyuki Kurokawa, Masami Endo
-
Publication number: 20130061000Abstract: A computer-implemented method for creating a threaded package of computer executable instructions from software compiler generated code includes allocating, through a computer processor, the computer executable instructions into a plurality of stacks, differentiating between different types of computer executable instructions for each computer executable instruction allocated to each stack of the plurality of stacks, creating switch points for each stack of the plurality of stacks based upon the differentiating, and inserting the switch points within each stack of the plurality of stacks.Type: ApplicationFiled: September 1, 2011Publication date: March 7, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Raul E. Silvera, Guansong Zhang, Yue Zhao
-
Publication number: 20120324206Abstract: A computer implemented control method, article of manufacture, and computer implemented system for determining whether stack allocation is possible. The method includes: allocating an object created by a method frame to a stack. The allocation is performed in response to: calling a first and second instruction in the method frame; the first instruction causes an escape of the object, and the second instruction cancels the escape of the object; the object does not escape to a thread other than a thread to which the object has escaped, at the point in time when the escape is cancelled; the first instruction has been called before the second instruction is called; and the object does not escape in accordance with an instruction other than the first instruction in the method frame, regardless of whether the object escapes in accordance with the first instruction.Type: ApplicationFiled: August 24, 2012Publication date: December 20, 2012Applicant: International Business Machines CorporationInventors: Hiroshi Horii, Kiyokuni Kawachiya, Tamiya Onodera
-
Publication number: 20120297167Abstract: A processor, method, and medium for implementing a call return stack within a pipelined processor. A stack head register is used to store a copy of the top entry of the call return stack, and the stack head register is accessed by the instruction fetch unit on each fetch cycle. If a fetched instruction is decoded as a return instruction, the speculatively read address from the static register is utilized as a target address to fetch subsequent instructions and the address at the second entry from the top of the call return stack is written to the stack head register.Type: ApplicationFiled: May 20, 2011Publication date: November 22, 2012Inventors: Manish K. Shah, Zeid H. Samoail
-
Patent number: 8234516Abstract: The invention provides a topology collection method and dual control board device applicable to a stacking system comprising dual control board devices. A master control board of a dual control board device advertises through a stack port the topology information of the member device in which the master control board resides, including information about the master control board and, if a slave control board is present, information about the slave control board; and stores the topology information or updates the existing topology information upon receiving the topology information of the stacking system through the stack port, and backs up the stored topology information of the stacking system to the slave control board after the slave control board is inserted. This invention is applicable for collecting the topology information of a stacking system comprising distributed dual control board devices.Type: GrantFiled: January 12, 2010Date of Patent: July 31, 2012Assignee: Hangzhou H3C Technologies, Co., Ltd.Inventors: Yong Wang, Xiaolong Hu, Yiquan Yang
-
Patent number: 8234476Abstract: A instruction execution part of an information processing device outputs an access request including a first address information to specify an access destination based on an execution of an access command of an address space in a memory. The instruction execution part also outputs a check request including a second address information to specify a stack pointer point after extension based on an execution of a stack extension command to extend a stack included in the address space in the memory by updating a stack pointer. A protection violation detection section of the information processing device detects whether the access destination includes the plurality of the partial spaces by collating the first information with the memory protection information stored in the memory protection information storage section.Type: GrantFiled: December 3, 2008Date of Patent: July 31, 2012Assignee: Renesas Electronics CorporationInventors: Rika Ono, Hitoshi Suzuki, Junichi Sato
-
Publication number: 20120166766Abstract: Methods and apparatus for enhanced microcode address stack pointer manipulation are described. In one embodiment, the stacks are invisible to software. In an embodiment, a microcode instruction pointer (UIP) and a next address to be accessed in a microcode storage unit are generated based on an opcode of a microoperation, a marker, and a UIP stack address. The UIP stack address may be generated based on a signal and an immediate field of the microoperation. Other embodiments are also claimed and disclosed.Type: ApplicationFiled: December 24, 2010Publication date: June 28, 2012Inventors: Jonathan D. Combs, Kameswar Subramaniam
-
Patent number: 8195885Abstract: In an electronic unit having a stack in memory and adapted to run a plurality of tasks in accordance with a multitask operating system and to save context data in the stack, a scheduling unit schedules the plurality of tasks for wakeup so as to execute the plurality of tasks. Each of the plurality of tasks stays in at least one of a suspended state, a ready state, and a running state. A measurement unit measures an amount of space to be used in the stack during the at least one of the tasks staying in neither the running state nor the ready state.Type: GrantFiled: June 25, 2007Date of Patent: June 5, 2012Assignee: Denso CorporationInventors: Takahiko Mori, Daisuke Tokumochi
-
Patent number: 8179540Abstract: An image forming apparatus is provided that holds counter information obtained by integrating a consumption of a consumable that depends on usage of service provided by the image forming apparatus. A log corresponding to the usage of the service is set in job log information with a synchronization flag set off. The log in the job log information, for which the synchronization flag is set off, is set on. The counter information and the job log information are output after the synchronization flag for the log having the synchronization flag set off has been set on.Type: GrantFiled: October 29, 2008Date of Patent: May 15, 2012Assignee: Canon Kabushiki KaishaInventors: Junichi Hiruma, Nobuyuki Tonegawa