Patent GB-1409511-A (GB)
Title: Stored programme electronic digital data processing system
IPC: G06F13/24
Filed: 1973-03-20
Abstract: 1409511 Digital data processing INTERNATIONAL BUSINESS MACHINES CORP 20 March 1973 [11 April 1972] 13369/73 Headings G4A G4M and G4H An input/output device, in response to the movement of a data carrying record through the device, emits signals which are counted by means of a programmed sequence, stored in a digital data processor, the count being initiated by a signal from the device, the system includes a digital data store 28 (Fig. 3), input/output attachment D and input or output devices, a section 28a of the store 28 containing supervisory instruction sub-routines which are accessed by a system instruction relating to an input or an output operation or as a result of an interrupt signal generated by the input or output device, the attachment D including registers 202, 204, 206 for the temporary storage of data to be transferred. In the embodiment described transfer occurs between a central processing unit A in which the store 28 is located and a reader B or a punch C. Reader B (Fig. 2B, not shown).-The reader comprises a pair of endless belts (80, 82) driven by a motor (92) and adapted to carry document cards (106) having holes (108) sensed by an optical arrangement comprising a fibre optic bundle (112) and a row of eighteen phototransistors (110). Reading into the read register 206 in the attachment D is effected when a magnetic detector (100) is energized by segments (90a) of magnetic material on one of the rolls (90) driving one of the belts (82) to derive a "read emitter" signal on an output lead (104). Punch C (Fig. 2A, not shown).-A record card (106a) is transported by belts (130, 132) between a row of eighteen punches (150) each actuated by an associated electromagnet (152). A phototransistor (162) is positioned beneath a fibre optic bundle (168) and illuminated to provide a "pro-punch cell" signal on an output lead (166) which indicates that after a predetermined time the card will be properly aligned for punching. The data is fed from the central processor unit in three sequential bytes, each of six bits in parallel. Subsequently the punched data is checked with the data that was transferred for punching, a punch check bit being set if there is no comparison. When the central processor unit executes an input/output instruction a decoder (Fig. 10, not shown) is enabled to decode the operation fed out on data output bus 54 by the central processor unit A. The decoder has seventeen output leads one of which is energized to enable an associated AND gate (288a-288q). Four gates (288a-288d) provide signals on load allow interrupt lines (252a-252d) to allow loading of one of four levels of interrupt data. Three gates (288e-288g) provide signals on load punch lines (250a-250c) to allow selected punch data latches to accept data from the output bus 54. Four gates (288h-288k) provide load interrupt status signals on lines (246a-246d) which permit gating from interrupt control blocks 214 to the input data bus 58. Three gates (288l-288n) provide signals on load read lines (248a-248c) to allow data to be gated from read register 206 through gates 210, 212 to the data in bus 58. Three gates (288o-288q) provide signals on load punch check lines (244a-244c) to gate punch cheek data from register 204 to the input bus 58. Selected outputs of the decoder are also used to reset latches in the interrupt control logic 214, read register 206 and punch check register 204. Load punch.-The punch register 202 comprises eighteen latches (440a-440r, Fig. 4, not shown) enabled in groups of six by the signals 250a-250c) from the decoder to store data from the data output bus 54, the latches being set when the punch generates a punch wheel emitter signal on its output lead (148) to connect the enabled latches with the punch drive magnet. Read register.-The read register 206 comprises 18 latches (300a-300r, Fig. 9, not shown) and is loaded in three sections each of six bits by signals derived from counter 208 sensing read emitter pulses on line 104, these being synchronized with the movement of the card. When the control programme requires data from read register 206 the load read line (248a- 248c) are sequentially enabled by the decoder to prime first AND gates (352a5-352e5, Fig. 7, not shown), then AND gates (352a6-352e6) and then AND gates 352a7-352e7 so that the stored data is applied to bit lines a-e of the bus 58 in three successive bytes.  Punch check.-Each time emitter element (138a, Fig. 2a, not shown) passes emitter detector (146) signals are provided on three leads (148a-148c, Fig. 8, not shown) sequentially to prime AND gates (308a-308r) (in three groups of six) so that signals from the punch check crystals are gated into latches (306a-306r) from which they are read out in a similar manner to the data from the read register except that it is applied to bits c-h of the buffer 58. Load interrupt.-When the central processor unit A outputs the appropriate code on buffer 54 a load interrupt signal is derived by the decoder on one of four lines (246a-246d, Fig. 7, not shown) depending on the level of the interrupt. This results in one of four sets of eight AND gates (352a1-352h1; ... 352a4-352h4) being enabled to pass the eight bits of the associated interrupt status to the data bus 58. Load allow interrupt.-Control 214 is the basic controller for the attachment D. In order to enable an interrupt the central processor unit provides a load allow interrupt signal at one of four levels, the control of the level 1 being as in Fig. 6 (not shown). If any of the signals on the data bus 54 are "1" coincidentally with load allow interrupt 1, the associated latch (318a-318h) is set. If for example the read emitter signal is at "1" a latch (312c) is then set to output an interrupt status 1 bit "0" signal and also to set a latch (328a) to generate an interrupt request 1 signal. When the control programme wishes to interrogate the states of interrupt level 1 it outputs a signal to the decoder 54 which primes AND gates (352a1- 352h1, Fig. 7, not shown) to feed the interrupt status 1 bits to the bus 58. If at the end of the next instruction no higher order interrupt is requested, the central processor unit A will branch to the address in memory 28 associated with this interrupt level and perform the necessary functions. The initial control programme may be read in using reader B.