Claims Analysis
Total Claims: 40
Claim 1
Independent Claim
322 words
A computer system comprising a programmable cache unit on a single integrated circuit chip, at least one central processing unit (CPU), a memory separate from the cache unit, a memory bus for coupling addresses and data between the CPU and said memory, a memory bus interface unit connected between the memory bus and the cache unit for controlling coupling of addresses and data between the cache unit and the memory bus, an address bus coupled to the CPU, a data bus coupled to the CPU, a processor bus interface unit connected between the address and data buses and the cache unit for controlling coupling of data between the data bus and the cache unit, said cache unit including: (a) memory array means, tag array means and valid array means, said programmable cache unit being coupled to said processor bus interface unit and said memory bus interface unit performing cache functions, an address bus in the cache unit connected to the processor bus interface unit connecting the memory array means of the programmable cache unit with said tag array means and valid array means so that said tag array means and valid array means control coupling of signals between the processor and the memory array means of the programmable cache unit via the processor bus interface unit; said tag array means, said valid array means and said memory array means being organized as a 2 n way set associative cache, where n is an integer greater than or equal to zero; and (b) means for controlling said programmable cache unit so said memory means separate from said programmable cache unit is coupled with said tag array means and valid array means to be responsive to signals derived from said tag array means and valid array means so that said tag array means and valid array means control coupling of signals between the CPU and the memory means separate from said programmable cache unit.
Claim 2
Dependent Claim
322 words
A computer system comprising a programmable cache unit on a single integrated circuit chip, at least one central processing unit (CPU), a memory separate from the cache unit, a memory bus for coupling addresses and data between the CPU and said memory, a memory bus interface unit connected between the memory bus and the cache unit for controlling coupling of addresses and data between the cache unit and the memory bus, an address bus coupled to the CPU, a data bus coupled to the CPU, a processor bus interface unit connected between the address and data buses and the cache unit for controlling coupling of data between the data bus and the cache unit, said cache unit including: (a) memory array means, tag array means and valid array means, said programmable cache unit being coupled to said processor bus interface unit and said memory bus interface unit performing cache functions, an address bus in the cache unit connected to the processor bus interface unit connecting the memory array means of the programmable cache unit with said tag array means and valid array means so that said tag array means and valid array means control coupling of signals between the processor and the memory array means of the programmable cache unit via the processor bus interface unit; said tag array means, said valid array means and said memory array means being organized as a 2 n way set associative cache, where n is an integer greater than or equal to zero; and (b) means for controlling said programmable cache unit so said memory means separate from said programmable cache unit is coupled with said tag array means and valid array means to be responsive to signals derived from said tag array means and valid array means so that said tag array means and valid array means control coupling of signals between the CPU and the memory means separate from said programmable cache unit.
Claim 3
Dependent Claim
37 words
The system as set forth in claim 1 wherein said memory array means stores cached data and instruction signals and is organized as a set of blocks, each block corresponding to a predetermined number of cached words.
Claim 4
Dependent Claim
22 words
The system as set forth in claim 2 wherein each block has at least one associated tag stored in said tag array.
Claim 5
Dependent Claim
23 words
The system as set forth in claim 3 wherein each block has at least one associated validity bit stored in said valid array.
Claim 6
Dependent Claim
19 words
The system as set forth in claim 4 wherein said programmable cache unit supports variable block and sub-block sizing.
Claim 7
Dependent Claim
18 words
The system as set forth in claim 4 wherein said programmable cache unit supports flexible reloading cache operations.
Claim 8
Dependent Claim
127 words
The system as set forth in claim 4 wherein said processor bus unit further comprises: (a) first address incrementer means, coupled to said processor bus means and said programmable cache unit, for receiving, latching and incrementing address signals input from said processor bus means and for outputting address signals to said programmable cache unit to facilitate cache accesses; (b) data shifter means, coupled to said processor bus means and said programmable cache unit, for aligning data signals input from said processor bus means and for aligning data signals output by said programmable cache unit for transmission to said processor; and (c) processor bus unit control means for synchronizing and controlling the operation of said first address incrementer means, said data shifter means and said programmable cache unit.
Claim 9
Dependent Claim
163 words
The system as set forth in claim 4 wherein said memory bus unit further comprises: (a) a selectively enabled write buffer for buffering address and data signals being transmitted between said memory bus means and said programmable cache means; (b) memory address logic means, coupled to said memory bus means, said write buffer and said programmable cache unit, for latching and incrementing memory bus addresses input over said memory bus means and for latching and incrementing addresses for cache read operations initiated by said programmable cache means; (c) memory read buffer means, coupled to said memory bus means, said write buffer and said programmable cache means, for buffering data from said memory bus means until said programmable cache means is available for update and for supporting both prefetch and read operations; and (d) memory bus unit control means, for synchronizing and controlling the operation of said write buffer, said memory address logic means, said memory read buffer means, and said programmable cache unit.
Claim 10
Dependent Claim
21 words
The system as set forth in claim 8 wherein said write buffer further comprises an address buffer and a data buffer.
Claim 11
Dependent Claim
152 words
The system as set forth in claim 4 wherein said programmable cache unit further comprises: (a) a cache unit address bus, coupled to said processor bus unit and said memory bus unit, for carrying address signals; (b) a cache unit data bus, coupled to said processor bus unit and said memory bus unit, for carrying data signals; (c) block status array means coupled to said cache data bus, for storing an indication of the modified, shared and locked status of each block; (d) a set of special registers, coupled to said cache unit address bus and said cache unit data bus, for selecting programmable options, supporting cache control operations and indicating cache status information; and (e) cache unit control means, coupled to said processor bus control means and said memory bus control means, for synchronizing and controlling operations of said programmable cache unit, said processor bus unit and said memory bus unit.
Claim 12
Dependent Claim
43 words
The system as set forth in claim 10 wherein said cache control means further comprises logic means, coupled to said cache unit address bus and said tag array, for comparing addresses on said cache unit address bus with tags in said tag array.
Claim 13
Dependent Claim
38 words
The system as set forth in claim 11 wherein said cache control means further comprises logic means, coupled to said valid array, for determining if a particular cached word is valid at the time of a cache access.
Claim 14
Dependent Claim
41 words
The system as set forth in claim 12 wherein said cache control means is further operative to generate hit signals for valid cache accesses and maintains and updates data stored in said set of special registers and said block status array.
Claim 15
Dependent Claim
32 words
The system as set forth in claim 10 further comprising least recently used (LRU) array means for storing LRU bits whenever an LRU replacement algorithm is utilized by said programmable cache unit.
Claim 16
Dependent Claim
33 words
The system as set forth in claim 10 wherein said set of special registers further comprises at least one programmable register for storing signals indicative of user selected cache unit options and policies.
Claim 17
Dependent Claim
21 words
The system as set forth in claim 15 further comprising means for supporting flexible multiprocessor operations and assuring cache data consistency.
Claim 18
Dependent Claim
30 words
The system as set forth in claim 15 wherein said set of special registers includes at least one programmable register having at least one bit for disabling a read-through option.
Claim 19
Dependent Claim
31 words
The system as set forth in claim 15 wherein said set of special registers includes at least one programmable register having at least one bit for enabling a single access prefetch.
Claim 20
Dependent Claim
30 words
The system as set forth in claim 16 wherein said set of special registers includes at least one programmable register having at least one bit for disabling wrap around addressing.
Claim 21
Dependent Claim
38 words
The system as set forth in claim 15 wherein said set of special registers includes at least one programmable register having at least one bit for controlling the operation of the cache unit on a single access miss.
Claim 22
Dependent Claim
42 words
The system as set forth in claim 15 wherein said set of special registers includes at least one programmable register having at least one bit for controlling the operation of the ICU when a burst-mode read request is terminated by the processor.
Claim 23
Dependent Claim
32 words
The system as set forth in claim 15 wherein said set of special registers includes at least one programmable register having at least one bit for enabling a prefetch option in burst-mode.
Claim 24
Dependent Claim
31 words
The system as set forth in claim 15 wherein said set of special resisters includes at least one programmable register having at least one bit for specifying and varying subblock size.
Claim 25
Dependent Claim
31 words
The system as set forth in claim 15 wherein said set of special resisters includes at least one programmable register having at least one bit for selecting a write allocate option.
Claim 26
Dependent Claim
34 words
The system as set forth in claim 15 wherein said set of special resisters includes at least one programmable register having at least one bit for selecting write policy options on a global basis.
Claim 27
Dependent Claim
30 words
The system as set forth in claim 15 wherein said set of special resisters includes at least one programmable register having at least one bit for specifying block replacement policy.
Claim 28
Dependent Claim
35 words
The system as set forth in claim 15 wherein said set of special resisters includes at least one programmable register having at least one bit for selecting a 2 n way set associative cache organization.
Claim 29
Dependent Claim
48 words
The system as set forth in claim 15 wherein said set of special resisters includes at least one programmable register having at least one bit for specifying cache operation as an instruction cache in a first mode and specifying cache operation as data cache in a second mode.
Claim 30
Dependent Claim
26 words
The system as set forth in claim 26 further comprising means for supporting user specified, write-through and copy-back write policies on a flexible per access basis.
Claim 31
Dependent Claim
33 words
The system as set forth in claim 15 wherein said CPU is a simplified instruction processor having burst and pipelined protocols and further wherein said cache unit comprises means for supporting said protocols.
Claim 32
Dependent Claim
22 words
The system as set forth in claim 15 further comprising fault tolerance support means including means for generating and checking byte parity.
Claim 33
Dependent Claim
31 words
The system as set forth in claim 27 wherein said fault tolerance support means further comprises means for operating said cache unit in a cache master and a cache slave mode.
Claim 34
Independent Claim
269 words
A method of operating a programmable cache unit including tag array means, valid array means and memory array means, said tag array means, said valid array means and said memory array means being organized as a 2 n way set associative cache, where n is an integer greater than or equal to zero, the cache unit performing cache functions in a computing system, the computer system including: the cache unit, at least one central processing unit ("CPU"), a memory means separate from the cache unit, processor bus means providing communication between said CPU and the cache unit, a cache unit/processor means interface, memory bus means providing communication between said memory means and the cache unit, and a cache unit/memory bus interface; comprising the steps of: (a) activating said cache unit to control the cache unit/processor bus means interface via a processor bus unit of said processor bus means; (b) activating said cache unit to control the cache unit/memory bus interface via a memory bus unit of said memory bus means; (c) activating said cache unit from within said cache unit to perform cache functions the cache unit being activated to perform the cache functions by coupling the memory array means, tag array means and valid array means with said CPU via said processor bus unit and said memory bus unit; and (c) coupling said memory means separate from the cache unit with said tag array means and valid array means so said memory means separate from the cache unit is coupled with said CPU in response to signals derived from said tag array manes and said valid array means.
Claim 35
Independent Claim
269 words
A method of operating a programmable cache unit including tag array means, valid array means and memory array means, said tag array means, said valid array means and said memory array means being organized as a 2 n way set associative cache, where n is an integer greater than or equal to zero, the cache unit performing cache functions in a computing system, the computer system including: the cache unit, at least one central processing unit ("CPU"), a memory means separate from the cache unit, processor bus means providing communication between said CPU and the cache unit, a cache unit/processor means interface, memory bus means providing communication between said memory means and the cache unit, and a cache unit/memory bus interface; comprising the steps of: (a) activating said cache unit to control the cache unit/processor bus means interface via a processor bus unit of said processor bus means; (b) activating said cache unit to control the cache unit/memory bus interface via a memory bus unit of said memory bus means; (c) activating said cache unit from within said cache unit to perform cache functions the cache unit being activated to perform the cache functions by coupling the memory array means, tag array means and valid array means with said CPU via said processor bus unit and said memory bus unit; and (c) coupling said memory means separate from the cache unit with said tag array means and valid array means so said memory means separate from the cache unit is coupled with said CPU in response to signals derived from said tag array manes and said valid array means.
Claim 36
Dependent Claim
159 words
The method of claim 33 wherein said memory array means is organized as a set of blocks, each corresponding to a predetermined number of cached words, the step of controlling said cache unit processor bus interface further comprising: (a) receiving, latching and incrementing address signals input from said processor bus means utilizing first address incrementer means coupled to said processor bus means and said programmable cache unit; (b) outputting address signals from said first incrementer means to said programmable cache unit to provide cache accesses; (c) aligning data signals input from said processor bus means by utilizing data shifter means coupled to said processor bus means and said programmable cache unit; (d) aligning data signals output by said programmable cache unit for transmission to said processor via said data shifter means; and (e) synchronizing and controlling the operation of said first address incrementer means, said data shifter means and said programmable cache unit via processor bus unit control means.
Claim 37
Dependent Claim
183 words
The method of claim 34 wherein said memory array means is organized as a set of blocks, each corresponding to a predetermined number of cached words, the step of controlling said cache unit processor bus interface further comprising: (a) buffering address and data signals being transmitted between said memory bus means and said programmable cache means in a selectively enabled write buffer; (b) latching and incrementing memory bus addresses input over said memory bus means utilizing memory address logic means, coupled to said memory bus means, said write buffer and said programmable cache unit; (c) latching and incrementing addresses for cache read operations initiated by said programmable cache means utilizing said memory address logic means; (d) buffering data from said memory bus means utilizing memory read buffer means coupled to said memory bus means, said write buffer and said programmable cache means until said programmable cache means is available for update; and (e) synchronizing and controlling the operation of said write buffer, said memory address logic means, said memory read buffer means, and said programmable cache unit via memory bus unit control means.
Claim 38
Dependent Claim
229 words
The method of claim 35 wherein said memory array means is organized as a set of blocks, each corresponding to a predetermined number of cached words, said step of performing cache functions utilizing a programmable cache unit further comprising the steps of: (a) carrying address signals within said cache unit on an internal cache unit address bus coupled to said processor bus unit and said memory bus unit; (b) carrying data signals within said cache unit on an internal cache unit data bus coupled to said processor bus unit and said memory bus unit; (c) storing data and instruction signals to be cached in said memory array means; (d) storing cache tags in said tag array means, wherein each tag corresponds to a block of a predetermined number of cached words; (e) storing data pertaining to the validity of each cached word in said valid array means; (f) storing an indication of the modified, shared and locked status of each block in block status array means coupled to said cache data bus; (g) utilizing a set for special registers, coupled to said cache unit address bus and said cache unit data bus, for selecting programmable options, supporting cache control operations and indicating cache status information; and (h) synchronizing and controlling operation of said programmable cache unit, said processor bus and said memory bus unit via cache unit control means.
Claim 39
Dependent Claim
77 words
A method as set forth in claim 36 wherein said step of synchronizing and controlling further comprises the steps of: (a) comparing addresses on said cache unit address bus with tags in said tag array; (b) determining if a particular cached word is valid at the time of a cache access; (c) generating hit signals for valid cache accesses; and (d) maintaining and updating data stored in said set of special registers and said blocks status array.
Claim 40
Dependent Claim
34 words
A method as set forth in claim 36 further comprising the step of storing signals indicative of user selected cache unit options and policies in at least one of said set of special registers.