US3283307A - Detection of erroneous data processing transfers - Google Patents

Detection of erroneous data processing transfers Download PDF

Info

Publication number
US3283307A
US3283307A US249150A US24915063A US3283307A US 3283307 A US3283307 A US 3283307A US 249150 A US249150 A US 249150A US 24915063 A US24915063 A US 24915063A US 3283307 A US3283307 A US 3283307A
Authority
US
United States
Prior art keywords
instruction
transfer
register
signals
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US249150A
Other languages
English (en)
Inventor
Frank S Vigliante
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Bell Telephone Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to NL302252D priority Critical patent/NL302252A/xx
Application filed by Bell Telephone Laboratories Inc filed Critical Bell Telephone Laboratories Inc
Priority to US249150A priority patent/US3283307A/en
Priority to DEP1267A priority patent/DE1267887B/de
Priority to GB50126/63A priority patent/GB1062780A/en
Priority to FR958738A priority patent/FR1379293A/fr
Priority to BE642007A priority patent/BE642007A/xx
Application granted granted Critical
Publication of US3283307A publication Critical patent/US3283307A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Definitions

  • This invention relates to the processing of data and, more particularly, to the detection of improper transfers dictated by a program during processing.
  • a program is a set of instructions for carrying out preassigned operations on data by the use of processing equipment. To make the data available as required, they are converted into a form that is compatible with the equipment and, during processing, are variously entered into, and extracted from, those portions of a memory constituting a data store. To make the instructions readily available, they are also converted into a form that is compatible with the processing equipment, and they are placed beforehand in those portions of the memory constituting a program store.
  • each instruction is an address giving its location in the program store.
  • an instruction and its address constitute a step of the program.
  • the addresses are assigned sequentially to the steps of the program. This does not mean, however, that the executed instructions have sequential program store locations. Rather, the processing inevitably requires operations with varying degrees of recurrence. For example, the various steps of a program used to direct the operation of multiplying one number by another may be called upon frequently during processing.
  • the instructions associated with recurrent operations generally have a single subset, or subroutine, of entries in the program store. Whenever the program proceeds to a point where another subset is required, a transfer is made to it. This is accomplished by the inclusion, with each subset, a special instruction, called a transfer, which contains the location in the program store of the first instruction in a new subset.
  • Another object is to determine whether or not an error has been made in a data processing transfer instruction.
  • a related object is to provide an indication of an error arising at the time of a transfer from one subset of program steps to another.
  • the invention associates a tag signal with each group of signals corresponding to the first, or transferee, instruction of a subset to which a transfer is permitted during the course of processing.
  • the tag signal serves to disengage an indicating unit that is enabled at the time of a transfer.
  • the tag signal corresponds to a single bit supplementing each transferee instruction and the indicating unit is a flip-flop. The latter is set at the time of a transfer and reset by the tag signal when a permitted transfer takes place.
  • a program store 10 operating through an instruction register 20 and an instruction decoder 30 serves as a source of instructions which are executed by data registers (not shown) acting in conjunction with a data store (not shown).
  • the program store 10 is a separate unit from the data store, but the same unit, for example, a magnetic core matrix of well-known construction may be used for both.
  • the various constituent gates, registers, and decoders of the ligure are of standard design.
  • a program address register 40 Before an instruction can be executed, it must be taken out of storage. This is done by a program address register 40 whose coded output gives the location of the instruction in the program store 10. After the code signals, forming the address, are gated in parallel through a program address gate 51 to the program store, the associated instruction passes through a preliminary register gate 52 into the instruction register 20. Both gates 51 and 52 are enabled from a timing network (not shown) of conventional construction.
  • the instruction entering the register 20 conventionally has two portionsa coded command that enters a first section 21 of the register 20 and a coded address that enters a second section 22 of the register 20.
  • the command is translated by the decoder 30, which is operated by the timing network; the address is dispatched to the data store and registers.
  • each succeeding address at the output of the program address register 40 is obtained by augmenting its predecessor by unity through the operation of a standard increment circuit 41 and an increment circuit gate 42.
  • the address indicated by the program address register 40 must be modified to accord with the location in the program store 10 of the first instruction to ⁇ which a transfer is to be made. This modification is carried out ⁇ through the use of a transfer instruction whose suffix portion does not refer to a location in the data store, but rather to a transfer location in the program store.
  • the decoder 30 When the transfer instruction enters the register 20, the decoder 30 operates a transfer gate 43, causing the transfer address in the register 20 to enter the program address register 40 where the pre-existing address is either replaced or modified. ln that event, the next instruction entering the register 20 should be the first, Le., transferee, instruction of a subset to which a transfer is being made.
  • the invention accompanies each instruction, that begins a subsequence of instructions to which a transfer can be made, by a sutiix code designation represented by signals that enter a sufiix section 23 of the register 20.
  • an indicator ⁇ unit such as a flipilop 60 is provided to indicate each execution of a transfer instruction.
  • the decoder 30 After a transfer instruction enters the instruction register 20, the decoder 30 responds to the transfer command in the rst section 21 of the register to set the flip-flop 60,
  • a transferee instruction enters the register 20, with the signal corresponding to the suffix code of the transferee instruction entering the suix section 23 of the register.
  • the suffix code is a single bit, i.e., a 1
  • the sutiix section of the register is a single stage containing a signal level corresponding to the 1.
  • the tiip-iiop is reset and the enabling signal that ultimately arrives at the AND gate 61 through the delay unit 62 cannot activate an error indicator 63.
  • the flip-flop 60 is not reset the AND gate 61 is operated and the indicator 63 responds indicating that a transfer error has occurred and allowing appropriate corrective action to be taken.
  • Apparatus comprising,
  • a memory with a plurality of storage locations for a set of program instructions, some of which are instructions for transferring to other, transferee, instructions,
  • the signals representing a transferee instruction being accompanied by a tag signal serving to identify the transferee instruction as such
  • Apparatus comprising a memory for storing binary signals corresponding to various kinds of data processing instructions, the binary signals representing a valid transferee instruction being accompanied by a binary tag signal,
  • Data processing apparatus comprising a memory for storing binary instruction signals including binary tag signals associated with transferee instructions to which transfers are made during processa register connected to said memory for temporarily storing said instruction signals,
  • said register having a plurality of stages, one of which is settable by said binary tag signals
  • Apparatus comprising a program store with a plurality of storage locations for data processing instructions including transfer instructions each constituted of n binary signals and transferee instructions each constituted of n binary signals supplemented by a binary tag signal,
  • each subset including a transferee instruction to which a transfer is made under the control of a transfer instruction
  • Apparatus for determining whether or not a transfer dictated by a data processing program is in error which comprises a memory with a plurality of storage locations for signals corresponding to various instructions of the data processing program, including, for each transfer from one subset of instructions to another, a transfer instruction Which gives the location in the memory of a tagged transferee instruction representing the first instruction of a subset to which a transfer is being made,
  • a register having n stages for receiving said groups of signals and an additional stage for receiving an n--lst signal associated with a transferee instruction
  • ROBERT C BAILEY, Primary Examiner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)
  • Executing Machine-Instructions (AREA)
