To Microinstruction Subroutine Patents (Class 712/243)
-
Patent number: 11366755Abstract: The controller that controls the industrial machine comprises a storage area that stores an operation program, a cache memory, a cache control unit, and an analysis unit, the analysis unit pre-reads a command subsequent to a command included in the operation program loaded in the cache memory, in a case where it is determined that an operation load on a CPU in a command included in the operation program is below a prescribed value, adds, to the command, a cache control command for loading of a subprogram into the cache memory in accordance with a predetermined condition, in a case where a subprogram call command is confirmed present, and makes a cache control request to the cache control unit, responsive to the added cache control command, and the cache control unit loads the subprogram in the cache memory, based on the cache control request.Type: GrantFiled: November 23, 2020Date of Patent: June 21, 2022Assignee: FANUC CORPORATIONInventors: Kazuyuki Mikami, Hideo Ogino, Takenori Ono, Manabu Saitou
-
Patent number: 11055098Abstract: A processor includes a branch target buffer (BTB) having a plurality of entries whereby each entry corresponds to an associated instruction pointer value that is predicted to be a branch instruction. Each BTB entry stores a predicted branch target address for the branch instruction, and further stores information indicating whether the next branch in the block of instructions associated with the predicted branch target address is predicted to be a return instruction. In response to the BTB indicating that the next branch is predicted to be a return instruction, the processor initiates an access to a return stack that stores the return address for the predicted return instruction. By initiating access to the return stack responsive to the return prediction stored at the BTB, the processor reduces the delay in identifying the return address, thereby improving processing efficiency.Type: GrantFiled: July 24, 2018Date of Patent: July 6, 2021Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Aparna Thyagarajan, Marius Evers, Arunachalam Annamalai
-
Patent number: 10768937Abstract: Overhead associated with verifying function return addresses to protect against security exploits is reduced by taking advantage of branch prediction mechanisms for predicting return addresses. More specifically, returning from a function includes popping a return address from a data stack. Well-known security exploits overwrite the return address on the data stack to hijack control flow. In some processors, a separate data structure referred to as a control stack is used to verify the data stack. When a return instruction is executed, the processor issues an exception if the return addresses on the control stack and the data stack are not identical. This overhead can be avoided by taking advantage of the return address stack, which is a data structure used by the branch predictor to predict return addresses. In most situations, if this prediction is correct, the above check does not need to occur, thus reducing the associated overhead.Type: GrantFiled: July 26, 2018Date of Patent: September 8, 2020Assignee: Advanced Micro Devices, Inc.Inventors: Marius Evers, David A. Kaplan, Debjit Das Sarma
-
Patent number: 10606771Abstract: Methods, circuitries, and systems for real-time protection of a stack are provided. A stack protection circuitry includes interface circuitry and computation circuitry. The interface is circuitry configured to receive a return instruction from a central processing unit (CPU). The computation circuitry is configured to, in response to the return instruction, generate protection data that i) identifies a new topmost return address location that is below a current protected topmost return address location and ii) specifies read only access for the new topmost return address location. The interface circuitry is configured to provide the protection data to a memory protection unit to cause the memory protection unit to enforce a read only access restriction on the new topmost return address location.Type: GrantFiled: January 22, 2018Date of Patent: March 31, 2020Assignee: Infineon Technologies AGInventors: Sanjay Trivedi, Ramesh Babu
-
Patent number: 10459735Abstract: An integrated circuit (IC) chip and method of booting the IC are disclosed. The method includes determining whether a boot pin configuration has been programmed and responsive to determining that the boot pin configuration has been programmed, performing a boot method indicated in a user-defined boot table. Responsive to determining that the boot pin configuration key has not been programmed, the method performs a boot method selected from a factory-defined boot table.Type: GrantFiled: June 10, 2016Date of Patent: October 29, 2019Assignee: TEXAS INSTRUMENTS INCORPORATEDInventors: David Peter Foley, Santosh Kumar Athuru
-
Patent number: 10360037Abstract: A fetch unit configured to, in response to detecting a subroutine call and link instruction, calculate and store a predicted target address for the corresponding subroutine return instruction in a prediction stack, and if certain conditions are met, also cause to be stored in the prediction stack a predicted target instruction bundle. The fetch unit is also configured to, in response to detecting a subroutine return instruction, use the predicted target address in the prediction stack to determine the address of the next instruction bundle to be fetched, and if certain conditions are met, cause any valid predicted target instruction bundle in the prediction stack to be the next bundle to be decoded.Type: GrantFiled: September 30, 2016Date of Patent: July 23, 2019Assignee: MIPS Tech, LLCInventor: Philip Day
-
Patent number: 9804851Abstract: A data processing system is provided with processing circuitry as well as a bank of 64-bit registers. An instruction decoder decodes arithmetic instructions and logical instruction specifying arithmetic operations and logical operations to be performed upon operands stored within the 64-bit registers. The instruction decoder is responsive to an operand size field SF within the arithmetic instructions and the logical instructions specifying whether the operands are 64-bit operands or 32-bit operands where all of the operands are 64-bit operands or all of the operands are 32-bit operands. If a switch is made to a lower exception level, then a check is made as to whether or not a register being used was previously subject to a 64-bit write to that register. If such a 64-bit write had previously taken place, then the upper 32-bits are flushed so as to avoid data leakage from the higher exception level.Type: GrantFiled: March 14, 2011Date of Patent: October 31, 2017Assignee: ARM LIMITEDInventors: Richard Roy Grisenthwaite, David James Seal, Philippe Jean-Pierre Raphalen, Lee Douglas Smith
-
Patent number: 9588932Abstract: A storage control device comprises a storage control module and a memory module. The storage control module is coupled between a central processing unit and a plurality of hard disk drives. The memory module is coupled with the storage control module and keeps a plurality of configuration files and a firmware for being executed by the storage control module. In one embodiment, the storage control module comprises at least one general-purpose input/output (GPIO) port and selects, according to whether the GPIO port is at a logical high or low electric potential, one of the configuration files to configure the firmware. The selected configuration file is invoked from a memory area of the memory module. In one embodiment, the storage control device further comprises at least one jumper point and selects, according to an open/close status of the jumper point, one of the configuration files to configure the firmware.Type: GrantFiled: September 2, 2014Date of Patent: March 7, 2017Assignees: INVENTEC (PUDONG) TECHNOLOGY CORPORATION, INVENTEC CORPORATIONInventor: Wei-Guo Zhao
-
Patent number: 9191211Abstract: A data security system that includes a first memory device to store message data to be secured, a second memory device to store microcode including an instruction set defining a cryptographic algorithm for use in securing the message data, and a processing unit to execute the microcode to implement the cryptographic algorithm.Type: GrantFiled: February 27, 2009Date of Patent: November 17, 2015Assignee: Atmel CorporationInventor: Randall Wayne Melton
-
Patent number: 9092225Abstract: In a processing system capable of single and multi-thread execution, a branch prediction unit can be configured to detect hard to predict branches and loop instructions. In a dual-threading (simultaneous multi-threading) configuration, one instruction queues (IQ) is used for each thread and instructions are alternately sent from each IQ to decode units. In single thread mode, the second IQ can be used to store the “not predicted path” of the hard-to-predict branch or the “fall-through” path of the loop. On mis-prediction, the mis-prediction penalty is reduced by getting the instructions from IQ instead of instruction cache.Type: GrantFiled: January 31, 2012Date of Patent: July 28, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Thang M. Tran, Michael B. Schinzler
-
Patent number: 8832419Abstract: Methods and apparatus for enhanced microcode address stack pointer manipulation are described. In some examples, the stacks are invisible to software. A microcode instruction pointer (UIP) and a next address to be accessed in a microcode storage unit may be 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.Type: GrantFiled: December 24, 2010Date of Patent: September 9, 2014Assignee: Intel CorporationInventors: Jonathan D. Combs, Kameswar Subramaniam
-
Patent number: 8826261Abstract: Methods, systems and devices for remotely updating software installed on a digital signal processor (DSP) without setting the mode select pins on the DSP control card. Firmware configured to suspend operations upon receiving a programming signal is installed on the processor. A controlling computing device send the programming signal, causing the processor to halt execution, erase portions of the firmware, set an update firmware flag, and send control signals to the controlling computing device. The remote computing device sends updated firmware and an application program cyclic redundancy check to the processor. The processor compares a cyclic redundancy check of an on-chip flash memory with the received application program cyclic redundancy check. If the two match, the processor installs the received firmware, unsets the update firmware flag, and restarts itself.Type: GrantFiled: February 24, 2011Date of Patent: September 2, 2014Assignee: Bloom Energy CorporationInventors: Vishal Anand AG, Jayanth Moodliar
-
Publication number: 20140122847Abstract: An instruction translator receives a conditional load/store instruction that specifies a condition, destination/data register, base register, offset source, and memory addressing mode. The instruction instructs the microprocessor to load data from a memory location into the destination register (conditional load) or store data to the memory location from the data register (conditional store) only if the condition flags satisfy the condition. The offset source specifies whether the offset is an immediate value or a value in an offset register. The addressing mode specifies whether the base register is updated when the condition flags satisfy the condition. The instruction translator translates the conditional load instruction into a number of microinstructions, which varies as a function of the offset source, addressing mode, and whether the conditional instruction is a conditional load or store instruction.Type: ApplicationFiled: April 6, 2012Publication date: May 1, 2014Inventors: G. Glenn Henry, Terry Parks, Rodney E. Hooker, Gerard M. Col, Colin Eddy
-
Patent number: 8508782Abstract: A method for securing a computer device against malicious code, the method including the steps of: executing a computer program on the computer device, the computer device having a central processing unit, which carries out instructions of the computer program, and wherein at least a portion of the computer program is executed by one or more tasks, each of the one or more tasks having a task stack associated therewith; and managing the central processing unit such that the central processing unit does not execute machine code from the task stacks associated with each of the one or more task so as to secure the computer device against malicious code from the task stack.Type: GrantFiled: December 23, 2010Date of Patent: August 13, 2013Assignee: Konica Minolta Laboratory U.S.A., Inc.Inventor: Shaun Pinney
-
Patent number: 8447958Abstract: A configurable instruction set architecture is provided whereby a single virtual instruction may be used to generate a sequence of instructions. Dynamic parameter substitution may be used to substitute parameters specified by a virtual instruction into instructions within a virtual instruction sequence.Type: GrantFiled: March 6, 2009Date of Patent: May 21, 2013Assignee: Bridge Crossing, LLCInventor: Kevin D. Kissell
-
Patent number: 8423968Abstract: Method, system and computer program product for template-based vertical microcode instruction trace generation. An exemplary embodiment includes an instruction trace generation method, including generating a testcase for a millicoded instruction in an instruction trace pool, wherein the millicoded instruction is included in a parent instruction trace, processing the testcase to generate a millicode instruction trace snippet, editing the millicode instruction trace snippet to generate a templatized millimode snippet, processing the parent instruction trace, accessing the templatized millimode snippet, updating the templatized millimode snippet with a value from the parent instruction trace, and generating a millicoded instruction trace from the updated templatized millimode snippet.Type: GrantFiled: February 11, 2008Date of Patent: April 16, 2013Assignee: International Business Machines CorporationInventors: David S. Hutton, Jane H Bartik
-
Patent number: 8341383Abstract: A method for retrieving a return address from a link stack when returning from a procedure in a pipeline processor is disclosed. The method identifies a retrieve instruction operable to retrieve a return address from a software stack. The method further identifies a branch instruction operable to branch to the return address. The method retrieves the return address from the link stack, in response to both the instruction and the branch instruction being identified and fetches instructions using the return address.Type: GrantFiled: November 2, 2007Date of Patent: December 25, 2012Assignee: QUALCOMM IncorporatedInventors: James Norris Dieffenderfer, Michael William Morrow
-
Patent number: 8171270Abstract: Methods and apparatus to perform asynchronous control transfer are described. In one embodiment, upon occurrence of an event (e.g., an architectural event), a service routine data block (SRDB) is accessed via a service routine base pointer (SRDS) and a service routine offset value (SRDBP) to obtain the address of a yield service routine via a service routine instruction pointer (SRIP) and a service routine code segment (SRCS). Other embodiments are also described.Type: GrantFiled: December 29, 2006Date of Patent: May 1, 2012Assignee: Intel CorporationInventors: Chris J. Newburn, Dion Rodgers, Robert Knight, Ittai Anati, Aaron N. Levinson, Gautham Chinya
-
Patent number: 8145890Abstract: A microprocessor includes a memory that stores instructions of a non-user program to implement a user program instruction of the user-visible instruction set of the microprocessor. The non-user program includes a conditional branch instruction. A first fetch unit fetches instructions of the user program that includes the instruction that is implemented by the non-user program. An instruction decoder decodes the user program instructions and saves a state in response to decoding the user program instruction that is implemented by the non-user program. An execution unit executes the user program instructions fetched by the first fetch unit and executes instructions of the non-user program other than the conditional branch instruction. A second fetch unit fetches the non-user program instructions from the memory and resolves the conditional branch instruction based on the saved state without sending the conditional branch instruction to the execution unit to resolve the conditional branch instruction.Type: GrantFiled: June 9, 2009Date of Patent: March 27, 2012Assignee: VIA Technologies, Inc.Inventors: G. Glenn Henry, Terry Parks, Brent Bean
-
Patent number: 8127120Abstract: A method for executing by a processing unit a program stored in a memory, includes: detecting a piece of information during the execution of the program by the processing unit, and if the information is detected, triggering the execution of a hidden subprogram by the processing unit. The method may be applied to the securization of an integrated circuit.Type: GrantFiled: April 23, 2008Date of Patent: February 28, 2012Assignee: STMicroelectronics SAInventor: Philippe Roquelaure
-
Patent number: 8037285Abstract: An instruction processing circuit includes a decoder circuit operable to receive a sequence of instructions and to decode the received sequence of instructions into a first type of sequence of operations, and a trace builder circuit operable to receive at least a portion of the sequence of operations of the first type and to generate, based thereon, a second type of sequence of operations, where the at least a portion of the sequence of operations of the first type represents a first portion of the sequence of instructions, where the first portion of the sequence of instructions includes at most one conditional control transfer instruction that, when present, ends the first portion of the sequence of instructions, and where the sequence of operations of the second type also represents the first portion of the sequence of instructions.Type: GrantFiled: July 23, 2007Date of Patent: October 11, 2011Assignee: Oracle America, Inc.Inventors: Richard Win Thaik, John Gregory Favor, Joseph Byron Rowlands, Leonard Eric Shar, Matthew William Ashcraft, Ivan Pavle Radivojevic
-
Patent number: 7694110Abstract: Various embodiments of methods and systems for implementing a set of microcode operations corresponding to a microcoded instruction as a microcode subroutine are disclosed. In one embodiment, a microprocessor includes a dispatch unit configured to dispatch operations and a scheduler coupled to the dispatch unit and configured to schedule dispatched operations for execution. In response to receiving a microcoded instruction, the dispatch unit is configured to dispatch a microcode subroutine call operation that specifies a tag identifying a microcode subroutine.Type: GrantFiled: July 8, 2003Date of Patent: April 6, 2010Assignee: GlobalFoundries Inc.Inventors: Mitchell Alsup, Gregory W. Smaus
-
Patent number: 7617388Abstract: An extendable instruction set architecture is provided. In an embodiment, a microprocessor includes a memory, a virtual instruction expansion store, and substitution logic. The memory stores at least one virtual instruction that includes an index and at least one parameter. The virtual instruction expansion store includes at least one instruction template and at least one parameter selector. The substitution logic forms a sequence of at least one expanded instruction. In an example, each expanded instruction is based on an instruction template and includes a new parameter for use with the instruction template. The new parameter is generated by performing a logical operation from the parameter selector on one or more parameter of the virtual instruction.Type: GrantFiled: December 22, 2006Date of Patent: November 10, 2009Assignee: MIPS Technologies, Inc.Inventor: Kevin D. Kissell
-
Patent number: 7613907Abstract: Methods and apparatus for identifying a first flow control instruction in an executing program, the first instruction being associated with a first program address at which program execution will continue after execution of the first instruction. A determination is made as to whether the first program address is protected. If the first program address is protected, a first alternate program address is substituted for the first program address such that program execution will continue at the first alternate program address after execution of the first instruction.Type: GrantFiled: November 9, 2006Date of Patent: November 3, 2009Assignee: ATMEL CorporationInventors: Majid Kaabouch, Eric Le Cocquen
-
Patent number: 7574587Abstract: A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. Functionality may be provided in the performance monitoring application for initiating the measurement of secondary metrics with regard to identified instructions, data addresses, ranges of identified instructions, or ranges of identified data addresses, based on counter values for primary metrics. Thus, for example, when a primary metric counter, or a combination of primary metric counters, meets or exceeds a predetermined threshold value, an interrupt may be generated. In response to receiving the interrupt, counters associated with the measuring of secondary metrics of a range of instructions/data addresses may be initiated.Type: GrantFiled: May 21, 2008Date of Patent: August 11, 2009Assignee: International Business Machines CorporationInventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Christopher Michael Richardson, Robert John Urquhart
-
Patent number: 7529914Abstract: A method and apparatus for executing lock instructions speculatively in an out-of-order processor are disclosed. In one embodiment, a prediction is made whether a given lock instruction will actually be contended. If not, then the lock instruction may be treated as having a normal load micro-operation which may be speculatively executed. Monitor logic may look for indications that the lock instruction is actually contended. If no such indications are found, the speculative load micro-operation and other micro-operations corresponding to the lock instruction may retire. However, if such indications are in fact found, the lock instruction may be restarted, and the prediction mechanism may be updated.Type: GrantFiled: June 30, 2004Date of Patent: May 5, 2009Assignee: Intel CorporationInventors: Bratin Saha, Matthew C. Merten, Per Hammarlund
-
Patent number: 7526638Abstract: Processor logic gates are used to modify microcode instructions, while they are being executed. The results of previous operations are used by the hardware to modify subsequent instructions in a microcode routine. This gives the effect of branching and also reduces the number of instructions that are executed. Different examples and embodiments are also discussed.Type: GrantFiled: March 16, 2008Date of Patent: April 28, 2009Assignee: International Business Machines CorporationInventor: Glen H. Handlogten
-
Patent number: 7444501Abstract: An apparatus for recognizing a subroutine call is disclosed. The apparatus includes a circuit comprising a first input for receiving contents of a register, a second input for receiving a non-sequential change in program flow, and a third input for receiving the next sequential address after the non-sequential change in program flow. The circuit is configured to compare the next sequential address and the contents of the register to determine whether the non-sequential change in program flow is a subroutine call.Type: GrantFiled: November 28, 2006Date of Patent: October 28, 2008Assignee: QUALCOMM IncorporatedInventor: Michael William Morrow
-
Patent number: 7412593Abstract: A processor for processing a program with commands, which has a mother program with a sub-program jump command and a sub-program, which is to be processed in response to the sub-program jump command. The processor has a command processor, which is adapted in the mother program upon occurrence of the sub-program jump command, to extract back-up information about data required in the mother program after processing the sub-program from the sub-program jump command, to back-up data required in the mother program after execution of the sub-program based on the back-up information, to extract a destination address from the sub-program jump command, which refers to the sub-program, and to effect the continuation of the processing of the program with the sub-program based on the destination address.Type: GrantFiled: March 28, 2005Date of Patent: August 12, 2008Assignee: Infineon Technologies AGInventors: Gerd Dirscherl, Berndt Gammel, Michael Smola
-
Patent number: 7398372Abstract: Fusing a load micro-operation (uop) together with an arithmetic uop. Intra-instruction fusing can increase cache memory storage efficiency and computer instruction processing bandwidth within a microprocessor without incurring significant computer system cost. Uops are fused, stored in a cache memory, un-fused, executed in parallel, and retired in order to optimized cost and performance.Type: GrantFiled: June 25, 2002Date of Patent: July 8, 2008Assignee: Intel CorporationInventors: Nicholas G. Samra, Stephan J. Jourdan, David J. Sager, Glenn J. Hinton
-
Patent number: 7392370Abstract: A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. Functionality may be provided in the performance monitoring application for initiating the measurement of secondary metrics with regard to identified instructions, data addresses, ranges of identified instructions, or ranges of identified data addresses, based on counter values for primary metrics. Thus, for example, when a primary metric counter, or a combination of primary metric counters, meets or exceeds a predetermined threshold value, an interrupt may be generated. In response to receiving the interrupt, counters associated with the measuring of secondary metrics of a range of instructions/data addresses may be initiated.Type: GrantFiled: January 14, 2004Date of Patent: June 24, 2008Assignee: International Business Machines CorporationInventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Christopher Michael Richardson, Robert John Urquhart
-
Patent number: 7383425Abstract: This invention is directed to a method and apparatus for providing low, predictable latencies in processing IP packets. The apparatus provides a specialized microprocessor or hardwired circuitry to process IP packets for video communications and control of the video source without an operating system. The method relates to operation of a microprocessor which is suitably arranged to carry out the steps of the method. The method includes details of operation of the specialized microprocessor.Type: GrantFiled: February 27, 2004Date of Patent: June 3, 2008Assignee: Pleora Technologies Inc.Inventors: Eric Boisvert, Alain Rivard, George Chamberlain
-
Patent number: 7237098Abstract: A microprocessor for predicting a target address of a return instruction is disclosed. The microprocessor includes a BTAC and a return stack that each makes a prediction of the target address. Typically the return stack is more accurate. However, if the return stack mispredicts, update logic sets an override flag associated with the return instruction in the BTAC. The next time the return instruction is encountered, if the override flag is set, branch control logic branches the microprocessor to the BTAC prediction. Otherwise, the microprocessor branches to the return stack prediction. If the BTAC mispredicts, then the update logic clears the override flag. In one embodiment, the return stack predicts in response to decode of the return instruction. In another embodiment, the return stack predicts in response to the BTAC predicting the return instruction is present in an instruction cache line. Another embodiment includes a second, BTAC-based return stack.Type: GrantFiled: October 6, 2003Date of Patent: June 26, 2007Assignee: IP-First, LLCInventors: G. Glenn Henry, Thomas McDonald
-
Patent number: 7231511Abstract: Methods and apparatus, including computer program products, for a microinstruction pointer stack in a processor. A method executed in a processor includes executing microcode (?code) addressed by pointers stored in an out-of-order microinstruction pointer (?IP) stack, and manipulating the ?IP stack with a set of microinstructions.Type: GrantFiled: December 20, 2001Date of Patent: June 12, 2007Assignee: Intel CorporationInventors: Michael P. Cornaby, Ben Chaffin
-
Patent number: 7219218Abstract: The present application describes a method and a system for executing instructions while reducing the logic required for execution in a processor. Instructions (e.g., atomic, integer-multiply, integer-divide, move on integer registers, graphics, floating point calculations or the like) are expanded into helper instructions before execution (e.g., in the integer, floating point, graphics and memory units or the like). Such instructions are treated as complex instructions. The functionality of a complex instruction is shared among multiple helpers so that by executing the helpers representing the complex instruction, the functionality of complex instruction is achieved. The expansion of complex instructions into helper instructions reduces the amount of hardware and complexity involved in supporting these individual complex instructions in various units in the processor.Type: GrantFiled: March 31, 2003Date of Patent: May 15, 2007Assignee: Sun Microsystems, Inc.Inventors: Chandra M. R. Thimmannagari, Sorin Iacobovici, Rabin Sugumar
-
Patent number: 7203826Abstract: A processor includes a return stack circuit used for predicting procedure return addresses for instruction pre-fetching, wherein a return stack controller determines the number of return levels associated with a given return instruction, and pops that number of return addresses from the return stack. Popping multiple return addresses from the return stack permits the processor to pre-fetch the return address of the original calling procedure in a chain of successive procedure calls. In one embodiment, the return stack controller reads the number of return levels from a value embedded in the return instruction. A complementary compiler calculates the return level values for given return instructions and embeds those values in them at compile-time. In another embodiment, the return stack circuit dynamically tracks the number of return levels by counting the procedure calls (branches) in a chain of successive procedure calls.Type: GrantFiled: February 18, 2005Date of Patent: April 10, 2007Assignee: Qualcomm IncorporatedInventors: Rodney Wayne Smith, James Norris Dieffenderfer, Jeffrey Todd Bridges, Thomas Andrew Sartorius
-
Patent number: 7162621Abstract: An extendable instruction set architecture is provided. In an embodiment, a microprocessor includes a memory, a virtual instruction expansion store, and substitution logic. The memory stores at least one virtual instruction that includes an index and at least one parameter. The virtual instruction expansion store includes at least one instruction template and at least one parameter selector. The substitution logic forms a sequence of at least one expanded instruction. In a example, the substitution logic sign-extends the at least one parameter to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector. In another example, the substitution logic concatenates a first parameter and a second parameter of the virtual instruction to form an immediate value of the at least one expanded instruction in a manner specified by the at lest one parameter selector.Type: GrantFiled: February 21, 2001Date of Patent: January 9, 2007Assignee: MIPS Technologies, Inc.Inventor: Kevin D. Kissell
-
Patent number: 7127718Abstract: There is disclosed an apparatus for controlling a physical layer interface of a network interface card in real time. The apparatus comprises: 1) a first memory for storing a multitasking control program, the multitasking control program comprising a main routine and a plurality of subroutines callable by the main routine; 2) a second memory for storing a plurality of multitasking vectors associated with the multitasking control program; and 3) a microcontroller for executing the multitasking control program, wherein program execution control is transferred from the main routine to a first one of the plurality of subroutines when the first subroutine is called by the main routine and wherein the first subroutine, upon encountering a decision point in the first subroutine that is not yet capable of being decided, updates a first one of the plurality of multitasking vectors associated with the first subroutine with an address of the decision point and transfers program execution control back to the main routine.Type: GrantFiled: November 15, 2000Date of Patent: October 24, 2006Assignee: National Semiconductor CorporationInventors: John E. Gavlik, Matthew J. Webb, Ted Chang
-
Patent number: 7069424Abstract: A method and apparatus for whacking a ?OP based upon the criticality of that ?OP. Also disclosed are embodiments of a method for determining the criticality of a ?OP.Type: GrantFiled: January 2, 2002Date of Patent: June 27, 2006Assignee: Intel CorporationInventors: KS Venkatraman, Aravindh Baktha
-
Patent number: 7055022Abstract: A microprocessor apparatus is provided for performing an indirect near jump operation that includes paired operation translation logic, load logic, and execution logic. The paired operation translation logic receives an indirect near jump macro instruction, and generates a load-jump micro instruction, where the load-jump micro instruction directs load logic to retrieve an offset and directs the execution logic to generate a target address. The load logic is coupled to the paired operation translation logic and receives the load-jump micro instruction. The load logic retrieves the offset from memory, where the offset indicates a jump destination that is relative to an instruction address corresponding to the indirect near jump macro instruction. The execution logic is coupled to the load logic. The execution logic receives the offset, and employs the instruction address and the offset to generate the target address specifying the jump destination for the near jump operation.Type: GrantFiled: October 22, 2002Date of Patent: May 30, 2006Inventors: Gerard M. Col, G. Glenn Henry, Terry Parks
-
Patent number: 7039793Abstract: A method and apparatus are provided for processing repeat string instructions with increased efficiency in a processor pipeline. Rather than explicitly generating an initial count register setup micro instruction each time a repeat (REP) prefix in encountered, the processor includes a shadow ECX register operating in parallel with an architectural ECX count register. This enables the contents of the architectural ECX register, which are also stored in the shadow ECX register, to be immediately transferred to an internal count register from the shadow ECX register upon the first iteration of a repeat string micro code sequence.Type: GrantFiled: October 21, 2002Date of Patent: May 2, 2006Assignee: IP-First, LLCInventors: Gerard M. Col, G. Glenn Henry, Terry Parks
-
Patent number: 7035999Abstract: A register window fill technique for a retirement window having an entry size less than a number of fill instructions used in a fill condition is provided. The technique uses modified fill instructions that allow the retirement window to retire a portion of the fill instructions without having to determine whether a remaining portion of the fill instructions will execute without exceptions.Type: GrantFiled: June 7, 2002Date of Patent: April 25, 2006Assignee: Sun Microsystems, Inc.Inventors: Chandra Thimmanagari, Sorin Iacobovici, Rabin Sugumar, Robert Nuckolls
-
Patent number: 7024541Abstract: A register window spill technique for an retirement window having an entry size less than a number of spill instructions used in a spill condition is provided. The technique uses modified spill instructions that allow the retirement window to retire a portion of the spill instructions without having to determine whether a remaining portion of the spill instructions will execute without exceptions.Type: GrantFiled: June 7, 2002Date of Patent: April 4, 2006Assignee: Sun Microsystems, Inc.Inventors: Chandra Thimmanagari, Sorin Iacobovici, Rabin Sugumar, Robert Nuckolls
-
Patent number: 6957322Abstract: A microcode instruction unit for a processor may include a microcode memory having entries for storing microcode instructions. A decoder for the microcode memory may decode microcode addresses to select entries of the microcode memory. A microcode entry point generator may receive complex instructions and provide a microcode entry point address to the decoder for each complex instruction. Each microcode entry point address may have a bit-width greater than needed to encode all the entries of the microcode memory. The microcode memory decoder may decode each microcode entry point address to select an entry in the microcode memory storing the beginning of a microcode routine to implement the corresponding complex instruction. The decoder may sparsely decode the microcode address range so that not all entries of said microcode memory are sequentially addressed.Type: GrantFiled: July 25, 2002Date of Patent: October 18, 2005Assignee: Advanced Micro Devices, Inc.Inventor: James K. Pickett
-
Patent number: 6957319Abstract: Integrated circuits having multiple independently accessible microcode ROMs. An integrated circuit may include a microcode unit and a plurality of microcode ROMs fabricated within the same integrated circuit. The microcode unit may be configured to receive a microcoded instruction and to identify a microcode routine that corresponds to the microcoded instruction. The microcode ROMs may collectively store the microcode routines that implement the microcoded instructions of a complex instruction set, and different microcode ROMs may have different access times. At least one of the microcode ROMs may output operations included in the microcode routine in response to the microcode unit identifying the microcode routine. Microcode routines having more performance criticality may be stored in a microcode ROM having a smaller access latency than the access latency of a microcode ROM in which microcode routines having less performance criticality are stored.Type: GrantFiled: February 19, 2003Date of Patent: October 18, 2005Assignee: Advanced Micro Devices, Inc.Inventors: Brian D. McMinn, James K. Pickett
-
Patent number: 6898699Abstract: An apparatus for storing predicted return addresses of instructions being executed by a pipelined processor, the apparatus includes a two part return address buffer that includes a speculative return address buffer and a committed return address buffer, both of which having multiple entries that may include predicted return addresses that have been pushed onto the return buffer.Type: GrantFiled: December 21, 2001Date of Patent: May 24, 2005Assignee: Intel CorporationInventors: Stephan J. Jourdan, John Alan Miller, Namratha Jaisimha
-
Patent number: 6865669Abstract: Methods for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system is disclosed. One exemplary method includes receiving a request from a system BIOS to locate an amount of conventional memory where the amount of conventional memory accommodates at least a decompressed version of data located in an option ROM BIOS. Then the amount of conventional memory requested by the system BIOS is determined. If the amount of conventional memory requested by the system BIOS is not available, the method continues and system BIOS data located within the conventional memory is read where the system BIOS data occupies at least the amount of conventional memory requested by the system BIOS. After the system BIOS data is read, the system BIOS data is written from the conventional memory to an extended memory, and the system BIOS data located in the conventional memory that has been written into the extended memory is deleted.Type: GrantFiled: July 20, 2001Date of Patent: March 8, 2005Assignee: Adaptec, Inc.Inventor: Fadi A. Mahmoud
-
Patent number: 6857063Abstract: A data processor executes an instruction (JAVASW) to implement efficient interpreter functionality by combining the tasks of table jumps and thread or task switching which is controlled by a running value such as a counter or a timer. Execution of the instruction always requires a change of flow to be taken. In one form, the instruction may cause a hardware accelerator to be signaled to complete instruction execution. Additionally, a memory table containing emulation code correlated to specific byte codes may be compressed for a large number of identified byte codes by the use of separate storage. Further, use of a same portion of the memory table may occur in connection with execution of different bytecodes. While discussed in the context of Java bytecodes, the instruction is applicable to any programming language and processor architecture.Type: GrantFiled: February 9, 2001Date of Patent: February 15, 2005Assignee: Freescale Semiconductor, Inc.Inventor: William C. Moyer
-
Patent number: 6842842Abstract: A microprocessor includes a first memory to store microcode and a second memory to store predicted micro-operation addresses. Micro-operation addresses are predicted, stored in memory, and retrieved to get the next micro-operations from the microcode memory. Misprediction recovery logic is used to determine if the next predicted address is correct and to determine a recovery address to correct the predicted address if the predicted address is incorrect.Type: GrantFiled: January 11, 2002Date of Patent: January 11, 2005Assignee: Intel CorporationInventors: Kjeld Svendsen, John Alan Miller
-
Patent number: 6807626Abstract: A computer system has a memory which holds a computer program consisting of a sequence of program instructions. The format of the program instructions depends on an instruction mode of the computer system. A decoder is arranged to receive and decode program instructions. A microinstruction generator is responsive to information from the decoder to generate microinstructions according to a predetermined microinstruction format which is independent of the instruction mode of the computer system. The computer system has a plurality of parallel execution units for receiving and executing the microinstructions.Type: GrantFiled: May 2, 2000Date of Patent: October 19, 2004Assignee: STMicroelectronics S.A.Inventors: Andrew Cofler, Stéphane Bouvier, Bruno Fel, Laurent Ducousso