Abstract:
A system and method for digital division employing a composite of table lookup and iteration techniques. A stored logic table is used which generates a factor M which when multiplied against the divisor, provides a new divisor in a predetermined range close to unity in value. Both the divisor and the dividend are then multiplied by the factor M, the capacity of the table lookup determining the maximum difference of the new divisor from unity. The arrangement is such that, depending upon the difference between the new divisor and unity, a selected number of new partial quotient digits is directly determined from a selected number of digits in newly generated partial remainders. By generating quotient digits in successive groups, only a few iterations are needed to divide one long number by another. Successive division steps entail merely the generation of new partial products, and derivation of the difference of these partial products from the previous partial remainder. By arranging the significant portion of the new divisor to be a negative quantity in a preferred form of system, only adder circuits need by employed. A high speed, high capacity binary digital division system utilizing these techniques is further arranged to utilize carry-save adder circuits to utilize carry and sum quantities without introducing carry propagation delays, and otherwise minimize operating cycle time.
Abstract:
Described is a storage control system for a two-level storage system. The system includes a high-speed storage against which requests for data are processed and a slower, larger-capacity main storage. Requests for data are received in terms of logical addresses. Requests can be received concurrently at a plurality of request ports where they are buffered in request stacks. A tag storage serves as an index to the data currently resident in high-speed storage, and a directory storage acts as an index to data currently in main storage. A sequence interlock generator is included which interlocks requests in the plurality of request stacks to insure that requests to the same storage area are performed in proper sequence to insure data integrity. When a request is serviced, the logical address is transformed into a plurality of physical addresses in high-speed storage. The corresponding tags from the tag storage and the corresponding data from the high-speed storage are concurrently fetched. A comparison is made of the tags with the transformed address to determine whether the requested data is in high-speed storage. Since request to the same storage entity in high-speed storage or tag storage can be made concurrently by all request ports, conflict resolvers are included to resolve conflicts arising from simultaneous requests to either of these two storages. High-speed storage is divided into storage modules capable of simultaneous operation such that requests from the plurality of request ports can be serviced concurrently. If comparison of the tags indicate that the requested data is available, the request is serviced. An interstorage transfer mechanism is included such that if the requested data is not available in high-speed storage, then the data is retrieved from main storage and placed into high-speed storage for subsequent processing of the request. Concurrently with interstorage transfer, processing of other requests from the request ports is permissible. In the replacement of data from main storage to high-speed storage, provision is made for also replacing data from high-speed storage to main storage if such be necessary.
Abstract:
Described is an interstorage transfer mechanism suitable for use in a storage control system for a two-level storage, wherein the storage system includes a high-speed storage against which requests for data are processed and a slower, larger-capacity main storage. Requests can be received and serviced concurrently at a plurality of request ports in the system where they are buffered in the request stacks. A tag storage serves as an index to the data concurrently resident in high-speed storage and a directory storage acts as an index to data currently in main storage. Requests for data in each port cause the tag storage to be interrogated to determine whether the desired data is in highspeed storage. If not, then the desired data is retrieved from main storage and placed into high-speed storage by the interstorage transfer mechanism. Priority means for accessing said high-speed storage are provided, said interstorage transfer mechanism being given first priority to access said high-speed and tag storages in case of conflicts in access between said interstorage transfer mechanism and at least one of said plurality of request ports. Means are provided for choosing a target address in High-speed storage wherein said desired data will be relocated. The tag indexing said target address is updated by said interstorage transfer mechanism to reflect the new data. Means are further provided for invalidating all requests currently in transit at the time said tag is changed to insure data integrity in case said requests refer to old data in said target line. The aforementioned tags contain a bit indicating that the corresponding address in high-speed storage has recently been accessed. Cold generator means are provided for periodically resetting this bit in each tag to mark the corresponding high-speed storage physical address as a candidate for replacement target.