US249150A 1963-01-03 1963-01-03 Detection of erroneous data processing transfers Expired - Lifetime US3283307A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
NL302252D NL302252A (ja) 1963-01-03
US249150A US3283307A (en) 1963-01-03 1963-01-03 Detection of erroneous data processing transfers
DEP1267A DE1267887B (de) 1963-01-03 1963-12-17 Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen
GB50126/63A GB1062780A (en) 1963-01-03 1963-12-19 Data processing apparatus
FR958738A FR1379293A (fr) 1963-01-03 1963-12-27 Procédé de détection d'erreurs dans les transferts au cours de traitements de données
BE642007A BE642007A (ja) 1963-01-03 1963-12-31

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US249150A US3283307A (en) 1963-01-03 1963-01-03 Detection of erroneous data processing transfers

Publications (1)

Publication Number Publication Date
US3283307A true US3283307A (en) 1966-11-01

Family

ID=22942249

Family Applications (1)

Application Number Title Priority Date Filing Date
US249150A Expired - Lifetime US3283307A (en) 1963-01-03 1963-01-03 Detection of erroneous data processing transfers

Country Status (5)

Country Link
US (1) US3283307A (ja)
BE (1) BE642007A (ja)
DE (1) DE1267887B (ja)
GB (1) GB1062780A (ja)
NL (1) NL302252A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3513446A (en) * 1966-08-12 1970-05-19 British Telecommunications Res Data processing system wherein the instruction word contains plural data word addresses
US3518413A (en) * 1968-03-21 1970-06-30 Honeywell Inc Apparatus for checking the sequencing of a data processing system
US3593306A (en) * 1969-07-25 1971-07-13 Bell Telephone Labor Inc Apparatus for reducing memory fetches in program loops
US3787815A (en) * 1971-06-24 1974-01-22 Honeywell Inf Systems Apparatus for the detection and correction of errors for a rotational storage device
USRE28421E (en) * 1971-07-26 1975-05-20 Encoding network
US3949205A (en) * 1973-12-04 1976-04-06 Compagnie Internationale Pour L'informatique Automatic address progression supervising device
US4370705A (en) * 1979-09-18 1983-01-25 Fujitsu Fanuc Limited Sequence control system for numerically controlled machine tool

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3213427A (en) * 1960-07-25 1965-10-19 Sperry Rand Corp Tracing mode

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3213427A (en) * 1960-07-25 1965-10-19 Sperry Rand Corp Tracing mode

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3513446A (en) * 1966-08-12 1970-05-19 British Telecommunications Res Data processing system wherein the instruction word contains plural data word addresses
US3518413A (en) * 1968-03-21 1970-06-30 Honeywell Inc Apparatus for checking the sequencing of a data processing system
US3593306A (en) * 1969-07-25 1971-07-13 Bell Telephone Labor Inc Apparatus for reducing memory fetches in program loops
US3787815A (en) * 1971-06-24 1974-01-22 Honeywell Inf Systems Apparatus for the detection and correction of errors for a rotational storage device
USRE28421E (en) * 1971-07-26 1975-05-20 Encoding network
US3949205A (en) * 1973-12-04 1976-04-06 Compagnie Internationale Pour L'informatique Automatic address progression supervising device
US4370705A (en) * 1979-09-18 1983-01-25 Fujitsu Fanuc Limited Sequence control system for numerically controlled machine tool

