Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
218 words
An apparatus for controlling independent memory access requests originating from a plurality of pipelined stages in a pipelined computer system, comprising: first multiplexing means for selecting a selected one of said memory access requests from a selected one of said pipelined stages in said pipelined computer system according to a first priority scheme; a translation buffer for receiving said selected one of said memory access requests from said first multiplexing means, and converting said selected one of said memory access requests to a physical memory address; a plurality of storage locations for temporarily storing physical memory addresses from said translation buffer; second multiplexing means for selecting a selected physical address from among stored physical addresses from said storage locations according to a second priority scheme, said second priority scheme being based upon the pipelined stages in said pipelined computer system from which memory access requests corresponding to said stored physical addresses originated; and a cache memory for receiving said selected one physical address from said second multiplexing means, comparing said selected physical address to addresses currently maintained in said cache memory, accessing data stored in said cache memory at said selected physical address in response to a hit, and initiating a transfer of data from a main memory to said cache memory in response to detecting a miss.
Claim 2
Independent Claim
218 words
An apparatus for controlling independent memory access requests originating from a plurality of pipelined stages in a pipelined computer system, comprising: first multiplexing means for selecting a selected one of said memory access requests from a selected one of said pipelined stages in said pipelined computer system according to a first priority scheme; a translation buffer for receiving said selected one of said memory access requests from said first multiplexing means, and converting said selected one of said memory access requests to a physical memory address; a plurality of storage locations for temporarily storing physical memory addresses from said translation buffer; second multiplexing means for selecting a selected physical address from among stored physical addresses from said storage locations according to a second priority scheme, said second priority scheme being based upon the pipelined stages in said pipelined computer system from which memory access requests corresponding to said stored physical addresses originated; and a cache memory for receiving said selected one physical address from said second multiplexing means, comparing said selected physical address to addresses currently maintained in said cache memory, accessing data stored in said cache memory at said selected physical address in response to a hit, and initiating a transfer of data from a main memory to said cache memory in response to detecting a miss.
Claim 3
Dependent Claim
60 words
An apparatus, as set forth in claim 1, wherein said second multiplexing means includes a multiplexer, said multiplexer has an input connected to said translation buffer for receiving said physical memory addresses from said translation buffer, and said multiplexer has an output connected to an input of said cache memory for transmitting said physical memory addresses to said cache memory.
Claim 4
Independent Claim
182 words
A method of controlling independent memory access requests originating from a plurality of pipelined stages in a pipelined computer system, comprising the steps of: selecting a selected one of said memory access requests from a selected one of said pipelined stages in said pipelined computer system according to a first priority scheme; converting said selected one of said memory access requests to a physical memory address; temporarily storing, in a plurality of storage locations, physical addresses converted from corresponding ones of said memory access requests; selecting a selected physical address from among stored physical addresses from said storage locations according to a second priority scheme, said second priority scheme being based upon the pipelined stages in said pipelined computer system from which memory access requests corresponding to said stored physical addresses originated; and comparing said selected physical address to addresses currently maintained in a cache memory, accessing data stored in said cache memory at said selected address in response to a hit, and initiating a transfer of data from a main memory to said cache memory in response to detecting a miss.
Claim 5
Independent Claim
182 words
A method of controlling independent memory access requests originating from a plurality of pipelined stages in a pipelined computer system, comprising the steps of: selecting a selected one of said memory access requests from a selected one of said pipelined stages in said pipelined computer system according to a first priority scheme; converting said selected one of said memory access requests to a physical memory address; temporarily storing, in a plurality of storage locations, physical addresses converted from corresponding ones of said memory access requests; selecting a selected physical address from among stored physical addresses from said storage locations according to a second priority scheme, said second priority scheme being based upon the pipelined stages in said pipelined computer system from which memory access requests corresponding to said stored physical addresses originated; and comparing said selected physical address to addresses currently maintained in a cache memory, accessing data stored in said cache memory at said selected address in response to a hit, and initiating a transfer of data from a main memory to said cache memory in response to detecting a miss.
Claim 6
Dependent Claim
47 words
A method, as set forth in claim 3, further including the steps of temporarily ignoring a missed physical address in response to detecting a miss in said cache memory, and delivering a next highest priority physical address from one of said storage locations to said cache memory.
Claim 7
Dependent Claim
35 words
A method, as set forth in claim 4, further including the step of delivering said missed physical address to said cache memory in response to said cache memory receiving data transferred from said main memory.
Claim 8
Independent Claim
245 words
A method of servicing memory access requests originating from an instruction decoder, an operand processing unit, and an execution unit in a pipelined computer system, said method comprising the steps of: (a) selecting said memory access requests according to a first priority scheme in which requests from the execution unit have priority over requests from the operand processing unit and from the instruction decoder, and requests from the operand processing unit have priority over requests from the instruction decoder, (b) using a translation buffer to translate virtual addresses for the memory access requests selected in step (a) to corresponding physical memory addresses, (c) temporarily storing said corresponding physical memory addresses in at least three registers, (d) selecting the physical memory addresses stored in said registers based upon their corresponding memory access requests according to a second priority scheme in which requests from the execution unit have priority over requests from the operand processing unit and from the instruction decoder, and requests from the operand processing unit have priority over requests from the instruction decoder, (e) delivering the physical memory addresses selected in step (d) to a cache memory, comparing the selected physical address to addresses currently maintained in said cache memory, accessing data stored at the selected physical address when the selected physical addresses are currently maintained in the cache memory, and transferring data from a main memory to the cache memory when the selected physical addresses are not currently maintained in the cache memory.
Claim 9
Independent Claim
245 words
A method of servicing memory access requests originating from an instruction decoder, an operand processing unit, and an execution unit in a pipelined computer system, said method comprising the steps of: (a) selecting said memory access requests according to a first priority scheme in which requests from the execution unit have priority over requests from the operand processing unit and from the instruction decoder, and requests from the operand processing unit have priority over requests from the instruction decoder, (b) using a translation buffer to translate virtual addresses for the memory access requests selected in step (a) to corresponding physical memory addresses, (c) temporarily storing said corresponding physical memory addresses in at least three registers, (d) selecting the physical memory addresses stored in said registers based upon their corresponding memory access requests according to a second priority scheme in which requests from the execution unit have priority over requests from the operand processing unit and from the instruction decoder, and requests from the operand processing unit have priority over requests from the instruction decoder, (e) delivering the physical memory addresses selected in step (d) to a cache memory, comparing the selected physical address to addresses currently maintained in said cache memory, accessing data stored at the selected physical address when the selected physical addresses are currently maintained in the cache memory, and transferring data from a main memory to the cache memory when the selected physical addresses are not currently maintained in the cache memory.
Claim 10
Dependent Claim
50 words
A method, as set forth in claim 6, wherein said step (a) includes selecting memory access requests from a translation buffer fix-up unit, and wherein said first priority scheme gives said translation buffer fix-up unit priority over requests from said instruction decoder, said operand processing unit and said instruction unit.
Claim 11
Dependent Claim
63 words
A method, as set forth in claim 4, further including the step of temporarily delaying the transfer of data from the main memory to the cache memory to select a next highest priority physical address stored in said registers and access data stored at said next highest priority physical address when the next highest priority physical address is currently maintained in said cache.
Claim 12
Dependent Claim
46 words
A method, as set forth in claim 8, wherein said step (d) includes selecting a physical address from a write queue, and wherein said second priority scheme gives said write queue priority over requests from said instruction decoder, said operand processing unit and said execution unit.