198 Part 3 The instruction-set processor level: variations in the processor
Section 1 Processors with greater than 1 address per instruction
Fig. 1. Simplified diagram showing some sources, destinations, and next-instruction sources.
serves a further purpose in synchronising the input and output facilities with the high speed computer. Input on the machine is by means of Hollerith punched cards. When cards are passed through the reader the numbers on the card may be read row by row as each passes under a set of 32 reading brushes. When a row of a card is under the reading brushes, the number punched on that row, regarded as a number of 32 binary digits, is available on source 0. In order to make certain that reading takes place when a row is in position and not between rows, transfers from source 0, have the GO digit omitted and it is arranged that the Hollerith reader has the same effect as operating the manual switch each time a row comes into position. The passage of a card through the reader is called for by a transfer from any source to destination 31. No transfer of information from the card takes place unless the appropriate instruction using source 0 is obeyed during the passage of the card. Output on the machine is also provided by a Hollerith punch. The passage of a card through the punch is called for by a transfer from any source to destination 30. While a card is passing through the punch a 32 digit number may be punched on each row by a transfer to destination 28. Again synchronisation is ensured by omitting the GO digit in instructions calling for a transfer to destination 28, and arranging that the Hollerith punch effectively operates the manual switch as each row comes into position. The reader feeds cards at the rate of 200 cards per minute and the punch, at the rate of 100 cards per minute. The speed of input for binary digits is 200 x 32 x 12 per minute or 1280 per second. The output speed is 640 digits per second. Data may be fed in and out ii decimal, but it then requires conversion subroutines. The computation involved in the conversion is done between the rows of the card and up to 30 decimal digits per card may be translated. This speed of conversion is only possible because of the use of optimum coding. The facility for carrying out computation between rows of cards is used extensively particularly in linear algebra when matrices exceeding the storage capacity of the machine are involved. The matrices are stored on cards in binary form with one number on each of the 12 rows of each card, all the computation being done either between rows when reading or when punching. Times comparable with those possible with the matrices stored in the memory are often achieved in this way, when the computation uses a high percentage of the available time between rows. Up to 80% of this time may be safely used.
The initial input of instructions is achieved by choosing destination 0 in a special manner. When a transfer is made to destination 0, then the instruction transferred becomes the next to be obeyed and the next instruction source is ignored. Source 0 has already been chosen specially since it is provided from a row of a card. The instruction consisting of zeros has the effect of injecting the instruction punched on a row of a card into the machine as the next to be obeyed. The machine is started by clearing the store and starting the Hollerith reader which contains cards punched with appropriate instructions. Destination 0 is also used when an instruction is built up in an arithmetic unit ready to be obeyed.
Miscellaneous sources and destinations
Destination 29 controls a buzzer. If a non-zero number is transferred to destination 29 the buzzer sounds.
Source 30 is used to indicate when the last row of a card is in position in the reader or punch. This source gives a non-zero number only when a last row is in position. The operation of the arithmetic facilities on DS14 may be modified by a transfer to