Also Published As

Publication number Publication date
NL302252A (ja)
GB1062780A (en) 1967-03-22
DE1267887B (de) 1968-05-09
BE642007A (ja) 1964-04-16

Similar Documents

Publication Publication Date Title
US3533065A (en) Data processing system execution retry control
US3398405A (en) Digital computer with memory lock operation
US3518413A (en) Apparatus for checking the sequencing of a data processing system
US3576541A (en) Method and apparatus for detecting and diagnosing computer error conditions
US3312951A (en) Multiple computer system with program interrupt
US2968027A (en) Data processing system memory controls
US3686641A (en) Multiprogram digital processing system with interprogram communication
US3553651A (en) Memory storage system
US4172284A (en) Priority interrupt apparatus employing a plural stage shift register having separate interrupt mechanisms coupled to the different stages thereof for segregating interrupt requests according to priority levels
US3286236A (en) Electronic digital computer with automatic interrupt control
GB933474A (en) Improvements in data-processing apparatus
US3673573A (en) Computer with program tracing facility
US4251859A (en) Data processing system with an enhanced pipeline control
US3510847A (en) Address manipulation circuitry for a digital computer
US4231089A (en) Data processing system with apparatus for correcting microinstruction errors
US3706077A (en) Multiprocessor type information processing system with control table usage indicator
US3183483A (en) Error detection apparatus
US3283307A (en) Detection of erroneous data processing transfers
US4338662A (en) Microinstruction processing unit responsive to interruption priority order
US4319322A (en) Method and apparatus for converting virtual addresses to real addresses
US3745316A (en) Computer checking system
CN1010259B (zh) 分布控制存贮器字的体系结构
US3411147A (en) Apparatus for executing halt instructions in a multi-program processor
GB986103A (en) Improvements in or relating to electronic digital computing machines
US3619585A (en) Error controlled automatic reinterrogation of memory