Writable/changeable Control Store Architecture Patents (Class 712/248)
-
Patent number: 6820194Abstract: In one disclosed embodiment an instruction loop having at least one instruction is identified. For example, each instruction can be a VLIW packet comprised of several individual instructions. The instructions of the instruction loop are fetched from a program memory. The instructions are then stored in a register queue. For example, the register queue can be implemented with a head pointer which is adjusted to select a register in which to write each instruction that is fetched. It is then determined whether the processor requires execution of the instruction loop, for example, by checking a program counter (PC) value corresponding to each instruction. When the processor requires execution of the instruction loop, the instructions are output from the register queue. For example, the register queue can be implemented with an access pointer which is adjusted to select a register from which to output each instruction that is required.Type: GrantFiled: April 10, 2001Date of Patent: November 16, 2004Assignee: Mindspeed Technologies, Inc.Inventors: Sameer I. Bidichandani, Moataz A. Mohamed
-
Patent number: 6810477Abstract: An instruction decode section judges execution/non-execution according to a state of a contact point of the last sequence program stored in a conductive/non-conductive information storage section under an execution condition of an instruction decoded by the instruction decode section. After a data memory control section reads arithmetic data are read from a data memory or a sequence program memory when the execution condition is established and an arithmetic section executes arithmetic, the data memory control section provides control so as to write the arithmetic result into the data memory. When the execution condition is not established, the data memory control section provides control so as not to read/write the arithmetic data between the data memory and the arithmetic section. When the execution condition is not established, the data memory control section does not execute arithmetic so as to proceed to next instruction.Type: GrantFiled: November 29, 2000Date of Patent: October 26, 2004Assignee: Mitsubishi Denki Kabushiki KaishaInventors: Kazuaki Miyabe, Keiichi Akizuki
-
Patent number: 6804772Abstract: A microprocessor memory architecture including a read-only memory (ROM) with programmed microcode and a random access memory (RAM) capable of storing microcode and one or more data bits used for the selection of corresponding ROM or RAM microcode for execution. A multiplexer receives input signals from both the ROM microcode and RAM microcode, and a control signal which is one or more RAM data bits is used to select from the RAM or ROM microcode inputs for further execution by the microprocessor.Type: GrantFiled: March 21, 2001Date of Patent: October 12, 2004Assignee: Broadcom CorporationInventors: Sherman Lee, Vivian Y. Chou, John H. Lin
-
Patent number: 6779102Abstract: A data processor formed on a LSI chip has an instruction address generator, an instruction cache memory having entries each storing an instruction address and an instruction corresponding to the instruction address, an instruction decoder decoding an instruction from said cache memory corresponding to an instruction address from said instruction address generator, an operand address generator generating an operand address in response to an output signal of said instruction decoder, and an operand cache memory having entries each storing an operand address and operand data corresponding to the operand address in its entry. The data processor executes an instruction that makes entries in both of said instruction cache memory and said operand cache memory ineffective.Type: GrantFiled: June 22, 2001Date of Patent: August 17, 2004Assignee: Hitachi, Ltd.Inventors: Tadahiko Nishimukai, Atsushi Hasegawa, Kunio Uchiyama, Ikuya Kawasaki, Makoto Hanawa
-
Patent number: 6772276Abstract: Flash memory device capable of interpreting a write cycle and one or more subsequent write cycles as a generic command that includes one or more specific flash memory commands. The flash memory device includes a state machine capable of identifying the generic command, writing the specific flash memory commands to a buffer, and sequentially retrieving, interpreting and executing the buffered flash memory commands. The state machine can be configured as a microcontroller executing a state machine algorithm, and can be reprogrammed to correct design errors or to add new functionality to the flash memory device. The state machine algorithm can be stored in the flash memory device, and updated to interpret the same write cycle data in different ways. Accordingly, new functionality can be developed for the state machine long after its silicon has been designed and developed.Type: GrantFiled: January 4, 2002Date of Patent: August 3, 2004Assignee: Intel CorporationInventor: Lance Dover
-
Publication number: 20040133770Abstract: A reconfigurable control structure for CPUs comprises a first control unit with a first basic instruction set associated therewith, and a second control unit, with a second instruction set associated therewith. Associated with the second control unit is at least one programming element for rendering the second instruction set selectively modifiable. Also present is at least one circuit element for supplying instruction codes to be executed to the first control unit and to the second control unit, so that each instruction can be executed under the control of at least one between the first control unit or the second control unit according to whether the instruction is comprised in the first basic instruction set and/or in the second selectively modifiable instruction set.Type: ApplicationFiled: October 9, 2003Publication date: July 8, 2004Applicant: STMicroelectronics S.r.l.Inventors: Francesco Pappalardo, Agatino Pennisi
-
Patent number: 6754807Abstract: An apparatus for managing vertical dependencies between instructions in first and second instruction pipelines includes: 1) identifier (ID) reclaim circuitry for determining a sequential set of retired identifiers associated with retired instructions and for determining a next retire ID sequentially following the set; 2) first ID generation circuitry for sequentially assigning identifiers to destination registers associated with instructions entering the pipelines; 3) second ID generation circuitry associated with the first pipeline for identifying a first dependent source register associated with a first dependent source operand of a first instruction entering the first pipeline and assigning an ID of the first register to the first operand; and 4) instruction scheduling circuitry for comparing the first operand ID of the first instruction with the next retire ID and scheduling the first instruction for execution if the first operand ID is less than or equal to the next retire ID.Type: GrantFiled: August 31, 2000Date of Patent: June 22, 2004Assignee: STMicroelectronics, Inc.Inventors: Sivagnanam Parthasarathy, Alexander Driker
-
Patent number: 6742107Abstract: A table storing a state transition rule is arranged in a memory. By referencing the table based on input data, the process to be performed for the input data is determined and executed. Additionally, a process capability can be changed by altering a setting in this table. As a result, a data processing device that can perform the processes for general-purpose data, such as a stream data process, etc., at high speed, and can flexibly change a capability according to the circumstances.Type: GrantFiled: February 14, 2001Date of Patent: May 25, 2004Assignee: Fujitsu LimitedInventor: Akira Jinzaki
-
Patent number: 6732258Abstract: A processor supports instruction pointer (IP) relative addressing in at least one operating mode of the processor. For example, in some implementations, IP relative addressing is supported in an operating mode or modes in which the address size is greater than 32 bits (e.g. up to 64 bits). In some embodiments, the displacement may be limited to less than the address size (e.g. 32 bits, in one implementation) when such operating modes are active. Code density may be higher than if the displacements were expanded, and flexibility in the placement of variables in memory may be achieved. For example, static variables may be placed in memory with flexibility, and IP relative addressing may be used to locate the static variables.Type: GrantFiled: April 2, 2001Date of Patent: May 4, 2004Assignee: Advanced Micro Devices, Inc.Inventors: Kevin J. McGrath, David S. Christie
-
Publication number: 20040083354Abstract: In one embodiment, a method is provided. The method of this embodiment includes generating, by a processor that includes a plurality of processing engines capable of executing program instructions, a packet. The method of this embodiment also includes transmitting the packet to at least one of the processing engines. Additionally, the method of this embodiment also includes, in response, at least in part to receipt of the packet by the at least one of the processing engines, modifying at least in part, by the at least one of the processing engines, a set of program instructions that the at least one processing engine is capable of executing. Of course, many modifications, variations, and alternatives are possible without departing from this embodiment.Type: ApplicationFiled: October 24, 2002Publication date: April 29, 2004Inventors: Aaron R. Kunze, Erik J. Johnson, David M. Putzolu
-
Patent number: 6725364Abstract: A programmable integrated circuit can be designed to emulate, on demand, one of several commonly used microprocessors. It contains a configurable instruction processing unit and a superset datapath unit. The instruction processing unit further contains a configurable microcode unit and a non-configurable sequencing unit. The programmable integrated circuit can be programmed so that a microcode compatible with a target microprocessor is installed in the configurable microcode unit. The superset datapath unit is a superset of the datapath elements of all the target microprocessors.Type: GrantFiled: March 8, 2001Date of Patent: April 20, 2004Assignee: Xilinx, Inc.Inventor: Eric J. Crabill
-
Patent number: 6708235Abstract: A plurality of modems or modem types can run on a host processor, a digital signal processor or both, either concurrently or selectively. Modules of more than one modem program can be swapped in and out of DSP memory space. Common modem code can be run on either a host processor or on a DSP using respective command libraries.Type: GrantFiled: January 31, 2002Date of Patent: March 16, 2004Assignee: Intel CorporationInventors: David Pearce, Wesley Smith, Karl Nordling, Amir Hindie, Karl Leinfelder, Sebastian Gracias, Jim Beaney
-
Patent number: 6684323Abstract: The present invention utilizes a “virtual” condition code (VCC) which can control the instruction sequence in a microprocessor. The virtual condition code is stored in an internal, non-architected register that is not visible to the programmer, but is used by various microprocessor instructions to determine when a branch is to be taken. For example, the virtual condition code can be used as a condition for branching out of a series of repetitive instructions. The virtual condition code (VCC) can eliminate a portion of the processing overhead used when determining whether a sequential number, such as a count value in a register associated with a repetitive instruction, e.g. a LOOP, is zero. In accordance with one aspect of the present invention, a LOOP instruction will decrement a count value in a register (to maintain compatibility with the ISA).Type: GrantFiled: October 27, 1998Date of Patent: January 27, 2004Assignee: STMicroelectronics, Inc.Inventor: Naresh H. Soni
-
Patent number: 6629192Abstract: In one embodiment, the invention is an apparatus. The apparatus includes a BIOS embodied in a non-volatile storage device. The apparatus also includes a non-volatile storage manager embodied in the non-volatile storage device, the non-volatile storage manager controlling access to a portion of the BIOS.Type: GrantFiled: December 30, 1999Date of Patent: September 30, 2003Assignee: Intel CorporationInventors: Joseph A. Schaefer, Dave Edwards, Kirk Brannock, William J. Chalmers
-
Patent number: 6625725Abstract: A speculative code reuse mechanism includes a reuse buffer, a main processing core and a reuse checking core. The reuse buffer includes inputs and outputs of previously executed instances of code reuse regions. Aliased reuse regions are regions that access memory locations that may change between executions of the region. When an aliased code reuse region is encountered and a matching instance exists in the reuse buffer, the main core speculatively executes code occurring after the reuse region, while the reuse checking core executes code from the reuse region to verify the matching instance. If the matching instance is verified, the speculative execution is committed, and if the matching instance is not verified, the speculative execution is squashed.Type: GrantFiled: December 22, 1999Date of Patent: September 23, 2003Assignee: Intel CorporationInventors: Youfeng Wu, Jesse Fang
-
Patent number: 6606704Abstract: A parallel hardware-based multithreaded processor is described. The processor includes a general purpose processor that coordinates system functions and a plurality of microengines that support multiple hardware threads. The processor also includes a memory control system that has a first memory controller that sorts memory references based on whether the memory references are directed to an even bank or an odd bank of memory and a second memory controller that optimizes memory references based upon whether the memory references are read references or write references.Type: GrantFiled: August 31, 1999Date of Patent: August 12, 2003Assignee: Intel CorporationInventors: Matthew J. Adiletta, Gilbert Wolrich, William Wheeler
-
Patent number: 6574747Abstract: A system implementing an execute-in-place (XIP) architecture is presented comprising a plurality of XIP regions. To facilitate execute-in-place functionality across the multiple XIP regions, a virtual address table (VAT) is generated to store pointers to the objects stored in the non-volatile memory hosting the multiple XIP regions.Type: GrantFiled: December 5, 2000Date of Patent: June 3, 2003Assignee: Microsoft CorporationInventor: Michael Ginsberg
-
Patent number: 6560698Abstract: A microcontroller provides a register change summary resource for summarizing register changes. Selected system registers within each resource are coupled to bits in resource change registers of the register change summary resource using logic that tracks accesses to the system registers. Each resource change register is coupled to a bit in a summary register. For systems with numerous system registers, each summary register may be coupled to a bit in a higher-level summary register. The register change summary resource further provides a software-controlled bit mask register. A change in a summary or resource change register may trigger a processor interrupt. Each register in the register change summary resource can be reset, also under software control. The registers within the register change summary resource are accessible through a dedicated software development port.Type: GrantFiled: May 7, 1999Date of Patent: May 6, 2003Assignee: Advanced Micro Devices, Inc.Inventor: Daniel P. Mann
-
Patent number: 6535984Abstract: A method of optimizing assembly code of a VLIW processor (10) or other processor that uses multiple-instruction words (20), each of which comprise instructions to be executed on different functional units (11d and 11e) of the processor (10). The instruction words (20) are modified, by modifying NOP instructions to minimize bit changes from cycle to cycle in the machine code. Specifically, a NOP is replaced with a proxy NOP, whose syntax is the same as an adjacent instruction but that is treated as a NOP. This modification results in reduced power dissipation.Type: GrantFiled: October 8, 1999Date of Patent: March 18, 2003Assignee: Texas Instruments IncorporatedInventor: Linda L. Hurd
-
Patent number: 6460129Abstract: A pipeline operation method and a pipeline operation device in which an operation result of an operation unit can be effectively written to a register. In the pipeline operation method and the pipeline operation device, a pipeline operation unit that can perform a pipeline operation, a non-pipeline operation unit that cannot perform a pipeline operation, and a register that is shared by the pipeline operation unit and the non-pipeline operation unit are arranged. To perform an operation while an operation result of each of the pipeline units is being written into the register, translating an instruction to the pipeline operation unit is interlocked when the writing of the operation result of the pipeline operation unit overlaps with the writing of the operation result of the non-pipeline operation unit.Type: GrantFiled: October 21, 1997Date of Patent: October 1, 2002Assignee: Fujitsu LimitedInventors: Shinichi Moriwaki, Masahiro Yanagida, Shuntaro Fujioka, Hidenobu Ohta
-
Patent number: 6442672Abstract: The invention is a processing method and a processor architecture which contains multiple processors on the same silicon but which does not make a fixed compromise by statically assigning processing units to the processors but rather dynamically assigns such processing units so that they may be efficiently shared. The invention may provide the same functionality as was obtained with static allocation, and may be implemented on a single chip with much lower area for the same level of performance. The preferred architecture uses a mode bit that may be programatically set for passing control from a general purpose instruction decoder to a finite state machine. The preferred architecture further includes a multiplexer that uses the mode bit as its selection input.Type: GrantFiled: September 30, 1998Date of Patent: August 27, 2002Assignee: Conexant Systems, Inc.Inventor: Kumar Ganapathy
-
Patent number: 6427207Abstract: An apparatus is presented for expediting the execution of dependent micro instructions in a pipeline microprocessor having design characteristics-complexity, power, and timing—that are not significantly impacted by the number of stages in the microprocessor's pipeline. In contrast to conventional result distribution schemes where an intermediate result is distributed to multiple pipeline stages, the present invention provides a cache for storage of multiple intermediate results. The cache is accessed by a dependent micro instruction to retrieve required operands. The apparatus includes a result forwarding cache, result update logic, and operand configuration logic. The result forwarding cache stores the intermediate results. The result update logic receives the intermediate results as they are generated and enters the intermediate results into the result forwarding cache.Type: GrantFiled: July 20, 2001Date of Patent: July 30, 2002Assignee: I.P. First L.L.C.Inventors: Gerard M. Col, G. Glenn Henry
-
Patent number: 6427202Abstract: An embeddable microcontroller is provided. The microcontroller has program memory for storing instructions. An instruction decoder feteches instructions, decodes them, and forwards them to an enabler. The enabler checks a status bit or consults a pre-defined lookup table to determine whether the instruction at hand should be executed. If the status bit is set to ENABLE, or the instruction appears on a list of enabled instructions, the decoded instruction is forwarded to the central processing unit for execution. Otherwise, if the status bit is set to DISABLE, or the decoded instruction does not appear on the pre-defined list of enabled instructions, then the instruction is not forwarded to the central processing unit, effectively disabling the instruction.Type: GrantFiled: May 4, 1999Date of Patent: July 30, 2002Assignee: Microchip Technology IncorporatedInventors: David Alan Richardson, Rodney Jay Drake
-
Patent number: 6374312Abstract: A plurality of modems or modem types can run on a host processor, a digital signal processor or both, either concurrently or selectively. Modules of more than one modem program can be swapped in and out of DSP memory space. Common modem code can be run on either a host processor or on a DSP using respective command libraries.Type: GrantFiled: September 25, 1998Date of Patent: April 16, 2002Assignee: Intel CorporationInventors: David Pearce, Wesley Smith, Karl Nordling, Amir Hindie, Karl Leinfelder, Sebastian Gracias, Jim Beaney
-
Patent number: 6363474Abstract: In a data processing system that includes a safe store buffer containing valid copies of all registers, processor transitions from a higher security routine to a lower security routine can be performed in fewer cycles by utilizing a plurality of sets of registers maintained in a round-robin system. Whenever a transition is made to a higher security environment, a switch is made to a different set of registers. Then, when a transition is made back to the lower security environment, a switch is made back to the previous set of registers. Writes to memory copies of registers are detected, and only those registers whose memory copies have been modified are restored from the memory copy.Type: GrantFiled: June 30, 1999Date of Patent: March 26, 2002Assignee: Bull HN Information Systems Inc.Inventors: Lowell McCulley, Charles Ryan, Ronald Yoder
-
Patent number: 6341346Abstract: A method is disclosed for comparing a pattern sequence with a variable length key. A first bit of this sequence is identified by a pointer, the length and the location of the key are identified by a code word (W, S), the method includes a preliminary step of identifying the sequence and then performing a comparison with the variable length key.Type: GrantFiled: February 5, 1999Date of Patent: January 22, 2002Assignee: Cisco Technology, Inc.Inventors: Alain Benayoun, Jean-Francois Le Pennec, Patrick Michel, Claude Pin
-
Patent number: 6338136Abstract: An apparatus and method are provided for executing a compare-and-jump operation in a pipeline microprocessor. Typically, the compare-and-jump operation is specified by two micro instructions. The first micro instruction, an ALU micro instruction, directs the microprocessor to perform an ALU operation, resulting in update of a flags register. The second micro instruction, a conditional jump micro instruction, directs the microprocessor to examine the flags register and to branch program control to a target address if a prescribed condition is met. The apparatus has a jump combiner that detects the ALU micro instruction and the conditional jump micro instruction in a micro instruction queue. The jump combiner indicates the prescribed condition for the conditional branch in a field of the ALU micro instruction, and then deletes the conditional jump micro instruction from the queue. The apparatus also has execution logic that performs the ALU operation, generates the result, and updates the flags register.Type: GrantFiled: May 18, 1999Date of Patent: January 8, 2002Assignee: IP-First, LLCInventors: Gerard M. Col, Rodney E. Hooker
-
Publication number: 20010052066Abstract: A microprocessor memory architecture including a read-only memory (ROM) with programmed microcode and a random access memory (RAM) capable of storing microcode and one or more data bits used for the selection of corresponding ROM or RAM microcode for execution. A multiplexer receives input signals from both the ROM microcode and RAM microcode, and a control signal which is one or more RAM data bits is used to select from the RAM or ROM microcode inputs for further execution by the microprocessor.Type: ApplicationFiled: March 21, 2001Publication date: December 13, 2001Inventors: Sherman Lee, Vivian Y. Chou, John H. Lin
-
Patent number: 6317803Abstract: A high throughput memory access port is provided. The port includes features which provide higher data transfer rates between system memory and video/graphics or audio adapters than is possible using standard local bus architectures, such as PCI or ISA. The port allows memory read and write requests to be pipelined in order to hide the effects of memory access latency. In particular, the port allows bus transactions to be performed in either a non-pipelined mode, such as provided by PCI, or in a pipelined mode. In the pipelined mode, one or more additional memory access requests are permitted to be inserted between a first memory access request and its corresponding data transfer. In contrast, in the non-pipelined mode, an additional memory access request cannot be inserted between a first memory access request and its corresponding data transfer.Type: GrantFiled: September 27, 1996Date of Patent: November 13, 2001Assignee: Intel CorporationInventors: Norman J. Rasmussen, Gary A. Solomon, David G. Carson, George R. Hayek, Brent S. Baxter, Colyn Case
-
Patent number: 6308256Abstract: A CPU is provided with an ability to modify its operation in accordance with an encryption key. When a program is compiled, the program is modified in order that execution may be performed with the CPU with its operation modified. As a result, it is unnecessary to decrypt the program into standard op codes prior to execution. The keyed program operation permits secure transfer of program data through open channels such as the Internet. A programmable instruction decoder programmable decodes encrypted instruction op codes, without decrypting them into standard op codes. Logic is used to accomplish network handshaking. The network handshaking further used to provide additional key information for continued operation the CPU.Type: GrantFiled: August 18, 1999Date of Patent: October 23, 2001Assignee: Sun Microsystems, Inc.Inventor: Alan Folmsbee
-
Patent number: 6301651Abstract: The present invention provides a stack machine for executing a plurality of instructions one by one. The stack machine comprises an operation folder and an execution unit. The operation folder is used for checking if one or more instructions of a predetermined number of instructions following a specific instruction in a predetermined sequence can be folded with the specific instruction according to a POC folding rule. If they are foldable, these instructions will be combined to form a new instruction. The execution unit is used for executing instructions which cannot be folded by the operation folder or new instructions generated by the operation folder one by one. The instructions are folded to enhance operation efficiency of the stack machine.Type: GrantFiled: June 28, 1999Date of Patent: October 9, 2001Assignee: Industrial Technology Research InstituteInventors: Lung-Chung Chang, Lee-Ren Ton, Min-Fu Kao, Chung-Ping Chung
-
Patent number: 6292888Abstract: A processing system has an instruction processor (IP), register files for storing data to be processed by the IP, such as a thread context, and a register transfer unit (RTU) connected to the register files and to the IP. Register files may assume different states, readable and settable by both the RTU and the IP. The IP and the RTU assume control of register files and perform their functions partially in response to states for the register files, and in releasing register files after processing, set the states. The invention is particularly applicable to multistreamed processors, wherein more register files than streams may be implemented, allowing for at least one idle register file in which to accomplish background loading and unloading of data. The invention is also particularly applicable to processing systems dealing with real-time phenomena, such as data packet processing in network routers.Type: GrantFiled: January 27, 1999Date of Patent: September 18, 2001Assignee: Clearwater Networks, Inc.Inventors: Mario D. Nemirovsky, Adolfo M. Nemirovsky, Narendra Sankar
-
Patent number: 6266767Abstract: A processor (100) includes a preload queue (160) for storing a plurality of preload entries. Each preload entry is associated with a preload instruction and includes the address and byte count defined by the respective preload and an identifier associated with the respective preload. A comparison unit (170) associated with the preload queue (160) identifies each conflicting preload entry, that is, each preload entry associated with a preload instruction that conflicts with an older store instruction. The oldest preload instruction associated with one of the conflicting preload entries represents a target preload. The processor (100) may flush this target preload along with all instructions executed after the target preload in order to correct for the conflict between the target preload and store instruction.Type: GrantFiled: April 22, 1999Date of Patent: July 24, 2001Assignee: International Business Machines CorporationInventors: Kurt Alan Feiste, John Stephen Muhich, Steven Wayne White
-
Patent number: 6263425Abstract: A hardware semaphore is one bit wide. A first hardware circuit detects one of the processes is writing a new value to the semaphore and forces the hardware semaphore to the new value written. A plurality of second hardware circuits are provided. Each second hardware circuit is associated with a separate one of the plurality of processes. Each of the particular second hardware circuit includes a detecting circuit that detects the processor with which the particular second hardware circuit is associated is attempting to write the new value to the semaphore. A circuit responsive to the detecting circuit provides the current value of the semaphore, before the write, to an output of the second particular hardware circuit.Type: GrantFiled: July 8, 1997Date of Patent: July 17, 2001Assignee: National Semiconductor CorporationInventor: Ohad Falik
-
Patent number: 6260080Abstract: A notebook computer for stably operating a floppy disk drive, includes: a floppy disk drive for writing or reading information to or from a floppy disk according to predetermined control signals; a motherboard having a controller generating control signals for controlling reading and writing data from and to the floppy disk drive, the controller being mounted on the motherboard, the floppy disk drive driving the floppy disk according to the control signals transmitted from the controller; and a connection unit for transmitting the control signals and power supply potentials from the controller to the floppy disk drive, the connection unit being physically and electrically disposed between the motherboard and the floppy disk drive. The connection unit includes a pull-up device disposed between terminals connected to the control signals and one of the power supply potentials.Type: GrantFiled: October 13, 1998Date of Patent: July 10, 2001Assignee: SamSung Electronics Co., Ltd.Inventor: Sun-kuil Kim
-
Patent number: 6237080Abstract: A computer having a reduced instruction computer (RISC) architecture has a RISC central processing unit (CPU)(1) coupled to a RAM memory (3) and to a flash ROM memory (4). A set of compressed operating instructions (6,8), including a subset defining a compression method (8), are stored in the flash ROM (4) together with a set of uncompressed instructions (7) defining a compression algorithm. Upon booting of the computer, the uncompressed instructions (7) are read from the ROM (4) by the CPU (1) which then also reads the compressed instructions (6,8), decompresses them according to the decompression process (7), and writes the decompressed instructions (6′,8′) to the RAM (3). The compressed instructions (6,8) can be dynamically altered by the CPU (1), by generating an altered set of uncompressed instructions, compressing these in accordance with the now decompressed compression method (8′), and writing these to the flash ROM (4).Type: GrantFiled: September 28, 1998Date of Patent: May 22, 2001Assignee: Nokia Mobile Phones Ltd.Inventor: Rauno Mäkinen
-
Patent number: 6233657Abstract: An apparatus for performing speculative stores is provided. The apparatus reads the original data from a cache line being updated by a speculative store, storing the original data in a restore buffer. The speculative store data is then stored into the affected cache line. Should the speculative store later be canceled, the original data may be read from the restore buffer and stored into the affected cache line. The cache line is thereby returned to a pre-store state. In one embodiment, the cache is configured into banks. The data read and restored comprises the data from one of the banks which comprise the affected cache line. Instead of forwarding store data to subsequent load memory accesses, the store is speculatively performed to the data cache and the loads may subsequently access the data cache. Dependency checking between loads and stores prior to the speculative performance of the store may stall the load memory access until the corresponding store memory access has been performed.Type: GrantFiled: September 17, 1999Date of Patent: May 15, 2001Assignee: Advanced Micro Devices, Inc.Inventors: H. S. Ramagopal, Rajiv M. Hattangadi
-
Patent number: 6163821Abstract: A computer method and apparatus causes the load-store instruction grouping in a microprocessor instruction pipeline to be disrupted at appropriate times. The computer method and apparatus employs a memory access member which periodically stalls the issuance of store instructions when there are prior store instructions pending in the store queue. The periodic stalls bias the issue stage to issue load groups and store instruction groups. In the latter case, the store queue is free to update the data cache with the data from previous store instructions. Thus, the invention memory access member biases issuance of store instructions in a manner that prevents the store queue from becoming full, and as such enables the store queue to write to the data cache before the store queue becomes full.Type: GrantFiled: December 18, 1998Date of Patent: December 19, 2000Assignee: Compaq Computer CorporationInventors: James B. Keller, Richard E. Kessler, Stephen C. Root, Paul Geoffrey Lowney
-
Patent number: 6154834Abstract: An electronic system and a processing unit supporting a flexible microcode space and Basic Input/Output System (BIOS) space. The electronic system features a first circuit board having a connector interconnected to a processing unit. The processing unit includes a second circuit board having an embedded controller and an on-substrate memory. The non-substrate memory is coupled to the embedded controller via a communication line routed through or placed on the second circuit board. In one embodiment, during a boot procedure and upon executing an instruction requesting data to be obtained from the on-substrate memory, the embedded controller obtains at least one microcode instruction from the on-substrate memory via the communication line.Type: GrantFiled: May 27, 1997Date of Patent: November 28, 2000Assignee: Intel CorporationInventors: James Neal, David Mullane, Bernardo Ortiz
-
Patent number: 6105125Abstract: A microcode based decoder circuit for microprocessors that uses fast access tables to decode instructions. The pointers to the tables are generated directly from the instruction prefetch buffers. Information bits about the instruction are added to the tables at no extra cost and enable the faster decode of the instruction. The present invention includes the decode of an instruction using an entry ROM, which contains information regarding the instruction that can directly be used in generating the decoder outputs. This information is also used in selecting the correct ROM entry, thus enhancing the flexibility of the decoder, and to dynamically generate a generic microcode entry. Thus, microcode space requirements are reduced. A generic microcode instruction is used for commonly used, similar macroinstructions. This avoids duplication of microcode instructions and thus reduces the required microcode space.Type: GrantFiled: November 12, 1997Date of Patent: August 15, 2000Assignee: National Semiconductor CorporationInventors: Mario Nemirovsky, Shailaja Chenumalla
-
Patent number: 6081888Abstract: An adaptive computing device includes a processing unit connected to receive instructions for execution and a random access memory storing microcode for access by the processing unit to carry out steps for executing the instructions. The microcode is loaded into the random access memory from a source of microcodes tailored for efficient execution of the instructions received by the processing unit. The adaptive computing unit may further include control logic responsive to the instructions for execution to request a loading of microcode into the random access memory from the source of microcodes. The adaptive computing unit may further include control logic responsive to signals generated external to the computing unit to request loading of microcode into the random access memory from the source of microcodes.Type: GrantFiled: August 21, 1997Date of Patent: June 27, 2000Assignee: Advanced Micro Devices Inc.Inventors: Russell W. Bell, Sherman Lee, Paul R. Teich, Yan Zhou
-
Patent number: 6032248Abstract: A microcontroller having a special function register to internally select between internal memory and external memory on the fly. Two data pointers in conjunction with the special function register result in four effective quick reference locations. The internal memory consists of one memory module having its array subdivided into a data memory store and a code memory store, and having a bank of pass devices to selectively isolate the code memory store from the data memory store. The present memory can further support concurrent writing to the data memory store while reading from the code memory store. This is done through one of two memory embodiments. In a first memory embodiment two y-decoders are used; a first y-decoder adjacent the code memory store and a second y-decoder adjacent the data memory store. When a simultaneous read/write instruction is started, the outputs from the second y-decoder and an x-decoder are latched.Type: GrantFiled: April 29, 1998Date of Patent: February 29, 2000Assignee: Atmel CorporationInventors: Duncan Curry, Arthur Y. Yu, Tsung D. Mok
-
Patent number: 6006286Abstract: A packet control list (456) controls the transfer of data packets between at least one source location (452) and at least one destination location (460) each associated with a data packet transfer device (20). Packet control list (456) associates a plurality of data packet transfer control instructions (454) in a sequential list (466) including a plurality of logical functions (472) for controlling logical operations relating to the transfer of data packets from at least one source location (452) to at least one destination location (460). Instructions (486) control the operation of data packet transfer device (20) according to instructions (486).Type: GrantFiled: March 6, 1997Date of Patent: December 21, 1999Assignee: Texas Instruments IncorporatedInventors: Richard T. Baker, Randall E. Pipho
-
Patent number: 5900025Abstract: A processor is provided with a number of control registers logically organized in a hierarchical manner. At the highest level is a set of control registers for controlling the overall system. At the second highest level are multiple sets of control registers for controlling concurrent execution of processes in multiple contexts. At the third highest level are multiple sets of control registers for controlling concurrent execution of multiple process threads for each of the concurrently executing contexts. Besides modifications resulting from the normal course of instruction execution, the control registers are directly accessible and modifiable using instructions of the standard instruction set. Each context/thread is assigned a variable privilege level for accessing and modifying control registers at the various levels. The instruction fetch unit is enhanced to dispatch instructions with appended context and tag identifications.Type: GrantFiled: September 12, 1995Date of Patent: May 4, 1999Assignee: ZSP CorporationInventor: Donald L. Sollars