Claims Analysis
Total Claims: 15
Claim 1
Independent Claim
140 words
A computer system comprising: a central processing unit (CPU) for executing conventional instructions and speculative instructions, said CPU including means responsive to an access operation by one of said instructions for generating a speculative instruction bit and a corresponding access address, said access address representing a location in a global address space which includes a first address space and second address space, said speculative instruction bit being asserted when the corresponding access address is generated by a speculative instruction; and a memory controller coupled to a system bus and responsive to said access address and said speculative instruction bit for discarding said access operation when said speculative instruction bit is asserted and said access address is in said second address space and for otherwise accessing said address space, wherein said speculative instruction is prevented from accessing said second address space.
Claim 2
Dependent Claim
140 words
A computer system comprising: a central processing unit (CPU) for executing conventional instructions and speculative instructions, said CPU including means responsive to an access operation by one of said instructions for generating a speculative instruction bit and a corresponding access address, said access address representing a location in a global address space which includes a first address space and second address space, said speculative instruction bit being asserted when the corresponding access address is generated by a speculative instruction; and a memory controller coupled to a system bus and responsive to said access address and said speculative instruction bit for discarding said access operation when said speculative instruction bit is asserted and said access address is in said second address space and for otherwise accessing said address space, wherein said speculative instruction is prevented from accessing said second address space.
Claim 3
Dependent Claim
24 words
A computer system as defined in claim 1 wherein said CPU includes means for generating said speculative instruction bit on a unique signal line.
Claim 4
Dependent Claim
63 words
A computer system as defined in claim 1 wherein said memory controller includes a table containing addresses of said second address space and means for comparing said access address with the addresses of said second address space, said access operation being discarded when said access address matches one of the addresses of said second address space and said speculative instruction bit is asserted.
Claim 5
Dependent Claim
31 words
A computer system as defined in claim 1 wherein said CPU includes a data cache and means for generating said speculative instruction bit when said access address bypasses said data cache.
Claim 6
Dependent Claim
29 words
A computer system as defined in claim 1 wherein said first address space comprises a memory address space and wherein said second address space comprises an I/O address space.
Claim 7
Dependent Claim
51 words
A computer system as defined in claim 5 further comprising a memory coupled to said system bus and mapped to said memory address space, and an I/O device coupled to said system bus and mapped to said I/O address space, wherein said speculative instruction is prevented from accessing said I/O device.
Claim 8
Dependent Claim
40 words
A computer system as defined in claim 1 wherein said first address space comprises a dedicated memory space and wherein said second address space comprises a shared memory space that may be accessed by another processor in a multiprocessor system.
Claim 9
Dependent Claim
51 words
A computer system as defined in claim 7 further comprising a memory coupled to said system bus, said memory having a dedicated area mapped to said dedicated memory space and a shared area mapped to said shared memory space, whereby said speculative instruction is prevented from accessing said shared memory space.
Claim 10
Independent Claim
156 words
A method for protecting memory-mapped devices from side effects of certain speculative instructions in a computer system including a central processing unit (CPU) for executing conventional instructions and speculative instructions, and a memory controller for accessing a global address space, including a first address space and a second address space, in response to an access address generated by said CPU, comprising the steps of: said CPU generating a speculative instruction bit and a corresponding access address in response to an access operation by one of said instructions; said CPU asserting said speculative instruction bit when the corresponding access address is generated by a speculative instruction; said memory controller discarding said access operation when said speculative instruction bit is asserted and said access address is in said second address space; and said memory controller performing said access operation when said speculative instruction bit is not asserted or when said access address is in said first address space.
Claim 11
Independent Claim
156 words
A method for protecting memory-mapped devices from side effects of certain speculative instructions in a computer system including a central processing unit (CPU) for executing conventional instructions and speculative instructions, and a memory controller for accessing a global address space, including a first address space and a second address space, in response to an access address generated by said CPU, comprising the steps of: said CPU generating a speculative instruction bit and a corresponding access address in response to an access operation by one of said instructions; said CPU asserting said speculative instruction bit when the corresponding access address is generated by a speculative instruction; said memory controller discarding said access operation when said speculative instruction bit is asserted and said access address is in said second address space; and said memory controller performing said access operation when said speculative instruction bit is not asserted or when said access address is in said first address space.
Claim 12
Dependent Claim
69 words
A method as defined in claim 9 wherein said memory controller includes a table containing addresses of said second address space and wherein the step of discarding said access operation includes comparing said access address with the addresses of said second address space and discarding said access operation when said access address matches one of the addresses of said second address space and said speculative instruction bit is asserted.
Claim 13
Dependent Claim
198 words
A computer system comprising: a memory coupled to a system bus; an I/O device coupled to said system bus; a central processing unit (CPU) for executing non-speculative instructions and speculative instructions which may subsequently be discarded, said CPU including means responsive to an access operation by one of said instructions for generating a speculative instruction bit and a corresponding access address, said access address representing a location in a global address space which includes a memory address space and an I/O address space, said memory being mapped to said memory address space and said I/O device being mapped to said I/O address space, said speculative instruction bit being asserted when the corresponding access address is generated by a speculative instruction; and a memory controller coupled to said system bus and responsive to said access address and said speculative instruction bit for discarding said access operation when said speculative instruction bit is asserted and said access address is in said I/O address space and for performing said access operation when said speculative instruction bit is not asserted or when said access address is in said memory address space, wherein said speculative instruction is prevented from accessing said I/O device.
Claim 14
Dependent Claim
198 words
A computer system comprising: a memory coupled to a system bus; an I/O device coupled to said system bus; a central processing unit (CPU) for executing non-speculative instructions and speculative instructions which may subsequently be discarded, said CPU including means responsive to an access operation by one of said instructions for generating a speculative instruction bit and a corresponding access address, said access address representing a location in a global address space which includes a memory address space and an I/O address space, said memory being mapped to said memory address space and said I/O device being mapped to said I/O address space, said speculative instruction bit being asserted when the corresponding access address is generated by a speculative instruction; and a memory controller coupled to said system bus and responsive to said access address and said speculative instruction bit for discarding said access operation when said speculative instruction bit is asserted and said access address is in said I/O address space and for performing said access operation when said speculative instruction bit is not asserted or when said access address is in said memory address space, wherein said speculative instruction is prevented from accessing said I/O device.
Claim 15
Dependent Claim
66 words
A computer system as defined in claim 11 wherein said memory controller includes a table containing addresses of said I/O address space and means for comparing said access address with the addresses of said I/O address space in said table, said access operation being discarded when said access address matches one of the addresses of said I/O address space and said speculative instruction bit is asserted.