Patent GB-1313444-A (GB)
Title: Shift register storage units
IPC: G11C19/28
Filed: 1971-10-13
Abstract: 1313444 Shift register stores INTERNATIONAL BUSINESS MACHINES CORP 13 Oct 1971 [31 Dec 1970] 47579/71 Heading G4C [Also in Division H3] A plurality of shift registers, one for each bit of a "page" (e.g. a program instruction), are connected to operate in a first shift loop including an access position at which address bits of a "page" are compared with those of a requested page and in a second shift loop not including the access position, the loops being selected by control means so that the "pages" most recently accessed are maintained in positions for shifting into the access position in preference to other pages when the requested page is not in that position. In a first embodiment, Fig. 2, storing K "pages", stage K is the access position and its address bits are first examined for identity with the address of a requested page. Immediate access is possible if a match is obtained, otherwise a left shift over loop L1 is performed. If this does not produce a match, the flag bit of stage K is reset (initially only K and K-1 flag bits are set) and a further left shift over L1 takes place. Left shifting is repeated until a match is obtained in stage K, the flag bit of the matching "page" is set and the remaining "pages" are right-shifted over loop L2 until the last-accessed "page"-originally in stage K and being the only other "page" with a set flag bitis located in stage K-1, i.e. the position nearest the access position in the normal search shifting direction of loop L1. In this way "pages" tend to become ordered according to the order of most recent accessing. A reversible counter may be used to cause the same number of right shifts after a match as there were left shifts before the match, instead of the flag-bit register. A third, left shift loop, not including the access position K may be included so that the shortest route to position K-1 may be taken after a match has been found. The arrangement greatly reduces the average access time, particularly when only a few of the K "pages" are in actual use by the requesting-unit. Frequently used "pages" or those used exclusively by a number of programs may be distributed among several such shift register stores, each with its own search logic, to reduce the access time still further. In the embodiment shown in Fig. 7, dynamic shift registers are used, each register being divided into sections A, B, C of which C is the access position. If a match is found in C, the normally operative recirculating loops 1 are maintained. If C does not match, a switch is made to loops 2 in which a search is made through B, and loops 1 are reverted to if a match is found in B. If no match is found in B, C, these sections may continue to recirculate over loop 1 or 2 while section A is tested at A-OUT for the presence of the requested page. When a match is detected at A-OUT, a switch is made to loop 3 to shift the matching page to C, C to B1 and B3 to Al, and then loops 1 are again operative. In this embodiment, although the location of pages in section B is random (since the registers are dynamic) the probability is that B contains the pages most recently accessed prior to the currently accessed page in C. Search time may be reduced by comparing the addresses of pages in C and A-OUT simultaneously with the requested page address. In a further embodiment, Fig. 9 (not shown), static registers are used and sections B and C are combined so that C is the first position of B. If no match is found in B, C, a further shift over loop 1 is performed to restore the original order of pages in B. A matching page in A is shifted into C to displace the page from the bottom of B into the top of A. Section B may have a further loop, not including C, for placing the most recently accessed page at the bottom of B for first comparison on the next search when a match is found in B, and for placing the most recently accessed page in the next to bottom position of B when no match is found in B, i.e. so that it will be shifted to the bottom when the matching page is shifted from A into C. Reversible shift register, Fig. 3, employs field effect transistors. A complementary transistor T-1 having P- and N-type channel conductors P, N supplies the inverse of an input signal stored on capacitance CN to a further capacitance CS when a switching transistor S-1 is turned on at clock phase #1. For a right-shifting operation, the signal stored on CS is re-inverted by T-2 and is supplied to the output of the stage via S-2 which is turned on at clock phase #2. Since, in the embodiment of Fig. 2, the first stage does not participate in a right-shift, #2 may be supplied to S-4 instead of to S-2 so that the signal stored in the first stage is recirculated back to CN. For a left shift, the incoming signal is supplied via S-3 at clock phase #3 to CS and at phase #4 via T-2 and S-4 to CN. Writein to the first stage is via switches 34, 37, S-4 being inhibited by AND gate 30.