Browse Prior Art Database

"Optimum Programming" from IBM 650 Manual of Operation

IP.com Disclosure Number: IPCOM000129481D
Original Publication Date: 1986-Jan-01
Included in the Prior Art Database: 2005-Oct-06
Document File: 5 page(s) / 24K

Publishing Venue

Software Patent Institute

Related People

IEEE Computer Society: OWNER

Abstract

The Type 650 has been designed with ease of programming as one of the primary considerations. As a result, the programmer is not burdened with timing restrictions that must be considered throughout the planning of a program. Interlocks within the machine make it impossible to violate timing conditions and cause the machine to give erroneous results. It is important, however, for the programmer to realize that the simplest method of programming (using sequential drum locations for succeeding instructions) causes the machine to waste a large amount of time in nonproductive waiting or searching. In many cases it will be desirable to increase the productive work performed by the machine in the time available between successive read and/or punch operations. Proper recognition and analysis of the sequence of events occurring within the machine will indicate how one might significantly increase the effective speed by the proper location of data and instructions on the drum surface. Optimum programming is the technique by which data and instructions are located in such a manner as to minimize or eliminate, if possible, nonproductive waiting or searching time.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 21% of the total text.

Page 1 of 5

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

Copyright ©; 1986 by the American Federation of Information Processing Societies, Inc. Used with permission.

"Optimum Programming" from IBM 650 Manual of Operation*1

The Type 650 has been designed with ease of programming as one of the primary considerations. As a result, the programmer is not burdened with timing restrictions that must be considered throughout the planning of a program. Interlocks within the machine make it impossible to violate timing conditions and cause the machine to give erroneous results. It is important, however, for the programmer to realize that the simplest method of programming (using sequential drum locations for succeeding instructions) causes the machine to waste a large amount of time in nonproductive waiting or searching.

In many cases it will be desirable to increase the productive work performed by the machine in the time available between successive read and/or punch operations. Proper recognition and analysis of the sequence of events occurring within the machine will indicate how one might significantly increase the effective speed by the proper location of data and instructions on the drum surface. Optimum programming is the technique by which data and instructions are located in such a manner as to minimize or eliminate, if possible, nonproductive waiting or searching time.

The basic time element of interest to the programmer is the time required to read one word. This is known as a word time. Because there are fifty words in each band of general storage, a word time is equal to 1/50 of the time required for a drum revolution. The drum revolves at 12,500 revolutions per minute; therefore, a word time is equal to .096 milliseconds. In order to establish a set of rules for optimum programming, each operation has been analyzed to determine the number of word times required for its interpretation and execution.

From a timing viewpoint, there are forty drum locations (one per band, assuming a 2000-word machine), which are equivalent. Therefore, only the angular location or the position between the first and fiftieth locations in a band must be considered in optimum programming. The band makes no difference. For example, any of the addresses 0003, 0053, 0103, 0153,..., 0953, 1003, 1053,... etc., along the length of the drum could be used without any loss of time.

Because the accumulator contains twenty positions, it takes two word times to read its contents. The internal timing synchronizes the upper half of the accumulator (8003) to odd word times (odd locations), and the lower half of the accumulator (8002) to even word times (even locations). For this reason, when an operation requires the use of the accumulator, it may be necessary to wait for an even word time, because the entire accumulator must be read starting with the lower half.

The D and T address system used in the Type 650 makes possible optimum programming, because it a...