Predecoding Of Instruction Component Patents (Class 712/213)
-
Publication number: 20040054874Abstract: A data processing device capable of high speed operation and shorter instruction processing time without causing software compatibility problems. When storing an instruction from the memory into the instruction cache memory and the instruction possesses a spare field, the instruction code of that instruction is predecoded in the predecode-processor and the information generated is stored in the spare field corresponding area of the instruction cache memory. When that instruction is fetched from the instruction cache memory, the information stored in the spare field corresponding area of the instruction cache memory is utilized. In this way, processing can proceed based on the predecoded information without having to await the completion of decoding of the instruction fetched from the instruction cache memory.Type: ApplicationFiled: July 7, 2003Publication date: March 18, 2004Inventors: Takehiro Shimizu, Fumio Arakawa
-
Patent number: 6704860Abstract: A data processing system and method of fetching instructions in a data processing system are described. The data processing system includes at least one execution unit that executes fetched instructions and instruction sequencing logic that fetches instructions from memory. In response to detection of a particular instruction trigger within an instruction stream, the instruction sequencing logic fetches one or more non-sequential blocks of instructions from memory, where each of the non-sequential blocks includes a plurality of instructions.Type: GrantFiled: July 26, 2000Date of Patent: March 9, 2004Assignee: International Business Machines CorporationInventor: Charles Robert Moore
-
Publication number: 20040039897Abstract: A high cost-performance data processing device and electronic equipment are capable of executing an instruction set including a prefix instruction without increasing the circuit scale. The data processing device of the present invention performs pipeline control and includes a fetch circuit which fetches instruction codes of a plurality of instructions in instruction queues, a prefix instruction decoder circuit which performs a decode processing only on a prefix instruction, the prefix instruction decoder circuit receiving the instruction code before decoding, judging whether or not the instruction is a given prefix instruction, and causing a target instruction modifying information register to store information necessary for decoding a target instruction when the instruction is the given prefix instruction, and a decoder circuit which receives each of the instruction codes of the instructions other than the prefix instruction as a decode instruction and decodes the decode instruction.Type: ApplicationFiled: June 20, 2003Publication date: February 26, 2004Applicant: SEIKO EPSON CORPORATIONInventor: Makoto Kudo
-
Publication number: 20040024990Abstract: A processor (e.g., a co-processor) comprising a decoder adapted to decode instructions from a first instruction set in a first mode and a second instruction set in a second mode. A pre-decoder coupled to the decoder, and operates in parallel with the decoder, determines if subsequent instructions switches the decoder from one mode to the other temporarily or permanently. In particular, the pre-decoder examines at least five Bytecodes concurrently with the decoder decoding a current instruction from a particular instruction set. If the pre-decoder determines that at least one of the five Bytecodes includes a predetermined instruction, the predetermined instruction is skipped and a following instruction is loaded into the decode logic and the decode logic switches from one mode to the other for the decoding of at least the following instruction.Type: ApplicationFiled: July 31, 2003Publication date: February 5, 2004Applicant: Texas Instruments IncorporatedInventors: Gerard Chauvel, Serge Lasserre, Dominique D'Inverno
-
Patent number: 6687806Abstract: An apparatus and method for generating 64 bit displacement and immediate values. In a given processor architecture such as the x86 architecture, instructions may conform to a specified instruction format. The instruction format can include a displacement field and an immediate field. The displacement field can include a displacement value of up to 32 bits and the immediate field can include an immediate value of up to 32 bits. In order to generate 64 bit displacement and immediate values, the 32 bit value from the displacement field of an instruction and the 32 bit value from the immediate field of the instruction may be concatenated to generate a 64 bit concatenated value. The concatenated value may be used by an execution core as a 64 bit displacement or immediate value as specified by the instruction.Type: GrantFiled: June 15, 2000Date of Patent: February 3, 2004Assignee: Advanced Micro Devices, Inc.Inventor: Kevin J. McGrath
-
Patent number: 6684320Abstract: An apparatus and method for issue grouping of instructions in a VLIW processor is disclosed. There can be one, two, or three issue groups (but no greater than three issue groups) in each VLIW packet. In one embodiment, a template in the VLIW packet comprises two issue group end markers where each issue group end marker comprises three bits. The three bits in the first issue group end marker identifies the instruction which is the last instruction in the first issue group. Likewise, the three bits in the second issue group end marker identifies the instruction which is the last instruction in the second issue group. Any instructions in the VLIW packet falling outside the two expressly defined first and second issue groups are placed in a third issue group. As such, three issue groups can be identified by use of the two issue group end markers. In one embodiment, the template of the VLIW packet includes a chaining bit.Type: GrantFiled: February 28, 2002Date of Patent: January 27, 2004Assignee: Mindspeed Technologies, Inc.Inventors: Moataz A Mohamed, Chien-Wei Li, John R. Spence
-
Patent number: 6671797Abstract: A data processing system is provided with a digital signal processor which has an instruction for expanding one bit to form a mask field. In one form of the instruction, a first bit from a two-bit mask in a source operand is replicated and placed in an least significant half word of a destination operand while a second bit from the two-bit mask in the source operand is replicated and placed in a most significant half word of the destination operand. In another form of the instruction, a first bit from a four bit mask in a source operand is replicated and placed in a least significant byte of a destination operand, a second bit from the four-bit mask in the source operand is replicated and placed in a second least significant byte of the destination operand, a third bit from the four-bit mask is replicated and placed in a second most significant byte of the destination operand and a fourth bit form the four-bit mask is replicated and placed in a most significant byte of the destination operand.Type: GrantFiled: October 31, 2000Date of Patent: December 30, 2003Assignee: Texas Instruments IncorporatedInventor: Jeremiah E. Golston
-
Patent number: 6658556Abstract: A processor includes execution resources, data storage, and an instruction sequencing unit, coupled to the data storage and the execution resources, that supplies instructions within the data storage to the execution resources. The execution resources include a plurality of load-store units that each process only instructions that access data having associated addresses within a respective one of a plurality of subsets of an address space. The load-store units can have diverse hardware such that a maximum number of instructions that can be concurrently executed is different for different load-store units or such that some of the load-store units are restricted to executing certain classes of instructions.Type: GrantFiled: July 30, 1999Date of Patent: December 2, 2003Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, Leo James Clark, John Steve Dodson, Guy Lynn Guthrie, Jerry Don Lewis
-
Patent number: 6654874Abstract: Microcomputer systems include an instruction processor therein that can process both normal length instructions and compressed instructions. The normal length instructions and the compressed instructions are provided from memory to an instruction register and then passed through decoding circuitry to a processor core. The decoding circuitry preferably comprises a demultiplexer having a data input that receives a first multi-bit instruction from the instruction register and a select input that receives a first select signal (SEL1). A compressed instruction decoder is also provided. The compressed instruction decoder has a data input electrically coupled to a first data output of the demultiplexer and a select input that receives a second select signal (SEL2). A multiplexer is also provided.Type: GrantFiled: March 27, 2000Date of Patent: November 25, 2003Assignee: Samsung Electronics Co., Ltd.Inventor: Yun-Tae Lee
-
Patent number: 6654873Abstract: A processor apparatus which reduces an overhead at the time of switching processing modules and efficiently performs desired processing at a high speed, wherein desired processing is performed by prefetching a series of instructions by a main program prefetcher, pre-decoding the same by a pre-decoder, and supplying the same to a decoder and execution unit via a multiplexer. When an instruction to execute a macro command is detected in the pre-decoder, the instructions of the macro command are prefetched by a macro program prefetcher and pre-decoded in the pre-decoder. As a result, when branching to a macro command, the instructions of the macro command can be immediately supplied to an execution unit only by switching the multiplexer.Type: GrantFiled: January 7, 2000Date of Patent: November 25, 2003Assignee: Sony CorporationInventor: Tomohiko Kadowaki
-
Patent number: 6633969Abstract: An apparatus and method for translating variable-length instructions to fixed-length instructions. The apparatus includes instruction decompression logic and caching logic. The instruction decompression logic receives a first portion of an instruction data block, an output signal produced by the caching logic, and a control signal during a time period. The instruction decompression logic produces a fixed-length instruction during the time period dependent upon the first portion of the instruction data block, the output signal produced by the caching logic, and the control signal. The caching logic includes a storage unit. During the time period, the caching logic receives a second portion of the instruction data block and the control signal. The caching logic stores the second portion of the instruction data block within the storage unit during the time period dependent upon the control signal.Type: GrantFiled: August 11, 2000Date of Patent: October 14, 2003Assignee: LSI Logic CorporationInventor: Shuaibin Lin
-
Patent number: 6631459Abstract: An apparatus includes an instruction word storage for storing a plurality of general instruction words and extended instruction words, a temporary storage unit including a plurality of buffers for pre-fetching and storing the plurality of instruction words from the instruction word storage, an instruction word search unit for receiving and decoding the plurality of instruction words pre-fetched and outputting a position signal of a general instruction word and the positions of one or more successive extended instruction words stored in the temporary storage a selector for selecting a buffer in which a general instruction word is stored and outputting the general instruction word sequentially, according to the position signal a general instruction word parser for receiving a general instruction word from the selector and outputting a plurality of control signals for executing the general instruction word simultaneously, an extended data parser is provided for performing an operational processing of operands ofType: GrantFiled: August 24, 2000Date of Patent: October 7, 2003Assignee: Asia Design Co., Ltd.Inventors: Kyung Youn Cho, Jong Yoon Lim, Geun Taek Lee, Hyeong Cheol Oh, Hyun Gyu Kim, Byung Gueon Min, Heui Lee
-
Publication number: 20030182535Abstract: A processor apparatus which reduces an overhead at the time of switching processing modules and efficiently performs desired processing at a high speed, wherein desired processing is performed by prefetching a series of instructions by a main program prefetcher, pre-decoding the same by a pre-decoder, and supplying the same to a decoder and execution unit via a multiplexer. When an instruction to execute a macro command is detected in the pre-decoder, the instructions of the macro command are prefetched by a macro program prefetcher and pre-decoded in the pre-decoder. As a result, when branching to a macro command, the instructions of the macro command can be immediately supplied to an execution unit only by switching the multiplexer.Type: ApplicationFiled: January 7, 2000Publication date: September 25, 2003Inventor: TOMOHIKO KADOWAKI
-
Patent number: 6609191Abstract: An apparatus and method are provided for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor and subsequently splitting the paired micro instructions in the same clock cycle as the pairing if a resource conflict or operand dependency is detected. The apparatus includes multiplexing logic that feeds back a second of a pair of micro instructions stored in an instruction register back into the instruction register for sequential execution after the first micro instruction if a translator detects late in the clock cycle that a resource conflict or operand dependency exists. An instruction pair indicator is provided along with the pair of micro instructions down to the execution stages to inform the execution stages whether the second micro instruction is valid for parallel execution with the first micro instruction. The method may also be used in conjunction with a micro instruction queue.Type: GrantFiled: March 7, 2000Date of Patent: August 19, 2003Assignee: IP-First, LLCInventors: Rodney E. Hooker, Dinesh K. Jain, Terry Parks
-
Patent number: 6598154Abstract: A method of reducing the branch penalty in a microprocessor includes predecoding the instruction to determine whether an instruction is a branch, the length of the instruction, and prediction marker information for the instruction should it be a branch. The target of the branch is relayed to the align stage of the microprocessor to readjust the read pointer to point to the target of the branch if the instruction is a branch. An apparatus for reducing the branch penalty in a microprocessor includes a branch predecode and taken resolution unit which determines whether an instruction is a predicted taken branch, and relays that information to the align stage of the microprocessor to deliver the target of the branch to the align stage as early as possible.Type: GrantFiled: December 29, 1998Date of Patent: July 22, 2003Assignee: Intel CorporationInventors: Kushagra Vaid, Frederick R. Gruner
-
Patent number: 6591343Abstract: An apparatus and method are provided for determining initial information about a macro instruction prior to decoding of the macro instruction by translation logic within a pipeline microprocessor. The apparatus includes an instruction cache divided into a number of cache ways, each of the cache ways storing a number of cache lines that have been retrieved from memory. As a linear address within a next instruction pointer is provided to retrieve a the macro instruction from the cache, indexed cache lines from each of the cache ways are predecoded by predecode logic. Predecoding is performed in parallel with translation of the linear address to a physical address by translation lookaside buffer logic. The bytes of the indexed cache lines, along with corresponding predecode information fields, are provided to way selection logic.Type: GrantFiled: February 22, 2000Date of Patent: July 8, 2003Assignee: IP-First, LLCInventors: Gerard M. Col, G. Glenn Henry, Terry Parks
-
Patent number: 6578134Abstract: A branch resolution logic for an in-order processor is provided which scans the stages of processor pipeline to determine the oldest branch instruction having sufficient condition codes for resolution. The stages are scanned in order from the latter stages to the earlier stages, which allows quick and simple branch resolution. Therefore, because branches are resolved as soon as the necessary condition codes are generated in a specific stage, branch mispredict penalties are minimized.Type: GrantFiled: November 29, 1999Date of Patent: June 10, 2003Assignee: ATI International SRLInventors: Korbin Van Dyke, Niteen Patkar, Shalesh Thusoo, TR Ramesh
-
Patent number: 6560694Abstract: A processor supports an operating mode in which the default address size is greater than 32 bits and the default operand size is 32 bits. The default address size may be nominally indicated as 64 bits, although various embodiments of the processor may implement any address size which exceeds 32 bits, up to and including 64 bits, in the operating mode. The operating mode may be established by placing an enable indication in a control register into an enabled state and by setting a first operating mode indication and a second operating mode indication in a segment descriptor to predefined states. Additionally, a first instruction prefix may be coded into an instruction to override the default operand size to a first non-default operand size (e.g. 64 bits). Furthermore, a second instruction prefix may be coded into an instruction in addition to the first instruction prefix to override the default operand size to a second non-default operand size (e.g. 16 bits).Type: GrantFiled: January 14, 2000Date of Patent: May 6, 2003Assignee: Advanced Micro Devices, Inc.Inventors: Kevin J. McGrath, James B. Keller
-
Publication number: 20030079114Abstract: Each of registers R0 to R31 is divided into the upper 32-bit area and the lower 32-bit area. A register writing control unit 431 outputs information to the selectors 4321 and 4322 on the registers and the locations (upper and lower areas) in which data is written by the instructions that have issued in one cycle. Each of the selectors 4321 and 4322 selects one out of pieces of data that have been output from first, second, and third arithmetic operation units 44, 45, and 46 and writes the selected data in the upper or lower area in one register. A dependency analysis unit 110 in a compiling apparatus considers the upper and lower registers in one 64-bit register as separate resources, analyzes the data dependency relations between the instructions, and generates a dependency graph that indicates the data dependency relations. A instruction rearrangement unit 111 rearranges the instructions and generates execution codes using the dependency graph.Type: ApplicationFiled: November 27, 2002Publication date: April 24, 2003Inventors: Taketo Heishi, Kensuke Odani
-
Patent number: 6546478Abstract: A line predictor caches alignment information for instructions. In response to each fetch address, the line predictor provides alignment information for the instruction beginning at the fetch address, as well as one or more additional instructions subsequent to that instruction. The alignment information may be, for example, instruction pointers, each of which directly locates a corresponding instruction within a plurality of instruction bytes fetched in response to the fetch address. The line predictor may include a memory having multiple entries, each entry storing up to a predefined maximum number of instruction pointers and a fetch address corresponding to the instruction identified by a first one of the instruction pointers. Furthermore, each entry may store additional information regarding the terminating instruction within the entry. In one embodiment, the additional information includes an indication of the branch displacement when the terminating instruction is a branch instruction.Type: GrantFiled: October 14, 1999Date of Patent: April 8, 2003Assignee: Advanced Micro Devices, Inc.Inventors: James B. Keller, Puneet Sharma, Keith R. Schakel, Francis M. Matus
-
Patent number: 6539470Abstract: An instruction decode unit is described including circuitry coupled to receive an instruction. The instruction identifies multiple operands, one of which is a destination operand. The circuitry responds to the instruction by producing: (i) operand codes specifying the operands, wherein the operand codes are produced in the order in which the operands are identified within the instruction, and (ii) a destination operand signal identifying the destination operand. In one embodiment, the decode unit responds to the instruction by producing the operand codes, operand address information, control signals, and the destination operand signal. A processor including the instruction decode unit is also described, as is a computer system including the processor. The instruction may include operand information which identifies the operands. The instruction may also include destination operand information which indicates which of the operands is the destination operand.Type: GrantFiled: November 16, 1999Date of Patent: March 25, 2003Assignee: Advanced Micro Devices, Inc.Inventors: Eric W. Mahurin, Brian D. McMinn
-
Patent number: 6530012Abstract: A method of executing instructions in a computer system on operands containing a plurality of packed objects in respective lanes of the operand is described. Each instruction defines an operation and contains a condition setting indicator settable independently of the operation. The status of the condition setting indicator determines whether or not multibit condition codes are set. When they are to be set, they are set depending on the results of carrying out the operation for each lane.Type: GrantFiled: September 13, 1999Date of Patent: March 4, 2003Assignee: Broadcom CorporationInventor: Sophie Wilson
-
Patent number: 6519696Abstract: An apparatus and method are provided for performing a floating point exchange operation in a pipeline microprocessor in zero effective clock cycles. The present invention exploits the pattern of floating point operations common to most floating point software algorithms where floating point exchange operations appear as every other instruction between floating point computational instructions. The apparatus includes translation logic, that pairs the operations directed by a floating point macro instruction and a floating point exchange macro instruction by generating a micro instruction with an exchange extension. The exchange extension directs the microprocessor to perform the floating point exchange operation in parallel with the operation prescribed by the floating point macro instruction within a single floating point unit.Type: GrantFiled: March 30, 2000Date of Patent: February 11, 2003Assignee: I.P. First, LLCInventors: G. Glenn Henry, Terry Parks
-
Patent number: 6502185Abstract: A processor includes an instruction cache and a predecode cache which is not actively maintained coherent with the instruction cache. The processor fetches instruction bytes from the instruction cache and predecode information from the predecode cache. Instructions are provided to a plurality of decode units based on the predecode information, and the decode units decode the instructions and verify that the predecode information corresponds to the instructions. More particularly, each decode unit may verify that a valid instruction was decoded, and that the instruction succeeds a preceding instruction decoded by another decode unit. Additionally, other units involved in the instruction processing pipeline stages prior to decode may verify portions of the predecode information.Type: GrantFiled: January 3, 2000Date of Patent: December 31, 2002Assignee: Advanced Micro Devices, Inc.Inventors: James B. Keller, Puneet Sharma, Keith R. Schakel, Francis M. Matus
-
Patent number: 6499098Abstract: A processor (100) is provided that is a programmable digital signal processor (DSP) with variable instruction length, offering both high code density and easy programming. Architecture and instruction set are optimized for low power consumption and high efficiency execution of DSP algorithms, such as for wireless telephones, as well as pure control tasks. An instruction (1003) is decoded and accesses a data item in accordance with an address field (1003a). Another instruction (1002) is decoded and accesses a data item in accordance with an address field (1002a); but in a different manner due to an instruction qualifier (1002b). The instruction qualifier is executed in an implicitly parallel manner with the qualified instruction (1002).Type: GrantFiled: October 1, 1999Date of Patent: December 24, 2002Assignee: Texas Instruments IncorporatedInventor: Gilbert Laurenti
-
Patent number: 6496921Abstract: A method of operating a processing unit of a computer system, by issuing an instruction having an explicit prefetch request directly from an instruction sequence unit to a prefetch unit of the processing unit. The invention applies to values that are either operand data or instructions. In a preferred embodiment, two prefetch units are used, the first prefetch unit being hardware independent and dynamically monitoring one or more active streams associated with operations carried out by a core of the processing unit, and the second prefetch unit being aware of the lower level storage subsystem and sending with the prefetch request an indication that a prefetch value is to be loaded into a lower level cache of the processing unit. The invention may advantageously associate each prefetch request with a stream ID of an associated processor stream, or a processor ID of the requesting processing unit (the latter feature is particularly useful for caches which are shared by a processing unit cluster).Type: GrantFiled: June 30, 1999Date of Patent: December 17, 2002Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, Lakshminarayana Baba Arimilli, Leo James Clark, John Steven Dodson, Guy Lynn Guthrie, James Stephen Fields, Jr.
-
Patent number: 6496923Abstract: The invention provides a system and method which can be used for pre-decoding one-byte instruction prefixes and branch instruction indicators. A static line detect generates a number of instruction indicators. Further, a prefix and branch decode unit combines at least two of the number of instruction indicators, and a pre-decode unit decodes the combined instruction indicators. Embodiments of the invention decode one byte prefixes without additional cycle penalty and generate one and two byte branch indications early.Type: GrantFiled: December 17, 1999Date of Patent: December 17, 2002Assignee: Intel CorporationInventors: Frederick Russell Gruner, Bharat Zaveri
-
Publication number: 20020188827Abstract: A method for including opcode information in an opcode includes numbering the opcode such that a property of the opcode is represented by at least one bit of the opcode. According to one aspect, the number of data units required to advance to the next opcode is encoded into the opcode value itself. According to another aspect, opcodes are numbered such that opcodes having the same properties have opcode values in the same opcode range.Type: ApplicationFiled: May 31, 2002Publication date: December 12, 2002Applicant: Sun Microsystems, Inc., a Delaware CorporationInventor: Dean R.E. Long
-
Patent number: 6493819Abstract: A microprocessor includes general purpose registers which may be accessed or updated in portions. Dependencies may be created between an instruction which updates only a portion of a destination register and a subsequent instruction which requires a larger portion of that destination register, inclusive of the smaller updated portion, as a source. To resolve such dependencies between instructions, a determination is made upon decode of an instruction whether it updates only a portion of a destination or the entire destination. If only a portion of the destination is updated by the instruction, a read of the destination is done prior to execution of the instruction and the data read from the destination is merged with the results of the instruction execution. The merged data is then conveyed as the results of the instruction execution.Type: GrantFiled: November 16, 1999Date of Patent: December 10, 2002Assignee: Advanced Micro Devices, Inc.Inventors: Eric W. Mahurin, Scott A. White, Michael T. Clark
-
Patent number: 6490673Abstract: Each of registers R0 to R31 is divided into the upper 32-bit area and the lower 32-bit area. A register writing control unit 431 outputs information to the selectors 4321 and 4322 on the registers and the locations (upper and lower areas) in which data is written by the instructions that have issued in one cycle. Each of the selectors 4321 and 4322 selects one out of pieces of data that have been output from first, second, and third arithmetic operation units 44, 45, and 46 and writes the selected data in the upper or lower area in one register. A dependency analysis unit 110 in a compiling apparatus considers the upper and lower registers in one 64-bit register as separate resources, analyzes the data dependency relations between the instructions, and generates a dependency graph that indicates the data dependency relations. A instruction rearrangement unit 111 rearranges the instructions and generates execution codes using the dependency graph.Type: GrantFiled: November 22, 1999Date of Patent: December 3, 2002Assignee: Matsushita Electric Industrial Co., LTDInventors: Taketo Heishi, Kensuke Odani
-
Patent number: 6463521Abstract: A method for including opcode information in an opcode includes numbering the opcode such that a property of the opcode is represented by at least one bit of the opcode. According to one aspect, the number of data units required to advance to the next opcode is encoded into the opcode value itself. According to another aspect, opcodes are numbered such that opcodes having the same properties have opcode values in the same opcode range.Type: GrantFiled: June 23, 1999Date of Patent: October 8, 2002Assignee: Sun Microsystems, Inc.Inventor: Dean R. E. Long
-
Patent number: 6460132Abstract: A microprocessor configured to predecode variable length instructions in a massively parallel fashion is disclosed. The microprocessor may comprise a prefetch fetch unit configured to read instruction bytes from memory and a plurality of predecode unit configured to receive and predecode the instruction bytes. The predecode units are configured to operate separately and in parallel to generate one or more predecode bits per instruction byte. The microprocessor may further include a predecode bit correction unit configured to receive, verify, and correct the predecode bits from the parallel predecode units. A computer system and method for predecoding instructions are also disclosed.Type: GrantFiled: August 31, 1999Date of Patent: October 1, 2002Assignee: Advanced Micro Devices, Inc.Inventor: Paul K. Miller
-
Patent number: 6457117Abstract: The processor is configured to predecode instruction bytes prior to their storage within an instruction cache. During the predecoding, relative branch instructions are detected. The displacement included within the relative branch instruction is added to the address corresponding to the relative branch instruction, thereby generating the target address. The processor replaces the displacement field of the relative branch instruction with an encoding of the target address, and stores the modified relative branch instruction in the instruction cache. The branch prediction mechanism may select the target address from the displacement field of the relative branch instruction instead of performing an addition to generate the target address. In one embodiment, relative branch instructions having eight bit and 32-bit displacement fields are included in the instruction set executed by the processor.Type: GrantFiled: November 7, 2000Date of Patent: September 24, 2002Assignee: Advanced Micro Devices, Inc.Inventor: David B. Witt
-
Patent number: 6457118Abstract: According to the present invention, techniques for setting selected operand fields in pipelined architectures are provided. Methods and systems for efficiently selecting operand fields according to the present invention can be operative on a variety of computer architectures, including RISC architectures.Type: GrantFiled: October 1, 1999Date of Patent: September 24, 2002Assignee: Hitachi LTDInventors: Chih-Jui Peng, Glenn Ashley Farrall, Sivaram Krishnan
-
Publication number: 20020133689Abstract: A semiconductor device having a main processor and a coprocessor for data processing is disclosed, the device comprising a main program memory for storing main processor instructions and a first portion of coprocessor instructions, a coprocessor program memory for storing a second portion of coprocessor instructions, and a predecoder for predecoding at least one bit of each instruction fetched from the main program memory and for generating an active coprocessor control signal upon predecoding a coprocessor type instruction, wherein the second portion of coprocessor instructions are fetched directly from the coprocessor program memory and the first portion and the second portion of coprocessor instructions are processed by the coprocessor upon receipt of the active coprocessor control signal.Type: ApplicationFiled: March 14, 2001Publication date: September 19, 2002Inventors: Sang Hyun Park, Seh-Woong Jeong
-
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: 6438680Abstract: When a decision circuit (217) incorporated in a control circuit (21) in an instruction decode unit (2) in a microprocessor (1) decides that an integer operation unit (4) can not execute a following sub instruction, the decision circuit (217) controls each of selectors (211, 214, and 215) and an exchange circuit (216) so that a memory access unit (3) that has already executed a preceding sub instruction can execute the following sub instruction.Type: GrantFiled: June 3, 1999Date of Patent: August 20, 2002Assignee: Mitsubishi Denki Kabushiki KaishaInventors: Akira Yamada, Isao Minematsu
-
Patent number: 6434693Abstract: The present invention provides a system and method for managing load and store operations necessary for reading from and writing to memory or I/O in a superscalar RISC architecture environment. To perform this task, a load store unit is provided whose main purpose is to make load requests out of order whenever possible to get the load data back for use by an instruction execution unit as quickly as possible. A load operation can only be performed out of order if there are no address-collisions and no write pendings. An address collision occurs when a read is requested at a memory location where an older instruction will be writing. Write pending refers to the case where an older instruction requests a store operation, but the store address has not yet been calculated. The data cache unit returns 8 bytes of unaligned data. The load/store unit aligns this data properly before it is returned to the instruction execution unit.Type: GrantFiled: November 12, 1999Date of Patent: August 13, 2002Assignee: Seiko Epson CorporationInventors: Cheryl D. Senter, Johannes Wang
-
Patent number: 6418527Abstract: A system for instructing a data processor, the system including an instruction root having an operation selection field for selecting an operation to be performed by said data processor and an instruction prefix. The instruction prefix has a field selected from the group of a conditional execution field for selecting a condition under which a data processor will perform said selected operation, an operand length modification field for modifying the selected operation so as to be performed on an operand having a different length, an instruction group field for selecting a length of an instruction group that includes the instruction root, and a prefix length selection field for selecting a length of said instruction prefix. A data processor system responsive to this instruction system is also disclosed. An instruction system for statically grouping instructions without using an instruction prefix is also disclosed.Type: GrantFiled: October 13, 1998Date of Patent: July 9, 2002Assignee: Motorola, Inc.Inventors: Zvika Rozenshein, Jacob Tokar, Uri Dayan, Joe Paul Gergen
-
Patent number: 6415376Abstract: An apparatus and method for issue grouping of instructions in a VLIW processor is disclosed. There can be one, two, or three issue groups (but no greater than three issue groups) in each VLIW packet. In one embodiment, a template in the VLIW packet comprises two issue group end markers where each issue group end marker comprises three bits. The three bits in the first issue group end marker identifies the instruction which is the last instruction in the first issue group. Likewise, the three bits in the second issue group end marker identifies the instruction which is the last instruction in the second issue group. Any instructions in the VLIW packet falling outside the two expressly defined first and second issue groups are placed in a third issue group. As such, three issue groups can be identified by use of the two issue group end markers. In one embodiment, the template of the VLIW packet includes a chaining bit.Type: GrantFiled: June 16, 2000Date of Patent: July 2, 2002Assignee: Conexant Sytems, Inc.Inventors: Moataz A Mohamed, Chien-Wei Li, John R. Spence
-
Publication number: 20020083301Abstract: Embodiments of the present invention provide a pre-decoder in a front-end system provided between an instruction cache and a decoder. The front-end system may toggle between two modes of operation. In a first mode, called the “fast mode” the front-end system retrieves pre-decoded instructions from the instruction cache and decodes them directly. In a second mode, called the “marking mode,” the front-end system retrieves data from the instruction cache and synchronizes to them prior to decoding. Synchronization results may be stored back in the instruction cache for later use.Type: ApplicationFiled: December 22, 2000Publication date: June 27, 2002Inventors: Stephan J. Jourdan, Alan Kyker
-
Patent number: 6405303Abstract: A microprocessor configured to decode a plurality of instruction bytes in parallel is disclosed. The microprocessor may comprise a plurality of single-byte decoder/execution units that are configured to receive instruction bytes and cross-talk to determine instruction boundaries and instruction field boundaries. Once and instruction has been identified, a determination is made as to whether or not the instruction is a simple instruction. Simple instructions are executed within the decoder/execution units, while complex instructions are forwarded to full-fledged functional units. A computer system and method for predecoding instructions are also disclosed.Type: GrantFiled: August 31, 1999Date of Patent: June 11, 2002Assignee: Advanced Micro Devices, Inc.Inventors: Paul K. Miller, Gerald D. Zuraski, Jr.
-
Patent number: 6401144Abstract: A method and apparatus for ensuring that information transfers from memory to a peripheral device are complete prior to the peripheral device executing instructions responsive to the content of the information is described. The method includes identifying lines of data to be written, determining a unique start code to be used for that data, and embedding that start code into that data. When the proper number of lines of data have arrived in peripheral device memory, the pending operation is executed.Type: GrantFiled: February 26, 1999Date of Patent: June 4, 2002Assignee: Intel CorporationInventor: Morris Jones
-
Patent number: 6397319Abstract: A 32-bit instruction 50 is composed of a 4-bit format field 51, a 4-bit operation field 52, and two 12-bit operation fields 59 and 60. The 4-bit operation field 52 can only include (1) an operation code “cc” that indicates a branch operation which uses a stored value of the implicitly indicated constant register 36 as the branch address, or (2) a constant “const”. The content of the 4-bit operation field 52 is specified by a format code provided in the format field 51.Type: GrantFiled: June 20, 2000Date of Patent: May 28, 2002Assignee: Matsushita Electric Ind. Co., Ltd.Inventors: Shuichi Takayama, Nobuo Higaki
-
Patent number: 6393551Abstract: A method and an apparatus for reducing the number of instruction transactions in a microprocessor are disclosed. As a method, the number of issued instructions carried by an issued instruction bus in a computer system are reduced by determining if an instruction fetched by a fetch unit matches a cached instruction tag. When the fetched instruction matches the cached instruction tag, an opcode and an associated instruction corresponding to the cached instruction tag are directly injected to an appropriate function unit. The apparatus includes a plurality of tag PC cache memory devices used to store tag PC entries associated with target instructions injected directly to corresponding function units included microprocessors and the like. The injection reduces the number of instructions fetched from the program memory as well as the number of issued instructions carried by an issued instruction bus.Type: GrantFiled: May 26, 1999Date of Patent: May 21, 2002Assignee: Infineon Technologies North America Corp.Inventors: Balraj Singh, Eric Chesters, Venkat Mattela, Rod G. Fleck
-
Patent number: 6385720Abstract: In branch prediction in accordance with the present invention, in order to reduce the storage capacity for storing branch prediction information and simplify an information retrieval circuit while minimizing reduction in branch prediction accuracy, the position of an instruction is stored in advance and an instruction is decoded for execution, the relative position of the instruction decoded for execution is obtained on the basis of the position of the stored instruction, and when the decoded instruction is a branch instruction the result of branch by the branch instruction is recorded as history information in correspondence with the relative position of the branch instruction.Type: GrantFiled: July 13, 1998Date of Patent: May 7, 2002Assignee: Matsushita Electric Industrial Co., Ltd.Inventors: Tetsuya Tanaka, Takao Yamamoto
-
Patent number: 6381689Abstract: A reorder buffer is configured into multiple lines of storage, wherein a line of storage includes sufficient storage for instruction results regarding a predefined maximum number of concurrently dispatchable instructions. A line of storage is allocated whenever one or more instructions are dispatched. A microprocessor employing the reorder buffer is also configured with fixed, symmetrical issue positions. The symmetrical nature of the issue positions may increase the average number of instructions to be concurrently dispatched and executed by the microprocessor. The average number of unused locations within the line decreases as the average number of concurrently dispatched instructions increases. One particular implementation of the reorder buffer includes a future file. The future file comprises a storage location corresponding to each register within the microprocessor.Type: GrantFiled: March 13, 2001Date of Patent: April 30, 2002Assignee: Advanced Micro Devices, Inc.Inventors: David B. Witt, Thang M. Tran
-
Patent number: 6378064Abstract: A computer system comprising a microprocessor on a single integrated circuit chip having an on-chip CPU which includes: a data processing unit for executing instructions; a data link connected between a memory and the data processing unit for passing instructions to the data processing unit; a watch register for storing an instruction comparison code; and a watch comparator coupled to the data link for comparing the instructions passed on the data link with the instruction comparison code and generating a comparison output signal in dependence on the result of the comparison.Type: GrantFiled: March 12, 1999Date of Patent: April 23, 2002Assignee: STMicroelectronics LimitedInventors: David Alan Edwards, Glenn Ashley Farrall
-
Patent number: 6360313Abstract: A computing system as described in which individual instructions are executable in parallel by processing pipelines, and instructions to be executed in parallel by different pipelines are supplied to the pipelines simultaneously. The system includes storage for storing an arbitrary number of the instructions to be executed. The instructions to be executed are tagged with pipeline identification tags indicative of the pipeline to which they should be dispatched. The pipeline identification tags are supplied to a system which controls a crossbar switch, enabling the tags to be used to control the switch and supply the appropriate instructions simultaneously to the differing pipelines.Type: GrantFiled: September 8, 2000Date of Patent: March 19, 2002Assignee: Intergraph CorporationInventors: Howard G. Sachs, Siamak Arya
-
Patent number: 6360317Abstract: A microprocessor detects a floating point exchange instruction followed by a floating point instruction and dispatches the two instructions to the floating point unit as one combined instruction. The predecode unit marks the two instructions as a single instruction. A start bit is asserted for the first byte of the floating point exchange instruction and an end bit is asserted for the last byte of the floating point instruction. The combined instruction is dispatched into the instruction execution pipeline. A decode unit decodes the opcodes of the two instructions and passes the opcode of the floating point instruction to the floating point unit and passes exchange register information to the floating point unit. The exchange register information includes a sufficient number of bits to specify a floating point register and a valid bit.Type: GrantFiled: October 30, 2000Date of Patent: March 19, 2002Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Paul K. Miller