GB2230119A - Conditional execution speed-up on synchronizing instructions - Google Patents
Conditional execution speed-up on synchronizing instructions Download PDFInfo
- Publication number
- GB2230119A GB2230119A GB9003483A GB9003483A GB2230119A GB 2230119 A GB2230119 A GB 2230119A GB 9003483 A GB9003483 A GB 9003483A GB 9003483 A GB9003483 A GB 9003483A GB 2230119 A GB2230119 A GB 2230119A
- Authority
- GB
- United Kingdom
- Prior art keywords
- instruction
- synchronization
- instructions
- recited
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 33
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102100026693 FAS-associated death domain protein Human genes 0.000 description 1
- 101000911074 Homo sapiens FAS-associated death domain protein Proteins 0.000 description 1
- GIUYCYHIANZCFB-FJFJXFQQSA-N fludarabine phosphate Chemical compound C1=NC=2C(N)=NC(F)=NC=2N1[C@@H]1O[C@H](COP(O)(O)=O)[C@@H](O)[C@@H]1O GIUYCYHIANZCFB-FJFJXFQQSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Description
-1 CONDITIONAL EXECUTION SPEED-UP ON SYNCHRONIZING INSTRUCTIONS
BACKGROUND OF THE INVENTION.
1. Field of the invention.
The present invention relates to the field of synchronization control in computer systems.
2. Description of Related Art.
The closest art known to the Applicant is embodied in the Intel 803 86tm (1386tm) microprocessor manufactured by Intel Corporation of Santa Clara, California.
In general, computer systems utilizing the '386 microprocessor embody a number of components, such as the 1386 microprocessor, a math coprocessor (typically either the 80287 or 80387 numeric coprocessor), etc. In computer systems utilizing the 1386 processor, the general purpose microprocessor (i.e., the '386) and the math coprocessor are separate, discrete components.
The architecture of the 1386, as in many general purpose processors, Includes synchronization instructions; such synchronization instruction allow for synchronization of processing between components in a computer system utilizing the 1386. Further. synchronization instruction may provide means for initiating error checking.
For example, the WAIT instruction in the 1386 instruction set causes the 1386 to wait execution until a numeric coprocessor (such as the 80287 or 80387) has finished a task. In general, the numeric coprocessor activates a BUSY pin. When the BUSY pin is active (brought low in the 1386), the WAIT instruction suspends execution of 1386 instructions until the BUSY pin is inactivated (brought high). In this way, processing on the '386 microprocessor may be suspended to guarantee that a numeric instruction being processed by the numeric coprocessor has completed execution.
It is desired to develop a method for removing (or ignoring during execution) sychronization instructions from an instruction sequence in computer systems.
Specifically, it is desired to develop a system for speeding up the execution of an instruction sequence by removing, under certain conditions, wait states created by synchronization instructions.
- j SUMMARY OF THE INVENTION
A method for speeding up the execution of an instruction sequence in a computer system implementing functions of a general purpose processing unit and a special purpose processing unit under common control is described. The method eliminates certain created by synchronization instructions.
The method involves the steps of detecting that a synchronization instruction has been encountered during the execution of an instruction sequence and replacing or substituting for the synchronization instruction a null instruction. In the preferred embodiment, a one clock cycle no-operation instruction is utilized as the null instruction.
The microprocessor of the preferred embodiment comprises an instruction prefetch unit for fetching instructions prior to the execution of a previous instruction. Such prefetch units are utilized in computer systems to increase the operating speed of a computer system by ensuring a queue of instructions is available for an instruction decode and Instruction execution unit.
In the present invention, after encountering a synchronization instruction, but before execution of the synchronization instruction, the next instruction ("second instruction") is fetched by the prefetch unit. If the instruction is one of a predetermined set of instructions, the synchronization instruction is not executed and a null instruct.ion is executed in its place. If the instruction is not one of the predetermined set of instructions, the synchronization instruction is executed. (In the preferred embodiment, the second instruction may not be prefetched in certain circumstances for a variety of reasons. If the second instruction is not prefetched, the synchronization instruction is executed in the normal execution sequence.) In the preferred embodiment, many floating point instructions inherently provide for routine synchronization. The predetermined set of instructions comprises the set of such floating point instructions of the instruction set of the microprocessor of the preferred embodiment which inherently provide for routine synchronization; floating point instructions which do not inherently provide for such synchronization are not included in the predetermined set. Further, non-floating point instructions are not included in the predetermined set.
1 BRIEF DESCRIEIJON OF THE DRAWINGS Figure 1 is a flow diagram illustrating a known method of implementing synchronizing control flow instructions.
Figure 2 is a block diagram of portions of a computer system of the present invention.
Figure 3 is a flow diagram illustrating a method of 10 the present invention.
DESCRIPTION OF THE RUEERRED EMBODIMENT
A method for processing instructions in a computer system is described. In the following description, numerous specific details are set forth such as specific instructions, etc., in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art that the present invention may be practiced without these specific 10, details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to unnecessarily obscure the present invention.
OVERVIEW OE: THE PRESENT TW.JENTION The preferred embodiment of the present invention is proposed for use in the next generation of microprocessor in the Intel 8086 family, commonly referred to as the 80486tm microprocessor (1486tm), manufactured by Intel Corporation of Santa Clara, California.
The proposed 1486 microprocessor implements the functions of a general purpose microprocessor (such as the functions of the Intel 80386 microprocessor) and the functions of a numeric coprocessor (such as the Intel 80387 numeric coprocessor) in a single component or "chip".
It is desired to ensure that the 1486 microprocessor is capable of supporting instruction sequences written for execution on the 80386, including instruction sequences which utilize a numeric coprocessor such as the 80387. Such instruction sequences often include synchronization instructions for synchronizing execution of the 80386 and the 80387.
DESCRIPTION OF 80386 SYNCHRONIZATION
Figure 1 is a flow diagram illustrating use of such synchronization instructions in an instruction sequence. A typical instruction sequence may include a synchronization instruction which causes the main processor (e.g., the 1386) to wait further processing until the numeric coprocessor is available to execute another instruction, block 101 and block 102.
Typically, the synchronization instruction is a WAIT instruction. The synchronization instruction is placed in the instruction sequence to ensure the numeric coprocessor has completed execution of any prior floating point instruction before presenting the next floating point instruction for execution. (As discussed in the Background of the Invention sectione the 80387 asserts a BUSY signal while processing an instruction. After completing processing of the instruction, the 80387 deasserts the BUSY - E3 pin. The 80386 will suspend execution during the time the BUSY pin is asserted if a WAIT instruction is executed.) it is worth noting that in many 80386180387 implementations, programmers do not have to code WAIT instructions in instruction sequences. Many assemblers for the 80386 will automatically encode the WAIT instructions in the instruction sequence.
After the numeric coprocessor indicates it is available for processing of the next instruction (by deasserting the BUSY pin),, block 103, the next instruction in the instruction sequence is presented for execution, block 104. (Generally, the next instruction is a floating point instruction; however, in certain cases, it may be a non-floating point instruction.) Certain instructions in the 1386 instruction set include a WAIT state as an integral part of the instruction. In such cases, branch 110, the main processor waits execution of the next instruction in the instruction sequence until the numeric processor signals it has completed processing, block 105 and block 106. Typically, floating point instructions include a WAIT state as an integral part of the instruction where the instruction will affect memory or registers which may also be effected by - 9 instructions executing on the general purpose microprocessor.
In other cases, the floating point instruction do not include a WAIT state as an integral part of the instruction. In such cases, the main processor does not wait for the numeric coprocessor to complete processing of the instruction, branch 111. As examples, this second type of instructions include the instructions listed in TABLE I, below:
Oncode (1) FSTENV (2) FSTCW (3) FSAVE (4) FSTSW (5) FCLEX (6) FINIT (7) FSETPM (8) FENI (9) FDIS Function (Store the coprocessor's environment); (Store the coprocessor's control word); (Save the coprocessor's state); (Store the coprocessor's status word); (Clear the coprocessor's exception flags) (Initialize the coprocessor); and (Place the coprocessor in protected mode) (Enable interrupt) (Disable interrupt) (Note that the codes listed in Table I are operation codes Clopcodes") in the 1386 instruction set, not mneumonics.) In the case of either type of instruction, the main processor will begin execution of the next instruction in the instruction sequence at some point in time, block 107.
Further information on the 80386/80387 processors may be found with reference to Chris H. Pappas & William H.
Murray, 111, 80386 Micro-processor Handbook, Osborne McGraw-Hill, 1988.
WHERAL 80486 ARCHITECTURE OVERVIEW The proposed 80486 microprocessor comprises a general purpose microprocessor and a numeric coprocessor integrated on a single chip. The proposed 1486 microprocessor further comprises instruction prefetch circuitry and instruction decode circuitry.
Prefetch Circuitry The prefetch circuitry is described with reference to Figure 2. A prefetch unit 202 is coupled with a bus 201. This allows the prefetch unit to fetch instructions for processing. The prefetch unit 202 is further coupled with an instruction decode unit 203. The instruction decode unit 203 is provided with instructions for decoding by the prefetch unit 202. Finally, the instruction decode unit 203 is coupled with an execution unit 204 for providing microcoded instructions for execution.
Q - 11 The prefetch unit 202 requests an instruction and stores the instruction in a prefetch queue until the instruction decode 203 is available to process the instruction and translate'the instruction into microcode. An instruction queue in the instruction decode unit 203 holds the microcoded instructions until they are executed by an execution unit 204.
Recruirement for Synchronization Instructio-ns in the Preferzed Embodiment As discussed above, in the prior art it is known to include synchronization instructions in instruction sequences to ensure proper execution. The present invention teaches that in certain cases, synchronization instructions are not necessary for ensuring the proper execution of the instruction sequence.
Specifically, the present invention teaches that synchronization instructions may not be required depending on the instruction immediately following a synchronization instruction. If the instruction immediately following the sychronization instruction includes a WAIT state as an integral part of the instruction, it has been-observed that coding of a WAIT instruction previous to such an instruction is not necessary.
As one objective the present invention, a computer system is to be developed which ensures compatability with instruction sequences written for systems such as the 1386. As a second objective, it is desired to increase the performance of the computer system of the present invention by effectively removing certain synchronization instructions from such instruction sequences.
It is worth noting that, in the system of the preferred embodiment, a WAIT instruction requires a minimum of 3 clock cycles to complete. As will be detailed below, the system of the present invention effectively removes from execution certain WAIT instructions and replaces the WAIT instruction with a null operation. In the preferred embodiment, the null operation requires 1 clock cycle for execution.
METHOD OF THE PREFERRED EMBODIMENT A method utilized by the preferred embodiment to improve execution time of an instruction sequence by removing select ed synchronization instructions is described with reference to the flow diagram of Figure 3.
In an instruction sequence, a synchronization instruction may be encountered, block 301. As stated previously, instruction sequences commonly utilize the WAIT - 13 instruction of the instruction set for the 8086 family of microprocessors as a synchronization instruction.
As described previously, the WAIT instruction is used to cause the general purpose processor portion of the computer system to wait, or suspend, execution of instructions until the numeric processor portion of the computer system has finished a task.
The system of the present invention comprises means for allowing the next instruction in the instruction sequence to be fetched and examined prior to executing the next instruction in the instruction sequence, block 202. In the preferred embodiment, the prefetch unit waits until the bus is available and fetches the next instruction and stores it in a prefetch queue. In certain cases, such as when the bus is servicing higher priority requests, prefetching does not occur.
Assuming the prefetch was successful, block 103, the present invention teaches determining whether the instruction fetched is one of a set of instruction for which the previous synchronization is not necessary. It has been determined that synchronization instructions are not necessary in instruction sequences before certain so-called "safe" instructions.
In the preferred embodiment, these "safe" instructions include instructions to be executed by the numeric processor which include a WAIT state as an integral part of the instruction. (In general, in the instruction set of the processor of the preferred embodiment, these instruction are the floating point instructions, such as F2M1, FABS, FADD/FAMP, FBLD, FBSTP, etc.).
The predetermined set of "safe" instructions in the preferred embodiment does not include certain floating point instructions which do not have synchronization built into the instruction. Examples of these instructions are listed with reference to TABLE I, above. Further, the predetermined set of safe instructions of the preferred embodiment does not include any instructions to be executed by the general purpose processor (e.g., non-floating point instructions such as LOOP, WL, MOV, MUL, etc.).
By way of example, the instruction sequence detailed in TABLE II may have been written for execution on a computer system utilizing an 80386:
TABLE 11
Instruction # Instruction (1) WAIT (2) FINIT (3) WAIT (4) FILD Word Ptr (0006) (5) WAIT (6) FLDPI (7) WAIT (8) FDIV ST,ST(1) Synchronization instructions numbered 3, 5 and 7 in TABLE II are not necessary for proper execution of the instruction sequence on a computer system embodying the 1486 processor. Therefore, the method of the present invention replaces the synchronization instructions (WAIT instructions) with a null instruction, block 305. The null instruction requires one clock cycle for execution as opposed to a minimum of three clock cycles for the WAIT instruction.
Synchronization instruction numbered 1 in TABLE II is required by the computer system of the present invention and, therefore, is not replaced by a null instruction. This synchronization instruction is required because the FINIT instruction does not include a WAIT state as an integral part of the instruction.
in general, in the system of the present invention, synchronization instructions preceding floating point - 16 instructions which provide routine synchronization are replaced with a null instruction. The null instruction does not perform any operation; rather it only affects the (E)IP register (instruction pointer register).
In other cases, such as synchronization instructions preceding nonfloating point instructions and synchronization instruction preceding floating point instructions not providing routine synchronization, the t 17 synchronization instruction are executed in the normal course of the instruction sequence, block 306.
Thus, a method for avoiding time penalties associated with synchronization instructions is described. Although the present invention has been described with specific reference to a number of details of the preferred embodiment, it will be obvious that a number of modifications and variations may be employed without departure from the scope and spirit of the present invention. Accordingly, all such variations and modifications are included within the intended scope of the invention as defined by the following claims.
-
Claims (18)
1. A method for processing an instruction sequence in a computer system comprising the steps of:
(a) encountering a synchronization instruction in said instruction sequence; (b) replacing said synchronization instruction with a null operation instruction.
2. The method as recited by Claim 1 further comprising the steps:
(c) fetching a second instruction in said instruction sequence subsequent to receiving said synchronization instruction; (d) examining said second instruction to determine if said second instruction is one of a predetermined set of instructions; (e) if said second instruction is one of said predetermined set of instructions, performing step (b); (f) if said second instruction is not one of said predetermined set of instructions, executing said synchronization instruction.
- 19
3. The method as recited by Claim 1 wherein said null operation instruction requires one clock cycle for execution.
4. The method as recited by Claim 2 wherein said predetermined set of instructions comprises floating point instructions with routine synchronization.
5. The method as recited by Claim 4 wherein said 10 synchronization instruction is a WAIT instruction.
6. A method for processing an instruction sequence in a computer systemt said instruction sequence comprising at least one synchronization instruction, said method comprising the steps of:
(a) receiving said synchronization instruction; (b) fetching a second instruction; (c) initiating execution of a null instruction in place of said synchronization instruction under a first set 20 of predetermine conditions.
7. The method as recited by Claim 6 further comprising the step of initiating execution of said - 20 synchronization instruction under a second set of predetermined conditions.
8. The method as recited by Claim 6 wherein said first set of predetermined conditions comprises determining said second instruction is one of a predetermined set of instructions.
9. The method as recited by Claim 8 wherein said predetermined set of instructions comprises floating point instructions with routine synchronization in an instruction set of said computer system.
10. The method as recited by Claim 8 wherein said first set of predetermined conditions further comprising said second instruction was successfully fetched.
11. The method as recited by Claim 7 wherein said second set of predetermined conditions comprises determining said second instruction was not successfully fetched or said second instruction is not one of a predetermined set of instruction.
12. In a computer system comprising a general purpose processing unit and a special purpose processing unit under common control, said computer system executing an instruction sequence, a method comprising the steps of:
a) encountering a synchronization instruction in said instruction sequence; b) removing said sychronization instruction from said instruction sequence prior to the execution of said synchronization instruction.
13. The method as recited by Claim 12 wherein said step (a) further comprises the step of determining if a second instruction, immediately subsequent to said synchronization instruction is one of a predetermined set of instructions and executing said step (b) if said second instruction is one of said predetemined set of instructions.
14. The method as recited by Claim 13 wherein said synchronization instruction comprises an instruction for causing said general purpose processor to enter a wait state.
15. The method as recited by Claim 14 wherein a null instruction is executed in place of said synchronization instruction.
16. The method as recited by Claim 15 wherein said null instruction requires one clock cycle for execution.
17. The method as recited by Claim 16 wherein said synchronization instruction is a WAIT instruction.
18. A method for processing an instruction squence in a computer system substantially as hereinbefore described and illustrated io the accompanying drawings.
Published 1990 at The Patent Mce, State House.6871 Holborn. London WC1R 47T. Further coVies maybe obtained from The Patent Office. Wes Branch. St Mary Cray, Orpington. Kent BM 3RD. Printed by Multiplex techniques ltd. St MLry Cray, Xent, Con. 1187
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33520389A | 1989-04-07 | 1989-04-07 |
Publications (3)
Publication Number | Publication Date |
---|---|
GB9003483D0 GB9003483D0 (en) | 1990-04-11 |
GB2230119A true GB2230119A (en) | 1990-10-10 |
GB2230119B GB2230119B (en) | 1993-04-21 |
Family
ID=23310718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9003483A Expired - Lifetime GB2230119B (en) | 1989-04-07 | 1990-02-15 | Conditional execution speed-up on synchronizing instructions |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPH02287857A (en) |
DE (1) | DE4010896C2 (en) |
GB (1) | GB2230119B (en) |
HK (1) | HK112794A (en) |
IL (1) | IL93964A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2374692A (en) * | 2001-01-31 | 2002-10-23 | Pacific Design Inc | Special purpose and general purpose processors |
EP1570371A1 (en) * | 2002-12-05 | 2005-09-07 | Connex Technology, Inc. | Data processing system having a cartesian controller |
US6948049B2 (en) | 2001-06-25 | 2005-09-20 | Pacific Design Inc. | Data processing system and control method |
US6993674B2 (en) | 2001-12-27 | 2006-01-31 | Pacific Design, Inc. | System LSI architecture and method for controlling the clock of a data processing system through the use of instructions |
US7908461B2 (en) | 2002-12-05 | 2011-03-15 | Allsearch Semi, LLC | Cellular engine for a data processing system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304940B2 (en) * | 2013-03-15 | 2016-04-05 | Intel Corporation | Processors, methods, and systems to relax synchronization of accesses to shared memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0211384A2 (en) * | 1985-07-31 | 1987-02-25 | Wang Laboratories Inc. | Prefetch monitor |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5245232A (en) * | 1975-10-08 | 1977-04-09 | Hitachi Ltd | Micro program modification circuit |
US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
-
1990
- 1990-02-15 GB GB9003483A patent/GB2230119B/en not_active Expired - Lifetime
- 1990-03-30 IL IL93964A patent/IL93964A/en not_active IP Right Cessation
- 1990-04-04 DE DE4010896A patent/DE4010896C2/en not_active Expired - Fee Related
- 1990-04-05 JP JP2089296A patent/JPH02287857A/en active Pending
-
1994
- 1994-10-20 HK HK112794A patent/HK112794A/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0211384A2 (en) * | 1985-07-31 | 1987-02-25 | Wang Laboratories Inc. | Prefetch monitor |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2374692A (en) * | 2001-01-31 | 2002-10-23 | Pacific Design Inc | Special purpose and general purpose processors |
GB2374692B (en) * | 2001-01-31 | 2005-08-17 | Pacific Design Inc | Data processing system data processing apparatus and control method for a data processing apparatus |
US7165166B2 (en) | 2001-01-31 | 2007-01-16 | Pacific Design, Inc. | Data processing system, data processing apparatus and control method for a data processing apparatus |
US6948049B2 (en) | 2001-06-25 | 2005-09-20 | Pacific Design Inc. | Data processing system and control method |
US6993674B2 (en) | 2001-12-27 | 2006-01-31 | Pacific Design, Inc. | System LSI architecture and method for controlling the clock of a data processing system through the use of instructions |
EP1570371A1 (en) * | 2002-12-05 | 2005-09-07 | Connex Technology, Inc. | Data processing system having a cartesian controller |
EP1570371A4 (en) * | 2002-12-05 | 2006-04-05 | Connex Technology Inc | Data processing system having a cartesian controller |
US7107478B2 (en) | 2002-12-05 | 2006-09-12 | Connex Technology, Inc. | Data processing system having a Cartesian Controller |
US7908461B2 (en) | 2002-12-05 | 2011-03-15 | Allsearch Semi, LLC | Cellular engine for a data processing system |
Also Published As
Publication number | Publication date |
---|---|
GB9003483D0 (en) | 1990-04-11 |
HK112794A (en) | 1994-10-27 |
JPH02287857A (en) | 1990-11-27 |
IL93964A (en) | 1993-07-08 |
IL93964A0 (en) | 1990-12-23 |
DE4010896A1 (en) | 1990-10-11 |
GB2230119B (en) | 1993-04-21 |
DE4010896C2 (en) | 1998-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1003095B1 (en) | A computer system for executing branch instructions | |
EP0901071B1 (en) | Methods for interfacing a processor to a coprocessor | |
KR100588790B1 (en) | Method and apparatus for acting on subsequent command processing in data processor | |
US5440747A (en) | Data processor with control logic for storing operation mode status and associated method | |
EP0423906A2 (en) | Method of and apparatus for nullifying an instruction | |
US6591378B1 (en) | Debug controller in a data processor and method therefor | |
KR19980018064A (en) | Efficient Context Storage and Recovery Device in Multitasking Processing System Environment | |
US8171266B2 (en) | Look-ahead load pre-fetch in a processor | |
JP3242508B2 (en) | Microcomputer | |
EP0777877B1 (en) | Processing system, processor, memory storing instruction stream and compiler | |
EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
US5226127A (en) | Method and apparatus providing for conditional execution speed-up in a computer system through substitution of a null instruction for a synchronization instruction under predetermined conditions | |
US5687381A (en) | Microprocessor including an interrupt polling unit configured to poll external devices for interrupts using interrupt acknowledge bus transactions | |
US5469552A (en) | Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions | |
US7441109B2 (en) | Computer system with a debug facility for a pipelined processor using predicated execution | |
US6070218A (en) | Interrupt capture and hold mechanism | |
JPH07120284B2 (en) | Data processing device | |
US5948093A (en) | Microprocessor including an interrupt polling unit configured to poll external devices for interrupts when said microprocessor is in a task switch state | |
GB2230119A (en) | Conditional execution speed-up on synchronizing instructions | |
EP0279953B1 (en) | Computer system having mixed macrocode and microcode instruction execution | |
US6775762B1 (en) | Processor and processor system | |
US6044460A (en) | System and method for PC-relative address generation in a microprocessor with a pipeline architecture | |
US5737562A (en) | CPU pipeline having queuing stage to facilitate branch instructions | |
EP1177499B1 (en) | Processor and method of executing instructions from several instruction sources | |
US7240185B2 (en) | Computer system with two debug watch modes for controlling execution of guarded instructions upon breakpoint detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PE20 | Patent expired after termination of 20 years |
Expiry date: 20100214 |