Patent ReferencesVirtual memory addressing device Adaptive domain partitioning of cache memory space Three level memory hierarchy using write and share flags Memory access controller Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification Coherent cache structures and methods Data processing system having a data memory interlock coherency scheme Apparatus and method for prohibiting access in a multi-cache data processing system to data signal groups being processed by a data processing subsystem Organization of an integrated cache unit for flexible usage in cache system design InventorApplicationNo. 617347 filed on 03/18/1996US Classes:711/129, Partitioned cache711/121, Private caches711/173Memory partitioningExaminersPrimary: Swann, Tod R.Assistant: Peikari, J. Attorney, Agent or FirmForeign Patent References
International ClassG06F 012/02AbstractThe traditional computer system is modified by providing, in addition to a processor unit, a main memory and a cache memory buffer, remapping logic for remapping the cache memory buffer, and a plurality of registers for containing remapping information. With this environment the cache memory buffer is divided into segments, and the segments are one or more cache lines allocated to a task to form a partition, so as to make available (if a size is set above zero) of a shared partition and a group of private partitions. Registers include the functions of count registers which contain count information for the number of cache segments in a specific partition, a flag register, and two register which act as cache identification number registers. The flag register has bits acting as a flag, which bits include a non-real time flag which allows operation without the partition system, a private partition permitted flag, and a private partition selected flag. With this system a traditional computer system can be changed to operate without impediments of interrupts and other prior impediments to a real-time task to perform. By providing cache partition areas, and causing an active task to always have a pointer to a private partition, and a size register to specify how many segments can be used by the task, real time systems can take advantage of a cache. Thus each task can make use of a shared partition, and know how many segments can be used by the task. The system cache provides a high speed access path to memory data, so that during execution of a task the logic means and registers provide any necessary cache partitioning to assure a preempted task that it's cache contents will not be destroyed by a preempting task. This permits use of a software controlled partitioning system which allows segments of a cache to be statically allocated on a priority I benefit basis without hardware modification to said system. The cache allocation provided by the logic gives consideration of the scheduling requirements of tasks of the system in deciding the size of each cache partition. Accordingly, the cache can make use of a for dynamic programming implementation of an allocation algorithm which can determine an optimal cache allocation in polynomial time.Other References
| |