Browse Prior Art Database

Cyclic Buffer in Local Store

IP.com Disclosure Number: IPCOM000074260D
Original Publication Date: 1971-Apr-01
Included in the Prior Art Database: 2005-Feb-23
Document File: 7 page(s) / 88K

Publishing Venue

IBM

Related People

Resnick, SA: AUTHOR [+4]

Abstract

This arrangement relates to a cyclic buffer in local store. Such arrangement provides fast access to sequential instructions or data stored in slower main store. It is particularly efficacious for push-down stack operations where the processing takes place at the top of the stack. The salient features of the cyclic buffer for stack operations are as follows: 1) The top of the stack is always maintained in fast local store, and it is linked to the rest of the stack in main store such that any transferring or paging of information is effected in an overlapped and automatic manner. 2) The page or block size, which is transferred in an overlapped and automatic manner, is specifiable by the micro-instruction which reads from the top of the stack in local store.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 19% of the total text.

Page 1 of 7

Cyclic Buffer in Local Store

This arrangement relates to a cyclic buffer in local store. Such arrangement provides fast access to sequential instructions or data stored in slower main store. It is particularly efficacious for push-down stack operations where the processing takes place at the top of the stack. The salient features of the cyclic buffer for stack operations are as follows:
1) The top of the stack is always maintained in fast local store,

and it is linked to the rest of the stack in main store

such that any transferring or paging of information is

effected in an overlapped and automatic manner.
2) The page or block size, which is transferred in an overlapped

and automatic manner, is specifiable by the micro-instruction

which reads from the top of the stack in local store.
3) A special read or write main store instruction traps any

automatic transfer that goes on between the local and main

store stack parts, and reads or writes correctly into either

main store or local store with only about 10% longer access

time for main store, whereas a shorter access time (10 to 20%)

occurs for local store. This pair of special instructions

complements the read/write local store top of stack

instructions.

Accesses to the top of the stack in local store take place very fast, and any replenishing that is needed from main store is effected in an overlapped fashion. Direct accesses to the body of the stack (not to the top of the stack) are provided in a manner such that very little overhead is required.

Reference is now made to Fig. A for a description of the operation of the cyclic buffer. In this Fig., the vertical line 10 represents a section of main store where the sequential information is stored (push-down stack) and the end points 9 and 11 of vertical line 10 represent, respectively, the upper and lower addressing limits of the stack area in storage. The circular structure 12 represents the cyclic buffer area which is an extension of the top of the stack area in fast local storage. The strip 14 represents the information in push-down stack 10.

The cyclic buffer area contains 2/m+n/ words and is divided into 2/m/ zones (the drawing shows four zones for convenience of illustration) with each zone containing 2/n/ words (eight in this example). Information is transferred into or out of cyclic buffer 12 in blocks the size of a zone. A threshold address register (TAR), referred to further hereinbelow, always contains the lowest valid address of information in the cyclic buffer. The addresses of the top of the stack is always more than one zone away from the contents of the address in the threshold address register to provide sufficient buffering and information for processing. The initiation of the transfer of a zone of information occurs when the address S is incremented or decremented across a zone boundary. When the address S is so incremented or decremented across a zone boundary, the opposite zone in the buffer is, respectively, e...